随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义.长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位,这主要是因为直流电机不仅调速方便,而且在磁场一定的条件下,转速和电枢电压成正比,转矩容易被控制;同时具有良好的起动性能,能较平滑和经济地调节速度。因此采用直流电机调速可以得到良好的动态特性。由于直流电动机具有优良的起、制动性能,宜于在广泛范围内平滑调速。在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。近年来交流调速系统发展很快,然而直流控制系统毕竟在理论上和在时间上都比较成熟,而且从反馈闭环控制的角度来看,它又是交流系统的基础,长期以来,由于直流调速系统的性能指标优于交流调速系统。因此,直流调速系统一直在调速系统领域内占重要位置。
1.2功能 本文介绍了基于AT89C52单片机来实现最优PID控制的直流脉冲(PWM)调速系统,并且详细论述了该系统的控制方法、结构、参数设计、程序设计等方面的问题。该系统结构简单,调速性能好,性能价格比高,真正实现了直流调速系统的高精度控制。
本设计是基于单片机控制的PWM直流电机调速系统,系统以AT89C52单片机为核心,以2A、1000r/min小直流电机为控制对象,L298N为H桥驱动芯片实现速度、电流反馈双闭环。采用PID控制算法,调节PWM 占空比从而控制电机两端电压,以达到调速的目的。用4*3键盘输入有关控制信号及参数,可以实现电机的启制动、正反转、速度调节。并在4位LED上实时显示输入参数及动态转速。
第二章 系统硬件电路的设计
2.1 系统总体设计
2.1.1 系统总体设计框图本设计的任务是基于单片机控制的PWM直流电机调速系统,系统以单片机为核心,以小直流电机为控制对象,实现速度、电流反馈双闭环、采用PID控制算法。方便的人机对话接口,用键盘输入有关控制信号及参数,可以实现电机的启制动、正反转、速度调节。并在LED上实时显示输入参数及动态转速。因此整个系统大致包括五部分:单片机、显示电路、键盘电路、驱动电路、检测电路。【1】
根据设计任务,提出如图2.1所示的硬件电路组成框图。
图2.1
2.1.2单片机的选择及其简介本设计选用了AT89C52单片机【2】,下面对它进行介绍。图2.2给出了At89C52的芯片引脚结构。
at89c52单片机是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的Flash只读程序存储器和256bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容。功能强大的at89c52单片机适合于许多较为复杂的控制应用场合。
(1)At89C52 主要性能参数
①与Mcs-51产品指令和引脚完全兼容。
②8字节可重擦写FLASH闪速存储器
③1000 次擦写周期
④全静态操作:0HZ-24MHZ
⑤三级加密程序存储器
⑥256X8字节内部RAM
⑦32个可编程I/0口线
⑧3个16 位定时/计数器
⑨8个中断源
⑩可编程串行UART通道、低功耗空闲和掉电模式
(2)At89C52功能特性
AT89C52 提供以下标准功能:8字节FLASH闪速存储器,256字节内部RAM , 32个I/O口线,3个16 位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89c52可降至OHz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器.串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.
图2.2 AT89C52引脚图
(3)At89C52部分引脚功能说明
①XTAL1:片内晶振电路反相放大器的输入端.
②XTAL2:片内晶振电路反相放大器的输出端。
③P0:P0口是一组8位漏极开路型双向I/O 口,即地址/数据总线复用口。作为输出口用时.每位能以吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH中编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
④P1口:P1 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流。与AT89C51不同之处是,Pl.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(Pl.0/T2 )和外部触发输入(P1.1/T2EX) , FLASH编程和程序校验期间,Pl接收低8位地址。
⑤P2口:P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvx@DPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
FLASH编程或校验时,P2亦接收高位地址和一些控制信号。
⑥P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。
P3口除了作为I/0口线外,更重要的用途是它的第二功能,如表2.1所示。
此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。⑦RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
表2.1
端口引脚 | 第二功能 |
P3.0 | RXD(串行输入口〕 |
P3.1 | TXD(串行输出口〕 |
P3.2 | INTO(外中断0〕 |
P3.3 | INTO(外中断l) |
P3.4 | TO (定时/计数器0 ) |
P3.5 | Tl (定时/计数器l ) |
P3.6 | WR(外部数据存储器写选通) |
P3.7 | RD(外部数据存储器读选通) |
⑧ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节.一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位.可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
⑨PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
⑩EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地).需注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端), CPU则执行内部程序存储器中的指令。
flash存储器编程时,该引脚加上+12V的编程允许电源VPP ,当然这必须是该器件是使用12V编程电压VPP 。
(4)AT89C52特殊功能寄存器
在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE ) 。并非所有的地址都被定义,从80H-FFH共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数位将不确定,而写入的数据也将丢失。
不应将数据"1"写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能。在这种情况下,复位后这些单元数值总是“0”。
(5)AT89C52 单片机扩展电路及分析
AT89C52 提供以下标准功能:8字节FLASH闪速存储器,256字节内部RAM , 32个I/O口线,3个16 位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。由于AT89C52具有256字节内部RAM。 对本设计已经足够使用,因此不需要再扩展外部数据存储器。但本设计需外扩I/O接口,因此采用8255扩展外部I/O口。因为单片机的P0口是数据总线和低八位地址线共用的,所以需要使用地址锁存器74HC373。由此将P0口地址送于74HC373锁存,以便下一时刻,P0口传送数据。
2.1.3 其他芯片简介2.1.3.18255的简介【3】
8255是一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.它具有24个可编程设置的I/O口,即3组8位的I/O口,为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定。图2.3给出了8255芯片引脚结构.
8255引脚功能
① RESET:复位输入线,当该输入端外接高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
图2.3 8255引脚图
② CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
③ RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
④ WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
⑤ D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
⑥ PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。
⑦ PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。
⑧ PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。8255 有4 个内部缓存器,分别是A 端口缓存器、B 端口缓存器、C 端口缓存器及控制缓存器。
当微电脑要读写8255 的内部缓存器时,必须利用A1 及A0 指定要对那一个暂器进行读写 动作。下表为A1、A0 配合RD、WR及CS 的控制状态表。
表2.2
A1 | A0 | RD | WR | CS | 操作情形 |
0 | 0 | 0 | 1 | 0 | A 端口数据送到总线 |
0 | 1 | 0 | 1 | 0 | B 端口数据送到总线 |
1 | 0 | 0 | 1 | 0 | C 端口数据送到总线 |
0 | 0 | 1 | 0 | 0 | 总线数据存入A 端口 |
0 | 1 | 1 | 0 | 0 | 总线数据存入B 端口 |
1 | 0 | 1 | 0 | 0 | 总线数据存入C 端口 |
1 | 1 | 1 | 0 | 0 | 总线数据存入控制缓存器 |
× | × | × | × | 1 | 总线呈高阻抗 |
1 | 1 | 0 | 1 | 0 | 错误操作 |
× | × | × | 1 | 0 | 总线呈高阻抗 |
2.1.3.2 74HC373简介【4】
373为三态输出的八 D 透明锁存器,共有 54/74S373 和 54/74LS373 两种线路结构型式。
74HC373其主要电器特性的典型值如下(不同厂家具体值有差别):
型号 tPd PD
54S373/74S373 7ns 525mW
54LS373/74LS373 17ns 120mW
373 的输出端 O0~O7 可直接与总线相连。当三态允许控制端 OE 为低电平时,O0~O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。
图2.4给出了74HC373芯片引脚结构。
图2.4 74HC373引脚图
2.1.3.3L298N简介【5】
L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。
图2.5是L298N内部结构图
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46 V。输出电流可达2.5 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,如图2.7此装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接PWM端,控制电机的速度。表2.3是L298N功能逻辑图。
图2.5
表2.3
In3,In4的逻辑图与表1.3相同。由表2.3可知EnA为低电平时,电机停止运行,当EnA为PWM时,输入电平为一高一低,电机正或反转。同为低电平电机停止,同为高电平电机刹停。下图是其引脚图:
图2.6
图2.7
图2.8为采用内部集成有两个桥式电 路的专用芯片L298所组成的电机驱动电路。驱动芯片L298是驱动二相和四相步进电机的专用芯片,我们利用它内部的 桥式电路来驱动直流电机,这种方法有一系列的优点。每一组PWM波用来控制一个电机的速度,而另外两个I/O口可以控制电机的正反转,控制比较简单,电路也很简单,一个芯片内包含有8个功率管,这样简化了电路的复杂性,如图所示IOB10、IOB11控制第一个电机的方向,IOB8输入的PWM控制第一个电机的速度;IOB12、IOB13控制第二个电机的方向,IOB9输入的PWM控制第二个电机的速度。
图2.8
2.1.3.4 AD574简介【6】
AD574A 是美国模拟数字公司(Analog)推出的单片高速 12 位逐次比较型 A/D 转换器,内置双极性电路构成的混合集成转换芯片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容器件即可构成一个完整的 A/D 转换器.
AD574是一种常用的12位AD变换芯片,也可以实现8位转换。有两个模拟信号输入端,分别为10V输入端和20V输入端,各自都既允许单极性输入,也允许双极性输入。但芯片本身是单路工作,只允许一个模拟信号输入端接入信号。它可以和16位CPU相连接,也可以和8位CPU相连接。只需要适当的改变某些控制引脚的接法。AD574可以通过简单的三态门 、锁存器接口与微机的系统总线相连接,也可以通过编程接口与系统总线相连接。采用查询STS状态可判断变换是否完成。
AD574A主要功能特性如下:
①分辨率:12位
②非线性误差:小于±1/2LBS或±1LBS
③转换速率:25us
④模拟电压输入范围:0—10V和0—20V,0—±5V和0—±10V两档四种
⑤电源电压:±15V和5V
⑥数据输出格式:12位/8位
⑦芯片工作模式:全速工作模式和单一工作模式
图2.9 AD574引脚图
AD574A的引脚结构如图2.9。
[1]. Pin1(+V)——+5V电源输入端。
[2]. Pin2(12/8 )——数据模式选择端,通过此引脚可选择数据纵线是12位或8位输出。
[3]. Pin3(CS )——片选端。
[4]. Pin4(A0)——字节地址短周期控制端。与 端用来控制启动转换的方式和数据输出格式。须注意的是, 端TTL电平不能直接+5V或0V
连接。
[5]. Pin5(R/C)——读转换数据控制端。
[6]. Pin6(CE)——使能端。
[7]. Pin7(V+)——正电源输入端,输入+15V电源。
[8]. Pin8(REF OUT)——10V基准电源电压输出端。
[9]. Pin9(AGND)——模拟地端。
[10]. Pin10(REF IN)——基准电源电压输入端。
[11]. Pin(V-)——负电源输入端,输入-15V电源。
[12]. Pin1(V+)——正电源输入端,输入+15V电源。
[13]. Pin13(10V IN)——10V量程模拟电压输入端。
[14]. Pin14(20V IN)——20V量程模拟电压输入端。
[15]. Pin15(DGND)——数字地端。
[16]. Pin16—Pin27(DB0—DB11)——12条数据总线。通过这12条数据总线向外输出A/D转换数据。
[17]. Pin28(STS)——工作状态指示信号端,当STS=1时,表示转换器正处于转换状态,当STS=0时,声明A/D转换结束,通过此信号可以判别A/D转换器的工作状态,作为单片机的中断或查询信号之用。
AD574工作时序的控制功能状态表。
表 2.4
2.1.3.5 LF398简介
LF398是一种反馈型采样保持放大器,也是目前较为流行的通用型采样保持放大器。与LF398结构相同的还有LF198/LF298等,都是由场效应管构成,具有采样速度高,保持电压下降慢和精度高等特点。
当作为单一放大器时,LF398直流增益精度为0.002%,采样时间小于6us时精度可达0.01%;输入偏置电压的调整只需在偏置端(2脚)调整即可,并且在不降低偏置电流的情况下,带宽允许1MHz,其主要技术指标有:
1、工作电压:+5--+18V
2、采样时间:<10us
3、可与TTL、PMOS、CMOS兼容
4、当保持电容为0.01uF时,典型保持步长为0.5mV
5、低输入漂移,保持状态下输入特性不变
6、在采样或保持状态时高电源抑制
下图为集成采样/保持器--LF398引脚图。
图2.10 LF398引脚图 图2.11 CS3020外形图
2.1.3.6 3020T简介
霍尔传感器【7】是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。如图2.11所示是CS3020的外形图,将有字面对准自己,三根脚从左右
分别是Vcc,地,输出。
使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以[url=]实现[/url]旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。
这种传感器不怕灰尘、油污,在工业现场应用广泛。
2.1.3.7 CS040G简介
CS040G系列霍尔电流传感器
应用霍尔效应开环原理的电流传感器,能在电隔离条件下测量直流、交流、脉冲以及各种不规则波形的电流。
结构参数(mm):
图2.12
引脚说明:
1:+ 15V
2:0V(电源地)
3:Vout
4:-15V
表2.5结构参数
| 型号 | CS010G | CS020G | CS030G | CS040G |
|
IPN | 原边额定输入电流 | 10 | 20 | 30 | 40 | A |
IP | 原边电流测量范围 | 0~±20 | 0~±40 | 0~±60 | 0~±80 | A |
VSN | 副边额定输出电压 | 1±1% | V |
VC | 电源电压 | ±12~±15(±5%) | V |
IC | 电流消耗 | VC=±15V < 20 | mA |
Vd | 绝缘电压 | 在原边与副边电路之间2 .5KV有效值/50Hz/1分钟 |
|
εL | 线性度 | ≤1 | %FS |
V0 | 零点失调电压 | TA=25℃ <±30 | mV |
VOM | 磁失调电压 | IPN→0 <±20 | mV |
VOT | 失调电压温漂 | IPN=0 TA=–25~+85℃ < ±1 | mV/℃ |
Tr | 响应时间 | ≤3 | μs |
f | 频带宽度(-3dB) | DC~20 | kHz |
TA | 工作环境温度 | –25~+85 | ℃ |
TS | 贮存环境温度 | –40~+100 | ℃ |
RL | 负载电阻 | TA=25℃ ≥10K | Ω |
使用说明
1.传感器按结构图说明接线,当待测电流从传感器穿芯孔中穿入,即可从输出端测得与被测电流一一对应的电压值。(注:错误的接线可能导致传感器的损坏)
2.根据用户需求定制不同额定输入电流和输出电压的传感器。
3.传感器的输出幅度可根据用户需要进行适当调整。
2.2 PWM信号发生电路设计2.2.1 PWM的基本原理直流电机脉冲宽度调制(Pulse Width Modulation-简称PWM)【8】调速产生于20 世纪70 年代中期,最早用于自动跟踪天文望远镜、自动记录仪表等的驱动,后来由于晶体管器件水平的提高及电路技术的发展, PWM 技术得到了高速发展,各式各样的脉宽调速控制器,脉宽调速模块也应运而生,许多单片机也都有了PWM输出功能。而MCS-51 系列单片机作为应用最广泛的单片机之一,却没有PWM 输出功能,本文采用定时器配合软件的方法实现了MCS-51单片机的PWM输出调速功能,这对精度要求不高的场合是非常实用的。
理论基础:
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。
图2.13 形状不同而冲量相同的各种窄脉冲
面积等效原理:
分别将如图2.13所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图2.14a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图2.14b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应i(t)也是周期性的。用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。
图2.14 冲量相同的各种窄脉冲的响应波形
用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。
SPWM波形——脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。
要改变等效输出正弦波幅值,按同一比例改变各脉冲宽度即可。
PWM电流波: 电流型逆变电路进行PWM控制,得到的就是PWM电流波。
SPWM波:等效正弦波形,还可以等效成其他所需波形,如等效所需非正弦交流波形等,其基本原理和SPWM控制相同,也基于等效面积原理
2.2.2 PWM信号发生电路设计采用定时器及软件编程输出PWM。用单片机控制H桥芯片使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。
本设计采用H桥驱动芯片L298N来实现PWM电机调速。
图2.15 用PWM波代替正弦半波
2.2.3 H桥芯片的工作原理【9】
图2.16中所示为一个典型的直流电机控制电路。电路得名于“H桥式驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠(注意:图2.16及随后的两个图都只是示意图,而不是完整的电路图,其中三极管的驱动电路没有画出来)。
如图2.16所示,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
要使电机运转,必须使对角线上的一对三极管导通。例如,如图2.17所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。
当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。
图2.16 H桥式电机驱动电路
图2.17 H桥电路驱动电机顺时针转动
图2.18所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另
一方向转动(电机周围的箭头表示为逆时针方向)。
二、使能控制和方向逻辑
驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。此时,电路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。
基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。
图2.18 H桥电路驱动电机逆时针转动
图2.19所示就是基于这种考虑的改进电路,它在基本H桥电路的基础上增加了4个与门和2个非门。4个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。而2个非门通过提供一种方向输人,可以保证任何时候在H桥的同侧腿上都只有一个三极管能导通。(与本节前面的示意图一样,图2.19所示也不是一个完整的电路图,特别是图中与门和三极管直接连接是不能正常工作的。)
采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个使能信号。如果DIR-L信号为0,DIR-R信号为1,并且使能信号是1,那么三极管Q1和Q4导通,电流从左至右流经电机(如图2.20所示);如果DIR-L信号变为1,而DIR-R信号变为0,那么Q2和Q3将导通,电流则反向流过电机。
实际使用的时候,用分立件制作H桥式是很麻烦的,好在现在市面上有很多封装好的H桥集成电路,接上电源、电机和控制信号就可以使用了,在额定的电压、电流内使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。
图2.19具有使能控制和方向逻辑的H桥电路
图2.20 使能信号与方向信号的使用
2.3 主电路设计
本设计中电机两端电枢电压由L298提供,通过调节PWM占空比来调节L298输出电压即电机两端电枢电压。主电路设有H桥型二级管电路作为保护电路。
电源经单相整流,电容滤波、稳压后提供本设计所需电源。稳压器7805、7905分别提供+5V、-5V电压,7815、7915分别提供+15V、-15V电压。
转速检测的传感器、电流检测的传感器都要与直流电机连接。
电源部分如图2.21。
2.4 转速和电流的测量本设计采用3020T和CS040G分别对电机转速和电流进行测量。
3020T其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。
设计中采用定时器T0,再配以软件计数器对脉冲进行计数。
CS040G 应用霍尔效应开环原理的电流传感器,能在电隔离条件下测量直流、交流、脉冲以及各种不规则波形的电流。当待测电流从传感器穿芯孔中穿入,即可从输出端测得与被测电流一一对应的电压值。如图2.22。
图2.21
图2.22
2.5 AD转换由于本设计只有电流信号需要进行AD转换,因此采用单通道AD转换芯片AD574。而电流随着电机转动方向的不同会有正负之分,因此AD574采用双极性接法。AD芯片与采样保持其的连接如下:
图2.23
2.6显示与键盘电路本设计需要4为LED来实时显示转速值,且当有键盘按下时,要给予相应的显示,本设计采用动态显示。
动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。
4位共阳极LED,用PNP型三极管进行驱动。8255A口的PA3到PA0分别控制4位LED的选通,PB口则进行8位笔段代码的传输。
本设计采用3*4矩阵键盘,由8255的C口控制键盘,PC2到PC0作为列线,PC7到PC4作为行线。
第三章 系统软件程序的设计
3.1 PID控制算法原理及流程图
所谓增量式PID是指数字控制器的输出只是控制量的增量Δku。当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式PID控制算法进行控制。
增量式PID控制算法可以通过(式3.1)推导出。
(3.1)
由(式3.1)可以得到控制器的第k-1个采样时刻的输出值为:
(3.2) 将(式3.1)与(式3.2)相减并整理,就可以得到增量式PID控制算法公式为:
(3.3) 其中:
(3.4)
由(式3.3)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(式3.3)求出控制量。
增量式PID控制算法与位置式PID算法(式3.1)相比,计算量小的多,因此在实际中得到广泛的应用。
而位置式PID控制算法也可以通过增量式控制算法推出递推计算公式:
(3.5) 上式就是目前在计算机控制中广泛应用的数字递推PID控制算法。
物理模型:
图3.1 PID增量式控制算法原理图
图3.2软件算法流程图
在实际编程时α0、α1、α2可预先算出,存入预先固定的单元,设初值e(k-1)、e(k-2)为0。
增量式PID算法的优点(1)位置式算法每次输出与整个过去状态有关,计算式中要用到过去偏差的累加值,容易产生较大的积累误差。而增量式只需计算增量,当存在计算误差或精度不足时,对控制量计算的影响较小。
3.2 系统中部分程序的设计
3.2.1 单片机资源分配
系统设计内存分配表:
3.2.2 程序流程图主程序包括如下三个环节:
实现各种初始化,包括设置堆栈指针、8255初始化、定时器/计数器初始化、以及开中断、定时器/计数器启动等。
实现显示(按照人机对话功能显示各种不同参数)
不断地进行键扫描,判断是否有键按下。如无键按下,则返回;若有键按下,则转各键处理子程序。
主程序流程图如图3.3
系统每隔10ms对转速、电流采样一次,每采样三次,进行一次数据处理。即分别对转速、电流采样值进行中值滤波,标度变换,之后送显示缓存区,对转速进行PID运算,输出作为电流PID运算的输入,电流PID运算的输出用来调节PWM占空比。
中断程序流程如图3.4
图3.3主程序流程图
图3.4 中断程序流程图
结论:
本次设计我做的是直流电机调速,以前也接触过,是在实训的实验台上实现。通过本次设计我了解了许多关于直流电机调速的知识,也查询了许多的资料,并结合自己的想法完成了课题。经过学习,使我对51单片机有了更进一步的了解,对一个系统的设计要如何入手有了更加深刻的体会。在整个设计过程中,也遇到了一些问题,如PID算法、PWM占空比调节等,但经过努力都一一解决了。
本设计的任务是基于单片机控制的PWM直流电机调速系统,系统以单片机为核心,以小直流电机为控制对象,实现速度、电流反馈双闭环、采用PID控制算法。方便的人机对话接口,用键盘输入有关控制信号及参数,可以实现电机的启制动、正反转、速度调节。并在LED上实时显示输入参数及动态转速。
我的设计是基于单片机控制的PWM直流电机调速系统,系统以AT89C52单片机为核心,以2A、1000r/min小直流电机为控制对象,以L298N为H桥驱动芯片实现速度、电流反馈双闭环。采用PID控制算法,调节PWM 占空比从而控制电机两端电压,以达到调速的目的。用4*3键盘输入有关控制信号及参数,可以实现电机的启制动、正反转、速度调节。并在4位LED上实时显示输入参数及动态转速。
我用了Protel 99 se来绘制系统硬件电路图。用实验室现有的资源编译了我的程序,并且通过了编译。