单片机自动控制升降旗系统设计.docx
《单片机自动控制升降旗系统设计.docx》由会员分享,可在线阅读,更多相关《单片机自动控制升降旗系统设计.docx(19页珍藏版)》请在冰豆网上搜索。
![单片机自动控制升降旗系统设计.docx](https://file1.bdocx.com/fileroot1/2023-1/2/95b9496b-7c01-4d48-adb5-2d8f5874c924/95b9496b-7c01-4d48-adb5-2d8f5874c9241.gif)
单片机自动控制升降旗系统设计
设计任务........................................................2
摘要.............................................................4
第1节系统方案论证与比较..................................5
1.1设计思路...............................................5
1.2方案选择与论证.........................................5
1.2.1、电机的选择与论证.....................................5
1.2.2、电机驱动方案的选择与论证.............................5
1.2.3、显示部分方案的选择与论证.............................6
1.2.4、语音部分的方案选择与论证.............................6
第2节电路框图设计.......................................8
2.1总体框图设计..........................................8
2.2整体程序流程图........................................9
第3节系统的具体设计...........................10
3.1系统的硬件设计........................................10
3.1.1、电机驱动模块.........................................10
3.1.2、键盘与显示模块.......................................11
3.1.3、语音模块.............................................12
3.1.4、无线遥控模块.........................................13
3.2系统的软件设计.......................................15
3.2.1、各部分程序流程图.....................................15
第4节测试方法与仪器...............................17
4.1测试设备.............................................17
4.2测试方法.............................................17
第5节测试数据及测试结果析............................20
第6节结论.................................................22
附录.............................................................23
参考文献.........................................................25
基于单片机自动控制升降旗系统设计
设计任务
设计一个自动控制升降旗系统,该系统能够自动控制升旗和降旗,升旗时,在旗杆的最高端自动停止;降旗时,在最低端自动停止。
自动控制升降旗系统的机械模型如图所示。
旗帜的升降由电动机驱动,该系统有两个控制按键,一个是上升键,一个是下降键。
自动控制升降旗示意图
(一)基本功能
1.按下上升按键后,国旗匀速上升,同时流畅地演奏国歌;上升到最高端时自动停止上升,国歌停奏;按下下降按键后,国旗匀速下降,降旗的时间不放国歌,下降到最低端时自动停止。
2.能在指定的位置上自动停止。
3.为避免误动作,国旗在最高端时,按上升键不起作用;国旗在最低端时,按下降键不起作用。
4.升降旗的时间均为43秒钟,与国歌的演奏时间相等,同时,旗从旗杆的最下端上升到顶端。
降旗不演奏国歌,同时,旗从旗杆的最上端下降到底端。
5.数字即时显示旗帜所在的高度,以厘M为单位,误差不大于2厘M。
(二)扩展功能
增设一个开关,由开关控制是否是半旗状态,该状态由一发光二极管显示。
1.半旗状态(根据《国旗法》)。
升旗时,按上升键,奏国歌,国旗从最低端上升到最高端之后,国歌停奏,然后自动下降到总高度的2/3高度处停止;降旗时,按下降键,国旗先从2/3高度处上升到最高端,再自动从最高端下降到底之后自动停止,国歌停奏。
2.不论旗帜是在顶端还是在底端,关断电源之后重新合上电源,旗帜所在的高度数据显示不变。
3.要求升降旗的速度可调整,旗杆高度不变的情况下,升降旗时间的调整范围是30—120秒钟,步进1秒。
此时国歌停奏。
4.具有无线遥控升、降旗及停止功能。
摘要
本系统采用单片机AT89S52作为自动控制升降旗系统的检测和控制核心,采用由单片机控制的步进电机带动国旗升降,实现对国旗升降的自动控制。
该电路主要分为电机驱动控制模块、键盘与显示模块、语音模块及无线遥控电路模块等几个部分。
电机驱动控制模块采用集成驱动芯片L298,控制与显示部分分别采用键盘作为控制和液晶RT1602C作为显示,语音电路采用语音芯片ISD2560,无线遥控部分采用SP多用途无线数据收发模块,同时还采用了接近开关LMF2-3005NA,防止旗帜在最高点或最低点误动作,从而实现了双重保险的作用。
基于这些完备而可靠的硬件设计,使用了一套完善的软件编程,实现了自动升降旗的基本功能及发挥部分的一些功能。
关键字:
步进电机自动控制语音遥控液晶显示接近开关
第1节系统方案论证与比较
1.1设计思路
题目要求设计一自动控制升降旗系统,该系统能够自动升降旗和自动升降半旗,能够在指定位置停止,升降旗的时间可在30—120秒的范围内自行调整,标准的升降旗时间与国歌演奏时间相等,即为43秒,且具有数字即时显示旗帜所在的高度和无线遥控升、降旗及停止功能。
根据题目要求由一个步进电机来控制旗帜的升降情况,由接近开关来防止旗帜在最高点或最低点停止时出现的误动作,由液晶来显示旗帜所在的高度及升降旗所用的时间,无线遥控电路使用无线发射接收模块SP,语音模块采用集成语音芯片ISD2560。
1.2方案选择与论证
1.2.1、电机的选择与论证
方案一:
采用普通的直流电机。
普通直流电动机具有优良的调速特性,调速平滑、方便,调整范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转。
方案二:
采用步进电机。
步进电机的一个显著特点是具有快速的启停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反转。
另一个显著特点是转换精度高,正转反转控制灵活。
因为在本系统中需要精确的转换速度和转换时间且启停要迅速,所以在本设计中我们选择方案二
1.2.2、电机驱动方案的选择与论证
方案一:
采用继电器对电动机的开或关进行控制,通过控制开关的切换速度实现对电机的运行速度进行调整。
这个电路的优点是电路结构简单,其缺点是继电器的响应时间长,易损环,寿命短,可靠性不是很高。
方案二:
采用由达林顿管组成的H桥型PWM电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态,可精确调整电动机的运动状态(前进,后退,左转,右转)。
这种电路由于工作在管子的饱和截至模式下,效率很高。
H桥电路保证了可以简单的实现转速和方向的控制,但不能很精确的控制步距和速度。
方案三:
采用集成驱动芯片L298。
L298是恒压恒流双H桥集成电机芯片,利用该芯片是实现驱动步进电机的一种简单方法,可时控制四相电机,且输出电流可达到2A,可精确控制步距和速度,利用该方法设计的步进电机驱动系统具有硬件结构简单、软件编程容易的特点.
所以综上所述我们采用方案三。
1.2.3、显示部分方案的选择与论证
方案一:
采用LED数码管显示旗帜所在的高度以及升降旗所用的时间。
在本系统中需要用到6只LED数码管进行动态显示才可以达到要求。
采用LED的优点是亮度高,醒目,价格便宜,寿命长;缺点是只能显示0~9的数字和一些简单的字符,电路复杂,占用资源较多且信息量小。
方案二:
用LCD(RT1602C)液晶显示,其优点是能显示更多的字符,工作电流比LED小几个数量级,故其功耗低,且有着良好的人机界面,体积小,功耗极低。
基于上述考虑,所以我们选择方案二
1.2.4、语音部分方案的选择与论证
方案一:
采用语音芯片ISD1420。
该芯片采用CMOS技术,内含震荡器、话筒前置放大、自动增益控制、防混肴滤波器、平滑滤波器、扬声器驱动及EEPROM,一个最小的录放系统仅由一个麦克风、一个喇叭、两个按扭、电源及少数电阻电容即可,结构非常简单,且它的音质好、功耗低,但其录放音时间短,只有8到20秒。
方案二:
采用语音芯片ISD2560,它具有抗断电、音质好,使用方便,无须专用的开发系统等优点。
录音时间为60s,能重复录放达10万次。
芯片采用多电平直接模拟量存储专利技术,省去了A/D、D/A转换器。
每个采样值直接存储在片内单个EEPROM单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”,该器件的采样频率为8.0KHz。
综上所述,因为在本系统国歌的的演奏时间需要43秒钟,所以在此选用方案二。
第2节电路框图设计
2.1总体框图设计
根据设计要求,本系统可由图2-1-1所示的几个部分组成:
图2-1-1总体电路框图
根据设计要求,可得本系统的程序主流程图如图2-2-1所示:
本系统的控制器采用ATMEL公司的AT89S52,因为考虑到编写的繁简程度,所以在此使用C语言进行软件编写,这样可以大大提高程序编写时的效率。
2.2整体程序流程图
图2-2-1整体程序流程图
第3节系统的具体设计
3.1系统的硬件设计
本系统由单片机AT89S52作为升降旗系统的控制核心,实现键盘控制、液晶显示、语音以及无线遥控等几个部分,即该系统主要包括电机驱动模块、键盘与显示模块、语音模块及无线遥控电路模块等几个部分。
现分别对各模块进行分析。
3.1.1、电机驱动模块
在本设计中采用集成驱动芯片L298作为电机驱动的核心,L298是恒压恒流双H桥集成电机芯片,可同时控制两个电机,且输出电流可达到2A,驱动力很强。
因为在本设计中我们使用的是四相步进电机,所以L298完全符合要求。
其电路原理图如图3-1-1所示。
图3-1-1电机驱动电路
其步进电机的控制原理为:
为了准确实现可调节的时间和高度控制的匀速升降,需要精确计算在人眼不能识别的时间内的步进电机的脉冲数。
在此我们选用步距角0.9度,则走一圈所需的步数为400步,因为用于固定绳子的轴的直径为2.5cm,则平均每步拉出的线长便可计算出来约为L=0.0234cm,在整个上升或下降过程中,high为总高度,可通过公式计算出在此段距离中步进电机需走的步数,即为,步进电机要转动的总步数:
总步数=高度(high)/0.0234,在此,高度可调步长为1cm,时间可调时间间隔为1s。
3.1.2、键盘与显示模块
在本设计中使用了八个按键,分别用来控制升降旗和升降半旗及其切换,高度及时间的调节,其键盘摸板如图3-1-2,显示部分采用液晶RT1602,因为在本设计中只要求显示时间与高度,可以不用中文显示,所以RT1602已完全满足要求,其键盘与显示模块的电路原理图如图3-1-3所示。
图3-1-2键盘摸板
图3-1-3键盘与显示电路
3.1.3、语音模块
因为本设计要求演奏国歌,其时间为43秒钟,所以选用的语音芯片其录放时间应大于43秒钟,即在此选用语音芯片ISD2560,其录放时间为60秒,完全符合本设计的要求,我们把国歌音乐录制在ISD2560语音芯片中,然后用它的单次播放功能播放国歌,其电路原理图如图3-1-4所示。
图3-1-4语音模块的电路原理图
ISD2560可以利用A0-A9这10条地址线实现分段录放音,可以分为600段,在本设计中我们没有用到分段录放音,所以将10条地址线全部接地。
当录音时,片选端CE接低电平、PD为低电平、P/R为低电平;当放音时,片选端CE接低电平、PD为低电平、P/R为高电平。
其控制原理为:
A、当升旗键按下时,ISD2560输出播音控制信号播放国歌,国旗经43s的时间匀速上升至旗杆顶端,国歌播放完毕;当降旗键按下时,不播放国歌。
B、在半旗状态时,当升旗键按下时,对ISD2560输出播音控制信号播放国歌,国旗经43s的时间匀速从最低端上升到最顶端之后,国歌停奏,然后自动经14s的时间匀速下降到总高度的2/3高度处(120cm)停止;当降旗键按下时,不播放国歌。
3.1.4、无线遥控模块
在本设计中采用SP多用途无线数据收发模块,SP模块必须用信号调制才能正常工作,常见的固定编码解码器件有PT2262/2272、SC2262/2272、LSD2262/2272等,在此我们选用的是LSD2262和LSD2272,LSD2262将A0~A5和A6/D5~A11/D0决定的地址和数据进行编码,当TE为低电平时,从DOUT输出编码信号,编码信号提供给RF或IR电路发射,由RF或IR接收电路接收后,经LSD2272解码,实现遥控编码和解码。
理论上只要直接连接上固定编码解码器件即可非常容易的达到很好的传输效果,但实际上需要考虑解码器件的输入阻抗,调制起来有点困难。
其发射模块的电路原理图如图3-1-5所示,接收模块的电路原理图如图3-1-6所示。
图3-1-5发射模块电路原理图
SP多用途无线数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高仅次于晶体,当环境温度在-25~+85度之间变化时,频漂仅为3ppm/度。
特别适合多发一收无线遥控及数据传输系统。
具有较宽的工作电压范围3~12V,当电压变化时发射频率基本不变。
图3-1-6发射模块电路原理图
SP接收模块的工作电压为5伏,静态电流4毫安,它为超再生接收电路,接收灵敏度为-105dbm。
3.2系统的软件设计
整个系统的主要任务是执行升降旗、半旗、时间调整、高度调整四种运动,这样系统软件设计就可以分块完成。
主程序部分,主要是查键盘,通过查键,检测应该做什么运动,键值不同调用不同的子程序。
子程序包括上、下运动、半旗运动、时间调整和高度调整等。
下面就按照各模块的功能写出程序流程图如下所示。
3.2.1、各部分程序流程图
各程序流程图分别为如下所示:
图3-2-1主程序流程图
图3-2-2升旗处理子程序流程图图3-2-2升旗处理子程序流程图
第4节测试方法与仪器
4.1测试设备
1、DT890D数字万用表
2、TDS1002存储式数字示波器
3、MPS—3003L—3双路跟踪稳压稳流电源
4、仿真器:
伟福(WAVE)E6000L
5、EDA设计软件:
PROTEL99SE
6、秒表一块
4.2测试方法
1、将一定滑轮固定在高为大于180cm的支架上,将一根绳子穿过定滑轮,挂在滑轮上,其一端放100克左右的旗帜,另一端绕在步进电机的定轴上,并将步进电机放在支架的底端。
2、一切准备工作都做好后,将180cm的距离调整好,再接通电源,进行调试。
3、对升降旗部分进行调试(按标准规定),将旗帜放到0cm处(即参考点处),按下升旗键,看国歌是否能响起,旗帜是否能在43秒中到达180cm处并停止;按下降旗键,看国歌是否不会响起,旗帜是否能在43秒中降到0cm处并停止。
4、对半旗部分进行调试,按下半旗键,再按下升旗键看国歌是否能响起,旗帜是否能在43秒中到达180cm处(此时国歌是否停奏),再自动降到120cm处并停止;按下降旗键,看国歌是否不会响起,旗帜是否会从120cm处上升到180cm处,再自动降到0cm处并停止。
5、对时间可调部分进行调试,在30—120秒钟内调整几个时间,看旗帜能否能在此时间顺利的升降旗。
6、对高度可调部分进行调试,在0--180cm内调整几个高度,看旗帜能否在指定的高度立即停止。
第5节测试数据及测试结果分析
由于在读数时,人眼不可一、升旗时间和位置测试
一、检测升旗运动时,是不是匀速运动,其实际位置和理论位置是否对应,升旗43s到达180cm的位置和时间是否精确。
其记录数据如表5-1所示。
表5-1升旗时间和位置测试数据记录表(位置以cm为单位,时间以s为单位)
实际位置
180
180
180
180
180
180
所测位置
实际时间
43
43
43
43
43
43
实测时间
二、降旗时间和位置测试
检测降旗运动时,是不是匀速运动,其实际位置和理论位置是否对应,降旗43s到达0cm的位置和时间是否精确。
其记录数据如表5-2所示。
表5-2降旗时间和位置测试数据记录表(位置以cm为单位,时间以s为单位)
实际位置
0
0
0
0
0
0
所测位置
实际时间
43
43
43
43
43
43
实测时间
三、高度调整测试
设定不同的高度,检测所到达位置是否精确,时间是否是在按比例(即以43s经过180cm的比例计算)所算得的时间到达。
(以升旗为例)如表5-3所示
表5-3高度调整数据记录表(位置以cm为单位,时间以s为单位)
实际位置
30
60
100
150
170
179
所测位置
理论时间
7.16
14.333
23.89
35.833
40.611
42.761
实测时间
四、时间调整测试
设定不同的时间,检测到达顶点位置(以180cm为准)的时间是否精确。
(以升旗为例),其测试数据如表5-4所示。
表5-4时间调整数据记录表(位置以cm为单位,时间以s为单位)
实际时间
30
50
60
80
100
120
实测时间
实际位置
180
180
180
180
180
180
实测位置
五、半旗的时间和位置测试
检测半旗运动时,是不是匀速运动,其实际位置和理论位置是否对应,实际所需时间和理论时间是否对应。
其记录数据如表5-5所示。
表5-5时间调整数据记录表(位置以cm为单位,时间以s为单位)
实际位置
120
120
120
120
120
120
实测位置
理论时间
57.33
57.33
57.33
57.33
57.33
57.33
实测时间
上述的各项运动测试中,都存在着一定的误差,现在我们就从以下几个方面对误差产生的原因进行分析:
(1)固定绳子的轴的直径为2.5cm,
理论上固定绳子的轴的直径为2.5cm,但实际上由于线一圈一圈的绕上去,其实际用于计算的直径就会有一定的变化,不可避免地为后面地计算带来误差。
(2)机械制作工艺上的其他部分
除了上述分析的因素外,还有诸如电机安装时的位置不合理,电机绕线时的斜绕的问题,叠绕的问题等,都会引起最后物体运动定位精度不够的结果。
(3)人为引起的误差
能很精确的读出所量得的距离,以及用秒表测试时,不能很精确的与电机的起停时间同步。
第6节结论
本系统的特色:
本设计在硬件上,使用了步进电机控制和利用接近开关实现停止的双重保险,在软件上,利用C语言的简单精练特点,实现起来更加简单,现将题目要求指标及系统实际性能列表如下:
基本要求
发挥要求
实际性能
升旗时,匀速上升同时演奏国歌,到达顶端时能自动停止。
降旗时,不演奏国歌,到达低端时自动停止。
当时间设定为43S、高度设定为180cm时,国旗匀速上升并且演奏国歌。
当时间、高度设定为其他值时,国旗只匀速上升而不演奏国歌。
降旗时,国旗匀速下降并不演奏国歌。
能在指定的位置上自动停止
通过高度上、下调节键来实现高度的调节,调节在哪一个高度就在此处停止。
为避免误动作,国旗在最高端时,按上升键不起作用;国旗在最低端时,按下降键不起作用。
国旗到达最顶端时,按“升旗”键不起作用,国旗到达最低端时,按“降旗”键不起作用。
数字即时显示旗帜所在的高度
通过RT1602C来显示设置的高度、此时的高度以及设置的时间、此时运行的时间。
由开关控制是否是半旗状态,该状态由一发光二极管显示
通过一个按键来实现半旗与非半旗之间的切换,半旗时,在液晶的右下角显示“#”号。
升半旗时,国旗先升到最顶端(同时奏国歌),再自动下降到总高度的2/3处。
降半旗时,国旗先升到顶端,再自动下降到最低端。
要求升降旗的速度可调整,旗杆高度不变的情况下,升降旗时间的调整范围是30—120秒钟,步进1秒。
此时国歌停奏
通过调节时间上、下调节键来实现时间在30—120秒的调节,步进为1秒。
当时间不等于43S时,不奏国歌。
具有无线遥控升、降旗及停止功能
通过无限发射接收模块来实现升旗、降旗、半旗及停止。
但效果不是很好。
在旗杆的最顶端与最低端安装了接近开关,防止电机失控。
附录:
材料清单:
名称
规格
数量
液晶
RT1602C
1
芯片
AT89S52
1
芯片
CD4060
1
芯片
24C02
1
芯片
LSD2262
1
芯片
LSD2272
1
芯片
ISD2560
1
稳压块
L7805CV
1
无线发射接收模块
SP
1
喇叭
8欧
1
话筒
驻极体
1
接近开关
LMF2-3005NA
2
晶振
12M
1
晶振
32.768K
1
按键
大
8
按键
小
6
拨位开关
1
接插件
10P
2
接插件
5P
4
接插件
4P
5
接插件
3P
3
接插件
2P
12
排针
2
排线
2
二极管
IN5408
8
发光二极管
蓝色
6
电阻
1/2W
2
电阻
10M
1
电阻
2.2M
1
电阻
470K
1
电阻
390K
1
电阻
10K
8
电阻
5.1K
3
电阻
2K
2
电阻
300欧
6
电容
30P
4
电容
104
10
电容
0.22UF
1
电容
10UF
2
电容
22UF
4
电容
4.7UF
1
电容
220UF
1
电容
470UF
1
底座
40P
1
底座
28P
1
底座
18P
2
底座
16P
1
底座
8P
1
致谢
感谢电子系全体教师对我的指导,