基于C8051F020单片机的PID控制系统设计论文

上传人:l**** 文档编号:149037822 上传时间:2020-10-23 格式:DOC 页数:24 大小:224KB
返回 下载 相关 举报
基于C8051F020单片机的PID控制系统设计论文_第1页
第1页 / 共24页
基于C8051F020单片机的PID控制系统设计论文_第2页
第2页 / 共24页
基于C8051F020单片机的PID控制系统设计论文_第3页
第3页 / 共24页
基于C8051F020单片机的PID控制系统设计论文_第4页
第4页 / 共24页
基于C8051F020单片机的PID控制系统设计论文_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于C8051F020单片机的PID控制系统设计论文》由会员分享,可在线阅读,更多相关《基于C8051F020单片机的PID控制系统设计论文(24页珍藏版)》请在金锄头文库上搜索。

1、 . . . 帆板控制系统 摘 要:设计并制作了帆板控制系统,完成了风扇转速、风力大小及帆板转角的控制。帆板控制系统主要由硬件和软件两部分组成。硬件部分,搭建了控制装置平台,以C8051F020单片机作为控制核心,使用L298N搭建了风扇转速控制电路,利用ADXL345模块完成了转角检测,利用HD7279A键盘管理芯片及12864液晶模块完成了人机交互,使用WT588D-16P语音模块实现了语音提示功能。软件部分,设计了基于I2C的角度传输程序,基于PID算法的PWM调速的程序,基于SPI的键盘检测程序,液晶显示及其菜单程序,语音单线串口控制程序。测试结果表明,系统在手动状态下能较好完成规定动

2、作,在自动状态下能在规定时间,顺利完成转角控制,分辨力小于为2,绝对误差5。关键词:C8051F020 PWM PID 角度传感器 . . . . 目 录1 总体设计21.1 设计要求21.2方案论证与比较21.3系统组成52 软件设计112.1转角传感器的数据处理及计算112.2 PWM产生122.3 PID运算132.4液晶显示驱动的程序设计142.5 系统总体流程图143 系统测试153.1 测试使用的仪器153.2 指标测试和测试结果153.2.1基本要求部分测试153.2.2 发挥部分测试164. 结束语17参考文献:18附 录:19帆板控制系统设计1 总体设计1.1 设计要求(1)

3、用手转动帆板时,能够数字显示帆板的转角。显示围为060,分辨力为2,绝对误差5。(2)当间距d=10cm 时,通过操作键盘控制风力大小,使帆板转角能够在060围变化,并实时显示。(3)当间距d=10cm 时,通过操作键盘控制风力大小,使帆板转角稳定在 455围。控制过程在10 秒完成实时显示,并由声光提示。(4)当间距d=10cm 时,通过键盘设定帆板转角,其围为060。在5 秒达到设定值,并实时显示。最大误差的绝对值不超过5。(5)间距d 在715cm 围任意选择,通过键盘设定帆板转角,围为060。要求在5 秒达到设定值,并实时显示。最大误差的绝对值不超过5。1.2方案论证与比较帆板控制系统

4、设计中的核心是帆板转角的测量以及风扇电机的转速控制,关键部分是单片机性能、键盘输入及显示部分。为了使系统功能更完善,可以增加语音提示及其超声测距功能。1、转角测量的设计方案方案一:霍尼韦尔HMC5883L是一种表面贴装的高集成三轴磁阻传感器模块,应用了各向异性磁阻(AMR)技术,带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域。罗盘精度控制在 12的 12 位模数转换器,带有简易的I2C系列总线接口。 方案二:ADXL345数字加速度计。ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位), 其高分辨率(3.9mg/LSB),能够测量不到1.0的倾斜角度变化测。既能

5、测量运动或冲击导致的动态加速度,也能测量静止加速度,例如重力加速度,使得器件可作为倾斜传感器使用,带有简易的I2C系列总线接口。方案三:在帆板底部固定一支激光笔,底板上固定一排(大于30个)接收管(60度,分辨力2),预先测量出帆板转轴与底板距离。帆板每转过一个角度,激光照射到某个接收管,根据接收管的地址编号可以根据已有数据得到x长度,从而计算出转角大小。例如照射到x1处和x2处的接收管时,角度分别是、,其中,示意图如图1.1所示。图1.1 激光笔转角示意图综上所述,方案一中,HMC5883L其磁阻传感器在磁场存在的情况下,随着磁场在感应方向上不断增强,电压也会正向增长,适宜在水平面上测量转角

6、;方案三中,采用激光接收装置检测角度,接收管需要多个且分辨力较低,误差较大;方案二中,ADXL345 模块分辨力较高,其I2C串行接口适宜和控制器连接,故采用ADXL345作为转角检测传感器。2、微控制器的选择方案一:采用传统的8051单片机作为控制器,8051单片机具有价格低廉、使用简单等特点,但是其存储容量、定时器资源较少,运算速度较低。方案二:是用宏晶STC单片机,系列产品较多,具有与MCS-51核及指令集完全兼容的微控制器,定时器、串口等资源丰富,但一般没有专用的在线仿真器,增加了程序调试难度。方案三:采用新华龙C8051F020作为控制器,具有与MCS-51核及指令集完全兼容的微控制

7、器,片集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。56个I/O引脚,部带有4K字节部数据RAM, Flash存储器达64K字节,带有5个定时器,多个PWM控制器,采用流水线指令结构提高了运算速度。可以在线进行仿真调试。综上所述,从设备运行速度、片资源、仿真调试性能等方面比较,本设计选择方案三使用C8051F单片机为整个系统控制的核心。3、风扇的选择方案一:风扇选用台式计算机散热风扇,供电电源DC12V,转速较高,但风压较小;方案二:直流供电轴流风扇,转速高,风压大,但出风口面积较小,使得帆板波动性较大;方案三:选用额定电流1.05A,尺寸较大的工控机专用直流风扇,出风面积

8、大,低转速性能较好。通过测试比较三种方案,选择第三种方案。4、电机驱动模块的选择方案一: 采用大功率三极管控制,电路简单稳定性强。但是大功率三极管的压降很大,风扇电机较难达到额定转速。方案二:采用继电器控制,使用继电器控制直流电机的通断实现转速或转角控制,开关频率较低,控制不灵敏;方案三:采用L298 驱动直流电机。L298N 是一种高电压、大电流电机驱动芯片。含两个 H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端, 使部逻辑电路部分在低电

9、压下工作; 可以外接检测电阻,将变化量反馈给控制电路,其输入控制信号频率可达40kHz,输出电流可达2.5A。该芯片可以驱动一台两相步进电机,也可以驱动两台直流电机。 比较这三个方案,设计中了选择方案三,以L298芯片为基础搭建了电机驱动电路。5、调速的设计方案论证与选择针对L298芯片的特性,适宜采用PWM调速。PWM常用于中小功率系统,它采用脉冲宽度调制技术,其工作原理是:通过改变“连接脉冲”的宽度,使直流电机电枢上的电压的“占空比”改变,从而改变电枢电压的平均值,控制电机的转速,具有高的定位速度和精度;低速性能好稳速精度高,调速围宽,抗干扰能力强等特点。6、键盘模块的设计方案论证与选择方

10、案一:矩阵式键盘。矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。矩阵键盘工作原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。矩阵式键盘工作时通常采用查询方式,增加了MCU的负担。方案二:独立式按键。独立式按键是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。其电路配置灵活,软件结构简单。但是每个按键需占用一根I

11、/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。方案三:采用专用键盘管理芯片HD7279A,该芯片可以管理64个按键,采用SPI串行控制协议,但有按键按下时便触发中断,并向MCU发送键码。综上所述,选择方案三,智能键盘控制芯片HD7279管理16个按键,实现命令设置、菜单切换及数值录入。7、显示方式选择方案一:采用LED数码管显示。使用多个数码管动态显示,由于显示的容较多,过多增加数码管个数显然不可行,进行轮流显示则控制复杂,加上数码管需要较多连线,使得电路复杂,功耗比较大。方案二:采用字符型LCD显示。可以显示英文及数字,利用FPGA来驱动液晶显示模块,设计简单,且界面美观舒适

12、,耗电小。综上所述,选择方案二采用LCD实时显示帆板角度值、进行多级菜单操作等功能。1.3系统组成经过方案比较与论证,最终确定的系统组成框图,如图1.2所示。图1.2 系统组成框图2 软件设计软件设计的关键是进行转角测量、PWM频率及占空比调整、PID算法实现及菜单显示。软件实现的功能是:转角传感器的数据处理及计算;PWM产生;PID运算;128*64LCD驱动; 2.1转角传感器的数据处理及计算单片机通过P36(时钟引脚)和P37(数据引脚)实现与ADXL345的I2C串行通信。主要包括基本动作:启动控制、停止控制、应答、单字节发送和读取、多字节发送和读取,ADXL345的初始化(测量围设定

13、、转换速率设定、电源模式选择、X 、Y、Z偏移量的状态测试),角度计算与转换。数据转换完成后,单片机获取X轴和Z轴16位的分量值,进行数据合成得到ADXL345_dis_data_X和ADXL345_dis_data_Z参量,再根据反正切函数将结果转换为角度angle。temp_X=(float)ADXL345_dis_data_X*3.9; temp_Z=(float)ADXL345_dis_data_Z*3.9; angle= atan2(temp_Z,temp_X) * (180 / 3.14159265); 2.2 PWM产生可编程计数器阵列(PCA0)提供增强的定时器功能,与标准80

14、51计数器/定时器相比,它需要较少的CPU干预。PCA0包含5个16位捕捉/比较模块。每个捕捉/比较模块可以被编程为独立工作在下面的6种工作方式之一:边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM或16位PWM。8位PWM可以得到更大围的频率调整围但调整不够细腻,16位PWM可以得到较细腻的调节效果,但是设计中,最小的周期为3ms,致使频率可调围较小。设计中采用了8位PWM调速方式。每个模块都可以独立地用于在对应的CEXn引脚产生脉宽调制(PWM)输出。PWM输出信号的频率取决于PCA0计数器/定时器的时基。使用模块的捕捉/比较寄存器PCA0CPLn改变PWM输出信号的占空比。设计中,低电位是风扇导通,故占空比为占空比 =1 (3-1)由3-1式可知, 最大占空比为99.61% (PCA0CPHn = 0xFF) , 最小占空比为0 % (PCA0CPHn = 0)。PCA 的8位PWM方式原理框图如图图3.1所示。图3.1 PCA 的8位PWM方式原理框图程序设置主要包括初始化PCA0CN = 0x00; / 停止计数,清标志位 PCA0MD = 0x02; / 使用系统时钟作为时基 PCA0CPM0 = 0x42; / 设置8位PWM模式 PCA0CPH0 = 256 128; / 设置8位PWM占空比初值 PCA0CPM0 |= 0x40; / 启动

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号