该系统以单片机(STC89C54RD)为主控器件,利用HEDS9701槽型光耦和360线光栅组成的编码器获取帆板的角度信息。单片机实时采集编码器的正交信号,从而获得实际角度。根据实际角度和目标角度值,通过PID算法获得控制参数,调整PWM参数,从而控制风扇转速,实现帆板的角度修正和动态控制。
帆板控制系统,通过控制风扇转速,调节风力,改变挡风板角度,显示范围0 ~ 60,分辨率2,绝对误差5;当距离d=7 ~ 15 cm时,通过操作键盘控制风力,帆板角度控制在0 ~ 60。要求控制过程在5秒内完成,并实时显示,有声光提示。如图1所示。
1总体方案确定风帆控制系统总体框图主要由单片机、角度信息采集模块、键盘输入模块、显示模块、电机驱动模块、电源模块组成。系统设计的总体框图如图2所示。
(1)角度信息采集模块:利用HEDS9701槽式光耦和360线光栅组成的编码器采集帆板的角度信息。分辨率为1,符合设计要求,而且已经是数字信号,不需要通过A/D模块输入单片机系统,稳定可靠。
(2)电机驱动模块:选用DC电机风扇,工作电流1.2 A,工作电压12 V。经过测试,风力可以把帆板吹到80左右。采用单片机STC89C54作为主控芯片,编码器输出的正交信号可以控制DC电机的正反转,通过PWM控制风扇转速,从而控制帆板的角度。
(3)控制系统的选择:选用STC89C54作为主控器件。红星科技生产的STC系列单时钟和机器周期(IT)单片机是新一代8051单片机,具有高速、低功耗、超强抗干扰性,指令代码完全兼容传统8051。
2理论分析和计算
2.1角度信号的产生和计算角度由编码器输出的正交信号计算。如图3所示,A和B分别是传感器输出的两个正交信号。
如表1所示,正交信号A和B共同构成四种情况,如电流A为1;当b为0时;并且信号a变成0;当b为0时,帆板反方向转动,角度减小1;当信号A为0,B为1时,帆板正向转动,角度增加1;以此类推,正反方向有四种情况。2.2 PID控制DC电机算法介绍设计采用PI速度控制,PI控制的实现采用常规方法,并包含一个(Kc*Excess)项抑制积分饱和,如图4所示。
相应的程序是
3硬件电路设计3.1电源模块
12 V开关电源用作DC电源。经过电容滤波和7805稳压后,得到5 V的电压,提供给MCU和存储器24C02,如图5所示。
3.2风扇控制电路
图6显示了风扇控制电路。FS-和12 V连接到风扇。当P23为0时,Q2关闭,Q1开启,电机运行。当P23为1时,Q2打开,Q1关闭,电机不运行。
3.3显示按键电路
如图7所示,系统由两组4位共阴极数码管和四个按钮组成。DPY1显示测量的角度,DPY2显示设定或更改的角度。这四个键是设置键、开始/停止键、1键和1键。74LS145是一款4线10线解码器/驱动器。a、B、C、D接单片机P00~P03,0 ~ 9分别接两组谢妮管、键盘和LED,其中谢妮管的位控和按键共用。74HC164是一个串并行移位寄存器,提供连接到数码管的段代码信号。
软件部分的一般程序流程图如图8所示。程序采用模块化设计,分成几个独立的子程序。首先是按键判断子程序,用矩阵按键的扫描方式编写程序。当一个键被按下时,相应的键值被存储在RAM中,主程序根据键值判断执行哪个程序。设置数据有两种,一种是设置P值为0 ~ 100%,对应帆板的角度,另一种是设置一个值为0 ~ 60。同样帆板的角度也会达到相应的设定值,然后进行数据显示和处理,再调整PI值进行风扇转速控制和输出。如果帆板的绝对值在5以内,红色LED会闪烁三次,蜂鸣器会响三次。否则,LED将不会亮起,蜂鸣器也不会鸣响。
中断是数据显示和按键检测、PWM数据处理和蜂鸣器输出的程序。如图9所示。
T1中断是正交编码器的信号检测和处理程序,如图10所示。
T2中断产生PWM,脉冲宽度被调整。如图11所示。
5系统调试及测试结果(1)用手转动帆板,可以显示帆板的角度程度。角度范围为0 ~ 60,分辨率为1,被测系统误差值为0。(2)当距离d=7 ~ 15 cm时,通过操作键盘控制风力,帆板角度控制在0 ~ 60。要求控制过程应在5 s内完成,并实时显示,有声光提示。
结论经过测试,系统性能满足设计要求,帆板角度控制属于自动控制范畴。设计了由槽形光耦和360线光栅组成的传感器,可以精确定位角度,是一种很好的角度控制传感器。然后,利用PID算法控制PWM参数,从而控制风扇的转速。
标签:角度帆板图