自动控制升降旗系统的设计论文_第1页
自动控制升降旗系统的设计论文_第2页
自动控制升降旗系统的设计论文_第3页
自动控制升降旗系统的设计论文_第4页
自动控制升降旗系统的设计论文_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、自动控制升降旗系统的设计教学部 专 业 班 级 学 号 姓 名 指导教师 负责教师2010年6月木文设计了一个升降旗自动控制系统,可自动完成升降旗过程,能避免人为升 降国旗与国歌演奏时间不协调的问题。系统有上升键和下降键,在按下上升键时, 国旗匀速上升,同时自动演奏国歌,当上升到最高端时自动停止,国歌停奏;按下 下降键吋,国旗匀速下降,降到最低端吋自动停止,下降过程中不演奏国歌。系统采用凌阳公司的61板作为主控单元,以spgt62c19b电机模组作为运动驱 动电路,控制电机转动,再通过滑轮的传动完成升旗和降旗。在升降旗的过程中 led显示器实时显示出国旗所在的高度及所用吋长。该系统简单实用,可

2、扩展性较 强,稍有改动即可实现半旗和不同国家升旗的功能。关键词: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 flag and play nation anthem. the syst

3、em 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 flag fall down the lowest, the step mot

4、or will stop turn. in the process of fall down, won't play nation anthem.this system uses spce061a (abbreviationu61 board ) of sunplus single-chip as the main control unit. and use spgt62c19b dual full-bridge motor drive as the driving circuit, which control turn of step motor and use the pulley

5、 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 will little change.key words: 61

6、 board automatical ;raise and up the flag第1章绪论11立题的意义11.2课题研究任务及目标21.3课题主要内容2第2章自动控制升降旗系统的方案论证42单片机的选择及论证42.2电机的选择及论证42.2显示的选择及论证5第3章自动控制升降旗系统的硬件设计63凌阳spce061a单片机简介63.2步进电机驱动的设计103.2.1电机模组spgt62c19b简介103.2.2步进电机驱动电路的设计14323步进电机驱动的脉冲数的计算163.3显示电路的设计183.4按键电路的设计18第4章自动控制升降旗系统的软件设计204自动控制升降旗系统的软件设计方案20

7、4.2计时子程序的设计214.4显示子程序的设计224.5语音子程序的设计23第5章系统调试与结果分析255系统的硬件调试255.2系统的软件调试255.3调试结果及分析27结论与创新29致谢30 参考文献31 附录i自动控制升降旗系统程序清单32 附录ii自动控制升降旗系统元器件清单65第1章绪论1.1立题的意义白动升、降旗系统适应领域广泛,在许多政府部门、学校、广场和大型企业随 处可见到国旗的飘扬,随着信息时代的飞速发展,人们物质生活逐步提高,特别是 伴随着自动控制和单片机测控技术发展,可以使用自动控制系统来完成国旗的升、 降控制、使升、降旗速度与国歌演奏时间准确配合,从而避免了人为升,降

8、国旗与 国歌演奏时间不协调而出现的尴尬场面发牛,保证了国旗升、降仪式的严肃性。凌阳科技(sunplus technology co., ltd.)是全球知名的芯片设计公司,致力 于开发高品质的集成电路芯片。凌阳科技运用多媒体影音、单片微处理器、数字信 号处理器(dsp)等核心技术,发展出多样化的产品线,包括液晶ic、微控器ic、多 媒体ic、语音、音乐ic及各式as1c,并逐年扩增中。凌阳科技的16位单片机的cpu内核采用凌阳自主知识产权的nsp (microcontrol ler and signal processor) 16 位微处理器(以下简称 u'nsp)。 而围绕nsp所形

9、成的16位nsp系列单片机釆用的是模块化集成结构,以 u'nsp内核为中心,集成不同规模的rom、ram和功能丰富的各种外设接口部件,将 单片机应用引领到soc (system on chip)领域。凌阳科技的nsp系列16位单片机主要产品有:带语音功能的spce通用单 片机系列,工业控制级控制型的spmc通用单片机系列,应用于视频游戏类产品的spg 系列单片机,带有lcd显示驱动的spl16系列单片机、专用于通讯产品的spt系列 单片机,应用于高档电子乐器、和弦发声的spf系列单片机等等。凌阳科技新近又 推出了以nsp为内核的spmc75f系列单片机,用于变频马达驱动控制,广泛应用

10、于变频家电、工业变频器、工业控制等领域。单片机的应用领域越来越广泛,无论是在牛活、生产上,单片机无处不在。凌阳 spce061a单片机作为一款语音功能卓越16位单片机受到越来越多业内人士的青睐, 因此顺应单片机发展的要求,学习凌阳单片机的软件设计是我们学习的需求,也是 适应社会智能化、自动化的趋势。1.2课题研究任务及目标木系统采用凌阳公司的spce061a十六位单片机作为主控单元,步进电机作为运 动驱动电路,spce061a自带键盘作为系统的输入,通过液品显示器输岀系统信息。本 系统的工作过程首先在液晶显示器上显示操作的提示信息,通过键盘输入单片机, 系统发击信号到电机控制器控制步进电动机的

11、动作,通过滑轮的传动完成升旗和降 旗。升降旗过程中能实时显示国旗的高度和时间,且升降旗均为匀速运动;国旗能 在指定位置自动停止。木系统可实现以下功能:1)按上升键后,国旗匀速上升,同时演奏国歌,上升到最高端自动停止,国歌停 奏。按下降键后,国旗匀速下降,下降到最低端自动停止。国歌播放时间位 43s;升降旗的时间均为43s。2)可以避免误动作,国旗在最高端时按上升键不起作用;在最低端时,按下降键 不起作用。3)旗帜的位置及升降旗的吋间可实时显示。4)关断电源后再重新上电,旗帜所在的高度数据显示不变。1.3课题主要内容本文主要介绍了自动控制升降旗系统的软硕件设计及实现方法,相应的电路原 理、以及各

12、元器件性能型号的选择,内容主要分为三部分:第一部分是便件和软件的设计,包括硬件电路方案的设计、元器件的选择等, 具体的硬件电路包括步进电机驱动电路,spce061a单片机的最小系统电路。软件设 计采用模块化的设计,具体的模块包括系统主程序,升降旗子程序,时间、位置显 示子程序等,绘制软件流程图后,用c语言和汇编语言混编的形式编程。第二部分是软、硬件仿真,程序采用c语言和汇编语言混合编写,通过61板自 带的编译软件进行编译调试,硬件电路用ide软件绘制。程序调好后,利用软件生 成61单片机能识别的后缀为“s37”的机器码文件,然后把程序下载到凌阳 spce061a sunplus软件运行环境下,

13、运行程序和ide环境下的电路来实现设计要求 的各功能。第三部分是搭接61板和spgt62c19b电机模组的各个模块,用61板自带仿真器 调试,上电后一切运行正常,系统实现预期的目标。第2章自动控制升降旗系统的方案论证2.1单片机的选择及论证单片机(即cpu)是本系统的工作核心,它的选择不仅关系到系统的工作效率, 同时也为系统的工作提供可靠的保障,因此cpu的选择是系统的关键所在。方案一:采用at89c51单片机实现,单片机软件编程自由度大,可用编程实现 各种控制算法和逻辑控制。但是at89c51需外接模数转换器来满足数据采样,硬件 电路相对复杂。另外,增强型单片机在线操作不易掌握,需要用仿真器

14、来实现软硬 件调试,较为繁琐。方案二:采用凌阳公司推出的spce061a语音单片机及其开发板-61板作为控制 模块。spce061a的cpu时钟为0. 32mhz49. 152mhz,速度可以满足电机控制对实时 性的要求;内置2k words的sram,为浮点运算提供了足够的数据存储器空间;具 有7个触键唤醒屮断和2个外部屮断,可以满足本系统中键盘和传感器对外部屮断 的要求;凌阳自带的三种格式的咅乐播放格式能播放不同质量,长度的咅乐。 spce061at1j以通过在线调试器probe和ez_probe实现在线程序下载和调试,极大地 提高了开发效率。此外使用凌阳公司提供的音频函数库和spce06

15、1a丰富的时基中断 可以方便地实现功能扩展。具有保密能力watchdog功能。凌阳61单片机耗电少, 可以满足很多手提设备、掌上设备低能耗的需求,低能耗也是电子技术一直在追求 的一个目标。可方便的用来实现声音录制、播放、midi音乐合成和语音识别,相比 别的单片机比较有特色。可方便的完成一系列乘加的运数,实现一些数据处理比较 容易,别的单片机一般都不具备这种功能。芯片里具备在线仿真调试电路,使调试 和程序下载更加方便,也把仿真器和烧录器的成本给节省下来了。综上所述,本次毕业设计采用方案二。2.2电机的选择及论证电机在本系统中是国旗升降的主要控制部件,它为系统提供动力支持。从以下 几个方面阐述木

16、系统的方案。方案一:采用直流电机控制升降旗运动,直流电机力量大,能获得较大的启动 转矩,相应快,但控制复杂,不能自锁。方案二:采用步进电机控制升降旗运动,步进电机是一种作为控制用的特种电 机,它的旋转是以固定的角度(称为“步距角”)一步一步运行的,其特点是没有积 累误差(精度为100%),所以广泛应用于各种开环控制。步进电机的运行要有一电子 装置进行驱动,这种装置就是步进电机驱动器,它是把控制系统发出的脉冲信号转 化为步进电机的角位移,或者说:控制系统每发一个脉冲信号,通过驱动器就使步 进电机旋转一步距角。所以步进电机的转速与脉冲信号的频率成正比。所以,控制 步进脉冲信号的频率,可以对电机精确

17、调速;控制步进脉冲的个数,可以对电机精 确定位目的。步进电机不需要使用传感器就能精确定位,而且通过给定的脉冲周期,能够以 任意速度转动,定矩运动较精确。虽然步进电机不能高速转动,但根据题目要求的 时间和移动距离,步进电机完全能够符合要求,是该种要求下广泛使用的一种电机。综上所述,本次毕业设计采用方案二。2.2显示的选择及论证方案一:用led数码管显示旗帜所在的高度和升降旗时间,本题中只需要4只 led数码管进行动态显示高度、时间,优点是接口简单,易于控制,而口比较直观, 可视化较强。方案二:用lcd液品显示器显示,优点是能显示更多的字符,有着良好的人机 界面,缺点是控制比较复杂,性能价格比较高

18、。基于上述分析,所以选择方案一。第3章自动控制升降旗系统的硬件设计鉴于spgt62c19b电机控制模组是为学牛以及单片机爱好者学习步进电机和直流 电机控制而设计的学习套件。且模组采用凌阳spgt62c19b电机驱动芯片,配置两相 步进电机和直流电机各一台,使用该模组的步进电机作为升降旗电机,再通过滑轮 的传动完成升旗和降旗,该模组提供4位led数码管,可用来显示升降国旗的所在 高度及所用时长。而且该模组针对spce061a单片机设计,可以方便地用排线与 spce061a精简开发板(即“61板”)连接,可作为单片机开发前期,所以用 spgt62c19b电机控制模组作为毕业设计便件,与凌阳spce

19、061a共同完成此次毕业 设计。具体的电机模组简介在3. 2. 1节有详细介绍。本系统硬件方框图如图3.1所 刀i o凌阳spgt62c19bspce061a 板a电机模组图3.1系统硬件方框图3.1凌阳spce061a单片机简介传统的单片机学习硬件方案是编程器+开发系统+仿真器,由于这些设备相互 之间各自独立,在做毕业设计时,需要反复不停地拔插电缆、芯片、电源等,其繁 琐的连线和复杂的操作,极大的降低了毕业设计的效率,如稍有不慎就有可能造成 器件和设备的损坏,会带来不必要的麻烦或损失。而且备齐这些设备往往需要一笔 昂贵的费用。spce061a单片机学习开发系统将开发软件、单片机开发系统(或称

20、“实验板”)、 下载线、编程器、仿真器进行完美的结合。spce061a单片机里面整合了进行在线编程 控制的功能模块,试验过程中无需拔插任何电缆和芯片,也无需切换电源,配合下载 线,就可轻松地将编译好的代码下载到开发系统上进行验证或演示,整个过程只需 利用鼠标操作即可。当然也可以使用配套的开发环境直接对实验板上的资源进行在线 仿真。该开发系统摆脱了传统、繁锁的单片机学习方式,将当今最流行、最经济有效 的学习方案完美地整合在了同一个系统中,是一个快捷、高效、灵活的单片机学习、 开发方案。有了这个开发系统就同吋拥有了学习实验板、下载线、编程器、仿真器, 具有非凡的性价比,因此很适合我们大学生学习和开

21、发。所以,采用spce061a单片机进行开发比采用传统单片机进行开发的过程简化很 多,简单的说它的开发过程就是首先在开发环境屮编程,把编好的程序下载到开发 系统上,通过开发环境提供的各类调试窗口进行仿真调试或者育接运行。“61板”是spce061a emu board的简称,是spce061a单片机的开发系统,通 过挂接不同的硬件和下载不同的程序就可实现各类特定功能的系统。由于具有语咅处 理的特色,即便是不挂接额外的硬件,下载一些开发环境下提供的程序就可以实现一 个复读机、语音万年历之类的系统,因此可以完成国歌的播放。凌阳spce061a单片机性能: 16位卩'nspw微处理器;工作电

22、压(cpu) vdd 为 2436v(i/o) vddh 为 2. 45 5v cpu 时钟:0. 32mhz49. 152mhz;内置2k字sram;内置 32kflash;可编程咅频处理;晶体振荡器;系统处于备用状态下(时钟处于停止状态),耗电仅为2la3.6v; 2个16位可编程定时器/计数器(可自动预置初始计数值); 2个10位dac (数-模转换)输出通道; 32位通用可编程输入/输出端口; 14个屮断源可來自定时器a / b,时基,2个外部时钟源输入键唤醒;具备触键唤醒的功能;使用凌阳音频编码sacm_s240方式(2.4k位/秒),能容纳210秒的语音 数据;锁相环pi丄振荡器提

23、供系统时钟信号; 32768hz实时时钟;7通道10位电压模-数转换器(adc)和单通道声音模-数转换器;声咅模-数转换器输入通道内置麦克风放大器和自动增益控制(agc)功能;具备串行设备接口;具有低电压复位(lvr)功能和低屯压监测(lvd)功能;内置在线仿真电路ice (in- circui t emulator)接口;具有保密能力;具有watchdog功能。61板核心芯片spce061a注脚图如图3. 2所示:u1xx00xxx、3 8 & a s ? !: fexxxx7 8 9 0 1 2.-4 5 6r “ “ “ 2 292 2228303132osc32o osc32i

24、 xtest vdd xice xiceclk xicesda vss pvin dac1 dac2 vref2 vss agc opi micout micn pfuse nc ncon on oz soso- so- 20- otno- msmtrxqq> ww> ozonncncncncnc/ppqq>qvdltea50> ncd。一乏cocoaonoz0<o卜vo»<o- tqo>xqq>iob11iob12iob13iob14iob15xsleepvssxromtioa15ioa14ioa13ioa12ioa11ioa10io

25、a973 ;72 ;71 j7c j69 c68尸67t5""t4636261 、60 '5958575655舄区悴紺舄鬭刮创&等导丫导導怜导卑gs?图3. 2spce061a注脚图spce061a主要管脚描述表如下表3. 1所示:表3.1 spce061a管脚描述表管脚名称编号类型描述10a 15:84639输入输岀10a15:8:双向 10 端口toa 7:03427输入输出toa7:0:通过编程,可设置成唤醒管脚i0a6:0:与 adc line_tn 输入共用tob 15:115054输入输出tob15:11:双向10端口。i0b100除用作普通i0

26、b10输入输出的10端口,还可作为:i0b957输入输出i0b10:通用异步串行数据发送管脚tx10b858输入输出10b9: timerb脉宽调制输岀管脚bpwm0i0b759输入输出i0b8: timera脉宽调制输出管脚apwm0i0b660输入输出i0b7:通用异步串行数据接收管脚rxt0b561输入输出t0b6:双向t0端口i0b462输入输出i0b5:外部中断源ext2的反馈管脚iob363输入输出i0b4:外部中断源ext1的反馈管脚i0b264输入输出i0b3:外部中断源ext210b165输入输出10b2:外部中断源ext1i0b06667i0b1:串行接口的数据传送管脚i0

27、b0:串行接口的时钟信号dac112输出dac1数据输出管脚dac213输出dac2数据输出管脚x32i2输入32768hz晶振输入管脚x3201输出32768hz晶振输出管脚vcoin70输入pll的rc滤波器连接管脚agc16输入agc的控制管脚micn19输入麦克风负向输入管脚micp21输入麦克风正向输入管脚mic0ut18输出麦克风1阶放大器输出管脚,管脚外接电阻决定agc增益倍数opi17输入麦克风2阶放大器输入管脚3.2步进电机驱动的设计3.2.1电机模组spgt62c19b简介模组的平面图如图3.3所示:图3. 3 spgt62c19b电机模组平面图上述结构图中各部分说明如下:

28、电机控制接口:模组与单片机的接口,为10pin排针,可以直接与“61板”连 接,实现电机控制。数码管控制接口:模组与单片机的接口,为两组10ptn排针,可以直接与61板” 连接,实现 对4位led数码管的控制。spgt62c19b:电机驱动芯片,可驱动一台双极性两相步进电机,或者两台直 流电机。外接电源指示灯:spgt62c19b电机驱动芯片的逻辑控制电源与电机驱动 电源是各自独立供电的,可以外接5v12v的电机驱动电源。当接通了电机驱动电源 时,外接电源指示灯会点亮。外接电源插座:为spgt62c19b提供电机驱动电源的插座。共有两组电源插座, 分别为2pin针座(可接61板电池盒或其他直流

29、电源)和dc稳压电源插座(可接直 流稳压电源)。使用吋可选择其中一组插座作为电机驱动电源输入端。输出选择跳线:该组跳线用来选择spgt62c19b芯片控制的电机。模组提供了步进 电机和直流电机各一台,可通过对输出选择跳线的设定来切换当前工作的电机类型。步进电机接口:该接口为4pin插针形式,用于连接spgt62c19b驱动芯片和两 相步进电机。步进电机:35byj26型号永磁式步进减速电机,工作方式为两相四拍。 在步进电机面板上安装有刻度盘,以便于在实验中观察电机的转动状态。直流电机接口:由于spgt62c19b可同时驱动两台直流电机,因此留出了两组 直流电机接口,在模组上分别标示为j11和j

30、12。可以将模组提供的直流电机接在 其屮一组接口上。直流电机:电机型号为310ca,工作电压3厂12v,在5v电压下空载转速约4000 转/分。光栅转盘和红外对管:在直流电机的转轴上安置了光栅转盘,光栅转盘的 两侧分别装有鼠标用红外发射和接收管。当直流电机转动时,光栅将不断改变红外 对管的通断状态,从而实现对直流电机转速的测量。uln2003a: uln2003a是单片式7路达林顿三极管阵列,在本模组中用来驱动4 位led数码管。4位数码管:4位8段共阳极led数码管,可用作电机转速显示,也可用于显示 其他内容。根据毕业设计题目的要求,用凌阳spce061a板自带的语咅芯片及喇叭播放国歌, s

31、pgt62c19b电机模组的步进电机作为国旗升降的运动支持,4位数码管显示国旗升 降的高度和时间显示。spgt62c19b是低电压单片式步进电机驱动器集成电路芯片,可驱动一台两相 步进电机,或者两台直流电机。它带有双路h桥,可分别驱动两个独立的pp功率 管。每一个h桥都有各自独立的使能引脚,因此非常适合于需要独立控制的步进电 机驱动系统。spgt62c19b输出电压可达40v,输出电流可达750ma,由输入的逻辑电平来决定 输岀脉冲的宽度及频率,所以由这款芯片组成的电机驱动系统将脉冲发生器、脉冲 分配器、脉冲放大器合 为一体,省去了很多外圉器件。spgt62c19的内部由两组完全相同的控制电路

32、组成了两路输出通道。输入控制 信号经前级缓冲后送入片内控制器,然后由控制部分进行处理并驱动晶体管,最后 由out端口输出驱动信号以控制电机的运行。spgt62c19b原理如图3. 4所示:sinsk2simsi1r3 1rrs 1r图3.4 spgt62c19bi作原理图spgt62c19b的控制脚有如下6个,如表3. 2所示:表3.2 spgt62c19b的控制引脚引脚名称用途20101通道1的电流大小控制17ill通道1的电流大小控制16phase1通道1的电流方向控制8102通道2的电流大小控制9112通道2的电流大小控制10phase2通道2的电流方向控制以通道1为例,控制口 101与

33、ill的不同逻辑组合可使通道1输出端产生不同大小的电流输岀,控制脚101与111逻辑组合与输出电流的关系为表3. 3所示:表3.3控制脚101与111逻辑组合与输出电流的关系101逻辑值ill逻辑值输出电流00imax102/3*lmax01l/3*tmax110上表中,imax是输出电流的上限值,它与图3.3中vref和rs的值有关。其 关系式为:imax = vrcf /10*rs:phase 1的逻辑电平值决定了该通道的电流输出方向°ph/se1与电流方向的 对应关系式如表3. 4所示:表3.4控制脚phase1与输出电流的关系t01逻辑值til逻辑值输出电流00tmax102

34、/3*imax01l/3*tmax110322步进电机驱动电路的设计spgt62c19b与61板之间的接口在模组上标示为“j3” ,是10pin排针的形式。 其中phi、ph2、101、102、ill、t12 对应着spgt62c19b 的6个控制引脚;而speed 则是速度检测信号输岀脚。可以直接用10pin排线将j3接口与61板i0b的低8位 (即61板的j6)相连。应注意的是,模组接口标示为“vdd”的脚应与61板接口标 示为“ +”的脚相对应,不能接反。另外,61板的i/o供电电压应在45v5.5v之 间。因此,要把61板的i/o电压选择跳线(61板的j5)跳至“5v”位置,并保证61

35、 板供电电压在4.5v以上,建议使用5v稳压电源给61板供电。步进电机和直流电机驱动输出接口是spgt62c19b驱动芯片与电机z间的连接 端口。步进电机接口在模组上标示为j10,是4pin排针形式,对应着步进电机的4根 引线,以及spgt62c19b的0ut1a、0ut1b、0ut2a、0ut2b这4个输出端。直流电机 接口共有两组,在模组上标示为j11和j12,分别对应spgt62c19b的0ut1和0ut2两 个输出通道;肓流电机的两根引线可以与其中一组接口相接。spgt62c19b芯片有两个电源输入口,分别给逻辑控制电路和电机驱动电路供 电。因此,需要外接独立的电源给电机供电,要求外接

36、电源的电压在5广12v z间, 并可以提供750ma以上的电流。模组提供了两种形式的电机供电电源接口,分别是 2pin针座和直流稳压电源插座;可以将外部电源连接在其中一组电源接口上。由 于spgt62c19b支持一台步进电机或两台直流电机,而不能同时控制步进电机与直流 电机,因此设置了 “输出选择跳线”用于在步进电机与直流电机之间切当使用直流 电机时,要将4个短接帽都跳接到“dc motor” 一端;使用步进电机时,要将4个短接 帽跳接到“step motor” 一端。利用spgt62c19b控制步进电机,两相步进电机的4根引线分为两组,可分别 连接spgt62c19b的两个输出通道。这样就可

37、以通过spgt62c19b的6个控制引脚使两 个输出通道发岀驱动步进电机所需的脉冲信号。步进电机的工作原理如图3. 5所 zj,:vlqdpower bridge图3. 5步进电机工作原理图outaoutb步进电机与spgt62c19b的连接方法如表3. 5所示:表3.5步进电机与spgt62c19b的连接方法电机引线颜色电机引线名称spgt62c19b引脚序号spgt62c19b引脚名称蓝1a10ut1a黄1b21out1b粉2a20ut2a橙2b50ut2b每通道的输出电流可以有4种状态,这为步进电机提供了多种控制方式,可实 现“整步(full-step)"、“ 半步(half-

38、step)"、“优化半步(modified half-step) ”等工作模式。这几种工作模式的控制时序如下图3. 6所示:101 :111 ;phase1 :li02 :112 ; phase2 !:isl-!full-stephalf-stepmodified half-step1 i 2 |3| 4 |1|2|3|4|5|6|7|8|1|2|3|4|5|6|7|8|:n1图3.6步进电机不同控制模式的时序图本次毕业设计釆用“整步(full-step) ”工作方式。3.2.3步进电机驱动的脉冲数的计算实现本系统的控制,关键在于将国旗升降高度与控制电机的转向及回转角度对 应起来,二

39、者紧密配合,最终实现对国旗升降的运动控制。控制电机的转向就可以 控制国旗上升和下降,为了准确实现可变的时间和高度控制的匀速升降,需要精确 计算在一定人眼不能识别的时间内的步进电机的脉冲数。步进电机我们选用“整步”工作方式,步进电机的定轴直径为1.27324cm,则每 步拉岀的线长为0. 02 cm,完全符合精度的要求。高度可调步长为1 cm,可调时间间隔为is。在程序设计中,我们运用时间精度 很高的spgt62c19b产生4khz的中断脉冲送给单片机的外部中断irq4。在整个上升或下降过程中,高度(high)为总高度,可通过公式:步进电机要转动的总步数:总步数二高度(high)/0. 02;分

40、次转动的次数为:次数二总吋间(time)*32;每(l/32s)走的步数:步数二总步数/次数;除后余数的步数为:余步数二总步数%次数。这样步进电机在转动时需要没l/32s走一次,系统不可避免地会出现余数的现 象,这里我们采用插补补偿的方法来解决这个问题。处理思路为:我们分两种情况 考虑,当余步数为0时,每次按计算的步数运转一定的次数就能满足要求;当余步 数不为0吋,先在循环程序中分余步数次运转步数的基础上再加一次,然后再按正 常的步数转动。开始运动时打开外部中断,结束后等待中断到来再进入下一次循环。 上升和下降的原理类似。在步进电机运动的过程中,实时显示运动吋间和所在位置,并不断保护现场数 据

41、,存放于spgt62c19b中。国旗运动的控制:在主程序中,系统的按键共有3个,其中上升键、下降键为优先扫描键,开始 键则为高级中断键。1) “上升键”按下时,对spce061a输出播音控制信号播放国歌,国旗经43s的 时间匀速上升至旗杆顶端,国歌播放完毕。此吋程序只扫描下降键,下降键按下有 效时,国旗经43s的时间匀速下降至地端。2) “下降键”按下时,此时程序只扫描下降键,下降键按下有效时,国旗经43s 的吋间匀速下降至地端。3) “开始键”何条件下都有效,当按下时,系统会恢复原始状态。此键主要用 于程序跑飞的情况下。上述的按键,不同的优先级是它们具有不同的使能有效时段,这样在操作过程 中

42、不会因为误操作而产生影响。掉电现场的保护主要包括两个方面:一是断掉电后国旗位置不变,二是断掉电 z后重新合上电源,旗帜所在的高度数据显示不变。前者的保护措施是通过使用电 磁阀紧急滞动来实现,为了保障断电后再次加电时,国旗所在的高度和数据显示不 变。在每次中断数据改变时,把国旗所在的精确位置和状态写在spgt62c19b芯片中。在下次上电时,首先读spgt62c19b芯片的数据,检查国旗所在的位置。细分状 态如下:1) 如果在ocin位置,不做处理。2) 如果在86cni位置,此时为升旗状态上升的最高点,查询下降键,等待下降键 按下。当下降键按下时,国旗经过43s的时间匀速下降至ocni最低端处

43、。3) 当下降键按下时,国旗从最高点86cm,后经过43s的时间下降至ocm最低端 处。这整个过程中,所存的位置数据一定要精确,确保不出现误差积累现象。3.3显示电路的设计用spgt62c19b模组提供的4位共阴极led数码管做显示器,数码管采用 uln2003a为其提供驱动电流uln2003a是7路达林顿三极管阵列,这里用到了其中 的4路,分别连接到数码管的4个位选脚g1g4。gg4设置列表如表3. 6所示:表3. 6数码管设置列表g1g2g3g4时间十位吋间个位高度十位高度个位1) gl、g2数码管分别显示在某一种运行状态下,运动的时间,上升和下降时间 不累计。时间以s为单位,当高位为零时

44、自动消隐。2) g3、g4数码管显示此时国旗所在高度,以cm为单位。当高位为“0”时,只 显示中间的行线,不消隐。数码管显示接口包括“段控制”接口和“位控制”接口。它们在模组中被标示为 “j1”和“j2”。可以用10pin排线将模组的j1与61板的i0a低8位即61板的j8) 相连,模组的j2与61板的i0a高8位(即61板的j9)相连。连接吋要注意模组接 口标示为“vdd”的脚应与61板接口标示为“ + ”的脚相对应,不能接反。3.4按键电路的设计用凌阳spce061a板的三位按键,作为键盘输入寄存器,并入串出接口芯片串行 接入到单片机。按键操作说明如表3. 7所示:表3. 7 按键操作说明

45、表1号2号3号开始键上升键下降键当按下key1开始键时位置显示为0,则不处理可以按键;当位置显示86cm,表 示上次断电时国旗在顶端,此时升旗无效;必须先按下下降键把国旗降下,才能进 行其它功能操作;按下下降键,国旗降至底端,才能进行其它功能操作;开机后, 国旗自动下降至底端,开始进行其它功能操作。1)升旗国旗在非运动状态下的最底端时,按下key2 ±升按键后,国歌起,国旗缓缓上 升,gl、g2两位数码管显示工作时间,g3、g4两位数码管显示国旗所在位置,43s 后到达顶点,国歌停,国旗停止,运动时间显示43s,位置显示86cm,键号只显示 中间的横线。此吋除下降键以外的其它键都不工

46、作,等待下降键按下。2)降旗当key3下降键按下时,运动时间显示os,国旗开始匀速下降,43s后到达低端, 下降吋国歌不播放。第4章自动控制升降旗系统的软件设计4.1自动控制升降旗系统的软件设计方案整个系统的主要任务是执行升旗、降旗、国歌播放、计时,计算高度并显示国 旗实时运行时间及所在高度等功能,这样系统软件设计就可以分块完成。系统上电 后进行初始化,上升键按下时,电机正转,装载国歌语音模型,定时计数器timera 开始计数,计数器每加is,国旗高度计算一次,高度加2cm,时间高度数据送入显示 子程序,led显示子程序开始扫描数据并显示,上升到最高处86cm处,电机停转,国 歌停奏,按下下降

47、键时,电机反转到最低位置0cm处停止,并实时显示国旗运行时间 及所在高度。本系统软件主流程图如图4. 1所示:结束图4.1系统主流程图42计时子程序的设计该子程序的主要功能是实现国旗运行的计时,寄存器irq5入栈读入数据,判断 是否为2khz中断,是则对升降国旗的时间进行计时,同时可作为国歌播放时间,使 用定时计数器timera进行计数,计数到43s时电机停转,中断返回到主程序。计时 子程序流程图如图4. 2所示:图4.2计时子程序流程图4.4显示子程序的设计该子程序的主要功能是实现国旗时间及高度的显示,由于led显示为段码的显 示,所以处理后的十进制数要首先取段码,然后送显示单元。在发生中断

48、和等待中 断时,都对显示子程序进行了调用,完成了实时显示的要求。本设计的显缓单元为 0x702d存储单元0x0040,采用四位led显示,先把要显示的数据存入对应的显缓单 元,然后查表取段码,将段码经t0bri0b4 口送给led显示,四位位选码由 iob5iob8控制。显不了程序流程图如图4. 3所示:中斷遞冋图4.3显示子程序流程图4.5语音子程序的设计该语音子程序要求演奏国歌,其时间为43秒钟,所以选用的语音芯片其录放吋 间应大于43秒钟,即在此选用语音芯片spy0300,其录放时间为60秒,完全符合本 设计的要求,我们把国歌音乐装载在spy0300语音芯片中,然后初始化语音子程序, 获

49、取国歌语咅数据,在运行环境下初始化sacm_s480类型语咅模式,就绪后播放国 歌,解码并填充队列将国歌的语音数据加载到sacm_s480播放文件中,否则没有数 据。等待国歌播放完毕中断返回主程序。语音子程序流程图如图4. 4所示:结束图4.4语音子程序流程图第5章系统调试与结果分析5.1系统的硬件调试整个系统搭接完毕,首先对硬件进行检查联线有无错误,再逐步对各模块进行 硬件调试。由于木设计采用的是整体的61板及电机模组,因此,在硬件调试部分只 要将61板自检程序及电机模组自检程序下载到各自的核心芯片中,运行后61板可 以进行国歌播放,电机模组的电机可以正反转,led可以显示时间高度就证明硬件

50、 调试成功。5.2系统的软件调试首先写入电机控制小程序,控制其正反转,停机均正常。根据高度加入步长脉 冲调试,其控制升、降旗以及与语音子程序同步均符合要求。加入按键和显示时 间、高度子程序,均正常工作,通过编码,可实现升降旗与停止功能。音乐播放程序调试过程:1)在网络上找到播放一遍的国歌,把咅乐文件格式转换为.wave格式的文件,再 用凌阳公司提供的compress tool装换工具将.wave的音乐文件转换为61板能 是别的.72k的音乐文件2)新建一个工程ex3_s480_auto,在工程里新建main, c文件和isr.asm文 件。3)拷贝头文件:把s480. h和s480. inc两

51、个文件拷贝到ex3_s480_auto工程 文件夹。4)拷贝支持文件:把hardware. h> hardware, inc两个头文件和hardware, asm 汇编语言文件拷贝到ex3_s480_auto工程文件夹。5)拷贝库文件:把sacmv26e语音库文件(文件名为:sacmv26e. lib)拷贝到 ex3_s480_auto工程文件夹。6)拷贝资源文件:可以在ide的安装路径spce061avoiceexaex3_s480_autovoice 找到 72k的音乐文件,把这个语 音资源文件拷贝到ex3_s480_auto工程文件夹。7)从工程文件夹当中,添加刚刚拷贝的音乐资源文

52、件到ex3_s480_auto工程。8)包含 sacmv26e. lib 库到 ex3_s480_auto 工程中。9)添加hardware, asm文件到资源文件夹。10)在m“inc文件开始包含头文件s480. h和hardware, h,在isr. “sm文件开始包含 s480. inc和 hardware inc。11)按照程序流程图编写程序。12)rebuild all,出现没有定义 t_sacm_s480_speechtable 的错误。13)在resource, asm文件中定义语音资源表和语音播放顺序。14)rebuildall,如果没有其他错误,下载程序到实验箱。把j8中(d

53、ac1)的 跳线设置为靠近dac1字样的两个引针短接。运行程序,根据实验箱播放的咅 乐判断是否符合实验要求。电机模组软件调试过程与上述过程类似,因此不再赘述。系统综合调试:上电后,对系统复位,然后设置状态,在运行过程中发现存在 有一定的误差,经过反复调试,发现误差出现的原因是由于步进电机转轴、滑轮肓 径以及转角都存在着一定误差,使实际值与理论值之间总会有些误差,经过反复调 试,最后增加了实际脉冲数,结果问题解决,实现理想功能。本次设计任务对软件编写调试的能力要求相对较高,程序调节是否顺利决定了 实习进度。由于初次接触61的编程,所以在实习初期我们主要是学习和认知61的 板以及61编程的基本知识

54、,这是个学习深入的过程。在对编程基础知识了解后,基于对题目要求的理解和思考,我们确定实现方 案。可以通过简单的i/o操作实现国旗的升降、语音播放功能;配合spce061a的语 音特色,利用系统的语音播放和语音资源,实现国歌播放的功能。这个方案的确定是在查阅了,61资料“步进屯机控制实验”的实现程序后得 到的思路。基于对现有程序框架的理解。当然,程序的调试是不可能一两次就能成 功的。这其中遇到的问题有很多,其中就有硬件的问题以及对61编程的知识的理解 的不够而出现的调试困难。5.3调试结果及分析根据设计题fi要求,下面两项测试是必须要完成的内容,从测试的结果看,都 达到了题目的基木要求和发挥要求

55、,旗帜运动的参数都在要求范围内,而且所有的 运动均在规定的时间内完成。各项的测试情况如下:1、升旗时间和位置测试以测试国旗上升的运动时间和所到达位置为例,检测运动是不是匀速运动,实 际位置和理论位置是否对应,升旗43s到达86cm的位置和时间是否精确,如表5. 1 所示:表5.1升旗时间和位置测试理论位置(cm)0. 005. 0010. 0020. 0040. 0060. 0080. 0086. 00实际位置(cm)0. 005.019. 9620. 0239. 9660.0179. 9685. 98误差值(cm)0. 000.01-0. 040. 02-0. 040.01-0. 04-0. 02理论时间(s)0. 002. 774. 559. 1120. 8829. 6639. 2243. 12实际时间(s)0. 002. 804. 529. 0220. 7129.6139. 1143. 11误差值(s)0. 000. 03-0.

温馨提示

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

评论

0/150

提交评论