09-06-2012 06:10 PM
What are the kinds of signals that you need to generate for the motors?
What range of voltages do you expect to read from the sensor?
09-06-2012 10:29 PM
09-06-2012 10:29 PM
09-06-2012 10:54 PM
09-07-2012 07:14 PM
"I want to be able to set different paths for the sensor movement through the steppers I found out that the USB-6008 couldn't do such task, what USB-DAQ could?"
Based on the links you provided it appears that you need a low signal of 0-0.5 V and a high signal of 4-5V for the control signals of the stepping driver. The USB-6008 can generate and acquire both digital and analog signals. What capabilities of the 6008 are not suitable for your application?
09-08-2012 10:22 AM
The driver control signals specify 6 to 20 mA for logical signals with 10 mA typical. The USB-6008 can source or sink a maximum 8.5 mA on the digital lines. It appears that you will need a buffer between the 6008 and the stepper driver. Look at the ULN200x series of devices. One of those should be suitable.
The 6008 has software timed DO so the maximum pulse frequency will likely be a few 10s of Hz. This will limit the maximum speed of yoru stepper motor to a low rate. You may also have a considerable amount of timing jitter at the higher speeds.
Lynn
09-10-2012 04:09 PM
As Lynn (johnsold) has been mentioning, the software-timed USB board you intend to use has some very serious limitations for the task you're looking to accomplish. I'll be even more blunt: it's tough to believe you'll ever be satisfied with the (lack of) speed and/or repeatability you'll be facing if you stick to using such a limited piece of DAQ hardware.
If you've got piles of time and absolutely no money you can conceivably make it work, but I think you're in for a long frustrating experience.
At the kind of pulse rate you can achieve through software alone, you will always be seeing the "ringing" transient of the steppers' single-step response. A stepper can easily overshoot by half a step or more as it vibrates into a final steady-state position. The period of vibration will often be in the single digits of msec, and any attempts to read an analog sensor during the vibrational response will have very poor repeatability. Once you limit yourself to the speeds you can achieve through software timed DO over USB, you'll actually need to slow the step rate down far more so that the vibration response damps out *before* you take the reading. That could easily be many 10's of msec.
I'd probably be wanting to do something like a raster scan where the AI sampling was synced to the step pulse commands. I'd probably want to sweep one axis in the same direction each time, and increment the other axis by one step during the return stroke when I wasn't taking AI data. I'd be trying to sweep at a fairly high speed, well above the natural freq of vibration. At some point, there'd be a need to calibrate the dynamic position error (actual position vs commanded position at the time of the step pulse & AI sample), but repeatability should be decent because at higher speeds, the position error (as measured at the instant of each step pulse) is fairly constant. The overall sweep could probably be done at least 50x faster this way.
-Kevin P
09-16-2012 12:44 PM
From reading the succession of previous posts, I would suggest the use of a dedicated hardware driver board for the stepper motors. The boards are dirt cheap, probably less than the cost of one motor, and many sources can be found with a Google search. These boards typically take an dc analog signal drive input, and give properly timed drive pulses. Tthis eliminates all the software variables involved in trying to generate quadrature drive pulses. This is the route I have always taken; don't believe in re-inventing the wheel! My two cents for what it is worth.
Good luck,
Dave
09-16-2012 11:30 PM
Thanks Dave