基于L298芯片PWM控制直流电机的闭环调速系统方案Word格式文档下载.docx
- 文档编号:20761495
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:31
- 大小:723.64KB
基于L298芯片PWM控制直流电机的闭环调速系统方案Word格式文档下载.docx
《基于L298芯片PWM控制直流电机的闭环调速系统方案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于L298芯片PWM控制直流电机的闭环调速系统方案Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
2.1.1单片机简介
单片机是指CPU、RAM、ROM、定时器/计数器以及基本输入/输出(I/O)接口电路等部件集成在一块芯片上,这样组成的芯片及微型计算机,称之为单片微型计算机,简称为单片微机或单片机。
因为单片机的硬件结构与指令系统都是按工业控制的要求设计制作的,常用作于工业的检测、控制装置中,因此也称作微控制器或嵌入式控制器。
我国目前广泛使用的MCS-51系列单片机,性价比较好,8031、8051都属于51系列。
其部结构包括:
中央处理器、只读存储器、随机存取存储器、并行输入/输出口、定时/计时器、中断系统。
图2.2-1MCS-51单片机的结构框图
MCS-51系列单片机为哈佛结构,就是程序存储器和数据存储器分开,相互独立。
它的性能特点有:
1部程序存储器:
4KB;
2部数据存储器:
128KB;
3外部程序存储器:
可扩展到64KB;
4外部数据存储器:
5输入/输出口线:
32根(4个端口,每个端口8根);
6定时/计数器:
2个16位可编程的定时/计数器;
7串行口:
全双工,2根;
8寄存器区:
在部数据寄存器的128B中划出一部分作为寄存器区,分为4个区,每个区8个通用寄存器;
9中断源:
5个中断源,2个优先级;
10堆栈:
最深128B;
11布尔处理器:
就是处理器,对某些单元的某位做单独处理;
12指令系统(系统时钟为12MHz时):
大部分指令执行时间为1us,少部分指令执行时间为2us,只有乘、除指令的执行时间为4us。
图2.2-2MCS-51单片机的系统结构框图
MCS-51单片机都采用40脚双列直插式封装,40个引脚中有:
2个专用于主电源,2个外接晶振,4跳控制或与其他电源复用的引脚,32个I/O引脚。
2.1.2单片机在电机控制方面的应用
在单片机控制的电机系统中,单片机的输入信号一般是:
用作频率或转速设定的运行指令,用作闭环控制和过电压、过电流保护的电机系统电流、电压反馈量,用于转速、位置闭环控制的电机转速、转角信号,用作缺相或瞬时停电保护的交流电源电压信号等。
从计算机输出地信号主要为:
交流装置功率半导体元器件的触发信号,用于控制输出电压、电流的频率、幅值和相位信号,电机系统的运行和故障状态指示信号,及上位机或系统的通信信号等。
单片机在电机控制系统中实现的主要功能有:
逻辑控制功能,运算、调节和控制功能、自动保护功能、故障检测和实时诊断功能。
电动机系统采用单片机控制具有的优越性:
容易获得高精度的稳态调整性能,可获得优化的控制质量,能方便灵活地实现多种控制策略,提高系统工作的可靠性。
2.2电机驱动电路设计
2.2.1驱动电路原理介绍
在直流电机驱动方面,普遍应用H桥电路来实现对直流电机的调速,如图2.2-1。
图2.2-1H桥驱动电路
由图可知,H桥驱动电路由4个三极管与电机组成,其形状与字母H相似,所以被称为“H桥驱动电路”。
若想要让电机运行,需要导通对角的两个三极管,Q1与Q4或Q2与Q3。
当Q1与Q4导通时,如图2.2-2。
图2.2-2电机顺时针运行
电流从从电源正极流出后,从Q1由左向右流过电机,再从Q4流出回来电源的负极。
此时,电流以从左往右的方向流过电机,从而使电机按顺时针方向运转。
当Q2与Q3导通时,如图2.2-3。
图2.2-3电机逆时针运行
电流从从电源正极流出后,从Q3由右向左流过电机,再从Q2流出回来电源的负极。
此时,电流以从右往左的方向过电机,从而使电机按逆时针方向运转。
2.2.2驱动电路的专用芯片选用及设计
为了使驱动电路更加稳定可靠,并且减少布线,决定采用专用芯片来驱动直流电机工作。
L298N是一款由SGS公司生产的直流电机控制芯片。
它的部包含两个H桥的高电压大电流双全桥式驱动器,接受标准TTL逻辑电平信号,可以驱动46V、2A以下的电机。
以L298N构造组成的PWM功率放大器的工作形式为单级可逆模式,2个H桥的下侧桥晶体管发射极连接在一起。
L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。
5、7、10、12脚接输入控制电平,控制电机的正反转,ENA、ENB接控制使能端,控制电机的停转。
图2.2-4L298部结构图
图2.2-5L298引脚图
2.2.3调速系统驱动电路设计及分析
本调速系统的驱动电路设计如图2.2-6所示。
图2.2-6L298驱动电路
表2.2-1L298输入输出关系表
根据上表可得,当使能控制端ENA为高电平时,将PWM控制信号送至输入端IN1与IN2,便可以控制电动机的正转与反转。
当IN1端为PWM信号,而IN2端为低电平时,电机正转;
当IN2端为PWM信号,而IN1端为低电平时,电机反转。
当IN1端与IN2端都为低电平时,驱动桥路上的4个晶体管均处于截止状态,这样使正在运行的电机的电枢电流反向,电机便自由停止。
当电机正常运行同时,瞬间导通另一组晶体管,将使电机快速停止。
电机的在转速上的调节由单片机产生不同占空比的PWM信号来实现。
2.3电机转速采集电路设计
2.3.1速度采集的原理及方法
本调速系统中由于要将电机当前采样的速度与上次采样的速度进行比较,计算出偏差,然后进行PID运算,因此速度采集电路在整个系统中是不可缺少的。
目前在速度采集技术上主要有以下三种方法:
方法一:
霍尔集成片。
这是由三片霍尔金属板组成的器件,当磁铁正面朝向金属板时,便产生霍尔效应,金属板会产生横向导通的现象。
因此,我们只要把磁片安装在电机上,并将霍尔集成片安装在固定轴上,这样便可以将电机的速度以脉冲的形式检测出来。
方法二:
测速发电机。
将测速发电机与直流电机的转轴相连,当直流电机运转时,带动测速发电机一起转动,此时测速发电机会产生大小取决于电机转速的感应电动势。
方法三:
光电编码器。
这是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。
将上诉三种方法进行比较,由于高性能的霍尔元件较难购置,且成本较高,所以不采用方法一。
测速发电机虽然采样精度较高,但是其实际的安装电路较复杂,而且成本也是三者中最高的,所以也不予采用。
因此,本课题将采用方法三:
光电编码器来作为电机转速采集模块的传感器。
光电编码器由光栅盘和光电检测装置组成。
光栅盘是在一个一定直径的圆板上等分地裁剪出若干个长方形孔如图2.3-1(a)所示。
光电码盘与电机同轴,当电机运转时,光栅盘与电机一起转动,经发光二极管等电子器件组成的检测装置检测的脉冲信号。
再通过计算一个周期光电编码器输出的脉冲数,从而得到当前电机的转速如图2.3-1(b)所示。
而且,编码盘还可提供相位相差
的两路脉冲信号来判断旋转方向。
(a)(b)
图2.3-1光电编码器原理图
2.3.2电机转速采集电路设计
图2.3-2测速模块电路图
2.4显示模块设计
2.4.1显示模块的原理与方法
为了使调速系统能让人更直观地观察到电机在调速期间的运行状况,所以,显示模块是不可缺少的。
目前在显示模块主要有以下三种方式:
LED数码管显示器。
是由发光二极管作为发光单位制作而成。
通过控制输入显示器的段码信号来控制显示器。
其显示接口电路分为静态显示和动态显示两种。
液晶显示器LCD。
其分为点阵型与字符型两种,点阵型液晶可显示图形和文字,字符型液晶只能显示字符。
将上诉两种方法进行比较,LED数码管显示器虽然在控制方面较为简单,但是占用的资源较多,且无法显示本课题所需的信息量,所以方法一不予采用。
液晶显示器LCD因其功耗小、体积小等特点,且符合本课题要求,所以予以采用。
LCD显示模块存在多种不同的型号与规格,对于不同的规格和型号的液晶显示器而言,它们的控制方法是一样的。
针对本课题的要求,对于所需显示的信息量,在显示模块选择了128
64LCD液晶显示器,它主要是由行驱动器、列驱动器以及128
64圈点阵液晶显示器组成,既能进行汉字显示(16
16)以及图形显示。
128
64LCD共有20个引脚,其引脚分布如图2.4-1所示,其引脚功能如表2.4-2所示。
图2.4-21128
64LCD液晶显示器模块引脚图
引脚
符号
引脚功能
1
VSS
电源地
15
CS1
CS1=1芯片选择左边64*64点
2
VDD
电源正+5V
16
CS2
CS2=1芯片选择右边64*64点
3
VO
液晶显示驱动电源
17
/RST
复位(低电平有效)
4
RS
H:
数据输入;
L:
指令码输入
18
VEE
LCD驱动负电源
5
R/W
数据读取;
数据写入
19
A
背光电源(+)
6
E
使能信号。
20
K
背光电源(-)
7-14
DB0-DB7
数据线
有些型号的模块19、20脚为空脚
表2.4-2128
64LCD液晶显示器模块引脚功能
2.4.2显示模块电路设计
本调速系统的显示模块电路设计如图2.4-3所示。
图2.4-3128
64LCD液晶显示器模块电路图
2.5键盘输入模块设计
2.5.1键盘输入模块的原理与方法
由于本直流电机调速系统要求通过按键形式对直流电机进行相应控制,包括:
正转、反转、加速、减速、停止、启动以及PID控制器的参数设定。
所以按键输入模块是本系统的人机界面部分至关重要的一部分。
目前在键盘输入模块主要有以下两种方法:
独立式键盘。
每个键占用一个I/O口。
其优点是结构简单、使用方便,缺点是所占用端口资源较多。
行列式键盘。
行列式键盘由行线跟列线组成。
以对行线和列线进行扫描的方法来确认键值。
其优点是在键盘较多的情况下,占用的I/O口资源较少,缺点是相对于独立式键盘而言,结构较复杂。
将上诉两种方法进行比较,本课题要求完成电机的加速、减速、启动、停止、正反转控制,以及对P、I、D三项参数的设定,所以所需的按键较多。
若采用独立式键盘势必占用大量的I/O口资源,所以方法一不予以采用。
而行列式恰好满足了本课题的要求,所以采用方法二。
2.5.2键盘输入模块电路设计
本调速系统的显示模块电路设计如图2.5-1所示。
图2.5-1行列式键盘输入模块电路图
三、调速系统数字部分的设计与原理
3.1PID控制器
3.1.1PID控制的原理与方法
对于一个控制系统,通常要求其具有快速性、稳定性的品质和性能指标,本课题为了提高调速系统对直流电机在速度运行的上述要求,将采用转速闭环系统来对本直流电机调速进行优化,并采用数字PID控制器来实现电机的无静差运行。
图3.1-1PID控制器的原理框图
增益常数(系数)
上升时间
过冲
建立时间
稳态误差
Kp
减少
增大
很小变化
减小
KI
增加
消除
KD
图3.1-2积分(I)和比例积分(PI)控制阶跃响应
3.1.2数字PID算法的实现
在单片机的应用中,可选用的控制方法其实很多,但最常用的还是数字PID算法。
通过最优控制理论可以证明,PID控制能够满足非常多工业控制对象的控制要求。
PID算法也存在多种算法,如位置式PID算法、增量式PID算法等。
本课题的直流电机调速系统采用的核心算法是增量式PID算法,它是根据本次采样的数据与设定值进行比较,求出误差
,然后通过P、I、D用算,一步步逼近设定值,最终输出运算结果来控制PWM脉冲的占空比来调节直流电机两端的电压值,从而达到控制点自己转速的作用。
增量式PID算法公式为:
数字增量式PID程序的流程如图3.1-4所示:
图3.1-4数字增量式PID程序流程图
3.2数字测速模块
3.2.1数字测速模块的设计思想与算法
单片机接收从光电编码器的脉冲,然后进行数字运算,计算出当前电机转速,最后将转速值传送给LCD显示与PID控制模块。
如图3.2-1所示
图3.2-1数字测速模块设计思想
利用单片机的外部中断来记录脉冲数。
每当编码器旋转一周记为一个脉冲,由脉冲触发外部中断,累计外部中断的次数,除以编码盘上的总开口数,便可得到编码器旋转地圈数。
再利用单片机的定时器,利用软件定时产生1秒的定时时间,在1秒定时时间到达时,所记录的外部中断发生中断的次数,便是电机的转速(r/s)。
转速计算公式:
3.2.2数字测速系统流程图
(a)(b)(c)
图3.2-2(a)系统主程序流程图(b)外部中断流程图(c)定时器中断流程图
3.3128
64LCD显示模块
3.3.1128
64LCD显示器的控制方法
在前面的章节已经对128
64LCD显示器的引脚分布以及引脚功能做了说明,下面我们来介绍下128
64LCD显示器的控制方法。
读状态
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
BUSY
ON/OFF
RST
如果BUSY=1,表示系统正忙,不能操作;
只有BUSY=0时,才能操作。
写指令
下降沿
指令
写数据
显示数据
将8位数据写入已确定的显示存储器的单元。
操作每完成一个列地址,列地址计数器加1.
显示开关设置
D
当D=1时,开显示;
当D=0时,关显示。
显示起始行设置
显示起始行(0~63)
有上表可知,DB5至DB0为显示起始行的地址,取值在0至3FH(1至64行)之间,它所规定的是显示器屏幕上显示容的最顶一行所对应的显示存储器的行地址。
3.3.2128
64LCD显示器的显示子程序流程图
图3.3-2写入16
16汉字程序流程图
3.4行列式键盘输入模块
3.4.1行列式键盘输入模块的设计思想
单片机读取行线和列线当前的电平高低,确认是否有按键按下,然后通过部运算确定键值,输出键值,用于:
改变电机运行状态,128
64LCD显示相关参数,设定PID参数。
如图3.4-1所示。
图3.4-1键盘输入模块设计思想
行列式键盘编程要实现以下三个目标:
键的正确判断。
先使某行值为“0”。
再读取列值,如果读取得到的列值是“0”,则说明所在行和列的交叉处的键被按下。
键去抖动。
当扫描到有键按下时,延时10ms再判断该键是否仍是按下的,若不是,则将它当做误操作处理。
这样可以有效对按键动作进行消抖。
键值确定。
根据行号、列号建立一个键值数据表,键值存于数据表中,当相应的按键按下时,再从中取键值。
通过相应的键值执行其对应的代码。
3.4.2行列式键盘输入模块的程序流程图
图3.4-2行列式键盘程序流程图
3.5.PWM调速方法设计
3.5.1对PWM控制的介绍
由电机原理可得一下公式:
(5-1)
在确定的调速系统中,I、R、K及φ都是确定,则由式(5-1)可知,转速n与直流电机的电枢电压存在一定关系,只要调节点数电压U,就能改变转速n,此法称为调压调速法。
由于全空性功率电子器件的逐步发展,PWM控制技术与开关功率电路已经成为主流技术,以其能减小功率器件导通损耗、提高驱动效率等优点,所以在功率应用方面已经基本取代了现行功率放大电路。
在PWM控制技术中,让功率器件按一个固定频率工作在“开”与“关”两个状态,即开关饱和和导通状态。
通过这种方式来改变公路器件的驱动脉冲信号的通、断的时间,来改变负载两端的平均电压的大小。
当这个负载为直流电机时,就实现了电机的调压调速。
下面举例说明下,PWM的工作原理,如下图所示:
图3.5-1PWM波形图
设T为脉冲的周期,t1为电枢两端高电平时电压为Ud所用的时间,α为占空比,得:
因此,我们可得电枢两端电压的平均值:
若电压幅值
,周期
,脉宽
,
则占空比
,得:
电枢两端的平均电压
。
3.5.2PWM脉冲的产生
单片机的PWM口。
新一代的单片机增加了许多功能,其中包括PWM功能。
在这些单片机中我们只要通过初始化设置,就能使其PWM输出口自动输出PWM脉冲波,只有在改变占空比时CPU才进行干预。
本设计采用定时器0设置周期计数,若计数到100归零,主函数中可以根据计数值控制引脚高低电瓶所占比,即控制电机占空比。
3.5.3PWM脉冲产生模块的程序流程图
图3.5-6PWM脉冲程序流程图
设计心得
本设计对基于L298芯片PWM控制直流电机的闭环调速系统做了一个粗浅的探讨。
它是以51系列单片机为控制核心,加上一定量的外围电路,通过L298驱动芯片完成对直流电机的驱动,通过PWM脉冲波完成对直流电机的调速,通过数字PID与测速模块形成速度闭环系统完成对直流电机的无静差调节。
并通过人机界面,完成对电机运行的参数设置,且直观地观察电机的运行状态。
在整个设计过程中遇到了很多问题,我通过寻找书籍以及网络资料进行改善与解决,该系统还存在不足之处有待改善。
鉴于本水平有限,有不对之处,望包涵,多多指教。
参考文献
[1]强等.基于单片机的电动机控制技术[M].:
中国电力出版
[2]谷腰欣司等.直流电动机实际应用技巧[M].:
科学出版
[3]伟.PWM技术在电机驱动控制中的应用[D].:
工业大学电子与通信工程专业
[4]千帆,寇宝泉.电机控制集成电路的选用:
第五讲直流电机PWM控制芯片UC3637的选用[J].微电机
[5]余建国.基于单片机的步进电动机调速的控制方法[J].产品与技术系统&
装置.电器时代2006
[6]薛英杰.用于单相电机调速的单片PWM控制技术[A].伺服技术
附录1(完整电路图)
附录2(程序源码)
#include<
reg51.h>
lcd12864.h>
#defineGPIO_KEYP1//定义矩阵键盘端口
#defineuintunsignedint
uint
duty=0.3;
//占空比a(0~1)
intnum;
sbitMOTOR_1=P2^5;
sbitMOTOR_2=P2^6;
sbitEN_MOTOR=P2^7;
intchange=1;
//电机正反转1:
正转2:
反转
intTarSpd=0;
//真实速度
intCurSpd=0;
//测量速度
intstop_flag=0;
//停车标志位
intspeed_count=0;
//计数,20次为1s
intnum_medium;
//脉冲个数
intnum_display;
//脉冲个数(使用)
e0,e1,e2,kp,ki,kd,vpa;
voidDelay10ms();
//延时10ms
voidKeyDown();
//检测按键函数
void
motor_control();
charKeyValue=0;
//键值1~16
voidmain(void)
{
IT0=0;
//外部中断0采用电平触发方式;
边沿触发为1下降沿有效
TMOD=0x01;
TH0=(65536-20)/256;
TL0=(65536-20)%256;
TH1=(65536-50000)/256;
//50ms
TL1=(65536-50000)/256;
EA=1;
ET0=1;
TR0=1;
ET1=1;
TR1=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 L298 芯片 PWM 控制 直流电机 闭环 调速 系统 方案
![提示](https://static.bdocx.com/images/bang_tan.gif)