LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Edge Counter Pulls Signal Down

Greetings Colleagues,

 

    I am using a NI USB-6221 to generate a PWM signal (Dev1/ctr0/PFI12) and sending it to a motor control board (TI DRV10866EVM) PWM terminal. I need to record the actual motor speed so I am sending the signal from the FG terminal of the motor control board to the USB-6221 (Dev1/ctr1/PFI1). The motor control board is being powered with 3.3VDC from a power supply. All grounds are tied together so all signals have a common reference.

 

   The PWM signal is 25kHz and controlled via a Labview control panel. When I put an oscilloscope on the PWM signal being generated is is a perfect square wave at about 500 mV. I wrote a Labview routine to edge count the wave and it returns the speed almost exactly. So thus far I know everything I have coded up works fine. The output signal from the FG terminal is also a  square wave at ~350 mV.

 

    The problem; when I attach the wire from the counter (Dev1/ctr1/PFI1) to the FG terminal of the motor control board the signal pulls down to ~60mV and the counter returns 0 edges counted. It is still a square wave and it is at the correct frequency, just very weak and it appears the DAQ is not seeing it. I find it kind of hard to believe this DAQ cannot see a 60mV signal. I have attached the code to edge count this signal. Maybe I have not configured the channel correctly. Or, if it really cannot count a signal this small, how can I amplify it? Possibly trigger a BJT with the signal and send a higher voltage to the DAQ?

 

Any suggestions would be greatly appreciated. Below is a link to the motor controller board user manual.

 

Thank you

 

https://www.ti.com/lit/ug/sbvu020b/sbvu020b.pdf?ts=1658317803572&ref_url=https%253A%252F%252Fwww.ti....

0 Kudos
Message 1 of 3
(745 Views)

@Dennis_B. wrote:

 

   The PWM signal is 25kHz and controlled via a Labview control panel. When I put an oscilloscope on the PWM signal being generated is is a perfect square wave at about 500 mV. I wrote a Labview routine to edge count the wave and it returns the speed almost exactly. So thus far I know everything I have coded up works fine. The output signal from the FG terminal is also a  square wave at ~350 mV.

 

    The problem; when I attach the wire from the counter (Dev1/ctr1/PFI1) to the FG terminal of the motor control board the signal pulls down to ~60mV and the counter returns 0 edges counted. It is still a square wave and it is at the correct frequency, just very weak and it appears the DAQ is not seeing it. I find it kind of hard to believe this DAQ cannot see a 60mV signal. I have attached the code to edge count this signal. Maybe I have not configured the channel correctly. Or, if it really cannot count a signal this small, how can I amplify it? Possibly trigger a BJT with the signal and send a higher voltage to the DAQ?

 


Hmmm.... The problem sounds like a classic impedance mismatch but your output being only 500mV unloaded seems quite low. 

 

Granted I have never used that device but I would imagine a PWM output on an unloaded DIO would be at logic levels. 

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 2 of 3
(701 Views)

After doing some research on the board providing the signal, I found there was a pull up resistor that needed to be re-sized. That solved the problem. Thanks

 

0 Kudos
Message 3 of 3
(663 Views)