自动控制升降旗系统毕业论文16392.doc

上传人:仙人指路1688 文档编号:2956426 上传时间:2023-03-05 格式:DOC 页数:47 大小:14.54MB
返回 下载 相关 举报
自动控制升降旗系统毕业论文16392.doc_第1页
第1页 / 共47页
自动控制升降旗系统毕业论文16392.doc_第2页
第2页 / 共47页
自动控制升降旗系统毕业论文16392.doc_第3页
第3页 / 共47页
自动控制升降旗系统毕业论文16392.doc_第4页
第4页 / 共47页
自动控制升降旗系统毕业论文16392.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《自动控制升降旗系统毕业论文16392.doc》由会员分享,可在线阅读,更多相关《自动控制升降旗系统毕业论文16392.doc(47页珍藏版)》请在三一办公上搜索。

1、自动控制升降旗系统的设计目录引言11.方案论证及选择21.1 采用STC89C52单片机设计自动升降旗控制系统21.2采用数字电路设计自动控制升降旗系统21.3采用PIC16F877A单片机设计自动控制升降旗系统31.4 总方案的选择32系统硬件的设计52.1 单片机最小系统的设计52.1.1 晶振电路的设计52.1.2 复位电路设计52.2 电机驱动模块的设计52.2.1 28BYJ-48步进电机52.2.2 ULN2003芯片72.3语音模块的设计72.4液晶显示模块的设计92.5无线遥控模块的设计102.6 旗杆的设计112.7 电源电路的设计113系统软件设计133.1 系统总程序流程

2、图133.2 子程序流程图133.2.1 升降小旗运动子程序133.2.2 LCD1602液晶实时显示子程序的设计143.2.3语音播放子程序的设计153.3软件的调试与编译163.4程序的下载174电路的与调试与结果分析194.1电路的调试194.1.1单片机最小系统的调试194.1.2 声音模块调试194.1.3 电机绕线的调试处理194.2电路结果分析204.2.1国旗升降高度的结果分析204.2.2 液晶显示高度结果分析20结论22致谢23参考文献24附录A 英文文献原文25附录B 英文文献译文35附录C 硬件总设计图44附录D 设计源程序45附录E 元器件清单表54引言随着现代科技的

3、不断进步和发展,自动控制智能系统广泛应用于各个领域,如机器人、工业电子自动化设备、医疗、广告、舞台灯光、印刷、计算机外部应用等,因此对自动控制系统的研究具有重要的现实意义和实用意义。同时,升旗代表一个组织或团体独立和尊严的重要标志旗帜作为代表团体和国主权和独立的象征,就有重大的意义。举行升降旗仪式是对每个公民进行爱国主义教育、国旗意识教育,团体意识教育的重要途径;是衡量一个公民是否心存国家观念,是否爱国的重要标志;同时在相当程度上也成为衡量国民素质的重要标准。因此举行升降旗仪式绝不是一种形式,而是一项十分庄重、严肃的活动。五星红旗是中华人民共和国的标志和象征。尊敬国旗体现着维护国家的尊严。升降

4、国旗是一件严肃的事情。严格按照中华人民共和国国旗法要求升降国旗。通过升降国旗仪式使学生受到直接的爱国主义教育,增强国家和民族观念。然而,由于各种条件的限制,国旗的自动控制的应用还不够广泛,有些升降仪式完全是手动的,有些只是单纯的电动机转动,而不能与国歌的播放同步和自动控制,更不能接近开关的检测防止误差,容易让严肃的升旗仪场面变得难堪。随着科技的进步,自动系统的广泛发展,以及升降旗存在的问题,自动系统也逐渐的应用到升降旗上,且具有较强的应用性。特别是单片机测控技术和自动控制技术的迅速发展,已经完全可以使用自动控制系统来完成国旗的升降控制,同时还可以达到国歌演奏何时能够将快慢的完美配合,从而可以避

5、免由于人为操作带来的不协调等诸多问题,保证了升旗仪式的严肃性和庄重性1。用AT89C51单片机作为自动控制升降旗控制系统的控制芯片,采用光电传感器检测旗帜高度,选用H型驱动电路驱动直流电机,利用8255A和相关电路实现键盘、显示功能,实现国旗的自动升降控制2。 或以单片机AT89C52为核心,以键盘为输入系统,按键选定执行要测试的旗杆高度参数,按开始键执行升旗程序,并将旗帜高度和升旗所用时间显示在LCD液晶显示屏上.测试的升降旗系统9。采用单片机控制的步进电机带动国旗升降,实现对国旗升降的自动控制。并在此基础上实现多个国家国旗选择、升降,同时奏相应国家的国歌;红外遥控升降旗所有动作,包括设置高

6、度、时间;控制键盘采用优先级扫描,从而有效地防止误操作;可以按照用户的要求上升或下降到指定位置,并可在任意位置停止9。自动控制升降系统在现实生活中应用非常广泛,有医学领域中有自动升降医床的设计,建筑领域的升降梯设计,公共涉及领域的其中车的设计等等,不仅应用在普通的生产领域,还能应用在高端军事的设计,火箭发射系统,先进武器研制方面未来还会向更广领域延伸。随着工业装置的大型化,连续化,高参数化,对自动产品的要求不断提高。为了达到工业设备的安全升降,稳定运行,优化操作等要求,必须将设备整合,满足人们正常高校生活的目的。升降系统设计不仅要想高精度,智能化的方向发展,向更加多的方面发展,领域会更加广泛,

7、电梯,工程提重,农业生产,军事科研等,更好地应用与未来社会生产。1.方案论证及选择1.1 采用STC89C52单片机设计自动升降旗控制系统采用STC89C52单片机作为控制器,主要包含四个部分:驱动电机电路部分、语音电路,液晶显示电路,无线接收电路。总体采用开关控制总的中断,实现语音显示,国歌播放,无线控制国旗的自动升降及停止功能。STC89C52单片机设计方案原理图如图1.1所示。图1.1 STC89C52单片机设计方案原理图单片机输出控制脉冲,直接加载到ULN2003芯片控制的电机驱动模块上,将信号进行处理后,转化为依据步进电机的步序高低电平信号,直接加载到步进电机上,驱动步进电机转动,电

8、机转动带动旗帜的升降,同时还可以根据输入脉冲的多少调节电机的转速的快慢。无线接收模块是通过红外发射器发射一个控制信号,通过接收器到的高低电平控制开关的中断,通过开关选择电机正传还是反转。语音模块采用放大器驱动蜂鸣器播放国歌语音程序代码进行国歌播放。同时,LCD显示电路采用的是LCD1602液晶显示国旗的实时高度,LCD1602液晶屏既可以显示数字,也可以字母,连接比较简单。这种方案的优点是系统设计简单,且STC89C52有自带的内带4K字节EEPROM存储空间,电路的连接少,代价少,电机控制程序比较简单,具有广泛的实用性。缺点是语音模块采用代码控制,只能机械的播放国歌的音调,不能出现明晰的声音

9、,同时液晶显示和语音模块的程序复杂。 1.2采用数字电路设计自动控制升降旗系统设计方案二:采用数字电路控制。主要包含六个部分:电气控制部分,电源部分,驱动电机部分,无线接收部分,高度显示部分,音乐控制部分。数字电路设计方案原理图如图1.2所示.。图1.2 数字电路设计方案原理图该系统运用现代电子技术,将升旗仪式与演奏国歌混为一体,按下上升键后,国旗匀速上升,同时流畅的播放国歌:上升到最高点时自动停止,同时国歌演奏完毕:按向下键后,国旗匀速下降,降旗的时间不放国歌,下降到最低点时自动停止:可以任意指定高度,使旗帜上升后下降到位置后自动停止,旗帜所在高度可以通过数字显示仪表进行实时显示。电源电路部

10、分主要由变压、整流、滤波、稳压等部分组成。220v交流电压经过变压器变压,全桥整流,电容滤波,TW7809稳压之后,最终形成9V的直流电压,作为控制电压。稳速部分采用PID积分电路进行控制使输出产生与转速成正比的脉冲,然后经过微分-检波-积分-放大,得到与转速成正比的电压,然后通过反馈控制步进电机的驱动电压而得到稳定的线速度。而电气控制部分主要是利用电气元件中的逻辑门、电阻,开关主城复杂的控制电路,通过开关控制各个模块的电平变化达到控制各模块的目的。高度显示部分采用光电传感器进行非接触式检测,然后根据结果输出一个高低电平,形成脉冲,然后去触发单片机外部中断,单片机根据脉冲数,计算出高度然后驱动

11、数码管显示。音乐播放部分采用的是电气控制部分的输出信号的高低电平驱动语音是否播放。这种设计系统能够实现多种功能,且开关控制简单,元器件简单,无软件设计,但是这种电路太过庞杂,且还有干扰大,代价高,不能实现无线控制等缺点。1.3采用PIC16F877A单片机设计自动控制升降旗系统 采用单片机作为主控制器设计的自动控制升降旗系统主要由PIC16F877A单片机,二相步进电机、E2PROM、国歌语音电路、键盘电路、LCD显示屏六部分组成。PIC16F877A单片机设计方案原理图如图所示图1.3 PIC16F877A单片机设计方案原理图系统加电后,首先读取E2PROM中的数据,判断是否在最低点。如果不

12、在最低点,强行将国旗降到最低点,这个过程,LCD液晶显示屏先是国旗的高度,并将其写入E2PROM,进行记忆。然后判断国旗的升降模式,正常情况下,按下上升键,国旗上升,国歌播放,液晶显示高度,并不断将高度写入E2PROM。至最高点,国旗、国歌都自动停止;按下降键,国旗下降,语音模块不工作,LCD显示实时高度,并不断将高度送入E2PROM。至最低点,降旗停止。国旗处在半旗模式下时,国旗匀速上升,同时播放国歌,显示实时高度,并将其计入E2PROM,至最高点,国歌停止,国旗开始匀速下降,到达2/3处自动停止。该电路因为PIC单片机具有E2PROM,结构简化,且单片机采用的是RISC指令集,速度快,步进

13、电机因为采用双桥结构,完全通过程序控制,所以精度高,同时语音模块采用的是语音芯片播放录到的国歌,是声音更清晰流畅。但是采用E2PROM记录高度,会出现系统延时,造成显示误差太大,同时手动控制按键,不能实现远程的控制。同时语音芯片太贵,耗价高。1.4 总方案的选择此次设计要求制作一个自动控制升降旗系统,要求设计速度和高度可调,LCD液晶显示,能够实现无线升降及停止等。我们将上述几个方案进行比较如下:对于采用STC89C52单片机的方案,由于采用的是四相八拍的步进电机,所以步进电机不仅能够实现速度的调节,而且相比二相电机来说更加的精确,速度的调节就能够实现高度的自主设定,同时语音模块采用三极管驱动

14、扬声器发声,不仅耗价更小,电路简单,也易于制作,更方便调试。同时还设无线模块设计的方案来说,能够控制升降及停止,基本达到设计的要求,该方案可行。对于采用数字电路设计的方案,虽然用按键控制能够实现电机的驱动,但是,线路比较复杂,控制过程中会产生延时,使电机产生抖动,造成升降过程中的不稳定,同时,线路采用的是开关控制,没有无线模块,不能实现无线升降,同时耗价较高,所以方案不可取。对于采用PIC16F877A单片机设计方案,PIC单片机虽然具有E2PROM,可以实时的记录瞬间的高度值,但是,这会造成显示高度与实际高度的误差,是现实不精准,而语音模块采用语音芯片对录制国歌的播放,能够起到流畅的效果逼真

15、的效果,但是语音芯片对声音的录制会根据型号的不同,他们的录制的时间和效果就不同,同时录制过程比较复杂,且环境和电路也会产生影响使效果下降。同时语音芯片较昂贵,所以该方案不可取。综上考虑,我们选择采用STC89C52单片机设计自动控制升降旗系统。2系统硬件的设计 该系统的硬件主要由5V电源,单片机最小系统,电机驱动电路,步进电机,LCD1602液晶显示电路,语音播放电路,被控的旗帜,测试用的旗杆,挂钩,细绳等组成。下面是主要单元的电路设计。2.1 单片机最小系统的设计单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。此设计采用的单片机是STC89C51RC芯片,最

16、小系统治一般应该包括:单片机、五伏电源、晶振电路,下面进行详细的设计。图2.1 单片机最小系统设计图2.1.1 晶振电路的设计单片机的定时控制功能是由片内的时钟电路和定时电路来完成的,而片内的时钟信号有两种:内部时钟方式和外部时钟方式。采用内部时钟时,片内的高增益反相放大器通过XTAL1、XTAL2外接晶体振荡器作为反馈元件,然后通过晶体振荡器,两边各接一个瓷片电容,瓷片电容出来后接地。晶振与电容组成的是一个并联谐振回路,由此构成的一个自己振荡器向内部时钟电路提供震荡时钟。这个时钟提供给单片机,使单片机工作。晶振一般采用的是石英晶体振荡器,这种晶体振荡器因频率稳定度高而广泛被采用。频率有好多,

17、一般51单片机采用的晶振频率为11.0952MHz或12.000MHz,而电容一般采用瓷片电容,他具有微调的作用,通常取值在30pF左右。单片机晶振电路在单片机最小系统设计图如图2.2所示。2.1.2 复位电路设计单片机在启动运行时都需要复位,复位使CPU和系统中的其他部件都处于一个确定的工作状态,并从这个状态开始工作。在系统中,有时也会出现显示不正常,也为了调试方便,需要设计一个复位电路,复位电路的基本功能是系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。图1为基本RC复位电路,其电路为高电平复位有效, SW1为手动复位开关,可以实现上述基本功能。单片机复位电路在单片机最小系统设计

18、图如图2.1所示。2.2 电机驱动模块的设计此电机驱动模块采用的是电机专用驱动芯片ULN2003驱动四相步进电机28BYJ来实现。要完成此模块的设计,首先,我们先来了解一下ULN2003驱动芯片和28BYJ-48步进电机. 2.2.1 28BYJ-48步进电机熟悉了驱动芯片ULN2003外,还必须要对所用的步进电机28BYJ48熟悉。28BYJ-48步进电机的外观图如图2.2所示。图2.2 28BYJ-48步进电机外观图步进电机是一种将电脉冲转化为角位移的执行机构,也就是说,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。28BYJ步进电机通过控制脉

19、冲个来控制角位移量,从而达到准确定位的目的;同时还可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机主要由以下特性:(1)步进电机必须加驱动才可以运转, 驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止, 如果加入适当的脉冲信号, 就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。(2)黑金刚配套的是 28BYJ48 5V 驱动的4 相5线的步进电机而且是减速步进电机,减速比为1:64,步进角为5.625/64 度。如果需要转动1 圈,那么需要360/5.625*64=4096 个脉冲信号。(3)步进电机具有瞬间启动和急速停止的优越特性。(4)改变

20、脉冲的顺序, 可以方便的改变转动的方向。步进电机28BYJ48型四相八拍电机,电压为DC5VDC12V,步距角度为5.565/64,减速比是1:64.当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。),八拍(A-AB-B-BC-C-CD-D-DA-A。)该步进电机有

21、5色外接引线,分别是红、橙、黄、粉、蓝。红线接+5V电源,橙、黄、粉、蓝四线为输入口。由于单片机接口的信号不够大,需要通过ULN2003芯片放大后才能连接到电机的接口。电机四色线的电平输出变化如表2.1所示。表2.1 电机四色线的电平变化图步序橙黄粉蓝十六进制(P2口)110000x08211000x0c301000x04401100x06500100x02600110x03700010x01810010x092.2.2 ULN2003芯片ULN2003芯片美国Texas Instruments公司和Sprague公司开发的高压大电流达林顿晶体管阵列产品。功率驱动电路是功率电子设备输出电路的一

22、个重要作组成部分,这种电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。ULN2003驱动芯片的输入回路电阻2.7k,适用电压是5V的TTL电平,驱动灌输电流是500mA。图2.3 ULN2003芯片内部连接图ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。该芯片的内部电路连接图如图2.3示.芯片因为具有电流增益高,带负载能力强,温度范围广,工作电压高等特点,广泛应用于伺服电机,步进电机,电磁阀和可控照明灯等领域。所以,根据ULN2003和步进电机28BYJ-48工作原理,采用单片机的P2.4、P

23、2.5、P2.6、P2.7四个口作为电机的驱动控制口,分别连接ULN2003芯片的管脚1、2、3、4。经过芯片的处理放大,经管脚13、14、15、16输出加到电机的橙、黄、粉、蓝四色线上,得到的电机驱动模块的设计如图2.7所示。图2.4步进电机驱动设计图驱动电机的具体的功能设计是与开关实现的,在P3口设置三个开关K1,k2,k3.k1控制电机与语音播放的开始,电机开始设置默认为电机的正传,k1接通电机正转,同时国歌开始播放,当上升到最大值时,电机停止转动,国歌结束。当小旗下降时,打开k2,关闭k1,电机实现反转,小旗下降,打开开关k3,电机迅速停止,实现小旗停止功能。2.3语音模块的设计语音模

24、块的设计思想是利用单片机的软件编程控制扬声器播放国歌语音代码实现的,由于设计中采用的是三极管驱动8/0.5W的扬声器发声,需要的功率过大,而普通的三极管不能承受很高的电流,容易在电路中烧坏;如果在电路中接入限流电阻,又不能满足驱动扬声器的条件,或者扬声器声音过小,都不能达到设计的要求。为了解决这个问题,在设计采用大功率的MOS管TIP122实现。TIP122芯片的引脚如图2.5所示。图2.5 TIP122芯片引脚图图2.6 三极管TIP122的内部图表2.2 三极管TIP122的电参数表符号参数极性数值单位NPNTIP120TIP121TIP122PNPTIP125TIP124TIP125VC

25、BO集电极-基极电压(IE=0)6080100VVCEO集电极-发射极电压(IB=0)6080100VVEBO发射极-基极电压(IC=0)5VIC集电极电流5AICM集电极峰值电流8AIB基极电流0.1APtot耗散功率Tcase2565WTamb252WTstg 贮藏温度-60150Tj最高工作结温150hFE放大倍数100图2.6所示的是三极管TIP1122的内部连接图,其中 R1=5千欧,R2=150欧。由图可以看出,这是一个集成的放大型NPN管,它是由两个NPN型普通三极管经过二级放大形成的,使得稳定系数更高,且放到倍数也加倍,各方面参数都有所提高具体的电参数如表2.2所示。为了达到同

26、时的目的,起初设计的是在同一单片机上实现升降与国歌播放,但是在实际过程中,两个模块都要都要用到中断,而单片机的中断有优先级,不能同时响应两个中断,即不能在一片单片机上实现流畅的国歌播放和控制步进电机匀速升降的功能。为了解决这个问题,本设计采用两块单片机,一块单片机单独设计语音模块,为了实现同步的目的,该单片机的接地与另一单片机用开关控制达到通电后,开关控制同时启动的目的。语音模块的设计如图2.10示。图2.9 语音模块的设计图2.4液晶显示模块的设计为了实现实时检测国旗的升降情况,此设计采用LCD1602液晶显示屏通过计数器对高度的测量,实时地显示出国旗升降的高度,达到清楚明了效果。LCD16

27、02液晶屏的外观图如图2.11所示.LCD1602 是一种驱动电压为5V,带背光,可显示两行,每行16个字符的液晶屏,只能显示显示字母和数字,不能显示汉字,内置含128个字符ASCII字符集字库,有并行接口。显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。图2.10 显示模块设计原理图液晶显示器模块选用LCD1602 液晶模块,2 行*16 列字符显示:第一行显示“national flagR&L”,表明显示的是国旗的升降高度;第二行显示“H:*cm”,表明国旗升降过程中的实时高度。而且并行8位数据通信,可以满足本系统中显示的要求。开发板中有液晶显示模块,利用C 语言

28、模块的可移植性,直接将模块移植过来,根据实际情况更改数组内容,即可实现对本设计中需要显示的参数进行显示。1602液晶显示设计图如图2.10所示。2.5无线遥控模块的设计 本设计要求采用无线遥控旗帜的升降及停止,所以要对无线模块进行设计。无线遥控模块设计包括无线发射模块的设计与无线接收模块的设计。采用PT2262 和PT2272的编码解码芯片。PT2262和PT2272最多支持6位数据编码,一般支持4位数据编码。PT2262 和PT2272有三态地址编码功能,只有地址匹配时才能传输数据。PT2262编码芯片管脚图如图2.11所示,PT2272解码芯片的管脚图如图2.12所示。 图2.11 PT2

29、262编码芯片管脚图 图2.12 PT2272解码芯片管脚图PT2262和PT2272是CMOS三态编码集成芯片,这组器件广泛用于各种遥控器件上,只需较低的+3V电压就能工作。PT2262 是发射编码芯片,PT2272是接收解码芯片,两者的地址必须配对,而且振荡电阻必须符合要求。PT2262的TE端是发射允许端,接受低电平时,17脚DOUT端输出一串编码。该串编码在载波上发送出去,被接收端接受和解调,输入PT2272的14脚,当地址配对时,VT解码有效端输出高电平,数据端口就会输出与PT2262发射端口一致的数据,从而实现遥控功能。用遥控器给一个脉冲信号,经过PT2262编码芯片进行编码,编码

30、后,经过天线发射出去。发射电路如图2.13所示。接收模块利用天线接收信号,然后经过放大、滤波、PT2272解码芯片进行解码,解码后送入单片机控制开关的中断,然后控制各模块的工作。接收模块如图2.14所示.图2.13 发射模块电路图图2.14 接收模块电路图2.6 旗杆的设计要实现旗帜的升降,就要设计一个旗杆。旗杆包括带挂钩的直杆,一面旗帜,尼龙细线。将尼龙细线的一短缠在电机上,通过挂钩,另一端系上国旗。旗杆设计图如图2.11所示.图2.11 旗杆设计图2.7 电源电路的设计单片机STC89c51的供电电压与步进电机的供电电压都是五伏,所以在此需要设计一个五伏的电源,五伏电源主要包括四个部分:降

31、压、整流、滤波、稳压、输出。由于输入的市用电压为220V,远大于我们所需电压幅值,必须把电压降低,直接用一个变压器即可达到降压的目的.降压后,电压为交流电压,而最终得到的是直流五伏电源,所以必须利用整流桥进行整流形成直流。而此时的直流并非稳定的直流,它是一个周期性的震荡曲线。要减弱这种振荡幅度,最简单的滤波方法就是用电容,利用电容的充放电特性。输入的U1U2,电容C就开始充电,同时,充电未完又再次放电,由此类推,不断放电充电,滤波后的电压为U2在到的正电压之间波动变化,且波动幅度变缓,使用大电容值的电容滤波此幅度波动更平缓,且多次滤波使直流的纹波更小。波后的电压U2输入三端稳压芯片LM7805

32、便可将稳定输出电压+5V,在上图中的一个二极管D3是一个保护二极管,它的作用是保护稳压芯片。5伏电源设计图如图2.12所示。图 2.12 5伏电源设计图3系统软件设计3.1 系统总程序流程图升降旗系统的主要包括三个模块:语音模块,电机转动模块,液晶显示模块。所以,程序的控制主要是控制三个模块的运转。采用的主要思想由开关控制的各模块的开启与关闭:当K1开启,电机正转和音乐的播放,伴随着国旗的上升,液晶屏的显示的高度增加;当K2打开,单片机控制电机的反转,小旗的降落,国歌停止播放,而液晶显示屏的高度显示随着高度的下降而减少;K3打开,单片机控制的是小旗静止,同时国歌停止播放,显示高度保持不变。由此

33、通过开关的控制来完成了小旗的升降与停止功能,系统工作总流程图如图3.1所示。图3.1 系统总流程图根据系统总流程图,用C语言编程所设计的原程序见附录D.3.2 子程序流程图3.2.1 升降小旗运动子程序步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,也可以通过控制脉冲频率来控制电机转动的速度和加速度,都可达到调速的目的。也就是说,给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步

34、进电机进行调速。 首先,我们需要对步进电机的相关参数进行设定。要想使步进电机按一定的速度精确地到达指定位置(角度或位移),步进电机的步数N和延时时间DALAYA是两个重要的参数。前者用来控制步进电机的精度,后者用来控制其步进的速率。下步进电机步数的确定本设计采用的28BYJ是一个减速比为1:64的四相八拍步进电机,步距角为5.6250,电机转动一周实际“走”步数设为N,则N=360/5.625=64步 式4.1步进电机绕线轴周长C为15.6 cm。旗杆的高度(电机转动的总线长)S为167.0 cm,国歌播放时间为升旗的总时长,时间t为43S。步进电机要走的实际步数为N1=(S/C)64=167

35、.0/15.664685步 式4.2步进电机实际要“走”的步数,即为接收到的来自控制模块的脉冲数升(降)旗一秒所走的距离:V=S/t=16743=3.88cm/s 式4.3升(降)旗一秒所需的脉冲数:N= 3414/34=3414/34=100 个 式4.4此次设计中,采用的为四相八拍的步进电机控制方式。代码中,先定义了要用到的步进电机正转和反转的时序数组,以使后面的程序能够随时更改电机接收到的脉冲时序,以达到实时地控制电机的正转和反转,从而实现旗帜的上升与下降。更改脉冲时序的条件由所按下的键盘按键决定,所以可以实时地更改脉冲的时序,达到实时地控制电机转动方式。将国旗从基点上升到最高点或从最高

36、点下降到最底端时,且跟踪显示物旗帜的上升高度,设定高度后.然后计算要到达该高度每个电机转子需要运转的距离,并把它转化为电机应转的步数,最后将程序步数转化为应送出脉冲的个数并输出。升降旗子程序流程图如图3.2示。3.2 升降旗子程序流程图根据升降旗子程序流程图,利用C语言编程所设计的子程序见附录D。3.2.2 LCD1602液晶实时显示子程序的设计一般初始化(复位)过程:1.延时15mS,写指令38H(不检测忙信号);2.延时5mS,写指令38H(不检测忙信号);3.延时5mS,写指令38H(不检测忙信号,以后每次写指令、读/写数据操作均需要检测忙信号);4.写指令38H:显示模式设置;写指令0

37、8H:显示关闭;写指令01H:显示清屏;5.写指令06H:显示光标移动设置;写指令0CH:显示开及光标设置。LCD1602流程图如图3.3所示。图3.3 LCD1602子程序流程图根据LCD1602子程序流程图,利用C语言编程所设计的子程序见附录D。3.2.3语音播放子程序的设计音乐功能主要是由定时器0的中断完成,程序开始先对定时器0进行初始化,然后定时器0中断完成音长的控制,在完成特定音符的音长后读取下一个音符,并且更新定时器0的初始设置值。演奏时,要根据音符的不同把对应半周期的定时时间初始值送入定时器T0,再由定时器T1按时输出高低电平,用零作为结束的标志,每读一个音符后,判断其是否为零,

38、不为零,则继续下一个读取,否则,结束读取,关闭定时器T0。定时器控制音乐程序流程图如图3.4所示。 图3.4 音乐子程序流程图根据升降旗子程序流程图,利用C语言编程所设计的子程序见附录D。3.3软件的调试与编译此设计的软件调试是在Windows XP的运行环境下则采用的keil uvision3调试软件,采用C 语言编程完成的。keil uvision3软件调试过程简单,功能强大,有跟踪程序的执行、设置断点和实时观察内存等基本功能,另有配合仿真器使用的部分特殊功能,使编程与调试更为简便。首先,先在电脑上打开keil uvision3软件,新建一个工程。在“Project”中选择“New Pro

39、ject”,会出现一个“Create New Project”的对话框,keil uvision3新建工程界面图如图3.5所示选择保存的路径,输入你要新建工程名,单击“确定”。这时出现一个各主要芯片的清单,由于此次设计采用图3.5 keil uvision3新建工程界面图的是89C52的单片机,所以选择“Atmel”的“AT89C52”,单击“确定”。因为采用的是C语言编程,所以在对话框中选择“是”。新工程就建好了。其次,在新建的工程中新建一个文件。在“File”中选择“New File”,会出现一个“TEXT 1”,在“File”中选择“save”,保存到刚才所建的新工程文件夹中,后缀名“.

40、c”。接着在左栏中点开“Target 1”,在“Source Group 1”加载刚才所建的文件,右击“Source Group 1”选择“Add File to Group Source Group 1”,找到刚才的文件,单击“确定”.然后,加载程序进行编译,将程序复制到文件中,程序编译界面图如图3.6所示.然后用按钮进行编译调试,调试结果在下显示如有错误,点击错误,就会在程序中提示出来,徐改完后继续编译,直到出现“0 Error(s),0 warning(s)”,表明程序编译完毕。图3.6 keil uvision3程序编译界面图3.4程序的下载 程序编译完成后,要是单片机实现功能,就必须

41、把软件下载到单片机中才能达到控制的目的。在界面的工具栏中选择按钮并点击,会出现一个对话框,在对话框中“output”,选中“Create HEX FI”,单击“确定”。HEX文件生成界面图如图3.7所示。再编译一次,HEX文件就生成了。 图3.7 HEX文件生成界面图生成hex文件后,打开STC_ISP_V479.exe文件,首先在运行程序中设置参数,在”MCU Type”中选择STC89C52RC,最高波特率设为115200,最低波特率设定为1200,在COM端口选择开发板与PC机连接的COM口,如果不知道的话,可以右击选择”管理”,就会出现计算机管理界面图如图3.8所示。在设备管理器中查到

42、你的COM口,选择该COM口。其他参数基本保持不变。这样参数就设置好了。参数设定界面如图3.9所示。图3.8计算机管理界面图图3.9 参数设定界面参数设定好后,采用优转串口先将郭天祥开发板与PC机连接起来,在开发板上放置单片机芯片,点击OpenFile/打开文件找到生成的Hex文件,然后点击下载,待提示上电后,给开发板上电,随着指示灯的闪烁,程序被下载到单片机中,结束后,关闭电源。程序就下载好了。4电路的与调试与结果分析4.1电路的调试在制作电路开始之前,先做好准备工作。将领到的元器件整理到一块,查看元器件是否齐全,不齐全的要补充完整。待元器件完整后,准备好要用的辅助仪器及工具,方便取用。具体

43、的仪器工具见表4.1所示。表4.1 辅助仪器工具表仪器工具数量稳压五伏电源1台万用表1台示波器1台直尺1把镊子1把剪刀1把电烙铁1个焊锡1m(1mm)面包板1块4.1.1单片机最小系统的调试取出一块万用板和烙铁,现在万用板上进行电路的布局设计,由于单片机是控制芯片,所以将单片机布在正中位置,其他各模块分别布在周围。布局设好之后,就是电路的焊接。最简单也是最重要的是最小系统焊接。将单片机最小系统的晶振电路和复位电路焊接在万用板上,焊接时,注意单片机的管脚,以防接错。焊接完成后,取出万用表。先测各个连线是否导通,谨防产生虚焊。然后将单片机接到5V电源上,将万用表打到20v的电压档,测试晶振管脚18

44、、19的电压值,将其与正常值1.7V-1.9V的范围进行对比,在范围内或范围附近则正常最终测试结果为1.89V,表明正常。4.1.2 声音模块调试 接通电源,打开开关K1,控制语音模块的单片机的20管脚接地端导通,单片机开始工作,开始三极管用的是9014,他是一个普通的NPN型管,集电极直接连接五伏电源,发射极经过一个1K限流电阻连接一个有源的蜂鸣器,蜂鸣器开始工作,发声。但是由于有限流电阻的作用,变小电阻为500欧,还是不行,减小到200欧时,声音大小合适,但是在播放完之后由于结尾是高电平,且蜂鸣器有源,会出现“嘟”的持续响声,为了消除这种响声,更换为扬声器,但是扬声器的功率较大,加了限流电

45、阻,功率又太小,不加限流电阻,电流又过大,三极管发热太快,容易损坏三极管。为了解决这个问题,三极管换用了大功率的TIP122达林顿管,最终解决了这个难题。4.1.3 电机绕线的调试处理 由于步进电机28BYJ的转轴的半径只有0.09cm,电机转速又太小,不能满足实验要求,所以只有通过增加半径的方案来增加电机的线速度,先在电机上加一个半径为0.37cm的木棒套在电机的转轴上,进行速度测试还是不行,电机的力矩有限,如果再换粗一点的木棒,电机又带动不起来,最后先用轻质的薄膜材料,与木棒有较大的摩擦力且电极容易带动,方案可行。不断地增加薄膜的半径来控制线速度,最终控制半径在2.48cm,最终满足了设计

46、的要求。由于电机驱动模块是制作好的,所以焊接部分就完成了。焊接实物图如图4.1所示。图5.1 焊接实物图焊接完成后,电机与旗杆的固定,用安装线将电机与旗杆固定在一块,注意固定的高度,要能用杜邦线与其连接。将国旗尼龙线上,通过旗杆上的挂钩挂在旗杆上,制作就完成了。4.2电路结果分析4.2.1国旗升降高度的结果分析 在只接驱动模块的情况下,接通五伏电源,设置要停止的高度,将细线直接缠在电机的转轴上,设置一个脉冲频率,打开开关K1使电机工作在正转(即国旗上升)的模式下,用秒表控制在43秒时间,国旗从参考零点上升,测试国旗在指定时间停止时的实际高度与设置的高度相差多大。测量三次,上升高度测试结果如表4.2所示。表4.2 上升高度测试结果表测试次数设置高度(cm)实际高度(cm)1167.016

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号