国旗升降系统论文样本
广东药学院
课程设计(论文)
题目:基于自动国旗升降系统设计
目·录
摘 要................................................................................................................. 3
1. 绪 论............................................................................................................... 3
1.1引言........................................................................................................... 3
1.2步进电机介绍........................................................................................... 4
1.3思考讨论的问题,拟解决的思路:....................................................... 4
2.整体的方框图与工作原理............................................................................... 5
3.各个单元电路的设计..................................................... 错误!未定义书签。
3. 1 系统硬件的选择....................................................................................... 6
3.1.1 单片机的选择................................................................................. 6
3.1.2 电机的选择..................................................................................... 6
3.1.3 电机驱动的选择............................................................................. 7
3.1.4 显示的选择..................................................................................... 8
3.1.5 无线控制模块的选择..................................................................... 8
3.1.6 语音芯片的选择............................................................................. 8
3.2 步进电机的基本原理............................................................................... 9
3.3 步进电机的静态指标术语....................................................................... 9
3.4 动态指标及术语..................................................................................... 10
3.5 步进电机的控制原理............................................................................. 11
3.6 各模块电路的设计................................................................................. 11
3.7旗帜初始设置的调整.............................................................................. 14
3.8 ISD1700系列语音模块 .......................................................................... 14
3.9 VS1838B红外无线遥控模块 . ................................................................ 15
3.10 12864液晶显示模块............................................................................. 15
4.软件部分的设计............................................................................................. 15
4.1 本系统设计的程序流程图..................................................................... 15
4.2 单片机8051的C 语言程序 . ................................................................. 16
摘 要
国旗升降自动控制系统:设计一个自动控制升降旗系统,该系统能够自动控制升旗和降旗,升旗时,在旗杆的最高端自动停止;降旗时,在最低端自动停止。国旗的升降用的是精确控制的步进电机,拥有红外遥控和语音播放的功能,可以自由的控制国旗的升降,以及自由选择并显示国旗的上升(或者下降)的高度以及时间,国歌可以从PC 机以通讯方式下载,具有无线遥控升、降旗及停止功能。
关键词: 步进电机、红外遥控、语音播放、精确控制、与PC 机通讯。
1. 绪 论
1.1引言
1) 任务
设计一个自动控制升降旗系统,该系统能够自动控制升旗和降旗,升旗时,在旗杆的最高端自动停止;降旗时,在最低端自动停止。
2) 要求
1、基本部分
(1)按下上升按键后,国旗匀速上升,同时流畅地演奏国歌,显示国歌演奏时间等参数;上升到最高端时自动停止上升,国歌停奏;按下下降按键后,国旗匀速下降,降旗的时间不放国歌,下降到最低端时自动停止。
(2)为避免误动作,国旗在最高端时,按上升键不起作用;国旗在最低端时,按下降键不起作用。
(3)数字实时显示旗帜所在的高度,误差不大于2厘米。
2、发挥部分
(1)半旗状态。升旗时,按上升键,奏国歌,国旗从最低端上升到最高端之后,国歌停奏,然后自动下降到总高度的2/3高度处停止(要有标志指示);
降旗时,按下降键,国歌停奏,国旗先从2/3高度处上升到最高端,再自动从最高端下降到底之后自动停止。
(2)不论旗帜是在顶端还是在底端,关断电源之后重新合上电源,旗帜所在的高度数据显示不变。
(3)要求升降旗的速度可调整,旗杆高度不变的情况下,升降旗时间的调整范围是20—60秒钟,步进1秒。此时国歌停奏。国歌从PC 机以通讯方式下载,(国歌从PC 机上任意选择,模拟给出各国国歌演奏时间)。
(4)具有无线遥控升、降旗及停止功能。
说明:旗帜重量约100克 。
1.2步进电机介绍
电机方面我们采用的是5V 的28BYJ-48型号64细分的步进电机,一是看重步进电机的精确控制方面比其他电机的优势,二是该型号的电机性价比方面比较优秀,三是步进电机比较好驱动以及容易控制。
1.3思考讨论的问题,拟解决的思路:
思考讨论的问题:国旗升降系统的核心部分是在电机控制部分,如何精确的控制电机的转动以及带动国旗所走的位移是难点之一,另外实时显示国旗升降的时间以及高度也是要考虑的问题,无线遥控用什么系统控制,如何准确控制;国歌的下载方式,,以及跟PC 机通讯也是个大难点之一。
拟解决的思路:在电机控制部分我们可以采用步进电机,利用步进电机可以精确控制步幅的特点,计算国旗升降的位移并将其转换为控制电机的脉冲数,通过自由选择输入的方式加以单片机定时器的功能来精确控制国旗的升降高度。
实时显示部分,我们的思路是利用12864液晶输入的值利用数学公式变成单片机函数来准确显示实时的高度以及时间。
无线遥控部分考虑到资源问题,我们只能采用价格比较低廉的红外线遥控,当然红外遥控比较普遍了,键值转换原理我们也比较清楚,所以思路是将遥控器
的键值转换成按键就可以了。
国歌的播放的话可以用到ISD1700系列的语音模块,自己焊也是可以的但是觉得多此一举,这个并不是主要部分,所以直接用模块会好很多。本身SID1700系列的芯片就有多种功能,其中可以用到与单片机直通的功能直接将PC 机上的歌曲通过语音芯片实时录制下来,并通过单片机来控制其进行相应的播放和选择,这样一来,跟PC 机通讯以及国歌实时下载的部分也就可以解决了。
2.整体的方框图与工作原理
本系统以单片机最小系统为核心部分,分为6个模块,分别是电源、键盘、红外遥控、步进电机以及驱动、液晶显示、语音模块。每个模块都有独立的功能,其中独立键盘可以用红外遥控代替,可以忽略。
工作原理:5V 电源模块进行全局供电,独立键盘以及红外遥控控制单片机进行相应的操作,单片机输出信号给ULN2003A 驱动系统驱动步进电机进行相应的升降旗操作,输出给12864液晶进行实时显示,以及控制ISD1700系列的语音模块进行相应歌曲的播放,其中语音模块连接PC 端音频输出口,可以实时的从PC 机上下载并录制歌曲。
方案1:采用AT89S51单片机实现,该单片机内部资源丰富,集成了内部看门狗、双数据指针、在系统编程(串行下载目标程序)等功能,软硬件调试方便,给电子设计带来很多方便,故该系统设计选用AT89S51单片机。
方案2:采用STM32单片机实现,从性能运算效率,IO 口等各方面来说STM32都要比AT89C51系列单片机优秀,但是出于价格以及熟悉程度的问题,STM32在使用的过程中还会出现很多问题。
对于单片机的选择来说,其实我们并没有太多的选择,考虑到系统并不太,并且对运算速度方面IO 口等要求不高,所以用AT89C51系列的单片机就已经足够用,所以综上所述我们选择方案一。
3.1.2 电机的选择
电机的选择可以有两种方案:
方案1:采用直流减速电机。上电即转动,掉电后惯性较大,停机时还会转动一定的角度后才会停下来;转矩小,无抱死功能,如要求准确停在一个位置,其闭环算法复杂。
方案2:采用交流电动机。交流电动机具有结构简单、运行可靠、成本低廉等优点;但对交流电动机进行调速需要比较高的技术和成本 方案3:采用步进电动机。步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变为角位移,即给一个脉冲,步进电机就转一个角度,因此非常合适单片机控制,在轻载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,累积误差小,控制精度高。 基于上述理论上的分析,采用步进电机控制国旗升降运动
3.1.3 电机驱动的选择
方案1:利用达林顿管对电机进行驱动。它将二只三极管适当的连接 在一起,以组成一只等效的新的三极管。这等于效三极管的放大倍数是二者之积。在电子学电路设计中,达林顿接法常用于功率放大器和稳压电源中。(uln2003a )
方案2:采用芯片L298N 与L297组合对电机进行驱动。L298N 芯片可以驱动一个四相电机或两个两相直流电机,输出电压最高可达50V 可以直接通过电源来调节输出电压;L297操作简单,可以通过L298N 对电机进行正反转及提速减速操作;而且电路简单,单片机CPU 负载小控制实时性好,使用比较方便。
以上两种方案中,方案一采用达林顿管可以充分利用电源电压,有效提高功率。方案二中L297和L298N 能稳定地驱动步进电机,方案一价格不高,而使用L298N 时,可以用L297来提供时序信号;也可以直接用单片机模拟出时序信号,由于控制并不复杂,故选用前者。 我们最终决定采用方案一。
3.1.4 显示的选择
方案1:用LED 显示,把测量所得的高度通过数码管显示。数码管亮度高、体积小、重量轻。但是动态显示要求单片机定时的对显示器件扫描,如不调用显示程序,就会立即停止显示。且显示信息简单、有限,在本题目中应用受到很大的限制。
方案2:用LCD 液晶显示,其优点是能显示更多的字符,工作电流比数码管小几个数量级,其功耗低,体积小,还有良好的人机交换界面。
故我们选择方案二。
3.1.5 无线控制模块的选择
方案1: 采用自制的无线发射和接受电路进行无线收发。这个方案虽然思路简单,但是硬件电路的连接与调试十分复杂,装置工作时的稳定性难以保证。
方案2:采用红外发射和接受装置进行无线收发, 利用这种装置需要完成的电路简单, 性能稳定,抗干扰能力强。
考虑到系统的稳定性,我们决定采用方案二。
3.1.6 语音芯片的选择
ISD1700系列语音模块比较简单易于控制也能很好的实现此系统要求的录放音功能,但是ISD1700有SPI 接口,可以串行控制;并且可以存储长达一分钟,可以用来存储多国的音乐,能为实现多个国家的国旗升降提供方便,是此系统最佳选择。
3.2 步进电机的基本原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
感应子式电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。以机座号(电机外径)可分为:42BYG(BYG为感应子式步进电机代号)、57BYG 、86BYG 、110BYG 、(国际标准),而像70BYG 、90BYG 、130BYG 等均为国内标准。
3.3 步进电机的静态指标术语
(1)相数:产生不同对极N 、S 磁场的激磁线圈对数。常用m 表示。
(2)拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n 表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB ,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A。
(3)步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度/(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。
(4)定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)
(5)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。 虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过分采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。
3.4 动态指标及术语 (1)步距角精度: 步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。
(2)失步: 电机运转时运转的步数,不等于理论上的步数。称之为失步。
(3)失调角: 转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。
(4)最大空载起动频率: 电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。
(5)最大空载的运行频率: 电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。
(6)运行矩频特性: 电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。如下图所示: 其它特性还有惯频特性、起动频率特性等。 电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。 如下图所示: 其中,曲线3电流最大、或电压最高; 曲线1电流最小、或电压最低,曲线与负载的交点为负载的最大速度点。 要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电机。
(7)电机的共振点:步进电机均有固定的共振区域,二、四相感应子式的共振区一般在180-250pps 之间(步距角1.8度)或在400pps 左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。
(8)电机正反转控制: 当电机绕组通电时序为AB-BC-CD-DA 或()时为正转,通电时序为DA-CD-BC-AB 或()时为反转。
3.5 步进电机的控制原理
步进电机连接转轴,转轴控制旗的升降,根据步进电机的工作原理首先计算
出转轴的周长即步进电机转一周所带动的旗帜的升降位移,由于我们系统所用的电机是64细分的,步进一步为5.625度,也就是说步进电机转一周所需要的脉冲数是360/5.625*64=4096个,假设设定的歌曲时间是X 秒,步进电机转一周所测量的时间是N 秒,所以在刚播放完歌曲的时间时,单片机需要给步进电机的脉冲数是X/N*4096个,我们的系统对步进电机的一个脉冲延时为X*1000/(X/N*4096)毫秒即N*1000/4096。所以我们系统对步进电机的精确控制公式有两个,分别是:
当然不排除系统中有多种误差,细节的微调比如线性补偿等方式还是要加的,最后才能达到最佳的精确控制效果,微调的数值并不是理论值。在这里就不一一写明。
图2 步进电机控制转轴图
3.6 各模块电路的设计
1、红外接收模块
2、步进电机以及驱动模块
3、12864液晶显示模块
4、ISD1700语音模块
3.7旗帜初始设置的调整
对于国旗升降系统来说,或者说对于任何有关于计算跟测量的系统来说,调
零是一项很重要的工作,单片机在工作的时候是严格按照你赋给它的值进行定时或者是其他工作的。所以一旦零点没有调整好的话直接会导致整个系统的误差,而且这个误差会经过系统的不断运行而不断的累加,最终导致系统的崩溃。 具体调整方法:我们是将升旗台的最低端作为整个系统的零点,那么旗帜的上升跟下降都是按照这个零点标准来进行校正的。其次,我们多次对旗杆的高度进行测量,然后记录了旗帜到达最高点的时候转轴一共转了多少圈(4圈),当然数据不可能刚好是正数的,我们进行了微调,将线人为的延长了一点点,为了保证理论数据的准确性。最后是调整转轴与旗杆之间的距离以及让旗帜完美的贴合旗杆(保证在升降旗的过程中旗帜不会乱摆)。旗帜通过这些初始的设置过后最终达到了我们想要的接近理想的效果。
3.8 ISD1700系列语音模块
这个模块的原理图上面都已经给了出来,主要的功能是录放音以及跟PC 机进行实时通讯下载。模块共有6个功能键,分别是FWD(跳转键) 、ERASE (擦除)、REC (录音)、PALY (播放)、FT (直通)、VOL (音量),6个功能键都是低电平触发,其中我们系统所使用的功能是FWD ,跳转播放,因为我们录了两段音,其中一段是人为的提示音,另一段是从PC 机上实时下载的歌曲(1分钟内)。PALY ,播放键,这个不用说了,这里我们把这个键直接连接到了单片机的一个口上,人为的控制单片机输出高低电平来控制它。FT+REC键,这两个键同时为低电平(一直为低)时触发的是直通录音功能,也就是说当我们要从单片机上实时下载歌曲是只需要控制这两个键就可以了。最后如果需要加减音量可以按VOL 键,需要换过一首歌曲则按下ERASE 键擦除,然后再按直通录音就可以。
3.9 VS1838B红外无线遥控模块
红外无线遥控都说烂了,利用遥控器键值的不同和单片机的解码程序给单
片机的某一口进行相应的赋高低电平(或者高低脉冲)就可以模拟普通的独立键盘的功能,加上键盘扫描程序,可以完成相应的操作。
3.10 12864液晶显示模块
液晶的话我们让它显示了初始化的一些东西,并让它每秒扫描一次进行实时的高度以及时间显示,因为单片机自带字模的不太完全,我们暂时给它写成了英文显示。
4.软件部分的设计
4.1 本系统设计的程序流程图
图15 程序流程图
4.2 单片机8051的C 语言程序
#include #include
uchar code led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x6d,
0x7d,0xf8,0x80,0x90,0x40,0x86,0x8c,0xff}; uchar dispsave[]={0,0,0,0,0,0};
sbit start=P2^0; //ADC0809的ALE 和START 信号控制 sbit eoc=P1^0; //ADC0809的EOC 控制线 initi(); deal(); output();
//------------------------- 延时 delay(uchar x) {
while(x--); }
//------------------------ 主函数 main() {
initi(); while(1) { deal(); } }
//---------------------------- 初始化
initi()
{ uchar i; start=0; } //----------------------------- // deal() {
start=1; //ADC0809清除内部寄存器 start=0; //ADC0809开始转换
while(eoc) //EOC=1表示转换完毕,需存储{for(i=0;i
//----------------------------- // output() { int m; {
{for(m=0;m
} } 数据采集 显示输出
参考文献
[1] 康华光. 电子技术基础[M]. 北京:高教出版社,2000. [2] 胡寿松. 自动控制原理[M].北京:科学出版社,2001. [3] 郁有文. 传感器原理及工程应用[M].西安:西安电子科技大学出版社,2003.
[4] 戚新波, 范峥, 陈学广. 高精度电感测微仪电路的设计[J].华北水利水电学院学报,2005,26(4).
[5] 洪小丽, 戴一帆. 改善电感测微仪电路精度的措施[J].国防科技大学学报,2003,25(3)
[6] 张福学. 传感器实用电路150例[M].1993,5 [7] 彭军. 传感器与检测技术[M].2003,11
[8] 刘瑞新. 单片机原理及应用教程[M]机械工业出版社,2004. [9] 侯国章 赵学增 审编 测试与传感技术[M] 哈尔滨哈尔滨工业大学出版社 1998
致谢
本论文是在谭竹梅教授的悉心指导和热情关怀下完成的。谭老师渊博的学识、严峻的治学态度及随和的为人之道给我留下了难以磨灭的印象,这将使我终身受益, 同时,谭老师在生活上也给了我极大的鼓励和帮助。为此,我要对他致以最衷心的感谢. 在本科学习的四年中,我与同学建立了深厚的友谊,他们在我遇到困难时无私地伸出援助之手,对他们的帮助我特别感谢。最后,对关心、支持我的亲人和老师致以最衷心的感谢。