基于L298芯片PWM控制直流电机的闭环调速系统.docx
- 文档编号:7396253
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:34
- 大小:774.41KB
基于L298芯片PWM控制直流电机的闭环调速系统.docx
《基于L298芯片PWM控制直流电机的闭环调速系统.docx》由会员分享,可在线阅读,更多相关《基于L298芯片PWM控制直流电机的闭环调速系统.docx(34页珍藏版)》请在冰点文库上搜索。
运动控制系统
课程设计
题目:
基于L298芯片PWM控制直流电机的闭环调速系统
院系名称:
电气工程学院
专业班级:
自动1302
学生姓名:
张鹏涛
学号:
201323020219
指导教师:
曹毅
成绩:
指导教师:
日期:
摘要
近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,为满足生产过程自动化系统各种不同的特殊要求,对直流电机调速提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足实际应用的要求,通过PWM方式控制直流电机调速的方法就应运而生。
本论文主要研究了利用MC51单片机控制PWM信号从而实现对电压改变最后控制直流电机进行调速,并且通过单元模块电路分析了整个系统的工作原理。
以C语言进行软件编写,通过软件编程对PWM信号占空比进行调节,单片机根据程序进行操作,进一步控制了H桥电路的输入信号,而测速系统把电机转速反馈给单片机通过按键控制其转速,LCD把转速显示出来,从而实现电动机的调速、变向等功能,这种设计方法的电路简单,具有操作简单、非常实用前景和价值。
关键词:
直流电机;MC51;PWM调速;L298;LCD1602
目录
引言 1
一、调速系统总体设计 2
1.1系统总体设计说明 2
1.2系统总体设计框图 2
二、调速系统的硬件电路的设计与原理 2
2.1基于单片机的电机控制设计 2
2.1.1单片机简介 2
2.1.2单片机在电机控制方面的应用 4
2.2电机驱动电路设计 5
2.2.1驱动电路原理介绍 5
2.2.2驱动电路的专用芯片选用及设计 6
2.2.3调速系统驱动电路设计及分析 7
2.3电机转速采集电路设计 8
2.3.1速度采集的原理及方法 8
2.3.2电机转速采集电路设计 9
2.4显示模块设计 9
2.4.1显示模块的原理与方法 9
2.4.2显示模块电路设计 11
2.5键盘输入模块设计 12
2.5.1键盘输入模块的原理与方法 12
2.5.2键盘输入模块电路设计 12
三、调速系统数字部分的设计与原理 13
3.1PID控制器 13
3.1.1PID控制的原理与方法 13
3.1.2数字PID算法的实现 13
3.2数字测速模块 14
3.2.1数字测速模块的设计思想与算法 14
3.2.2数字测速系统流程图 15
3.312864LCD显示模块 15
3.3.112864LCD显示器的控制方法 15
3.4行列式键盘输入模块 17
3.4.1行列式键盘输入模块的设计思想 17
3.4.2行列式键盘输入模块的程序流程图 18
3.5.PWM调速方法设计 18
3.5.1对PWM控制的介绍 18
3.5.2PWM脉冲的产生 19
3.5.3PWM脉冲产生模块的程序流程图 19
设计心得 20
参考文献 21
附录1(完整电路图) 22
附录2(程序源码) 23
引言
对直流电机转速的控制方法可分为两类:
励磁控制与电枢电压控制。
励磁控制调速法是通过控制磁通,从而控制电机转速。
这类方法,控制功率小;转速较低时,收到磁饱和的限制;当转速较高时,收到换向火花和换向器结构强度的限制;而且,由于励磁线圈存在较大电感,导致了系统动态响应较差。
所以,此法应用较少。
电枢电压控制方式也可分为两种:
一为调节电压,二为调节电流。
过去传统的调速系统是采用模拟电子电路来实现其功能,这种电路优势在于响应快,但是灵活性较差,难易维修。
然而单片机作为一种可编程控制器,已经得到成熟的应用。
本课题设计是以51系列单片机为控制核心,产生占空比由数字PID算法控制的PWM脉冲信号实现对直流电机转速的控制。
同时利用光电编码器将电机转速转换成脉冲信号反馈到单片机中,形成转速闭环控制系统,以达到转速无静差调节。
人机界面采用12864LCD显示器显示电机当前的参数、正反转状态、转速以及运行时间,通过44键盘实现:
数字PID参数设置、电机正反转、加速、减速、启动、停止。
一、调速系统总体设计
1.1系统总体设计说明
本文设计了一个直流电机的调速控制系统,以MC51单片机为控制核心产生PWM信号对直流电机的供电电源进行控制从而达到调速目的。
采用闭环结构实现转速无静差,以软件编程方式实现数字PID,系统可以实现可逆调速,应具备必要的人机界面可对电机转速进行设置,并可以手动调整控制器的PID参数,具备堵转保护等必要的保护手段。
其中总体设计中设计如下模块:
PWM产生及控制、功率放大及驱动电路、电机测速、闭环速度反馈电路、PID控制器、速度显示、键盘控制、保护性电路。
1.2系统总体设计框图
二、调速系统的硬件电路的设计与原理
2.1基于单片机的电机控制设计
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外部数据存储器:
可扩展到64KB;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显示模块存在多种不同的型号与规格,对于不同的规格和型号的液晶显示器而言,它们的控制方法是一样的。
针对本课题的要求,对于所需显示的信息量,在显示模块选择了12864LCD液晶显示器,它主要是由行驱动器、列驱动器以及12864圈点阵液晶显示器组成,既能进行汉字显示(1616)以及图形显示。
12864LCD共有20个引脚,其引脚分布如图2.4-1所示,其引脚功能如表2.4-2所示。
图2.4-2112864LCD液晶显示器模块引脚图
引脚
符号
引脚功能
引脚
符号
引脚功能
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
H:
数据读取;
L:
数据写入
19
A
背光电源(+)
6
E
使能信号。
20
K
背光电源(-)
7-14
DB0-DB7
数据线
有些型号的模块19、20脚为空脚
表2.4-212864LCD液晶显示器模块引脚功能
2.4.2显示模块电路设计
本调速系统的显示模块电路设计如图2.4-3所示。
图2.4-312864LCD液晶显示器模块电路图
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.312864LCD显示模块
3.3.112864LCD显示器的控制方法
在前面的章节已经对12864LCD显示器的引脚分布以及引脚功能做了说明,下面我们来介绍下12864LCD显示器的控制方法。
读状态
D/I
R/W
E
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
1
1
BUSY
0
ON/OFF
RST
0
0
0
0
如果BUSY=1,表示系统正忙,不能操作;只有BUSY=0时,才能操作。
写指令
D/I
R/W
E
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
下降沿
指令
写数据
D/I
R/W
E
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
1
0
下降沿
显示数据
将8位数据写入已确定的显示存储器的单元内。
操作每完成一个列地址,列地址计数器加1.
显示开关设置
D/I
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
1
1
1
1
1
D
当D=1时,开显示;当D=0时,关显示。
显示起始行设置
D/I
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
1
1
显示起始行(0~63)
有上表可知,DB5至DB0为显示起始行的地址,取值在0至3FH(1至64行)之间,它所规定的是显示器屏幕上显示内容的最顶一行所对应的显示存储器的行地址。
3.3.212864LCD显示器的显示子程序流程图
图3.3-2写入1616汉字程序流程图
3.4行列式键盘输入模块
3.4.1行列式键盘输入模块的设计思想
单片机读取行线和列线当前的电平高低,确认是否有按键按下,然后通过内部运算确定键值,输出键值,用于:
改变电机运行状态,12864LCD显示相关参数,设定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与测速模块形成速度闭
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 L298 芯片 PWM 控制 直流电机 闭环 调速 系统
文档标签
- 基于MATLAB直流电机闭环
- 单片机控制闭环直流
- 基于FPGA直流电机PWM
- UC3845电流控制芯片
- 直流电机速度闭环控制系统
- 基于S7300PLCPID闭环控制
- 基于L298芯片PWM
- PWM直流电动机调速控制系统
- 基于ATmega8PWM闭环
- 闭环控制PWM直流调速
- 直流电机闭环调速控制系统
- 基于专用控制芯片
- 基于PWM控制直流电动机
- 基于DSPPWM闭环
- 基于STM32直流电机PWM
- 基于MATLAB直流电机速度
- MATLAB闭环直流调速
- 直流电机闭环反馈MATLAB
- 基于MATLAB闭环直流
- MATLAB分析闭环系统
- 基于MATLAB的直流电动机双闭环调速系统的仿真研究基于MATLAB
- 基于MATLAB的CDMARAKE接收机仿真基于MATLAB