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
Hey everyone! A rookie here. I want to create a system that allows manual controlling of a stepper motor + drive to move a machine mounted on a leadscrew that moves linearly. Basically move the machine back and forth using switches.
So far I have found the specs for the stepper motor and the drive.

Setup so-far:
Stepper Motor : 6 Amps bi-polar (5,6 Nm torque)
Drive : A-NDC 06 (Up to 6 Amps current range)
02 Inductive sensors as limit switches

My emphasis on drive is only because, I need an option to control the motor through the computer (using a software) at a later stage. So there should be a way to switch between the two (Manual/Auto). I came across many solutions for manual control using microcontrollers but I'm just not sure if they would work in this setup.

Thanks in advance for your suggestions!
 

Ya’akov

Joined Jan 27, 2019
9,069
In order for people to give good help, you really need to provide more information.

What is the machine? How far does it have to move? How fast? How often? Can you provide a sketch of the set up? What do you expect the manual controls to do, exactly? Are there any safety requirements?
 

Thread Starter

SS23

Joined Dec 12, 2019
27
Hi thank you for the feedback. Yes I will add more information.

The machine mounted on top of the leadscrew is a dynamometer (1600 kg) to test the engines.

Movable distance is 1,05 m.

Speed is not a priority. So even a speed of 60 sec to cover 1,05 m should be acceptable. Movement would be 1 or 2 times per experiment, so 10 times a day but accuracy is important to 1/10 of a mm.

Manual controls should be simply two buttons, one for movement and the other to change the FWD/RW directions.
The idea is to make this dynamometer move to adjust its position for testing. Hence, speed is not really crucial.

I am attaching a sketch of the current system. The motor and drive should be attached to a gearbox installed at one end of the leadscrew. Hope it clears the requirements a little!Picture1.jpg
 

Attachments

Ya’akov

Joined Jan 27, 2019
9,069
That's very clear, thanks. It is my impression that you will want to start with a controller that will interface to a computer or MCU and possibly even drive it "manually" with the it. But the high power requirement means you have to choose your controller careful and so I will leave this to someone with industrial stepper experience.

This seems to be a very reasonable project and I know there are folks here who can help.
 

shortbus

Joined Sep 30, 2009
10,045
What you describe is basically a single axis of any CNC mill. And there are sites that concentrate on that topic for making homemade machines, like CNCZone.com

But I see one problem with what I think your doing, how do you determine when the dyno is lined up with the engine, motor or what ever you are testing? To the part of getting manual movement, many or now most CNC machines have a little hand wheel, that puts out pulses when it is turned that will make the small movements when doing a setup. Something like one of these - https://www.amazon.com/Rotary-Manual-Generator-Handwheel-100PPR/dp/B00ZO6UOCO

The weight of your dyno is another problem you have to watch out for. You will need a pretty large ball screw and the correct size linear rails and bearings. A link to what I'm talking about - https://www.linearmotiontips.com/round-shaft-or-profiled-rail-how-to-choose/

All in all the task you have taken on is not a small one.
 

Thread Starter

SS23

Joined Dec 12, 2019
27
Hey @shortbus thanks for the reply!

Well actually the complete setup is placed on the floor in our laboratory due to its big size on a concrete block. The rails and the dyno are already mounted along with the appropriate leadscrew that can handle moving this weight around. They function by hand when you rotate the output shaft of the gearbox using a wrench.

For the position of the dyno, I am planning to put a draw-wire sensor, that can show the exact position of the dyno in the rails. On the ends will of course be a few inductive sensors to prevent reaching the end and stopping the motion.

I just need to put a motor on the end of the gearbox which is connected to the leadscrew. I even calculated the maximum rotations the leadscrew can take and what torque the leadscrew can handle (with the dyno mounted on top). Its around 2 - 5,5 Nm at max. 1800 RPM.

I am just new with mounting motors and then to know what other parts (motor drive, pulse generator or microcontroller, maybe something else) I would need to make it work using toggle switches (DIRECTION + MOVEMENT) and a way to allow an option to control these functions through a PC when required.

Mainly there should a few toggle switches close to the stand where a person could operate the movement and direction by keeping the switch pressed. He/she can visually see the movement so precision should be taken care of.

Thanks in advance again for your precious feedback and suggestions!
 

Ya’akov

Joined Jan 27, 2019
9,069
I think a hand forward-reverse switch and a hand wheel based on a rotary encoder would make a nice interface.

The critical part will be the stepper driver. Unfortunately, I can't help much with that. I'm sure there is someone here with enough stepper experience to help, though.

With an MCU in the loop, you could do all sorts of nice things, including presets and precision placement.
 

MrChips

Joined Oct 2, 2009
30,708
Here are my 2 cents worth.
Every stepper motor controller needs two signals:

DIRECTION - logic level signal, 0/1 to indicating direction of movement FORWARD/REVERSE
STEP - logic pulse, to step the motor by one increment

Build a hand held controller and use current loop opto-couplers.
You can use a 555-timer circuit to generate a variable STEP frequency.

1616679651290.png

At a later stage you can add the MCU signals in parallel on the signal side of the opto-couplers.
Both manual handheld controller and MCU STEP will be operational (one direction FORWARD/REVERSE will have priority).
 

MaxHeadRoom

Joined Jul 18, 2013
28,617
Use the free PC based Mach 3 or 4 CNC S/W, set up for one axis and you have auto, manual, hand-wheel features.
With configurable interface to one of the industrial stepper controllers, i.e. Gecko etc.
Max.
 

shortbus

Joined Sep 30, 2009
10,045
@SS23, you guys seem to be doing things backwards from the common way. Most engine testing of many different engines in a factory setting is done by moving the engines, not the dyno. Dynos have too many connections to the outside world and are too heavy to move like your doing. At least that is how any engine dyno I've ever seen is, your dyno may be different.

The usual way of doing it is having multiple *engine carts* to hold the engines. while one is being dynoed other carts are being loaded and unloaded for their turn at the dyno. These carts are built so each is as close as possible to the same dimension wise. That way when they are moved to the dyno they can be connected fast and sent through the process. The carts wheels fit into tracks on the floor that line them up. Fast and simple.
 

shortbus

Joined Sep 30, 2009
10,045
On another note, what stepper motor are you using? A link to it? If it is a Nema 23 you may be on the edge of it's capabilities.
 

Thread Starter

SS23

Joined Dec 12, 2019
27
Use the free PC based Mach 3 or 4 CNC S/W, set up for one axis and you have auto, manual, hand-wheel features.
With configurable interface to one of the industrial stepper controllers, i.e. Gecko etc.
Max.
As I had learnt some LabView I thought of generating some pulse signals from LabView and to also create an interface in it to move the machine on rails with some virtual controls. What do you think about that?

@SS23, you guys seem to be doing things backwards from the common way. Most engine testing of many different engines in a factory setting is done by moving the engines, not the dyno. Dynos have too many connections to the outside world and are too heavy to move like your doing. At least that is how any engine dyno I've ever seen is, your dyno may be different.

The usual way of doing it is having multiple *engine carts* to hold the engines. while one is being dynoed other carts are being loaded and unloaded for their turn at the dyno. These carts are built so each is as close as possible to the same dimension wise. That way when they are moved to the dyno they can be connected fast and sent through the process. The carts wheels fit into tracks on the floor that line them up. Fast and simple.
Hey @shortbus you are right in the understanding. It's just that this dyno with its area of movement on rails connects to an engine on a different test stand and then on the other end of the engine is another dyno with its own base. So this dyno can be made to act as a brake or a powering source. As all three equipments are placed individually on their stands hence we need to move them for adjustments individually. Its an old setup and now we plan to automatise or at least make it functional through some switches.

Hence, all these trials to find a feasible solution!

On another note, what stepper motor are you using? A link to it? If it is a Nema 23 you may be on the edge of it's capabilities.
Yeah as you guessed in another comment its a NEMA 34. Also as the output shaft diameter of the gearbox where I would like to couple the motor is 14 mm. With other NEMA motor sizes this shaft diameter gets even smaller than 10 mm.
 

Thread Starter

SS23

Joined Dec 12, 2019
27
Here are my 2 cents worth.
Every stepper motor controller needs two signals:

DIRECTION - logic level signal, 0/1 to indicating direction of movement FORWARD/REVERSE
STEP - logic pulse, to step the motor by one increment

Build a hand held controller and use current loop opto-couplers.
You can use a 555-timer circuit to generate a variable STEP frequency.

View attachment 233601

At a later stage you can add the MCU signals in parallel on the signal side of the opto-couplers.
Both manual handheld controller and MCU STEP will be operational (one direction FORWARD/REVERSE will have priority).
Hey @MrChips thanks for your feedback. As I can understand your suggestion, this setup should allow both hand-held switch based control and an option to control the movement through pulse signals sent from a PC. But I would like a system that kind of separates the two ways (MANUAL/PC) so that both could not be used simultaneously due to safety reasons.

Do you have some suggestions on that? or maybe I understood it incorrectly.
PS: The software I intend to use to generate pulse signals would be LabView (AUTO MODE)
Of course, the hand held controller would be the (MANUAL MODE). Thanks again!
 

LesJones

Joined Jan 8, 2017
4,174
Steppers have the disadvantage that if they miss a step due to a tight spot in the mechanism they remain out of position until re calibrated. When switched on a stepper system does not know it's position. The normal way is to do a calibration where it drives in one direction until it reaches a mechanical stop or accurate position sensor. from that point on it just counts steps incrementing the count in one direction and decrementing it in the other direction. A servo system with an incremental encoder gets round the possible problem of missing steps. (this still has to do an initial calibration.) A servo with an absolute position encoder avoids having to do a calibration cycle but would be more expensive.
Is the position where the dynamometer connects to the engine a fixed position or a does it vary with the model of engine being tested. (Or for some other reason.) The reason for this question is if it could just move to a mechanical stop or a position sensor then then missing the odd step would not matter. Am I right in assuming the positioning when moved away from the engine does not need to be very accurate ?

Les.
 

GetDeviceInfo

Joined Jun 7, 2009
2,192
Initially, for manual mode, you could configure your driver for ‘run’ mode, then add momentary push buttons to actuate it.
Using Labview, you would need a translator to output/input the drive signals. What do you have for Labview I/O?
 

Thread Starter

SS23

Joined Dec 12, 2019
27
Steppers have the disadvantage that if they miss a step due to a tight spot in the mechanism they remain out of position until re calibrated. When switched on a stepper system does not know it's position. The normal way is to do a calibration where it drives in one direction until it reaches a mechanical stop or accurate position sensor. from that point on it just counts steps incrementing the count in one direction and decrementing it in the other direction. A servo system with an incremental encoder gets round the possible problem of missing steps. (this still has to do an initial calibration.) A servo with an absolute position encoder avoids having to do a calibration cycle but would be more expensive.
Is the position where the dynamometer connects to the engine a fixed position or a does it vary with the model of engine being tested. (Or for some other reason.) The reason for this question is if it could just move to a mechanical stop or a position sensor then then missing the odd step would not matter. Am I right in assuming the positioning when moved away from the engine does not need to be very accurate ?

Les.
Hey @LesJones! The test stand on which the dyno is placed is used for various experiments (mainly to use dyno as a brake or power source). Hence, yes the position of the dyno keeps varying depending on the type of use. But yes, a very accurate positioning isn't that important. Even if the motor misses a step, we can adjust the other part connected to dyno (just in case). You're right in saying that! So I think then my suggested setup (STEPPER + DRIVE with a CONTROLLER) should work, isn't it?
 
Top