Can I "Borrow" a Signal from a Stepper Motor?

Hello All,

I am making a devise that will preform an operation synchronised with different machine. The other machine has a six lead stepper motor that turns a roller intermittently. Can I tag on to one of those wires to get an input signal for the Arduino? The motor is a Vexta PK268 - ? DC 3A 1 ohm. With every other input signal the Arduino will output a 1 second pulse to a 12v solenoid. If I can't tag into one of the stepper motor leads I will have to cobble up a physical switch.

Thanks,
Tom

Yes, it is possible, but you can damaged the Arduino within a second when you connect it.
Reading the actual steps will be hard, but detecting that the stepper motor is active is possible.

How are the ground signals connected ?
Perhaps you better don't connect the ground signals, but use an opto-coupler.
I suggest this: Two wires from the stepper motor to a diode + resistor + opto-coupler. The other side of the opto-coupler with putll-up resistor, through a RC filter and that to the Arduino. Do you understand this ?

There are other ways, perhaps with a piezo sensor, or motion detector or so.

There's many ways you can do it safely. So many ways both direct and indirect.

Without touching the wire a Hall Sensor can pick up the magnetic field a pulse in the wire generates.

Thanks. I am a little hesitant to experiment with the stepper motor leads though I can test them at a soldered connecting block, I don't need to cut the wires. I did notice that I have ready access to the end of the motors shaft, which has a sprocket attached that drives a belt. This is a hot knife cutting machine that is cutting lengths of Velcro. There might be a way to use the end shaft, pulley, or belt to indicate motion.

Tom

If you want to "connect" the motor connections to an Arduino I would use an opto-coupler as @Caltoa has suggested. The motor could generate very high voltage spikes that can damage an Arduino but which would not be detected with a digital multimeter.

More important, perhaps, is what you want to do with the detected information. Knowing that there has been a pulse (or some pulses) sent to a motor where previously there were no pulses would be simple enough - i.e. you know the motor has started moving but you don't know which direction, how fast or how many steps.

Knowing the direction the motor is moving and accurately counting the steps should be possible but would be a lot more complicated. You would probably need to monitor the pulses in all of the motor coils and understand how the stepper driver controls the motor.

A separate detector switch (microswitch or optical detector) might be easier overall.

...R

tnostrant:
Thanks. I am a little hesitant to experiment with the stepper motor leads though I can test them at a soldered connecting block, I don't need to cut the wires. I did notice that I have ready access to the end of the motors shaft, which has a sprocket attached that drives a belt. This is a hot knife cutting machine that is cutting lengths of Velcro. There might be a way to use the end shaft, pulley, or belt to indicate motion.

Tom

Put a bar magnet across the end of the shaft so that N-S turns when the shaft does and use a Linear (analog) Hall directly over the center. Some high end joysticks use that for sensing even small movements, you don't have to wait for the shaft to full-turn like you would with a magnet embedded in the side of the shaft.

Opto-couplers can take well over 12V on one side to trigger Arduino 5V on the other. Make sure that the grounds are not common. Another name for those are opto-isolators. You would solder direct to the connecting block.

Optical methods are susceptible to dirt/oil getting on/in the way. In a clean environment they are fine though. Hall sensors are so dependable that you have to careful which package you choose as the Hall (inventor name) principle has been applied many different ways to suit different apps, like security switches. Oddly though, you could use almost any of them just in different ways. One is a gear tooth counter....

Unless you find out what the stepper motor driver is there's no way to know the kind
of drive the motor is getting. A microstepping driver will be putting out continuous
PWM of all the stepper wires all the time, in that case you'd have to give up on camping-on
to the wires (they might be at high voltage too - some microstepping drivers have 80V
supplies for instance.

If its unipolar and driven from a simple single supply voltage it would be feasible.

Adding a magnet to the shaft and a hall-sensor has the advantage of not needing to know
anything about the motor, and is a general technique for any motion system.

Would there be current/activity on the wires of a stopped motor?

The coils on a stepper motor are always energized - that's how it holds position (and why it gets hot). I'm not sure if all the coils are always energized but certainly at least one of them always is.

...R

Thanks again all,

As you can tell this is my first project. I will spend some time learning about Hall sensors and Opto-Couplers. To answer one question, what I need is a way to let the Arduino know that the motor is turning. How fast, which direction, and how many steps does not matter. I do have one question about gluing a small magnet to the end of the motor's shaft, and positioning a Linear Hall sensor in front of it. Would it give a steady signal while it spins, or a pulse, or a series of pulses?

Thanks,
Tom

The cheapest hall sensors are only switches. A linear hall sensor has an analog output. In both cases they give a pulse when the magnet passes the hall sensor.

I think that a hall sensor is the best solution for this. It works even when the sensor gets dusty and it is not hard-wired to the circuit of the stepper motors.

The linear Hall sensor measures field strength along 1 axis only.
If you place a bar magnet so that rotates about its center, with N and S going around, the field will turn and generate a sine wave in a linear Hall sensor placed directly over the center of the magnet.
It doesn't take much field, you don't have to use a super magnet. If you need a stronger signal, use a transistor.