自动升降旗系统

上传人:仙*** 文档编号:34801789 上传时间:2021-10-23 格式:DOC 页数:61 大小:672KB
返回 下载 相关 举报
自动升降旗系统_第1页
第1页 / 共61页
自动升降旗系统_第2页
第2页 / 共61页
自动升降旗系统_第3页
第3页 / 共61页
点击查看更多>>
资源描述
山东科技大学摘 要本设计是关于自动控制升降旗系统的设计。本着实用、调整控制方便、功能完善等方面的原则,采用在线编程、功能强大的单片机P89C51RC2HFA来控制步进电机,实现国旗的自动升降等功能。在步进电机的驱动电路上直接选用了模块化的控制器,大大减轻了CPU的负担,也完全符合快速设计的原则。本系统设计了实现精确定时的时钟电路和用于掉电保护的存储电路,同时还设计了功能齐全的键盘/显示电路和使国旗飘扬的鼓风电路以及遥控电路。该系统具有以下特点:可按键、可遥控自动控制升旗和降旗,并在任意指定位置自动停止,升旗过程中能准确与国歌乐曲同步;实现半旗状态的功能;具有断电保护功能;升降速度可调功能;还具有无线遥控的作用等特点。需要设定的升、降过程以及半旗状态是通过按键实现,并能显示上升或下降时间和旗帜所在高度。本系统的创新点包括:防止升降旗过程中出现冒顶系统;国旗到达顶点时,旗面保持迎风飘扬而不缠杆。在实现以上功能的过程中,升降旗时间在30120秒内可调,通过改变步进电机的转动速度来改变旗帜上升或下降的速度,并通过LED显示上升或下降时间和旗帜所在高度。旗帜达到顶端后,由鼓风机提供风源使旗帜始终处于飘扬的状态。测试表明,该自动控制升降旗系统达到了题目所有的任务要求,同时在发挥部分的设计要求之上,我们还提出了具有特色的创新点。在操作方便和误差较小的基础上,保证了系统完整协调地工作。关键字: 自动控制;断电保护;无线遥控;冒顶ABSTRACTThe design isbased onthe practical and convenient adjustment control, and so functional improvement, with the off online programming, the powerful MCU -P89C51RC2HFA to stepper motor control,torealize the automaticraising/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 canshow thetime and tallness inrise 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 requirements.We have initiated unique innovations. Based onless error andconvenientoperation, the systemis ensured to work integrated and coordinate. Keyword: Automatic control; Wireless remote control; Power outages protective; Rising emerged目 录摘要 1ABSTRACT 2目录 41.设计总体要求 62.方案的比较与选择 72.1单片机的选择 72.2电机的选择 142.3系统工作电源的制作 162.4显示的选择 183.系统设计 203.1 系统框图 203.2系统硬件设计 213.3软件设计 294、系统原理与理论分析 364.1单片机最小系统组成 364.2控制原理 365、操作说明 415.1数码管显示说明 415.2按键操作说明 425.3具体操作方法和实现的功能 436、系统调试与测试结果 46 6.1系统分块调试 466.2测试结果 466.3误差分析 497、特色与创新 508、参考文献 519、致谢辞 52附录:部分芯片简介中英文对照 531.设计总体要求采用P89C51RC2HFA单片机、步进电机、WT2560语音芯片、时钟芯片X1226I、显示电路、遥控电路、按键等基本的部分组成的控制国旗升降系统。采用由单片机控制的步进电机带动国旗升降,实现对国旗升降的自动控制。采用接近开关FR12-4DN,防止旗帜在最高点或最低点误动作,从而实现了双重保险的作用。使用抱闸装置保证步进电机在不通电的时候静止不动。本系统应实现以下特点:(1)可手动、可遥控。即可以通过按键来控制旗帜的匀速升降,也可以通过遥控器来实现远距离控制;(2)可以按照用户的要求上升或下降到指定位置,并可在任意位置停止;(3)国旗在上升过程中能准确与国歌乐曲同步;(4)能实现半旗的升降功能;(5)具有断电保护功能;在实现以上功能的过程中,升降旗时间在30120秒内可调,通过改变步进电机的转动速度来改变旗帜上升或下降的速度,并通过LED显示上升或下降时间和旗帜所在高度。旗帜达到顶端后,由鼓风机提供风源使旗帜始终处于飘扬的状态。2.方案的比较与选择2.1单片机的选择单片机(即CPU)是本系统的工作核心,它的选择不仅关系到系统的工作效率,同时也为系统的工作提供可靠的保障,因此CPU的选择是系统的关键所在。方案一:采用AT89C51单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。但是AT89C51需外接模数转换器来满足数据采样,硬件电路相对复杂。另外,增强型单片机在线操作不易掌握,需要用仿真器来实现软硬件调试,较为繁琐。方案二:采用P89C51RC2HFA单片机实现,该单片机内部资源丰富,集成了内部看门狗、双数据指针、在线系统编程(串行下载目标程序)等功能,软硬件调试方便。P89C51RC2HFA简介:P89C51RB2/RC2/RD2 具有16K/32K/64K 并行可编程的非易失性FLASH 程序存储器并可实现对器件串行在系统编程ISP 和在应用中编程(IAP) 在系统编程ISP In-System Programming 当MCU 安装在用户板上时允许用户下载新的代码在应用中编程IAP In-Application Programming MCU 可以在系统中获取新代码并对自己重新编程这种方法允许通过调制解调器连接进行远程编程片内ROM 中固化的默认的加载程序Boot Loader 允许ISP 通过UART 将程序代码装入Flash 存储器而Flash 代码中,而不需要加载程序对于IAP 用户程序擦除和重编程Flash Memory 的操作是通过使用片内ROM 中的标准程序,该器件的1 个机器周期由6 个时钟周期组成因此运行速度是传统80C51 的2 倍一个OTP 配置位可让用户选择传统的12 时钟周期该系列单片机是80C51 微控制器的派生器件是采用先进CMOS 工艺制造的8 位微控制器指令系统与80C51 完全相同,有4 组8 位I/O 口3 个16 位定时/计数器多个中断源4 个中断优先级嵌套中断结构1 个增强型UART 片内振荡器及时序电路,新增的特性使得89C51RB2/RC2/RD2 成为功能更强大的微控制器更好地支持应用于脉宽调制高速I/O 递增/递减计数能力如电机控制等场合。l 80C51 核心处理单元;l 具有ISP 和IAP 功能的片内FLASH 程序存储器;l 片内Boot ROM 包含底层FLASH 编程子程序以实现通过UART 下载程序;l 可实现最终用户应用的编程IAP;l 与87C51 兼容的并行编程硬件接口;l 每个机器周期为6 个时钟周期标准;l 可选择12 个时钟周期的机器周期;l 采用6 时钟周期时频率可高达20MHz 相当于40MHz 采用12 时钟周期时频率可达33MHz;l 全静态操作;l RAM 可扩展到64K 字节;l 4 个中断优先级;l 7 个中断源;l 4 个8 位I/O 口;l 全双工增强型UART;帧错误检测;自动地址识别;l 电源控制模式时钟可停止和恢复空闲模式掉电模式l 可编程时钟输出;l 异步端口复位;l 双DHSR 寄存器;l 低EMI 禁止ALE;l 可编程计数器阵列PCA。PWM捕获/比较。 P89C51RC2HFA是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用philips 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得P89C51RC2HFA众多嵌入式控制应用系统提供高灵活、超有效的解决方案。图 2.1 P89C51RC2HFA管脚图 P89C51RC2HFA具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,两个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,P89C51RC2HFA 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 8 位微控制器(见图 2.1)(1)VCC : 电源GND: 地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.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。(2)引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DHSR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为P89C51RC2HFA特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。 引脚号第二功能P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当P89C51RC2HFA从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。 (3)P89C51RC2HFA 特殊寄存器映象及复位值特殊功能寄存器 并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。定时器2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位,寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。 (4)T2CON:定时器/计数器2控制寄存器T2CON 地址为0C8H 复位值:0000 0000B位可寻址TF2 EXF2 RLCLK TCLK EXEN2 TR27 6 5 4 3 2 1 0符号功能TF2 定时器2 溢出标志位。必须软件清“0”。RCLK=1 或TCLK=1 时,TF2不用置位。EXF2 定时器2 外部标志位。EXEN2=1 时,T2EX 上的负跳变而出现捕捉或重载时,EXF2 会被硬件置位。定时器2 打开,EXF2=1 时,将引导CPU执行定时器2 中断程序。EXF2 必须如见清“0”。在向下/向上技术模式(DCEN=1)下EXF2不能引起中断。RCLK 串行口接收数据时钟标志位。若RCLK=1,串行口将使用定时器2 溢出脉冲作为串行口工作模式1 和3 的串口接收时钟;RCLK0,将使用定时器1计数溢出作为串口接收时钟。TCLK 串行口发送数据时钟标志位。若TCLK=1,串行口将使用定时器2 溢出脉冲作为串行口工作模式1 和3 的串口发送时钟;TCLK0,将使用定时器1计数溢出作为串口发送时钟。EXEN2 定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟,T2EX(P1.1)的负跳变见引起定时器2 捕捉和重载。若EXEN20,定时器2将视T2EX端的信号无效TR2 开始/停止控制定时器2。TR2=1,定时器2开始工作定时器2 定时/计数选择标志位。0,定时; 1,外部事件计数(下降沿触发)捕捉/重载选择标志位。当EXEN2=1时, 1,T2EX出现负脉冲,会引起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负跳变,都会出现自动重载操作。0 将引起T2EX 的负脉冲。当RCKL=1或TCKL1时,此标志位无效,定时器2溢出时,强制做自动重载操作。双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路16位数据指针寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0 选择DP0;DPS=1 选择DP1。用户应该在访问数据指针寄存器前先初始化 (5)存储器结构 MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。 程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。 对于P89C51RC2HFA 89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。 数据存储器:P89C51RC2HFA 有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也可用于堆栈空间。2.2电机的选择电机在本系统中是国旗升降的主要控制部件,它为系统提供动力支持。本文从以下几个方面阐述本系统的方案。方案一:采用直流电机控制升降旗运动,直流电机力量大,能获得较大的启动转矩,相应快,但控制复杂,不能自锁。方案二:采用步进电机控制升降旗运动,步进电机是一种作为控制用的特种电机, 它的旋转是以固定的角度(称为“步距角”)一步一步运行的, 其特点是没有积累误差(精度为100%), 所以广泛应用于各种开环控制。步进电机的运行要有一电子装置进行驱动, 这种装置就是步进电机驱动器, 它是把控制系统发出的脉冲信号转化为步进电机的角位移, 或者说: 控制系统每发一个脉冲信号, 通过驱动器就使步进电机旋转一步距角。所以步进电机的转速与脉冲信号的频率成正比。所以,控制步进脉冲信号的频率,可以对电机精确调速;控制步进脉冲的个数,可以对电机精确定位目的。步进电机不需要使用传感器就能精确定位,而且通过给定的脉冲周期,能够以任意速度转动,定矩运动教精确。虽然步进电机不能高速转动,但根据题目要求的时间和移动距离,步进电机完全能够符合要求,是该种要求下广泛使用的一种电机。基于上述理论分析,我们选择了方案二。所选步进电机的型号为17HS101,同时考虑降低CPU的负担,避免让CPU来产生步进电机的驱动脉冲节拍以及驱动步进电机的功率驱动电路,因此我们也直接购置与步进电机配对的驱动器,该驱动器型号为SH-2H042Mb,为两相四线式,细分的步距角有0.045、0.09、0.18、0.36、0.9等5档。步进电机的控制非常简单,从理论上说,只需给驱动器脉冲信号即可,每给驱动器一个CP脉冲,步进电机就旋转一个步距角(细分时为一个细分步距角),也就是说步进电机时时跟随CP脉冲的变化。但是实际上,如果CP信号变化太快,步进电机由于惯性将跟随不上电信号的变化,这时就会产生堵转和丢步现象。所以步进电机在启动时,必须有升速过程;在停止时必须有降速过程,一般来说升速和降速过程规律相同,以下以升速为例介绍。升速过程由突跳频率加升速曲线组成(降速过程反之)。突跳频率是指步进电机在静止状态时突然施加的脉冲启动频率,此频率不可太大,否则也会产生堵转和丢步。升降速曲线一般为指数曲线或经过修调的指数曲线,当然也可采用直线或正弦曲线等。用户需根据自己的负载选择合适的突跳频率和升降速曲线,找到一条理想的曲线并不容易,一般需要多次试机才行。指数曲线在实际软件编程中比较麻烦,一般事先算好时间常数存贮在计算机存贮器内,工作过程中直接选取。步进电机的升降速设计为控制软件的主要工作量,其设计水平将直接影响电机运行的平稳性、升降速快慢、电机运行声音、最高速度、定位精度。一种特例是:步进电机的运行速度不超过突跳频率,这时将不存在升降速问题。2.3系统工作电源的制作直流稳压电源的制作方案较多,而且可供选择的余地也较大,我们本着简单、实用、安全、可靠的原则,着重从以下两个方案中进行了论证选择:方案一:采用开关电源,优点是输出功率大、体积小、效率低;缺点是输出纹波系数较大、对电网易产生干扰。方案二:采用传统的线性稳压电源,优点是输出电压可以随意调节、输出纹波系数较小;缺点是效率低、体积大、电路较为复杂,综合成本较高。综合制作难易程度以及成本和本系统使用实际情况,我们选用了第一套方案。为了能满足步进电机驱动器所需供电电压为单24V/1.7A的要求,我们直接购置了24V/6.5A输出的开关电源作为步进电机的电源。开关电源就是用通过电路控制开关管进行高速的道通与截止将直流电转化为高频率的交流电提供给变压器进行变压,从而产生所需要的一组或多组电压!主要用于工业以及一些家用电器上,如电视机,电脑等。 转化为高频交流电的原因是高频交流在变压器变压电路中的效率要比50HZ高很多。所以开关变压器可以做的很小,而且工作时不是很热,成本很低,如果不将50HZ变为高频那开关电源就没有意义。开关电源的按工作原理包括以下部分: (1).交流电源输入经整流滤波成直流; (2).通过高频PWM(脉冲宽度调制)信号控制开关管,将那个直流加到开关变压器初级上; (3).开关变压器次级感应出高频电压,经整流滤波供给负载; (4).输出部分通过一定的电路反馈给控制电路,控制PWM占空比,以达到稳定输出的目的。交流电源输入时一般要经过厄流圈一类东西,过滤掉电网上的干扰,同时也过滤电源对电网的干扰;在功率相同时,开关频率越高,开关变压器的体积就越小,但对开关管的要求就越高;开关变压器的次级可以有多个绕组或一个绕组有多个抽头,以得到需要的输出; 一般还应该增加一些保护电路,比如空载、短路等保护,否则可能会烧毁开关电源。(一)、主电路:从交流电网输入、直流输出的全过程,包括: (1)、输入滤波器:其作用是将电网存在的杂波过滤,同时也阻碍本机产生的杂波反馈到公共电网。 (2)、整流与滤波:将电网交流电源直接整流为较平滑的直流电,以供下一级变换。 (3)、逆变:将整流后的直流电变为高频交流电,这是高频开关电源的核心部分,频率越高,体积、重量与输出功率之比越小。 (4)、输出整流与滤波:根据负载需要,提供稳定可靠的直流电源。 (二)、控制电路 :一方面从输出端取样,经与设定标准进行比较,然后去控制逆变器,改变其频率或脉宽,达到输出稳定,另一方面,根据测试电路提供的资料,经保护电路鉴别,提供控制电路对整机进行各种保护措施。 (三)、检测电路 :除了提供保护电路中正在运行中各种参数外,还提供各种显示仪表资料。 (四)、辅助电源 :提供所有单一电路的不同要求电源。2.4显示的选择方案一:用LED数码管显示旗帜所在的高度和升降旗时间,本题中只需要8只LED数码管进行动态显示高度、时间以及运动状态,优点是接口简单,易于控制,而且比较直观,可视化较强。方案二:用LED液晶显示器显示,优点是能显示更多的字符,有着良好的人机界面,缺点是控制比较复杂,性能价格比较高。基于上述分析,所以我们选择方案一。LED数码管分共阳极与共阴极两种,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极LED数码管则与之相反,它是将发光二极管的阴极(负极)短接后作为公共阴极。当驱动信号为高电平、端接低电平时,才能发光。LED的输出光谱决定其发光颜色以及光辐射纯度,也反映出半导体材料的特性。常见管芯材料有磷化镓(GaP)、砷化镓(GaAs)、磷砷化镓(GaAsP)、氮化镓(GaN)等,其中氮化镓可发蓝光。发光颜色不仅与管芯材料有关,还与所掺杂质有关,因此用同一种管芯材料可以制成发出红、橙、黄、绿等不同颜色的数码管。其它颜色LED数码管的光谱曲线形状与之相似,仅入,值不同。LED数码管的产品中,以发红光、绿光的居多、这两种颜色也比较醒目。LED数码管等效于多只具有发光性能的PN结。当PN结导通时,依靠少数载流子的注人及随后的复合而辐射发光,其伏安特性与普通二极管相似。在正向导通之前,正向电流近似于零,笔段不发光。当电压超过开启电压时,电流就急剧上升,笔段发光。3、系统设计3.1系统框图根据题目要求和上述论证,本系统的系统框图如图3.1所示:微控制器EEPROM步进电机接近开关LED数码显示电机驱动器无线遥控键盘负载鼓风机定时电路图3.1 系统结构框图 其中微控制器是单片机(P89C51RC2HFA),通过键盘输入控制信号,实现要求的运动控制,较好地实现了人机对话,并且可以通过LED数码管实时地显示运动状态,国旗当前运动所处的高度以及到此高度所用的时间,升降国旗时间在30秒到120秒内可调。同时也可以设置国旗上升的高度。 电机采用步进电机与其配套的电机驱动器。步进电机可以根据算法,按指定的长度计算步数较精确的正转或反转。在国旗上升与下降的过程中,为防止冒顶事故,用接近开关来控制升旗停止点,通过接近开关的反馈信号,传给微控制器,控制电机的转动,来防止冒顶事故发生。3.2系统硬件设计3.2.1系统主控制电路:(见图3.2)图3.2 系统主控制电路图3.2.2复位电路和步进电机驱动:我们采用P2.3、P2.4控制步进电机。P2.3控制电机的步进脉冲信号,P2.4控制电机的正反转。复位包括上电复位和按键复位。(见图3.3) 图3.3 复位电路和步进电机驱动电路3.2.3按键与显示电路:考虑成本、熟悉程度、器件等众多因素,我们选择了最常用的74LS164作为显示器的驱动器件,用74LS165作为键盘输入寄存器,我们设置的8个键通过并入串出接口芯片74LS165串行接入到单片机。(见图3.4)图3.4 按键与显示电路3.2.4语音电路:采用微创公司生产的性能良好,使用方便的WT2560语音芯片(见图3.5)来播放国歌。WT2560是微创系列单片语音录放集成电路的一种。这是一种永久记忆型语音录放电路,录音时间为60,可重复录放10万次。该芯片采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个EEPOM单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。该器件的采样频率为8.2kHz,同一系列的产品采样频率越低录放时间越长,但通频带和音质会有所降低。此外,WT2560还省去了A/D和D/A转换器。其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480k字节的EEPOM。WT2560内部EEPOM存储单元均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100。此外,WT2560还具备微控制器所需的控制接口。通过操纵地址和控制线可完成不同的任务,以实现复杂的信息处理功能,如信息的组合、连接、设定固定的信息段和信息管理等。WT2560可不分段,也可按最小段长为单位来任意组合分段。图3.5 WT256090120硬封装引脚图我们把国歌音乐录制在WT2560语音芯片中,然后用它的单次播放功能播放国歌。(见图3.6)图3.6 语音录放电路3.2.5无线遥控电路HS2262将A0A5和A6/D5A11/D0决定的地址和数据进行编码,当TE为低电平时,从DOUT输出编码信号,编码信号提供给RF或IR电路发射,由RF或IR接收电路接收后,经HS2272解码,实现遥控编码和解码。一块无线发射芯片HS2262和接收芯片HS2272设计的电路有4个输入信号,完全满足设计要求的3按键遥控。3.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管脚,注意不能使用二极管对电池充电(特别是锂离子电池)。切换到电池供电的条件是Vcc=Vback-0.1V,正常操作期间,供电电压Vcc必须高于电池电压,否则电池电量将逐步耗尽。振荡器采用外接32.768kH的晶体,产生的振荡误差可通过软件对数字微调寄存器、模拟微调寄存器的数值进行调节加以修正,避免了外接电阻和电容的离散性对精度的影响。4Kb的EEPROM可用于存储户数据。 所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。当一个RTC寄存器被读时,所有计数器的内容将被锁存,因此,在传送条件下,可以禁止对时钟日历芯片的错读。(见图3.7)图3.7 ISL12026定时电路图3.7 AT24电路3.2.7接近开关电路的设计两个接近开关在国旗到达顶部或者下降到底部时输出较高的电压,没有时输出一个较低的电压,通过LM324进行电压比较,检测到黑线时,输出为“1”,否则为“0”。单片机的P0口接收到这些信号后,通过逻辑判断来判断电机的动作,让物体沿着预定轨道运行。检测接口硬件电路见图3.8图3.8 接近开关电路3.3软件设计整个系统主要任务是使国旗执行升降旗、半旗、时间调整、高度调整四种运动,这样系统软件设计就可以分块完成。主程序部分,主要是查键盘,通过查键,检测应该做什么运动,键值不同调用不同的子程序。子程序包括上、下运动、半旗、运动时间调整和高度调整等。3.3.1主程序主程序主要用于处理键盘和显示程序,流程图如图3.9所示3.3.2升旗子程序主程序如在执行过程中,扫描到升旗键被按下,将自动调用升旗子程序,实现升旗功能并在升旗过程中伴随国歌响起,流程图如图3.10所示3.3.3半旗状态子程序和升旗子程序类似,当主程序扫描到半旗键被按下,将自动调用半旗状态子程序,实现半旗状态功能并在上升过程中伴随国歌响起,流程图如图3.11所示3.3.4时间和高度调整子程序在题目中要求升降旗的速度是可调整的,时间和高度调整的子程序分别如图3.12和图3.13所示。附图:流程图部分通电初始化掉电处理键盘扫描有键按下?键处理NY图3.9 主程序流程图键处理YYYyyYYYyyNNN按键处理升旗?半旗?调节时间?调节高度?升旗子程序半旗子程序调时间子程序调高度子程序YYYyyYYYyy图3.10 按键处理子程序流程图图3.11 升旗处理子程序流程图NY半旗国歌响 国旗先上升到顶国歌响停 下降到三分之二处 下降键?先上升到顶后下降到底返回图3.12 半旗按键处理子程序流程图NY升旗步进电机正转国歌响国旗上升到顶下降键?国旗下降到底返回NNYNYYNNNYY调整时间键加键?减键?时间键?加1s减1s上升键?旗上升下降键?时间键旗下降返回确认取消图3.13 时间调整子程序流程图Y旗下降旗上升图3.14 设置高度子程序流程图YN下降键?旗下降返回YNNYNNYNY调整高度键加键?减键?加0.02cm减0.02cm高度键?上升键?旗上升高度键?确认取消旗上升旗下降先上升60后下降180掉电处理读2416高度为120cm?高度为180cm?高度为0cm?其他高度?返回NNNNYYY下降键?NYY下降键?N下降180下降至0cm图3.15 上电子程序流程图4、系统原理与理论分析4.1单片机最小系统组成单片机系统是整个自动控制升降旗系统的核心部分,它主要用于键盘按键或遥控管理、步进电机控制国旗的升降与国歌同步、升降旗时间调整。整个系统主要包括P89C51RC2HFA单片机、步进电机、步进电机驱动器、鼓风机、无线遥控、数码管显示译码芯片74LS164与74LS165等器件。4.2控制原理4.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中。4.2.2国旗运动的控制在主程序中,循环查键和无线遥控信号(随后有详细介绍)。系统的按键共有9个,其中上升键、下降键、半旗键、调时间键、调高度键和暂停键为优先扫描键,而增量键和减量键为配合使用键,复位键则为高级中断键。(1)“上升键”按下时,对WT2560输出播音控制信号播放国歌,国旗经43s的时间匀速上升至旗杆顶端,国歌播放完毕。此时程序只扫描下降键,下降键按下有效时,国旗经43s的时间匀速下降至地端。(2)“半旗键”按下时,对WT2560输出播音控制信号播放国歌,国旗经43s的时间匀速从最低端上升到最高端之后,国歌停奏,然后自动经14s的时间匀速下降到总高度的2/3高度处(120cm)停止;此时程序只扫描下降键,下降键按下时,可以使国旗先从2/3高度处经14s的时间匀速上升到最高端,再自动从最高端经43s的时间匀速下降到底之后自动停止,此时国歌停奏。(3)“调时间键”按下时,此时第二优先级的增量键、减量键、调时间键有效,时间可以通过加减键以1s步长设置,范围为30s120s,加减键可单按,也可连加连减。如第二次按下调时间键时,时间调整确认,此时上升键有效,当按上升键时,国旗以设定时间匀速上升,国歌不演奏,当到达顶端时等待下降键按下,下降键按下后以同样的速度下降至底端,程序返回。如果不是上升键按下,不演示时间调整的运动过程,而调时间键第三次按下时,时间调整取消。返回扫描键程序。(4)“设置高度键”按下时,此时第二优先级的增量键、减量键、调高度键有效,高度可单按键或连加连减,高度的调整范围为1cm180cm,如第二次按下调高度键时,高度调整确认,此时上升键有效,如果此时按下上升键时,此时国旗上升到达设定的位置,所用时间为(高度/4)s,此时国歌也不演奏。到达设定的位置后,等待上升键,上升键按下时,国旗以同样的速度下降至底端,程序返回。不是上升键按下而是调高度键第三次按下时,高度设置取消,程序返回至查键程序。(5)复位键”任何条件下都有效,当按下时,系统会恢复原始状态。此键主要用于程序跑飞的情况下。上述的按键,不同的优先级是它们具有不同的使能有效时段,这样在操作过程中不会因为误操作而产生影响。4.2.3掉电现场的保护掉电现场的保护主要包括两个方面:一是断掉电后国旗位置不变,二是断掉电之后重新合上电源,旗帜所在的高度数据显示不变。前者的保护措施是通过使用电磁阀紧急滞动来实现,在正常情况下,电磁阀处于吸合状态;而在掉电情况下,它则丢失磁力弹出磁片阻止电机运转,从而使国旗的位置保持原位。后者则是为了保障断电后再次加电时,国旗所在的高度和数据显示不变。在每次中断数据改变时,把国旗所在的精确位置和状态写在ISL12026中。在下次上电时,首先读ISL12026的数据,检查国旗所在的位置。细分状态如下:A如果在0cm位置,不做处理。B如果在180cm位置,此时为升旗状态上升的最高点,查询下降键,等待下降键按下。当下降键按下时,国旗经过43s的时间匀速下降至0cm最低端处。C如果在120cm位置,此时为半旗状态上升的停止点,则查询下降键,等待下降键按下。当下降键按下时,国旗经过14s的时间先升至最高点180cm,后经过43s的时间下降至0cm最低端处。D在其它任意位置,上电后,直接自动下降至最低点,所需时间为(高度/4)s,不需要键控制。这整个过程中,ISL12026所存的位置数据一定要精确,确保不出现误差积累现象。4.2.4无线遥控无线遥控升、降旗及停止功能,设计在键盘扫描状态中,同时扫描遥控输入状态,无线遥控控制国旗的上升、下降和暂停。我们选用的无线模块控制范围为200m,为了防止外部遥控器的干扰,我们对SC2272-L4和SC2262设置相同的地址,屏蔽其它相同类型控制器的干扰。国旗运动时的停止功能,在32Hz中断中查询是否有暂停键包括无线遥控中的暂停按键按下,如有暂停按键按下,关外部中断,等待停止键再次按下后继续工作。4.2.5端点保护控制利用接近开关检测端点,当国旗上升到顶端时,接近开关输出控制信号,断开电源,同时电磁阀动作抱闸,实现双保险功能。4.2.6创新功能A检测端点功能。在顶端和最低端安装接近开关,为防止程序跑飞和干扰,程序检测到顶端接近开关有信号时,强制步进电机制动国旗不再上升;程序检测到最低端接近开关有信号时,强制步进电机制动国旗不再下降。B抱闸功能。用电磁阀制作一个停电或断电自动抱闸功能,根据电磁阀的原理,220交流电有电时,线圈有磁,铁心弹出顶住定滑轮制动,保证
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!