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