基于单片机的PWM直流调速系统设计.docx
- 文档编号:11083199
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:58
- 大小:526.63KB
基于单片机的PWM直流调速系统设计.docx
《基于单片机的PWM直流调速系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的PWM直流调速系统设计.docx(58页珍藏版)》请在冰豆网上搜索。
基于单片机的PWM直流调速系统设计
内蒙古科技大学
本科生毕业设计说明书(毕业论文)
题目:
基于单片机的PWM直流调速系统设计
学生姓名:
杨少英
学号:
0605106422
专业:
自动化
班级:
06(4)
指导教师:
贾玉瑛高级工程师
基于单片机的PWM直流调速系统设计
摘要
随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义.长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位。
基于单片机的直流电机调速系统硬件电路的标准化程度高,制作成本低,且不受器件温度漂移的影响。
其控制软件能够进行逻辑判断和复杂运算。
系统的稳定性好,可靠性高。
直流电动机具有优良的起、制动性能,宜于在广泛范围内平滑调速。
在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。
本设计是基于单片机控制的PWM直流电机调速系统,系统以AT89C52单片机为核心,以2A、1000r/min小直流电机为控制对象,以L298N为H桥驱动芯片实现速度、电流反馈双闭环。
采用PID控制算法,调节PWM占空比从而控制电机两端电压,以达到调速的目的。
用4*3键盘输入有关控制信号及参数,可以实现电机的启制动、正反转、速度调节。
并在4位LED上实时显示输入参数及动态转速。
关键词:
单片机、直流电机、PWM、PID
BasedonSCMPWMdcspeedcontrolsystemdesign
Abstract
WiththeprogressofTheTimesandthedevelopmentofscienceandtechnology,motorspeedsysteminagriculturalproduction,transportationanddailylifeplaysamoreandmoreimportantroleinmotorspeed,therefore,theresearchhaspositivesignificance.Foralongtime,havebeenwidelyappliedindcmotorcontrolsystem,andhasbeeninhabitedareasinspeeddominant.BasedonSCMdcmotorspeedcontrolsystemofhighdegreeofstandardizationofhardwarecircuit,lowcost,andthetemperaturedrift.Device,Thecontrolsoftwaretologicandcomplexoperation.Thesystemhasgoodstabilityandreliability.Dcmotorwithexcellent,brakingperformance,andinawiderangesmoothspeed.Inthemill,minemachine,excavator,metalcuttingmachine,papermachine,high-levelelevatoriswidelyusedinthefields.
ThedesignisbasedonsinglechipmicrocomputercontrolsystemofdcmotorcontrolPWM,byAT89C52singlechipsystem,and1000r/minsmalldouble-adcmotortocontrol,L298NHbridgetodrivechiprealizespeed,doubleloopcurrentfeedback.PIDcontrolalgorithm,regulateandcontrolPWMoccupiesemptiescomparedtoachievebothvoltagemotorspeed.Use4*3keyboardinputsignalandtherelevantcontrolparameters,canrealizetherevbrakemotorspeedregulation,andpositive&negative.AndinfourLEDonreal-timedisplayinputparametersanddynamicspeed.
Keywords:
monolithicintegratedcircuits,adirectmotor,PWM,PID
3.2系统部分程序的设计……………………………………………………....29
3.2.1单片机资源分配……………………………………………………...29
第一章绪论
1.1课题背景
随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义.长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位,这主要是因为直流电机不仅调速方便,而且在磁场一定的条件下,转速和电枢电压成正比,转矩容易被控制;同时具有良好的起动性能,能较平滑和经济地调节速度。
因此采用直流电机调速可以得到良好的动态特性。
由于直流电动机具有优良的起、制动性能,宜于在广泛范围内平滑调速。
在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。
近年来交流调速系统发展很快,然而直流控制系统毕竟在理论上和在时间上都比较成熟,而且从反馈闭环控制的角度来看,它又是交流系统的基础,长期以来,由于直流调速系统的性能指标优于交流调速系统。
因此,直流调速系统一直在调速系统领域内占重要位置。
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公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的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.2AT89C52引脚图
(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.274HC373简介【4】
373为三态输出的八D透明锁存器,共有54/74S373和54/74LS373两种线路结构型式。
74HC373其主要电器特性的典型值如下(不同厂家具体值有差别):
型号tPdPD
54S373/74S3737ns525mW
54LS373/74LS37317ns120mW
373的输出端O0~O7可直接与总线相连。
当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。
当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存允许端LE为高电平时,O随数据D而变。
当LE为低电平时,O被锁存在已建立的数据电平。
当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。
图2.4给出了74HC373芯片引脚结构。
图2.474HC373引脚图
2.1.3.3L298N简介【5】
L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
图2.5是L298N内部结构图
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
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.4AD574简介【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.9AD574引脚图
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(REFOUT)——10V基准电源电压输出端。
[9].Pin9(AGND)——模拟地端。
[10].Pin10(REFIN)——基准电源电压输入端。
[11].Pin(V-)——负电源输入端,输入-15V电源。
[12].Pin1(V+)——正电源输入端,输入+15V电源。
[13].Pin13(10VIN)——10V量程模拟电压输入端。
[14].Pin14(20VIN)——20V量程模拟电压输入端。
[15].Pin15(DGND)——数字地端。
[16].Pin16—Pin27(DB0—DB11)——12条数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 PWM 直流 调速 系统 设计