Help in creating a system to control a stepper motor + drive manually, to move a machine on rails linearly

Thread Starter

SS23

Joined Dec 12, 2019
27
Years ago I worked with a system similar to your drawing. It was for a clad welding system but same idea. Position feedback used a simple linear position indicator like those used on large mill and drill systems for position readout. You just include MAN / AUTO in your design as you start it out on paper. Rough guess it was maybe 2006 or 2007 we designed and used this. When I retired in 2013 it was still running fine. Today we likely would have used LabVIEW for the software and the same hardware.

Ron
Hey Ron! That's very insightful. I hope I can also make something as long lasting as you did. Yeah my approach/selection of parts seems very similar to yours. Also, the torque requirements are already taken care of. We did measurements for required torque on the output shaft of the gearbox nd even found a stepper motor in-house that could be applied for our case.

The thing that baffles me for now is the switch to give a choice between Push button based MANUAL control and LabView-based control. Like, what device could be compatible for both ways or likely I would need separate methods to run it in these two ways. That might complicate the connections to the controller or stepper drive but I need to keep looking for that.
 

Reloadron

Joined Jan 15, 2015
7,501
Manual / Auto. I would start by looking at your I/O devices. We used some NI hardware and some of the stuff was other assorted sensors. We did quite a bit of data acquisition and control. This will all come down to DI (Digital In), DO (Digital Out), AI (Analog In) and AO (Analog Out). Often I used banks of small relays depending on my Auto / Manual settings. Just for example we may be using a module to generate 4 to 20 mA for a pump speed. The pump[ speed control module is looking for a 4 ~ 20 mA input. I can use a NI 4 ~ 20 mA analog out module or another manual 4 ~ 20 mA source switchable. Same affair for other modules. They ran under computer (software) control or Manual control. This all begins with knowing what modules/sensors you have to start with.

Ron
 

Thread Starter

SS23

Joined Dec 12, 2019
27
Manual / Auto. I would start by looking at your I/O devices. We used some NI hardware and some of the stuff was other assorted sensors. We did quite a bit of data acquisition and control. This will all come down to DI (Digital In), DO (Digital Out), AI (Analog In) and AO (Analog Out). Often I used banks of small relays depending on my Auto / Manual settings. Just for example we may be using a module to generate 4 to 20 mA for a pump speed. The pump[ speed control module is looking for a 4 ~ 20 mA input. I can use a NI 4 ~ 20 mA analog out module or another manual 4 ~ 20 mA source switchable. Same affair for other modules. They ran under computer (software) control or Manual control. This all begins with knowing what modules/sensors you have to start with.

Ron
I see. Yes in that case, I have a small idea of the NI hardware that would be required to connect all the parts in the system with LabView. I can mention those below.
We have the compact DAQ chassis 9174 from NI where individual cards based on requirement can be attached. I think we even have data acquisition cards for our usage available in the workshop as they are frequently used by some other people.

As per my understanding,
For Stepper motor + drive we need Digital Output so a NI-9472 card can be fixed on the chassis (available in-house). Of course, I would need a 48V DC Power supply for the motor but that can be connected through the drive.

For Inductive sensors we need Digital Input (5V signal) so a NI-9421 card. And based on my chosen sensors a 12V DC supply (possible).

And on a later stage of the system, a Draw-wire sensor (for positioning) needing Analog Input (10V signal), so a NI-9205 card(has to be enquired, if available). And a 24V DC power supply to the sensor.
In these cases, only the voltage signals are sent/received by the data acquistion cards and the sensor/parts require external voltage supply.
Based on my suggested arrangement, how does the manual way of operation (with a push button) come into play? Is it feasible with my chosen equipment?
 

Reloadron

Joined Jan 15, 2015
7,501
A stepper motor driver normally uses a DI for direction, sometimes a DI for RUN and OFF and a frequency in for speed. Some also use a DI for HS (Half Step), FS (Full Step). Those in addition to anything else the controller may require. The inductive sensors get a little tricky but are normally stops at the end of travel in or out. The draw wire is what I call a yoyo pot or string pot. A string pot has a voltage across it and outputs a voltage proportional (ratio metric) to position. Just for example a 10 foot string with 10 volts applied will output 1 volt per foot of travel. Good ones can be expensive. You scale your code for an analog input. You also check the calibration.

For manual verse auto you simply switch the output of the sensor. So for example the output of a string pot 0 to 10 volts would get routed to an AI module or a Process Controller. Been years but I used quite a few Omega Engineering DP 41 units but keep in mind I retired about 8 years ago. The drawings were pages long. I was using Orcad Capture for my schematics. A DP 41 allowed 4 set points for example. I would route my analog signal (sensor signal) to both an AI and my process controller. This way we have a PC software view and a process controller view.

OK, looking at any DO it's just a matter of placing a push button with pull up across your DO out. That assumes a dry contact DO. In some cases it's just a matter of placing a N/O Push Button across the DO output.

What gets difficult is manually coming up with some of the signals. A matter of routing sensor outputs and signal conditioning as needed.

Ron
 

GetDeviceInfo

Joined Jun 7, 2009
2,192
I see. Yes in that case, I have a small idea of the NI hardware that would be required to connect all the parts in the system with LabView. I can mention those below.
We have the compact DAQ chassis 9174 from NI where individual cards based on requirement can be attached. I think we even have data acquisition cards for our usage available in the workshop as they are frequently used by some other people.

As per my understanding,
For Stepper motor + drive we need Digital Output so a NI-9472 card can be fixed on the chassis (available in-house). Of course, I would need a 48V DC Power supply for the motor but that can be connected through the drive.

For Inductive sensors we need Digital Input (5V signal) so a NI-9421 card. And based on my chosen sensors a 12V DC supply (possible).

And on a later stage of the system, a Draw-wire sensor (for positioning) needing Analog Input (10V signal), so a NI-9205 card(has to be enquired, if available). And a 24V DC power supply to the sensor.
In these cases, only the voltage signals are sent/received by the data acquistion cards and the sensor/parts require external voltage supply.
Based on my suggested arrangement, how does the manual way of operation (with a push button) come into play? Is it feasible with my chosen equipment?
use a digital input (and likely an hmi data point), to direct auto or manual program flow. A networked base might come in handy to get signals closer to devices. Run all your signals through Labview
 

MisterBill2

Joined Jan 23, 2018
18,176
There are a few safety ides that I can offer about both modes, the first being that the motion control input selection default to OFF at power up, so that until there is intention to move, nothing happens when the pendant button is pushed. That is a cheap and easy way to make it a bit safer. And for that preset sensor controlled mode, make that selection manual, and have it be enabled by that same pendant button. That will assure that the operator is aware of the move in progress and able to halt it just by releasing the button. I did that on the crash-sled systems that we shipped and they met all of the safety requirements.
 
Last edited:

shortbus

Joined Sep 30, 2009
10,045
@Reloadron did your system just use random positions for doing what it was doing? Or did it move to preselected positions each time? Positions that were the same place day in and day out.
 

Reloadron

Joined Jan 15, 2015
7,501
@Reloadron did your system just use random positions for doing what it was doing? Or did it move to preselected positions each time? Positions that were the same place day in and day out.

Without getting too much into detail on most of what we were looking at we knew the position. Position was measured in two different ways. Then numbers compared. One method relied on signals from the unit under test and another method counted cycles of AC power to derive position. When we do lunch I'll explain it in more detail. :)

Using a string pot will work and would be my choice in this instance. Nice thing about a string pot is it always knows where it's at.

Ron
 

shortbus

Joined Sep 30, 2009
10,045
Without getting too much into detail on most of what we were looking at we knew the position.
That's what I figured. From what I've understood from the TS, his positions are random, where ever they decide to put the DUT. My whole concept of this puzzle is put a station, a known position for each type of devise being tested. Doing that the better half of the battle is won. Random positions is not the way to go, especially when doing automation of something. Even something as simple as a robot arm stacking boxes on a pallet, the robot has to know where the pallet is going to be every time.
 

Reloadron

Joined Jan 15, 2015
7,501
That's what I figured. From what I've understood from the TS, his positions are random, where ever they decide to put the DUT. My whole concept of this puzzle is put a station, a known position for each type of devise being tested. Doing that the better half of the battle is won. Random positions is not the way to go, especially when doing automation of something. Even something as simple as a robot arm stacking boxes on a pallet, the robot has to know where the pallet is going to be every time.

I agree. We used some Micro-Epsilon LASER sensors which were repeatable and accurate. Voltage out proportional to distance. Problem there is they aren't quite inexpensive. We also on some test stands used string pots from Micro-Epsilon which worked fine and again an output proportional to distance. Good string pots aren't quite cheap but they aren't all that bad and deliver good accuracy. Either one always will know where it is as to position on a table. String pots can be had for much less than what I linked to. I still have an old 8.0' string pot from Research Incorporated who I think hasn't been around for 20 years. :) Anyway, nothing random about either.

Using either it's pretty easy, especially in LabView to write routines moving a table to a preset position.

Ron
 

Thread Starter

SS23

Joined Dec 12, 2019
27
Hi guys! Thank you for all your suggestions. The project was on pause for quite some time due to summer break and simultaneous renovation of the labs. Well, now I am working again on it and in fact have been trying out things since a month as we have some hardware already ready for testing and installation.
As many of you had suggested, I have a draw-wire pot for measuring the distance and also tried using it with LabVIEW and it functioned quite fine outputting the voltage signal that I scaled into distance.

I also have a few limit switch that should connect to a digital input line and initiate stop execution in case the motor trips the switches.

There's a slight change in the installation of the Stepper. We found an old stepper drive for the motor but it communicates with LabVIEW through the serial port that doesn't have many options to tune it. There are set of commands that the drive can understand and they must be sent for every execution. I have been now trying to find a way to automate that by just having a few Boolean buttons ( START/STOP and CW/CCW) in my LabVIEW front panel which should allow Jogging(motor moves until button pressed in LabVIEW) but it isn't easy to find some sample programs for the same.

Also, could I just place the manual operation switches for the stepper in parallel with the stepper drive? I am attaching a picture of the stepper drive with labels on what each thing in drive does based on my understanding (not fully wired switches ofc) and also the description of the drive and commands but it is translated so the language might be a little unclear in some places.

Does anyone here have any experience with VISA communication in LabVIEW? I can attach my first approach program here for the motor. @Reloadron , maybe if you worked with anything similar?
Cheers!
 

Attachments

Thread Starter

SS23

Joined Dec 12, 2019
27
I do not think that stepper motor / controller will be powerful enough without it being geared down by a large amount.

Les.
There is a gearbox between the motor and the load with a ratio of 4:1. Also based on my calculations and torque measurement, a motor with a torque range between 3 and 5,6 Nm(Maximum torque the gearbox can take) should be able to move the load. I am using a motor with 4 Nm torque.

And do you have any suggestions on the proposed connection of motor, controller and push button switches?
 
Top