Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

washing m/c control loop.

Status
Not open for further replies.

denzil_menezes

New Member
Hi,
I am currently designing a speed controller for a universal motor based washing machine.
I am using triac firing to control the speed of the m/c and i have a tacho feedback to read the speed back in terms of pulses. The time period of these pulses are inversesly propotional to the rpm of the motor (and thus the drum rpm).

I am currently reading the pulses and then making propotional correction to my firing angle.

Though i have got the system to work a bit, i cannot maintain a fixed rpm (say 55rpm of drum ), it always overshoots and undershoots. This is due to the unbalanced nature of the load in the washing machine drum.

I am short of ideas to solve this. Kindly suggest a solution.

Thanking you
Denzil
 
Im not sure how much help I can offer, but I am somewhat interested in some of the specifics of this type of control. Are you using an optical encoder, hall effect, or does your motor have a built in tach? Which ever you have, how many pulses per revolution does it generate? Are you designing a speed control around a washing machine that already exists, or are you building everything from the ground up? I know the commercially built machines have a dampening system in place to absorb some of the energy from load imbalances. How much does it over/undershoot? It seems to me that, given the nature of the load, that a bit of allowable error or hysteresis or something would be needed. Well thats just my 2 cents. I'm sure some of the pros will be on here shortly to better help you.
 
hi Sig239,

I am building the controller on an already existing wash' m/c.
The motor has a built-in tacho, that gives 8 pulses per revolution of motor shaft.

I have a 3 % tolerance to my rpm, but currently i am exceeding 20 % .

Say i want 55 rpm, it overshots to 70rpm and some times undershoots to 40rpm when loaded.

The thing is that, as the drum lifts the load (clothes inside) the motor requires more torque, but as the load falls i need to correct torque (the firing angle) and again as the load rises increase the torque.

I make adjustments to my fire angle based on the time period of the tacho pulses. If the period is larger the a ref period for say 55rpm, i boost the fire
angle to my triac else i reduce the fire angle. I provide propotional correction of some constant (Kp) multiplied by the differnce between the sensed pulse period and the ref period of 55rpm.

sincerely

denzil menezes
 
are you using some sort of PID to control the speed? I suspect you need to tune your coefficients much more tightly than you have. maybe you could simulate the forces so you can more quickly try different coefficients. if you are only using proportional, you will be hard pressed to get it under control.
 
Last edited:
This sounds like a good application for a PLL; it can be used to syncronise the output from you taco to a stable oscillator.
 
Hi,
I couldnt access this site for last 2 days.

I am currently using just propotional control.
The thing that i control is

1) the fire_pulse time to the triac using a compare module of a timer. That is after a zero_cross i add a count to the compare module.

I sense the tacho period. Depending on which i correct the fire pulse time propotionally to the difference of my refernce period(forr 55 rpm) and that of the received tacho pulse.

my equations are

correction = K * ( ref_rpm_pulse_period - tacho_pulse_period)

fire_angle_time = fire_angle_time + correction.

I wish to introduce the integral part into my equation.

Hero999,could you elaborate on PLL.


Denzil
 
denzil_menezes said:
Hero999,could you elaborate on PLL.
Denzil
You need a voltage controlled phase power controller.

You want the motor to spin at 55rpm.

Suppse your tacco encoder outputs 20 pulses per turn.

55rpm = 55/60 = 0.9167Hz
So your tacco encoder will give 18.33Hz.

The idea is you build an oscillator and use the PLL to syncronise the output from the encoder to a multiple of the oscillator's frequency. The idea is to use the motor and tacco encoder as the VCO part of the loop. You could build a 18.33Hz oscillator and use the PLL to adjust the speed of the motor so the output from the encoder matches this. In practice it's much better to use a more accurate higher frequency oscillator like a crystal.

I've done a Google and found a couple of ICs that could do the hard work for you.

**broken link removed**
http://www.onsemi.com/PowerSolutions/product.do?id=TDA1085CG
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top