Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
TTL Trigger properties

I am trying to trigger my PulsePal with a digital TTL from a NI board (USB-6008) but find that the TTL is not sufficient to trigger.  On the oscilloscope the TTL is 5V and properly square, and NI docs tell me that the board drives up to 8.5mA.  Is this not enough based on the input impedance of the PulsePal's trigger in?  I've tried this on both of my pulsepals (both V2) so it is not likely an assembly issue.
Hi Matt,

Unfortunately I'm visiting Champalimaud in Lisbon this week, and won't be able to replicate the issue until Monday when I'm back.
I'll run some bench tests with our NIUSB board and post when I have a solution.

Hi Matt,

I tried triggering Pulse Pal v2 with our NI USB-6211. We get reliable triggering as expected. However, the 6211 can supply twice the current from its digital lines, vs. the 6008. To reduce the current, I added a 680-ohm resistor in series with the NI output line. We still didn't have a problem triggering Pulse Pal.

Could you please tell us more about your setup:
-The combined resistance of the signal wires (including any adapters) between the trigger channel and the NI board (I measured 0.3 ohms)
-The resistance of the ground channel across the same wire set (I measured 1 ohm)
-The style of adapter you're using to interface bare wires with BNC (we used this)

Hi Josh, 

Thanks for looking into this.
All the wiring seems in order.  There is negligible resistance in our wires/connectors.  The BNC-screw terminal adaptors I use are these:

I tried something that may be informative.  With the oscilloscope reading the TTL high voltage between the NI box and the pulsepal it reads only 1.8V, but 5V when I remove the PulsePal.  Adding a 10Kohm resistor in series with the PulsePal's trigger-in recovers the 5V TTL, but I still don't see the PulsePal trigger.  

I suspect all this may relate to the somewhat more-complicated-than-anticipated way these little NI boards can produce digital signals.  Figure 15 here:

suggests that I need a pull-up resistor to get the full 8.5mA if my digital output is push-pull.  I'm a bit novice here and don't completely understand what digital out mode I'm using, or how to change it.  

I'm afraid I'm going to end up swapping out this little USB NI board for a big proper one, but, for several reasons, I'd love to get things working with these little 6009 boards.

Hi Matt,

Looking at the user guide, you definitely want to have the channels configured in software to "active drive" mode, not the default "open collector" mode. Then, substitute Pulse Pal's trigger channel for the LED+resistor in Fig. 14, wiring example 2, on p.19 of the 6008 user guide (i.e. connect Pulse Pal's trigger channel to your output channel and ground). You will not need external resistors. Is this what you're already doing?

Open collector outputs are channels that do not output voltage. Instead, they normally have high (effectively infinite) resistance to ground. When you set the line to logic 1 in software, the channel becomes connected to circuit ground. This completes the circuit from 5V through the LED and series resistor in example 1 of fig 14 / p.19.

Hi Josh, 

This is spot on.  I didn't appreciate how different NI boards choose different TTL modes.  

Since I'm controlling NiDAQmx in C using the Python wrapper PyDAQmx making this switch in software turned out to be a bit of a trick.  In case anyone else is looking to do this what should be done is to pass the C channel property "SetDOOutputDriveType", the value: "DAQmx_Val_ActiveDrive", as described here.  Setting the TTL to open collector using "DAQmx_Val_OpenCollector" results in a TTL that does not trigger the PulsePal.  


Forum Jump: