I Predicting Peak Displacement in Imbalanced Rotating Drum

Tags:
1. Mar 3, 2016

If I am attempting to prevent a suspended motor-rotating imbalanced drum of high mass from colliding with its enclosure, how can I attempt to predict the maximum displacement from a balanced center of rotation if I have only a single sensor that can accurately measure(1000 samples/sec) acceleration and rate of rotational change in XYZ planes?

What I need to know how to do is to predict when a rotating drum is on a collision course with it's enclosure.

Case in point: Washing Machine, front-loader, a rotating heavely weighted drum/motor assembly filled with a little water and a lotta clothes that is ballasted by heavy weights, encumbered from excess travel by a few incompetent shock absorbers and suspended from two large springs, but is otherwise balanced in a vertical plane when unloaded with water and wash.

Can someone help me with the calculations? I haven't studied physics except for a single course in general physics. I am not a mechanical engineer. I do understand algebra, trig, math and I understand well the qualitative dynamics of mechanical systems and even remember doing well in calculus I and II, but what I do best is programming embedded MCU's. I code.

2. Mar 4, 2016

Nidum

Most washing machines work on simple basis of detecting whether drum vibration is above or below an acceptable threshold value .

If below threshold continue with spin .

If above threshold stop spinning .

Often there is a recovery procedure where clothes are tumbled slowly to redistribute them before a restart .

3. Mar 4, 2016

CWatters

+1 to just limiting the amplitude.

I very much doubt you could calculate the trajectory of the drum and even if you did how much warning would you get? Perhaps less than half a revolution? Would that be enough time to stop the impact given the inertia of the drum?

4. Mar 4, 2016

Thanks Nidum and CWatters.

By either better design more robust and thought out suspension of the drum and maybe also by more clever computer code, some washing machines, particularly the more expensive variety, seem to be better able to control violent vibrations.

I bought an inexpensive machine and expected to get what I paid for, but with the hope of hacking it to improve on its performance..that was my challenge. I also later realized that I needed the machine to always be available to wash my clothes..this sometimes conflicted with dealing with downtime in improving it.

I bought the cheapest, highest rated load capacity machine that I could find on sale. Sadly, its performance under stress of imbalance is shockingly incompetent. I am not prone to be believe in wild conspiracies, but I thought perhaps the designers intended to make this washing machine of mine to work in an inferior way in comparison with their more expensive models offered. So, I thought I could maybe improve on it.

That is why I tore out the existing controller and built my own controller that can control the motor and all pumps and solenoids and whistles.

But I don't know how to use my MCU hooked to the acclerometer/gyrometer sensor to maybe make things better.

I can write code that detects peak acceleration in all XYZ directions. I can create an short array of readings over a short period. However, the memory limitations of the MCU can only hold maybe a total of less than 200 hundred individual XYZ measurements and I have maybe at most .3 seconds to react.

My best guess is that my MCU must detect and react in less than a third of a second because the magnitude of momentum reached in an imbalance condition cannot be prevented from creating a collision if my MCU takes too long to make up its mind on when to cut power to the motor.

At the same time, any control strategy mustn't interrupt normal washing with nuisance tripping.

Last edited: Mar 4, 2016
5. Mar 4, 2016

CWatters

I suspect the algorithim they use to detect and correct the out of balance situation is quite complicated.

As per post #2..

Our machine starts by spinning slowly for say 10-20 revolutions and then accelerates in stages. If it starts getting "out of wack" it stops and goes back to turning slowly again, this tumbles the clothes to redistribute them before it tries to ramp up the speed again.

Unfortunately I've no idea how they detect the drum is vibrating too much. They may use limit switches, or accelerometers or a combination of both?? If they just use an accelerometer they must set a different limit for each speed because. At low speeds you can have low acceleration at the same time as unacceptable amplitude. At high speeds you can have high acceleration even though the amplitude is acceptable.

If you come up with a new algorithm and it copes with this you might try patenting it!

6. Mar 4, 2016

Nidum

7. Mar 4, 2016

There are many ways I've thought of to detect excessive vibration, but a MEMS accelerometer seemed to me to be an easy solution.

Many different possible ways to detect vibration:

A very inexpensive tiny elctrolet microphone mounted on the tub or coupled to the plastic hose detecting water level can detect vibration sound and feed its output to an A2D input on the MCU for it to make sense of.

There are pneumatic pressure water level sensors in most newer machines that provide pulse width feedback to the MCU to sense water level. When the machine is not at rest, movement of the drum will cause the water or even air trapped in the bottom of the sensor tube at the bottom of the drum leading up to the water sensor mounted on the interior of the enclosure near the top of the machine to vary in pressure. By detecting these small pressure variations in the air trapped in the plastic hose, the MCU can detect vibration which causes rapid fluctuations of fed back PW.

The motor tachometer will show oscillations in motor speed as the motor reacts to variations in speed when powered at a fixed power because the motor power is being precisely controlled by PWM controlling the AC power by duty cycle. Easy enough for an an MCU to detect as the tach is a small motor mounted on it rear shaft of the washing motor sends back sinewaves at 8 x tub revolution's speed.

There are also some less reliable totally mechanical methods to detect acceleration such as a tiny weighted pendulum mounted on the drum monitored by IRF sensors, or simply a ball bearing presssed down upon a weak spring mounted in an enclosure on the tub and this sensitive switch will open and close due to inertia of the ball bearing with heavy vibration, or a small 24um gold-plated surface of a ball-bearing with 3-degrees of freedom in a small enclosure making different electric contacts on the sides of its enclosure.

But I want to try to figure out how to interpret my MEMS accelerometer feedback.

Last edited: Mar 4, 2016
8. Mar 4, 2016

Thanks CWatters, I really enjoyed the youtube!

Now I know how a properly built machine should handle out of balances.

I will definitely implement these control strategies in my newest revision of the MCU washing machine controller I have built.

But first I have to find out how to properly detect imbalances and attempt to predict displacement caused by imbalances with my \$2 MEMS accelerometer module.

In an effort to carefully orchestrate operation of a machine according to its selling price, I see good reasons why these well thought out strategies to deal with vibration were not implemented in the out of carton, before my MCU was used, cheap machine I'd bought.

.

Last edited: Mar 4, 2016
9. Mar 4, 2016

Thanks Nidum, this is the first time I've seen this article and it was published in 2003.

Funny enough, this applications engineer at Analog Devices seems to be parroting the essence of all of my research and discoveries about vibration detection.

Although the app note (written in very high-quality Chinglish) I've downloaded clearly shows the suitability of the MEMS device Analog Devices is touting, this ap note gives only vague qualitative guidance and leaves the washing machine engineer to figure out how to use and interpret XY acceleration readings to implement a MEMS device in a real-world washing machine..that is what I want to learn how to do too!

Interesting, dated 2009, with a MEMS not able to monitor the very important acceleration in the Z-axis.

Last edited: Mar 4, 2016
10. Mar 5, 2016

I need some help to create a quantitative understanding of a classical physics problem.
I have Maple on my PC ready to study any solutions or help offered.
--------------------------
I know that acceleration is the first derivative of velocity. Therefore I know: velocity= g T

This is, of course, a simple calculation, when accel. g is constant and T elapsed is precisely known and when the coeff. of static or moving friction are not used to further precise the final XYZ velocities.

I also know that the forces accelerating a rotating mass can be resolved into XYZ component vectors.

First question:
I also think I know that if I integrate the known acceleration over an interval of time, I should be able to determine the instantaneous value of velocity, then finding the achieved displacement=velocity x time to get an estimate of imbalance displacement from center of rotating axis?
Velocity= integral of g during time dt
2nd question:
Assuming the 1st assumption is correct, if I can easily use a sensor to obtain multiple sampled and accurate values of XYZ acceleration and Deg/Sec gyro info from a rotating drum over a few hundred mSecs of time, is it practical or reasonably possible to determine or predict the present or future displacement from the axis of balanced rotation or determine the displacement of a 20-in diam drum from its balanced axis center or when a displacement of only an inch or two will be reached.
Assume the rotational speed of the unbalanced drum would be approx. >0 to 10 rps
3rd question:
What is the math to accomplish this calculation?

There is no problem in the system in question to obtain a sampling rate is up to 1000 samples per second of instantaneous acceleration and Deg/Sec gyro XYZ feedback and there is an embedded computer competent, if correctly programmed to handle the calculations very quickly.
----------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
I am neither a physics expert nor a mathematician, I am an embedded systems programmer, but I think I do have a strong qualitative understanding of mechanics and I have achieved a top grade in Calculus I and II at an university level, and at the same time I also took a single introductory class called Physics for Engineering Students( but it has been some years since I studied these subjects and this knowledge is rusty.)

In my specific problem, consider now a large balanced hallow drum mounted in the horizontal axis, partially filled with an amorphous mass that can organize itself dynamically during startup and accelerated rotation and so causing an imbalance whose XYZ magnitude of displacement may be trending toward an unacceptable limit.
-----------
Consider this imbalanced accelerating horizontal rotating drum is suspended by springs, ballasted by large horizontal weights(2-in concrete blocks with approx total of 2x the mass of the drum/motor) upon the top and bottom of the drum and suspended vertically upon large springs.

In a further incompetent attempt to stabilize the system that only achieves some dampening of oscillation, there is attached two (ea top and bottom) shock absorbersm which are attached at approx. 30 deg angles to the left/right sides of the top/bottom concrete blocks that are mounted on the drum.
.
An Out of Balance (OOB) condition often develops, resulting in an oscillating XYZ displacement from the center horiz. axis of the drum which produces peak displacements that are inversely proportional to drum's rotational speed.

There is a then a need to monitor the movement of the drum to reliably detect the amount of imbalance (OOB) and predict the instantaneous displacement in order to determine a safety trip point to momentarily cutoff power to interrupt an OOB condition and signal a need for redistributing the contents of the drum before resuming operation.

The amount of displacement caused by imbalance oscillations cannot exceed one to two inches before an excessive OOB condition exits.

The rotating drum is otherwise well-balanced, but is contents(some water and fabric) can organize itself as an imbalanced mass that sustains an imbalanced condition.

What is known is the approximate mass of the drum, ballasting weights, horizontal rotational drum speed and
an accelerometer sensor mounted on the horiz top center stabilizing concrete block upon the drum yields instantaneous XYZ accelerations and gyroscope Degs/Sec readings up to 1000 times per second.

From the sampled XYZ accelerations, I would like to understand how to make useful calculation using these XYZ sampled readings to determine and predict the displacement from center of balanced rotation or at least determine an excessive OOB state.

Last edited: Mar 5, 2016
11. Mar 5, 2016

I need some in understanding the mathematics and the physics and the physics mechanics equations to do some calculations to help in creating an algorithm.

12. Mar 5, 2016

13. Mar 5, 2016

Nidum

14. Mar 5, 2016

Thanks Nidum, I now have some link towards better working on this problem.
I realize that I didn't know what key words to query Google for some help,

I know that I will find links to some PhD physics level of elaborations of my problem of interest.

How will I be able to further get help from this site if need help to start to clearly understand the presented notation/equations/explanations I will find?

15. Mar 5, 2016

Isaac0427

Try using dimensional analysis for that. Taking such an integral will give you the units of m/s, which is the unit for velocity. Should you integrate that acceleration over time, you would get the equation v=gt, and if you integrate it again, you would get d=gt2/2. That is your displacement.

16. Mar 5, 2016

Nidum

Last edited: Mar 5, 2016
17. Mar 5, 2016

Thanks Isaac0427,
This is a most useful start for me to approach understanding and creating a solution for this mechanical problem.

I don't quite understand how Dimensional Analysis helps..isn't this just about the actual units of measurement, or are you giving me a hint to look at a scientific field of study, some reference to a physics analysis of the dynamics of a mechanical system?

Last edited: Mar 5, 2016
18. Mar 5, 2016

Thanks again Nidum!

I feel so dumb in suddenly realizing there exists is a wealth of info on this specific subject if only I googled my query correctly! It does take some time to understand a problem sufficiently to ask a viable question!

I also realize that I will likely discover that these links usually lead to rather esoteric, complex but vague explanations that have been carefully edited to protect any valuable trade secrets and then may fail to offer any real practical knowledge that would give possible competitors any advantage.

Or else these links are to published papers that require a paid subscription to view or else are just published to gain proof of concept for a patent or just published by someone wanting to obtain some notoriety to post on their resume.

But I mustn't be so negative before taking some time to explore these many links.

Last edited: Mar 5, 2016
19. Mar 5, 2016

Isaac0427

Whenever making/testing out an equation, you should always start at dimensional analysis. If the dimensional analysis doesn't work (i.e. the two sides of the equation do not have the same units) then you can do one of 2 things:
1. Put a constant out front
2. Find out that the equation is wrong
It is downright nonsensical to put a constant in front of your integral (if you think of it qualitatively, you will realize why it doesn't make sense), so number 2 must be the case. By integrating twice, dimensional analysis does work out, which shows that the equation could possibly be correct. It turns out that displacement is defined as the integral of velocity over time, and velocity is defined as the integral of acceleration over time.

20. Mar 5, 2016

Thanks again, Isaac0427
Of course,
I get it, I hurriedly show g as a constant in my equation, but I meant if the g was a steady value/measured, so assumed to be unchanging(constant) during the interval in question, not a constant fixed value that would not be changed in any other instance of use of the same equation.

21. Mar 5, 2016

So I now know the equations: v=gt, and if you integrate it again, you would get d=g(t^2)/2 (displacement.)

Seems simple enough, but the demons are in the details:

Do I just sum the instantaneous g readings * dt, (they are changing over the fixed sampling intervals and fixed sampling interval)

1)then take the moving average of the result..or the average of the sum of each sample product of Accel*dt
2)..or is it more correct to take the average value of Accel * total measurement interval to make calculations that will yield the integral?
3)or is it that: V= Summation (sample Accel in g's)*dt(sampling period, a constant value, i.e. some value like 2 to 10 mSec) ...or something else?
---------------------------------------------
Since the measured acceleration are happening in XYZ, I know any value is instantaneous, and I have observed the waveform of the XYZ accelerations, it is signed, monotonic, but slowly changing in value and direction(at least at low speeds of drum rotation) and acceleration readings are very quickly changing in value at spin speeds.

I also know that violent vibrations are manifest ramping-up towards a spin speed and they need to be detected before spin/centrifuge speeds are reached.

How does this insight relate to a way to do my calculations?

So then what kind of value will I get for XYZ accelerations, is what I want is a peak or average or integrated value to plug into the second displacement-finding equation for some idea of present or future displacement?

Finally, even if some value of displacement is determined, how could I possibly know that I have obtained a non-drifting XYZ accurate instantaneous or predicted displacement from the center of rotation, which is, of course, the most important measurements, considering there are sampling error inaccuracies and number-crunching accumulated rounding errors and the jitter(some few uSecs) from sample to sample?

In other words I may always know a quite accurate value of XYZ instantaneous sampled accelerations, but probably can never know a correct instantaneous position of the drum after any short interval.. unless the XYZ gyroscopic readings are included give me a way to get a more accurate way to determine position?

Is the only way to accomplish solving my problem is to attach absolute displacement XYZ sensors?

Or must I resolve myself to settle for a cut and try empirical approach to finding someway to identify critical peak values have been detected in any of the XYZ accels that signal OOB?
Or if is it the case I must somehow combine XYZ to declare OOB, can someone tell me how I can combine XYZ accelerations over the sampled interval or consecutive intervals to somehow declare an OOB condition?

Is it really NASA grade Rocket Science I am trying to deal with?
I do know that more expensive machines know how to detect OOB and deal with it in a way that works.

I still seem to be quite confused on how to make my calculations make sense of my readings?

Last edited: Mar 5, 2016
22. Mar 5, 2016

23. Mar 5, 2016

Nidum

Yes - good source of information for applications using that specific device .

24. Mar 5, 2016

The citation below is quite a remarkable academic paper that doesn't fail, reveals all, showing extremely complicated equations, graphs and calculus I couldn't begin to try to understand until I get my phD:

From the first link Nidum suggested:

DEVELOPING AN UNDERSTANDING OF
WASHING MACHINE DYNAMICS
Clive Marsh∗, Steve Taylor†, Paul Milliken‡ and Galkadowite Senaratne

And after 150 pages of explanation, they come to the summary:

6. Conclusions
Modern washing machines with balance rings are complicated systems
and it was not possible to build a 3D model including balance
rings and an out-of-balance load in the time available.

[2] showed that balance rings can reduce eccentricity due to an

------------------------------------------------------------------------------------------
In India, housewives take their baskets of laundry down to the sacred river and beat each item individually, violently against rocks, like they were exorcising demons from the cloth itself.

Last edited: Mar 5, 2016
25. Mar 5, 2016

I know the equations: v=gt, and if you integrate it again, you would get d=g(t^2)/2 the displacement.

Seems simple enough, but the demons are in the details:

Do I just sum the instantaneous g readings * dt, (they are changing over the fixed sampling intervals and fixed sampling interval)

1)then take the moving average of the result..or the average of the sum of each sample product of Accel*dt
2)..or is it more correct to take the average value of Accel * total measurement interval to make calculations that will yield the integral?
3)or is it that: V= Summation (sample Accel in g's)*dt(sampling period, a constant value, i.e. some value like 2 to 10 mSec) ...or something else?
---------------------------------------------
Since the measured acceleration are happening in XYZ, I know any value is instantaneous, and I have observed the waveform of the XYZ accelerations, it is signed, monotonic, but slowly changing in value and direction(at least at low speeds of drum rotation) and acceleration readings are very quickly changing in value at spin speeds.

I also know that violent vibrations are manifest ramping-up towards a spin speed and they need to be detected before spin/centrifuge speeds are reached.

How does this insight relate to a way to do my calculations?

So then what kind of value will I get for XYZ accelerations, is what I want is a peak or average or integrated value to plug into second displacement-finding equation for some idea of present or future displacement?

Finally, even if some value of displacement is determined, how could I possibly know that I have obtained a non-drifting XYZ accurate instantaneous or predicted displacement from the center of rotation, which is, of course, the most important measurements, considering there are sampling error inaccuracies and number-crunching accumulated rounding errors and the jitter(some few uSecs) from sample to sample?

In other words I may always know a quite accurate value of XYZ instantaneous sampled accelerations, but probably can never know a correct instantaneous position of the drum after any short interval.. unless the XYZ gyroscopic readings are included give me a way to get a more accurate way to determine position?

Is the only way to accomplish solving my problem is to attach absolute displacement XYZ sensors?

Or must I resolve myself to settle for a cut and try empirical approach to finding someway to identify critical peak values have been detected in any of the XYZ accels that signal OOB?
Or if is it the case I must somehow combine XYZ to declare OOB, can someone tell me how I can combine XYZ accelerations over the sampled interval or consecutive intervals to somehow declare an OOB condition?

Is it really NASA grade Rocket Science I am trying to deal with?
I do know that more expensive machines do know how to detect OOB and deal with it in a way that works well.

Last edited: Mar 5, 2016