07-20-2022 07:13 AM
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
07-20-2022 04:13 PM
@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.
07-28-2022 06:35 AM
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