帆板控制系统
摘 要:设计并制作了帆板控制系统,完成了风扇转速、风力大小及帆板转角的控制。帆板控制系统主要由硬件和软件两部分组成。硬件部分,搭建了控制装置平台,以C8051F020单片机作为控制核心,使用L298N搭建了风扇转速控制电路,利用ADXL345模块完成了转角检测,利用HD7279A键盘管理芯片及12864液晶模块完成了人机交互,使用WT588D-16P语音模块实现了语音提示功能。软件部分,设计了基于I2C的角度传输程序,基于PID算法的PWM调速的程序,基于SPI的键盘检测程序,液晶显示及其菜单程序,语音单线串口控制程序。
测试结果表明,系统在手动状态下能较好完成规定动作,在自动状态下能在规定时间内,顺利完成转角控制,分辨力小于为2°,绝对误差≤5°。
关键词:C8051F020 PWM PID 角度传感器
目 录
1 总体设计 ................................................................................................................1 1.1 设计要求 ..........................................................................................................1 1.2方案论证与比较 ...............................................................................................2 1.3系统组成 ...........................................................................................................5 2 软件设计 ................................................................................................................6 2.1转角传感器的数据处理及计算 .......................................................................6 2.2 PWM产生 ........................................................................................................6 2.3 PID运算 ..........................................................................................................7 2.4液晶显示驱动的程序设计 ...............................................................................8 2.5 系统总体流程图 ..............................................................................................8 3 系统测试 ................................................................................................................9 3.1 测试使用的仪器 ...........................................................................................10 3.2 指标测试和测试结果 ...................................................................................10 3.2.1基本要求部分测试 ......................................................................................10 3.2.2 发挥部分测试 ............................................................................................. 11 4. 结束语 ..................................................................................................................... 11 参考文献: ..................................................................................................................12 附 录: ...........................................................................................................................13
帆板控制系统设计
1 总体设计
1.1 设计要求
(1)用手转动帆板时,能够数字显示帆板的转角θ。显示范围为0~60°,分辨力为2°,绝对误差≤5°。
1
(2)当间距d=10cm 时,通过操作键盘控制风力大小,使帆板转角θ能够在0~60°范围内变化,并实时显示θ。
(3)当间距d=10cm 时,通过操作键盘控制风力大小,使帆板转角θ稳定在 45°±5°范围内。控制过程在10 秒内完成实时显示θ,并由声光提示。
(4)当间距d=10cm 时,通过键盘设定帆板转角,其范围为0~60°。θ在5 秒内达到设定值,并实时显示θ。最大误差的绝对值不超过5°。
(5)间距d 在7~15cm 范围内任意选择,通过键盘设定帆板转角,范围为0~60°。要求θ在5 秒内达到设定值,并实时显示θ。最大误差的绝对值不超过5°。
1.2方案论证与比较
帆板控制系统设计中的核心是帆板转角的测量以及风扇电机的转速控制,关键部分是单片机性能、键盘输入及显示部分。为了使系统功能更完善,可以增加语音提示及其超声测距功能。 1、转角测量的设计方案
方案一:霍尼韦尔HMC5883L是一种表面贴装的高集成三轴磁阻传感器模块,应用了各向异性磁阻(AMR)技术,带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域。罗盘精度控制在 1°~2°的 12 位模数转换器,带有简易的I2C系列总线接口。
方案二:ADXL345数字加速度计。ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位), 其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化测。既能测量运动或冲击导致的动态加速度,也能测量静止加速度,例如重力加速度,使得器件可作为倾斜传感器使用,带有简易的I2C系列总线接口。
方案三:在帆板底部固定一支激光笔,底板上固定一排(大于30个)接收管(60度,分辨力2°),预先测量出帆板转轴与底板距离。帆板每转过一个角度,激光照射到某个接收管,根据接收管的地址编号可以根据已有数据得到x长度,从而计算出转角大小。例如照射到x1处和x2处的接收管时,角度分别是α、β,其中??arccot示意图如图1.1所示。
2
x1,y1 y
y1 αβxx1x2
图1.1 激光笔转角示意图
综上所述,方案一中,HMC5883L其磁阻传感器在磁场存在的情况下,随着磁场在感应方向上不断增强,电压也会正向增长,适宜在水平面上测量转角;方案三中,采用激光接收装置检测角度,接收管需要多个且分辨力较低,误差较大;方案二中,ADXL345 模块分辨力较高,其I2C串行接口适宜和控制器连接,故采用ADXL345作为转角检测传感器。 2、微控制器的选择
方案一:采用传统的8051单片机作为控制器,8051单片机具有价格低廉、使用简单等特点,但是其存储容量、定时器资源较少,运算速度较低。
方案二:是用宏晶STC单片机,系列产品较多,具有与MCS-51内核及指令集完全兼容的微控制器,定时器、串口等资源丰富,但一般没有专用的在线仿真器,增加了程序调试难度。
方案三:采用新华龙C8051F020作为控制器,具有与MCS-51内核及指令集完全兼容的微控制器,片内集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。56个I/O引脚,内部带有4K字节内部数据RAM, Flash存储器达64K字节,带有5个定时器,多个PWM控制器,采用流水线指令结构提高了运算速度。可以在线进行仿真调试。
综上所述,从设备运行速度、片内资源、仿真调试性能等方面比较,本设计选择方案三使用C8051F单片机为整个系统控制的核心。 3、风扇的选择
方案一:风扇选用台式计算机散热风扇,供电电源DC12V,转速较高,但风压较小;
方案二:直流供电轴流风扇,转速高,风压大,但出风口面积较小,使得帆板波动
3
性较大;
方案三:选用额定电流1.05A,尺寸较大的工控机专用直流风扇,出风面积大,低转速性能较好。通过测试比较三种方案,选择第三种方案。 4、电机驱动模块的选择
方案一: 采用大功率三极管控制,电路简单稳定性强。但是大功率三极管的压降很大,风扇电机较难达到额定转速。
方案二:采用继电器控制,使用继电器控制直流电机的通断实现转速或转角控制,开关频率较低,控制不灵敏;
方案三:采用L298 驱动直流电机。L298N 是一种高电压、大电流电机驱动芯片。内含两个 H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端, 使内部逻辑电路部分在低电压下工作; 可以外接检测电阻,将变化量反馈给控制电路,其输入控制信号频率可达40kHz,输出电流可达2.5A。该芯片可以驱动一台两相步进电机,也可以驱动两台直流电机。
比较这三个方案,设计中了选择方案三,以L298芯片为基础搭建了电机驱动电路。 5、调速的设计方案论证与选择
针对L298芯片的特性,适宜采用PWM调速。PWM常用于中小功率系统,它采用脉冲宽度调制技术,其工作原理是:通过改变“连接脉冲”的宽度,使直流电机电枢上的电压的“占空比”改变,从而改变电枢电压的平均值,控制电机的转速,具有高的定位速度和精度;低速性能好稳速精度高,调速范围宽,抗干扰能力强等特点。 6、键盘模块的设计方案论证与选择
方案一:矩阵式键盘。矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。矩阵键盘工作原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。矩阵式键盘工作时通常采用查询方式,增加了MCU的负担。
方案二:独立式按键。独立式按键是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过
4