毕业设计(论文)-基于单片机的PWM直流调速系统设计.doc_第1页
毕业设计(论文)-基于单片机的PWM直流调速系统设计.doc_第2页
毕业设计(论文)-基于单片机的PWM直流调速系统设计.doc_第3页
毕业设计(论文)-基于单片机的PWM直流调速系统设计.doc_第4页
毕业设计(论文)-基于单片机的PWM直流调速系统设计.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内蒙古科技大学毕业设计说明说(毕业论文)内蒙古科技大学本科生毕业设计说明书(毕业论文)题 目:基于单片机的pwm直流调速系统设计学生姓名:学 号:专 业:自动化班 级:06(4)指导教师: 基于单片机的pwm直流调速系统设计摘要随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义.长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位。基于单片机的直流电机调速系统硬件电路的标准化程度高,制作成本低,且不受器件温度漂移的影响。其控制软件能够进行逻辑判断和复杂运算。系统的稳定性好,可靠性高。直流电动机具有优良的起、制动性能,宜于在广泛范围内平滑调速。在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。本设计是基于单片机控制的pwm直流电机调速系统,系统以at89c52单片机为核心,以2a、1000r/min小直流电机为控制对象,以l298n为h桥驱动芯片实现速度、电流反馈双闭环。采用pid控制算法,调节pwm 占空比从而控制电机两端电压,以达到调速的目的。用4*3键盘输入有关控制信号及参数,可以实现电机的启制动、正反转、速度调节。并在4位led上实时显示输入参数及动态转速。关键词:单片机、直流电机、pwm、 pidbased on scm pwm dc speed control system designabstractwith the progress of the times and the development of science and technology, motor speed system in agricultural production, transportation and daily life plays a more and more important role in motor speed, therefore, the research has positive significance. for a long time, have been widely applied in dc motor control system, and has been inhabited areas in speed dominant. based on scm dc motor speed control system of high degree of standardization of hardware circuit, low cost, and the temperature drift. device, the control software to logic and complex operation. the system has good stability and reliability. dc motor with excellent, braking performance, and in a wide range smooth speed. in the mill, mine machine, excavator, metal cutting machine, paper machine, high-level elevator is widely used in the fields.the design is based on single chip microcomputer control system of dc motor control pwm, by at89c52 singlechip system, and 1000r/min small double-a dc motor to control, l298n h bridge to drive chip realize speed, double loop current feedback. pid control algorithm, regulate and control pwm occupies emptiescompared to achieve both voltage motor speed. use 4 * 3 keyboard input signal and the relevant control parameters, can realize the rev brake motor speed regulation, and positive &negative. and in four led on real-time display input parameters and dynamic speed.keywords : monolithic integrated circuits, a direct motor,pwm,pid目录基于单片机的pwm直流调速系统设计i摘要iabstractii第一章 绪论11.1课题背景11.2课题功能1第二章 系统硬件电路的设计22.1系统总体设计22.1.1系统总体设计框图22.1.2单片机的选择及其简介22.1.3 其他芯片简介62.2pwm信号发生电路设计182.2.1 pwm的基本原理182.2.2 pwm信号发生电路设计192.2.3 h桥芯片的工作原理202.3主电路设计232.4转速和电流的测量232.5 ad转换252.6显示与键盘电路25第三章 系统软件程序的设计273.1pid控制算法原理及流程图273.2 系统部分程序的设计.29 3.2.1 单片机资源分配.293.2.2 程序流程图29结论32参考文献33附录34致谢4750第一章 绪论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.12.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字节内部ram32个可编程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位地址的外部数据存储器(例如执行movxdptr 指令)时,p2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行movxri指令)时,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.0rxd(串行输入口 p3.1txd(串行输出口 p3.2into(外中断0 p3.3into(外中断l) p3.4to (定时计数器0 ) p3.5tl (定时计数器l ) p3.6wr(外部数据存储器写选通) p3.7rd(外部数据存储器读选通) 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口。因为单片机的0口是数据总线和低八位地址线共用的,所以需要使用地址锁存器74373。由此将0口地址送于74373锁存,以便下一时刻,口传送数据。2.1.3 其他芯片简介2.1.3.1 8255的简介【3】8255是一个并行输入/输出的lsi芯片,多功能的i/o器件,可作为cpu总线与外围的接口.它具有24个可编程设置的i/o口,即3组8位的i/o口,为pa口,pb口和pc口.它们又可分为两组12位的i/o口,a组包括a口及c口(高4位,pc4pc7),b组包括b口及c口(低4位,pc0pc3).a组可设置为基本的i/o口,闪控(strobe)的i/o闪控式,双向i/o3种模式;b组只能设置为基本i/o或闪控式i/o两种模式,而这些操作模式完全由控制寄存器的控制字决定。图2.3给出了8255芯片引脚结构.8255引脚功能 reset:复位输入线,当该输入端外接高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成输入方式。图2.38255引脚图 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。 d0d7:三态双向数据总线,8255与cpu数据传送的通道,当cpu 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 pa0pa7:端口a输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 pb0pb7:端口b输入输出线,一个8位的i/o锁存器, 一个8位的输入输出缓冲器。 pc0pc7:端口c输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口c可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口a和端口b配合使用,可作为控制信号输出或状态信号输入端口。8255 有4 个内部缓存器,分别是a 端口缓存器、b 端口缓存器、c 端口缓存器及控制缓存器。 当微电脑要读写8255 的内部缓存器时,必须利用a1 及a0 指定要对那一个暂器进行读写动作。下表为a1、a0 配合rd、wr及cs 的控制状态表。表2.2a1 a0 rdwrcs操作情形 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 pd54s373/74s373 7ns 525mw54ls373/74ls373 17ns 120mw 373 的输出端 o0o7 可直接与总线相连。当三态允许控制端 oe 为低电平时,o0o7 为正常逻辑状态,可用来驱动负载或总线。当 oe 为高电平时,o0o7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 le 为高电平时,o 随数据 d 而变。当 le 为低电平时,o 被锁存在已建立的数据电平。当 le 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mv。图2.4给出了74hc373芯片引脚结构。图2.4 74hc373引脚图2.1.3.3 l298n简介【5】l298是sgs公司的产品,比较常见的是15脚multiwatt封装的l298n,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。图2.5是l298n内部结构图l298n可接受标准ttl逻辑电平信号vss,vss可接457 v电压。4脚vs接电源电压,vs电压范围vih为2546 v。输出电流可达25 a,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。l298可驱动2个电动机,out1,out2和out3,out4之间可分别接电动机,如图2.7此装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。ena,enb接pwm端,控制电机的速度。表2.3是l298n功能逻辑图。 图2.5 表2.3in3,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.82.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 模拟电压输入范围:010v和020v,05v和010v两档四种 电源电压: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. pin16pin27(db0db11)12条数据总线。通过这12条数据总线向外输出a/d转换数据。17. pin28(sts)工作状态指示信号端,当sts=1时,表示转换器正处于转换状态,当sts=0时,声明a/d转换结束,通过此信号可以判别a/d转换器的工作状态,作为单片机的中断或查询信号之用。 ad574工作时序的控制功能状态表。表 2.42.1.3.5 lf398简介lf398是一种反馈型采样保持放大器,也是目前较为流行的通用型采样保持放大器。与lf398结构相同的还有lf198/lf298等,都是由场效应管构成,具有采样速度高,保持电压下降慢和精度高等特点。当作为单一放大器时,lf398直流增益精度为0.002%,采样时间小于6us时精度可达0.01%;输入偏置电压的调整只需在偏置端(2脚)调整即可,并且在不降低偏置电流的情况下,带宽允许1mhz,其主要技术指标有:1、工作电压:+5-+18v2、采样时间:10us3、可与ttl、pmos、cmos兼容4、当保持电容为0.01uf时,典型保持步长为0.5mv5、低输入漂移,保持状态下输入特性不变6、在采样或保持状态时高电源抑制下图为集成采样/保持器-lf398引脚图。图2.10 lf398引脚图2.1.3.6 3020t简介霍尔传感器【7】是对磁敏感的传感元件,常用于开关信号采集的有cs3020、cs3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(oc)门输出,工作电压范围宽,使用非常方便。如图2.11所示是cs3020的外形图,将有字面对准自己,三根脚从左右分别是vcc,地,输出。g,9 2b:#t0, e o&is8i%j0图2.11cs3020外形图电子园51单片机学习网+pm:x _8w使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。z t7g5fd0这种传感器不怕灰尘、油污,在工业现场应用广泛。2.1.3.7 cs040g简介cs040g系列霍尔电流传感器应用霍尔效应开环原理的电流传感器,能在电隔离条件下测量直流、交流、脉冲以及各种不规则波形的电流。结构参数(mm):图2.12引脚说明:1:+ 15v2:0v(电源地)3:vout4:-15v表2.5结构参数型号cs010gcs020gcs030gcs040gipn原边额定输入电流10203040aip原边电流测量范围 020040060080avsn副边额定输出电压11%vvc电源电压1215(5%)vic电流消耗vc=15v 20mavd绝缘电压在原边与副边电路之间2 .5kv有效值/50hz/1分钟l线性度 1%fsv0零点失调电压ta=25 30mvvom磁失调电压 ipn0 20mvvot失调电压温漂 ipn=0 ta=25+85 1mv/tr响应时间3sf频带宽度(-3db)dc20khzta工作环境温度25+85ts贮存环境温度40+100rl负载电阻ta=25 10k使用说明1.传感器按结构图说明接线,当待测电流从传感器穿芯孔中穿入,即可从输出端测得与被测电流一一对应的电压值。(注:错误的接线可能导致传感器的损坏)2.根据用户需求定制不同额定输入电流和输出电压的传感器。3.传感器的输出幅度可根据用户需要进行适当调整。2.2pwm信号发生电路设计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.16h桥式电机驱动电路 图2.17h桥电路驱动电机顺时针转动 图2.18所示为另一对三极管q2和q3导通的情况,电流将从右至左流过电机。当三极管q2和q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。二、使能控制和方向逻辑 驱动电机时,保证h桥上两个同侧的三极管不会同时导通非常重要。如果三极管q1和q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。此时,电路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。 基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。图2.18h桥电路驱动电机逆时针转动 图2.19所示就是基于这种考虑的改进电路,它在基本h桥电路的基础上增加了4个与门和2个非门。4个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。而2个非门通过提供一种方向输人,可以保证任何时候在h桥的同侧腿上都只有一个三极管能导通。(与本节前面的示意图一样,图2.19所示也不是一个完整的电路图,特别是图中与门和三极管直接连接是不能正常工作的。)采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个使能信号。如果dirl信号为0,dirr信号为1,并且使能信号是1,那么三极管q1和q4导通,电流从左至右流经电机(如图2.20所示);如果dirl信号变为1,而dirr信号变为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.222.5 ad转换由于本设计只有电流信号需要进行ad转换,因此采用单通道ad转换芯片ad574。而电流随着电机转动方向的不同会有正负之分,因此ad574采用双极性接法。ad芯片与采样保持其的连接如下:图2.232.6显示与键盘电路本设计需要4为来实时显示转速值,且当有键盘按下时,要给予相应的显示,本设计采用动态显示。动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位i/o口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。 位共阳极,用型三极管进行驱动。8255a口的pa3到pa0分别控制4位led的选通,口则进行位笔段代码的传输。本设计采用矩阵键盘,由8255的c口控制键盘,pc2到pc0作为列线,pc7到pc4作为行线。第三章 系统软件程序的设计3.1pid控制算法原理及流程图所谓增量式pid是指数字控制器的输出只是控制量的增量ku。当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式pid控制算法进行控制。 增量式pid控制算法可以通过(式3.1)推导出。 (3.1)由(式3.1)可以得到控制器的第k1个采样时刻的输出值为: (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 单片机资源分配系统设计内存分配表:地址功能地址功能e0hffh堆栈42h电流给定首地址39h3ch显示缓冲区53h电流采样首地址3dh置转速比例值57h转速采样首地址3e置转速积分值5bh中值滤波数据首地址3fh置电流比例值5eh标度变换数据地址40h置电流积分值45h转速pid输出首地址41h置转速给定首地址47h电流pid输出首地址3.2.2 程序流程图主程序包括如下三个环节:实现各种初始化,包括设置堆栈指针、8255初始化、定时器/计数器初始化、以及开中断、定时器/计数器启动等。实现显示(按照人机对话功能显示各种不同参数)不断地进行键扫描,判断是否有键按下。如无键按下,则返回;若有键按下,则转各键处理子程序。主程序流程图如图3.3系统每隔10ms对转速、电流采样一次,每采样三次,进行一次数据处理。即分别对转速、电流采样值进行中值滤波,标度变换,之后送显示缓存区,对转速进行pid运算,输出作为电流pid运算的输入,电流pid运算的输出用来调节pwm占空比。中断程序流程如图3.4图3.3主程序流程图图3.4 中断程序流程图结论:本次设计我做的是直流电机调速,以前也接触过,是在实训的实验台上实现。通过本次设计我了解了许多关于直流电机调速的知识,也查询了许多的资料,并结合自己的想法完成了课题。经过学习,使我对51单片机有了更进一步的了解,对一个系统的设计要如何入手有了更加深刻的体会。在整个设计过程中,也遇到了一些问题,如pid算法、pwm占空比调节等,但经过努力都一一解决了。本设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论