国旗升降自动控制系统毕业设计论文.doc_第1页
国旗升降自动控制系统毕业设计论文.doc_第2页
国旗升降自动控制系统毕业设计论文.doc_第3页
国旗升降自动控制系统毕业设计论文.doc_第4页
国旗升降自动控制系统毕业设计论文.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国旗升降自动控制系统毕业设计论文 山东科技大学泰山科技学院毕 业 设 计(论 文)题 目:国旗升降自动控制系统 摘 要 本设计是关于自动控制升降旗系统的设计。本着实用、调整控制方便、功能完善等方面的原则,采用在线编程、功能强大的单片机?P89C51RC2HFA来控制步进电机,实现国旗的自动升降等功能。在步进电机的驱动电路上直接选用了模块化的控制器,大大减轻了CPU的负担,也完全符合快速设计的原则。本系统设计了实现精确定时的时钟电路和用于掉电保护的存储电路,同时还设计了功能齐全的键盘/显示电路和使国旗飘扬的鼓风电路以及遥控电路。 该系统具有以下特点:可按键、可遥控自动控制升旗和降旗,并在任意指定位置自动停止,升旗过程中能准确与国歌乐曲同步;实现半旗状态的功能;具有断电保护功能;升降速度可调功能;还具有无线遥控的作用等特点。需要设定的升、降过程以及半旗状态是通过按键实现,并能显示上升或下降时间和旗帜所在高度。本系统的创新点包括:防止升降旗过程中出现冒顶系统;国旗到达顶点时,旗面保持迎风飘扬而不缠杆。在实现以上功能的过程中,升降旗时间在30120秒内可调,通过改变步进电机的转动速度来改变旗帜上升或下降的速度,并通过LED显示上升或下降时间和旗帜所在高度。旗帜达到顶端后,由鼓风机提供风源使旗帜始终处于飘扬的状态。 测试表明,该自动控制升降旗系统达到了题目所有的任务要求,同时在发挥部分的设计要求之上,我们还提出了具有特色的创新点。在操作方便和误差较小的基础上,保证了系统完整协调地工作。 关键字: 自动控制;断电保护;无线遥控;冒顶 ABSTRACT The design is?based on?the practical and convenient adjustment control, and so functional improvement, with the off online programming, the powerful MCU -P89C51RC2HFA to stepper motor control,?to?realize the automatic?raising/lowering of the national flag. Stepper motor drive circuit is directly in the selection of a modular controller, thus reducing the burden on the CPU, but also with the rapid design principle. The system is designed to achieve precise timing and the clock circuit used for solving the memory circuit, but also designed a fully functional keyboard / display circuit, so that the national flag flying and remote control circuit blast The system has the following features:?a flag raising and lowering can be controlled by button or remote control, and can automatically stop at any designated location, the national anthem and flag-raising process can accurately music synchronization; Function of achieving the half-mast state; Have power outages protective function; Adjustable rate movements function; The role also has wireless remote control features. Set the ascending, descending process of the state and half-mast through the button, and it can?show the?time and tallness in?rise or lowering The innovation of the system include: preventing flag rising emerged in the course of rising; Flag arrived at the apex, to keep the flag fluttering in the wind rather than wrapped around poles.?In the process of achieving the above functions, 30-120 seconds for the flag rising is adjustable, by changing the rotational speed of the step motor, the flag raising speed can be changed, and the time & tallness will be showed on the LED. After the flag reached the top, the wind provided by the blower will make the flag in fluttering state The test results show that the flag controlling system raising a topic all of the tasks and requirements, and some features are on top of the design requirementsWe have initiated unique innovations Based on?less error and?convenient?operation, the system?is ensured to work integrated and coordinate. Keyword: Automatic control; Wireless remote control; Power outages protective; Rising emerged目 录1、绪论12、设计总体要求23、方案的比较与选择33.1单片机的选择33.2电机的选择83.3系统工作电源的制作103.4显示的选择124、系统设计134.1系统框图134.2系统硬件设计144.2.1 系统控制电路144.2.2复位电路和步进电机驱动:154.2.3按键与显示电路:164.2.4语音电路:164.2.5无线遥控电路184.2.6定时电路的设计184.2.7接近开关电路的设计204.3软件设计214.3.1主程序214.3.2升旗子程序214.3.3半旗状态子程序224.3.4时间和高度调整子程序225、系统原理与理论分析295.1单片机最小系统组成295.2控制原理295.2.1步进电机驱动脉冲数的计算295.2.2国旗运动的控制305.2.3掉电现场的保护315.2.4无线遥控325.2.5端点保护控制335.2.6创新功能336、操作说明346.1数码管显示说明346.1.1 在国旗上升或下降过程中数码管的编号和功能如下346.1.2 调键状态下编号和功能如下356.2按键操作说明366.3具体操作方法和实现的功能366.3.1升旗376.3.2 半旗376.3.3 国旗到达指定位置376.3.4 升国旗时间的调整386.3.5 开机时的上次运行状态的处理386.3.6 无线遥控386.3.7 抱闸386.3.8防冒顶397、系统调试与测试结果407.1系统分块调试407.2测试结果407.2.1升旗时间和位置测试407.2.2高度调整测试427.2.3时间调整测试427.3误差分析437.3.1滑轮的半径437.3.2软件计算中的误差437.3.3悬挂装置用线的形变437.3.4机械制作工艺上的其他部分448、特色与创新459、参考文献4610、致谢47附录:部分芯片中英文对照481、绪论 随着科学技术的日新月异,自动化技术已成为当代科技发展的潮流,遍及人类生活、生产等各领域。然而传统的国旗升降存在国歌的播放与国旗上升步调不一致,易受环境因素影响等弊端。中华人民共和国国旗是中华人民共和国的象征和标志。为了消除国旗升降中的众多问题提高升旗质量和效率,作为中华人民共和国公民我们有义务做点贡献。因此本研究将致力于用单片机控制国旗自动识别、自动升降,同时自动播放与之相关国歌的研究,同时也用科技彰显出中国国旗和国歌的庄严和庄重性。自动控制技术室一种运用控制理论、仪器仪表、计算机和其他信息技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增加产量、提高质量、降低消耗、确保安全等综合性技术,主要包括工业自动化软件、硬件和系统三大部分。我国自动控制技术发展道路,大多是引进成套设备同时进行消化吸收,然后进行二次开发和应用。 2、设计总体要求 采用P89C51RC2HFA单片机、步进电机、WT2560语音芯片、时钟芯片X1226I、显示电路、遥控电路、按键等基本的部分组成的控制国旗升降系统。采用由单片机控制的步进电机带动国旗升降,实现对国旗升降的自动控制。采用接近开关FR12-4DN,防止旗帜在最高点或最低点误动作,从而实现了双重保险的作用。使用抱闸装置保证步进电机在不通电的时候静止不动。本系统应实现以下特点:(1)可手动、可遥控。即可以通过按键来控制旗帜的匀速升降,也可以通过遥控器来实现远距离控制;(2)可以按照用户的要求上升或下降到指定位置,并可在任意位置停止;(3)国旗在上升过程中能准确与国歌乐曲同步;(4)能实现半旗的升降功能;(5)具有断电保护功能; 在实现以上功能的过程中,升降旗时间在30至120秒内可调,通过改变步进电机的转动速度来改变旗帜上升或下降的速度,并通过LED显示上升、下降时间和旗帜所在高度。旗帜达到顶端后,鼓风机提供的风源使旗帜始终处于飘扬的状态。3、方案的比较与选择3.1单片机的选择 单片机(即CPU)是本系统的工作核心,它的选择不仅关系到系统的工作效率,同时也为系统的工作提供可靠的保障,因此CPU的选择是系统的关键所在。 方案一:采用AT89S52单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。但是AT89S52需外接模数转换器来满足数据采样,硬件电路相对复杂。另外,增强型单片机在线操作不易掌握,需要用仿真器来实现软硬件调试,较为繁琐。 方案二:采用P89C51RC2HFA单片机实现,该单片机内部资源丰富,集成了内部看门狗、双数据指针、在线系统编程(串行下载目标程序)等功能,软硬件调试方便。 本设计采用方案二 AT89S52单片机简介: 1、与MCS-51单片机产品兼容 2、8K字节在系统可编程Flash存储器 3、1000次擦写周期 4、全静态操作:0Hz-33MHz 5、三级加密程序存储器 6、32个可编程I/O口线 7、三个16位定时器/计数器 8、六个中断源 9、全双工UART串行通道 10、低功耗空闲和掉电模式 11、掉电后中断可唤醒 12、看门狗定时器 13、双数据指针 14、掉电标识符引脚说明: AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能: P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 AT89S52引脚图 PLCC封装4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能: P3.0 RXD串行输入口 P3.1 TXD串行输出口 P3.2 INTO外中断0 P3.3 INT1外中断1 P3.4 TO定时/计数器0 P3.5 T1定时/计数器1 P3.6 WR外部数据存储器写选通 P3.7 RD外部数据存储器读选通 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。特殊功能寄存器 并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。 用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。 定时器 2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位(如表2和表3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。 中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。 双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路16位数据指针寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0 选择DP0;DPS1 选择DP1。用户应该在访问数据指针寄存器前先初始化DPS至合理的值。MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。 程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。 对于 89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。 数据存储器:AT89S52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。 当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。 例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV 0A0H , #data使用间接寻址方式访问高128 字节RAM。例如,下面的间接寻址方式中,R0 内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。 MOV R0 , #data堆栈操作也是间接寻址方式。因此,高128字节数据RAM也可用于堆栈空间。3.2电机的选择 电机在本系统中是国旗升降的主要控制部件,它为系统提供动力支持。本文从以下几个方面阐述本系统的方案。 方案一:采用直流电机控制升降旗运动,直流电机力量大,能获得较大的启动转矩,相应快,但控制复杂,不能自锁。 方案二:采用步进电机控制升降旗运动,步进电机是一种作为控制用的特种电机, 它的旋转是以固定的角度称为“步距角”一步一步运行的, 其特点是没有积累误差精度为100%, 所以广泛应用于各种开环控制。步进电机的运行要有一电子装置进行驱动, 这种装置就是步进电机驱动器, 它是把控制系统发出的脉冲信号转化为步进电机的角位移, 或者说: 控制系统每发一个脉冲信号, 通过驱动器就使步进电机旋转一步距角。所以步进电机的转速与脉冲信号的频率成正比。所以,控制步进脉冲信号的频率,可以对电机精确调速;控制步进脉冲的个数,可以对电机精确定位目的。 步进电机不需要使用传感器就能精确定位,而且通过给定的脉冲周期,能够以任意速度转动,定矩运动教精确。虽然步进电机不能高速转动,但根据题目要求的时间和移动距离,步进电机完全能够符合要求,是该种要求下广泛使用的一种电机。基于上述理论分析,我们选择了方案二。 所选步进电机的型号为17HS101,同时考虑降低CPU的负担,避免让CPU来产生步进电机的驱动脉冲节拍以及驱动步进电机的功率驱动电路,因此我们也直接购置与步进电机配对的驱动器,该驱动器型号为SH-2H042Mb,为两相四线式,细分的步距角有0.045、0.09、0.18、0.36、0.9等5档。 步进电机的控制非常简单,从理论上说,只需给驱动器脉冲信号即可,每给驱动器一个CP脉冲,步进电机就旋转一个步距角(细分时为一个细分步距角),也就是说步进电机时时跟随CP脉冲的变化。但是实际上,如果CP信号变化太快,步进电机由于惯性将跟随不上电信号的变化,这时就会产生堵转和丢步现象。所以步进电机在启动时,必须有升速过程;在停止时必须有降速过程,一般来说升速和降速过程规律相同,以下以升速为例介绍。 升速过程由突跳频率加升速曲线组成(降速过程反之)。突跳频率是指步进电机在静止状态时突然施加的脉冲启动频率,此频率不可太大,否则也会产生堵转和丢步。升降速曲线一般为指数曲线或经过修调的指数曲线,当然也可采用直线或正弦曲线等。用户需根据自己的负载选择合适的突跳频率和升降速曲线,找到一条理想的曲线并不容易,一般需要多次试机才行。指数曲线在实际软件编程中比较麻烦,一般事先算好时间常数存贮在计算机存贮器内,工作过程中直接选取。 步进电机的升降速设计为控制软件的主要工作量,其设计水平将直接影响电机运行的平稳性、升降速快慢、电机运行声音、最高速度、定位精度。一种特例是:步进电机的运行速度不超过突跳频率,这时将不存在升降速问题。3.3系统工作电源的制作 直流稳压电源的制作方案较多,而且可供选择的余地也较大,我们本着简单、实用、安全、可靠的原则,着重从以下两个方案中进行了论证选择: 方案一:采用开关电源,优点是输出功率大、体积小、效率低;缺点是输出纹波系数较大、对电网易产生干扰。 方案二:采用传统的线性稳压电源,优点是输出电压可以随意调节、输出纹波系数较小;缺点是效率低、体积大、电路较为复杂,综合成本较高。 综合制作难易程度以及成本和本系统使用实际情况,我们选用了第一套方案。为了能满足步进电机驱动器所需供电电压为单24V/1.7A的要求,我们直接购置了24V/6.5A输出的开关电源作为步进电机的电源。 开关电源就是用通过电路控制开关管进行高速的道通与截止.将直流电转化为高频率的交流电提供给变压器进行变压,从而产生所需要的一组或多组电压!主要用于工业以及一些家用电器上,如电视机,电脑等。 转化为高频交流电的原因是高频交流在变压器变压电路中的效率要比50HZ高很多。所以开关变压器可以做的很小,而且工作时不是很热,成本很低,如果不将50HZ变为高频那开关电源就没有意义。开关电源的按工作原理包括以下部分: 1.交流电源输入经整流滤波成直流; 2.通过高频PWM脉冲宽度调制信号控制开关管,将那个直流加到开关变压器初级上; 3.开关变压器次级感应出高频电压,经整流滤波供给负载; 4.输出部分通过一定的电路反馈给控制电路,控制PWM占空比,以达到稳定输出的目的。 交流电源输入时一般要经过厄流圈一类东西,过滤掉电网上的干扰,同时也过滤电源对电网的干扰;在功率相同时,开关频率越高,开关变压器的体积就越小,但对开关管的要求就越高;开关变压器的次级可以有多个绕组或一个绕组有多个抽头,以得到需要的输出; 一般还应该增加一些保护电路,比如空载、短路等保护,否则可能会烧毁开关电源。一、主电路:从交流电网输入、直流输出的全过程,包括: 1、输入滤波器:其作用是将电网存在的杂波过滤,同时也阻碍本机产生的杂波反馈到公共电网。 2、整流与滤波:将电网交流电源直接整流为较平滑的直流电,以供下一级变换。 3、逆变:将整流后的直流电变为高频交流电,这是高频开关电源的核心部分,频率越高,体积、重量与输出功率之比越小。 4、输出整流与滤波:根据负载需要,提供稳定可靠的直流电源。 二、控制电路 :一方面从输出端取样,经与设定标准进行比较,然后去控制逆变器,改变其频率或脉宽,达到输出稳定,另一方面,根据测试电路提供的资料,经保护电路鉴别,提供控制电路对整机进行各种保护措施。 三、检测电路 :除了提供保护电路中正在运行中各种参数外,还提供各种显示仪表资料。 四、辅助电源 :提供所有单一电路的不同要求电源。3.4显示的选择 方案一:用LED数码管显示旗帜所在的高度和升降旗时间,本题中只需要8只LED数码管进行动态显示高度、时间以及运动状态,优点是接口简单,易于控制,而且比较直观,可视化较强。 方案二:用LED液晶显示器显示,优点是能显示更多的字符,有着良好的人机界面,缺点是控制比较复杂,性能价格比较高。 基于上述分析,所以我们选择方案一。 LED数码管分共阳极与共阴极两种,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极LED数码管则与之相反,它是将发光二极管的阴极负极短接后作为公共阴极。当驱动信号为高电平、?端接低电平时,才能发光。 LED的输出光谱决定其发光颜色以及光辐射纯度,也反映出半导体材料的特性。常见管芯材料有磷化镓GaP、砷化镓GaAs、磷砷化镓GaAsP、氮化镓GaN等,其中氮化镓可发蓝光。发光颜色不仅与管芯材料有关,还与所掺杂质有关,因此用同一种管芯材料可以制成发出红、橙、黄、绿等不同颜色的数码管。其它颜色LED数码管的光谱曲线形状与之相似,仅入,值不同。LED数码管的产品中,以发红光、绿光的居多、这两种颜色也比较醒目。 LED数码管等效于多只具有发光性能的PN结。当PN结导通时,依靠少数载流子的注人及随后的复合而辐射发光,其伏安特性与普通二极管相似。在正向导通之前,正向电流近似于零,笔段不发光。当电压超过开启电压时,电流就急剧上升,笔段发光。4、系统设计4.1系统框图 根据题目要求和上述论证,本系统的系统框图如图3.1所示: 其中微控制器是单片机(AT89S52),通过键盘输入控制信号,实现要求的运动控制,较好地实现了人机对话,并且可以通过LED数码管实时地显示运动状态,国旗当前运动所处的高度以及到此高度所用的时间,升降国旗时间在30秒到120秒内可调。同时也可以设置国旗上升的高度。 电机采用步进电机与其配套的电机驱动器。步进电机可以根据算法,按指定的长度计算步数较精确的正转或反转。在国旗上升与下降的过程中,为防止冒顶事故,用接近开关来控制升旗停止点,通过接近开关的反馈信号,传给微控制器,控制电机的转动,来防止冒顶事故发生。4.2系统硬件设计4.2.1 系统控制电路如图4.2所示 4.2.2复位电路和步进电机驱动: 我们采用P2.3、P2.4控制步进电机。P2.3控制电机的步进脉冲信号,P2.4控制电机的正反转。复位包括上电复位和按键复位。(见图4.3) 4.2.3按键与显示电路: 考虑成本、熟悉程度、器件等众多因素,我们选择了最常用的74LS164作为显示器的驱动器件,用74LS165作为键盘输入寄存器,我们设置的8个键通过并入串出接口芯片74LS165串行接入到单片机。(见图4.4) 图4.4 按键与显示电路4.2.4语音电路: 采用微创公司生产的性能良好,使用方便的WT2560语音芯片(见图3.5)来播放国歌。WT2560是微创系列单片语音录放集成电路的一种。这是一种永久记忆型语音录放电路,录音时间为60s,可重复录放10万次。该芯片采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个EEPOM单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。该器件的采样频率为8.2kHz,同一系列的产品采样频率越低?录放时间越长,但通频带和音质会有所降低。此外,WT2560还省去了A/D和D/A转换器。其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480k字节的EEPOM。WT2560内部EEPOM存储单元均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100ms。此外,WT2560还具备微控制器所需的控制接口。通过操纵地址和控制线可完成不同的任务,以实现复杂的信息处理功能,如信息的组合、连接、设定固定的信息段和信息管理等。WT2560可不分段,也可按最小段长为单位来任意组合分段。图4.5 WT2560/90/120硬封装引脚图 我们把国歌音乐录制在WT2560语音芯片中,然后用它的单次播放功能播放国歌。(见图4.6) 4.2.5无线遥控电路 HS2262将A0A5和A6/D5A11/D0决定的地址和数据进行编码,当TE为低电平时,从DOUT输出编码信号,编码信号提供给RF或IR电路发射,由RF或IR接收电路接收后,经HS2272解码,实现遥控编码和解码。 一块无线发射芯片HS2262和接收芯片HS2272设计的电路有4个输入信号,完全满足设计要求的3按键遥控。4.2.6定时电路的设计 我们在系统的设计上,对题目的功能要求进行了发挥,不仅显示旗帜运动时位置而且显示运动时间,使得系统更加直观。对于时间的控制,尽管CPU内部能进行定时控制,但为了提高精度和节省CPU的资源,我们专门设计了外部定时电路,选择Intersil公司的实时时钟芯片ISL12026,它是一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。ISL12026 的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。内部时钟电路、内部振荡电路、内部低电压检测电路1.0V 以及两线制I2C 总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的可靠性。同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。因而,ISL12026 是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。X1226具有时钟和日历的功能,时钟依赖时、分、秒寄存器来跟踪,日历依赖日期、星期、月和年寄存器来跟踪,日历可正确显示至2099年,并具有自动闰年修正功能。拥有强大的双报警功能,能够被设置到任何时钟/日历值上,精确度可到1秒。可用软件设置1Hz、4096Hz或32768Hz中任意一个频率输出。由于系统只对物体的运动计时,我们只运用32分频脉冲输出即可,该方波信号1/32 S向CPU申请一次中断,CPU在中断服务程序中,对运动的时间加1处理并显示。ISL12026有16个8位寄存器,其中包括:可自动增量的地址寄存器、内置32.768kHz的振荡器(带有一个内部集成电容)、分频器(用于给实时时钟RTC提供源时钟)、可编程时钟输出、定时器、报警器、掉电检测器和400kHz的I2C总线接口。 X1226提供一个备份电源输入脚VBACK,允许器件用电池或大容量电容进行备份供电。采用电容供电时,用一个硅或肖特基二极管连接到Vcc和充电电容的两端,充电电容连接到Vback管脚,注意不能使用二极管对电池充电特别是锂离子电池。切换到电池供电的条件是VccVback-0.1V,正常操作期间,供电电压Vcc必须高于电池电压,否则电池电量将逐步耗尽。振荡器采用外接32.768kH的晶体,产生的振荡误差可通过软件对数字微调寄存器、模拟微调寄存器的数值进行调节加以修正,避免了外接电阻和电容的离散性对精度的影响。4Kb的EEPROM可用于存储户数据。 所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。当一个RTC寄存器被读时,所有计数器的内容将被锁存,因此,在传送条件下,可以禁止对时钟/日历芯片的错读。(见图4.7)4.2.7接近开关电路的设计 两个接近开关在国旗到达顶部或者下降到底部时输出较高的电压,没有时输出一个较低的电压,通过LM324进行电压比较,检测到黑线时,输出为“1”,否则为“0”。单片机的P0口接收到这些信号后,通过逻辑判断来判断电机的动作,让物体沿着预定轨道运行。检测接口硬件电路见图4.8 4.3软件设计 整个系统主要任务是使国旗执行升降旗、半旗、时间调整、高度调整四种运动,这样系统软件设计就可以分块完成。主程序部分,主要是查键盘,通过查键,检测应该做什么运动,键值不同调用不同的子程序。子程序包括上、下运动、半旗、运动时间调整和高度调整等。4.3.1主程序 主程序主要用于处理键盘和显示程序,流程图如图4.9所示4.3.2升旗子程序 主程序如在执行过程中,扫描到升旗键被按下,将自动调用升旗子程序,实现升旗功能并在升旗过程中伴随国歌响起,流程图如图4.10所示4.3.3半旗状态子程序 和升旗子程序类似,当主程序扫描到半旗键被按下,将自动调用半旗状态子程序,实现半旗状态功能并在上升过程中伴随国歌响起,流程图如图4.11所示4.3.4时间和高度调整子程序 在题目中要求升降旗的速度是可调整的,时间和高度调整的子程序分别如图3.12和图4.13所示。 附图:流程图部分 错误!未找到索引项。 旗下降 5、系统原理与理论分析5.1单片机最小系统组成 单片机系统是整个自动控制升降旗系统的核心部分,它主要用于键盘按键或遥控管理、步进电机控制国旗的升降与国歌同步、升降旗时间调整。整个系统主要包括P89C51RC2HFA单片机、步进电机、步进电机驱动器、鼓风机、无线遥控、数码管显示译码芯片74LS164与74LS165等器件。5.2控制原理5.2.1步进电机驱动脉冲数的计算 实现本系统的控制,关键在于将国旗升降高度与控制电机的转向及回转角度对应起来,二者紧密配合,最终实现对国旗升降的运动控制。控制电机的转向就可以控制国旗上升和下降,为了准确实现可变的时间和高度控制的匀速升降,需要精确计算在一定人眼不能识别的时间内的步进电机的脉冲数。 步进电机我们选用的细分的步进角0.9度的档,步进电机的定轴直径为1.27324cm,则每步拉出的线长为0.02?,完全符合精度的要求。 高度可调步长为1?,可调时间间隔为1s。在程序设计中,我们运用时间精度很高的ISL12026产生34Hz的中断脉冲送给我们单片机的外部中断1。 在整个上升或下降过程中,高度(high)为总高度,可通过公式: 步进电机要转动的总步数:总步数高度(high)/0.02; 分次转动的次数为:次数总时间(time)*32; 每(1/32s)走的步数:步数总步数/次数; 除后余数的步数为:余步数总步数%次数。 这样步进电机在转动时需要没1/32s走一次,系统不可避免地会出现余数的现象,这里我们采用插补补偿的方法来解决这个问题。处理思路为:我们分两种情况考虑,当余步数为0时,每次按计算的步数运转一定的次数就能满足要求;当余步数不为0时,先在循环程序中分余步数次运转步数的基础上再加一次,然后再按正常的步数转动。开始运动时打开外部中断,结束后等待中断到来再进入下一次循环。上升和下降的原理类似。 在步进电机运动的过程中,实时显示运动时间和所在位置,并不断保护现场数据,存放于ISL12026中。5.2.2国旗运动的控制 在主程序中,循环查键和无线遥控信号(随后有详细介绍)。系统的按键共有9个,其中上升键、下降键、半旗键、调时间键、调高度键和暂停键为优先扫描键,而增量键和减量键为配合使用键,复位键则为高级中断键。 (1)“上升键”按下时,对WT2560输出播音控制信号播放国歌,国旗经43s的时间匀速上升至旗杆顶端,国歌播放完毕。此时程序只扫描下降键,下降键按下有效时,国旗经43s的时间匀速下降至地端。 (2)“半旗键”按下时,对WT2560输出播音控制信号播放国歌,国旗经43s的时间匀速从最低端上升到最高端之后,国歌停奏,然后自动经14s的时间匀速下降到总高度的2/3高度处(120cm)停止;此时程序只扫描下降键,下降键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论