《毕业论文-基于单片机的直流电机控制器的设计.doc》由会员分享,可在线阅读,更多相关《毕业论文-基于单片机的直流电机控制器的设计.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SelectionParagraphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointselectionParagraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesTSelectionParbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
2、agraphFoLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointse11111111111111111111111111111111lectionParagraphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPoctionParagraphFormatLineSpaci2222222222222222222222ngLinesToPoints2SelectionParagraphFormatLineSp
3、acingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointselectionParagraphFccccccccccccccccccccccccccccccccccccccccccccccccccccccccormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPoctionParagraSelec目录摘要IABSTRACTII1系统论述11.1 设计思路11.2 基本原理11.3 总体设计框图12直流电机单元电路设计与分析22.1 直
4、流电机驱动模块22.2 直流电机的中断键盘控制模块723 1602LCD液晶显示模块93直流电机PWM控制系统的实现113.1 总电路图113.2 总电路功能介绍123.3 直流电机控制程序124系统仿真195结束语22参考文献资料23摘要本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。本课程设计主要是实现PWM调速器的正转、反转、加速、减速、停止等操作。并实现电路的仿真。为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。采用带中
5、断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送PWM波形,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。关键词:AT89C51单片机;PWM调速;正反转控制;仿真。AbstractThis article is a DC motor PWM speed control design study, the main achievement of moto
6、r control. This course is primarily designed to achieve PWM speed controller for forward and reverse, acceleration, deceleration, and stop such an operation. And to achieve the circuit simulation. To achieve system, microcomputer control, in the design, using AT89C51 microcontroller control system a
7、s a whole, the core of the control circuit, accompanied by a variety of shows, drive module enables the motor speed parameter 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-chi
8、p in the process control, continuing to the optical isolation circuit to send PWM waveform, H-type motor driving circuit 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
9、 motor. Design of the control system hardware structure with a large number of integrated circuit modules, greatly simplifying 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; pos
10、itive inversion control; Simulation。37SelectionParagraphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointselectionParagraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesTSelectionParbbbbbbbbbbbbbbbbbbb
11、bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbagraphFoLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointse11111111111111111111111111111111lectionParagraphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPoctionParagraphFormatLineSpaci2222222222222222222222ngLinesT
12、oPoints2SelectionParagraphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointselectionParagraphFccccccccccccccccccccccccccccccccccccccccccccccccccccccccormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPoctionParagraSelec1系统论述1.1 设计思路直流电机PWM控制系统的主要功能包括:
13、直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。该直流电机系统由以下电路模块组成:振荡器和时钟电路:这部分电路主要由80C51单片机和一些电容、晶振组成。设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。设计控制部分:主要由80C51单片机的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显示部分。液晶显示部分由1602LCD液晶显示模块组成; LED数码显示部分由七段数码显示管组成。直流电机PWM控制实现部分:主要由一些二极管
14、、电机和L298直流电机驱动模块组成。1.2 基本原理主体电路:即直流电机PWM控制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小和了解电机的转向,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。其间是通过80C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。该直流电机PWM控制系统由以下电路模块组成:设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。设计控制部分:主要由80C51
15、单片机的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显示部分。液晶显示部分由1602LCD液晶显示模块组成。直流电机PWM控制实现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。1.3 总体设计框图系统组成:直流电机PWM调速方案如图1.1所示:方案说明:直流电机PWM调速系统以AT89C2051单片机为控制核心,由命令输入模块、LCD显示模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转控制;同时单片机不停的将从键盘读取的数据送到LCD显示模块去显示,从中不仅
16、能读取其速度,而且能知晓其转向及一些温心提示。图 1.1 直流电机PWM调速方案2直流电机单元电路设计与分析2.1 直流电机驱动模块主要由一些二极管、电机和L298直流电机驱动模块(内含CMOSS管、三太门等)组成。现在介绍下直流电机的运行原理2.1.1 直流电机类型直流电机可按其结构、工作原理和用途等进行分类,其中根据直流电机的用途可分为以下几种:直流发电机(将机械能转化为直流电能)、直流电动机(将直流电能转化为机械能)、直流测速发电机(将机械信号转换为电信号)、直流伺服电动机(将控制信号转换为机械信号)。下面以直流电动机作为研究对象。2.1.2 直流电机结构直流电机由定子和转子两部分组成。
17、在定子上装有磁极(电磁式直流电机磁极由绕在定子上的磁绕提供),其转子由硅钢片叠压而成,转子外圆有槽,槽内嵌有电枢绕组,绕组通过换向器和电刷引出,直流电机结构如图2.1所示。图2.1 直流电动机结构2.1.3 直流电机工作原理直流电机电路模型如图2.2所示,磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。当线圈中流过电流时,线圈受到电磁力作用,从而产生旋转。根据左手定则可知,当流过线圈中电流改变方向时,线圈的受方向也将改变,因此通过改变线圈电路的方向实现改变电机的方向。图2.2 直流电动机电路模型2.1.4 直流电机主要技术参数直流电机的主要额定值有:额定功率Pn
18、:在额定电流和电压下,电机的负载能力。额定电压Ue:长期运行的最高电压。 额定电流Ie:长期运行的最大电流。额定转速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
19、.1式1.1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷接触电阻的总和;Rc是外接在电枢回路中的调节电阻。由此可得到直流电机的转速公式为: 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所示的脉动电流压(要求脉动电压的周期远小于电机的
20、惯性常数),可以看出,在T不变的情况下,改变T1和T2宽度,得到的电压将发生变化,下面对这一变化进一步推导。 图2.3 施加在电枢两端的脉动电压设电机接全电压U时,其转速最大为Vmax。若施加到电枢两端的脉动电压占空比为D=t1/T,则电枢的平均电压为: U平=UD 式1.4由式1.3得到:n =Ea/CeUD/ Ce=KD ;在假设电枢内阻转小的情况下式中K= U/ Ce,是常数。图2.4为施加不同占空比时实测的数据绘制所得占空比与转速的关系图。图2.4 占空比与电机转速的关系由图看出转速与占空比D并不是完全速的线性关系(图中实线),原因是电枢本身有电阻,不过一般直流电机的内阻较小,可以近视
21、为线性关系。由此可见,改变施加在电枢两端电压就能改变电机的转速成,这就是直流电机PWM调速原理。2.1.6 电机驱动模块的电路设计根据直流电机的工作原理,从PROTEUS选取元器件如下,放置元器件、放置电源和地连线,我们参此设计的直流电机驱动模块电路如图2.5所示 2SK1058 : CMOSS管 74L26 : 三太门 1N4006 : 二极管 VSCOURCE : 电源 MOTOR-ENCODER : 直流电机 RES : 电阻 AT89C51 : 单片机 (在此并未显示)图2.5 直流电机驱动电路然而考虑市场的行情,既然已有专门地为电机驱动而设计的芯片,就没必要再从新来设计;选用L298
22、芯片来构成的电路结构基本上跟上图一样,由L298芯片组装的驱动模块如图2.6 所示。所用元器件如下所示: 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即可。如:
23、开放外部中断0的设置:SETB EX0SETB EA开放外部中断0和1的设置:SETB EX0SETB EX1SETB EA(2) 外部中断触发方式设置单片机外部中断有两种触发方式,一种是电平触发方式,另一种是脉冲触发方式,单片机外部中断触发方式与TCON的IT位有关。 TF1TR1TF0TR0IE1IT1IE0IT0电平触发设置方法:CLR ITX,为低电平触发方式。脉冲触发设置方法:SETB ITX1,为脉冲下降沿触发方式。在使用外部中断时,如果不进行设置,则为电平触发方式。(3) 外部优先级设置 外部中断IN0、INT1的中断优先级的设置是通过设置IP寄存器实现的,IP的PX0对应INT
24、0,PX1对应INT1。PX置1为高级中断,PX为0为低级中断。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个引脚
25、,其引脚分布如图2.5所示。 图2.10 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 1
26、602液晶显示模块组成2.3.3 显示程序流程图如3.12所示图2.12 3直流电机PWM控制系统的实现3.1 总电路图 图3.1 直流电机3.2 总电路功能介绍直流电机PWM调制控制系统具有加速、减速、正转、反转、停止控制功能。操作开关通过中断控制直流电机的加速、减速、正转、反转、停止控制功能,并通过LCD液晶显示。振荡、时钟电路和复位电路由80C51单片机内部给出。直流电机转动速度由LCD液晶显示。操作开关状态由液晶显示器显示。3.3 直流电机控制程序ORG 0000HSJMP DISPLAYORG 0003H LJMP BUTTON ; 外部0中断入口地址ORG 000BHLJMP DI
27、NGSHI ; 定时中断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 ; 设置定时工作方式MOV TL0,#0FFH ; 设置定时初值MOV TH0,#0FFHSETB ET0 ; 打开定时中断T0开关 CLR P0.5 CLR P0.6CLR P0.7SETB TR0 ; 定时器T0开始定时MOV DPTR,#TAB
28、; 夜晶显示的字符首地址 MOV R0,#00H ; 脉宽的初值MOV R1,#16 ; SET SPEED PLEASE的字符个数MOV R3,#00HMOV R4,#00HLP9: LCALL CHUSHILP2:ACALL BUSYMOV A,#00HMOVC A,A+DPTRMOV P1,AACALL DATASINC DPTR DJNZ R1,LP2 LP3: CJNE R3,#00H,LP4CJNE R4,#00H,LP4SJMP LP3 LP4: MOV R7,#00H ; 中断的标志 MOV R5,#09H ; CURRENT : 的字符个数ACALL BUSYMOV P1,#
29、0C0HACALL ENABLEMOV DPTR,#MMTABACALL BUSYLP5: MOV A,#00HMOVC A,A+DPTRMOV P1,AINC DPTRACALL DATASACALL BUSYDJNZ R5,LP5 MOV DPTR,#STABMOV A,R2MOV P1,AACALL DATASACALL BUSYMOV A,R3 ; 显示速度的十位MOVC A,A+DPTRMOV P1,AACALL DATASACALL BUSYMOV A,R4 ; 显示速度的个位MOVC A,A+DPTRMOV P1,A ACALL DATAS ; 使夜晶始终显示当前电机的速度LP8
30、: 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,#00001111B ; 显示器开、光标开、光标允许闪烁ACALL ENABLEACALL BUSYMOV P1,#00000110B ; 文字不动,光标自动右移ACALL EN
31、ABLEACALL 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 2000HDINGSHI: ; 定时中断服务程序CPL P0.7 JNB P0.7,Z1 ; 周期一定MOV A,#0FFHSUBB A,R0 MOV TH0,ASETB TR0R
32、ETIZ1: 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 QQ AA1: MOV A,R0ADD A,#5MOV R0,AAJMP QQKK0: CJNE R0,#00,MM ; 减速操作AJMP QQ MM: MOV
33、 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 ; 正转标志 +LCALL DELAYLCALL DELAYLCALL DELAYSETB EX0SETB EA POP ACCRETIFF: CLR P0.5 ; 反转操作 SETB P0.6 MOV
34、 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: MOV R6,#30H MM1: DJNZ R6,MM1DJNZ R5,MM0RETTAB: DB 53H,45H,54H,20H DB 53H,50H,45H,45H ; SET SPEED PLEASE 代
35、码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,FDB 43H,44H,45H,46HMMTAB: DB 43H,4FH,52H,52HDB 45H,4EH,54H,20H ; CURRENT : 代码DB 3AHEND4系统仿真LCD液晶显示电路的系统仿真与调试:在PROTEUS运行环境中首先检验LCD显示电路,添加程序,运行LCD液晶显示电路能,系统若运行成功将 得到如
36、图4.1。此后在之前的电路基础之上再拓展带中断的独立式键盘,调试成功后的电路如图4.2所示。 图4.1 LCD液晶显示字符初步调试 图4.2 带中断控制的LCD液晶显示调试用带中断的键盘来控制直流电机驱动模块的部分电路,若按要求调试成功,将得到图4.3。 图 4.3 用带中断的键盘来控制的电机启动目标系统,按正转,然后接加速开关,我们观察到电机开始运转,每按一次加速,电机的速度都要增加,此时如果按减速,则电机的转速慢慢地减小。同样按反转转键也看到同样的结果,当按停止键时,电机慢慢停下来,图4.4是在目的电路刚启动时未设置命令之前的状态,图4.5是在正转情况下的仿真结果,图4.6是在反转情况下的
37、仿真结果。 图4.4 未按键时的初始状态 图4.5 电机正转时的状态 图4.6 电机反转时的状态5结束语这次课程设计是一次非常好的锻炼机会,历时二个星期左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的不怎么牢固,看到了自己的实践经验更是比较缺乏,理论联系实际的能力还急需提高。这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。团结协作是我们成功的一项非常重要的保证。而这次设计也正好锻炼我们这一点,这也是非常宝贵的。 这次设计就我个人而言,和团队人员这十几天的一起工作的日子,让我们有说有笑,相互帮助,配合默契
38、,多少人间欢乐在这里洒下,我感觉我和同学们之间的距离更加近了。学到的东西,将对我后面两年的学习有重要的指导作用,不敢说以后,但在毕业前的这段时间内,这次学习对我的确很重要。学到了如何务实,如何去学一门技术,同时也知道了如何学习,什么才是学习。如果每天都能像这样的学习,大学四年的课程,一年就够了,或许还不要。次设计的学习比我在读高三时都还累。技术学到了一点,也许会忘记,学习的方法学到了,是一辈子的财富。同时这段时间也是值得回忆的。由江老师给我们上课,给我们解决问题。现在看看自己以前自学的一点东西,学了都有将近一年了,还是一个新手。这次学习让我知道了,只要想学,2个星期就够了,关键是有没有毅力和压
39、力。自学的更是这样的,没有周围人的压力,就要自己去找压力。现在学到的东西,在以后的工作中一定也会学到,但我毕竟早了两年知道这个道理,它在书本上是学不来的,一定要自己经历了,在实践中才学得到。两年的时间,也许会对我的未来有大的影响。感激学院让我们有这次学习设计的机会,还有余老师那不厌其烦的指导,让我受益匪浅,这次学习对于我们没有真正实践经验的同学来说,绝对是一次成长的机会。参考文献资料1杨永辉现代电子技术J 智能小车的多传感器数据融合.2005, (6) :3-62何立民单片机与嵌入式系统应用J 基于HCS12的小车智能控制系统设计2007,(3) :51-53,573方建军何广平智能机器人M北京:化学工业出版社2004 :5-94张立电子世界J电动小车的循迹 2004,(6):45 5 6滕志军今日电子J基于超声波检测的倒车雷达设计2006,(9):15-177徐科军传感器与检测技术M北京:电子工业出版社,2007:110-113,160-1618潘新民王燕芳微型计算机控制技术实用教程M北京:电子工业出版社,2007:75-76,118-119