Detecting when a stepper motor stops rotating

I'm planning a project where a stepper motor lifts a weight then power to the stepper motor is cut off the the weight allowed to free fall. I would like to detect electronically when the weight hits the ground.

Would there be a weak magnetic field produced while the stepper motor is turning that I can detect when rotating and not rotating?

Even with the power disconnected a stepper motor is going to present a significant rotating resistance.

It is much easier to give useful advice if you give full details of your project.

...R

The dropping weight would be greater than the detent torque of the motor forcing it turn until the weight hits the ground.

The weight is lifted by a spool directly attached to the motor shaft.

We're talking small motors with a weight in the order of 10-16 oz.

My fall back to monitor the rotation of the spool but I'm curious if I can monitor the motor itself.

64GTO:
The dropping weight would be greater than the detent torque of the motor forcing it turn until the weight hits the ground.

Fair enough.

But what would be the point of that? Why not just run the motor backwards by the same number of steps as it went forwards?

You need to describe the project you are trying implement.

...R

Stepper motors are generators when the shaft is rotating and the voltage/current could be detected.

On the other hand, disconnecting a stepper motor from a motor driver while it is powered up will instantly destroy most motor drivers.

I suspected running the motor in free spool would be a bad idea. I'll have to focus on the spool rotation.
By the way, the distance from the motor to the ground varies and is unknown therefor I can't go by counting steps or shaft rotations.

64GTO:
I suspected running the motor in free spool would be a bad idea. I'll have to focus on the spool rotation.
By the way, the distance from the motor to the ground varies and is unknown therefor I can't go by counting steps or shaft rotations.

Some stepper controllers have a pin to enable/disable the controller. In disable mode, the motor is free to turn with no damage to the controller. But, there is no feedback for the number of turns the motor might make.

My coil winder disables the controller after the required turn count is hit. This allows the operator to solder or remove the coil from the spindle, etc.

You would still need a method to determine the motor turns when not powered.

Paul

I have played with connecting LEDs to stepper motors to illustrate that they can generate electricity, too. Generally, they need to rotate at medium speed to light red LEDs. But a couple of Op Amps or comparators could amplify that to a 0 to 5V signal. Look up projects using stepper motors as rotary encoder.

64GTO:
I suspected running the motor in free spool would be a bad idea. I'll have to focus on the spool rotation.
By the way, the distance from the motor to the ground varies and is unknown therefor I can't go by counting steps or shaft rotations.

What about putting a spring-loaded (light spring) runner pushing against the cord lifting the load. That should detect when the cord goes slack. A microswitch with a long lever might do the trick.

And why is the actual project description such a big secret? Is it something illegal that we would refuse to help with?

...R

polymorph:
I have played with connecting LEDs to stepper motors to illustrate that they can generate electricity, too. Generally, they need to rotate at medium speed to light red LEDs. But a couple of Op Amps or comparators could amplify that to a 0 to 5V signal. Look up projects using stepper motors as rotary encoder.

But not while still connected to a powered-up controller chip.

Paul

64GTO:
I'm planning a project where a stepper motor lifts a weight then power to the stepper motor is cut off the the weight allowed to free fall. I would like to detect electronically when the weight hits the ground.

A switch on the ground.

If the weight is attached to the motor with some string, the motor will probably spin up and continue to rotate some amount after the weight hits the ground, so you can't just monitor the motor.

Yours,
TonyWilk

64GTO:
I'm planning a project where a stepper motor lifts a weight then power to the stepper motor is cut off the the weight allowed to free fall. I would like to detect electronically when the weight hits the ground.

Would there be a weak magnetic field produced while the stepper motor is turning that I can detect when rotating and not rotating?

The proper way to detect this is to run the lead(string, cable, etc.) over a pulley attached to a spring loaded arm and detect when the arm is no longer pulled down by the weight. Think micro switch, etc.

Paul

Robin2:
And why is the actual project description such a big secret? Is it something illegal that we would refuse to help with?

My money goes on "it involves a drone"

Paul_KD7HB:
The proper way to detect this is to run the lead(string, cable, etc.) over a pulley attached to a spring loaded arm and detect when the arm is no longer pulled down by the weight. Think micro switch, etc.

Paul

SNAP.

...R

Paul_KD7HB:
But not while still connected to a powered-up controller chip.

Paul

Why not?

Paul_KD7HB:
But not while still connected to a powered-up controller chip.

Paul

The controller will (usually) direct excess power back to the power rails. You can see this when you move an axis of an unpowered 3D printer. All the electronics will be briefly powered by the stepper.

I should think a couple of diodes can turn this into a usable signal for an Arduino. It still seems like a bad idea, without further information.

I've spun a lot of steppers connected to powered up, but disabled, controller chips.

I would not connect those pins directly to an Arduino or an Op Amp. Of course you need some protection in between, just in case. The signal has to be amplified, anyway.

I would attach a slotted disc to the winding spindle, then direct a slotted opto switch across the slots on the disc. When it stops receiving pulses from the detector the spindle has stopped turning. The distance to the ground/rotations is irrelevant with this method.

I would attach a slotted disc to the winding spindle, then direct a slotted opto switch across the slots on the disc. When it stops receiving pulses from the detector the spindle has stopped turning. The distance to the ground/rotations is irrelevant with this method.

I was wondering when someone was going to suggest simply putting an encoder on the motor. That's how it's done in the real world. Then you positively know how far you went, and if you came back the same number of counts.

Arduino has made it so simple to use interrupts to count pulses, so the code isn't a big deterrent either.