采用单片机的帆板角度控制系统的设计与实现

控制/MCU

1799人已加入

描述

系统采用单片机(STC89C54RD)作为主要控制器件,采用HEDS9701槽型光耦加360线光栅片组成的编码器获取帆板的角度信息,由单片机实时采集编码器的正交信号,从而获得实际角度。根据实际角度和目标角度数值,通过PID算法获得控制参量,调整PWM的参数,从而控制风扇转速,实现对帆板的角度修正和动态控制。

帆板控制系统,通过对风扇转速的控制,调节风力大小,改变遮风板转角θ,显示范围为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参量,从而控制风扇的转速。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分