【全方位资料】基于51单片机的步进电机控制(阀门控制)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11使用PROTEL设计电路图根据电路图编写程序流程图使用KEIL编写程序调试PROTEUS仿真生成.HEX文件购买元件焊制硬件实物完成设计不成功成功不成功成功确定设计方案一、课题设计的主要内容:设想的控制系统的是流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将模拟电信号转化为离散信号,传给单片机。单片机软件系统根据事先的设定值对采集的信息进行处理,输出离散的控制信号。DA转换器将离散的控制信号转化为模拟电量。通过模拟电量来控制阀门的动作,从而调节流量,实现流量的精确控制。考虑到设计的难度,将系统简化为:利用按键模块代替数据采集器对AT89C52单片机进行信号输入,输入设定值,在控制系统软件的作用下,发出相应的执行命令给执行机构——步进电机。步进电机带动阀门动作,对流体流量进行控制。并利用显示电路实时显示步进电机运行的转数、转向,具有实时性的特点。其中,硬件电路的搭接是本设计的重点,控制系统软件的设计是本课题的核心。硬件电路部包括AT89C52单片机+时钟电路+复位电路构成的最小系统,外接L297和L298组成的步进电机驱动电路,用四相八拍步进电机作为执行部件,。并用8位数码管作为显示模块。。系统软件设计部分,分别对按键设定值输入,步进电机控制、数码管显示等程序进行了设计,并且设计了PID控制程序。二、设计流程12三、设计的相关介绍1、步进电机步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到速度控制的目的。本次设计选用28BYJ-48步进电机。步进电机28BYJ-48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。如下图所示:2、由L297和L298组成的步进电机驱动电路13(1)驱动芯片L297介绍SGS公司的L297单片步进电机控制集成电路适用于双极性两相步进电机或四相单极性步进电机的控制,与两片H桥式驱动芯片L298组合,组成完整的步进电机固定斩波频率的PWM恒流斩波驱动器。L297产生四相驱动信号,用以控制双极性两相步进电机或四相单极性步进电机,可以采用半步、两相励磁、单相励磁三种工作方式控制步进电机,并且控制电机的片内PWM斩波电路允许三种工作方式的切换。图1L297引脚图图2L297的内部方框图L297各引脚功能说明1脚(SYNG)——斩波器输出端。如多个297同步控制,所有的SYNC端都要连在一起,共用一套振荡元件。如果使用外部时钟源,则时钟信号接到此引脚上。2脚(GND)——接地端。3脚(HOME)——集电极开路输出端。当L297在初始状态(ABCD=0101)时,此端有指示。当此引脚有效时,晶体管开路。4脚(A)——A相驱动信号。5脚(INH1)——控制A相和B相的驱动极。当此引脚为低电平时,A相、B相驱动控制被禁止;当线圈级断电时,双极性桥用这个信号使负载电源快速衰减。若CONTROL端输入是低电平时,用斩波器调节负载电流。6脚(B)——B相驱动信号。7脚(C)——C相驱动信号。8脚(INH2)——控制C相和D相的驱动级。作用同INH1相同。9脚(D)——D相驱动信号。10脚(ENABLE)——L297的使能输入端。当它为低电平时,INH1,INH2,A,B,C,D都为低电平。当系统被复位时用来阻止电机驱动。1411脚(CONTROL)——斩波器功能控制端。低电平时使INH1和INH2起作用,高电平时使A,B,C,D起作用。12脚(Vcc)——+5V电源输入端。13脚(SENS2)——C相、D相绕组电流检测电压反馈输入端。14脚(SENS1)——A相、B相绕组电流检测电压反馈输入端。15脚(Vref)——斩波器基准电压输入端。加到此引脚的电压决定绕组电流的峰值。16脚(OSC)——斩波器频率输入端。17脚(CW/CCW)—方向控制端。步进电机实际旋转方向由绕组的连接方法决定。当改变此引脚的电平状态时,步进电机反向旋转。18脚(CLOCK)——步进时钟输入端。该引脚输入负脉冲时步进电机向前步进一个增量,该步进是在信号的上升沿产生。19脚(HALF/FULL)——半步、全步方式选择端。此引脚输入高电平时为半步方式(四相八拍),低电平时为全步方式。如选择全步方式时变换器在奇数状态,会得到单相工作方式(单四拍)。20脚(RESET)——复位输入端。此引脚输入负脉冲时,变换器恢复初始状态(ABCD=0101)。中。变换器是一个重要组成部分。变换器由一个三倍计算器加某些组合逻辑电路组成,产生一个基本的八格雷码(顺序如图3所示)。由变换器产生4个输出信号送给后面的输出逻辑部分,输出逻辑提供禁止和斩波器功能所需的相序。为了获得电动机良好的速度和转矩特性,相序信号是通过2个PWM斩波器控制电动波器包含有一个比较器、一个触发器和一个外部检测电阻,如图4所示,晶片内部的通用振荡器提供斩波频率脉冲。每个斩波器的触发器由振荡器的脉冲调节,当负载电流提高时检测电阻上的电压相对提高,当电压达到Uref时(Uref是根据峰值负载电流而定的),将触发器重置,切断输出,直至第二个振荡脉冲到来、此线路的输出(即触发器Q输出)是一恒定速率的PWM信号,L297的CONTROL端的输入决定斩波器对相位线A,B,C,D或抑制线INH1和INH2起作用。CONTROL为高电平时,对A,B,C,D有抑制作用;为低电平时,则对抑制线INH1和INH2有抑制作用,从而可对电动机和转矩进行控制。图3四相八拍模式波形图图4单四拍模式波形15图5双四拍模式波形图(2)驱动芯片L298简介:L298N为双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号,但在本驱动电路中用L297来提供时序信号,节省了单片机IO端口的使用。散热片与各管脚相连图1L298N引脚图L298N引脚功能表引脚符号功能115SENSINGASENSINGB此两端与地连接电流检测电阻,并向驱动芯片反馈检测到的信号23OUT1OUT2此两脚是全桥式驱动器A的两个输出端,用来连接负载4Vs电机驱动电源输入端1657IN1IN2输入标准的TTL逻辑电平信号,用来控制全桥式驱动器A的开关611ENABLEAENABLEB使能控制端.输入标准TTL逻辑电平信号;低电平时全桥式驱动器禁止工作。8GND接地端,芯片本身的散热片与8脚相通9Vss逻辑控制部分的电源输人端口1012IN3IN4输入标准的TTL逻辑电平信号,用来控制全桥式驱动器B的开关1314OUT3OUT4此两脚是全桥式驱动器B的两个输出端,用来连接负载3、PID控制算法介绍将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称PID控制器。PID控制器是控制系统中技术比较成熟,而且应用最广泛的一种控制器。PID控制器最先出现在模拟控制系统中,传统的模拟PID控制器是通过硬件(电子元件、气动和液压元件)来实现它的功能。随着计算机的出现,把它移植到计算机控制系统中来,将原来的硬件实现的功能用软件来代替,因此称作数字PID控制器,所形成的一整套算法则称为数字PID算法。数字PID控制器与模拟PID控制器相比,具有非常强的灵活性,可以根据试验和经验在线调整参数,因此可以得到很好的控制性能。PID控制中的积分作用可以减少稳态误差,但另一方面也容易导致积分饱和,使系统的超调量增大。微分作用可提高系统的响应速度,但其对高频干扰特别敏感,甚至会导致系统失稳。所以,正确计算控制器的参数,有效合理地实现PID控制器的设计,对于PID控制器在过程控制中的广泛应用具有重要的理论和现实意义。在PID控制系统中,PID控制器分别对误差信号e(t)进行比例、积分与微分运算,其结果的加权和构成系统的控制信号u(t),送给对象模型加以控制。PID控制器的数学描述为其传递函数可表示为:从根本上讲,设计PID控制器也就是确定其比例系数Kp、积分系数Ti和微分系数Td,这三个系数取值的不同,决定了比例、积分和微分作用的强弱。4、AT89C52芯片介绍17AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。·兼容MCS51指令系统·8k可反复擦写(1000次)FlashROM·32个双向I/O口·256x8bit内部RAM·3个16位可编程定时/计数器中断·时钟频率0-24MHz·2个串行中断·可编程UART串行通道·2个外部中断源·共6个中断源·2个读写中断口线·3级加密位·低功耗空闲和掉电模式·软件设置睡眠和唤醒功能AT89C52引脚图AT89C52主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚。P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高18电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P2口P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功