基于51系列单片机直流电机PWM调速.docx
- 文档编号:9917912
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:16
- 大小:213.76KB
基于51系列单片机直流电机PWM调速.docx
《基于51系列单片机直流电机PWM调速.docx》由会员分享,可在线阅读,更多相关《基于51系列单片机直流电机PWM调速.docx(16页珍藏版)》请在冰豆网上搜索。
基于51系列单片机直流电机PWM调速
第一章直流电动机调速概述
1.1直流电机调速原理
直流电动机根据励磁方式不同,直流电动机分为自励和他励两种类型。
不同励磁方式的直流电动机机械特性曲线有所不同。
但是对于直流电动机的转速有以下公式:
n=U/Cc
-TR/CrCc
其中:
U—电压;
—励磁绕组本身的电阻;
—每极磁通(Wb);Cc—电势常数;Cr—转矩常量。
由上式可知,直流电机的速度控制既可采用电枢控制法,也可采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但低速时受到磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差。
所以在工业生产过程中常用的方法是电枢控制法。
图1-1直流电机的工作原理图
电枢控制是在励磁电压不变的情况下,把控制电压信号加到电机的电枢上,以控制电机的转速。
在工业生产中广泛使用其中脉宽调制(PWM)应用更为广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期“接通”和“断开”时间的长短,即改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
图1-2电枢电压占空比和平均电压的关系图
根据上图,如果电机始终接通电源时,电机转速最大为vmax,占空比为D=
/T,则电机的平均速度为:
,可见只要改变占空比D,就可以得
到不同的电机速度,从而达到调速的目的。
1.2直流调速系统实现方式
PWM为主控电路的调速系统:
基于单片机类由软件来实现PWM,在PWM调速系统中占空比D是一个重要参数在电源电压ud不变的情况下,电枢端电压的平均值取决于占空比D的大小,改变D的值可以改变电枢端电压的平均值从而达到调速的目的。
改变占空比D的值有三种方法:
A、定宽调频法:
保持t1不变,只改变t,这样使周期(或频率)也随之改变。
(图1-2)B、调宽调频法:
保持t不变,只改变t1,这样使周期(或频率)也随之改变。
(图1-2)C、定频调宽法:
保持周期T(或频率)不变,同时改变t1和t。
(图1-2)
前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与
系统的固有频率接近时,将会引起振荡,因此常采用定频调宽法来改变占空
比从而改变直流电动机电枢两端电压。
1.389C51单片机
89C51单片机接口如图1-3所示:
图1-389C51单片机
第二章硬件电路设计
2.1PWM波形的程序实现
随计算机技术及电力电子技术的发展,PWM波形采用软件方法实现显得非常灵活和实用以89C51单片机为控制核心,晶振频率为12MHz定时计数器TO,T1作定时器使用,工作在方式1,定时时间为0.1ms,若PWM波形的频率为50Hz,占空比为1:
1,则和R0载入30H和31H单元的值初始100,若在程序中利用按键产生中断调用来改变30H和31H单元的值就可以改变占空比.系统流程图如图2-1所示:
图2-1程序流程图
2.2直流电动机驱动
在直流电动机的驱动中对大功率的电动机常采用IGBT作为主开关元件,对中小功率的电机常采用功率场效应管作为主开关元件.另外还可以采用集成电路来完成对电机的驱动,系统采用集成电路L298来驱动电机
图2-2L298部结构和功能引脚图
L298是双H高电压大电流功率集成电路.直接采用L逻辑电平控制,可以驱
动继电器、直流电动机、步进电动机等电感性负载。
其部有两个完全相同的功率放大回路。
其部结构和引脚功能如图2-2所示。
L298引脚符号及功能
SENSA、SENSB:
分别为两个H桥的电流反馈脚,不用时可以直接接地
ENA、ENB:
使能端,输入PWM信号
IN1、IN2、IN3、IN4:
输入端,TTL逻辑电平信号
OUT1、OUT2、OUT3、OUT4:
输出端,与对应输入端同逻辑
VCC:
逻辑控制电源,4.5~7VGND:
地
VSS:
电机驱动电源,最小值需比输入的低电平电压高
当使能端为高电平时,输入端IN1为PWM信号,IN2为低电平信号时,电机正转;输入端IN1为低电平信号,IN2为PWM信号时,电机反转;;IN1与IN2相同时,电机快速停止。
当使能端为低电平时,电动机停止转动。
2.3续流电路设计
由于电机具有较大的感性,电流不能突变,若突然将电流切断,将在功率管两端产生很高的电压,损坏器件。
我们在此电路中应用的是二极管来续流,利用二极管的单向导通性。
二极管的选用要根据PWM的频率和电机的电流来决定,二极管要有足够迅速的恢复时间和足够的电流承受能力。
由于电机具有较大的感性,电流如果突变易损坏功率胳即L298芯片。
为保护芯片加上洗续流电路。
电路的工作原理替如图3.7所示。
电路的工作原理:
当电机正转时,若突然掉电,D1、D4导通,D2、D3截止;当电机反转时,突然掉电D2、D3导通,D1、D4截止。
图2-3续流电路工作原理图
第三章软件设计
3.1主程序设计
该主程序主要完成初始化,设置定时常数和中断入口程序,主程序不断的循环处于等待中断状态.
ORG0000H
AJMPSTART
ORG0003H
LJMPINT0;T0中断
ORG000BH
LJMPITT0;T1中断
ORG0030H;系统初始化
START:
MOVSP,#60H;赋初值堆栈指针
MOVR0,#00H;给R0送值0
MOVR1,#00H;给R1送值0
CLRP1.5;置0
CLRP1.6;置0
CLRP1.7;置0
MOVTMOD,#01H;写控制字控制方式
MOVTL0,#0FFH;置定时常数
MOVTH0,#0FFH
SETBEA;允许中断
SETBEX0;允许外部中断0
SETBET0;允许TL0中断
CLRIT0
SETBTR0;启动TL0
3.2数码显数设计
通过P1.1,P1.2口来控制数码,显示通过查表和调用延时实现数的显示
程序代码:
MOVDPTR,#TAB
MOV40H,#0;清0
MOV41H,#0;置0
LED:
SETBP1.1;P1.1置1
CLRP1.2;P1.2清0
MOVA,40H;将40H的容送往A
MOVCA,A+DPTR;查表
MOVP0,A;查表所得A值送往P0口
LCALLTTS;调用延时
CLRP1.1;P1.1清0
SETBP1.2;P1.2置1
MOVA,41H;将41H的容送往A
MOVCA,A+DPTR;查表
MOVP0,A;查表所得A值送往P0口
LCALLTTS;调用延时
CLRP1.2;P1.2口清0
LJMPLED;跳转到LED
ORG2000H
TAB:
DB40H,79H,24H,30H,19H
DB12H,02H,78H,00H,10H
3.3功能程序设计
结束中断后转入相应的功能键程序,为加速、减速、正转、反转、暂停
程序代码:
ITT0:
CPLP1.5;P1.5口取反
JNBP1.5,Z1
MOVA,#0FFH;低电平定时
SUBBA,R0
MOVTH0,A
SETBTR0;启动TL0
RETI
Z1:
MOVTH0,R0;高电平定时
SETBTR0
RETI
INT0:
CLREX0;实现键盘控制
MOVA,#0FFH
MOVP2,A
MOVA,P2
JNBACC.0,JIA
JNBACC.1,JIAN
JNBACC.2,FF
图3-2数码显示流程图图3-3中断子程序流程图
JNBACC.3,ZZ
JNBACC.4,TZ
AJMPCC
JIA:
CJNER0,#0FFH,AA;实现电机加速
AJMPCC
AA:
MOVA,R0
ADDA,#25
MOVR0,A
AJMPCC
JIAN:
CJNER0,#00,BB;实现电机减速
AJMPCC
BB:
MOVA,R0
SUBBA,#25
MOVR0,A
AJMPCC
CC:
MOVA,R0;数码显数
MOVB,#25
DIVAB
MOVB,#10
DIVAB
MOV40H,A
MOV41H,B
SETBEX0
LCALLTTS;调用延时
LCALLTTS;调用延时
LCALLTTS;调用延时
LCALLTTS;调用延时
RETI
FF:
SETBP1.6;电机反传
CLRP1.7
LCALLTTS
LCALLTTS
LCALLTTS
SETBEX0
RETI
ZZ:
CLRP1.6;电机正转
SETBP1.7
LCALLTTS
LCALLTTS
LCALLTTS
SETBEX0
RETI
TZ:
CLRP1.6;实现电机停止
CLRP1.7
LCALLTTS
LCALLTTS
LCALLTTS
SETBEX0
RETI
TTS:
MOVR3,#0E0H;延时子程序
TT1S:
MOVR4,#40H
TT0S:
DJNZR4,TT0S
DJNZR3,TT1S
RET
END
3.4仿真图
在该设计中,利用Proteus软件进行仿真。
仿真结果如图3-4所示:
图3-4仿真图
相应电机的显示如图3-5所示
图3-5仿真结果
3.5仿真结果分析
当仿真开始运行时,各个模块处于初始状态。
点击右边的独立键盘加速或是减速按钮。
显示模块便开始显示数字,然后点击正传或是反转。
电机的驱动模块能够实现电机的正转、反转、加速、减速、停止等操作。
且改变PWM脉冲时的占空比电机的工作电压改变。
因此,从仿真结果可以看出,本设计可以得到预期的仿真效果。
心得体会
通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛。
不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。
在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:
直流电机PWM调速、AT89C51单片机、L289引脚图及其引脚功能等,为本次课程设计提供了一定的资料。
在做课程设计的初期阶段,难度很大,没有头绪。
通过求助于章老师、理清了思路。
同时,在图书馆里、网上查阅资料,攻克了课程设计中的道道难题。
最后经过指导老师章老师的耐心指点和连续的奋战才算基本合格。
办事只要有了头绪,就会简单很多。
本次设计我能独立完成,算是有了很大的收获。
总的感受有以下几方面:
1、通过本次设计,我不但对单片机有了更为深入的了解,对一个课题如何
画流程图,编程序等有了一定的认识。
2、进一步加强了我的动手能力和运用专业知识的能力,从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案。
特别是深刻体会到了软件和硬件结合的重要性,以及两者的联系和配合作用。
3、让我了解到单片机技术对当今人们生活的重要性。
同时这次做课程设计的经历也使我受益匪浅,让我知道做任何事情都应脚踏实地,刻苦努力地去做,只有这样,才能做好。
参考文献
[1]朝青,《单片机原理及接口技术》(简明修订版)[M],航空航天大学,1998[2]广弟,《单片机基础》[M],航空航天大学,1994[3]阎 石,《数字电子技术基础》(第三版)[M],高等教育,1989[4]廖常初,现场总线概述[J],电工技术,1999[5]于永学、建,1-WIRE总线数字温度传感器DS18B20及应用[J],电子产品世界,2003[6]跃东,DS18B20集成温度传感器原理与应用[J],机电学院学报,2002[7]胡振宇、鲁源、杜振辉,DS18B20接口的C语言程序设计[J],单片机与嵌入式系统应用,2002[8]金伟正,单线数字温度传感器的原理与应用[J],电子技术与应用,2000[9]马云峰、子夫、培全,数字温度传感器DS18B20的原理与应用[EB/OL],2000[10]钢,1-Wire总线数字温度传感器DS18B20原理及应用,现代电子技术[J],1994
ADCEQU35H
CLOCKBITP2.4
STBITP2.5
EOCBITP2.6
OEBITP2.7
PWMBITP3.7
ORG00H
AJMPSTART
ORG0BH
LJMPINT_T0
ORG100H
START:
SETBPWM;置位
MOVTMOD,#02H;定时器工作方式选择
MOVTH0,#20;定时器的高八位
MOVTL0,#00H;定时器的低八位
MOVIE,#82H;中断控制
SETBTR0
CLRST
wait:
SETBST
nop
CLRST
JNBEOC,$
SETBOE
MOVADC,P1
CLROE
CLRPWM
MOVA,ADC
LCALLDELAY;调用延时子程序
SETBPWM
MOVA,#0FFH
SUBBA,ADC
LCALLDELAY
SJMPWAIT
INT_T0:
CPLCLOCK
RETI
DELAY:
MOVR5,A
D1:
MOVR6,#30
DJNZR6,$
DJNZR5,D1
RET
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 系列 单片机 直流电机 PWM 调速
![提示](https://static.bdocx.com/images/bang_tan.gif)