# washingMachine
家里的全自动洗衣机_51单片机驱动程序
单片机型号为STC12C5A60S2
控制原理为时间轴上,不同的时间节点做不同的事,按钮设置当前的时间到时间轴上对应的位置,从而切换洗衣机的状态。图形说明如下
时间长短在宏定义中可以直接修改,如下
```//时间参数设置,单位是秒
#define WASHINE_TIME 30*60 //洗涤时间
#define RELEASE_TIME 2*60 //放水时间
#define DRY_TIME 5*60 //甩干时间
#define STOP_TIME 45 //等待刹车时间
```
1、总体流程说明:
```
洗涤时间 放水时间 脱水时间 等待电机停止转动(45秒) 全部停止
|———————————————|————————————————|———————————————|————————————————————————|
```
2、洗涤时间说明:电机一直做正反转,等待下一个时间节点,从而切换状态
```
电机正转 电机停止 电机反转 电机停止 电机正转(回到初始,时间置0)
|———————————————|————————————————|———————————————|———————————————|
```
3、放水时间:只需打开放水阀门,等待下一个时间节点,从而切换状态
4、脱水时间:脱水时需要打开放水阀门,同时电机正转就可以脱水。
为了防止电机直接加速到最高速度造成继电器电流过大,使用间歇加速的办法。
(注意)脱水时如果电机反转不会脱水,只能正转。具体是顺时针还是逆时针,需要在实验中测试
```
电机转动(2s) 电机停止(3s) 电机转动(2s) 电机停止(3s) 电机转动(2s) 电机停止(3s) 电机一直转动转
|———————————————|————————————————|———————————————|———————————————|———————————————|————————————————|——————————————————————————————|
```
5、等待电机停止转动(45s)
脱水结束后电机不会直接停止,在惯性的状态下继续转动,直接刹车对离合伤害太大,所以等待45s,电机停止在刹车
等待电机停止转动只需保持放水阀门打开,电机不给点就可以。刹车时关闭放水阀门就会自动刹车。