基于单片机的直流电机控制器的设计_第1页
基于单片机的直流电机控制器的设计_第2页
基于单片机的直流电机控制器的设计_第3页
基于单片机的直流电机控制器的设计_第4页
基于单片机的直流电机控制器的设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。本课程设计主要是实现PWM调速器的正转、反转、加速、减速、停止等操作。并实现电路的仿真。为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送PWM波形,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。设计的整个控制系统

2、,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。关键词:AT89C51单片机;PWM调速;正反转控制;仿真。AbstractThis article is a DC motor PWM speed control design study, the main achievement of motor control. This course is primarily designed to achieve PWM speed controller for forward and reverse, acceleration, de

3、celeration, and stop such an operation. And to achieve the circuit simulation. To achieve system, microcomputer control, in the design, using AT89C51 microcontroller control system as a whole, the core of the control circuit, accompanied by a variety of shows, drive module enables the motor speed pa

4、rameter display and measurement; from the command input module, Optical isolation module and H-drive module. With the stand-alone keyboard with a break as a command input, single-chip in the process control, continuing to the optical isolation circuit to send PWM waveform, H-type motor driving circu

5、it to complete positive inversion control. In the design, using PWM speed mode, by changing the PWM duty cycle to change the motor armature voltage, so as to realize the speed of the motor. Design of the control system hardware structure with a large number of integrated circuit modules, greatly sim

6、plifying the hardware circuitry to improve stability and reliability of the system so that the whole system performance is improved.Key words: AT89C51 microcontroller; PWM speed; positive inversion control; Simulation。1系统论述1.1 设计思路直流电机PWM控制系统的主要功能包括:直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小,能

7、够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。该直流电机系统由以下电路模块组成:振荡器和时钟电路:这部分电路主要由80C51单片机和一些电容、晶振组成。设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。设计控制部分:主要由80C51单片机的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显示部分。液晶显示部分由1602LCD液晶显示模块组成; LED数码显示部分由七段数码显示管组成。直流电机PWM控制实现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。1.2 基本原理主体电路:即直流电机PWM控制模块。这部分电路

8、主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小和了解电机的转向,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。其间是通过80C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。该直流电机PWM控制系统由以下电路模块组成:设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。设计控制部分:主要由80C51单片机的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显示部分。液晶显示部分由16

9、02LCD液晶显示模块组成。直流电机PWM控制实现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。1.3 总体设计框图系统组成:直流电机PWM调速方案如图1.1所示:方案说明:直流电机PWM调速系统以AT89C2051单片机为控制核心,由命令输入模块、LCD显示模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转控制;同时单片机不停的将从键盘读取的数据送到LCD显示模块去显示,从中不仅能读取其速度,而且能知晓其转向及一些温心提示。图 1.1 直流电机PWM调速方案2直流电机单元电路设

10、计与分析2.1 直流电机驱动模块主要由一些二极管、电机和L298直流电机驱动模块(内含CMOSS管、三太门等)组成。现在介绍下直流电机的运行原理2.1.1 直流电机类型直流电机可按其结构、工作原理和用途等进行分类,其中根据直流电机的用途可分为以下几种:直流发电机(将机械能转化为直流电能)、直流电动机(将直流电能转化为机械能)、直流测速发电机(将机械信号转换为电信号)、直流伺服电动机(将控制信号转换为机械信号)。下面以直流电动机作为研究对象。2.1.2 直流电机结构直流电机由定子和转子两部分组成。在定子上装有磁极(电磁式直流电机磁极由绕在定子上的磁绕提供),其转子由硅钢片叠压而成,转子外圆有槽,

11、槽内嵌有电枢绕组,绕组通过换向器和电刷引出,直流电机结构如图2.1所示。图2.1 直流电动机结构2.1.3 直流电机工作原理直流电机电路模型如图2.2所示,磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。当线圈中流过电流时,线圈受到电磁力作用,从而产生旋转。根据左手定则可知,当流过线圈中电流改变方向时,线圈的受方向也将改变,因此通过改变线圈电路的方向实现改变电机的方向。图2.2 直流电动机电路模型2.1.4 直流电机主要技术参数直流电机的主要额定值有:额定功率Pn:在额定电流和电压下,电机的负载能力。额定电压Ue:长期运行的最高电压。 额定电流Ie:长期运行的最

12、大电流。额定转速n:单位时间内的电机转动快慢。以r/min为单位。 励磁电流If:施加到电极线圈上的电流。2.1.5 直流电机PWM调速原理(1)直流电机转速直流电机的数学模型可用图2.3表示,由图可见电机的电枢电动势Ea的正方向与电枢电流Ia的方向相反,Ea为反电动势;电磁转矩T的正方向与转速n的方向相同,是拖动转矩;轴上的机械负载转矩T2及空载转矩T0均与n相反,是制动转矩。图2.3 直流电机的数学模型根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式1.1:U=Ea-Ia(Ra+Rc)式1.1式1.1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷接触电阻的总和;Rc是外接在电枢回路中的

13、调节电阻。由此可得到直流电机的转速公式为: n =Ua-IR/Ce 式1.2式1.2中,Ce为电动势常数,是磁通量。由1.1式和1.2式得n =Ea/Ce 式1.3 由式1.3中可以看出,对于一个已经制造好的电机,当励磁电压和负载转矩恒定时,它的转速由回在电枢两端的电压Ea决定,电枢电压越高,电机转速就越快,电枢电压降低到0V时,电机就停止转动;改变电枢电压的极性,电机就反转。(2)PWM电机调速原理对于直流电机来说,如果加在电枢两端的电压为2.3所示的脉动电流压(要求脉动电压的周期远小于电机的惯性常数),可以看出,在T不变的情况下,改变T1和T2宽度,得到的电压将发生变化,下面对这一变化进一

14、步推导。 图2.3 施加在电枢两端的脉动电压设电机接全电压U时,其转速最大为Vmax。若施加到电枢两端的脉动电压占空比为D=t1/T,则电枢的平均电压为: U平=U·D 式1.4由式1.3得到:n =Ea/CeU·D/ Ce=KD ;在假设电枢内阻转小的情况下式中K= U/ Ce,是常数。图2.4为施加不同占空比时实测的数据绘制所得占空比与转速的关系图。图2.4 占空比与电机转速的关系由图看出转速与占空比D并不是完全速的线性关系(图中实线),原因是电枢本身有电阻,不过一般直流电机的内阻较小,可以近视为线性关系。由此可见,改变施加在电枢两端电压就能改变电机的转速成,这就是直流

15、电机PWM调速原理。2.1.6 电机驱动模块的电路设计根据直流电机的工作原理,从PROTEUS选取元器件如下,放置元器件、放置电源和地连线,我们参此设计的直流电机驱动模块电路如图2.5所示 2SK1058 : CMOSS管 74L26 : 三太门 1N4006 : 二极管 VSCOURCE : 电源 MOTOR-ENCODER : 直流电机 RES : 电阻 AT89C51 : 单片机 (在此并未显示)图2.5 直流电机驱动电路然而考虑市场的行情,既然已有专门地为电机驱动而设计的芯片,就没必要再从新来设计;选用L298芯片来构成的电路结构基本上跟上图一样,由L298芯片组装的驱动模块如图2.6

16、 所示。所用元器件如下所示: 1N4006 : 二极管 AT89C51 : 单片机 (在此并未显示) RES : 电阻 MOTOR-ENCODER : 直流电机 L298 : 电机驱动芯片 RESPACK-8: 排阻图2.6 直流电机及其驱动电路2.1.7 程序设计流程图图2.7 定时中断服务流程图2.2 直流电机的中断键盘控制模块2.2.1 外部中断设置(1) 外部中断允许设置中断控制寄存器IE的EX0对应INT0,EX1对应INT1,EA为中断的总开关,若要开放外部中断,只要将IE对应的位和总开关EA置1即可。如:开放外部中断0的设置:SETB EX0SETB EA开放外部中断0和1的设置

17、:SETB EX0SETB EX1SETB EA(2) 外部中断触发方式设置单片机外部中断有两种触发方式,一种是电平触发方式,另一种是脉冲触发方式,单片机外部中断触发方式与TCON的IT位有关。 TF1TR1TF0TR0IE1IT1IE0IT0电平触发设置方法:CLR ITX,为低电平触发方式。脉冲触发设置方法:SETB ITX1,为脉冲下降沿触发方式。在使用外部中断时,如果不进行设置,则为电平触发方式。(3) 外部优先级设置 外部中断IN0、INT1的中断优先级的设置是通过设置IP寄存器实现的,IP的PX0对应INT0,PX1对应INT1。PX置1为高级中断,PX为0为低级中断。×

18、××PSPT1PX1PT0PX02.2.2 外部中断扩展方法在图2.8为外部中断扩展方法,设X1、X2、X3、X4、X5为外部警情信号,X1代表是加速信号,X1=0表示加速;X2代表减速信号,X2=0表示减速;X3代表正转信号,X3=0表示正转;X4代表反转信号,X4=0表示反转;X5代表停止信号,X5=0表示停止处理。 图 2.8 外部中断扩展电路当系统检测到有中断请求时,响应如下中断服务流程图2.9。 图2.9中断服务流程23 1602LCD液晶显示模块2.3.1 引脚分布和接口信号说明(1)引脚分布1602液晶显示共有16个引脚,其引脚分布如图2.5所示。 图2.10

19、 1602液晶显示模块引脚分布(2)引脚功能1602引脚功能如表2.1所示表2.1 1602引脚功能编号符号引脚说明编号符号引脚说明1VSSVSS为地电源9D2Data I/O2VDDVDD接5V正电源10D3Data I/O3VEE液晶显示偏压信号11D4Data I/O4RS0输入指令,1输入数据12D5Data I/O5R/W0写入指令或数据,1读信息13D6Data I/O6E1读取信息,10执行指令14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极2.3.2 LCD液晶电路图2.11 1602液晶显示模块组成2.3.3 显示程

20、序流程图如3.12所示图2.12 3直流电机PWM控制系统的实现3.1 总电路图 图3.1 直流电机3.2 总电路功能介绍直流电机PWM调制控制系统具有加速、减速、正转、反转、停止控制功能。操作开关通过中断控制直流电机的加速、减速、正转、反转、停止控制功能,并通过LCD液晶显示。振荡、时钟电路和复位电路由80C51单片机内部给出。直流电机转动速度由LCD液晶显示。操作开关状态由液晶显示器显示。3.3 直流电机控制程序ORG 0000HSJMP DISPLAY 无条件转移SJMP relORG 0003H LJMP BUTTON ; 外部0中断入口地址 无条件转移,LJMP addr16ORG

21、000BHLJMP DINGSHI ; 定时中断T0入口地址RS EQU P3.0RW EQU P3.1E EQU P3.4ORG 0030H ; 此次直流电机的设计以LCD字符夜晶的 ; 显示程序为主程序DISPLAY: SETB EA ; 打开中断总开关SETB EX0 ; 打开外部中断0开关SETB IT0 ; 打开外部中断0下降沿触发MOV TMOD,#01H;设置定时工作方式定时器0工作于模式1,16位计数器MOV TL0,#0FFH ; 设置定时初值MOV TH0,#0FFHSETB ET0 ; 打开定时中断T0开关 CLR P0.5 CLR P0.6CLR P0.7SETB TR

22、0 ; 定时器T0开始定时MOV DPTR,#TAB ; 夜晶显示的字符首地址 MOV R0,#00H ; 脉宽的初值MOV R1,#16 ; "SET SPEED PLEASE"的字符个数MOV R3,#00HMOV R4,#00HLP9: LCALL CHUSHI 无条件调用及返回LP2:ACALL BUSY 无条件调用及返回MOV A,#00HMOVC A,A+DPTRMOV P1,AACALL DATASINC DPTR DJNZ R1,LP2 LP3: CJNE R3,#00H,LP4 条件转移,R3不等于00H转移CJNE R4,#00H,LP4SJMP LP3

23、 LP4: MOV R7,#00H ; 中断的标志 MOV R5,#09H ; CURRENT : 的字符个数ACALL BUSYMOV P1,#0C0HACALL ENABLEMOV DPTR,#MMTABACALL BUSYLP5: MOV A,#00HMOVC A,A+DPTRMOV P1,AINC DPTRACALL DATASACALL BUSYDJNZ R5,LP5 减1不等于0转移MOV DPTR,#STABMOV A,R2MOV P1,AACALL DATASACALL BUSYMOV A,R3 ; 显示速度的十位MOVC A,A+DPTRMOV P1,AACALL DATAS

24、ACALL BUSYMOV A,R4 ; 显示速度的个位MOVC A,A+DPTRMOV P1,A ACALL DATAS ; 使夜晶始终显示当前电机的速度LP8: CJNE R7,#00H,LP7 ; 速度不变时等待LJMP LP8 ; 速度变时重新读入速度LP7:SJMP LP4CHUSHI: ; 使夜晶显示的一些初始设置ACALL BUSY MOV P1,#00000001B ; 清屏并光标复位ACALL ENABLE ACALL BUSY MOV P1,#00111000B ; 设置显示模式:8位2行5x7点阵ACALL ENABLEACALL BUSY MOV P1,#0000111

25、1B ; 显示器开、光标开、光标允许闪烁ACALL ENABLEACALL BUSYMOV P1,#00000110B ; 文字不动,光标自动右移ACALL ENABLEACALL BUSYMOV P1,#80H ; 写入显示起始地址ACALL ENABLE RETENABLE: ; 写入控制命令的子程序SETB ECLR RSCLR RWCLR ERETDATAS: ; 写入数据子程序SETB ESETB RSCLR RWCLR ERETBUSY: ; 准备写入数据CLR EMOV P1,#0FFHCLR RSSETB RWSETB EJB P1.7,BUSYRETORG 2000HDING

26、SHI: ; 定时中断服务程序CPL P0.7 JNB P0.7,Z1 ; 周期一定MOV A,#0FFHSUBB A,R0 MOV TH0,ASETB TR0RETIZ1: MOV TH0,R0 ; 脉宽SETB TR0RETI BUTTON: ; 从控制键盘中读取操作命令PUSH ACC CLR EX0CLR EAINC R7 ;MOV A,#0FFHMOV P2,AMOV A,P2JNB ACC.0,AA0 JNB ACC.1,KK0JNB ACC.2,ZZJNB ACC.3,FFJNB ACC.4,WW0AJMP QQAA0: CJNE R0,#0FFH, AA1 ; 加速操作AJMP

27、 QQ AA1: MOV A,R0ADD A,#5MOV R0,AAJMP QQKK0: CJNE R0,#00,MM ; 减速操作AJMP QQ MM: MOV A,R0SUBB A,#5MOV R0,AAJMP QQQQ: MOV A,R0 MOV B,#5 DIV ABMOV B,#10DIV ABMOV R3,AMOV R4,BSETB EX0LCALL DELAYLCALL DELAYLCALL DELAYLCALL DELAYSETB EAPOP ACCRETIZZ: SETB P0.5 ; 正转操作CLR P0.6 MOV R2,#2BH ; 正转标志 "+"

28、LCALL DELAYLCALL DELAYLCALL DELAYSETB EX0SETB EA POP ACCRETIFF: CLR P0.5 ; 反转操作 SETB P0.6 MOV R2,#2DH ; 反转标志 "-"LCALL DELAYLCALL DELAYLCALL DELAYSETB EX0SETB EAPOP ACCRETIWW0: CLR P0.5 ; 停止操作CLR P0.6LCALL DELAYLCALL DELAYLCALL DELAYSETB EX0SETB EA POP ACCRETIDELAY: ; 延时子程序MOV R5,#0E0HMM0:

29、MOV R6,#30H MM1: DJNZ R6,MM1DJNZ R5,MM0RETTAB: DB 53H,45H,54H,20H DB 53H,50H,45H,45H ; "SET SPEED PLEASE" 代码DB 44H,20H,50H,4CHDB 45H,41H,53H,45H STAB: DB 30H,31H,32H,33HDB 34H,35H,36H,37H ; "0,1,2,3,4,5,6,7" 代码DB 38H,39H,41H,42H ; "8,9,A,B,C,D,E,F"DB 43H,44H,45H,46HMMTA

30、B: DB 43H,4FH,52H,52HDB 45H,4EH,54H,20H ; " CURRENT : " 代码DB 3AHEND4系统仿真LCD液晶显示电路的系统仿真与调试:在PROTEUS运行环境中首先检验LCD显示电路,添加程序,运行LCD液晶显示电路能,系统若运行成功将 得到如图4.1。此后在之前的电路基础之上再拓展带中断的独立式键盘,调试成功后的电路如图4.2所示。 图4.1 LCD液晶显示字符初步调试 图4.2 带中断控制的LCD液晶显示调试用带中断的键盘来控制直流电机驱动模块的部分电路,若按要求调试成功,将得到图4.3。 图 4.3 用带中断的键盘来控制的电机启动目标系统,按正转,然后接加速开关,我们观察到电机开始运转,每按一次加速,电机的速度都要增加,此时如果按减速,则电机的转速慢慢地减小。同样按反转转键也看到同样的结果,当按停止键时,电机慢慢停下来,图4.4是在目的电路刚启动时未设置命令之前的状态,图4.5是在正转情况下的仿真结果,图4.6是在反转情况下的仿真结果。 图4.4 未按键时的初始状态 图4.5 电机正转时的状态 图4.6 电机反转时的状态5结束语这次课程

温馨提示

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

评论

0/150

提交评论