igor79
2008-06-23 23:10:08 UTC
Hello,
I use ctr0 of my usb-6212 card to produce a pulse train that drives a motor. To stop the motor precisely I use pause trigger issued either by quadrature encoder, wired to ctr1, or proximity sensor, wired to a PFI.
Most of the time it works just fine. Sometimes though, the motor does not stop at destination but continues to drive. Moreover, it continues at maximum speed (=100% train's duty cycle), while it was approaching the destination at slow speed.
Oscilloscope shows that pulse train (ctr0out) freezes in static high state after the pause trigger during these "malfunctioning" cases.
When configuring ctr1 task, I indicate "low" as idle state in CO_pulse_freq.vi.
Is pause trigger supposed to pull the ctr0out to wharever idle state indicated? If not, and it is supposed to just "freeze" whatever state ctr0out is at the moment, is there any way to force it to be low, so the motor can be stopped?
Thank you for your time,
Igor
I use ctr0 of my usb-6212 card to produce a pulse train that drives a motor. To stop the motor precisely I use pause trigger issued either by quadrature encoder, wired to ctr1, or proximity sensor, wired to a PFI.
Most of the time it works just fine. Sometimes though, the motor does not stop at destination but continues to drive. Moreover, it continues at maximum speed (=100% train's duty cycle), while it was approaching the destination at slow speed.
Oscilloscope shows that pulse train (ctr0out) freezes in static high state after the pause trigger during these "malfunctioning" cases.
When configuring ctr1 task, I indicate "low" as idle state in CO_pulse_freq.vi.
Is pause trigger supposed to pull the ctr0out to wharever idle state indicated? If not, and it is supposed to just "freeze" whatever state ctr0out is at the moment, is there any way to force it to be low, so the motor can be stopped?
Thank you for your time,
Igor