1、单片机的直流电机控制器的设计方案1.1 设计思路 11.2 基本原理 11.3 总体设计框图 12直流电机单元电路设计与分析 22.1 直流电机驱动模块 22.2 直流电机的中断键盘控制模块 723 1602LCD液晶显示模块 93直流电机PWM控制系统的实现 113.1 总电路图 113.2 总电路功能介绍 123.3 直流电机控制程序 124系统仿真 191系统论述1.1 设计思路直流电机PWM控制系统的主要功能包括:直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)
2、、暂停、连续功能。该直流电机系统由以下电路模块组成:振荡器和时钟电路:这部分电路主要由80C51单片机和一些电容、晶振组成。设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。设计控制部分:主要由80C51单片机的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显示部分。液晶显示部分由1602LCD液晶显示模块组成。 LED数码显示部分由七段数码显示管组成。直流电机PWM控制实现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。1.2 基本原理主体电路:即直流电机PWM控制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机
3、的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小和了解电机的转向,能够很方便的实现电机的智能控制。其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。其间是通过80C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。该直流电机PWM控制系统由以下电路模块组成:设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。设计控制部分:主要由80C51单片机的外部中断扩展电路组成。设计显示部分:包括液晶显示部分和LED数码显示部分。液晶显示部分由1602LCD液晶显示模块组成。直流电机PWM控制实现部分:主要由一些二极管、
4、电机和L298直流电机驱动模块组成。1.3 总体设计框图系统组成:直流电机PWM调速方案如图1.1所示:方案说明:直流电机PWM调速系统以AT89C2051单片机为控制核心,由命令输入模块、LCD显示模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转控制;同时单片机不停的将从键盘读取的数据送到LCD显示模块去显示,从中不仅能读取其速度,而且能知晓其转向及一些温心提示。图 1.1 直流电机PWM调速方案2直流电机单元电路设计与分析2.1 直流电机驱动模块主要由一些二极管、电机和L298直流电机驱
5、动模块(内含CMOSS管、三太门等)组成。现在介绍下直流电机的运行原理2.1.1 直流电机类型直流电机可按其结构、工作原理和用途等进行分类,其中根据直流电机的用途可分为以下几种:直流发电机(将机械能转化为直流电能)、直流电动机(将直流电能转化为机械能)、直流测速发电机(将机械信号转换为电信号)、直流伺服电动机(将控制信号转换为机械信号)。下面以直流电动机作为研究对象。2.1.2 直流电机结构直流电机由定子和转子两部分组成。在定子上装有磁极(电磁式直流电机磁极由绕在定子上的磁绕提供),其转子由硅钢片叠压而成,转子外圆有槽,槽内嵌有电枢绕组,绕组通过换向器和电刷引出,直流电机结构如图2.1所示。图
6、2.1 直流电动机结构2.1.3 直流电机工作原理直流电机电路模型如图2.2所示,磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。当线圈中流过电流时,线圈受到电磁力作用,从而产生旋转。根据左手定则可知,当流过线圈中电流改变方向时,线圈的受方向也将改变,因此通过改变线圈电路的方向实现改变电机的方向。图2.2 直流电动机电路模型2.1.4 直流电机主要技术参数直流电机的主要额定值有:额定功率Pn:在额定电流和电压下,电机的负载能力。额定电压Ue:长期运行的最高电压。 额定电流Ie:长期运行的最大电流。额定转速n:单位时间内的电机转动快慢。以r/min为单位。 励磁电
7、流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是外接在电枢回路中的调节电阻。由此可得到直流电机的转速公式为: n =Ua-IR/Ce 式1.
8、2式1.2中,Ce为电动势常数,是磁通量。由1.1式和1.2式得n =Ea/Ce 式1.3 由式1.3中可以看出,对于一个已经制造好的电机,当励磁电压和负载转矩恒定时,它的转速由回在电枢两端的电压Ea决定,电枢电压越高,电机转速就越快,电枢电压降低到0V时,电机就停止转动;改变电枢电压的极性,电机就反转。(2)PWM电机调速原理对于直流电机来说,如果加在电枢两端的电压为2.3所示的脉动电流压(要求脉动电压的周期远小于电机的惯性常数),可以看出,在T不变的情况下,改变T1和T2宽度,得到的电压将发生变化,下面对这一变化进一步推导。 图2.3 施加在电枢两端的脉动电压设电机接全电压U时,其转速最大
9、为Vmax。若施加到电枢两端的脉动电压占空比为D=t1/T,则电枢的平均电压为: U平=UD 式1.4由式1.3得到:n =Ea/CeUD/ Ce=KD ;在假设电枢内阻转小的情况下式中K= U/ Ce,是常数。图2.4为施加不同占空比时实测的数据绘制所得占空比与转速的关系图。图2.4 占空比与电机转速的关系由图看出转速与占空比D并不是完全速的线性关系(图中实线),原因是电枢本身有电阻,不过一般直流电机的内阻较小,可以近视为线性关系。由此可见,改变施加在电枢两端电压就能改变电机的转速成,这就是直流电机PWM调速原理。2.1.6 电机驱动模块的电路设计根据直流电机的工作原理,从PROTEUS选取
10、元器件如下,放置元器件、放置电源和地连线,我们参此设计的直流电机驱动模块电路如图2.5所示 2SK1058 : CMOSS管 74L26 : 三太门 1N4006 : 二极管 VSCOURCE : 电源 MOTOR-ENCODER : 直流电机 RES : 电阻 AT89C51 : 单片机 (在此并未显示)图2.5 直流电机驱动电路然而考虑市场的行情,既然已有专门地为电机驱动而设计的芯片,就没必要再从新来设计;选用L298芯片来构成的电路结构基本上跟上图一样,由L298芯片组装的驱动模块如图2.6 所示。所用元器件如下所示: 1N4006 : 二极管 AT89C51 : 单片机 (在此并未显示
11、) 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的设置:SETB EX0SETB EX1SETB EA(2) 外部中断触发方式设置单片机外部中断有两种触
12、发方式,一种是电平触发方式,另一种是脉冲触发方式,单片机外部中断触发方式与TCON的IT位有关。 TF1TR1TF0TR0IE1IT1IE0IT0电平触发设置方法:CLR ITX,为低电平触发方式。脉冲触发设置方法:SETB ITX1,为脉冲下降沿触发方式。在使用外部中断时,如果不进行设置,则为电平触发方式。(3) 外部优先级设置 外部中断IN0、INT1的中断优先级的设置是通过设置IP寄存器实现的,IP的PX0对应INT0,PX1对应INT1。PX置1为高级中断,PX为0为低级中断。PSPT1PX1PT0PX02.2.2 外部中断扩展方法在图2.8为外部中断扩展方法,设X1、X2、X3、X4
13、、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 1602液晶显示模块引脚分布(2)引脚功能1602引脚功能如表2.1所示表2.1 1602引脚功能编号符号引脚说明编号符号引脚说明1VSS
14、VSS为地电源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 显示程序流程图如3.12所示图2.12 3直流电机PWM控制系统的实现3.1 总电路图 图3.1 直流电机3.2 总电路功能介绍直流电机PWM调制
15、控制系统具有加速、减速、正转、反转、停止控制功能。操作开关通过中断控制直流电机的加速、减速、正转、反转、停止控制功能,并通过LCD液晶显示。振荡、时钟电路和复位电路由80C51单片机内部给出。直流电机转动速度由LCD液晶显示。操作开关状态由液晶显示器显示。3.3 直流电机控制程序ORG 0000HSJMP DISPLAYORG 0003H LJMP BUTTON 。 外部0中断入口地址ORG 000BHLJMP DINGSHI 。 定时中断T0入口地址RS EQU P3.0RW EQU P3.1E EQU P3.4ORG 0030H 。 此次直流电机的设计以LCD字符夜晶的 。 显示程序为主程
16、序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 。 夜晶显示的字符首地址 MOV R0,#00H 。 脉宽的初值MOV R1,#16 。 SET SPEED PLEASE的字符个数MOV R3,#00HMOV R4,#00HLP
17、9: 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,#0C0HACALL ENABLEMOV DPTR,#MMTABACALL BUSYLP5: MOV A,#00HMOVC A,A+DPTRMOV P1,AINC DPTRACALL
18、 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: CJNE R7,#00H,LP7 。 速度不变时等待LJMP LP8 。 速度变时重新读入速度LP7:SJMP LP4CHUSHI: 。 使夜晶显示的一些初始设置ACALL B
19、USY 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 ENABLEACALL BUSYMOV P1,#80H 。 写入显示起始地址ACALL ENABLE RETENABLE: 。 写入控制命令的子程序SETB ECLR RSCLR RW
20、CLR 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 TR0RETIZ1: MOV TH0,R0 。 脉宽SETB TR0RETI BUTTON: 。 从控制键盘中读取操作命令PUSH ACC CLR EX0CLR EAINC R7 。MOV
21、 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 A,R0SUBB A,#5MOV R0,AAJMP QQQQ: MOV A,R0 MOV B,#5 DIV ABMOV B,#10DIV ABMOV R3,AMOV R4,BSE
22、TB 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 R2,#2DH 。 反转标志 -LCALL DELAYLCALL DELAYLCALL DELAYSETB EX0SETB EAPOP ACCRETIWW0: CLR P0.5
23、。 停止操作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 代码DB 44H,20H,50H,4CHDB 45H,41H,53H,45H STAB: DB 30H,31H,32H,33HDB 34H,35H,36H,37H 。 0,1,2,3
24、,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液晶显示电路能,系统若运行成功将 得到如图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 电机反转时的状态
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1