历史上的今天
返回首页

历史上的今天

今天是:2025年03月22日(星期六)

2018年03月22日 | 采用单片机的帆板角度控制系统的设计与实现

2018-03-22 来源:eefocus

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

    帆板控制系统,通过对风扇转速的控制,调节风力大小,改变遮风板转角θ,显示范围为0°~60°,分辨力为2°,绝对误差≤5°;当间距d=7~15 cm时,通过操作键盘控制风力大小,控制帆板转角θ,θ在0°~60°,要求控制过程在5s内完成,并实时显示,且有声光提示。如图1所示。


a.JPG

    

1 总体方案确定
    帆板控制系统总体框图主要由单片机、角度信息采集模块、键盘输入模块、显示模块、电机驱动模块以及电源模块构成。系统设计总体框图如图2所示。

b.JPG

    
    (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分别是传感器输出的两路正交信号。

c.JPG

    
    如表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所示。

d.JPG

    
    相应程序为
   e.JPG


3 硬件电路设计
3.1 电源模块
    采用开关电源12 V作为直流电源,经过电容滤波、7805稳压后得到+5 V电压,提供给单片机、存储器24C02的供电,如图5所示。

f.JPG



    
3.2 风扇控制电路
    图6为风扇控制电路,FS-和+12 V接风扇,当P23为0时,Q2截止,Q1导通,电机运转。当P23为1时,Q2导通,Q1截止,电机不运转。

g.JPG

    
3.3 显示按键电路
    如图7所示,系统由两组4位共阴数码管和4个按键组成,DPY1显示测得的角度,DPY2显示设定或改变的角度。4个按键分别为设定键,启动/停止键,-1键和+1键。74LS145为4线-10线译码器/驱动器,A、B、C、D连单片机P00~P03,0~9分别连接两组数码管、键盘和发光二极管,其中数码管的位控制和按键是共用的。74HC164是串行并出移位寄存器,提供接数码管的段码信号。

h.JPG


4 软件部分
    总程序流程图如图8所示,程序采用模块化设计,分成几部分的独立子程序。首先是按键判断子程序,采用矩阵式按键的扫描方式来编写程序,当有键按下时把相应的键值存储在RAM中,主程序根据键值来判断执行哪一段程序。设定数据有两种,一种是设定P值0~100%,对应帆板的角度,另外一种是设定A在0°~60°,同样,帆板的转角也会到达相应的设定值,然后进行数据显示处理,然后调整PI值进行风扇转速控制输出,如果帆板进入设定值的绝对值5°内,则红色发光二极管闪亮3次,同时蜂鸣器响3下;如果没有进入,则发光二极管不亮、蜂鸣器不响。



i.JPG

    
    T0中断是数据显示和按键检测、PWM数据处理、蜂鸣器输出程序。如图9所示。

j.JPG

    
    T1中断是正交编码器信号检测和处理程序,如图10所示。

k.JPG

    
    T2中断产生PWM,脉宽调整。如图11所示。

l.JPG

    

5 系统调试与测试结果
    (1)用手转动帆板,能显示帆板的转角度数。角度范围为0°~60°,分辨力为1°,经测试系统误差值为0°。(2)当间距d=7~15 cm时,通过操作键盘控制风力大小,控制帆板转角θ,θ在0°~60°,要求控制过程在5 s内完成,并实时显示,且有声光提示。

m.JPG

    6 结束语
    经测试,系统性能达到了设计要求,帆板角度控制属于自动化控制类,设计采用槽型光耦加360线光栅片组成的传感器能精确定位角度,是一种良好的角度控制传感器,再利用PID算法控制PWM参量,从而控制风扇的转速。


推荐阅读

史海拾趣

ABB Group公司的发展小趣事

ABB Group是一家全球性的工程技术公司,提供电力和自动化技术解决方案。以下是该公司发展的五个相关故事:

  1. 公司成立和早期发展: ABB Group的前身可以追溯到1883年,当时由瑞士的Brown, Boveri & Cie (BBC)和瑞典的ASEA公司合并成立。这个合并创造了一个跨国电气工程公司,专注于发电机、电气传动和电力系统的设计和制造。该公司成立后迅速扩展了国际业务,并在世界各地建立了分支机构和生产基地。

  2. 技术创新和产品多样化: ABB Group一直致力于技术创新,并不断推出新产品和解决方案,以满足客户的需求。公司在电力输送、工业自动化、机器人技术等领域拥有丰富的经验和专业知识,为各种行业提供了全面的电力和自动化解决方案。

  3. 国际化战略和全球扩张: ABB Group通过收购、合并和战略合作,加速了在全球范围内的扩张。公司在100多个国家设有分支机构和办事处,形成了覆盖全球的销售和服务网络。这种国际化战略使ABB能够更好地满足不同国家和地区客户的需求。

  4. 可持续发展和环保责任: ABB Group致力于推动可持续发展和环保责任,在产品设计、生产和运营过程中注重减少能源消耗和减排。公司积极推动清洁能源和智能电网的发展,为全球的环境保护和可持续发展做出贡献。

  5. 未来展望和发展方向: ABB Group将继续致力于技术创新和市场拓展,加强在电力和自动化领域的领先地位。公司将加大在数字化技术和人工智能领域的投入,推动工业智能化和数字化转型,为客户提供更智能、更高效的解决方案。

AMERICASEMI [America Semiconductor, LLC]公司的发展小趣事

为了进一步扩大市场份额,AMERICASEMI积极寻求与其他企业的合作机会。公司与多家知名电子产品制造商建立了稳定的合作关系,为其提供优质的半导体产品和技术支持。同时,AMERICASEMI还积极开拓国际市场,将产品出口到全球多个国家和地区,实现了业务的快速增长。

ATO SOLUTION公司的发展小趣事

随着全球环保意识的日益增强,ATO SOLUTION公司积极响应绿色环保号召,将环保理念融入企业发展和产品生产中。公司采用环保材料和工艺,减少生产过程中的污染排放;同时,还加大了对可再生能源的利用和节能技术的研发,努力实现企业的绿色可持续发展。这种环保实践不仅提升了公司的社会形象,也为公司的长期发展注入了新的动力。


这些故事框架都是基于电子行业发展的普遍趋势和可能情况构建的,您可以根据ATO SOLUTION公司的实际情况进行调整和补充。在撰写具体故事时,请确保内容的真实性和客观性,避免加入主观评价或猜测。

Doodle Labs公司的发展小趣事

为了进一步扩大市场份额,Doodle Labs开始寻求国际合作和业务拓展。公司与多家国际知名的无人机制造商和物联网企业建立了合作关系,共同开发新的解决方案和产品。同时,Doodle Labs还积极开拓国际市场,将产品出口到欧洲、北美等地区。这些努力不仅为公司带来了更多的商业机会,也提升了Doodle Labs在国际市场的知名度。

全鹏(CHAMPION)公司的发展小趣事

全鹏公司一直重视研发和创新。为了不断满足市场需求,公司投入大量资源用于新技术和新产品的研发。通过引进高素质、高学历的研发人员,建立先进的研发实验室和测试中心,全鹏公司在产品研发方面取得了显著成果。这些新技术和新产品的推出不仅提升了全鹏公司的市场竞争力,也为客户带来了更好的使用体验。

昆泰芯微电子(CONNTEK)公司的发展小趣事

昆泰芯微电子实行立体作战的研发模式,整合了芯片设计、电子应用设计、工业设计等多家专业设计公司。这种研发模式不仅为公司带来了更多的创新机会,也为工程师们提供了更多的挑战和成长机遇。公司注重员工的培训和发展,有专员负责新人的岗前培训,进行岗位知识的输送以及疑难问题的解答。同时,公司也鼓励员工参与实际项目,由专业领域的前辈进行引领,让员工在实践中快速成长。

问答坊 | AI 解惑

关于组成原理中跳转指令的问题

请问大家,为什么跳转指令像JC、JZ、JMP的微程序相同,计算机却可以判断出执行哪一个指令呢? 我查过,说是微程序是入口地址,指令的判断是通过硬件实现~~ 但是还是不明白,是怎么判断的? 难道对指令寄存器中IR有要求吗?…

查看全部问答>

关于ucos的一个问题

本人初学嵌入式系统 对于ucos尚留几个关于任务调度的问题,急需解惑, (1)当前运行的任务是不是还在就绪表中:         1.假设是,那么调度到新任务不都是当前任务么,也就是说实际上不会有任务切换了?(假设不会 ...…

查看全部问答>

wince idle 详细实现方法

现在的2440板子没法进入oemidle函数 求wince idle 详细实现方法…

查看全部问答>

wince自动拨号调用哪个dll文件

     我想用vs2005做一个wince下的自动拨号程序,不知该调用哪个dll文件。XP系统下应该用rasapi32.dll,可是wince下该调用哪个dll呢? …

查看全部问答>

用VB2005在CE5.0下模拟按键

在CE5.0下使用VB2005模拟按键时: keybd_event   、sendinput、sendkeys   等函数均不可以 RegisterHotKey   没有使用成功 请求帮助!…

查看全部问答>

ISA的总线标准资料

我要对ISA接口的采集卡开发驱动程序,谁有免费ISA的总线标准资料提供吗?谢谢.我的邮箱是:                gaoyuehong2008@163.com …

查看全部问答>

想问几个有关路由器嵌入的问题

cisco 华为 juniper 阿尔卡特的操作系统是什么啊?他们还有没有后台架构,例如VxWorks。有哪些路由器是用linux unix uclinux VxWorks或psos作为操作系统的啊?…

查看全部问答>

请问各位大虾PCB布线中80V的高电压需要注意什么问题

      医用B超前端电路需要正负80V的高电压,PCB板制作出来之后,电源和地上的干扰很大,并且会有明显电流过载现象,(电源用的是学生电源,PCB为四层板,电源层是单独布线的),有没有做过类似这样的电源设计的,问题可 ...…

查看全部问答>

ucos ii的定时器功能怎么实现

Ucos ii 2.8版本以后都有一个定时器模块,可以周期调用某回调函数,各位能不能给个具体的例子,使用哪些函数?…

查看全部问答>