I am currently working on my Product Design final project.
My device has a liquid filled cylinder (3inch beaker) with a plunger that has a mesh screen inside of it. I am using the arduino to control a motor that powers a leadscrew which in turn moves the plunger up and down inside of this beaker.
I need a way to tell the arduino when the motor has reached the bottom or the top of the beaker. I was going to use hall effect sensors and a magnet, but am thinking that the added product cost may be quite high. Plus, if for some reason there was a bad wire etc, the motor would continue to spin indefinitely - which would be very bad - this device needs to run all by itself.
My professor suggested that maybe i could add physical stops on this screw, and then measure the current to the motor. When the plunger hits a stop, the motor current will spike telling the arduino to "stop" the motor.
Is there a fairly easy way to measure this? or will i need special electronics? OR does anyone have a better way to do this? (the inside of the container needs to be foodsafe, FDA standards) So physical limit switches probably will not work (unless someone knows of a source for a sealed limit switch?)
My professor suggested that maybe i could add physical stops on this screw, and then measure the current to the motor. When the plunger hits a stop, the motor current will spike telling the arduino to "stop" the motor.
Ask your prof if he as actually tried doing this?
I did this in my final year project back in 1974.
In principal it is easy. A series resistor in the ground of the motor and measure the voltage across the resistor. As the current increases so does the voltage.
BUT when the motor first turns on there is a current surge that is almost equal to the surge you get when it stalls. It is bad for the motor to keep stalling it like this and is a very poor design for something that is meant to run reliably over the long term. A contact less sensor like a hall effect is the best solution. The added cost is negligible especially on a mass produced product.
I didnt think this would be this best way either, I dont think he has actually done this (my program is Mechanical design, so most of the professors know very little about electronics/are hesitant to allow us to have a project that utilizes electronics)
As is, I am still planning on using the Hall Effect sensors, I was just hoping someone had some sort of method that I had not found yet.
My professor suggested that maybe i could add physical stops on this screw, and then measure the current to the motor. When the plunger hits a stop, the motor current will spike telling the arduino to "stop" the motor.
Ask your prof if he as actually tried doing this?
I did this in my final year project back in 1974.
In principal it is easy. A series resistor in the ground of the motor and measure the voltage across the resistor. As the current increases so does the voltage.
BUT when the motor first turns on there is a current surge that is almost equal to the surge you get when it stalls. It is bad for the motor to keep stalling it like this and is a very poor design for something that is meant to run reliably over the long term. A contact less sensor like a hall effect is the best solution. The added cost is negligible especially on a mass produced product.
The DEC LA-36 dot matrix printer used that method to get it's print head position motor sync'ed up to it's starting position. It would move the print head left for a few inches and then back right until it 'saw' the motor current spike up as it hit the mechanical stop. After that it would jjust use a 2 channel quadrature encoder wheel sensor on the motor shaft to keep track of the print head position.
There used to be an app note on the {cough} Microchip website describing such an application for electric car window motors.
Might be worth a read, just to give your prof a warm feeling that you've done your homework.
I'm an EE/CS type, and not an ME, but using a "leadscrew" sounds to me like you have
a large mechanical advantage. You might drive the plunger through the bottom of the
beaker before you can shut it down, if you use motor current spiking to trip.
As you're an ME, and therefore must love linkages, why not rig up a spring-loaded plunger,
so it will have some play before trashing the beaker. Then add a limit switch up on the
linkage connection between the motor and plunger, well up out of the fluid. The motor
will still be able to travel a bit without generating huge force, even after the plunger
bottoms out.
oric_dan(333): definitely not the ME you think I am...but MEs do really love linkages for some reason...haha
Anyways, that sounds like a viable option. I dont know if that will reduce cost over just simply using 2 magnetic sensors (Hall effect). But I will keep it in mind for future reference if I think of a way to do so cost effectively.