Out of balance detector.

Hello I have a project i have been mulling over for a while, the background to it is at work we use what is very much like an oversized washing machine that we put frames of honey into to extract the honey using centrifugal force. The problem is the frames (there are 24 per load) are not always identical weights causing the machine to sometimes (very scarily) become unbalanced. The current solution is to stop the machine and then spin the drum by hand and lift the frames one by one trying to guess which ones are the problem frames and redistribute them to hopefully balance the load which is very time consuming and mostly hit and miss affair. What I have in mind is using an accelerometer mounted to the machine to pick up the imbalance early in the cycle, and then using an optical encoder on the drum reading back to a nano with an LCD screen. The plan is to set a threshold for the accelerometer if this is exceeded to open a relay output to stop the drive motor to the machine, but also to read the postion from the encoder of the drum at the point the threshold was exceeded and the display that on the LCD so the operator can go straight to the source of the imbalance and rectify it much quicker.

So my question is what accelerometer and encoder would you suggest and if anyone knows of anyone that has done a similar project could you provide a link please or if not what the basic sketch might look like.

I've never worked with an accelerometer, but here is something similar that you may want to glean some ideas from.
Prop Balancer

You don't need an encoder, just when a zero point is passed. The prop balancer does this with a white dot on the prop that an IT detector picks up. You know the speed by the time between zero points.

Please report your progress back here. I am sure others would be interested.

Just adding my own interest - its a fascinating and useful project. Good Luck!

You might be able to get away with adjusting the motor speed relative to the out of balance detection to get the vibration to an acceptable level. It would still be worth filling the machine as balanced as possible for optimal speed but if a mistake was made it would simply slow down a bit to compensate.

The other alternative which is more complex is to make adjustable balance weights to compensate.

If you think about it a washing machine isn’t balanced and it compensates simply by dampening vibration with a heavy brick. That seems to be the low tech method.

My washing machine detects and out of balance load. But in order to correct it it goes through a series of forward and backward slow spins to try and redistribute the load and try again. This obviously won't work for your application.

Your best approach would be to weigh the trays before loading and evenly balance the load at this stage.

The machine used by tire shops to balance your vehicle wheels use a similar way to keep track of the heavy side of the wheel as it stops spinning. Then the operator knows where to add weights to the wheel. Go check it out.

Paul

I've never worked with an accelerometer, but here is something similar that you may want to glean some ideas from.
Prop Balancer

You don't need an encoder, just when a zero point is passed. The prop balancer does this with a white dot on the prop that an IT detector picks up. You know the speed by the time between zero points.

Please report your progress back here. I am sure others would be interested.

Thanks thats along the line Im thinking of.
Regarding encoder would it be an easier code to write to read an analogue value than calculate the position based on speed and elapsed time? I'm fairly new to arduino and while I'm not afraid to learn the simpler it is the better. The drum speed is controlled by VFD/VSD and has quite a long ramp time so there would be quite a range of speeds to work with.
will definitely report back here may even post a youtube clip once perfected as I trawled the net trying to find something like what I have in mind and I'm sure there's others out there with a similar project.

You might be able to get away with adjusting the motor speed relative to the out of balance detection to get the vibration to an acceptable level. It would still be worth filling the machine as balanced as possible for optimal speed but if a mistake was made it would simply slow down a bit to compensate.

The other alternative which is more complex is to make adjustable balance weights to compensate.

The problem with the first suggestion is we are extracting the world famous (I think...) manuka honey which is very thick so it needs to reach full speed to achieve proper extraction.

Your second suggestion has me thinking I could display the actual value of the deflection/imbalance and the jot that down for the first few times and weigh the problem frame after a while I should be able to plot a graph and as you say have a range of counterweights to add to the opposite side quicker than shifting the frames around. the value of many minds :wink:

Your best approach would be to weigh the trays before loading and evenly balance the load at this stage.

That option isn't really feasible as we usually have casual workers loading them and the frames come at them thick and fast from the next machine up the chain, without bagging the workers at all generally it would be asking a bit much of them to remember the weights of the other frames they had loaded and ensure they put a matching weight oppo

Hi,
If you want to keep it simple, KISS.

A lot of washing machines had a ring around the outside of the drum.
When the out of balance drum hit the ring, it tripped the motor cutout.

Wheel balancers use a shaft encoder and pressure sensors on the shaft bearing points.

Tom... :slight_smile:

It depends what you can fit on the machine.
Simply, you could attach a magnet to the rotor and use a hall effect sensor to detect when it passes.

Time from one passing to the next (millis() or micros(); )
Then if 1 rev takes say 100msec and your vibration signal is at 30ms its 3/10 of the way around.

You will get (more or less) a sine wave from the accelerometer. For an arduino the easy way to deal with that, rather than trying to time the peak, is using a zero crossing detector which couild possibly drive an interrupt?

Self-balancing patent