全国电子设计竞赛F题帆板控制系统设计报告.docx
《全国电子设计竞赛F题帆板控制系统设计报告.docx》由会员分享,可在线阅读,更多相关《全国电子设计竞赛F题帆板控制系统设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
全国电子设计竞赛F题帆板控制系统设计报告
帆板控制系统
【摘要】本设计以Cortex-M3为微处理器,配合高精度的旋转光电式编码器实现了帆板角度的控制和帆板旋转角度的实时显示功能。
微处理器控制风扇电机的PWM占空比,从而控制风扇的转速,由精密旋转光电式编码器检测帆板的旋转角度并通过正交编码技术反馈到微处理器,微处理器可以实时检测、显示帆板的旋转角度。
本设计不仅可以通过软件增量式PID算法实时调整帆板的旋转角度,同时也可以通过按键改变帆板旋转角度并可以稳定在误差范围允许范围内,从而达到自动控制功能。
【关键词】LM3S615旋转编码器PWMPID算法
一、方案论证与比较
1.1设计思想
题目要求设计一个简易帆板控制系统,我们采用Cortex-M3芯片为核心控制器件来实现简易帆板控制系统的轴流风扇调速、角度显示、角度调节等功能;角度检测通过增量式光电编码器(ZSP3806)实现并且给处理器提供角度信号;用PWM脉宽调制信号来控制MOS管(IRF530)驱动轴流风扇。
1.2控制器的选择
方案一选择以前经常用的AT89C51,其软件编程灵活自由度大,但AT89C51的程序烧写需要用专门的烧写器,用起来不方便,故放弃此方案。
方案二Cortex-M3是LuminaryMicro公司Stellaris所提供的高性能的32位的单片机,Cortex-M3内核主要是应用于低成本、小管脚数和低功耗的场合,并且具有极高的运算能力和极强的中断响应能力。
Cortex-M3的性价比高。
最关键的是Cortex-M3内部有3个PWM发生器模块1个控制模块,这样就简化了软件的编排。
综上所述我们采用方案二。
1.3显示模块的设计
显示模块是显示当前测量的角度以及设定角度等。
我们考虑以下两种方案:
方案一使用液晶显示。
液晶显示具有超薄轻巧,低耗电量,无辐射等优势。
但是其编程工作量加大,控制器的资源占用较多,而且在使用过程中不能有静电干扰,否则易烧坏芯片。
在此设计中使用液晶显示有些大材小用不合适。
方案二使用数码管显示。
数码管显示具有功耗低、电压低、寿命长、对外界环境要求低、易维护等优点,同时它是采用二进制编码显示数字,程序编译容易,占用资源少,操作简单、经济。
本次设计我们只显示一些简单的角度和设定值,因此采用方案二。
1.4键盘的接口设计
由于此次设计中涉及按键较少,而且按键之间没有相互的影响。
所以采用接
线简单方便的独立式按键,就完全可以。
1.5轴流风扇驱动电路设计
方案一采用L298驱动直流轴流风扇,该芯片是利用TTL电平进行控制,
对电机的操作方便。
相比较方案一采用L298少占用的空间且不容易产生信号干扰,但考虑到本设计中只吹动轴流风扇,不需要正反转,故此方案未免有点小题大做。
方案二由于本次设计中我们要驱动轴流风扇来吹起帆板,相当于要驱动直
流电机,较为简单。
所以我们采用IRF530MOS管来驱动,而且外围电路简单
容易实现对轴流风扇的控制,故选择此方案。
1.6角度检测电路设计
角度检测电路就是把角度信号转化成电信号。
可以考虑以下几种方案:
方案一利用精密电位器来检测角度。
通过A/D转化电路,就可以检测出角度。
这样的电路原理简单,容易理解,但硬件电路复杂。
方案二光电编码器作为角度测量装置,该装置体积小精度高,工作可靠,
我们选择ZSP3806增量式光电编码器。
增量式光电编码器是一种通过光电转换将输出轴上的几何位移量转换成脉冲个数的测量角度传感器。
它是由光栅盘和光电检测装置组成,光栅盘是在一定的圆盘板上等分地开通若干个长方形孔,当帆板转动时,光栅盘与电机同速旋转,光电检测装置检测输出若干脉冲信号,计算光电编码器输出脉冲的增减个数就能反映当前电机转动的角度。
光电编码器提供相位差90°的两路脉冲(A,B)信号,从而可以方便地判断出旋转方向。
故我们选择此方案。
其实物以及时序图如图1所示:
1.7电源模块
方案一采用+5V和+24两个电源供电。
将直流轴流风扇驱动电源与处理器以及其周电路电源完全隔离,利用三极管9013传输PWM信号。
这样可以使直流轴流风扇驱动所造成的干扰彻底消除,提高了系统的稳定性,故选择此方案。
方案二采用单一电源供电。
电源直接给直流轴流风扇供电,因直流轴流风扇启动瞬间电流较大,会造成电源电压波动,因而控制与检测等其他部分电路通过集成稳压块供电。
其供电电路比较简单,但干扰太大,不易提高精度,故不选择此方案。
二、硬件电路设计
3.1系统总体方案
在本设计中系统总体方案设计包括七大部分:
主处理器控制电路、轴流风扇控制电路、角度检测电路、显示电路、键盘电路、声光提示电路、电源模块。
电路系统框图如图2所示:
图2电路系统框图
2)主处理器控制电路
主控制电路主要实现对外部检测电路的信号采集,PWM脉冲信号的产生,以及信号的转换显示等功能。
通过按键可以控制PWM的占空比,调节风扇的转速,使得帆板角度可控。
电路原理图见附录1。
3)轴流风扇控制驱动电路
本电路我们采用IRF530MOS管来驱动,再在前级加一个三极管9013来作为保护。
然后用LM3S615的PB0口产生PWM信号,通过按键调节其占空比来调节轴流风扇的转速,从而实现风速的控制。
电路原理图如图2所示:
图3轴流风扇驱动电路原理图
4)角度检测电路
本电路检测角度采用ZSP3806光电式增编码器,它内部设置有精密的光栅,当中心轴转动时它就会产生相应的方波,把这一方波信号送入计数器进行计数就可以计算出相应的角度值。
电路原理图如图4所示:
图4角度检测电路
5)键盘电路
在帆板控制系统的设计中只用到了S1、S2、S3、S4、S5五个按键,比较少,所以我们用的是独立式按键,它每个按键接一个GPIO口,硬件电路和软件扫描程序简单。
按键电路图如图5所示:
图5键盘电路
6)显示电路
本电路我们采用六位LED数码管静态显示,用74LS164芯片驱动,电路原理图见附录1所示:
7)声光提示电路
本电路较为简单,利用了9013三极管来驱动5V的蜂鸣器,以及直接用处理器的GPIO口来驱动发光二极管。
电路原理图如图7所示:
图6声光提示电路
三、软件设计
1)程序功能描述
根据题目要求软件部分主要实现以下功能:
。
1、实时显示帆板角度值;
2、利用按键控制电机转速,调节帆板的变化角度;
3、利用按键设置角度,进行调节;
4、将设置与实测进行自动调节;
软件程序流程图如下图所示:
图7软件程序流程图
2)程序设计思路
将程序初始化后,按1键进入模式选择状态。
分别为moshi=1、moshi=2、moshi=3、moshi=4,实现四种不同的功能。
在moshi=1中,手动调节帆板角度,并实时显示;
在moshi=2中,通过按键调节风扇转速,从而使帆板在0~60°范围内变化。
按3键加速,4键减速。
在moshi=3中,通过按键控制风力使得帆板稳定在45°左右,使得误差不超过5°,并设定4键为启动风扇键。
在moshi=4中,通过按键设定角度,2键加,3键减。
启动风扇后若达不到设定值则进行自动调节,使其达到稳定状态。
3)PID算法
在自动调节状态中,我们采用PID算法实现自动调节。
因为在自动控制系统中,PID控制器是得到广泛应用的一种控制方法。
由于电机转速与电枢外加电压的大小基本上成正比,这就构成了PID调节的基础。
在采样时刻t=i×T(T为采样周期,i为正整数),模拟PID控制器调节规律的数学模型可以用微分方程来表示:
u(t)=Kp[e(t)+
+
*
]。
结构框图如图8所示:
图8PID算法模块的程序流程图
4)光电式编码器检测角度
本设计中,我们采用光电式编码器来检测角度,它的检测方法如下所述:
由于编码器有相位相差90°的两路脉冲信号(A,B),当计算开始时设置A、B信号所对应的I/O口为上、下沿触发中断。
设置计数器Count并清零,设置A、B当前状态标志为ModenA、B前一个状态标志(历史状态标志为Modeo,采样A、B的状态,使Moden=Moden=当前状态。
A、B当前的状态可能为:
00B,01B,11B,10B(二进制数),用二进制表示为0x00,0x01,0x03,0x02。
然后进行正反向计数,即当A、B的边沿中断到来时,采样A、B状态并把采样状态送给当前状态标志Moden,然后判断Moden的状态,正向转动时,状态量加,反向转动时状态量减。
四、测试方法与数据
4.1测试方案
1)硬件测试
1、硬件调试时,可先检查印制板及焊接的质量是否符合要求,有无虚焊点及线路间有无短路、断路。
然后用万用表检测,检查无误后,可通电检查数码管以及键盘电路的好坏。
2、轴流风扇控制驱动电路的测试,用数字示波器检测PWM信号是否正常,占空比是否可调,是否和轴流风扇转速相对应。
3、角度检测电路的测试,当转动光电编码器时,用数字示波器检测其输出是否有方波脉冲。
2)软件测试
软件调试是在Keil编译器下进行,源程序编译及仿真调试应分段或以子程序为单位逐个进行,最后结合硬件实时调试。
子程序调试包括:
PWM脉宽调制子程序,角度检测子程序,显示电路子程序,键扫描子程序等。
4.2测试条件与仪器
1)测试条件:
检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
2)测试仪器:
数字示波器(DS1102E),数字万用表,量角器。
4.3测试结果与分析
4.3.1测试结果(数据)
表1手动帆板
实际角度
10
20
30
35
55
显示角度
9.8
19.4
28
34.2
55.1
误差
0.2
0.6
2
0.8
0.1
单位:
X°
表2d=10cm
设置角度
15
20
25
30
35
显示角度
20
23.4
22
27
36.8
调节时间
3.01s
2.52s
3.12s
3.57s
3.76s
单位:
X°
表3d=12cm
设置角度
37
43
45
15
25
显示角度
38.2
47.8
42
17.1
24.5
调节时间
3.5s
4.18s
3.7s
4.52s
3.88s
单位:
X°
4.3.2测试分析与结果
根据上述测试数据,在手动调节中显示非常精确,但在自动调节中角度调节误差相对比较大,由此可以得出以下结论:
在角度设置比较小时,达到设定值的调节时间相对较长,因为角度设置较小时,为保证风扇转动,需占空比较大。
五、结论
此设计采用光电编码器对帆板的角度进行检测,结合M3编程,经过对系统各电路和实际运行的测试,完成了设计要求。
在系统的设计过程中力求测量精度高,稳定可靠。
因为时间有限,该系统还有一些改进的地方,如调整时间可以缩短等。
参考文献
1李全利.单片机原理及应用.北京:
高等教育出版社,2009年1月
2全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品汇编.北京:
北京理工大学出版社,2004年8月
3刘振庭,懂蕴华.模拟电子技术.北京:
机械工业出版社,2006年7月
4韩党群,杨勇.电子工程师项目式教学与训练.西安:
西安电子科技大学出版社,2010年2月
附录1:
核心板电路原理图
附录2:
显示电路原理图
附录3:
源程序