基于单片机的直流电机调速系统的课程设计.docx
《基于单片机的直流电机调速系统的课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的直流电机调速系统的课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
基于单片机的直流电机调速系统的课程设计
一、总体设计概述
本设计基于8051单片机为主控芯片,霍尔元件为测速元件,L298N为直流伺服电机的驱动芯片,利用PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。
二、直流电机调速原理
根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。
但是对于直流电动机的转速,总满足下式:
式中U——电压;
Ra——励磁绕组本身的内阻;
——每极磁通(wb);
——电势常数;
Ct——转矩常数。
由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。
电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。
传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。
随着电力电子的发展,出现了许多新的电枢电压控制法。
如:
由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。
调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:
Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。
平均转速Vd与占空比的函数曲线近似为直线。
三、系统硬件设计
1、调速系统总体分析设计
以单片机作为控制的核心,采用H桥电路芯片L298完成电机驱动主电路,霍尔器件构成速度采集并转换为脉冲电路,PWM模拟发生器,通过LCD显示器输出电机的转速与3*4的键盘组成人机接口电路实现起动、加速、减速、反转、制动的功能。
总体硬件电路设计:
图一:
整体方案框图
2、PWM信号发生电路
PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。
PWM可以应用在许多方面,比如:
电机调速、温度控制、压力控制等等。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。
也正因为如此,PWM又被称为“开关驱动装置”。
如图2-8所示:
图二:
PWM方波
设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为Va=Vmax*D,其中Va指的是电机的平均速度;Vmax是指电机在全通电时的最大速度;D=t1/T是指占空比。
由上面的公式可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。
严格来说,平均速度Vd与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。
3、单元模块设计
㈠驱动主电路模块
功率放大驱动芯片有多种,此次我们所用的芯片为L298主控芯片。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5~46V。
输出
L298N引脚图
电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。
5,7,10,12脚接输入控制电平,控制电机的正反转。
EnA,EnB接控制使能端,控制电机的停转。
在实际运用中由于存在从强电到弱电的连接,为保护电路,L298N的输入端in1和in2都必须采用图中所示的光耦合隔离电路进行隔离。
图中二极管的作用是消除电机的反向电动势,保护电路,因此采用整流二极管比较合适。
PWM控制信号由in1、in2输入。
如果in1为高电平,in2为低电平时电机为正向转速,反之in1为低电平,in2为高电平时,电机为反向转速。
本设计将in2直接接地,即采用单向制动的方式。
如下图三所示:
图三:
L298驱动电路
⑵人机接口电路
1接口电路的扩展
80C51单片机与可编程并行I/O接口扩展接口8155A,该连接可以直接连接而不需要添加任何逻辑器件,其接口电路图如图三所示。
在图中,80C51单片机P0输出的低8位地址不需另加锁存器而直接与8155A的AD0-AD7相连,即作为低八位地址总线又作数据总线。
地址锁存直接用ALE在8155A锁存。
8155A的CE端与P2.7相连,IO/M端与P2.0相连。
当P2.7为低电平时若P2.0=1,访问8155A的I/O口;若P2.0=0,访问8155A的RAM单元,由此可以得到8155A的地址编码如下:
RAM字节地址7E00—7E00H
I/O口地址(命令/状态口7F00H,PA口7F01H,PB口7F02H,PC口7F03H,定时器低八位7F04H,定时器高八位7F05H)
图四:
人机接口电路
2矩阵键盘电路
本设计采用4*3矩阵键盘,它们分别与P1口相连,作为设定速度的输入。
12个按键功能描述:
0~9的10个数字键,next和ok两个功能键。
连接在P1端口进行扫描,ok键就是确认键,功能是将设置好参数后退出设置模式,next键按下后就是将光标切换到下一个要设置的位值。
其电路如图五所示。
图五:
键盘电路
3LCD显示电路与单片机的接口设计
本次设计中采用的LCD12864是一种内置8192个16*16点汉字库和128个16*8点ASCII字符集图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×32全点阵液晶显示器组成。
可完成图形显示,也可以显示7.5×2个(16×16点阵)汉字,与外部CPU接口采用并行或串行方式控制。
本设计采用并行方式控制,LCD与单片机的通讯接口电路如图2.6所示,采用直连的方法,这样设计的优点是在不影响性能的条件下还不用添加其它硬件,简化了电路,降低了成本。
图六:
LCD显示电路与单片机的接口
④按键电路和消除抖动
键盘中按键的开关状态,通过一定的电路转换为高、低电平状态,如图七所示。
按键闭合过程在相应的I/O口形成的一个负脉中,如图八所示。
闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是出于高、低电平之间的一种不稳定状态,称为抖动。
抖动持续时间的长短与开关的机械特性有关,一般在5ms~10ms之间。
为了避免CPU多次处理按键的一次闭合,应采取措施消除抖动。
消除抖动的方法有两种,一种是采用硬件电路来实现,如用滤波电路和双稳态电路等;另一种是利用软件来实现,即当发现有键按下时,延时10~20ms再查询是否有键按下,若没有键按下,说明上次查询结果为干扰或抖动;若有键按下,则说明闭合键已稳定,即可判断其键码。
图七:
按键电路图八
⑤电源模块
线性三端稳压器件7805由于内部电流的限制,以及过热保护和安全工作区的保护,使得它基本上不会损坏。
提供足够的散热片,能够保证输出最大电流为1.5A,电路简单,稳定.调试方便,价格便宜,适合于对成本要求苛刻的产品,电路中几乎没有产生高频或者低频辐射信号的元件,工作频率低,EMI等方面易于控制.并采用磁珠对模拟地与数字地进行隔离,电路如图九所示。
图九:
电源模块
4、速度测量电路设计
速度检测电路是由开关型霍尔传感器和磁钢组成,其电路图如图十所示。
测量电机转速的第一步就是要将电机的转速表示为单片机可以识别的脉冲信号,从而进行脉冲计数。
霍尔器件作为一种转速测量系统的传感器,具有结构牢固、体积小、重量轻、寿命长、安装方便等优点。
当电机转动时,带动传感器,产生对应频率的脉冲信号,经过信号处理后输出到计数器或其他的脉冲计数装置,进行转速的测量。
在本次使用中,我们将霍尔传感器3314固定在离反射式黑白码盘很近的洞洞板上,码盘上固定有微型磁钢,当码盘转动一圈时,霍尔传感器就输出电平信号,经电压比较器lm339放大后输入单片机处理。
所谓磁钢,就是磁钢就是一种有磁性的钢铁。
在传感检测电路中将磁钢安装在电机的转轴上,而霍尔传感器则放在转轴的旁边,霍尔传感器连接在电路中,当磁钢随转轴经过霍尔传感器时,由开关型霍尔传感器的工作原理知,此时将输出一个低电平信号;而当磁钢离开霍尔传感器后,又将输出一个高电平。
这样通过高低电平的转换,将其送入单片机后就可以测量它的转速。
图十:
霍尔传感器部分
5、单闭环调速系统的PI控制模块
采用PI调节器的单闭环转速反馈系统,即保证了动态稳定性,又保证了静态无静差,很好的解决了动静态之间的矛盾。
但电流得不到限制。
电流负反馈虽然能限制启动电流,但在启动时,启动电流仅在某一瞬间达到最大的允许值,其余的时间都比较小启动过程慢。
同时。
他的机械特性较软,不适合调速,想要启动过程尽可能快。
就应使整个启动过程中的电机始终保持最大的启动转矩。
由上述可知,实现理想过程过程的关键是控制电流波形,
图12生产机械工作工程
由图可知,为了达到最佳过渡过程,必须满足:
过渡过程中,尽量能使电枢电流为最大值,过渡过程结束时,尽快使电枢电流达到稳定值。
为了使电枢电流有动态到稳态和由稳态到动态迅速变化,应使Ud突变到最大值,待电枢电流达到要求值欧,在突变到需要值。
四、系统软件设计
1、主程序软件设计
单片机资源分配:
2工作寄存器0组
RO-R700H-07H
数据缓冲区30H-7FH
PSW.4(RS1=0)PSW.3(RS0=0);选中工作寄存器0组
P0口地址80H
P1口地址90H
P2口地址A0H
P3口地址B0H
堆栈(SP)81H
定时器/计数器控制TCON88H
定时器/计数器方式控制TMOD89H
定时器/计数器0低字节TL08AH高字节TH08CH
定时器/计数器1低字节TL18BH高字节TH18DH
中断1——PI采样(ui)
中断0——A/D采样P1口预置W
P0口测量值(实测Y)
主程序:
0000AJMPSTART
START:
CLRPSW.4
CLRPSW.3;选中工作寄存器0组
CLRC
MOVR0,4FH
MOVA,30H
CLEAR1:
CLRA
INCA
DJNZR0,CLEAR1;清零30-7FH
SETBTR0;定时器/计数器0工作
MOVTMODE,#01H;定时器/计数器工作在方式1
SETBEA;总中断开放
SETBIT0;置INTO为降沿触发
SETBIT1;置INT1为降沿触发
LJMPMAIN
LJMPCTCO
LCALLSAMPLE
Fosc=12MHZ,用一个定时器/计数器定时50ms,用R2作计数器,置初值14H,到定时时间后产生中断,每执行一次中断服务程序,让计数器内容减1,当计数器内容减为0时,则到1s。
图十二:
系统主单片机总程序框图
当系统被启动后,主从单片机初始化。
主单片机检测是否有键按下,再执行按键子程序,将输入的值传送到PID控制器,PID控制器经PID计算处理,再计算出PWM的定时值,PID再送出相应的PWM信号,驱动电机转动,主单片机将传感器输入的信号进行计算,再将得出的值输出到PID控制器,PID控制器经计算输出相应的PWM信号控制电机转速趋于设定的转速。
依次循环使电机趋于稳定值。
2、PI控制算法:
PI算法的表达式为:
Ui=Ui-1+Kp(ei-ei-1)+(Kp*T/Ti)*ei
令P=KPI=KP*T/TI
则Ui=Ui-1+P(ei-ei-1)+I*ei
T——采样周期Ti=RnCnKp=Rn/R0
PI控制算法的程序流程图为:
PI程序:
SETBEX1;开放中断1
MOVR0,90H;P1口(W)送R0,预设
MOVR1,80H;P0口(Y)送R1,实测
MOVA,R0;W给A
MOVB,R1;Y给B
SUBBA,B;ei给A
MOV7FH,A;ei给7FH
MOV7EH,#00H;ei-1=0给7EH
MOV7BH,Umax
MOV7AH,Umin
AJMPIN;积分项
AJMPP;比例项
MOVA,R2;Pi给A
ADDA,R3;Pi+Pp给A
MOV7DH,#00H;Ui-1=0给7DH
ADDA,7DH;Ui-1+Pi+Pp=Ui给A
MOV7CH,A;Ui给7CH
MOV7DH,7CH;Ui给Ui-1
MOVA,7BH;Umax给A
CJNEA,#Ui,LOOP2;Ui〉Umax转移
MOVA,#Ui
CJNEA,7AH,LOOP3;UiMOV90H,7CH;输出Ui到P1口
LOOP2:
MOVA,7CH;Ui给A
CLRC
SUBBA,#Umax
RETI
LOOP3:
MOVA,7CH;Ui给A
CLRC
SUBBA,#Umin
RETI
IN:
MOV6FH,#I
MOVA,6FH;I给A
MOVB,7FH;ei给B
MULAB;Pi=I*ei给A
MOVR2,A;Pi给R2
RETI
P:
MOV6EH,#P
CLRC
MOVA,7FH;ei给A
SUBBA,7EH;ei-ei-1给A
MOV7EH,7FH;ei给ei-1
MOVB,6EH
MULAB;(ei-ei-1)*P给A
MOVR3,A;Pp给R3
RETI
3、键盘程序设计
键盘程序设计的任务是赋予各按键相应的功能,完成速度设定值的输入和向STC12C5412AD的PWM控制器控制频率的设定。
4*3矩阵键盘的12个按键两个为功能键,十个为0~9的数值键。
其中功能键NEXT用来位循环选择所要设置的数值位,切换单片机要调整的是设定值的个位、还是十位;功能按键OK用来在设置完成后退出设定状态;数值键0~9用作改变当前参数的作用,仅当在参数设定模式下才会起作用,未在参数设定模式下不会引起误触发;参数设定是实时更新的,每次设定后就反馈到单片机处理,可迅速观察到运行情况,从而实现设定控制。
按键驱动子程序框图如图十四。
软件去抖得方法的是调用去抖延时子程序,这使得显示器进入键输入子程序后始终是亮的,下面为键输入子程序的清单,从该程序返回后输入建好在A中。
KEY1:
ACALLKS1
JNZLK1
AJMPKEY1
LK1:
ACALLT12MS
ACALLKS1
JNZLK2
AJMPKEY1
LK2:
MOVR2,#0FEH
MOVR4,#00H
LK4:
MOVDPTR,#7F01H
MOVA,R2
MOVX@DPTR,A
INCDPTR
MOVXA,@DPTR
JBACC.0,LONE
MOVA,#OOH
AJMPLKP图十四:
键盘程序框图
LONE:
JBACC.1,NEXT
MOVA,#03H
AJMPLKP
LKP:
ADDA,R4
PUSHACC
LK3:
ACALLKS1
JNZLK3
POPACC
RET
NEXT:
INCR4
MOVA,R2
JNBACC.3,KND
RLA
MOVR2,A
AJMPLK4
KND:
AJMPKEY1
KS1:
MOVDPTR,#7F01H
MOVA,#OOH
MOVX@DPTR,A
INCDPTR
MOVXA,@DPTR
CPLA
ANLA,#OOOOO111B
RET
T12MS:
MOVR7,#18H
TM:
MOVR6,#0FFH
TM6:
DJNZR6,TM6
DJNZR7,TM
RET
4、LCD显示子程序的设计
㈠显示程序设计
80C51单片机与ICM7211接口显示程序设计,实现四位速度的显示,千位、百位、十位、个位欲显示的的BCD码放入32H——35H单元;半位(万位0或1)放入30H单元;小数点的控制位放入31H单元。
其软件流程图如图十一所示。
编写的显示子程序为:
LCDDIR:
MOVDPTR,#41OOH;8155初始化
MOVA,#0FH;PA、PB、PC为输出口
MOVX@DPTR,A
MOVR0,#32H
MOVR1,#04H;四位显示
MOVR3,#10H;首位位选字#10H送R3
DIR1:
MOVDPTR,#4101H;指向PA口
MOVA,R3
MOVX@DPTR,A
INCDPTR;指向PB口
MOVA,@RO;BCD码送A(低四位)
SWAPA;BCD码交换高四位
MOVX@DPTR,A;输出BCD码
ACALLTIME;延时2ms
MOVA,R3
RLA;位选字左移一位
MOVR3,A
INCR0
DJNZR1,DIR1
MOVR0,#30H
CJNE@R0,#01H,DIR2
INCDPTR
MOVA,#02H
MOVX@DPTR,A
ACALLTIME
MOVR0,#31H
CJNE@RO,#01H,DIR2
MOVA,#04H图十一:
程序流程框图
MOVX@DPTR,A
ACALLTIME
DIR2:
RET
TIME:
MOVR7,#04H
TM2:
MOVR6,#0FFH
TM1:
DJNZR6,TM1
DJNZR7,TM2
RET
总结
本文所述的直流电机闭环调速系统是以8051单片机为核心的,而通过单片机来实现电机调整又有多种途径,相对于其他用硬件或者硬件与软件相结合的方法实现对电机进行调整,采用PWM软件方法来实现的调速过程具有更大的灵活性和更低的成本,它能够充分发挥单片机的效能,对于简易速度控制系统的实现提供了一种有效的途径。
而在软件方面,采用PID算法来确定闭环控制的补偿量也是由数字电路组成的直流电机闭环调速系统所不能及的。
本次采用比较可靠实用的L298芯片为驱动电路主控芯片,这使我更加了解了这些东西,对我自身的提高有极大的帮助。
课程设计参考资料
[1]赵影.电机与电力拖动[M].北京:
国防工业出版社,2011.
[2]何立民.单片机与嵌入式系统应用[J].基于HCS12的小车智能控制系统设计.2007,(3):
51-53,57.
[3]方建军.何广平.智能机器人[M].北京:
化学工业出版社.2004:
5-9.
[4]张立.电子世界[J].电动小车的循迹.2004,(6):
45.
[6].
[7]徐科军.传感器与检测技术[M].北京:
电子工业出版社,2007:
110-113,160-161.
[8]宋庆环,才卫国,高志,89C51单片机在直流电动机调速系统中的应用[M]。
唐山学院,2008.4
[9]陈 锟 危立辉,基于单片机的直流电机调速器控制电路[J],中南民族大学学报(自然科学版),2003.9.
[10]李维军韩小刚李晋,基于单片机用软件实现直流电机PWM调速系统[J],维普资讯,2007.9
[11曹巧媛.单片机原理及应用[M].北京,电子工业出版社,1997.
[12]朱定华,戴汝平编著.单片机原理与应用[M].清华大学出版社北方交通大学出版社,2003.8.