自动控制升降旗系.docx
- 文档编号:24914999
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:40
- 大小:128.19KB
自动控制升降旗系.docx
《自动控制升降旗系.docx》由会员分享,可在线阅读,更多相关《自动控制升降旗系.docx(40页珍藏版)》请在冰豆网上搜索。
自动控制升降旗系
自动控制升降旗系统
摘要
本系统是由单片机(AT89S52)、步进电机、ISD2560语音芯片、时钟芯片PCF8563、显示电路、遥控电路、按键等基本的部分组成的控制国旗升降系统。
采用由单片机控制的步进电机带动国旗升降,实现对国旗升降的自动控制。
采用接近开关FR12-4DN,防止旗帜在最高点或最低点误动作,从而实现了双重保险的作用。
使用抱闸装置保证步进电机在不通电的时候静止不动。
本系统具有以下特点:
1、可手动、可遥控。
即可以通过按键来控制旗帜的匀速升降,也可以通过遥控器来实现远距离控制;
2、可以按照用户的要求上升或下降到指定位置,并可在任意位置停止;
3、国旗在上升过程中能准确与国歌乐曲同步;
4、能实现半旗的升降功能;
5、具有断电保护功能;
在实现以上功能的过程中,升降旗时间在30~120秒内可调,通过改变步进电机的转动速度来改变旗帜上升或下降的速度,并通过LED显示上升或下降时间和旗帜所在高度。
旗帜达到顶端后,由鼓风机提供风源使旗帜始终处于飘扬的状态。
测试表明,该系统无论在功能上、性能上都完全达到了题目的要求,(包括发挥部分的设计要求),并设计了其他创新功能,且误差较小,操作方便,经济实用,美观大方。
关键字:
单片机步进电机遥控接近开关抱闸装置
ABSTRACT
ThenationalmovementscontrolsystemismadeupofMCU(AT89S52),steppermotor,ISD2560voicechip,clockchipPCF8563anddisplaycircuits,remotecontrolcircuit,keyboardsandotherbasiccomponents.WiththestepperwhichiscontrolledbyMCU,todrivertheflagrisingandlowering,thustoachievetheflagautomaticcontrolling.WithautomaticapproachdeviceFR12-4DNtopreventtheflagmalfunctionatthehighestorlowestpoint,thusrealizingthedualrole.Brakedeviceusedinsteppermotortoensurethestaticelectricity.Thesystemhasthefollowingfeatures:
First.Canbemanuallyoperated,canberemote-controlled.Thatis,throughthebuttonstocontrolmovementscanbeachieved,andthroughremotecontroldevicecanalsoachieved.
Second.inaccordancewiththerequirementsoftheusertothedesignatedlocationandmayincreaseordecreaseinanypositiontostop;
Third.Arrivetheappointpositionaccordingtocustomer'srequire,andstopattheanyposition.
Forth.Achievethehalf-masttofunctionalmovements;
Fifth.Poweroutagesprotectivefunction;
Intheprocessofachievingtheabovefunctions,30-120secondsfortheflagrisingisadjustable,bychangingtherotationalspeedofthestepmotor,theflagraisingspeedcanbechanged,andthetime&tallnesswillbeshowedontheLED.Aftertheflagreachedthetop,thewindprovidedbytheblowerwillmaketheflaginflutteringstate.
Thetestresultsshowthatthesysteminfunctionalandperformancerequirementshavebeenfullyattained(includingthedesignrequirementsofplay),andotherinnovationsaredesigned.Andwhichislesserrorandeasytouse,economicalandpractical,attractiveandunaffected.
Keywords:
MCUStepmotorRemotecontrol
一、方案的论证:
1、单片机的选择
采用AT89S52单片机实现,该单片机内部资源丰富,集成了内部看门狗、双数据指针、在系统编程(串行下载目标程序)等功能,软硬件调试方便,对于电子设计竞赛时间紧、任务多的开发来说是极为有利的。
2、电机的选择
方案一:
采用直流电机控制升降旗运动,直流电机力量大,能获得较大的启动转矩,转动速度快,但由于存在机械触点,直流电机容易产生噪声,而且单独使用时不能完成位置控制,需要配以传感器才能控制定位。
方案二:
采用步进电机控制升降旗运动,步进电机不需要使用传感器就能精确定位,而且通过给定的脉冲周期,能够以任意速度转动,定距运动较精确。
虽然步进电机不能高速转动,但根据题目要求的时间和移动距离,步进电机完全能够符合要求,是该种要求下广泛使用的一种电机。
基于上述理论分析,我们拟选择方案二。
3、系统工作电源的选择
直流稳压电源的制作方案较多,而且可供选择的余地较大,我们本着简单、实用、安全、可靠的原则,着重从以下几个方案中进行了选择:
方案一:
采用开关电源,优点是输出功率大、体积小、效率高;缺点是输出纹波系数较大、对电网易产生干扰。
方案二、采用传统的线性稳压电源,优点是输出电压可以随意调节、输出电压纹波系数较小;缺点是效率低、体积大、电路较为复杂,成本较高。
综合制作难易程度以及成本和本系统使用实际情况,我们选用了第一套方案。
4、显示的选择
方案一:
用LED数码管显示旗帜所在的高度和升降旗时间,本系统中只需要6只LED数码管进行动态显示即可以显示高度和时间。
优点是接口简单,易于控制,对电压电流的要求低,价格便宜,寿命长;缺点是只能显示0~9的数字和一些简单的字符。
方案二:
用LCD液晶显示,优点是能显示更多的字符和汉字,有着良好的人机界面,体积小,功耗极低;缺点是成本高,亮度不高,夜晚不易清晰观察数据。
基于上述考虑,所以我们选择方案一。
二、系统设计
1、系统框图
根据题目要求和上述论证,本系统的系统框图如图一所示:
图7上电子程序流程图
下降至0cm
下降180
N
下降键?
Y
Y
N
下降键?
Y
Y
Y
N
N
N
N
返回
其他高度?
高度为0cm?
高度为180cm?
高度为120cm?
掉电处理
读2416
先上升60后下降180
旗上升
旗下降
取消
确认
高度键?
旗上升
上升键?
高度键?
减0.02cm
加0.02cm
减键?
加键?
调整高度键
Y
N
Y
N
N
Y
N
N
Y
返回
旗下降
下降键?
N
Y
图6设置高度子程序流程图
旗上升
旗下降
Y
图5时间调整子程序流程图
取消
确认
返回
旗下降
时间键
下降键?
旗上升
上升键?
减1s
加1s
时间键?
减键?
加键?
调整时间键
Y
Y
N
N
N
Y
Y
N
Y
N
N
返回
国旗下降到底
下降键?
步进电机正转
国歌响
国旗上升到顶
升旗
Y
N
图4半旗按键处理子程序流程图
返回
先上升到顶后下降到底
下降键?
国歌响国旗先上升到顶国歌响停下降到三分之二处
半旗
Y
N
图3升旗处理子程序流程图
图2按键处理子程序流程图
YYYyy
YYYyy
高度子程序
时间子程序
半旗子程序
升旗子程序
调节高度?
调节时间?
半旗?
升旗?
按键处理
N
N
N
YYYyy
YYYyy
键处理
图1主程序流程图
Y
N
键处理
有键按下?
键盘扫描
掉电处理
初始化
通电
微控制器(AT89S52)通过键盘输入控制信号,实现要求的运动控制,较好地实现了人机对话,并且可以通过LED数码管实时地显示运动状态,国旗当前运动所处的高度以及到此高度所用的时间,升降国旗时间在30秒到120秒内可调。
电机采用步进电机与其配套的电机驱动器。
步进电机的型号为42BYG028,为了降低CPU的负载,避免让CPU产生步进电机的驱动脉冲节拍以及驱动步进电机的功率驱动电路,我们直接购置了与步进电机配对的驱动器,该驱动器型号为WZM-2H042M,为两相混合式,细分的步距角有0.45°、0.225°、0.9°等3档。
步进电机可以根据算法,按指定的高度计算步数,实现正转或反转。
2、系统硬件设计
(1)系统主控制电路:
(见图二)
(2)复位电路和步进电机驱动:
我们采用P2.0、P2.1控制步进电机。
P2.0控制电机的步进脉冲信号,P2.1控制电机的正反转。
复位包括上电复位和按键复位。
(见图三)
图三复位电路和步进电机驱动电路
(3)按键与显示电路:
考虑成本、熟悉程度、器件等众多因素,我们选择了最常用的74HC164作为显示器的驱动器件,用74HC165作为键盘输入寄存器,我们设置的8个键通过并入串出接口芯片74HC165串行接入到单片机。
(见图四)
图四按键与显示电路
(4)语音电路:
采用ISD公司生产的性能良好,使用方便的ISD2560语音芯片来播放国歌。
该芯片录音时间为60S,可重复10万次。
该芯片采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个EEPROM单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”;该器件的采样频率为8.0KHz,同一系列的产品采样频率越低,录放时间会越长,但通频带和音质会有所降低。
此外,ISD2560还省去了A/D和D/A转换器。
我们把国歌音乐录制在ISD2560语音芯片中,然后用它的单次播放功能播放国歌。
(见图五)
图六8563定时电路
(7)接近开关电路的设计
我们选用FR12-4DN电感式的接近开关检测国旗在最高端和最低端,避免冒顶发生。
(见图七)
图六接近开关电路
3、软件设计
整个系统主要任务是使国旗执行升降旗、半旗、时间调整、高度调整四种运动,这样系统软件设计就可以分块完成。
主程序部分,主要是查键盘,通过查键,检测应该做什么运动,键值不同调用不同的子程序。
子程序包括上、下运动、半旗、运动时间调整和高度调整等。
(程序流程图见附录)
三、系统原理与理论分析
1、单片机系统组成
单片机系统是整个自动控制升降旗系统的核心部分,它主要用于键盘按键或遥控管理、步进电机控制国旗的升降以及与国歌的同步、升降旗时间调整等。
主要包括AT89S52单片机、步进电机、步进电机驱动器、鼓风机、数码管显示译码芯片74LS164与74LS165等器件。
2、控制原理
(1)步进电机驱动脉冲数的计算
为了准确实现可调节的时间和高度控制的匀速升降,需要精确计算在人眼不能识别的时间内的步进电机的脉冲数。
步进电机我们选用的细分的步距角0.9度的档,步进电机的定轴直径为1.27324cm,则每步拉出的线长为0.01cm,完全符合精度的要求。
高度可调步长为1cm,时间可调时间间隔为1s。
在程序设计中,我们运用时间精度很高的PCF8563产生32Hz的脉冲方波输出接单片机的外部中断1。
在整个上升或下降过程中,high为总高度,可通过公式:
步进电机要转动的总步数:
总步数=高度(high)/0.01,
分次转动的次数为:
次数=总时间(time)*32,
每(1/32s)走的步数:
步数=总步数/次数,
除后余数的步数为:
余步数=总步数%次数。
这样步进电机在转动时需要每1/32s走一次,程序中对余步数采用补偿的方法进行处理。
分2种情况考虑,余步数为0时,每次按计算的步数走计算出的对应次数就能满足要求;当余步数不为0时,先在循环程序中分余步数次走步数加1的步长,然后再按步数走(步数-余步数)次。
开始走时打开外部中断1,每次走完后等待中断到来,中断到来时,清中断标志位进入下一次循环,循环完成时关外部中断1。
上升和下降通过步进的方向输入端子控制。
在步进电机运动的过程中,实时显示运行时间和所在位置,保护现场数据。
(2)国旗运动的控制
在主程序中,循环查键。
系统的按键8个,但主程序中扫描按键时只优先扫描上升键、半旗键、调时间键、调高度键。
A.上升键按下时,对ISD2560输出播音控制信号播放国歌,国旗经43s的时间匀速上升至旗杆顶端,国歌播放完毕。
此时程序只扫描下降键,下降键按下有效时,国旗经43s的时间匀速下降至地端。
B.半旗键按下时,对ISD2560输出播音控制信号播放国歌,国旗经43s的时间匀速从最低端上升到最高端之后,国歌停奏,然后自动经14s的时间匀速下降到总高度的2/3高度处(120cm)停止;此时程序只扫描下降键,下降键按下时,可以使国旗先从2/3高度处经14s的时间匀速上升到最高端,再自动从最高端经43s的时间匀速下降到底之后自动停止,此时国歌停奏。
C.调时间键按下时,此时第二优先级的增量键、减量键、调时间键有效,时间可以通过加减键以1s步长设置,范围为30s-120s,加减键可单按,也可连加连减。
如第二次按下调时间键时,时间调整确认,此时上升键有效,当按上升键时,国旗以设定时间匀速上升,国歌不演奏,当到达顶端时等待下降键按下,下降键按下后以同样的速度下降至底端,程序返回。
如果不是上升键按下,不演示时间调整的运动过程,而调时间键第三次按下时,时间调整取消。
返回扫描键程序。
C.设置高度键按下时,此时第二优先级的增量键、减量键、调高度键有效,高度可单按键或连加连减,高度的调整范围为1cm-180cm,如第二次按下调高度键时,高度调整确认,此时上升键有效,如果此时按下上升键时,此时国旗上升到达设定的位置,所用时间为(高度/4)s,此时国歌也不演奏。
到达设定的位置后,等待上升键,上升键按下时,国旗以同样的速度下降至底端,程序返回。
不是上升键按下而是调高度键第三次按下时,高度设置取消,程序返回至查键程序。
系统通过按键使能的有效时段防止误操作。
(3)掉电现场的保护
为了保障断电后再次加电时,国旗所在的高度和数据显示不变。
在每次中断数据改变时,把国旗所在的精确位置和状态写在24HC16中。
掉电或断电时,国旗的位置保持原位,同时步进电机通过电磁阀制动。
在下次上电时,首先读24HC16的数据,检查国旗所在的位置。
细分状态如下:
A.如果在0cm位置,不做处理。
B.如果在180cm位置,此时为升旗状态上升的最高点,查询下降键,等待下降键按下。
当下降键按下时,国旗经过43s的时间匀速下降至0cm最低端处。
C.如果在120cm位置,此时为半旗状态上升的停止点,则查询下降键,等待下降键按下。
当下降键按下时,国旗经过14s的时间先升至最高点180cm,后经过43s的时间下降至0cm最低端处。
D.在其它任意位置,上电后,直接自动下降至最低点,所需时间为(高度/4)s,不需要键控制。
这整个过程中,24HC16所存的位置数据一定要精确,确保不出现误差积累现象。
(4)无线遥控
无线遥控升、降旗及停止功能,设计在键盘扫描状态中,同时扫描遥控输入状态,无线遥控控制国旗的上升、下降和暂停。
我们选用的无线模块控制范围为200m,为了防止外部遥控器的干扰,我们对SC2272-L4和SC2262设置相同的地址,屏蔽其它相同类型控制器的干扰。
国旗运动时的停止功能,在32Hz中断中查询是否有暂停键包括无线遥控中的暂停按键按下,如有暂停按键按下,关外部中断,等待停止键再次按下后继续工作。
(5)创新功能
A.检测端点功能。
在顶端和最低端安装接近开关,为防止程序跑飞和干扰,程序检测到顶端接近开关有信号时,强制步进电机制动国旗不再上升;程序检测到最低端接近开关有信号时,强制步进电机制动国旗不再下降。
B.抱闸功能。
用电磁阀制作一个停电或断电自动抱闸功能,根据电磁阀的原理,220交流电有电时,线圈有磁,铁心弹出顶住定滑轮制动,保证断电时国旗的位置不变。
C.国旗飘扬功能。
在国旗非半旗状态下上升到达顶端时,通过继电器打开风机,吹动国旗飘扬,国旗开始下降时,关闭风机。
四、操作说明
1、数码管显示说明:
(1)在国旗上升或下降过程中数码管的编号和功能如下
1号
2号
3号
4号
5号
6号
7号
8号
时间百位
时间十位
时间个位
运动状态
标志位
―
位置百位
位置十位
位置个位
A.1、2、3号数码管分别显示在某一种运行状态下,运动的时间,半旗状态下,上升和下降时间不累计。
时间以s为单位,当高位为零时自动消隐。
B.4号数码管显示运动状态。
状态说明如下:
非半旗上升
非半旗上升
半旗上升
半旗上升时下1/3
半旗下降
U
d
L
左l
T
半旗下降时升1/3
任意高度上升
任意高度下降
上电时高度处理
上T
上口
下口
倒F
C.5号数码管只显示中间的行线。
D.6、7、8号键显示此时国旗所在高度,以cm为单位。
当高位为“0”时,只显示中间的行线,不消隐。
(2)调键状态下编号和功能如下
1号
2号
3号
4号
5号
6号
7号
8号
时间百位
时间十位
时间个位(s)
――
键号
0
0
0
位置百位
位置十位
位置个位(cm)
A.当调时间时,1、2、3号数码管显示时间调整的数据,当调高度时显示高度调整的数据。
B.4号键只显示中间的行线。
C.5号键显示键盘位置和键号为:
1号
2号
3号
4号
5号
6号
7号
8号
A
B
C
D
E
F
H
J
D、6、7、8号键全部显示“0”;
2、按键操作说明:
1号
2号
3号
4号
5号
6号
7号
8号
复位
上升键
下降键
半旗键
调时键
增量键
减量键
调高度键
暂停键
按键优先级表:
从左至右优先级由高到低
扫
描
键
上升键
下降键
半旗键
下降键
调时键
增量键
减量键
调时键
上升键
下降键
调时键
调高键
增量键
减量键
调高键
上升键
下降键
调高键
3、具体操作方法和实现的功能
(1)升旗。
国旗在非运动状态下的最底端时,按下上升按键后,国歌起,国旗缓缓上升,1、2、3号三位数码管显示工作时间,6、7、8号三位数码管显示国旗所在位置,43s后到达顶点,国歌停,国旗停止,运动时间显示43s,位置显示180cm,状态位显示U,键号只显示中间的横线。
国旗在顶端随风机的吹动飘扬。
此时除下降键以外的其它键都不工作,等待下降键按下,当下降键按下时,运动时间显示0s,国旗开始匀速下降,43s后到达低端。
(2)半旗。
国旗在非运动状态下的最底端时,当按下半旗键时,升半旗,具体过程是:
国歌起,国旗缓缓上升,43s后到达顶点,国歌停,然后国旗自动匀速下降,经14s后到达120cm处,在整个运动过程中除暂停键外,其它键无效。
到达120cm位置后,此时只有下降键有效,当按下下降键时,降半旗,具体过程为:
国旗先经14s到达顶端,再自动下降到底端,降半旗全过程中不演奏国歌。
(3)国旗到达指定位置。
国旗在0cm位置时,按下调高度键,此时加减键有效,可以通过加减键调整高度,默认高度为180cm,指定位置可在1至180cm范围调整,加减键调整时,可根据要调整的高度选择用加键还是用减键,如要调整为20cm,可以长按住加键时180cm调为1cm再加为20cm左右后,再综合用加减键调为20cm,调整好位置时第二次按下调高度时,位置确认,此时可以演示到达设定高度,方法和升旗过程一样,但整个过程不演奏国歌。
(4)升国旗时间的调整。
国旗在0cm位置时,按下调时间键,此时加减键有效,可以通过加减键调整时间,默认时间为43s,时间可在30s至120s范围调整,具体调整方法同上面调位置操作。
调整时间确认后可升国旗,但整个过程不演奏国歌。
(5)开机时的上次运行状态的处理。
当开机时如位置显示为0,则不处理可以按键;当位置显示180cm,表示上次断电时国旗在顶端,此时升旗、半旗、调时、调高无效,必须先按下下降键把国旗降下,才能进行其它功能操作;当位置显示120cm,按下下降键,国旗以降半旗的方式降至底端,才能进行其它功能操作;当位置显示非120cm、180cm、0c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动控制 升降