6ES7 217-1AG40-0XB0型号介绍
算法对于调速系统设计是一个相当重在的环节,因为只有确定了算法之后才能对步进电机的速度进行准确的控制,并时也能达到**的调速目的。算法也是编写软件的前提与基础。控制算法有多种,常用的两种算法是pid和模糊控制算法。
pid 控制与模糊控制是两种常用的控制方法,但它们还存在一些不足,如一般pid控制容易产生超调、模糊控制的稳态精度不高,在这两种控制方法基础上进行改进,可产生多种更好的控制方法。本文采用的复合pid控制算法和带动态补偿的模糊控制算法克服了以上缺陷,取得了较好的实验效果。
1、pid 控制算法
pid 调节的实质就是根据输入的偏差值,按比例、积分、微分的函数关系,进行运算,将其运算结果用以输出控制,将基本pid算式离散化可得到位置型pid 控制算法,对位置型pid 进行变换可得到增量型pid控制算法。对控制精度要求较高的系统一般采用位置型算法,而在以步进电机或多圈电位器做执行器件的系统中,则采用增量型算法。
pid是一种工业控制过程中应用较为广泛的一种控制算法,它具有原理简单,易于实现,稳定性好,适用范围广,控制参数易于整定等优点。pid控制不需了解被控对象的数学模型,只要根据经验调整控制器参数,便可获得满意的结果。其不足之处是对被控参数的变化比较敏感。通过软件编程方法实现pid控制,可以灵活地调整参数。,近年来出现了很多**的控制算法,但pid控制仍然以其独有的特点在工业控制过程中具有相当大的比重,且控制效果相当令人满意。
连续pid控制器也称比例-积分-微分控制器,即过程控制是按误差的比例(p-proportional)、积分(i-integral)和微分(d-derivative)对系统进行控制,其系统原理框图如图1所示:
图1 pid的原理框图
它的控制规律的数学模型如下:
\* mergebbbbat \* mergebbbbat (1)
或写成传递函数形式:
\* mergebbbbat (2)
式中,e(t):调节器输入函数,即给定量与输出量的偏u(t):调节器输出函数。
kp:比例系数;
t:积分时间常数;
t:微分时间常数。
将式(2-1)展开,调节器输出函数可分成比例部分、积分部分和微分部分,它们分别是:
⑴比例部分比例部分的数学表达式是 \* mergebbbbat,p在比例部分中,kp是比例系数,kp越大,可以使系统的过渡过程越快,迅速消除静误差;但kp过大,易使系统超调,产生振荡,导致不稳定。此比例系数应选择合适,才能达到使系统的过渡过程时间短而稳定的效果。
图为比例调节器
(3)
比例调节器
其中: u控制器的输出
\* mergebbbbat 比例系数
e调节器输入偏差
\* mergebbbbat 控制量的基准
比例作用:迅速反应误差,但不能消除稳态误差,过大容易引起不稳定
⑵积分部分 积分部分的数学表达式是 \* mergebbbbat 从它的数学表达式可以看出,要是系统误差存在,控制作用就会不断增
加或减少,只有e(t)=0时,它的积分才是一个不变的常数,控制作用也就不会改变,积分部分的作用是消除系统误差。
积分时间常数 \* mergebbbbat 的选择对积分部分的作用影响很大。 \* mergebbbbat较大,积分作用较弱,这时,系统消除误差所需的时间会加长,调节过程慢; \* mergebbbbat较小,积分作用增强,这时可能使系统过渡过程产生振荡,但可以较快地消除误差。
⑶微分部分
微分部分的数学表达式是 \* mergebbbbat .
微分部分的作用主要是抵消误差的变化,作用强弱由微分时间常数t确定。 \* mergebbbbat 越大,则抑制误差e(t)变化的作用越强,但易于使系统产生振荡; \* mergebbbbat 越小,抵消误差的作用越弱。微分时间常数要选择合适,使系统尽快稳定。
比例积分微分调节器如图2所示:
图2
但pid算法有两种分别为: 位置式、增量式.
位置式pid控制算法
(4)
(5) 由(5)与(6)式可以推出下式
(6)
位置式控制算法提供执行机构的位置uk,需要累计ek.
增量式pid控制算法
(8)
(9)
由(1)与(2)式可推出下式:
(10)
增量式控制算法提供执行机构的增量 \* mergebbbbat只需要保持.现时以前3个时刻的偏差值即可.增量式算法不需做累加,计算误差和计算精度问题对控制量的计算影响较小;位置式算法要用到过去偏差的累加值,容易产生较大的累计误差。
控制从手动切换到自动时,位置式算法必须先将计算机的输出值置为原始值 \* mergebbbbat时,才能保证无冲击切换;增量式算法与原始值无关,易于实现手动到自动的无冲击切换。
在实际应用中,应根据被控对象的实际情况加以选择。一般认为,在以闸管或作为执行器件,或对控制精度要求较高的系统中,应当采用位置式算法;而在以步进电机或多圈电位器作执行器件的系统中,则应采用增量式算法。
因本次设计对步进电机的调速范围与控制**的要求,应采用增量式pid控制:系统的流程框图如2所示:
图2 步进电机调速系统的控制流程图
1、的选择
本次设计以cpu选用89c5l作为的控制芯片.89c51的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上.使用方便等优点,完全兼容mcs5l系列单片机的所有功能。at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperom—falshprogrammable and erasable read onlymemory)的低电压,高性能cmos8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案
1.1单片机的引脚功能:
1)vcc(40):+5v。
2)vss(20):接地,也就是gnd。
3)xtl1(19)和xtl2(18):振荡电路。
单片机是一种时序电路,必须有脉冲信号才能工作,在它的内部有一个时钟产生电路,有两种振荡方式,一种是内部振荡方式,只要接上两个和一个晶振即可;另一种是外部振荡方式,采用外部振荡方式时,需在xtl2上加外部时钟信号(详细的内容将在以后的课程中专门介绍)。
4)psen(29):片外rom选通信号,低电平有效。
5)ale/prog(30):地址锁存信号输出端/eprom编程脉冲输入端。
6)rst/vpd(9):复位信号输入端/备用电源输入端。
7)ea/vpp(31):内/外部rom选择 端
8)p0口(39-32):双向i/o口。9.p1口(1-8):准双向通用i/0口。
9)p2口(21-28):准双向i/0口。原理图如1所示:
图1 at89c51的引脚图
1.2 主要特性:
与mcs-51 兼容 4k字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:全静态工作:0hz-24hz三级程序存储器锁定、128*8位内部ram、32可编程i/o线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路
1) 振荡器特性:
xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2) 芯片擦除:
整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
2、步进电机的选择
因本次设计的要求,步进电机的应选用三相三拍的步进电机,关于步进电机的具体说明如下;
反应式步进是利用凸极转子交轴磁阻与直轴磁阻之差所产生的反应转矩而转动的也称为磁阻式步进电动机现以一个简单的三应式步进电动机为例说明其工作原理.
图2是一台三应式步进电动机的原理图定子铁芯为凸极式共有三对六个磁极每两个相对的磁极上绕有一相控制绕组转子用软磁性材料制成也是凸极结构只有四个齿齿宽等于定子的极靴宽下面通过几种基本的控制方式来说明其工作原理.
图2 三应式步进电动机的原理图
2.1 三相单三拍通电方式
当a 相控制绕组通电,其余两相均不通电,电机内建立以定子a 相极为轴线的磁场.由于磁通具有力图走磁阻小路径的特点,使转子齿1, 3的轴线与定子a 相极轴线对齐,如图4 (a)所示.若a 相控制绕组断电,b相控制绕组通电时,转子在反应转矩的作用下,逆时针方向转过30,°使转子齿2,4 的轴线与定子b相极轴线对齐,即转子走了一步,如图4(b)所示, 若再断开b相,使c相控制绕组通电,转子又转过30° 使转子齿1,3的轴线与定子c相极轴线对齐,如图4(c)所示.如此按a-b–c-a的顺序轮流通电,转子就会一步一步地按逆时针方向转动,其转速取决于各相控制绕组通电与断电的频率,旋转方向取决于控制绕组轮流通电的顺序若按a-c-b-a的顺序通电,则电机按顺时针反方向转动.
上述通电方式称为三相单三拍运行,”三相”是指三相步进电动机,”单”是指每次只有一相控制绕组通电,控制绕组每改变一次通电方式称为一拍,三拍是指经过三次改变通电方式为一个循环,我们称每一拍转子转过的角度为步距角
.三相单三拍运行时的步距角为30度.其原理图如2所示:
图2-1定转子展开图(a相绕组通电)
2.2 三相双三拍通电方式
控制绕组的通电方式为ab-bc-ca-ab 或ab-ca-bc-ab 每拍有两相绕组通电三拍为一个循环,当a b两相控制绕组通电时转子齿的位置应考虑到两对定子极的作用,只有a 相极和b相极对转子齿所产生的磁拉力相平衡才是转子的平衡位置如2-2 b所示,可见双三拍运行时的步距角仍是30°,但双三拍运行时每一拍总有一相绕组持续通电,例如由a b 两相通电变为b c 两相通电时,b相保持持续通电状态c 相磁拉力图使转子逆时针方向转动,而b相磁拉力却起有阻止转子继续向前转动的作用。即起到一定的电磁阻尼作用电机工作比较平稳,而在三相单三拍运行时由于没有这种阻尼作用,转子达到新的平衡位置容易产生振荡稳定性不如双三拍运行方式。三相双三拍运行方式ab相与bc相导通的结构如图2-2所示:
(a)ab 相导通 (b)bc 相导通
图2-2 三相双三拍运行方式
在分析步进电动机动态运行时,不仅要知道某一相控制绕组通电时的矩角特性,要知道整个运行过程中各相控制绕组通电状态下的矩角特性,即所谓矩角特性族以三相单三拍的通电方式为例,若将失调角θ的坐标轴统一取在a相磁极的轴线上,显然a 相通电时矩角特性如图3中曲线a 所示稳定平衡点为o,点b 相通电时转子转过1/3 齿距相当于转过2π/3电角度,它的稳4-3中曲线c,这三条曲线就构成了三相单三拍通电方式时的矩角特性族总之矩角特性族中的每一条曲线依次错开一个用电角度表示的步矩角 \* mergebbbbat \* mergebbbbat
\* mergebbbbat (1)
同理可得到三相单双六拍通电方式时的矩角特性族如图4与5 所示:
图3三拍时的矩角特性族
图4六拍时的矩角特性族
步进电机的动态特性是指步进电动机在运行过程中的特性它直接影响系统工作的可靠性和系统的快速反应。
1)单步运行状态
单步运行状态是指步进电动机在一相或多相控制绕组通电状态下仅改变一次通电状态时的运行方式.
2)动稳定区
当a 相控制绕组通电时矩角特性如图中的曲线a 所示,若步进电动机为理想空载则转子处于稳定平衡点 \* mergebbbbat处,如果将a相通电改变为b相通电,那么矩角特性应向前移动一个步距角 \* mergebbbbat 变为曲线b, \* mergebbbbat点为新的稳定平衡点由于在改变通电状态的初瞬转子位置来不及改变还处于θ=0的位置,对应的电磁转矩却由o 突变为曲 \* mergebbbbat 线b上的c点,电机在该转矩的作用下转子向新的稳定平衡位置,移动直至到达 \* mergebbbbat 点为止对应它的静稳定区为止,(-π+ \* mergebbbbat )<θ <(π+ \* mergebbbbat ),即改变通电状态的瞬间只要转子在这个区域内就能趋向新的稳定平衡位置,把后一个通电相的静稳定区称为前一个通电相的动稳定区,把初始稳定平衡点oa与动稳定区的边界点a之间的距离称为稳定裕度,拍数越多步距角越小,动稳定区就越接近静稳定区稳定裕度越大,运行的稳定性越好转子从原来的稳定平衡点到达新的稳定平衡点的时间越短,能够响应的频率也就越高.原理图如5所示:
图5 稳定响应曲线
3)大负载能力
步进电动机带恒定负载时负载转矩为 \* mergebbbbat , \* mergebbbbat 若a 相控制绕组通电则转子的稳定平衡位置为图 a中曲线a 上的 \* mergebbbbat点,这一点的电磁转矩正好与负载转矩相平衡,当输入一个控制脉冲信号通电状态由a相改变为b 相,矩角特性变为曲线b在改变通电状态的瞬间电机产生的电磁转矩 \* mergebbbbat 大于负载转矩 \* mergebbbbat,电机在该转矩的作用下转过一个步距角到达新的稳定平衡点ob´,如图6所示:
(a)
\* mergebbbbat
图6 大负载转矩的确定
\* mergebbbbat \* mergebbbbat \* mergebbbbat \* mergebbbbat
如果负载转矩增大为 \* mergebbbbat ,且 \* mergebbbbat ,如图4-14(b)则初始平衡位置为 \* mergebbbbat 点,但在改变通电状态的瞬间电机产生电磁转矩为 \* mergebbbbat ,由于 \* mergebbbbat ,转子不能到达新的稳定平衡位置点 \* mergebbbbat,而是向失调角θ减小的方向滑动,电机不能带动负载作步进运行,这时步进电动机实际上是处于失控状态,只有负载转矩小于相邻两个矩角特性交点s所对应的电磁转矩 \* mergebbbbat 才能保证电机正常的步进运行,把 \* mergebbbbat 称为大负载转矩也称为启动转矩当然它比大静转矩 \* mergebbbbat 可求得启动转矩公式2-1。
\* mergebbbbat (2-1)