基于AT89s52单片机的直流电机多速控制系统的设计Word文件下载.docx
- 文档编号:7533829
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:37
- 大小:340.16KB
基于AT89s52单片机的直流电机多速控制系统的设计Word文件下载.docx
《基于AT89s52单片机的直流电机多速控制系统的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于AT89s52单片机的直流电机多速控制系统的设计Word文件下载.docx(37页珍藏版)》请在冰点文库上搜索。
什么是PWM?
PWM的全称是脉冲宽度调制,简称脉宽调制,它的英文缩写是“PulseWidthModulation”。
这是一种非常实用并且很有效果的一种调制技术,该技术利用了微处理器芯片的数字输出从而来对模拟电路进行全方位的控制,这种技术被广泛的应用于测量,通信,以及功率控制和变换等诸多领域当中。
这种模拟量控制方式,主要是根据相应载荷的变化来调制晶体管当中基极或者栅极的偏置,来实现晶体管的导通时间长短的改变,使用这种控制方式可以保证电源的输出电压在工作条件改变时保持恒定[1]。
PWM脉冲宽度调制方法说到底其实是对模拟信号电平进行数字编码的一种方法。
如果需要对一个具体的模拟信号的电平编码,那我们需要通过高分辨率的计数器进行记录,通过调制方波的占空比的方法来实现。
因为在给定的任一时刻当中,用满幅值的直流电源供电,要么是全有(ON),要么是全无(OFF),所以说到底PWM信号其实仍然是数字信号。
电流源和电压源都是以一种通(ON)或断(OFF)的形势形成重复脉冲序列,然后在模拟加载在负载上的。
通断有两种情形,接通的时候直流供电会被加到负载上,断开的时候供电被断开。
所以,其实任何模拟值我们都可以用PWM方法来进行编码,前提是带宽要足够。
无论是电感性的负载还是电容性的负载,大多数时候,多数的负载所需要的调制频率f都会高于10Hz,所以通常我们把调制的频率定在1kHz到200kHz之间的这个范围之内。
1.3.2调速原理
PWM调制方法其实是通过改变固定的直流电源电压的开关频率f,从而实现负载两端端电压的改变,进而达到对整个系统来进行控制的一种电压调整方法。
在调制系统中,如果我们用PWM来控制,只要我们按一个固定频率f来断开或者接通直流电压源,即改变一个周期中“接通”与“断开”的时间的长短。
通过这种改变电机电枢上的电压的“占空比”的方式我们就能做到调节电压平均值,也就是说可以控制电动机的转速。
综述,PWM调制方法又被我们称为“开关驱动装置”。
如图1.2所示,当电动机在通电时,在脉冲的作用下,电机转动速度相应增加;
当电动机断电时,在脉冲作用下,电机转动速度逐渐减少。
我们可以按照一定的规律,改变通、断电压的时间比,那么直流电动机的平均速度就可以得到控制。
设电机一直接通在电源上时,电机转速最大为Vmax,设占空比为D=t1/T,那么电动机有平均速度为Vd=Vmax*D.式中,Vmax---电机全通电时的最大速度;
Vd---电动机的平均速度;
D=t1/T---占空比。
由以上公式可见,当我们改变占空比D=t1/T时,就可以得到不同时刻的电机平均速度Vd,由此通过这种方法,从而达到调速的目的。
严格的讲,平均速度Vd与占空比D并没有严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。
图1.2PWM波形图
1.3.3实现方法
PWM信号的产生通常有两种方法:
一种是通过软件的方法;
另一种是通过硬件的方法。
由于后一种方法较复杂,对其也难以查证相应资料,操作起来也麻烦。
所以我们可以采用以软件的方法来产生PWM信号,即使用单片机。
单片机AT89S52有两个定时器T0和T1。
通过控制定时器T0和T1,赋以相应的初值,就可以实现从89s52的任意输出口输出不同占空比的脉冲波形。
因为PWM信号软件实现的核心部件是由单片机内部的定时器决定,而不同的单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式也会不同,其定时器的定时初值与定时时间的关系也不同。
因此,首先我们要明确定时器的定时初值与定时时间的关系。
如果单片机的时钟频率为f,定时器/计数器为N位,则定时器初值与定时时间的关系为:
式中,N----一个机器周期的时钟熟;
Tw----定时器定时初值[3]。
N会随着机型的不同而不同。
所以在实际应用中,应根据具体的机型来给出相应的具体值。
这样,我们就可以通过设定不同的定时初值Tw,从而改变占空比D,进而达到控制电机转速的目的。
注:
占空比是高电平所占周期时间与整个周期时间的比值。
1.4设计方案比较与分析
1.4.1电机调速控制模块
方案一:
采用数字电位器或电阻网络调整电动机的分压,从而达到调速的目的。
但是数字电阻的元器件价格比较昂贵,而电阻网络只能实现有级调速。
更主要的问题是一般电动机的电阻很小,但电流却很大;
采用分压的方法不仅会降低效率,而且在实现上相应的也很困难。
方案二:
采用继电器对电动机的开关进行控制,通过开关的切换对电动机的转动速度进行调整。
这个方案的优点是电路相应的较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
这在设计上也是很致命的。
方案三:
采用集成芯片L298N。
L298N是SGS(通标标准技术服务有限公司)公司的产品,内部包含4通道逻辑驱动电路。
是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。
其有稳定性好、控制精度高、响应速度快等优点,使用它和PWM技术可顺利控制驱动电流大小以达到电机速度的调整。
兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。
1.4.2电机测速模块
图1.3霍尔传感器图1.4霍尔效应
使用霍尔传感器。
霍尔传感器是利用霍尔效应(在半导体薄片两端通以控制电流I,并在薄片的垂直方向施加磁感应强度为B的匀强磁场,则在垂直于电流和磁场的方向上,将产生电势差为UH的霍尔电压)实现磁电转换的一种传感器,它具有灵敏度高,线性度好,稳定性高、体积小和耐高温等特点,在机车控制系统中占有非常重要的地位。
对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。
但是他对硬件电路要求也很高。
使用光电码盘。
光电码盘是由光学玻璃制成,在上面刻有许多均匀分布的同心码道,每个码道上都有按一定规律排列的透光和不透光部分。
工作时,码盘随运动物体一起旋转,光投射在码盘上,透过亮区的光经过狭缝后由光敏元件接受,光敏元件的排列与码道一一对应,对于亮区和暗区的光敏元件输出的信号,前者为“1”,后者为“0”,当码盘旋转在不同位置时,光敏元件输出信号的组合反映出一定规律的数字量,代表了码盘轴的角位移。
但其使用相对较麻烦,准确度与反应速度不高。
对软件方面要求也高。
使用光电开关GK105。
光电开关(光电传感器)是光电接近开关的简称,它是利用被检测物对光束的遮挡或反射,由同步回路选择电通路,从而检测物体有无的。
如下图。
GK105的标准用法如下,A端1K、C端10K。
接上电路AT89S52检测到光电管的状态变化,得到信号。
使用它不仅电路简单,而且很实用,反应快,准确度也较高。
兼于方案三测速性能优良、价格便宜、调速范围广、使用简单,因此本设计采用方案三。
图1.5光电开关原理
1.4.3电机速度显示模块
方案一:
使用数码管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
由于本电路要求。
要4位一体的数码管才行,但其硬件电路复杂,且只能显示单纯的数字,不能显示电机运转状态。
方案二:
使用液晶LCD1602.1602是能显示2行,每行16个字符,字符包括英文字符及阿拉伯数字。
但其不能显示汉字。
方案三 :
使用液晶12864.带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;
其显示分辨率为128×
64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×
4行16×
16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块[4]。
兼于方案三显示性能优良、价格适中、使用范围广、使用简单,因此本设计采用方案三。
2.系统硬件电路设计
2.1硬件原理框图
2.2控制模块
单片机选用AT89S52,其与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
功能特性描述
At89s52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程FlashAT89S52。
图2.2单片机引脚图
2.3驱动模块
L298是SGS(通标标准技术服务有限公司)公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路。
且其有控制精度高、稳定性好、响应速度快等优点。
其能很好满足电路设计要求。
如图2.3为其引脚图;
图2.3驱动芯片引脚图
根据L298N的输入输出关系(见表2.1),使能控制端ENA接AT89C52的P2.2口,当P2.2口为高电平时,通过PWM信号输入端IN1和IN2可以控制电动机的正反转(输入端IN1为PWM信号,输入端IN2为低电平,电动机正转;
输入端IN2为PWM信号,输入端IN1为低电平,电动机反转)
;
当它为低电平时,驱动桥路上的4个晶体管全部截止,使正在运行的电动机电枢电流反向,电动机自由停止。
电动机的转速由单片机调节PWM信号的占空比来实现。
表2.1L298的输入输出关系
ENA
IN1
IN2
电机运行情况
H
L
正转
反转
H
IN1
快速停止
X
停止
其基本工作原理为:
IN1、IN2配合可以控制电机的转向,ENA为使能端当设定好电机转向后,对ENA进行高频PWM调制输入,在电枢电感滤波的作用下,电机就可以得到低于电源电压的实际工作电压。
当ENA=1时,电机端电压U=Vs,当ENA=0时,电机通过主开关管的反并联二极管(图中未示出)虚流,实际相当于电机反转在电源两端,电机端电压U=Vs,因此,可以推出,当ENA的占空比为D时,电机实际获得的端电压值为:
U=(2D-1)*Vs。
(而实际上由于电机是消耗电能,因此D<
0.5时是不能工作的)即DC/DC降压电路的传函为:
Us=Vs*(2F(S)-1).
图2.4驱动部分硬件电路图
2.4显示模块
12864简介
FM12864I是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×
64全点阵液晶显示器组成。
可完成图形显示,也可以显示8×
4个(16×
16点阵)汉字。
2.4.1主要技术参数和性能
1.电源:
VDD:
+5V;
模块内自带-10V负压,用于LCD的驱动电压。
2.显示内容:
128(列)×
64(行)点
3.全屏幕点阵
4.七种指令
5.与CPU接口采用8位数据总线并行输入输出和8条控制线
6.占空比1/64
7.工作温度:
-10℃∽+50℃,存储温度:
-20℃∽+70℃
2.4.2外形尺寸
LED12864的外形尺寸及规格如下。
图2.5外形尺寸图
表2.2为12864的部分技术参数数据。
表2.212864技术参数
ITEM
NOMINALDIMEN
UNIT
模块体积
54*50*6.5
mm
视域
43.5*29
行列点阵数
128*64
dots
点距离
0.28*0.35
点大小
0.32*0.39
图2.6为其内部的结构框图。
图2.6结构框图
2.4.3主要功能器件
IC3为行驱动器。
IC1,IC2为列驱动器。
IC1,IC2,IC3含有以下主要功能器件。
了解如下器件有利于对LCD模块之编程[5]。
(1).指令寄存器(IR)
IR是用于寄存指令码,与数据寄存器数据相对应。
当D/I=0时,在E信号下降沿的作用下,指令码写入IR。
(2).数据寄存器(DR)
DR是用于寄存数据的,与指令寄存器寄存指令相对应。
当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。
DR和DDRAM之间的数据传输是模块内部自动执行的。
(3).忙标志:
BF
BF标志提供内部工作情况。
BF=1表示模块在内部操作,此时模块不接受外部指令和数据。
BF=0时,模块为准备状态,随时可接受外部指令和数据。
利用STATUSREAD指令,可以将BF读到DB7总线,从检验模块之工作状态。
(4).显示控制触发器DFF
此触发器是用于模块屏幕显示开和关的控制。
DFF=1为开显示(DISPLAYOFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。
DDF的状态是指令DISPLAYON/OFF和RST信号控制的。
(5).XY地址计数器
XY地址计数器是一个9位计数器。
高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。
X地址计数器是没有记数功能的,只能用指令设置。
Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。
(6).显示数据RAM(DDRAM)
DDRAM是存储图形显示数据的。
数据为1表示显示选择,数据为0表示显示非选择。
DDRAM与地址和显示位置的关系见DDRAM地址表
(7).Z地址计数器
Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。
当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。
Z地址计数器可以用指令DISPLAYSTARTLINE预置。
因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。
此模块的DDRAM共64行,屏幕可以循环滚动显示64行。
图2.712864端口电路接法
2.5测速模块
2.5.1光电开关简介
图2.8光电开关
如图2.8光电开关(光电传感器)是光电接近开关的简称,它是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。
物体不限于金属,所有能反射光线的物体均可被检测。
光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。
安防系统中常见的光电开关烟雾报警器,工业中经常用它来记数机械臂的运动次数。
2.5.2光电开关工作原理
由振荡回路产生的调制脉冲经反射电路后,由发光管辐射出光脉冲。
当被测物体进入受光器作用范围时,被反射回来的光脉冲进入光敏三极管DU。
并在接收电路中将光脉冲解调为电脉冲信号,再经放大器放大和同步选通整形,然后用数字积分或RC积分方式排除干扰,最后经延时(或不延时)触发驱动器输出光电开关控制信号[10]。
光电开关一般都具有良好的回差特性,因而即使被检测物在小范围内晃动也不会影响驱动器的输出状态,从而可使其保持在稳定工作区。
同时,自诊断系统还可以显示受光状态和稳定工作区,以随时监视光电开关的工作。
光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。
它由发光源和受光器两部分组成。
把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。
发光源的引脚为输入端,受光器的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等等。
光电耦合器的种类较多,常见有光电二极管型、光电三极管型、光敏电阻型、光控晶闸管型、光电达林顿型、集成电路型等。
如下图1(外形有金属圆壳封装,塑封双列直插等)。
工作原理在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了电一光一电的转换。
2.5.3光电开关基本工作特性
以光敏三极管为例,1、共模抑制比很高在光电耦合器内部,由于发光管和受光器之间的耦合电容很小(2pF以内)所以共模输入电压通过极间耦合电容对输出电流的影响很小,因而共模抑制比很高。
2、输出特性光电耦合器的输出特性是指在一定的发光电流IF下,光敏管所加偏置电压VCE与输出电流IC之间的关系,当IF=0时,发光二极管不发光,此时的光敏晶体管集电极输出电流称为暗电流,一般很小。
当IF>
0时,在一定的IF作用下,所对应的IC基本上与VCE无关。
IC与IF之间的变化成线性关系,用半导体管特性图示仪测出的光电耦合器的输出特性与普通晶体三极管输出特性相似。
3、光电耦合器可作为线性耦合器使用。
在发光二极管上提供一个偏置电流,再把信号电压通过电阻耦合到发光二极管上,这样光电晶体管接收到的是在偏置电流上增、减变化的光信号,其输出电流将随输入的信号电压作线性变化。
光电耦合器也可工作于开关状态,传输脉冲信号。
在传输脉冲信号时,输入信号和输出信号之间存在一定的延迟时间,不同结构的光电耦合器输入、输出延迟时间相差很大[12]。
2.5.4直流电机测速电路
5V
接收端
发射端
集成光敏晶体
+
10K
1K
-
--
接地
图2.9槽型光耦GK105电路
图2.10电机转速编码装置
如图2.9和图2.10所示,光电对管采用槽型光耦GK105电路由一只特殊的发光二极管和光电三极管构成,当二极管发出的光打在光电三极管的基极B上时三极管CE导通。
而正常情况下二极管的光不能到达光电管的基极上,故通过装在电机转轴上得圆形编码片即可实现对小车的测速。
假设编码片儿有n片个缺口,测得光电三极管的输出脉冲频率为f,则车速=f/n。
图2.11电机转1圈GK105光耦管信号
由图2.11可知,电机每转一圈,假设槽型光耦产生4个脉冲,因此可以利用槽型光耦传感器信号得到电机的实际转速。
为尽可能缩短一次速度采样的时间,则电机的实际转速为:
V=(N/4)*60;
V:
速度R/minN:
每秒采样的脉冲个数
2.5.5速度脉冲信号调理电路
给电机加电让其带动编码盘旋转,将光电对管靠近编码盘,用示波器观测输出脉冲信号的有无与好坏。
信号调理电路主要利用LM324运算放大器设计的比较器,如图2.12所示,调节比较器偏置电压使脉冲最接近于方波且幅度大于3.3V。
为了提高测速的精度,在信号后级添加比较器调理信号为标准的方波,调节比较器运放的偏置电压使方波信号最适合于测速。
图2.12脉冲信号调理电路
2.6整体硬件电路图
见附页
2.7电机闭环检测系统
闭环检测系统是检测输出、计算误差并用以纠正误差的控制系统,其输出会通过某种途径变换后反馈回输入端。
由于上述电机系统在开环状态下,电机系统存在稳态误差,为消除稳态误差,控制器中应包含积分项。
要求电机系统的超调量小,即要求有较大的相角裕度,设计要求超调量小,则控制器拟采用PL控制器,在S域进行控制系统的设计。
经过模拟仿真验证和实际操作,加入了PL调节器的闭环系统在消除了稳态误差,获得抗扰能力的同时,又具有较好的动态性能。
3.系统软件设计
本系统编程部分工作采用KELI-C51语言完成,采用模块化的设计方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89s52 单片机 直流电机 控制系统 设计