毕业设计论文小功率直流电机调速系统设计.doc_第1页
毕业设计论文小功率直流电机调速系统设计.doc_第2页
毕业设计论文小功率直流电机调速系统设计.doc_第3页
毕业设计论文小功率直流电机调速系统设计.doc_第4页
毕业设计论文小功率直流电机调速系统设计.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

分类号:TM301 U D C:D10621-408-(2012) 2164-0密 级:公 开 编 号:200807143成都信息工程学院学位论文小功率直流电机调速系统设计 1小功率直流电机调速系统设计摘 要本设计就是基于PWM信号对直流电机进行调速控制,以MC9S12XS128单片机为系统控制的核心,以驱动芯片BTS7960组成电机的驱动模块,并实时的测量电机的实际速度,并把该速度信息在LCD1602上显示,组成了一个小型的闭环的小功率直流电机调速的系统。为了实现电机调速的稳定和快速,PWM控制方式配合BTS7960电机驱动芯片对小功率直流电机进行驱动和调速是较好的调速系统解决方案。其中BTS7960内部集成两路H桥式驱动电路。本系统中利用XS128单片机控制其产生的PWM信号占空比大小,和采用光电码盘采集的电机转速信号来进行调速。在LCD1602液晶上显示当前转速和设置的转速,将当前转速作为反馈信号与设置转速比较,以确定MC9S12XS128单片机给加速信号还是减速信号,直到两者的速度相等后保持这个速度稳定运行。在本设计中编写了XS128调速程序、键盘输入程序、测速程序;编写了C51的键盘输入程序、LCD1602显示程序。经测试,系统调速效果良好,测速比较精确,能够快速的使电机的转速以设定的速度转动。本设计用的元器件比较少,结构简单,维护方便,便于应用到实际工业生产中。关键词:单片机;PWM;闭环调速系统;液晶显示The Design Of Low-Power DC Motor Speed Control System AbstractThis paper introduces the design of DC motor speed control, which based on the PWM signal. The core of the control system is MC9S12XS128 microcontroller which can drive module that is made of BTS7960 driver chips. The system measures the actual speed of the motor at any time and shows the speed information on the LCD1602. The system is a small, low-power DC motor speed control. In order to make the motor speed stable, the PWM control with the BTS7960 driver chips is a good solution to drive the motor and speed control. The BTS7960 includes the two H-bridge driver circuit. In this system the size of the PWM signal which is controlled by the XS128 microcontroller and the motor speed signal which is acquired from optical encoder controls the speed of motor. LCD1602 displays the current speed and set speed. The system counts the current speed as the feedback signal. The feedback signal is compared to the preset speed, which determines the signal of MC9S12XS128 microcontroller. The signal of XS128 microcontroller is not stop until that the actual speed and the preset speed are same. This system includes XS128 speed control program, the keyboard input program, velocity program; the C51 keyboard input program, the LCD1602 display program. After testing, the system controls the speed of motor well. The measuring speed is more accurate. The system is able to make the motor speed stably rotate in the preset speed. The components which used are not many. The design has a simple structure. The system maintains easily, which is easy to apply it to the actual industrial production.Keywords: Microcontroller; PWM; Closed-loop speed control; LCD目 录 论文总页数:48页1 引言11.1课题背景及意义11.2本课题研究方法和目标11.2.1 硬件部分11.2.2 软件部分11.3主要技术介绍22 方案研究与主要芯片选择22.1 总体方案原理及设计框图22.2 主控芯片的选择与论证32.3 显示设备的选择与论证42.4 驱动模块选择63 硬件电路设计73.1 单片机控制模块单元电路设计73.1.1XS128单片机73.1.2 C51单片机133.2 驱动控制电路设计133.3 测速电路设计143.4 液晶显示电路设计143.5 电源电路的设计163.6 按键输入电路的设计163.7电路总设计174软件设计194.1软件设计的总体流程图194.2各个模块的程序设计204.2.1 XS128工作的程序设计204.2.2 按键模块的程序设计234.2.3 显示模块的程序设计244.2.4 调速模块的程序设计255软硬件调试模块265.1 C51单片机模块程序的调试265.1.1单片机程序的调试265.1.2单片机程序的下载275.2 XS128单片机程序的调试和仿真275.2.1 XS128程序的调试275.2软硬件连调中遇到的问题及解决方法285.3 小功率电机调速系统的使用方法295.4 调速中的误差的分析305.5 方案改进32结 论32参考文献34致 谢35声 明37附 录38 1 引言1.1课题背景及意义在现代的工业生产及应用中,电动机发挥着越来越重要的作用,由电动机和生产机械组成的系统称为电力拖动系统,电动机是其重要的组成器件,电动机的作用是将电能转换为机械能,为生产机械提供动力,是生产机械的原动力,是生产机械的原动机,为生产提供了动力1。直流电机传动效率高、运行经济、操作简便,因而得到了越来越广泛的应用,特别是在现在的工业企业中,几乎所有的生产机械都是由电动机来拖动的,例如各种机床、各种生产线、风机、水泵,等等。可以毫不夸张的说,没有电动机、没有直流电机,就没有现代工业。这样,电动机在我国国民经济中得重要作用就不言而喻了,所以说电动机在的日常的生活中是必不可少的。所以设计中非常有必要研究一下直流电机。电动机是主要的动力设备,直流电动机就是将直流电能转换成机械能(直流电动机)或将机械能转换为直流电能(直流发电机)的旋转电机。近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,由于在需要用到变速的场合有很多的应用,所以需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求。这就使研究直流电机的转速变的非常有意义,对日常的生活也有很大的帮助2。1.2本课题研究方法和目标1.2.1 硬件部分1、首先确定电机驱动的电路,以及控制驱动电路的方式。2、要使其驱动电路工作,则需要给驱动电路信号,也就是PWM控制信号,这个信号就得要XS128单片机产生。这就是要设计一下XS128核心控制模块,还有按键输入预置转速的模块。3、电机转动以后需要测量其速度,这时要用到测速的模块来测量其速度,实际转速来作为反馈信号进行比较,使XS128单片机调节占空比,控制电机转速的快慢。4、测速以后,本设计需要用到显示模块来进行显示预设转速和实际转速。1.2.2 软件部分1、 键盘输入预设转速程序,通过按键来给单片机的预设转速。一边给XS128单片机,一边给51单片机。2、XS128单片机产生PWM信号的程序,这个占空比大小是可调的,设计为键盘输入预设转速与当前转速相比较由软件自动调节,然后产生要求的触发信号去控制电机按照设计中要求的转速工作。3、C51单片机控制LCD1602显示的程序,显示预置转速和实际的转速。本设计将实现直流电机的闭环调速,转速预置,速度显示,速度测量等基本功能。1.3主要技术介绍本设计核心技术是脉宽调制(Pulse Width Modulation)控制技术,该技术通常简称为PWM控制技术。PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。研究PWM是非常有实际意义的。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码3。 2 方案研究与主要芯片选择2.1 总体方案原理及设计框图本设计是基于MC9S12XS128单片机为核心处理芯片来控制整个系统进行运行,还用到了STC89C51单片机为辅助显示模块。系统框图如图2.1所示。MC9S12XS128电源 键盘输入 测速驱动设备显示装置调速图2.1控制系统框图如图2.1所示本方案采取MC9S12XS128为核心控制的芯片来作为控制系统的核心,键盘输入转速,来使控制中心产生PWM信号给驱动模块,来控制驱动模块,调节电机转动的转速,测速模块实时的对电机进行测速,并把速度反馈给控制核心,与键盘输入转速进行比较,然后依次调节PWM信号,使电机的实际转速和键盘输入转速相同。电源为5V和6V,6V电源给驱动电路的BTS7960芯片来进行供电,5V的电源给显示模块、MC9S12XS128核心控制模块、测速模块来进行供电。键盘输入模块是四个按键,分别相当于千,百,十,个位,通过按键来设定转速。测速模块实际就是一个红外发光对管,通过测量高低脉冲的个数来实现测速。驱动模块是由两片BTS7960组成的H桥来对电机进行驱动。显示装置用到了STC89C51单片机来驱动LCD1602液晶来对实际转速和键盘的预设转速来进行显示。调速模块通过调节PWM信号的占空比来进行调速4。根据系统框图,对系统进行了设计,对设计过程中要用到器件选择,下面是对各部分单元器件的论证和选择。2.2 主控芯片的选择与论证在本设计中,主控电路可以用到两种芯片。1、 采用MC9S12XS128作为系统的主控芯片。MC9S12XS128控制芯片的介绍:MC9S12XS128是16位单片机,由16位中央处理单元(CPU12X)、128KB程序Flash、8KB RAM、8KB数据Flash组成片内存储器。这要功能模块包括:内部存储器;内部PLL锁相环模块;2个异步串口通讯SCI;1个串行外设接口SPI;1个8通道输入/输出比较定时器模块TIM;周期中端定时器模块PIT;16通道A/D转换模块ADC;1个8通道脉冲宽度调制模块PWM;输入/输出数字I/O口。MC9S12XS128比C51的功能更为强大。MC9S12XS128有丰富的输入输出端口资源,同时集成了多种功能模块,端 口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ、PORTAD共11个端口。端口引脚大多为复用口,往往具有多重功能,所有端口都具有通用I/O口功能。MC9S12XS128有着更为丰富的端口资源,XS128的时钟频率可以达到24MHz,是系统的定时变得更加的精确,定时一分钟误差比C51单片机的定时一分钟的误差要小。 XS128寄存器丰富,便于设计中的调用,包括其PWM信号的设定,占空比的调整,测速信号的输入都比较的方便。在做电机调速的方面和C51相比较XS128还是有很大的优势。该单片机共有112个管脚,管脚的资源丰富,便于对其进行控制和编程。其管脚图如图2.2所示。图2.2 MC9S12XS128引脚图2. 采用89C51作为作为系统主控芯片51089C51单片机是8位单片机,4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,P0,P1,P2,P3为I/O口。P0作I/O口时需要接上拉电阻。两个数据指针,两个16位定时/计数器,一个5向量中断结构,一个全双工串口通信口,片内振荡器及时钟电路。其指令是采用的被称为“CISC”的复杂指令集,工具有111条指令,与其他高位单片机相比而言,指令周期较长,运算速度太慢,而且由于其内部总线是8位的,其内部功能模块也基本上都是8位的;89C51单片机本身的电源电压是5伏,89C51有两种低功耗方式:待机方式和掉电方式。比较以上两种方案:1.MC9S12XS128是16位的运算速度比较快,而C51是8位的运算速度不快。2.MC9S12XS128产生PWM信号比较精确,并且有专门产生PWM信号的寄存器,并且方便简单,可操作性强。C51没有专门产生PWM信号的寄存器,可操作性不强,产生PWM波还得需要外围电路,PWM信号产生的质量也不好。相比于XS128,C51单片机产生PWM信号要麻烦,所以本设计选用MC9S12XS128为主控制芯片,来控制电机的调速。2.3 显示设备的选择与论证1、使用数码管显示数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮;共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。在本设计中可以使用一个3/8译码器作为位选芯片,一个74LS573作为段选芯片,预计要完成各功能电路的显示则至少需要两个四合一数码管,此方案连线太多,硬件设计不便,并且其功耗较大11。2、 使用液晶LCD1602显示液晶显示屏主要用于数字型钟表和其他字符和数字的显示。其显示使用了两片极化材料,在它们之间是液体水晶溶液。设计中用到的字符型液晶模块时一种用5*7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,本设计中要用到的是2行16个字的液晶显示。相比于其他显示器件,液晶显示器件具有很多独到的优异特性:(1)低压、微功耗。极低的工作电压,只要23V即可工作,而工作电流仅几微安,这是其他任何显示器件无法比拟的。(2)平板型结构。平板型结构便于大批量、自动化生产。(3)被动型显示。液晶显示器本身不能发光,它靠调制外界光达到显示目的,因此称为被动型显示。液晶显示不仅可以用于室外显示,而且还可以用于在阳光等强烈照明环境下显示。对于黑暗中不能观看的缺点,只要配上背光源,就可以克服。(4)显示信息量大。液晶显示在同样大小的显示窗面积内,可以容纳更多的像素,显示更多的信息。(5)易于彩色化。液晶本身虽然一般是没有颜色的,但它实现彩色化却很容易,方法也很多。(6)寿命长。液晶材料是有机高分子材料,具有极高的纯度,液晶的驱动电压很低,驱动电流更是微乎其微,因此寿命很长。(7)无辐射,无污染。液晶显示器件使用时不会产生软射线及电磁波辐射12。液晶显示有驱动简单,耗电量小,无辐射危险,平面显示以及影像稳定不闪烁等优势,显示清晰直观,并且其抗干扰能力强、显示的信息量比数码管就要大等诸多优点,数码管显示虽然编程简单,但是,显示的效果不好,画PCB图时连线比较麻烦,且必须的消影。经比较,本设计选择此方案,用LCD1602来显示数据。2.4 驱动模块选择1、 使用MOS管来搭建驱动电路常用的直流电机驱动方式有用MOS管来搭建H桥驱动方式,在直流电机功率较小时也用三极管或场效应管放大作放大器驱动。能提供较大的电流,原理图如图2.2所示12。 图2.2 MOS管驱动电路的原理图其工作原理如下:使能端输入的电平为高电平1,当DIR-L输入0,而DIR-R输入1时,Q1和Q4导通,而Q2和Q3截止。这样就会使电机往顺时针方向转动。相反,DIR-L=1,而DIR-R=0时,Q1和Q4就是截止,Q2和Q3就会导通,电机会往逆时针方向转动13。2、使用驱动芯片BTS7960来组建驱动电路BTS7960的工作原理和MOS管驱动电路的工作原理相同,都是搭建为H桥驱动电路,BTS7960是半桥驱动芯片,就是说需要两个芯片来组成一个H桥来驱动电机的转动,电流最高43A,驱动电流稳定,驱动效果好。由于其内阻较小,所以其发热量也小。其管脚及其作用说明如表2.1所示。表2.1 BTS7960的管脚及其功能管脚名称I/O功能1GND-接地2IN输入输入(高或低有效)3INH输入抑制(低电平进入休眠状态)4OUT输出半桥功率输出5SR输入转换功率调整6IS输出电流检测与自我诊断7VSS-供电用MOS管搭建H桥的驱动电路麻烦,并且发热量大并且不稳定, BTS7960的最大驱动电流可以达到43A,并且内阻较小,发热量小,接上外围电流就可以用,驱动电路稳定,综合考虑,本设计选用两片BTS7960来作为驱动模块,来驱动小功率直流电机的转动。3 硬件电路设计3.1 单片机控制模块单元电路设计3.1.1XS128单片机XS128单片机最小系统电路图如图3.1所示。 图3.1 XS128单片机最小系统电路图XS128要用到其PLL模块,PWM模块,ECT模块。对电机的速度的调试和测试进行控制。XS128中需要用到PWM2对电机进行调速,PM2和PM3的借口和驱动模块的两个PWM信号输入的借口接到一起。还有按键的信号输入,设计中用PORTA来接受按键的信号,分别用PA0,PA1,PA2,PA3来表示按键输入的千位,百位,十位,个位的信号。测速模块接到了PT7口,用来进行中断计数,计脉冲的个数。在编程的过程中用到了模块,下面来介绍介绍一下模块的功能和寄存器11。1、时钟模块(PLL锁相环 )时钟的设定就是对PLL进行编程,PLL就是锁相环,作用就是提高总线的频率,这是因为MCU的支撑电路一般需要外部时钟来给MCU提供时钟信号,而外部的时钟的频率可能偏低,为了使系统更加快速稳定的运行,则需要提升系统所需要的时钟频率,这就得用到PLL。本设计用的XS128单片机的时钟频率是16M的晶振,但是实际要用到24M时钟频率,则可以通过锁相环把系统的时钟提高到24M,从而给系统提供更高的时钟信号,提高程序的运行速度。这也是XS128单片机与C51单片机的一个区别,在C51单片机中没有PLL锁相环。C51单片机的时钟频率只有11.0592M,没有XS128单片机运行的速度快。本设计要用到的时钟频率为24M。PLL初始化的步骤如下:(1) 禁止总中断。(2) 寄存器CLKSEL的第七位置0,即CLKSEL_PLLSEL=0。选择时钟源为外部晶振OSCCLK,在PLL程序执行前,内部总线频率为OSCCLK/2。(3) 禁止锁相环PLL,即PLLCTL_PLLON=0。(4) 根据想要的时钟频率设置SYNR和REFDV以及POSTDIV(可以不管)三个寄存器。(5) 打开PLL,即PLLCTL_PLLON=1。(6) CRGFLG_LOCK位,确定PLL是否稳定。本设计要用到24M的时钟频率,要设定一下参数的值。用到的公式为: (3-1) (3-2) (3-3)本设计要设置,则,令POSTDIV=0,则,根据表3-1所示可以确定出来VCOFRQ=10。由公式(3-1)可以计算出SYNDIV=2,REFDIV=1,这样系统的时钟频率就设定为24M。表3-1 VCOCLK的频率分布范围VCOCLK Frequency RangesVCOFRQ1:032MHz=fvco=48MHz0048MHz=fvco=80MHz01Reserved1080MHz=fvco=120MHz112、PWM模块XS128 的PWM模块的特点:1)它有8个独立的输出通道,并且可以通过编程来控制波形的周期。2)每一个输出通道都有一个精确的计数器。3)每一个通道的PWM输出使能都可以有编程来实现。4)PWM输出波形的翻转控制可以通过编程来实现。5)周期和脉冲可以被双缓冲。当通道关闭或PWM计数器为0时,改变周期和脉冲才能用。PWM寄存器的介绍:(1)PWM启动寄存器PWME表3-2所示。表3-2 PWME寄存器76543210PWME7PWME6PWME5PWME4PWME3PEME2PWME1PWME0每一个PWM的输出通道都有一个使能位PWMEx。它相当于一个开关,用来启动和关闭相应通道的PWM波形输出。当任意的PWMEx位置1,则相应的PWM输出通道就立刻可用,当置0时则该通道不可用。(2)PWM时钟选择寄存器PWMCLK每一位如表3-3所示。表3-3 PWMCLK寄存器76543210PCLK7PCLK6PCLK5PCLK4PCLK3PCLK2PCLK1PCLK0XS128的PWM共有四个时钟源,每一个PWM输出通道都有两个时钟可供选择(CLOCKA、CLOCKSA或者CLOCKB、CLOCKSB)其中0、1、4、5 通道可选用CLOCKA 和CLOCKSA,2、3、6、7 通道可选用CLOCKB、CLOCKSB 通道。该寄存器用来实现几个通道时钟源的选择。PCLK0 = 1 - 通道0(PTP0)的时钟源设为CLOCKSA,PCLK2 = 0 - 通道2(PTP2)的时钟源设为CLOCKB。(3)PWMPRCLK的每一位如表3-4所示。表3-4PWMPRCLK寄存器76543210PCKB2PCKB1PCKB0PCKA2PCKA1PCKA0PWMPRCLK寄存器包括CLOCKA预分频和CLOCKB预分频控制位。具体参照表3-5和3-6所示。表3-5 CLOCKA预分频的大小PCKB2PCKB1PCKB0VALUE OF CLOCKB000E001E/2010E/4011E/8100E/16续表3-6 CLOCKA预分频的大小PCKB2PCKB1PCKB0VALUE OF CLOCKB101E/32110E/64111E/128(4)PWM波形对齐寄存器PWMCAE的每一位如表3-7所示。表3-7 PWMCAE寄存器 76543210CAE7CAE6CAE5CAE4CAE3CAE2CAE1CAE0PWMCAE寄存器包含8个控制位来对每个PWM通道设置左对齐输出和中心对齐输出。当其值为0时,通道输出方式为中心对齐;当其值为1时,通道输出方式为左对齐。本设计中用到的为左对齐方式,其介绍如下。在该方式下,脉冲计数器为循环递增计数,计数初值为0。当PWM使能后,计数器PWMCNT从0开始的时候信号递增计数,开始对一个输出周期。当计数值与占空比常数寄存器PWMDTY相等时,比较器1输出有效,将触发器置位,而PWMCNT继续置数;当计数值与周期常数寄存器PWMPER相等时,比较器2输出有效,将触发器复位,同时PWMCNT也复位,结束一个周期。如图3-2所示。图3-2 PWM左对齐方式左对齐方式的占空比=(PWMPERx-PWMDTYx)/PWMPERx*100%;PWM初始化步骤总结: 禁止PWM PWME=0; 选择时钟PWMPRCLK,PWMSCLA,PWMSCLB,PWMCLK; 选择极性PWMPOL; 选择对齐方式PWMCAE; 选择占空比和周期PWMDTYx,PWMPERx; 使能PWM,令PWME=1;三、ECT模块简介ECT实际上就是一个16位的可编程计数器,它的基本时钟频率可以通过预分频来设置,用于产生波形输出,测量输入波形,统计脉冲个数,可以作为独立的定时器中断功能和独立时钟基准,在本设计中ECT来作为计时器使用,记录时间的变化来测得电机实际的转速。ECT模块寄存器介绍(1) 定时器/计数器系统控制寄存器1(TSCR1)如表3-8所示。 表3-8 TSCR1寄存器76543210TENTSWAITSFRZTFFCA0000TSCR1:寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待,BDM方式下的行为,还包括标志的管理方式。TEN:定时器使能位,为0时定时器/计数器被禁止,有利于降低功耗;为1时定时器/计数器使能,正常工作。TSWAI:等待模式下计时器关闭控制位,为0时在中断等待模式下允许MCU继续运行;为1时当MCU进入中断等待模式时,禁止计时器。TSFRZ:在冻结模式下计时器和计数器停止位,为0时,在冻结模式下允许计数器和计时器继续运行;为1时在冻结模式下禁止计时器和计数器,用于仿真调试。(2) 计时器系统控制寄存器2(TSCR2)的寄存器如表3-9所示。 表3-9 TSCR2寄存器76543210TOI000TCREPR2PR1PR0TOI:定时器/计数器流出中断使能,为0时中断被禁止;为1时,当TOF标志被置位时发出硬件中断请求。TCRE:定时器/计数器复位使能,为0时,计数器复位禁止,计数器自由计数;为1时通道7成功比较后计数器将被复位。PR2,PR1,PR0:计数器预分频选择,这三位所决定的分频因子如表3-10和表3-11所示。 表3-10 分频因子分频表PR2PR1PR0Prescale factor000100120104011810016续表3-11 分频因子分频表PR2PR1PR0Prescale factor1013211064111128(3)主定时器中断标志寄存器(TFLG1,TFLG2)每一位如表3-12所示。表3-12 TIOS寄存器76543210C7FC6FC5FC4FC3FC2FC1FC0FTFLG1 寄存器76543210TOF0000000其中TFLG1、TFLG2为中断标志寄存器,其中TFLG1对应8个IC/OC通道,当某CnF=1时说明对应的IC/OC通道有动作,表明该通道有中断事件发生。TFLG2只有一个标志位TOF,作为核心计数器的中断请求标志。当TOF=1时说明核心计数器溢出。计时器中断使能寄存器(TIE)每一位如表3-13所示。 表3-13 TIE寄存器76543210C7IC6IC5IC4IC3IC2IC1IC0ITIE寄存器中的位于状态寄存器TFLG1中的标志位相对应。如果将TIE中的某位清0,相应的标志位就不能引起硬件中断。如果置1,相应的标志位就能引起中断。CnF:输入捕捉/输出比较中断使能。 (4)选择寄存器(TIOS)的每一位如表3-14所示。 表3-14 TIOS寄存器76543210IOS7IOS6IOS5IOS4IOS3IOS2IOS1IOS0TIOS寄存器用于指定各个通道的功能,即工作于IC还是OC,当某位值为0时,对应的通道为输入捕捉通道;当某位值为1时,对应的通道为输出比较通道。TCNT是递增计数器,它不停的对内部时钟信号计数,程序可随时读取,但在普通模式下禁止写入14-15。3.1.2 C51单片机C51单片机最小系统电路图如图3-3所示12。 图3-3 C51单片机最小系统电路图如图3.2所示,单片机单元模块电路采用上电复位电路,上电复位就是接通电源后,单片机自动实现复位操作。上电复位电路由C1、S2、R2构成,上电瞬间9脚获得高电平,随着电容C1的充电,9脚的高电平逐渐下降。9脚的高电平只要能保持足够的时间(2个机器周期),单片机就能进行复位操作。Y1、C3、和C4构成内部时钟振荡电路,C19和C20的作用主要是稳定频率和快速起振,其电容值为5-30pF,典型值为22pF。为了是单片机能正常的工作,晶振的频率选用11.0592MHz。3.2 驱动控制电路设计驱动控制电路图如图3-4所示。 图3-4 驱动控制电路 本设计的驱动控制电路的实质就是由两片驱动芯片BTS7960来组成H桥,在2管脚输入PWM信号,7脚输入6V的电压,3脚相当于输入一个高电平,6脚和5脚通过电阻接地,1脚直接接地。4脚接电机,这时根据占空比的大小来决定4脚输出电压值的大小,电压值越大,电机转的速度越快越快,电压值越小,电机转的越慢。以实现电机的驱动和PWM信号对电机的控制,电压值的大小就相当于是PWM波形占空比的反映,PWM可以实现对电机的调速。3.3 测速电路设计测速电路如图3-5所示。 图3-5 测速电路原理图测速电路的原理如上图所示,核心的器件是一对红外发光对管。其中一个发射,一个接受。然后就是有个比较器,比较器就是LM324。来对电平进行比较,使之输出高电平和低电平来实现脉冲的计数。在红外发光对管和红外接受对管之间放入一个光电码盘,100线的,就是如图3-6所示。把光电码盘安装在电机上,让光电码盘随着电机的转动而转动,这时线会遮住红外发光管发出的光,红外接收管会接不到光,相当于断路,这时2脚就是高电平0,而3脚由于电阻分压的作用,其电压小于5V,经过比较器的比较后输出低电平。当红外发光管和红外接受管之间没有线时,发光红外管发出的光会被红外接收管所接受,红外接受管接受了光以后,就相当于短路,这时2脚输入是低电平,3脚由于电压的分压的作用,其电压大于0,这时比较器比较2脚和3脚,输出的是高电平,这时可以根据记录高电平的个数,可以实现测速 。 图3-6 光电码盘 3.4 液晶显示电路设计液晶显示部分电路图如图3-7所示。 图3-7 液晶显示电路如图3-7所示,本设计液晶采用LCD1602液晶模块。用来显示电机的预设转速和实际的转速。管脚1接地,管脚2接5V电压源,给整个模块进行供电。3脚的主要功能是调节对比度,当接VCC时的时候对比度最低,当接GND的时候对比度最高,为了调节该对比度,本设计通过一个滑动变阻器接地,可以实现对比度的调节。4脚为RS脚,接到C51单片的P2.0的端口。5脚为读写信号的端口,接到P2.1口。6脚为使能端,接P2.2口。7-14脚为数据总线的端口,分别接C51单片机的P0.0-P0.7口。15,16脚为背光灯的控制端,分别接电源和地。工作过程就是通过数据总线把单片机的数据给传到显示模块中,并把单片机的数据给显示出来。液晶各管脚功能说明如表3-15和表3-16所示。表3-15 LCD1602各管脚功能说明引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高4RS高电平“1”时选择数据寄存器,低电平“0”时选择指令寄存器。5R/W高电平“1”时进行“读”操作,低电平“0”时进行“写”操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底四位三态 双向数据总线 0位 (最低位)8DB1底四位三态 双向数据总线 1位9DB2底四位三态 双向数据总线 2位续表3-16 LCD1602各管脚功能说明10DB3底四位三态 双向数据总线 3位11DB4高四位三态 双向数据总线 4位12DB5高四位三态 双向数据总线 5位13DB6高四位三态 双向数据总线 6位14DB7高四位三态 双向数据总线 7位 (最高位)15BLA背光 电源正极16BLK背光 电源负极3.5 电源电路的设计电源电路设计如图3-8所示。图3-8 电源电路电路中有7805芯片和7806芯片,7805芯片是用来稳压5V的,7806芯片是用来稳压6V的。5V分别给XS128,C51,测速模块,显示模块供电。6V给驱动电路来进行供电。不管7805还是7806都有三个管脚,其中有一个管脚接地,一个管脚接输入,另外一个管脚接输出。本设计用的电源是12V的电源,需要用电源模块实现电压的转换,转换为需要的5V和6V的电压。 电源供电如表3-17所示。表3-17电源给各个模块的供电表XS128模块5V的电压显示模块5V的电压测速模块5V的电压驱动模块6V的电压3.6 按键输入电路的设计按键输入电路设计如图3-9所示。 图3-9 按键输入电路本设计中按键输入电路的作用就是输入预设定的转速。有四个按键,分别为KG2,KG3,KG4,KG5。这四个按键就分别相当于千位,百位,十位,个位。KEY1与P3.0相接,KEY2与P3.1相接,KEY3与P3.2相接,KEY3与P3.3相接。工作原理为:当按键没有被按下时,相当于断开,R电阻中没有电流经过,KEY1这时为高电平,KEY1与P3.0相接,这时,P3.0也为高电平。当按键被按下时,按键相当于一根导线,KEY1相当于接地,这个P3.0就为低电平,出现了电位的变化,所以,可以根据电位的变化来实现计数。按键被按了几次,就相当为几。可以用来设置预定转速。3.7电路总设计电路的总设计图如图3-10所示。图3-10 设计总原理图在开始做的时候,本设计选用了模块化的思想,即先一个一个模块的去做,总共有四个模块:电源模块、显示模块、驱动模块、XS128核心控制模块。做一个模块调试一个模块,等到所有的模块都可以正常的工作是,在把所有的模块进行连调,在连调的过程中要是发现哪个模块有问题或者哪个模块的运行效果不好,可以直接去找到那个模块,对那个模块进行调节,便于快速的找到系统的故障,个人感觉这样的调节效果比较好,比较有针对性,而且便于快速的找到错误,那个模块有问题直接去检查那个模块,模块化思想在日常的工业生产中也得到了广泛的应用。等到每个模块都调好以后,然后再把所有的模块都整合到一个板子上面,形成了一个总的设计。本设计很好的表现出了模块化的思想,模块化思想为本设计带来了方便。PCB图如3-11所示。图3-11 整体原理的PCB图由于本设计中把大部分模块(显示模块、驱动模块、XS128核心控制模块)都整合到一起,画系统PCB的时候感觉线有点多,在画PCB的时候不太容易进行布线。故在本设计的图中用到了几根飞线,借此来穿过PCB铜线不能通过的地方。从而达到板子中的接线的完整,由于飞线从板子的外面穿过,故不影响美观。这个板子的长13.5cm,宽12cm。4软件设计4.1软件设计的总体流程图图4-1主程序流程图图4-1是主程序的流程图,表示了小功率直流电机调速系统的工作的过程。即:开启开关,电机转动,然后用按键来输入预设的转速,把预设的转速给XS128单片机和C51单片机。测速系统把实际的转速反馈给XS128单片机和C51单片机。C51单片机会驱动液晶LCD1602进行程序的显示,即显示出预设转速和实际的转速。而XS128单片机进行两个速度的比较,若两个速度一样,则PWM波的占空比不变,电机的转速保持不变;若两个速度不一样,则XS128会改变PWM波的占空比,并调节输出电压值的大小,来调节电机的转速。具体情形如下:若电机的预设转速大于实际的转速,XS128会增大PWM波的占空比,使输出电压增大,电机的转速加快;若电机的预设转速小于电机的实际的转速,XS128会减小PWM波的占空比,使输出的电压减小,电机的转速变慢。这样把电机的转速信息进行实时的反馈和比较,使电机的转速稳定在预设值的附近。通过LCD1602把电机的转速给显示出来。4.2各个模块的程序设计4.2.1 XS128工作的程序设计XS128单片机工作的系统流程图如图4-2所示。图4-2 XS128单片机工作流程图XS128工作时,首先要对各个模块进行初始化,开始时要对时钟进行初始化,把时钟设置为24MHz的;然后对PWM进行初始化,把PWM2设置为输出,为驱动模块提供PWM信号;然后在对ECT计数模块进行初始化,把其设置成为记录下降沿的形式,当下降沿来临时计数,记录脉冲的个数,借此来推算出电机速度的实际值;端口的初始化,把PORTA设置成输入的模式,记录按键按的次数来计算出来预设的速度,把实际速度和预设的速度进行比较,判定是否一

温馨提示

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

评论

0/150

提交评论