Hello! I'm working with a wire straightening machine that is controlled by an arduino. It runs well when the wire that is fed is high quality (normal conditions). My problem is when the wire is broken or crumpled. The machine still tries to pull it and then it can damage all the components inside.
I'm wondering how I could stop the machine when it detects something wrong with the wire. I'm thinking of something mechanical that would prevent bad wire from passing or even a sensor that could detect it and then send a signal to the Arduino to stop it.
I'm referencing an image for clarification of the problem. I'm trying to work on the red square part that would prevent it from passing bad wire. Does anybody knows how it could be done?
A lot depends of the size of the wire we are talking about.
Maybe a photo interrupter, laser beam & receiver i.e. some non contact
sensor that is not blocked (broken wire) shuts the system down.
For crumpled wire , if the motors tend to work a lot harder pulling the wire through
monitor the motor current and stop the machine on some threshold value.
Edit: just read you wanted to catch it before the wire enters the straightener.
Thank's for the reply. I think that the broken wire is simpler, because I can put a sensor to detect closer to the entry of the machine. The pig problem is the crumpled wire because it would still detect it. The motors will work pretty hard and maybe broke the rollers.
For the crumpled wire set up a funnel and if the wire is crumpled it won't fit through the funnel
causing it to move in some manner that sets an alarm.
You could set up an esp32 camera using recognition to make sure the wire is there.
None of this stuff is easy, even something that sounds simple. It has to be bullet proof.
Yes, I have tried a funnel but the problem is that the straightener continues to pull the wire and then everything falls apart. I'm thinking of something similar to this that when it happens to "break" the protection (funnel or similar) a sensor would detect it and the machine stops
Maybe design the funnel so it is mounted on something that moves when there is force on the funnel and detect the movement or monitor the motor current.
Mount the funnel on something spring loaded. Somewhere on the funnel or its mounts affix a limit switch that's actuated when the funnel is pulled out of position far enough when a snag is encountered. The limit switch can break the motor circuit directly (depending on type) or be monitored in code to stop the motor.
edit: if pulling occurs normally you could also add a time element such that if switch is actuated for X milliseconds then alarm.
It would be possible to read the steps per second so you could determine
the speed of the rotation and
the time between two steps
The motor(s) could be stopped if the rotation speed goes below a certain threshold or when the time between two steps varies (or whatever is typical for the problem you mentioned).
Another way could be to monitor the power consumption of the motor(s). However that may become more difficult depending on the kind of motor(s) you use ---
You are right it might require some testing and measurements to identify the conditions to stop the motor unless the rotational speed drops/changes significantly in case of a failure or the revolutions begin to "stumble" ...
I was using YOUR drawing as source for what to do. The first roller must be able to move up and down. Spring loaded. One switch to indicate upward movement beyond one wire diameter. A second switch to indicate downward movement to where the rollers could touch.
Do You know how a steady rest for a lathe works? It uses 3 contact points to the object. Suppose a rigg with 3 wheels, 120 degree apart, allowed to move, will be in contact with the wire. Then monitor the movements of the "steady" due to a crocked wire.