全国大学生电子竞赛帆板控制系统F题设计论文初稿防灾科解读.docx
《全国大学生电子竞赛帆板控制系统F题设计论文初稿防灾科解读.docx》由会员分享,可在线阅读,更多相关《全国大学生电子竞赛帆板控制系统F题设计论文初稿防灾科解读.docx(19页珍藏版)》请在冰点文库上搜索。
![全国大学生电子竞赛帆板控制系统F题设计论文初稿防灾科解读.docx](https://file1.bingdoc.com/fileroot1/2023-6/2/fd85b413-b1a6-449f-a616-136f2314a4f2/fd85b413-b1a6-449f-a616-136f2314a4f21.gif)
全国大学生电子竞赛帆板控制系统F题设计论文初稿防灾科解读
防灾科技学院
指导教师:
彭宏伟组员:
张云博、李孟霖、毕俊新
帆板控制系统(F题
摘要:
本设计采用STC89C52单片机作为帆板控制系统的核心,整个系统由帆板控制器、DC-DC降压电路、液晶显示电路、键盘输入电路、直流风扇驱动电路、角度测量电路、声光提示电路构成。
角度传感器MMA7361L将实时采集到的角度数据以模拟电压的形式传递给模数转换器,经单片机处理后显示在LCD12864液晶屏上,并可通过键盘设定风速和角度,利用PWM对风扇进行调速,实现帆板的姿态调整,当达到设定要求时可进行声光提示,并且加了入语音播报、风扇距离调节等人性化设计。
该系统具有测量准确、控制灵活的优点。
关键词:
STC89C52单片机,角度测量,PWM直流电机调速,DC-DC降压
目录
1.系统方案选择和论证......................................................................................51.1各模块方案选择和论证...........................................................................51.1.1控制器方案................................................................................51.1.2电源方案...................................................................................51.1.3风扇驱动方案.............................................................................61.1.4角度测量方案.............................................................................61.1.5数字显示方案.............................................................................71.1.6键盘模块设计方案......................................................................7
1.2系统各模块的最终方案...........................................................................8
2.系统的硬件设计与实现...................................................................................82.1系统硬件的基本组成部分........................................................................82.1.1电源电路...................................................................................92.1.2角度测量电路.............................................................................92.1.3风扇控制电路...........................................................................102.1.4单片机外围电路.......................................................................11
2.1.5声光提醒电路...........................................................................12
3.软件设计与算法分析....................................................................................133.1PWM电机调速算法................................................................................133.2角度测量算法......................................................................................143.3风扇控制算法分析与选择......................................................................15
3.4总体程序流程图...................................................................................16
4.系统测试.....................................................................................................184.1测试仪器.............................................................................................18
4.2测试数据与分析...................................................................................18
5.结论与总结................................................................................................18
参考文献..........................................................................................................19附录1主要元器件清单....................................................................................19附录2总体电路图..........................................................................................20
1.系统方案选择和论证
1.1各模块方案选择和论证
1.1.1控制器方案
根据题目要求,控制器主要用于对倾角传感器传回的数据进行处理,对于控制器的选择有以下三种方案。
方案一:
帆板控制系统采用传统的STC89C52单片机作为调节装置和风扇控制的核心。
STC89C52单片机具有价格低廉,使用简单和广泛性特点,并且运算速度,功能都能满足中端产品开发,另外还可以扩展外围模块。
使用STC系列单片机,该系列单片机是高集成单片机,功能和性能都要比51系列强大很多,而且内部集成了内置振荡器和复位,EEPROM、ADC、PWM、四态I/O接口。
方案二:
帆板控制系统采用以ARM为系统控制器采用32位RISC微处理器ARM实现调节装置和风扇控制功能的核心,能完成研究题目的要求,但是ARM不适合多线程操作,另外应用在系统中会使电路和软件设计变得复杂。
方案三:
帆板控制系统采用FPGA作为系统控制器核心,因为FPGA可以直接用硬件扫描、编码、解码、纠错,稳定性高、扩展性能好、体积小,可以提供丰富的逻辑单元和I/O资源。
具有很强的实时性和准确性。
可以实现各种灵活控制。
因此特别适合复杂逻辑电路设计,但FPGA的成本偏高。
方案比较结果:
虽然51单片机处理速度较低,相对于FPGA的性能,有一定的不足之处,但FPGA与单片机相比,价格较高,显得大材小用,性价比偏低,而51单片机足以满足帆板控制系统的设计需要。
1.1.2电源方案
由于电路中各模块需要18V,5V,3.3V三种电源进行供电,提出以下两种方案。
方案一:
采用电池组供电。
方案二:
自行设计直流降压电路。
电池组难以满足要求,这里我们选择由直流稳压源直接提供风扇所需的18V电源,并通过三端稳压芯片7805和1117-3.3实现降压并稳压的双重功能。
1.1.3风扇驱动方案
本设计中使用的风扇为台式计算机的散热风扇,其内部为一个直流电动机为了控制电机的转速,电机驱动模块是必不可少,其方案有一下两种。
方案一:
采用大功率晶体管组合电路构成驱动电路,这种方法结构简单,成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降,我们知道在实际的生产实践过程中可靠性是一个非常重要的方面。
因此,此中方案不宜采用。
方案二:
采用专用的电机驱动芯片,例如L298N、L297N等电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠行,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。
设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。
基于上述理论分析和实际情况,电机驱动模块选用方案二。
1.1.4角度测量方案
方案一:
采用光电编码器。
需在其轴上安装重锤才能进行倾角检测,且进行小角度测量时需要克服较大的静摩擦力,灵敏度低。
方案二:
使用高灵敏度电位器,将电位器的旋转轴固定在帆板的转轴上,当帆板转动时电位器的转轴也随之转动,此时测量电位器的电压变化即可得到近似线性的帆板角度变化。
方案三:
采用模拟式三轴加速传感器MMA7361L测量帆板转角变化,利用重力加速度对加速度传感器的影响来测量物体的角度。
最终经由ADC0804模数转换器将MMA7361L输出的模拟量角度转换为单片机可以处理的八位数字量,并进行角度计算。
方案一安装复杂且测量精度不高,方案二虽说可以实现角度的测量,但必须与帆板的转轴固定在一起,因此会对帆板的转动起到一定的阻碍,降低帆板的灵活性,案二不但弥补了方案一的缺点,同时灵敏度和分辨率更高,因此选择方案三。
1.1.5数字显示方案
在帆板控制系统中,系统需要对帆板转角、风速等级以及设定角度显示,因此在整个系统中必须设计一个显示模块,考虑有三种方案:
方案一:
使用七段数码管(LED显示。
数码管具有亮度高、工作电压低、功耗小、易于集成、驱动简单、耐冲击且性能稳定等特点,并且它可采用BCD编码显示数字,编程容易,硬件电路调试简单。
但由于在此次设计中需要设定的参数种类多,而且有些需要进行汉字和字符的显示,所以使用LED显示器不能完成设计任务,不宜采用。
方案二:
采用LCD1602液晶显示器,该显示器控制方法简单,功率低、硬件电路简单、可对字符进行显示,但考虑到LCD1602液晶显示器的屏幕小,不能显示汉字,因此对于需要显示大量参数的系统来说不宜采用。
方案三:
采用LCD12864液晶显示器,该显示器功率低,驱动方法和硬件连接电路较上面两种方案复杂,显示屏幕大、可对汉字和字符进行显示。
根据本次设计的设计要求,显示模块选用方案三。
1.1.6键盘模块设计方案
在帆板控制系统中,系统需要按键进行参数的输入、工作方式的设定,因此键盘在整个系统中是不可缺少的一部分,考虑有二种方案:
方案一:
采用独立式键盘,这种键盘硬件连接和软件实现简单,并且各按键相互独立,每个按键均有一端接地,另一端接到输入线上。
按键的工作状态不会影响其它按键上的输入状态。
但是由于独立式键盘每个按键需要占用一根输入口线,所以在按键数量较多时,I/O口浪费大,故此键盘只适用于按键较少或操作速度较高的场合。
方案二:
采用行列式键盘,这种键盘的特点是行线、列线分别接输入线、输出线。
按键设置在行、列线的交叉点上,利用这种矩阵结构只需m根行线和n根列线就可组成m×n个按键的键盘,因此矩阵式键盘适用于按键数量较多的场合。
但此种键盘的软件结构较为复杂。
根据上面两种方案的论述,由于本次设计的系统硬件只需要三个按键,,所以采用方案一独立键盘进行设计。
1.2系统各模块的最终方案
经过仔细分析和论证,决定了系统各模块的最终方案如下:
(1控制器方案:
采用STC89C52单片机控制。
(2电源方案:
三端稳压器7805、1117-3.3降压并稳压。
(3风扇驱动方案:
采用L298NH桥驱动电路。
(4角度测量方案:
由MMA7361三轴加速度传感器和ADC0804构成角度测量电路。
(5数字显示方案:
采用LCD12864液晶显示
(6键盘模块设计方案:
3个独立按键
此外,声光提示模块使用高亮度的LED和蜂鸣器,语音模块使用ISD1820语音播报模块。
单片机STC89C52主要用于控制风扇调速、角度传感器数据处理并与用户进行交互,实现了帆板角度计算、风力大小控制和帆板角度值设定并稳定角度、最终进行声光提示、语音播报等功能。
2.系统的硬件设计与实现
2.1系统硬件的基本组成部分
系统基本组成框图如图一所示:
图一帆板控制系统基本框图
2.1.1电源电路
电路中的的风扇需要18V的直流电源,单片机、液晶显示屏、模数转换器ADC0804、语音模块需要5V供电,而角度传感器需要3.3V供电,这里我们选择使用直流稳压电源提供风扇所需的18V电源并通过7805和1117-3.3实现降压并稳压,为以上器件提供所需的5V电源和3.3V电源。
图二为电源电路图。
并联二极管起到电路保护作用,三端稳压器两端的电容起到滤波作用,使输出电压更加平滑、稳定。
图二电源电路图
2.1.2角度测量电路
为了实现帆板倾斜角度的精确测量,设计中选用飞思卡尔MMA7361L三轴加速度传感器作为角度测量的核心器件,MMA7361L具有三路模拟量输出信号,Xout、Yout、Zout脚分别是X轴、Y轴和Z轴方向倾角的模拟电压输出脚,该设计仅测量一个方向的的倾角,因此仅需用ADC0804对一个输出脚的数据进行模数转换,将测得的数字量回传到单片机经过计算即可得到一个方向的倾斜角度
MMA7316L
外围电路如图三:
图三MMA7361L外围电路
模数转换电路如图四:
图四模数转换电路
2.1.3风扇控制电路
设计中风扇的转动由直流电机带动,所以要对风扇转速进行调整,就要对直流电机转速进行控制。
驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的I/O口不能直接驱动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里选用L298N电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的H桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电动机转速。
其中输出脚(SEN1和SENB用来连接电流检测电阻,Vss接逻辑控制的电源。
Vs为电机驱动电源。
IN1-IN4输入引脚为标准TTL逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入PWM信号实现电机调速。
这样单片机产生的PWM脉冲控制L298N的选通端,使电机在PWM脉冲的控制下正常运行,其中四个二极管对芯片起保护作用。
风扇的速度由PWM决定,PWM占空比0%-100%对应风扇转速0-MAX,图五为电机驱动电路原理图。
图五电机驱动电路原理图
2.1.4单片机外围电路
单片机外围电路由单片机最小系统、键盘输入、LCD12864液晶显示电路构成,原理图如图。
51系列单片机典型的最小系统由单片机、复位电路、外部震荡电路和电源构成。
根据设计要求要对帆板转角、风速等级和设定角度等状态进行显示,因此在电路中加入显示模块是非常必要的。
在系统运行过程中需要显示的数据比较多,而且需要汉字显示,在这里选用128×64液晶显示器比较适合。
图形显示共有20个引脚,其引脚名称及引脚编号的对应关系如图六,单片机外围电路整体电路图如图七。
图六128×64LCD引脚分布
图七单片机外围电路图
2.1.5声光提醒电路
声光提醒电路由发光二极管、蜂鸣器、ISD1820语音播报电路构成,当帆板稳定在在45°±5°范围内时,声光提醒功能即会触发。
蜂鸣器经三极管放大增强音量,发光二极管连接时需加限流电阻,以免亮度刺眼,或是电流过大影响使用寿命,语音报警电路采用ISD1820单片10s录音IC。
ISD1820是一个优秀单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。
一个最小录放系统仅有麦克风、一个喇叭、若干电阻电容组成。
录音内容存入永久储存单元、单一5V
供电。
语音提醒电路如图八。
图八ISD1820语音播报电路
U
tU=
0UU×=α03.软件设计与算法分析
系统的软件设计采用C语言,对单片机进行编程实现各项功能。
程序是在WINXP环境下采用KeiluVision3软件编写的,可以实现键盘扫描、液晶屏操作、倾角计算、PWM脉宽调制、语音提醒控制等功能。
3.1PWM电机调速算法
风扇所用的直流电动机具有优良的调速特性,调速平滑、方便,调速范围广,过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起动、制动和反转;能满足生产过程自动化系统各种不同的特殊运行要求,在许多需要调速或快速正反向的电力拖动系统领域中得到了广泛的应用。
直流电动机的转速调节主要有三种方法:
调节电枢供电的电压、减弱励磁磁通和改变电枢回路电阻。
随着科学技术的迅猛发展传统的模拟和数字电路已被大规模集成电路所取代,这就使得数字调制技术成为可能。
目前,在该领域中大部分应用的是数字脉宽调制技术。
电动机调速系统采用微机实现数字化控制,是电气传动发展的主要方向之一。
下面主要介绍直流电机PWM调速系统的算法实现。
根据PWM控制的基本原理可知,一段时间内加在惯性负载两端的PWM脉冲与相等时间内冲量相等的直流电加在负载上的电压等效,那么如果在短时间T内脉冲宽度为t0,幅值为U,由图九可求得此时间内脉冲的等效直流电压为
若令T
t=
αα
即为占空比,则上式可化为公式一:
(U为脉冲幅值(公式一
图九PWM单脉冲
UUtU
ntU×==α0若PWM脉冲为如图10所示周期性矩形脉冲,那么与此脉冲等效的直流电压的计算方法与上述相同,即
(α为矩形脉冲占空比(公式二
图10PWM脉冲
由公式二可知,要改变等效直流电压的大小,可以通过改变脉冲幅值U和占空比α来实现,因为在实际系统设计中脉冲幅值一般是恒定的,所以通常通过控制占空比α的大小实现等效直流电压在0~U之间任意调节,从而达到利用PWM控制技术实现对直流电机转速进行调节的目的。
3.2角度测量算法
本设计中选用的角度测量传感器为模拟输出型的三轴重力加速度传感器MMA7361L,使用时需要在单片机与角度传感器之间加装模数转换器ADC0804,实际测量中发现其输出的模拟电压值和传感器与平面之间的倾角并非完全的线性关系,因此在实际编程中我们选择对转折最大的四段分别通过算法处理,减小误差,算法如下:
if(adval>=107&&adval<125adval2=(char(0.83*(adval-107;
if(adval>=125&&adval<145
adval2=(char(1.00*(adval-125+15;
if(adval>=145&&adval<157
adval2=(char(1.25*(adval-145+35;
if(adval>=157&&adval<166
adval2=(char(1.71*(adval-157+50;
程序中adval为倾角传感器输出的结果经模数转换后得到的数字量结果,adval2为经算法处理后得到的角度值。
实际应用中使用算术平均值滤波法,取五次测量角度的平均值作为最终的结果输出,减小角度波动。
3.3风扇控制算法分析与选择
为了实现使帆板达到设定角度,并且稳定误差要小,我们考虑过用数字PID控制帆板角度稳定,对一般控制系统来说PID算法的稳定效果比较好,但参数整定需要经过多次调试才能确定,PID控制系统原理框图如图11。
由图11可知PID调节器是一种线性调节器,这种调节器是将设定值w与实际输出值y进行比较构成偏差,并将其比例、积分、微分通过线性组合构成控制量。
其动态方程为公式三。
图11模拟PID控制系统原理框图
dttdeKdtteKteKtud
ip
((((∫++=(公式三
其中Kp---为调节器的比例放大系数
Ki---为积分时间常数Kd---为微分时间常数
PID调节器的离散化表达式为公式四
]1(((((−−+
+=kekeTKkTeKkeKkuip