山东理工大学门禁出入管理控制系统_第1页
山东理工大学门禁出入管理控制系统_第2页
山东理工大学门禁出入管理控制系统_第3页
山东理工大学门禁出入管理控制系统_第4页
山东理工大学门禁出入管理控制系统_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 绪论1.1概述门禁,又称出入管理控制系统,是一种管理人员进出的数字化管理系统。门禁系统已成为发达国家和地区最主要的保安系统之一,和传统的保安设备不同,它变被动的监控和报警为主动的控制,起到更高的安全作用,因此门禁系统在保安设备众多领风骚。常见的门禁系统有:密码门禁系统,非接触IC卡(感应式IC卡)门禁系统,生物识别门禁系统等。密码门禁系统由于其本身的安全性弱和便捷性差已经面临淘汰,而生物识别门禁系统安全性高,但成本高,由于拒识率和存储容量等应用瓶颈问题而没有得到广泛的市场认同。利用语音识别技术来实现门禁系统不用像其他方式一样需要触摸,具有方便、安全、准确、信息完整、独立性强、反应速度快

2、等优点。因此,基于语音识别技术的门禁系统有着非常独特的优势和发展前景。在任何门禁系统中都需要电机控制大门的开启和关闭,而且在电气时代的今天,电动机在工农业生产、人们日常生活中起着十分重要的作用。直流电机是最常见的一种电机,在各领域中得到广泛应用。直流电动机有较好的控制特性,它的调速范围宽广,调速特性平滑。直流电动机过载能力较强,热动和制动转矩较大。虽然由于存在换向器制造复杂,价格较高,但是它较高的控制特性仍然使它在控制领域占有重要地位。随着电力电子技术、单片机和微型计算机的高速发展,外围电路元件专用集成电路的不断出现,使得直流电动机控制技术有了显著进步。这些技术领域的高速发展,可以很容易的构成

3、高精度、快响应的直流系统,因而近年来世界各国在高精度、速度和位置控制场合,受到了人们的越来越多的关注,从而得到迅速的发展和广泛的用。在直流电机调速系统中,数字PID是一种比较成熟的算法。它的结构简单,不一定需要系统的确切数学模型,参数易于调整,在长期应用中已积累了丰富的经验,将它移植到电机控制系统,通过软件予以实现,对于大多数控制对象都能获得满意的控制效果。因此,数字PID控制算法是电机微机控制中常用的一种基本控制算法。研究直流电机的控制和测量方法,对提高控制精度和响应速度、节约能源等都具有重要意义。而且对PID算法的学习和研究可以更好的理解工程实际中的控制技术,对于培养学生的工程意识有很大帮

4、助。1.2电机及驱动介绍电机是电动机(俗称马达)的简称,是一种将电能转换成为机械能的装置。在运动控制系统中主要用作执行部件。它的基本工作原理是利用电流通过一个恒定的磁场中的导体时所产生的电磁力来驱动导体运动而产生动力。常用的电机有直流电机交流电机和步进电机。直流电机是由磁极电枢绕组电刷和换向器组成的。通过控制电枢绕组中电流的方向和大小,就可以控制直流电机的旋转方向和速度。它具有控制简单,启动转矩大,体积小,质量轻,效率高等优点。直流电机的驱动方式有很多,其中很常用的一种叫做脉宽调制。脉宽调制(PWM)通常称为PWM伺服放大技术,它是利用改变电压脉冲宽度来达到变压的目的的一种控制技术。调速范围宽

5、,效率高是它的主要优势。1.3PID控制简介PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID调节器及其改进型是在工业过程控制中最常见的控制器(至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。我们今天所熟知的PID控制器产生并发展于19151940年期间。尽管自1940年以来,许多先进控制方法不断推出,但PID控制器以其结构简单,容易被理解和实现,应用中不需要精确的系统模型的预先知识,对模型误差具有易于操作等优点,仍被广泛应用于冶金、化工、电力、轻工和机械等工业过程控制中。PID有如下几个重要的功能:1、提供反馈控制;2

6、、通过积分作用可以消除稳态误差;3、通过微分作用预测将来。PID控制器历史悠久,生命力旺盛,并以其独特的优点在工业控制中发挥巨大作用。1.4系统的总体设计本系统由单片机核心、电机控制模块、数码管显示模块语音模块和键盘输入模块构成,SPCE061A单片机作为主控芯片,通过I/O端口来控制SPGT62C19B电机驱动芯片,从而实现对直流电机的控制。电机上的光栅转盘和红外对管将直流电机的转动信息反馈给单片机,单片机针对测得的实际转速来调节SPGT62C19B的控制状态,从而使转速趋近预设置。同时,电机转速可由4位数码管显示出来。通过按键对直流电机的转动方向和转速等进行设定。并利用凌阳单片机擅长的语音

7、功能实现实时播报转速功能。各部分之间的功能结构框图见图1.1。SPCE061A单片机数码管显示模块转速测量模块键盘输入语音模块电机及驱动模块图1.1系统功能结构框图1.5本设计的主要工作对于硬件部分,论文主要研究了直流电机及利用SPGT62C19B进行PWM调速的原理,电机转速测量的方法,并设计了一套直观而又简洁的直流电机控制系统电路。对于软件部分,论文研究了各个功能模块的设计思想和软件实现方法,讨论了数字PID在直流电机转速控制中的应用。论文结构安排采取先硬件后软件,最后调试分析结果的顺序。系统利用四个按键以及电机控制模块实现直流电机速度测量和调节,具有下列功能:1、可通过按键设定电机的转动

8、方向、转速;2、可实时测量电机的实际转速,并在LED数码管上显示出来;3、可对电机进行PID转速调节,使其转速趋近于设定值;4、具有实时语音播报实际转速的功能。第2章硬件电路设计硬件电路主要由单片机核心键盘输入模块LED显示模块电机驱动及测速模块和语音模块五部分组成,下面分别介绍各部分的电路的原理及实现。2.1 单片机选择近些年来,随着单片机需求的增多,功能集成化的发展,其应用也逐渐由单纯的控制扩展为控制处理、数据处理及数字信号处理(DSP)等领域。通用16位单片机具有处理能力强、运算速度快、片内集成度高等优点,使其在信号处理、语音合成、语音识别、图像处理、通讯、仪器仪表,自动控制、汽车电子、

9、电机变频控制、家用数字化设备等方面开辟了又一片广阔的天地。因此,16位单片机比8位单片机应用的领域更加宽,是今后发展的一个必然趋势。众所周知的MCS-51系列单片机是Intel公司推出的8位单片机系列,是使用最为普遍的单片机系列之一,并且ATMEL、LG、SIEMENS、PHILIPS等公司都有与其内核相兼容型号的芯片。MCS-51系列单片机的片内结构中包括有微处理器CPU、片内随机存储器RAM、片内程序存储ROM/EPROM、并行输入输出口(P0、P1、P2、P3)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)七个部分组成。片内的处理器CPU是一个8位的处理器,是由运算部分和控

10、制部分两个部分组成,实现程序的控制和数据的运算,片内的随机存储器有128个字节,不够使用的时候可以外部扩展,片外最多可以扩展64K字节。凌阳16位单片机的数据处理能力较强,在功能上远远超过8位单片机,其集成度较高,内部集成了ICE仿真电路、FLASH程序存储器、SRAM数据存储器、通用I/O端口、定时器、中断控制、CPU时钟、A/D转换器、D/A转换器、通用异步串行输入输出接口、直接串行输入输出接口、低电压监测/低电压复位等若干部分。在unsp的内核外,配合不同的接口和辅助部分,就可以构成不同功能的单片机,内部采用总线结构,因而减少了各功能部件之间的连接,提高了其可靠性和抗干扰能力。凌阳的SP

11、CE061A是16位单片机,具有DSP功能,有很强的信息处理能力,最高时钟可达到49MHz,具备运算速度高的优势等,这些都无疑为语音的播放、录放、合成及辨识提供了条件。凌阳压缩算法中SACM_A2000、SACM_S480、SACM_S240主要是用来放音,可用于语音提示,目前常用的16位单片机中带语音处理功能的芯片不是很多,多数都是外挂专用的语音处理芯片,增加了开发的成本和周期。在做专门语音处理的时候,这样的芯片就只有单一的语音处理功能,因此在使用时具有了一定的局限性,而SPCE061A不仅可完成单片机本身的功能,还具有高质量的、编程方便的语音处理的功能。因此凌阳16位单片机是本设计较为合理

12、的选择。凌阳单片机概述随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的nSP16位微处理器芯片。围绕nSP所形成的16位nSP系列单片机(以下简称nSP家族)采用的是模块式集成结构,它以nSP内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件有以下特点:1、体积小、集成度高、可靠性好且易于扩展。nSP家族把各功能部件模块化地集成在一个芯片里,内部采用总线结构,因而减少了各功能部件之间的连线,提高了其可靠性和抗干扰能力。另外,模块化的结构易于系

13、统扩展,以适应不同用户的需求。2、具有较强的中断处理能力。nSP家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域。3、高性能价格比。nSP家族片内带有高寻址能力的ROM、静态RAM和多功能的I/O口。另外,nSP的指令系统提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了DSP功能,使得nSP家族运用在复杂的数字信号处理方面既很便利,又比专用的DSP芯片廉价。4、功能强、效率高的指令系统。nSP指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。5、低功耗、低电压。nSP家族采用CMOS制造工艺,同

14、时增加了软件激发的弱振方式、空闲方式和掉电方式,极大地降低了其功耗。另外,nSP家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电。这对于其在野外作业等领域中的应用具有特殊的意义。凌阳单片机的输入输出接口输入/输出接口是单片机与外设交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界传送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。凌阳单片机的输入输出端口与51系列单片机不同,它需要先定义再使用。SPCE061A有两个16位的通用并行I/O口:A口和B口。这两个端口的每一位都可通过编程单独定义成输入或输出口。A口的IOA0IOA7

15、作为输入端口时,具有唤醒功能,即当输入电平发生变化时,会触发CPU中断。在电池供电、追求低耗电的应用场合,可以让CPU进入睡眠模式(利用软件控制)以降低功耗,需要时才以按键来唤醒CPU,使其进入工作状态。SPCE061A提供了位控制结构的I/O端口,每一位都可以单独用于数据输入或输出。每个独立的位可通过以下3种控制向量来作设定:1、数据向量Data2、属性向量Attribution3、方向控制向量Direction每3个对应的控制向量组合在一起,形成一个控制字,用来定义相对应I/O端口位的输入输出状态和方式。与其它的单片机相比,SPCE061A除了每个I/O口可以单独定义其状态外,每个对应状态

16、下的I/O端口性质电路都是内置的,在实际的电路中不需要再外接。方向向量_Dir、属性向量_Attrib和数据向量_Data分别代表三个控制口。这三个端口中每个对应的字节合在一起,形成一个控制字,来定义相对应I/O端口位的输入/输出状态和方式。凌阳单片机的中断系统中断是指在执行某一程序的过程中,由于单片机系统内、外的某种原因,而必须终止原程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被终止的原程序过程。中断是为处理器对外界异步事件具有处理能力而设置的,中断技术的引入把单片机的发展和应用大大地推进一步。因此中断功能的强弱已成为衡量一种微控制器性能的重要指标。SPCE061A系列

17、单片机中断系统,是凌阳16位单片机中中断功能较强的一种,它可以提供14个中断源,具有两个中断优先级,可实现两级中断嵌套功能。用户可以用关中断指令(或复位)屏蔽所有的中断请求,也可以用开中断指令使CPU接受中断申请。每一个中断源可以用软件独立控制为开或关中断状态;但中断级别不可用软件设置。SPCE061A单片机的中断系统有14个中断源分为两个定时器溢出中断、两个外部中断、一个串行口中断、一个触键唤醒中断、7个时基信号中断、PWM音频输出中断。时基信号发生器的输入信号来自实时时钟32768Hz;输出有通过选频逻辑的TMB1、TMB2信号和直接从时基计数器溢出而来的各种实时时基信号。当开启时基信号中

18、断后,有时基信号到来,发出时基信号中断申请,CPU查询到有中断请求后,允许中断并置位P_INT_Ctrl中相应的中断请求位,在中断服务程序中通过测试P_INT_Ctrl来确定是那个频率时基信号产生的中断,可以通过在计数不同频率的时基信号来做长时间或短时间的定时控制。2.1.4凌阳单片机硬件系统SPCE061A硬件系统包括芯片及其外围基本模块,外围基本模块有:晶振输入模块、锁相环外围电路、复位电路、指示灯等。如图2.1所示图2.1凌阳单片机硬件系统2.2 电机及其驱动方式电机是电动机的简称,是一种将电能转换为机械能的装置。电机在运动控制系统中主要用作执行部件。它的基本工作原理是利用电流通过一个恒

19、定磁场中的导体时所产生的电磁力来驱动导体运动而产生动力。运动控制系统中最常用的电机类型有:直流电机交流电机和步进电机等。直流电机由永磁定子线圈转子电刷和换向器构成。通过电刷和换向器使电流方向随转子转动变化,实现连续旋转运动。转速控制采用电压控制方式,控制电压和转速成正比;转矩控制采用电流控制方式,控制电流和转矩成正比。交流电机按结构分为同步电机和异步电机,同步电机转子由永磁体构成,异步电机转子由线圈绕组构成。无刷直流电机结构和同步电机相同,特性和直流电机相同。交流电机控制方式分为电压控制和频率控制两种方式。异步电机通常采用电压控制方式。步进电机按照产生转矩的方式分为永磁体式可变磁阻式和混合式。

20、步进电机的控制方式分为单相励磁双相励磁和单-双励磁。带有负反馈的直流电机在运动控制系统中作为执行电机得到广泛的应用,这是因为直流电机具有以下优点:1、良好的可控性,即直流电机的启动停转转向可控;2、其转速虽控制信号改变时,具有良好的调速性;3、调速范围宽线性度好;4、启动转矩大,电机本身惯量小,启动迅速;5、机械特性和调节特性好。步进电机的能量转换效率低,容易丢步。与交流电机相比,直流电机在控制方便工作特性的线性度好等方面有着突出的优点。而且交流电机的驱动电路复杂,价格高。因此,目前在要求较高的调速装置的运动控制系统中,都选用直流电机与整流型调速装置组合使用。2.2.1直流电机直流电机是由磁极

21、电枢绕组电刷和换向器组成的。其中,磁极在工作中固定不动,故又称定子,定子磁极用于产生磁通的磁场。根据磁极的结构,可分为永磁式直流电机和电磁式电机两种。在永磁式直流电机中,磁极采用永磁材料制成,充磁后可产生恒定磁场。在电磁式直流电机中,磁极硅钢片叠成,外绕线圈,靠外加励磁电流才能产生磁场。电枢绕组是直流电集中的转动部分,故又称转子,它由硅钢片叠成,表面嵌有线圈,通过电刷和换向器和外加电源相连。当电枢绕组中通过直流电时,在定子磁场的作用下就会在电枢绕组得到提上产生电磁力,并形成带动负载旋转的电磁转矩,驱动转子旋转。所以简单而言,直流电机的结构由定子电枢转子和换向器组成。通过控制电枢绕组中电流的方向

22、和大小,就可以控制直流电机的旋转方向和速度。由于直流电机通常都是采用永磁式的,所以定子磁场中的磁通量始终保持不变,从而使得转速与电压之间为线性关系,即直流电机转速与所施加的电压成正比,与磁场磁通量成反比。由于磁场磁通量是不变的常数,所以此时电机转速仅随电枢电压变化。直流电机具有良好的控制性能和较大的启动转矩,还具有相对功率大和响应速度快的优点。尽管直流电机相对于交流电机而言,结构复杂,价格较高,但仍然是目前机电控制系统中应用最为广泛的一类电机。在运动控制系统中,直流电机作为伺服元件使用,着重考虑的是电机的高精度和快速响应。2.2.1直流电机的PWM驱动方式现代电机的驱动放大技术与电子技术的发展

23、有着非常密切的关系。电子技术电子器件的成就,极大地推动了电机驱动放大技术的进步。现代直流电机的驱动放大都是采用晶体管功率放大器来实现的。晶体管放大系统一般可以分为两类:线性放大器和开关型放大器。目前线性放大器一般仅在小功率的场合有所应用,而大量采用的是开关型放大器。开关型放大器通常可分为三种:脉宽调制(PWM),脉冲频率调制(PFM)和可控硅整流(SCR)。改变开关接通时间和开关周期的比例亦即改变脉冲的占空比,电动机两端的电压平均值也随之改变,因而电动机转速得到了控制。改变占空比有两种调制方法:一种是开关周期恒定,通过改变导通脉冲宽度来改变占空比的方式,即脉冲宽度调制(Pulse Width

24、Modulation,缩写为PWM);另一种方式为导通脉冲宽度恒定,通过改变开关频率来改变占空比,亦即脉冲频率调制(Pulse Frequency Modulation,缩写为PFM)。由于PFM控制是依靠脉冲频率来改变占空比的,当遇到某个特殊的频率下的机械谐振时,常导致系统震动和出现啸叫声,这一严重的缺点导致PFM控制在伺服系统中不适用。又由于使用PWM控制的电路中调速范围宽,功率元件工作在开关状态,效率高,所以目前在直流电动机的控制中,以PWM控制方式为主。最初采用模拟电路完成三角调制波和参考正弦波比较,产生正弦脉宽调制信号以控制放大功率期间的开关开始,而目前采用全数字化方案,完成优化的实

25、时在线的PWM信号输出,可以采用软件发生方法,配以适当的硬件控制芯片,PWM控制技术有了更大的发展前景。2.3 电机驱动电路2.3.1电机驱动芯片SPGT62C19B采用PWM控制方式时,如果直接将单片机输出的PWM加在直流电机的两端,驱动能力显然是不够的,因此需要选择一款较为方便的电机驱动芯片,本设计采用的是SPGT62C19B电机驱动芯片。SPGT62C19B是低电压单片式步进电机驱动器集成电路芯片,可驱动一台两相步进电机,或者两台直流电机。它带有双路H桥,可分别驱动两个独立的PNP功率管。每一个H桥都有各自独立的使能引脚,因此非常适合于需要独立控制的步进电机驱动系统。SPGT62C19B

26、输出电压可达40V,输出电流可达750mA,由输入的逻辑电平来决定输出脉冲的宽度及频率,所以由这款芯片组成的电机驱动系统将脉冲发生器、脉冲分配器、脉冲放大器合为一体,省去了很多外围器件。SPGT62C19的内部由两组完全相同的控制电路组成了两路输出通道。其中一路通道的控制电路原理如图2.2所示。输入控制信号经前级缓冲后送入片内控制器,然后由控制部分进行处理并驱动晶体管,最后由OUT端口输出驱动信号以控制电机的运行。图2.2SPGT62C19的工作原理图SPGT62C19B的控制脚有6个,见表2.1。表2.1SPGT62C19B的控制引脚引脚名称用途20I01通道1的电流大小控制17I11通道1

27、的电流大小控制16PHASE1通道1的电流方向控制8I02通道2的电流大小控制9I12通道2的电流大小控制10PHASE2通道2的电流方向控制以通道1为例,控制口I01与I11的不同逻辑组合可使通道1输出端产生不同大小的电流输出,见表2.2。其中Imax是电流输出的最大值,与具体电路有关。PHASE1的逻辑电平值决定了该通道的电流输出方向。PHASE1与电流方向的对应关系是:当PHASE1是低电平时电流方向是从OUT1B到OUT1A当PHASE1为高电平时,电流方向从OUT1A到OUT1B。SPGT62C19B的两个输出通道可以分别控制一台直流电机。仍以通道1为例,只需设定PHASE1的逻辑电

28、平,即可实现电机的正反转控制。而电机调速可以通过不断改变I01和I11的高低电平状态,使输出通道产生PWM波形信号,从而利用PWM的占空比来调节电机转速。表2.2SPGT62C19B的控制脚输出电平与电流关系I01逻辑值I11逻辑值用途00Imax102/3*Imax011/3*Imax1102.3.2用SPGT62C19B芯片实现电机控制SPGT62C19B的两个输出通道可以分别控制一台直流电机。仍以通道1为例,只需设定PHASE1的逻辑电平,即可实现电机的正反转控制。而电机调速可以通过不断改变I01和I11的高低电平状态,使输出通道产生PWM波形信号,从而利用PWM的占空比来调节电机转速,

29、见图2.3。图2.3输出PWM控制直流电机2.414按键作为本系统的人机交互模块,在系统中起着重要的作用。我采用的是普通机械触点式按键,一端与凌阳单片机的IOA0IOA3连接,另一端直接与Vcc连接。端口初始化为下拉电阻,即高电平有效。当按键被按下时,单片机端口输入为高电平。由于该按键是机械触电,当机械触电断开、闭合时会有抖动,这种抖动对人来说是感觉不到的,但对于计算机,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级。为使单片机能正确地读出端口状态,对每一次按键只做一次响应,就必须采取去抖的方法,本设计采用的是软件去抖,具体流程将在第三章作具体的介绍。2.5

30、转速测量电路对于电机转速测量,有很多种方法。可以使用一个直流测速仪对电机旋转的速度进行测定,给控制系统提供速度反馈信号。一般对直流电机的要求是:电机的转速应当正比于所施加的电压,使得直流电机的速度可以按照人的期望值来调节。当系统没有连接测速机时,直流电机将以正比于电压的速度旋转。但由于电路损耗或负载变化,实际的电机速度可能会逐渐偏离期望的速度。采用一个测速机来获取电机的实际速度,测速机产生一个正比于电机实际速度但方向相反的电压。通过获得施加电压与所测电压之间的偏差值,可以施加控制量使得此偏差越来越小,最终达到输出跟踪期望输入的目的。但上述方法需要的硬件较为复杂,而且测得的电压还要经过数模转换才

31、可以传给单片机处理,不够方便。较为常用的是采用红外对管计数的方法。红外对管由一个红外发射二极管和一个红外接收二极管组成,具体电路图如图2.4所示。当发射管与接收管之间没有障碍物时,红外接收二极管由于接收到红外辐射而导通,输出电平为低;当发射管与接收管之间有障碍物时,红外接收二极管截止,输出电平为高。因而,利用其输出电平的高低很容易判断红外对管之间有无障碍物。可以通过查询的方式在一段时间内记录下高低电平的转化次数或者记录一定的高低电平变化次数所用的时间实现计数。直流电机转轴上加装了光栅转盘,用来测量电机的转速,也可便于观察电机的转动情况。光栅转盘遮挡在红外发射管和红外接收管之间。如图2.5所示,

32、光栅转盘的圆面上开了4个通光槽,电机每转动一周,红外接收管将接收到4次红外光,从而可以实现电机测速功能。图2.4转速测量电路图2.5直流电机的光栅转盘2.6数码管显示电路数码管是常用的显示器件,相对于液晶而言,数码管价格更低,而且控制更方便。数码管显示驱动分静态显示和动态(扫描)显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再处理,直到下一次显示数据需更新时再传送一次新数据。其优势在于显示数据稳定,占用很少的CPU时间。即每个LED都占用8个的I/O口,无需更新数据时不必刷新数据。但这样一来当有多个LED时,就会占用大量的I/O口,耗费系统资源。动态扫描显示接

33、口是单片机中应用广泛的现实方式之一。其接口电路是把所有数码管的8个段同名端连在一起,而每个位的位选则独立的受控制。所谓动态扫描就是指采用分时的方法,由CPU向字段输出口送出字形码,但究竟哪个位被点亮,则取决于位选控制端,并使各个位轮流刷新点亮。在轮流扫描的过程中,每个位的点亮时间是极为短暂的。由于人的视觉暂留现象及发光二极管的余晖效应,尽管实际上各个位并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的现实数据,不会有闪烁感。对于驱动电路可以用分立的三极管驱动也可以采用集成芯片驱动。分立三极管驱动电路复杂,稳定度不高,而采用集成的数码管驱动芯片就方便而且稳定。本设计采用的是4位共阴极

34、LED数码管,数码管采用ULN2003A为其提供驱动电流。ULN2003A是7路达林顿三极管阵列,这里用到了其中的4路,分别连接到数码管的4个位选脚G1G4,其具体的连接如图2.6所示。图2.6数码管显示电路选取单片机的8位I/O作为数码管的“段控制”口,连接到数码管的AH这8个段控制脚;再用4位I/O作为数码管的“位控制”口,连接到驱动芯片ULN2003A的DIG1DIG4,即可实现数码管显示控制。数码管的各段、位与控制引脚的对应关系如图2.7所示。图2.7数码管段位于控制口的对应关系2.7 语音部分语音部分采用凌阳开发板自带的语音播放电路。SPCE061A提供的音频输出方式为双通道DAC方

35、式。在此方式下,DAC1和DAC2转化出的模拟量电信号分别通过AUD1和AUD2引脚输出。DAC的输出范围从0x0000到0xFFFF。如果DAC的输出数据被处理成PCM数据,必须让DAC输出数据的直流电位保持为0x8000,且仅有高10位的数据有作用。DAC1和DAC2的输出数据应写入P_DAC1(写)($7017)和P_DAC2(写)($7016)单元。上电复位后,两个DAC均被自动打开,此时会消耗少量的电流(几毫安)。所以如不需要用它们,尽量将P_DAC_Ctrl(写)($702AH)单元的第1位设为1,关闭DAC输出。产生的模拟电信号经过耳机或者扬声器转化为声音信号。DAC的直流电压必

36、须保证平稳地变化,否则会由于电压的突变引起扬声器产生杂音。2.8本章小结本章重点讨论了直流电机控制系统的外围硬件电路,包括各个模块的方案论证以及所选方案的实现方法。SPCE061A模块是系统的核心,它具有体积小、集成度高、可靠性好且易于扩展等诸多优点。电机驱动与转速测量模块式本设计的主要执行部件和反馈的来源,电机驱动使用SPGT62C19B芯片控制,转速测量采用红外对管实现。键盘及显示模块的是本设计的人机交互接口。这些电路是软件能够正确运行的前提和基础,有着十分重要的作用。第3章软件设计3.1概述本方案的软件系统主要包含下列模块:主控程序:主控程序负责控制整个系统的工作流程,判断按键值、控制数

37、码管显示,以及控制电机转动等。按键扫描:扫描14键盘,获取键值。数码管显示:LED数码管显示驱动程序。直流电机控制:该模块通过控制SPGT62C19B芯片,实现直流电机的转动控制以及转速检测。语音播报:实现实时播报转速功能。上述功能模块组成了两层单向调用结构,各个功能模块之间的调用关系如图3.1所示。 主控程序数码管显示直流电机控制按键扫描语音播报转速图3.1各模块之间的调用关系本章首先介绍了主程序的流程,各个子程序的实现方法以及各个功能模块的设计思路,之后介绍了PID控制的基本理论以及调速方法。重点是程序的编写思路,核心程序段在附录中给出。3.2主程序流程主程序在系统初始化(初始化时钟、中断

38、、变量等)之后,显示默认的电机转速设定值,并等待按键输入。当有键按下后,调用对应的子程序,完成特定的功能。其流程如图3.2所示。在系统初始化之后等待按键输入,第一个键调用转速设定子程序,通过键盘输入想要设定的电机转速;第二个键调用转向设定子程序,用于设定电机的转向;第三个键调用电机启动子程序,开启电机,并在电机转动过程中调节转速;第四个键调用播报转速子程序,可以语音播报转速。系统初始化显示当前设定的转速等待按键Key1键按下Key2键按下Key3键按下Key4键按下NNNN调用转速设定子程序调用方向设定子程序调用电机启动子程序调用播报转速子程序YYYY开始图3.2总体设计流程图3.2.1转速设

39、定子程序在转速设定子程序中,数码管闪烁显示当前设定转速,并通过Key1和Key2键对转速进行增减设置,可以设定最高转速最低转速和步进值。当按下Key3后返回主程序。具体流程图如图3.3所示。闪烁显示当前转速设定值等待按键转速设定值减2转速设定值加2Key1按下Key2按下Key3按下NNNYYY开始返回图3.3转速设定子程序流程图3.2.2方向设定子程序方向设定子程序与转速设定类似,数码管显示滚动的“-”,滚动方向代表当前设定的电机转动方向。Key1与Key2键分别设定电机转动方向为“正转”或“反转”。按Key3键返回主程序。具体流程图见图3.4。显示当前转动方向等待按键设定为反向转动设定为正

40、向转动Key1按下Key2按下Key3按下NNNYYY开始返回图3.4方向设定子程序流程图3.2.3电机启动子程序电机启动子程序控制电机按照设定的方式转动。在转动过程中可按Key1和Key2键对转速设定值进行增减,Key4键实现实时语音播报转速的功能,Key3键使电机停止,并返回主程序。具体程序流程见图3.5。3.3各功能模块流程本节主要介绍个模块程序的设计思路和功能,主要包括键盘扫描程序,完成一次测速?显示测得的电机转速调用PID子程序,更新电机速度等级设定获取按键值Key1按下Key2按下Key4按下Key3按下电机停止NNNN转速设定值加2转速设定值减2语音播报转速YYYNYY开始返回图

41、3.5电机启动子程序流程图数码管驱动程序,电机驱动及转速测量程序,语音播报程序。3.3.1按键扫描按键扫描是在TMB_128Hz中断服务程序中进行的,首先初始化端口为下拉电阻,再读端口状态,如果发现有键按下要经过消抖之后才判断。具体流程图如图3.6。初始化端口为下拉电阻读端口电平状态端口不全为0按键抬起变量置0获取按键值去抖计数器加1与上次键值相同按键抬起变量置1去抖计数器清0保存新键值NYN开始返回图3.6按键扫描子程序流程图获取键值时,只需调用Key_Get()函数即可,该函数的程序流程如图3.7。读取去抖计数值小于4大于64按键抬起各状态变量清0,返回键值返回0YYNNN开始返回图3.7

42、键值获取程序流程图3.3.2数码管显示LED数码管采用逐位动态显示方式,利用4KHz时基中断进行逐位动态扫描,使每个数码管的显示亮度均匀且感觉不到闪烁。需要改变数码管显示内容时,只需向各数码管对应的缓冲区写入相应的编码即可,流程图如图3.8所示。清除所有显示通过位指针获取当前位的缓冲区内容在当前位上显示缓冲区中的内容位指针处于最后一位位指针指向下一位位指针指向第一位Y开始返回图3.8数码管显示流程图3.3.3直流电机控制与测速根据第二章的SPGT62C19B控制原理,只需利用单片机I/O端口向SPGT62C19B的I01和I11引脚输出不同占空比的PWM信号即可控制电机以不同的速度转动。虽然S

43、PCE061A具有两路PWM输出功能,但这要占用TimerA和TimerB两个定时器,浪费了宝贵的定时器资源,因此这里采用软件生成PWM的方法,利用4KHz时基中断,改变I/O端口的电平状态,从而模拟出特定占空比的PWM波形。其流程如图3.9所示。电机测速工作也是利用4KHz时基中断完成的。当光栅转盘的挖空部分经过红外对管时,与之连接的单片机I/O口将输入低电平;而光栅转盘阻隔红外对管时,该I/O口将输入低电平。以4KHz为采样频率,检测该I/O端口的电平状态并计数,可通过一段时间内的计数值计算出电机转速。PWM计数值达到预定数值输出低电平PWM计数值加1输出高电平N开始返回图3.9PWM生成

44、流程图3.3.4利用PID算法进行调速按偏差的比例微分和积分进行控制的调节器,简称为PID调节器,是连续系统中技术成熟且应用广泛的一种调节器。它的结构简单,不一定需要系统的确切数学模型,参数易于调整,在长期的应用中已积累了丰富的经验,将它移植到计算机控制系统,通过软件予以实现,对于大多数控制对象都能获得满意的控制效果。在连续控制系统中,模拟PID是一种线性控制方式,模拟PID控制原理图如图3.10所示。比例、积分和微分环节的作用如下:1、比例环节的作用:比例环节对偏差瞬间作出快速反应。偏差一旦产生,控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数Kp,Kp越大

45、,控制越强,但过大的Kp会导致系统振荡,破坏系统的稳定性。比例积分微分被控对象r(t)e(t)u(t)y(t)图3.10模拟PID控制系统原理图对大部分被控制对象要加上适当的与转速和机械负载有关的控制常量u0,否则,比例环节将产生静态误差。2、积分环节的作用:积分环节把偏差的积累作为输出。只要有偏差存在,积分环节的输出就会不断增大。直到偏差e(t)=0,输出的u(t)才可能维持在某一常量,使系统在给定值r(t)不变的条件下趋于稳态。积分环节虽然会消除静态误差,但是也会降低系统的响应速度,增加系统的超调量。积分常数Ti越大,积分的积累作用越弱。增大积分常数Ti会减慢静态误差的消除过程,但可以减少

46、超调量,提高系统的稳定性。3、微分环节的作用:微分环节阻止偏差的变化。根据偏差的变化趋势进行控制,偏差变化得越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的引入,将有助于减小超调量,克服振荡,使系统趋于稳定,特别对高阶系统非常有利。但是,微分作用对输入信号噪声非常敏感,对那些噪声较大的系统一般不用微分,或者在微分作用之前先对输入信号进行滤波。在电机控制中,首先要求系统是稳定的。在给定值变化时,被控量应当能够迅速平稳的跟踪,超调量要小。在各种干扰下,被控量应能保持在给定值附近。此外,控制量不宜过大,避免系统经常过载。在选择PID控制器参数前,应首先确定调节器的结构,以保证被

47、控系统的稳定,并尽可能消除稳态误差。对于电机控制系统而言,一般常选用PI或PID控制器结构。本系统采用PID控制结构。传统的PID控制都是使用硬件来实现,但是微机进入控制领域以来,只要对模拟控制规律作适当的变换,就可以用软件来实现PID控制。这样就提供了更大的灵活性,从而在微机控制中得到广泛的应用。因为微机是通过软件实现其控制算法。必须对模拟调节器进行离散化处理,这样它只能根据采样时刻的偏差值计算控制量。因此,不能对积分和微分项直接准确计算,只能用数值计算的方法逼近。用离散的差分方程来代替连续的微分方程。根据输出量的形式可分为位置式PID控制算法和增量式PID控制算法。模拟PID表达式为:将积

48、分项和微分项离散化:将上两式代入模拟表达式中得到离散PID表达式:上式的输出与阀门开度位置一一对应,也称为位置型PID算式。用位置型PID算式计算P(K),需要用到各采样时刻的偏差值,计算复杂,且需要占用内存。(K-1)时刻的输出:两式相减:这种形式的数字PID控制器称为增量式数字PID控制器。增量式算法只需保留现时以前三个时刻的偏差值即可。与位置式算法相比,增量式PID算法的计算量小得多。增量式PID控制起诉和与计算机计算,而且这种形式在一定程度上能够避免控制器产生积分饱和,本系统采用的就是增量式控制算法。只需确定、和的值即可实现对的控制。在本系统中,可作为控制电机转速的PWM信号的占空比。

49、、和可通过实际测试调整获得,程序流程图如图3.11所示。计算当前速度偏差输出超过上限套用PID公式计算输出输出低于下限输出等于上限输出等于下限重新赋值YYNN开始返回图3.11PID计算流程图PID控制参数的选择有两种可用的方法:理论设计法和试验确定法。理论设计法确定PID控制参数的前提是要有被控对象准确的数学模型,这在电机控制中很难做到。因此,用实验确定来选择PID控制参数是行之有效的方法。先根据他人已取得的经验得到基准参数,然后通过观察参数改变对系统性能的影响来确定最终的控制参数。凑试参数前,先要了解PID控制器参数值对系统的影响。增大比例系数一般将加快系统的响应速度,有利于减少稳态误差,

50、但过大的比例系数会使系统有较大的超调,并可能产生振荡,使稳定性变坏。增大积分常数有利于减少超调,减小振荡,使系统更加稳定,但系统静态差的消除将随之减慢。增大微分常数有利于加快系统响应,使超调量减小,稳定性增加,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。在凑式时,可以对参数按先比例后微分再积分的次序反复调试。具体的整定步骤如下:首先只整定比例部分,将比例系数由小变大,并观察相应的系统响应,直至得到反应快,超调小的响应。如果系统静差已小到允许范围内,且超调小,那么只需用比例控制器即可,比例系数可由此确定。如果在比例调节的基础上系统的静差达不到设计要求,则必须加入积分环节。整定时首先置积分常

51、数唯一较大值,并将经第一步整定得到的比例系数略微减小,然后逐步减小积分常数,使在保持系统良好性能的情况下,稳态误差得到消除,由此得到相应的整定参数。若使用比例积分调节器消除了稳态误差,但动态过程经反复调整仍不令人满意,则可加入微分环节,构成比例积分微分调节器。整定时,先置微分常数为零,在第二步整定的基础上,逐步增大微分常数,同时相应的改变比例常数和积分常数,已获得满意的调节效果和相应的参数。满意的参数不是唯一的,这是由于PID调节器的参数对控制质量的影响不十分敏感,在比例微分和积分三部分产生的控制作用中,某部分的减少往往可由其他部分的增大来补偿。3.3.5凌阳音频算法及语音播报转速我们所说的音

52、频是指频率在20Hz20kHz的声音信号,分为波形声音、语音和音乐三种,其中波形声音就是自然界中所有的声音,是声音数字化的基础。语音也可以表示为波形声音,但波形声音表示不出语言、语音学的内涵。音乐与语音相比更规范一些,是符号化了的声音。压缩编码的目的是通过对资料的压缩,达到高效率存储和转换资料的结果,即在保证一定声音质量的条件下,以最小的资料率来表达和传送声音信息。实际应用中,未经压缩编码的音频资料量很大,进行传输或存储是不现实的。所以要通过对信号趋势的预测和冗余信息处理,进行资料的压缩,这样就可以使我们用较少的资源建立更多的信息。凌阳音频压缩算法根据不同的压缩比分为以下几种:SACM-A20

53、00:压缩比为8:,8:1.25,8:1.5;SACM-S480:压缩比为80:3,80:4.5;SACM-S240:压缩比为80:1.5;按音质排序:A2000S480S240。SACM-S480压缩算法压缩比较大,为80:3,存储容量大,音质介于A2000和S240之间,适用于语音播放,如“文曲星”词库,本设计也是为了实现语音播报功能,因此选择该算法。本设计要实现实时播报转速,如果转速为58转每秒,首先要播报“当前转速”语音段,之后将“58”处理为“五”“十”“八”三个语音段,再加上“转每秒”语音段即可实现一次语音播报。所以需要录入的语音段一共有13个语音段,分别是“当前转速为”“转每秒”

54、和“零”到“十”。录制语音的过程分为以下几步:第一步,将上述的13个语音段录制成WAV格式;第二步,用Windows的录音机工具将其转化成PCM8.000kHz16位单声道比特率为15KB/秒格式的语音文件;第三步,使用北阳音频压缩软件将上述语音段压缩成凌阳单片机可以识别并使用的语音文件。语音播报转速子程序的流程图见图3.12。开始计算出转速的十位和个位播放“当前转速为”播放十位数播放“十”播放个位数播放“转每秒”返回图3.12语音播报流程图3.4系统的功能与操作方法本系统操作方法比较简单,主要通过外接的四个按键完成。具体操作方法如表3.1所示。表3.1系统功能与操作方法状态Key1Key2K

55、ey3Key4数码管显示电机停止状态转速设置方向设置启动电机播报转速当前设定转速转速设定状态转速加2转速减2确定播报转速当前设定转速方向设置状态正转反转确定播报转速“-”正向或反向滚动转动状态转速加2转速减2电机停止播报转速当前实际转速3.5本章小结本章主要讨论了设计的软件部分。先从整体的思路出发,将整个程序分成一个主程序和转速设定子程序,转向设定子程序,电机启动子程序和语音播报子程序,并一一介绍了各个程序段的编写思路以及软件流程图。之后又介绍了基本功能模块的实现方法,包括键盘,数码管,电机驱动及转速测量以及语音播报的实现方法。重点叙述了PID控制的原理和软件实现方法。第4章调试4.1概述调试是完成一个系统的重

温馨提示

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

评论

0/150

提交评论