《自动控制升降旗系统的设计.doc》由会员分享,可在线阅读,更多相关《自动控制升降旗系统的设计.doc(70页珍藏版)》请在三一办公上搜索。
1、自动控制升降旗系统的设计教 学 部工学一部专 业自动化班 级B641301学 号B64130106姓 名袁菲指导教师王艳辉负责教师王艳辉沈阳航空航天大学北方科技学院2010年6月摘 要本文设计了一个升降旗自动控制系统,可自动完成升降旗过程,能避免人为升降国旗与国歌演奏时间不协调的问题。系统有上升键和下降键,在按下上升键时,国旗匀速上升,同时自动演奏国歌,当上升到最高端时自动停止,国歌停奏;按下下降键时,国旗匀速下降,降到最低端时自动停止,下降过程中不演奏国歌。系统采用凌阳公司的61板作为主控单元,以SPGT62C19B电机模组作为运动驱动电路,控制电机转动,再通过滑轮的传动完成升旗和降旗。在升
2、降旗的过程中LED显示器实时显示出国旗所在的高度及所用时长。该系统简单实用,可扩展性较强,稍有改动即可实现半旗和不同国家升旗的功能。关键词:61板;自动控制;升降旗AbstractThis paper illustrates the design of a automatic ascend or fall nation flag system, it can ascend or fall nation flag of the automatic system, while it can avoid the coordinate of human attempt or effort nation
3、 flag and play nation anthem. The system has the keys of ascend and fall. To press the key of ascend, flag ascends with well-distributed and play nation anthem. When nation flag go up the highest, the step motor will stop turn. To press the key of fall, flag falls with well-distributed . When nation
4、 flag fall down the lowest, the step motor will stop turn. In the process of fall down, wont play nation anthem.This system uses SPCE061A(abbreviation“61board” )of Sunplus single-chip as the main control unit. And use SPGT62C19B Dual Full-Bridge Motor Drive as the driving circuit,which control turn
5、of step motor and use the pulley to drive the national flag to rise or lower . In the process, the LED shows the time and the height of the national flag. The system is simple and practical, the extend markup very robust , it can accomplish half-mast and rise flag of different country if this system
6、 will little change.Key words: 61board;Automatical;raise and up the flag目 录第1章 绪论11.1立题的意义11.2课题研究任务及目标21.3课题主要内容2第2章 自动控制升降旗系统的方案论证42.1单片机的选择及论证42.2电机的选择及论证42.2显示的选择及论证5第3章 自动控制升降旗系统的硬件设计63.1凌阳SPCE061A单片机简介63.2步进电机驱动的设计103.2.1电机模组SPGT62C19B简介103.2.2步进电机驱动电路的设计143.2.3步进电机驱动的脉冲数的计算163.3显示电路的设计183.4按键
7、电路的设计18第4章 自动控制升降旗系统的软件设计204.1自动控制升降旗系统的软件设计方案204.2计时子程序的设计214.4显示子程序的设计224.5语音子程序的设计23第5章 系统调试与结果分析255.1系统的硬件调试255.2系统的软件调试255.3调试结果及分析27结论与创新29致 谢30参考文献31附录 自动控制升降旗系统程序清单32附录 自动控制升降旗系统元器件清单65第1章 绪论1.1立题的意义自动升、降旗系统适应领域广泛,在许多政府部门、学校、广场和大型企业随处可见到国旗的飘扬,随着信息时代的飞速发展,人们物质生活逐步提高,特别是伴随着自动控制和单片机测控技术发展,可以使用自
8、动控制系统来完成国旗的升、降控制、使升、降旗速度与国歌演奏时间准确配合,从而避免了人为升,降国旗与国歌演奏时间不协调而出现的尴尬场面发生,保证了国旗升、降仪式的严肃性。凌阳科技 (Sunplus Technology Co., Ltd.)是全球知名的芯片设计公司,致力于开发高品质的集成电路芯片。凌阳科技运用多媒体影音、单片微处理器、数字信号处理器(DSP)等核心技术,发展出多样化的产品线,包括液晶IC、微控器IC、多媒体IC、语音、音乐IC及各式ASIC,并逐年扩增中。 凌阳科技的 16位单片机的CPU内核采用凌阳自主知识产权的nSP(Microcontroller and Signal Pr
9、ocessor)16位微处理器(以下简称nSP)。而围绕nSP所形成的16位nSP系列单片机采用的是模块化集成结构,以nSP内核为中心,集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,将单片机应用引领到SOC(System on Chip)领域。 凌阳科技的nSP系列 16 位单片机主要产品有:带语音功能的 SPCE 通用单片机系列,工业控制级控制型的SPMC通用单片机系列,应用于视频游戏类产品的 SPG系列单片机,带有LCD显示驱动的SPL16系列单片机、专用于通讯产品的SPT系列单片机,应用于高档电子乐器、和弦发声的SPF系列单片机等等。凌阳科技新近又推出了以nSP为内核的SPM
10、C75F系列单片机,用于变频马达驱动控制,广泛应用于变频家电、工业变频器、工业控制等领域。 单片机的应用领域越来越广泛,无论是在生活、生产上,单片机无处不在。凌阳SPCE061A单片机作为一款语音功能卓越16位单片机受到越来越多业内人士的青睐,因此顺应单片机发展的要求,学习凌阳单片机的软件设计是我们学习的需求,也是适应社会智能化、自动化的趋势。1.2课题研究任务及目标本系统采用凌阳公司的SPCE061A十六位单片机作为主控单元,步进电机作为运动驱动电路, SPCE061A自带键盘作为系统的输入,通过液晶显示器输出系统信息。本系统的工作过程首先在液晶显示器上显示操作的提示信息,通过键盘输入单片机
11、,系统发出信号到电机控制器控制步进电动机的动作,通过滑轮的传动完成升旗和降旗。升降旗过程中能实时显示国旗的高度和时间,且升降旗均为匀速运动;国旗能在指定位置自动停止。本系统可实现以下功能:1) 按上升键后,国旗匀速上升,同时演奏国歌,上升到最高端自动停止,国歌停奏。按下降键后,国旗匀速下降,下降到最低端自动停止。国歌播放时间位43S;升降旗的时间均为43S。2) 可以避免误动作,国旗在最高端时按上升键不起作用;在最低端时,按下降键不起作用。3) 旗帜的位置及升降旗的时间可实时显示。4) 关断电源后再重新上电,旗帜所在的高度数据显示不变。1.3课题主要内容本文主要介绍了自动控制升降旗系统的软硬件
12、设计及实现方法,相应的电路原理、以及各元器件性能型号的选择,内容主要分为三部分:第一部分是硬件和软件的设计,包括硬件电路方案的设计、元器件的选择等,具体的硬件电路包括步进电机驱动电路,SPCE061A单片机的最小系统电路。软件设计采用模块化的设计,具体的模块包括系统主程序,升降旗子程序,时间、位置显示子程序等,绘制软件流程图后,用C语言和汇编语言混编的形式编程。第二部分是软、硬件仿真,程序采用C语言和汇编语言混合编写,通过61板自带的编译软件进行编译调试,硬件电路用IDE软件绘制。程序调好后,利用软件生成61单片机能识别的后缀为“.s37”的机器码文件,然后把程序下载到凌阳SPCE061A s
13、unplus软件运行环境下,运行程序和IDE环境下的电路来实现设计要求的各功能。 第三部分是搭接61板和SPGT62C19B电机模组的各个模块,用61板自带仿真器调试,上电后一切运行正常,系统实现预期的目标。第2章 自动控制升降旗系统的方案论证2.1单片机的选择及论证单片机(即CPU)是本系统的工作核心,它的选择不仅关系到系统的工作效率,同时也为系统的工作提供可靠的保障,因此CPU的选择是系统的关键所在。方案一:采用AT89C51单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。但是AT89C51需外接模数转换器来满足数据采样,硬件电路相对复杂。另外,增强型单片机在线操作
14、不易掌握,需要用仿真器来实现软硬件调试,较为繁琐。方案二:采用凌阳公司推出的SPCE061A语音单片机及其开发板-61板作为控制模块。SPCE061A的CPU时钟为0.32MHz49.152MHz,速度可以满足电机控制对实时性的要求;内置2K Words 的SRAM,为浮点运算提供了足够的数据存储器空间;具有7个触键唤醒中断和2个外部中断,可以满足本系统中键盘和传感器对外部中断的要求;凌阳自带的三种格式的音乐播放格式能播放不同质量,长度的音乐。SPCE061A可以通过在线调试器Probe和EZ_Probe实现在线程序下载和调试,极大地提高了开发效率。此外使用凌阳公司提供的音频函数库和SPCE0
15、61A丰富的时基中断可以方便地实现功能扩展。具有保密能力WatchDog功能。凌阳61单片机耗电少,可以满足很多手提设备、掌上设备低能耗的需求,低能耗也是电子技术一直在追求的一个目标。可方便的用来实现声音录制、播放、Midi音乐合成和语音识别,相比别的单片机比较有特色。可方便的完成一系列乘加的运数,实现一些数据处理比较容易,别的单片机一般都不具备这种功能。芯片里具备在线仿真调试电路,使调试和程序下载更加方便,也把仿真器和烧录器的成本给节省下来了。综上所述,本次毕业设计采用方案二。2.2电机的选择及论证电机在本系统中是国旗升降的主要控制部件,它为系统提供动力支持。从以下几个方面阐述本系统的方案。
16、方案一:采用直流电机控制升降旗运动,直流电机力量大,能获得较大的启动转矩,相应快,但控制复杂,不能自锁。方案二:采用步进电机控制升降旗运动,步进电机是一种作为控制用的特种电机, 它的旋转是以固定的角度(称为“步距角”)一步一步运行的, 其特点是没有积累误差(精度为100%), 所以广泛应用于各种开环控制。步进电机的运行要有一电子装置进行驱动, 这种装置就是步进电机驱动器, 它是把控制系统发出的脉冲信号转化为步进电机的角位移, 或者说: 控制系统每发一个脉冲信号, 通过驱动器就使步进电机旋转一步距角。所以步进电机的转速与脉冲信号的频率成正比。所以,控制步进脉冲信号的频率,可以对电机精确调速;控制
17、步进脉冲的个数,可以对电机精确定位目的。步进电机不需要使用传感器就能精确定位,而且通过给定的脉冲周期,能够以任意速度转动,定矩运动较精确。虽然步进电机不能高速转动,但根据题目要求的时间和移动距离,步进电机完全能够符合要求,是该种要求下广泛使用的一种电机。综上所述,本次毕业设计采用方案二。2.2显示的选择及论证方案一:用LED数码管显示旗帜所在的高度和升降旗时间,本题中只需要4只LED数码管进行动态显示高度、时间,优点是接口简单,易于控制,而且比较直观,可视化较强。方案二:用LCD液晶显示器显示,优点是能显示更多的字符,有着良好的人机界面,缺点是控制比较复杂,性能价格比较高。基于上述分析,所以选
18、择方案一。第3章 自动控制升降旗系统的硬件设计鉴于SPGT62C19B电机控制模组是为学生以及单片机爱好者学习步进电机和直流电机控制而设计的学习套件。且模组采用凌阳 SPGT62C19B电机驱动芯片,配置两相步进电机和直流电机各一台,使用该模组的步进电机作为升降旗电机,再通过滑轮的传动完成升旗和降旗,该模组提供4位LED数码管,可用来显示升降国旗的所在高度及所用时长。而且该模组针对 SPCE061A 单片机设计,可以方便地用排线与 SPCE061A 精简开发板(即“61 板” )连接,可作为单片机开发前期,所以用SPGT62C19B 电机控制模组作为毕业设计硬件,与凌阳SPCE061A共同完成
19、此次毕业设计。具体的电机模组简介在3.2.1节有详细介绍。本系统硬件方框图如图3.1所示。凌阳SPCE061A板SPGT62C19B电机模组图3.1 系统硬件方框图3.1凌阳SPCE061A单片机简介 传统的单片机学习硬件方案是编程器+开发系统+仿真器,由于这些设备相互之间各自独立,在做毕业设计时,需要反复不停地拔插电缆、芯片、电源等,其繁琐的连线和复杂的操作,极大的降低了毕业设计的效率,如稍有不慎就有可能造成器件和设备的损坏,会带来不必要的麻烦或损失。而且备齐这些设备往往需要一笔昂贵的费用。SPCE061A 单片机学习开发系统将开发软件、单片机开发系统(或称“实验板” )、下载线 、编程器、
20、仿真器进行完美的结合。SPCE061A单片机里面整合了进行在线编程控制的功能模块,试验过程中无需拔插任何电缆和芯片,也无需切换电源,配合下载线,就可轻松地将编译好的代码下载到开发系统上进 行验证或演示,整个过程只需利用鼠标操作即可。当然也可以使用配套的开发环境直接对实验板上的资源进行在线仿真。该开发系统摆脱了传统、繁锁的单片机学习方式,将当今最流行、最经济有效的学习方案完美地整合在了同一个系统中,是一个快捷、高效、灵活的单片机学习、开发方案。有了这个开发 系统就同时拥有了学习实验板、下载线、编程器、仿真器,具有非凡的性价比,因此很适合我们大学生学习和开发。所以,采用 SPCE061A 单片机进
21、行开发比采用传统单片机进行开发的过程简化很多,简单的说它的 开发过程就是首先在开发环境中编程,把编好的程序下载到开发系统上,通过开发环境提供的各类调试窗口进行仿真调试或者直接运行。“61 板”是 SPCE061A EMU BOARD 的简称,是 SPCE061A 单片机的开发系统,通过挂接不同的硬件和下载不同的程序就可实现各类特定功能的系统。由于具有语音处理的特色,即便是不挂接额外的硬件,下载一些开发环境下提供的程序就可以实现一个复读机、语音万年历之类的系统, 因此可以完成国歌的播放。凌阳SPCE061A单片机性能:l 16 位nSP微处理器;l 工作电压(CPU) VDD 为 2.43.6V
22、 (I/O) VDDH 为 2.45.5Vl CPU 时钟:0.32MHz49.152MHz;l 内置 2K字 SRAM;l 内置 32KFLASH;l 可编程音频处理;l 晶体振荡器;l 系统处于备用状态下(时钟处于停止状态),耗电仅为 2A3.6V;l 2个 16位可编程定时器/计数器(可自动预置初始计数值);l 2个 10位 DAC(数-模转换)输出通道;l 32位通用可编程输入/输出端口;l 14个中断源可来自定时器 A / B,时基,2个外部时钟源输入键唤醒;l 具备触键唤醒的功能;l 使用凌阳音频编码 SACM_S240 方式(2.4K 位/秒),能容纳 210 秒的语音数据;l
23、锁相环 PLL 振荡器提供系统时钟信号;l 32768Hz 实时时钟;l 7 通道 10 位电压模-数转换器(ADC)和单通道声音模-数转换器;l 声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;l 具备串行设备接口;l 具有低电压复位(LVR)功能和低电压监测(LVD)功能;l 内置在线仿真电路 ICE(In- Circuit Emulator)接口;l 具有保密能力;l 具有 WatchDog 功能。61板核心芯片SPCE061A注脚图如图3.2所示:图3.2SPCE061A注脚图SPCE061A主要管脚描述表如下表3.1所示:表3.1 SPCE061A管脚描述表管脚
24、名称编号类型描述 IOA 15:84639输入输出IOA15:8:双向 IO 端口IOA 7:03427输入输出IOA7:0:通过编程,可设置成唤醒管脚IOA6:0:与 ADC Line_In 输入共用IOB 15:11 IOB10IOB9IOB8IOB7IOB6IOB5IOB4IOB3IOB2IOB1IOB05054 5758596061626364656667输入输出输入输出 输入输出 输入输出 输入输出 输入输出 输入输出 输入输出 输入输出 输入输出 输入输出IOB15:11 :双向 IO 端口。IOB100 除用作普通的IO 端口,还可作为: IOB10:通用异步串行数据发送管脚 T
25、xIOB9:TimerB 脉宽调制输出管脚 BPWMO IOB8:TimerA 脉宽调制输出管脚 APWMO IOB7:通用异步串行数据接收管脚 Rx IOB6:双向 IO 端口IOB5:外部中断源 EXT2 的反馈管脚 IOB4:外部中断源 EXT1 的反馈管脚 IOB3:外部中断源 EXT2IOB2:外部中断源 EXT1IOB1:串行接口的数据传送管脚IOB0:串行接口的时钟信号DAC112 输出DAC1 数据输出管脚DAC213 输出DAC2 数据输出管脚X32I2 输入32768Hz 晶振输入管脚X32O1 输出32768Hz 晶振输出管脚VCOIN70 输入PLL 的 RC 滤波器连
26、接管脚AGC16 输入AGC 的控制管脚MICN19 输入麦克风负向输入管脚MICP21 输入麦克风正向输入管脚MICOUT18 输出麦克风 1 阶放大器输出管脚,管脚外接电阻决定 AGC增益倍数OPI17 输入麦克风 2 阶放大器输入管脚3.2步进电机驱动的设计3.2.1电机模组SPGT62C19B简介模组的平面图如图 3.3 所示:电机控制接口 外接电源插座外接电源指示灯 红外对管SPGT62C19B输出选择跳线直流电机直流电机接口 光栅转盘ULN2003A步进电机步进电机接口 4位数码管数码管控制 接口 图3.3 SPGT62C19B电机模组平面图上述结构图中各部分说明如下:电机控制接口
27、:模组与单片机的接口,为 10PIN 排针,可以直接与“61 板”连接,实现电机控制。数码管控制接口:模组与单片机的接口,为两组 10PIN 排针,可以直接与“61 板”连接,实现 对 4 位 LED 数码管的控制。SPGT62C19B:电机驱动芯片,可驱动一台双极性两相步进电机,或者两台直流电机。外接电源指示灯:SPGT62C19B电机驱动芯片的逻辑控制电源与电机驱动电源是各自独立供电的,可以外接 5V12V 的电机驱动电源。当接通了电机驱动电源时,外接电源指示灯会点亮。外接电源插座:为 SPGT62C19B提供电机驱动电源的插座。共有两组电源插座,分别为 2PIN 针座(可接 61 板电池
28、盒或其他直流电源)和 DC 稳压电源插座(可接直流稳压电源)。使用时可选择其中一组插座作为电机驱动电源输入端。输出选择跳线:该组跳线用来选择 SPGT62C19B 芯片控制的电机。模组提供了步进电机和直流电机各一台,可通过对输出选择跳线的设定来切换当前工作的电机类型。步进电机接口:该接口为 4PIN 插针形式,用于连接 SPGT62C19B 驱动芯片和两相步进电机。步进电机:35BYJ26 型号永磁式步进减速电机,工作方式为两相四拍。在步进电机面板上安装有刻度盘,以便于在实验中观察电机的转动状态。直流电机接口:由于 SPGT62C19B 可同时驱动两台直流电机,因此留出了两组直流电机接口, 在
29、模组上分别标示为 J11 和 J12。可以将模组提供的直流电机接在其中一组接口上。直流电机:电机型号为 310CA,工作电压 3V12V,在 5V 电压下空载转速约 4000 转/分。光栅转盘和红外对管:在直流电机的转轴上安置了光栅转盘,光栅转盘的两侧分别装有鼠标用红外发射和接收管。当直流电机转动时,光栅将不断改变红外对管的通断状态,从而实现对直流电机转速的测量。ULN2003A:ULN2003A 是单片式 7 路达林顿三极管阵列,在本模组中用来驱动 4 位 LED 数码管。4 位数码管:4位 8段共阳极 LED 数码管,可用作电机转速显示,也可用于显示其他内容。根据毕业设计题目的要求,用凌阳
30、SPCE061A板自带的语音芯片及喇叭播放国歌,SPGT62C19B电机模组的步进电机作为国旗升降的运动支持,4位数码管显示国旗升降的高度和时间显示。SPGT62C19B 是低电压单片式步进电机驱动器集成电路芯片,可驱动一台两相步进电机,或者 两台直流电机。它带有双路 H 桥,可分别驱动两个独立的 PNP功率管。每一个 H桥都有各自独立的使能引脚,因此非常适合于需要独立控制的步进电机驱动系统。SPGT62C19B输出电压可达 40v,输出电流可达 750mA,由输入的逻辑电平来决定输出脉冲的宽度及频率,所以由这款芯片组成的电机驱动系统将脉冲发生器、脉冲分配器、脉冲放大器合 为一体,省去了很多外
31、围器件。SPGT62C19 的内部由两组完全相同的控制电路组成了两路输出通道。 输入控制信号经前级缓冲后送入片内控制器,然后由控制部分进行处理并驱动晶体管,最后由 OUT 端口输出驱动信号以控制电机的运行。SPGT62C19B原理如图3.4所示:图3.4 SPGT62C19B工作原理图SPGT62C19B的控制脚有如下 6 个,如表3.2所示:表3.2 SPGT62C19B 的控制引脚引脚名称用途20 I01通道 1 的电流大小控制17 I11通道 1 的电流大小控制16 PHASE1通道 1 的电流方向控制8 I02通道 2 的电流大小控制9 I12通道 2 的电流大小控制10 PHASE2
32、通道 2 的电流方向控制以通道 1为例,控制口 I01与 I11的不同逻辑组合可使通道 1 输出端产生不同大小的电流输出,控制脚 I01与 I11逻辑组合与输出电流的关系为表3.3所示:表 3.3 控制脚 I01与 I11逻辑组合与输出电流的关系I01 逻辑值 I11 逻辑值输出电流0 0 Imax1 0 2/3*Imax0 1 1/3*Imax1 1 0 上表中,Imax 是输出电流的上限值,它与图 3.3 中 Vref 和 Rs 的值有关。其关系式为:Imax = Vref /10*Rs:PHASE1 的逻辑电平值决定了该通道的电流输出方向。PHASE1 与电流方向的对应关系式如表3.4所
33、示:表 3.4 控制脚 PHASE1 与输出电流的关系I01 逻辑值 I11 逻辑值输出电流0 0 Imax1 0 2/3*Imax0 1 1/3*Imax1 1 0 3.2.2步进电机驱动电路的设计SPGT62C19B 与61板之间的接口在模组上标示为“J3” ,是 10PIN 排针的形式。其中 PH1、PH2、I01、I02、I11、I12 对应着 SPGT62C19B 的 6个控制引脚;而 SPEED则是速度检测信号输出脚 。 可以直接用 10PIN 排线将 J3 接口与 61 板 IOB 的低 8 位(即 61 板的 J6)相连。 应注意的是,模组接口标示为“VDD”的脚应与 61 板
34、接口标 示为“ +”的脚相对应,不能接反。另外,61 板的 I/O 供电电压应在 4.5V5.5V 之间。因此,要把 61 板的 I/O 电压选择跳线(61 板的 J5)跳至“5V”位置,并保证 61 板供电电压在 4.5V 以上,建议使用 5V 稳压电源给 61 板供电。步进电机和直流电机驱动输出接口是 SPGT62C19B 驱动芯片与电机之间的连接端口。 步进电机接口在模组上标示为 J10,是 4PIN 排针形式,对应着步进电机的 4 根引线,以及 SPGT62C19B 的 OUT1A、OUT1B、OUT2A、OUT2B 这 4个输出端。直流电机接口共有两组,在模组上标示为 J11 和 J
35、12,分别对应 SPGT62C19B的 OUT1和 OUT2两个输出通道;直流电机的两根引 线可以与其中一组接口相接。SPGT62C19B 芯片有两个电源输入口,分别给逻辑控制电路和电机驱动电路供电。因此,需要外接独立的电源给电机供电,要求外接电源的电压在 5V12V 之间,并可以提供 750mA 以上 的电流。模组提供了两种形式的电机供电电源接口,分别是 2PIN 针座和直流稳压电源插座; 可以将外部电源连接在其中一组电源接口上。由于 SPGT62C19B 支持一台步进电机或两台直流电机,而不能同时控制步进电机与直流电机,因此设置了“输出选择跳线”用于在步进电机与直流电机之间切当使用直流电机
36、时,要将 4个短接帽都跳接到“DC MOTOR”一端;使用步进电机时,要将 4个短接帽跳接到“STEP MOTOR”一端。利用SPGT62C19B控制步进电机,两相步进电机的 4 根引线分为两组,可分别连接SPGT62C19B的两个输出通道。这样就可以通过 SPGT62C19B的6个控制引脚使两个输出通道发出驱动步进电机所需的脉冲信号。步进电机的工作原理如图3.5所示,:图3.5 步进电机工作原理图步进电机与 SPGT62C19B 的连接方法如表3.5所示:表 3.5 步进电机与 SPGT62C19B 的连接方法 电机引线颜色 电机引线名称 SPGT62C19B引脚序号 SPGT62C19B引
37、脚名称 蓝 1A 1 OUT1A 黄 1B 21 OUT1B 粉 2A 2 OUT2A 橙 2B 5 OUT2B每通道的输出电流可以有 4 种状态,这为步进电机提供了多种控制方式,可实 现“ 整步(Full-Step)” 、“ 半步(Half-Step)” 、“优化半步(Modified Half-Step)”等工作模式。这几种工作模式的控制时序如下图3.6所示:图 3.6 步进电机不同控制模式的时序图本次毕业设计采用“整步(Full-Step)”工作方式。3.2.3步进电机驱动的脉冲数的计算实现本系统的控制,关键在于将国旗升降高度与控制电机的转向及回转角度对应起来,二者紧密配合,最终实现对国
38、旗升降的运动控制。控制电机的转向就可以控制国旗上升和下降,为了准确实现可变的时间和高度控制的匀速升降,需要精确计算在一定人眼不能识别的时间内的步进电机的脉冲数。步进电机我们选用“整步”工作方式,步进电机的定轴直径为1.27324cm,则每步拉出的线长为0.02,完全符合精度的要求。高度可调步长为1,可调时间间隔为1s。在程序设计中,我们运用时间精度很高的SPGT62C19B产生4KHz的中断脉冲送给单片机的外部中断IRQ4。在整个上升或下降过程中,高度(high)为总高度,可通过公式:步进电机要转动的总步数: 总步数=高度(high)/0.02;分次转动的次数为: 次数=总时间(time)*3
39、2;每(1/32s)走的步数: 步数=总步数/次数;除后余数的步数为: 余步数=总步数%次数。这样步进电机在转动时需要没1/32s走一次,系统不可避免地会出现余数的现象,这里我们采用插补补偿的方法来解决这个问题。处理思路为:我们分两种情况考虑,当余步数为0时,每次按计算的步数运转一定的次数就能满足要求;当余步数不为0时,先在循环程序中分余步数次运转步数的基础上再加一次,然后再按正常的步数转动。开始运动时打开外部中断,结束后等待中断到来再进入下一次循环。上升和下降的原理类似。在步进电机运动的过程中,实时显示运动时间和所在位置,并不断保护现场数据,存放于SPGT62C19B中。国旗运动的控制:在主
40、程序中,系统的按键共有3个,其中上升键、下降键为优先扫描键,开始键则为高级中断键。1)“上升键”按下时,对SPCE061A输出播音控制信号播放国歌,国旗经43s的时间匀速上升至旗杆顶端,国歌播放完毕。此时程序只扫描下降键,下降键按下有效时,国旗经43s的时间匀速下降至地端。2)“下降键”按下时,此时程序只扫描下降键,下降键按下有效时,国旗经43s的时间匀速下降至地端。3)“开始键”何条件下都有效,当按下时,系统会恢复原始状态。此键主要用于程序跑飞的情况下。上述的按键,不同的优先级是它们具有不同的使能有效时段,这样在操作过程中不会因为误操作而产生影响。掉电现场的保护主要包括两个方面:一是断掉电后
41、国旗位置不变,二是断掉电之后重新合上电源,旗帜所在的高度数据显示不变。前者的保护措施是通过使用电磁阀紧急滞动来实现,为了保障断电后再次加电时,国旗所在的高度和数据显示不变。在每次中断数据改变时,把国旗所在的精确位置和状态写在SPGT62C19B芯片中。在下次上电时,首先读SPGT62C19B芯片的数据,检查国旗所在的位置。细分状态如下:1)如果在0cm位置,不做处理。2)如果在86cm位置,此时为升旗状态上升的最高点,查询下降键,等待下降键按下。当下降键按下时,国旗经过43s的时间匀速下降至0cm最低端处。3)当下降键按下时,国旗从最高点86cm,后经过43s的时间下降至0cm最低端处。这整个过程中,所存的位置数据一定要精确,确保不出现误差积累现象。3.3显示电路的设计用SPGT62C19B模组提供的 4位共阴极 LED 数码管做显示器,数码管采用 ULN2003A 为其提供驱动电流ULN2003A 是 7路达林顿三极管阵列,这里用到了其中的 4路,分别连接到数码管的 4个位选脚 G1G4。G1G4设置列表如表3.6所示:表3.6 数码管设置列表G1G2G3 G4 时间十位时间个位高度十位高度个位1) G1、G2数码管分别显示在某一
链接地址:https://www.31ppt.com/p-2956376.html