多电机同步控制

上传人:good****022 文档编号:116443166 上传时间:2022-07-05 格式:DOC 页数:52 大小:669.50KB
返回 下载 相关 举报
多电机同步控制_第1页
第1页 / 共52页
多电机同步控制_第2页
第2页 / 共52页
多电机同步控制_第3页
第3页 / 共52页
点击查看更多>>
资源描述
论文题目:电机同步控制模块设计(软件)专 业:电气工程及其自动化指导老师:黄梦涛 (签名) 本 科 生:李大威 (签名) 摘 要多电机同步控制广泛应用于工业生产中。论文以两台电机的同步为研究对象,采用主从式的控制结构,设计了一个两台小功率低电压直流电机的同步控制系统,两台直流电机采用PWM技术调速。为了提高控制精度,采用了带速度反馈的闭环调速系统,选用单片机C8051F040作为控制器。为了能够根据需要改变电机的转速以及实时显示两台电机的速度,我们还建立了单片机和上位机之间的串行通信。设计的核心是用C语言编程实现了PID控制算法。为了增加PID算法的自适应性,设计中整定了多组控制参数,并给出了控制结果。关键词:多电机同步,PWM,C语言,PID算法SUBJECT :The software design of Multi-electric motors synchronism control moduleSpecialty :Electrical Engineering and AutomationInstructor:Huang Mentao (Signature) Name :Li Dawei (Signature) ABSTRACT Multi-electric motor synchronism control system has been widely used in the industrial manufacture. Taking the synchronization of two engines as research object, a synchronous control system for two DC motors, which work on small power and low voltage, is designed in this paper. It has a Master-slave structure. The speeds of the two DC motors are regulated with the technology of PWM. In order to improve the control precision, a closed loop speed control system with a speed feedback is adopted, while the single chip computer C8051F040 is selected as the controller. We also establish a serial communication between the single chip computer and a PC, so it is easy to set up the motors speed you want and show the real-time speeds of them. The core of the design is to realize the PID algorithm, using the C language to program. In order to improve the PID algorithms adaptability, several group control parameters are set in the design, and their control effects are given.KEY WORDS:Multi-electric motor synchronism, PWM, C language, PID 目 录前 言5第一章 多电机同步控制方案及硬件电路71.1 多电机同步控制结构71.1.1 并行控制71.1.2 主从控制81.2 PWM调速原理与发展概况81.3 直流电机驱动电路101.4 速度检测电路131.5控制器141.6 通信模块15第二章 PID控制方法172.1 PID控制方法介绍172.2 数字式增量PID控制算法182.3 标准PID算法的改进202.4 干扰的抑制202.5 PID调节器的参数整定212.5.1 采样周期的选定212.5.2 PID参数的整定22第三章 软件实现233.1 C51语言233.2 单片机片内的资源配置243.2.1 单片机内各功能模块配置243.2.2 单片机的端口配置253.3 程序模块介绍263.3.1初始化模块263.3.2 测速子程序283.3.3 串口通信子程序303.3.4主程序323.4 程序调试34第四章 参数的整定结果374.1 高速段内的参数整定及结果374.2中速段内的参数整定及结果384.3低速段内的参数整定及结果394.4 结果分析40结 论41致 谢42参考文献43附录1 总程序44前 言直流电机是最早出现的电机,也是最早能实现调速的电动机。由于它具有良好的线性调速特性,简单的控制性能,高的效率,优异的动态性能,直流电动机一直占据着调速控制的统治地位,是大多数调速控制电动机的最优选择。PWM是控制数字化的基础,用PWM技术控制直流电机方法简单,能实现宽范围内的速度和位置调整,如今已成为主流的直流电机调速方式。多电机同步控制问题在工业生产中的许多场合已成为一个突出的难题。在多台电机驱动系统中,采用传统的机械长轴虽然能够准确地保持电机同步,但其缺点日益显著,如各电机的工作状态相互影响,彼此之间存在严重的耦合作用,通过链、齿轮、轴等多级链接机构后含有积累误差,使用范围也受到限制,某些场合已不能满足现代控制的需要。采用电的方式控制多电机的同步是一种有效的解决手段,人们对这方面已作出了大量的研究。对多电机的同步控制结构有并行控制、主从控制、交叉耦合控制、虚拟总轴控制、偏差耦合控制等多种控制理论,控制方法除了常规的PID外,还有各种现代控制理论,包括神经网络、模糊控制、专家系统等,将它们与PID控制相结合更衍生出多种控制理论。在本设计中以C8051F040单片机为控制器,设计了一个两台小功率低电压直流电机的主从式同步控制系统,设计任务是从电机能够跟踪主电机的实时速度,主电机的速度可以通过上位机设定,然后传给单片机去调节。设计的目的是尝试用改进的PID控制算法,用C语言编程去实现两台电机的速度同步,并达到一定的控制精度,简单地探讨一下实际应用中对多电机进行同步控制的基本方法。PID控制是最早发展起来也是应用最广泛的控制规律之一,由于其原理简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,至今仍有90%左右的控制回路具有PID结构。但其不足之处是对非线性、不确定性系统的控制效果不理想。本设计采用了数字PID算法,为了提高控制精度,对于不同的速度段,整定了多组控制参数,以提高PID算法的自适应性。软件设计中一个关键的任务是为电机的速度设定一个合适的控制参数,为了方便查看一组控制参数下的控制效果,我们通过中断程序运行,在调试环境下查看实时的电机速度,多次查看并记录下这些数值。通过对这些数据的分析,反复的调整控制参数,直到满意为止。对最终控制结果的分析表明,主电机速度的调整精度和从电机跟踪的精度都能达到期望的水平。 第一章 多电机同步控制方案及硬件电路 本章主要对目前多电机同步的两种基本控制结构以及直流电机PWM调速的发展概况和原理做了一些介绍和分析,确定了本系统两台直流电机的主从式同步控制结构,给出了直流电机的驱动电路和速度反馈电路,并对控制器C8051F040单片机的优点作了介绍。1.1 多电机同步控制结构在工业生产中,传动控制是机械加工控制系统的基础。一个机械系统通常有多个轴需要传动控制,对这些轴的控制就是控制驱动轴的电动机。在这种传动系统中,目前存在的同步控制技术包括并行控制、主从控制、交叉耦合控制、虚拟总轴控制、偏差耦合控制。这里对并行控制和主从控制这两种基本的控制方式作一下简单的介绍和比较,并选择了主从式的双电机同步控制结构。1.1.1 并行控制 并行控制是一种基于同一定值控制的并联运行方式,这是一种最简单的同步控制方法。并行式适用于每个单独系统的控制目标基本一致的情况,要求伺服系统具有良好的速度稳定性。调速系统采用同一给定电压,其控制结构图如图1.1所示。采用并行运行方式的同步控制系统其优点在于启动和停止阶段系统的同步性能很好,但是由于整个系统相当于开环控制,当运行过程中某一台电机受到扰动时,电机之间将会产生同步偏差,同步性能很差。控制器电机1控制器电机2 图1.1 并行控制系统结构图1.1.2 主从控制主从控制是一种基于跟踪随动原理的串联运行方式。以双电机为例,主从同步控制系统的结构图如图1.2所示。在这种控制方式中,主电机的输出转速作为从电机的转速参考值。由此可推断,任何加在主电机上的速度命令或是负载扰动都会被从电机反映并且跟随,但是任何从电机上受到的扰动却不会反馈回给主电机,也不会影响到其他的从电机。主从式特点是从系统跟踪主系统的输出,大大增加了其控制策略的稳定性,但存在跟踪滞后。这种控制方式要求伺服系统具有良好的跟踪性能,主要应用在对速度或者位置的同步精度不是很高的工业生产中。控制器控制器电机1电机2 图1.2 主从同步控制结构图本系统设计的电机同步控制为了提高抗干扰能力,在一台电机速度受到外部扰动或人为干扰时两台电机仍能保持速度的同步,采用了带速度反馈的主从式的控制结构,一台电机作为主电机,一台为从电机,主电机的输出即转速作为从电机的输入,主电机的输入根据需要设置。为了提高主从电机的抗干扰能力以及从电机对主电机的跟踪精度,在设计中尽可能地改善了数字控制电路。1.2 PWM调速原理与发展概况 目前用大功率晶体管控制的PWM永磁式直流伺服电动机驱动装置,是高精度伺服控制领域应用最为广泛的驱动形式。这种装置能实现宽范围内的速度和位置控制,较常规的驱动方式,如晶体管线性放大驱动,电液驱动或晶闸管驱动,具有无可比拟的优点。随着大功率晶体管的容量和开关速度的不断提高。PWM装置一跃成为现代伺服驱动系统的佼佼者,受到越来越多的控制工程师的重视。国外于上世纪60年代已开始注意PWM伺服控制技术,起初用于飞行器中小功率伺服系统,70年代中后期较为广泛地应用在中等功率的直流伺服系统上,到了80年代,PWM驱动在直流伺服系统中的应用已经普及。现在从国外引进的高精度伺服系统大都采用PWM伺服系统,各工业先进国家竞相发展PWM伺服机构。国内一些高校,研究所和工厂在上世纪70年代末相继开展了PWM系统的研究,在一定范围内达到了工业推广水平,应用于数控机床,精密机床的进给,机器人驱动装置及精密速度控制器中,也用于军用雷达天线驱动,火炮和导弹发射架驱动等快速跟踪高精度伺服系统中。但由于受到能制造的大功率晶体管的电流及电压等级的限制,国内仅能做到几十瓦到几十千瓦,电压达到220伏。PWM驱动原理是就是直流斩波原理,利用大功率晶体管的开关特性来调制固定电压的直流电源。按一个固定的频率来接通和关断,并根据需要改变一个周期内“接通”和“断开”时间的长短,通过改变直流电动机电枢上的占空比来改变平均电压的大小,从而控制电机的转速。因此,这种装置又称为“开关驱动装置”。PWM输出波形如图1.3所示,周期为T,一个周期内的导通时间为t,则加在电机两端的平均电压为: (1-1)其中,= t /T称为占空比,为电源电压,本电路中采用12伏。 图1.3 PWM原理图直流电机的转速与电机两端电压成正比,而电机两端的平均电压与控制波形的占空比成正比,占空比越大,电机转得越快,当占空比为1时,加在电机两端的平均电压最大,电机转速也就最大。1.3 直流电机驱动电路直流电机PWM驱动电路使用最广泛的就是单极性H型桥式电路,这种驱动电路可以很方便地实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动这四种电机运行状态。单极性H型桥式驱动电路结构图如图1.4所示,它由4个开关管和4个续流二极管组成,采用单电源供电。当电动机正转时,V1开关管根据PWM控制信号同步导通或关断,而V2开关管则受PWM反向控制信号控制,V3保持常闭,V4保持常开。当电动机反转时,V3开关管根据PWM控制信号同步导通或关断,而V4开关管则受PWM反相控制信号控制,V1保持常闭,V2保持常开。M 图1.4 单极性H型桥式驱动电路当电机在较大负载下正转时,电机两端平均电压U大于感应电动势E。在每个PWM周期的导通区间,V1导通,V2截止,电流经V1、V4从A到B流过电枢绕组。在每个PWM周期的关断区间,V2导通,V1截止,电源断开,在自感应电动势的作用下,经二极管VD2和开关管V4进行续流,使电枢中仍然有电流流过,方向是从A到B,这时,由于二极管VD2的箝位作用,V2实际不能导通。当电动机在进行减速运行时,平均电压U小于感应电动势E。在每个PWM周期的导通区间,在感应电动势和自感应电动势的共同作用下,电流经二极管VD4、VD1流向电源,方向是从B到A,电动机处于再生制动状态。在每个PWM周期的关断区间,V2导通,V1截止,在感应电动势的作用下,经开关管V2和二极管VD4仍然是从B到A流过绕组,电动机处于耗能制动状态。 当电动机轻载或空载运行时,平均电压U等于感应电动势E。在每个PWM周期的导通区间,V2截止,电流先经VD4、VD1流向电源,当减小到零后,V1导通接通电源,电流改变方向,沿V1、V4流动。在每个PWM周期的关断区间,V1截止,电流先是沿VD2、V4续流,当续流电流减小到零后,V2导通,在感应电动势的作用下,电流改变方向,沿开关管V2和二极管VD4流动。因此,在一个PWM周期中,电流交替呈现再生制动、电动、续流电动、耗能制动四种状态。我们所用的驱动芯片是L298N。L298N是SGS公司的产品,内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的两台电机。且价格便宜,对本电路来说是经济合适之选。本设计中的硬件电路原理框图如图1.5所示。其中驱动部分的原理图如图1.6所示。图1.5 系统硬件电路原理框图 图1.6 驱动电路原理图 图1.7 速度反馈电路 1.4 速度检测电路测速元件是闭环调速系统中的关键元件,为了扩大调速范围,改善电动机的低速平稳性,要求测速元件低速输出稳定,波纹小,线性度好。常用的测速元件有模拟式测速元件和数字式测速元件。模拟式测速元件通常采用测速发电机;数字式测速元件采用光电式脉冲发生器。数字测速元件具有低惯量低噪声高分辨率和高精度的特点,有利于控制直流电机。在现代驱动控制系统中,为了提高速度反馈检测精度,正在摒弃直流测速发电机加A/D转换器的方案,而采用光电码盘直接数字测速的方案。本系统采用增量式光电旋转编码器测量电机的速度。将光电编码器与电动机相连,当电动机转动时,带动码盘旋转,便发出相应的信号。光电编码器由光源,光电转盘,光敏元件和光电整形放大电路组成。光电转盘与被测轴连接,光源通过光电转盘的透光孔射到光敏元件上,当转盘转动时,光敏元件便发出与转速成正比的脉冲信号,为了判别电机的转向,光电编码器输出两路相隔90度电脉冲角度的正交脉冲。利用光电编码器进行数字测速的常用方法有两种:M法和T法。(1)M法测速:M法又叫定时计数法,是用计数器记取规定时间内光电编码器输出的脉冲个数来反映转速值,即在规定的时间间隔T内,测量编码器光栅所产生的脉冲数来获得被测的速度值。设编码器光栅每转一圈发出的脉冲数为Z,且在规定的时间T内,测得的脉冲数为M,则电机每分钟转数为:n=60M/ZT (1-2)将转速实际值和测量值之差与实际值之比定义为测量误差率,反映了测速方法的准确性,越小,准确度越高。M法测速误差率取决于编码器的制造精度,以及编码器输出脉冲前沿和测速时间采样脉冲前沿不齐所造成的误差等,最多可以产生一个脉冲的误差。因此,M法测速误差率的最大值为: (1-3)由上式可知,误差率与M成反比,即脉冲数越大,误差越小,故M法测速适用于高速段。(2)T法测速:T法又叫定数计时法,是用定时器记取光电编码器输出脉冲一个周期内的高频时基个数,然后取其倒数来反应速度值,即测量相邻两个脉冲的时间间隔来确定被测速度。设编码器光栅每转一圈发出的脉冲数为Z,定时器的时基是一已知频率为F的高频脉冲,定时器的起始和终止由编码器光栅脉冲的两个相邻脉冲的起始沿控制。若定时器的读数为M,则电机每分钟的转速为: (1-4)T法测速的误差产生原因与M法相仿,定时器的计数M最多存在一个脉冲的误差,因此,T法测速误差率的最大值为: (1-5)低速时,编码器相邻脉冲间隔时间长,测得的高频脉冲个数多,误差小,故T法适用于低速段。我们采用M法测速。所采用的光电编码器光栅每转一圈发出1000个脉冲。设电机工作在额定转速下,即n=500转/分,则在0.1秒的采样间隔内,计数器所应接受到的标准脉冲个数为M=500/60*0.1*1000=833个,可以看出,精度还是较高的。本设计中速度反馈回路的原理图如图1.7所示。1.5 控制器本设计选用手头上的C8051F040单片机为系统的控制器,C8051F040单片机执行效率高,片上可利用资源丰富,为以后系统功能的扩展留有余地。Silicon Laboratories公司出品的C8051F系单片机是完全集成的混合信号系统级芯片(SOC),具有与MCS-51完全兼容的指令内核。该系单片机采用全新的CIP-51内核,采用流水线处理技术,不再区分时钟周期和机器周期,能在执行指令期间预处理下一条指令,提高了指令执行效率。C8051F040单片机是该系中功能最全最具代表性的一款。具有控制系统所需的所有的模拟和数字外设。其主要特性如下:(1)片内看门狗、定时器、VDD监视器和温度传感器;(2) 一个12位、100ksps和一个8位、500ksps的A/D转换器;(3) 两个12位D/A转换器;(4)4K字节的片内RAM和64KB可在系统编程的FLASH存储器;(5) 5个通用的16位定时器;(6)具有6个捕捉/比较模块的可编程计数器/定时器阵列;(7)硬件实现的SPI、SMBUS和两个UART串行接口; (8)控制器局域网(CAN2.0)控制器, 具有32个消息对象;(9)全速、非侵入式的在线调试接口;(10)引入交叉开关配置,可灵活地将外围设备配置到P0P3口。C8051F040单片机是真正能独立工作的片上系统(SOC)。除具有标准8051的端口外,C8051F040还有4个附加的8位端口,每个端口都可以配置为推挽输出或开路输出。最独特的改进就是引入了数字交叉开关,允许将内部数字资源映射到P0口,P1口,P2口,P3口,这一特性允许用户根据自己的特定应用选择通用端口和所需数字资源的组合。其MCU能有效地管理模拟和数字外设,可以关闭单个或全部外设,所以其功耗很低。片内JTAG调试支持功能允许对安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。在系统调试比采用标准MCU仿真器要优越的多,因为这一技术能保证精确模拟外设的性能。该调试系统支持观察和修改存储器和寄存器,支持断点,单步,观察点,运行和停机命令。在使用JTAG调试时,所有的模拟和数字外设都可全功能运行,当MCU单步执行或遇到断点而停止运行时,所有的外设都停止运行,以保持同步。FLASH编程非常方便,可以在Silicon Labs集成开发环境(IDE)下通过JTAG接口进行编程,不需要专用编程器或适配器。每个MCU都可在工业温度范围(-45到+80度)内用2.73.6V的电压工作,端口I/O、RST、JTAG引脚都容许5V的输入信号电压。正是由于这些优点以及极高的模拟和数字集成度,对各种要求小体积,高集成度精确测量的场合而言,C8051F040实为理想选择。1.6 通信模块本设计中为了能够人为的设定电机的转速及观察两个电机的实时速度,采用了RS232串行通信方式实现计算机与单片机的通信,通过计算机的操作界面可以很方便地完成这些任务。利用C8051F040单片机内部集成的UART控制器,很容易进行串行通信。计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯两种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号电平和信号内容加以规定。在RS-232-C中任何一条信号线的电压均为负逻辑关系:逻辑“1”的电平是-5-15V,逻辑“0”的电平是+5+15V。噪声容限为2V,即要求接收器能识别低至+3V的信号作为逻辑“0”,高至-3V的信号作为逻辑“1”。实际上,RS-232-C的25条引线中有很多是很少使用的,在计算机与终端通讯中一般只使用常用的39条引线。PC机上的RS-232串行接口有两个COM1和COM2,一般都是9针的接头,这个接头为公接头。由于RS-232电平和单片机内TTL逻辑电路产生的电平是不一样的,因此,PC机与单片机之间必须经过一定的电路转换逻辑电平。单片机C8051F040内部有两个增强型全双工UART,一个增强型SPI总线和SMBUS协议,这些串行总线都完全用硬件实现,都能向微处理器申请中断,因此需要很少CPU的干预。我们采用UART0与上位机通信。第二章 PID控制方法 本章分析了PID的控制规律,推出了数字式增量PID控制算法,介绍了两种克服积分饱和的方法以及抑制干扰的措施。重点介绍了PID控制参数的实用的整定方法。2.1 PID控制方法介绍PID控制是迄今为止最通用的控制策略,有许多不同的方法以确定合适的控制器参数,根据现代理论的观点,PID调节器具有本质的鲁棒性、符合二次型最优控制选型原则、且具有智能化的专家特色。PID调节器及其改进型是在工业过程控制中最常见的控制器。PID控制是比例积分微分控制的简称,本身是一种基于对“过去”、“现在”和“未来”信息估计的控制算法,最早出现在模拟控制系统中,通过硬件(电子元件,气动和液压元件)来实现。控制器系统原理图如图2.1所示。现 在过 去未 来对 象 图2.1 模拟PID控制系统原理图PID的三种控制规律可以组成不同的线性控制器。在电力传动控制系统中,常采用的串联校正控制装置有比例微分(PD)控制器、比例积分(PI)控制器及比例积分微分(PID)控制器。由PD控制器构成的超前校正可以提高稳定裕度并获得足够的快速性,但稳态精度可能受到影响;由PI控制器构成的滞后校正,可以保证稳态精度,但快速性不佳;用PID控制器实现的滞后-超前校正兼有二者的优点,可以全面提高系统的控制性能。连续控制系统中的模拟PID控制规律为: (2-1)式中, u ( t ) 控制器的输出 e ( t ) 控制量的偏差 Kp 比例系数 Ti 积分时间常数 Td 微分时间常数(1) 比例环节比例环节对偏差是即时反应的,偏差一旦出现,调节器立即产生控制作用,使输出量朝减小偏差的方向变化,控制作用的强弱取决于比例系数Kp。比例调节器虽然简单快速,但对于系统响应为有限值的控制对象存在静差。加大比例系数Kp可以减小静差,但过大会使系统的动态质量变坏,引起输出量震荡,甚至导致系统不稳定。(2) 积分环节为了消除在比例调节中的残余静差,可在比例调节的基础上加入积分调节。积分调节具有累积成分,只要偏差e不为零,它将通过累积作用影响控制量u,从而减小偏差,直到偏差为零。如果积分时间常数Ti大,则积分作用弱,反之为强。增大Ti将减慢消除静差的过程,但可减小超调,提高稳定性。引入积分环节的代价是降低系统的快速性。 (3) 微分环节为了加快控制过程,有必要在偏差出现或变化的瞬间,按偏差变化的趋势进行控制,使偏差消灭在萌芽状态,这就是微分调节的原理。微分作用的加入将有助于减小超调,克服震荡,使系统趋于稳定,特别对高阶系统非常有利,它加快了系统的跟踪速度,但对噪声非常敏感,使用前需要对输入信号进行滤波。2.2 数字式增量PID控制算法计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此,连续PID控制算法不能直接使用,需要采用离散化方法,根据采样时刻的偏差值计算控制量,离散化得: (2-2) 式中 k为采样序号,k=0,1,2,3 如果采样周期足够小,这种离散逼近相当精确。式中u(k)为全量输出,它对应于被控对象的执行机构第k次采样时刻应达到的位置。因此,上式称为PID位置型控制算式。可以看出,按PID位置型控制算式计算u(k)时,输出值与过去所有状态有关。当执行机构需要的不是控制量的绝对数值,而是其增量时(如步进电机的驱动),可导出下式: (2-3) 其中, 此式称为增量型PID控制算式,增量型PID控制算式具有以下优点:1. 计算机只输出控制增量,即执行机构位置的变化部分,因而误动作影响小。2. 在k时刻的输出u(k),只需要用到此时刻的偏差,及前两次的偏差和前一次的输出值,这大大节约了内存的计算时间。3. 在手动-自动切换时,控制量冲击小,能够较平滑地过渡。位置式控制算法可通过增量式控制算法推出递推计算公式: (2-4)这就是目前在计算机控制中广泛应用的数字递推PID控制算式。2.3 标准PID算法的改进 在实际过程中,控制变量因受到执行元件机械和物理性能的约束而限制在有限范围内,即UminuUmax,如果由计算机给出的控制量u在上述范围内,那么控制可以按预期的结果进行。一旦超出上述范围,例如超出最大阀门开度或进入执行元件的饱和区,那么实际执行的控制量就不再是计算值,由此将引起不希望的效应,这类效应通常称为饱和效应。这类现象在给定值发生突变时特别容易发生,所以有时也称为启动效应。下面,我们分析这类效应在PID算法中带来的影响及克服的办法:若给定值w从0突变到w0,且根据PID位置算法算出的控制量超出限制范围,那么实际上控制量只能取上界值Umax,而不是计算值。此时系统输出y虽不断上升,但由于控制量受到限制,其增长要比没有限制时慢。偏差e将比正常情况下持续更长的时间保持在正值,而使PID位置算式中的积分项有较大的累积值。当输出超过给定值w0后,开始出现负偏差,但由于积分项的累积值很大,还要经过相当一段时间后控制变量u才能脱离饱和区,这样,就使系统出现了明显的超调。显然,在PID位置算法中“饱和作用”主要是由积分项引起的,故称为”积分饱和”。克服积分饱和的方法有:1遇限削弱积分法。这一修正算法的基本思想是,一旦控制变量进入饱和区,将只执行削弱积分项的运算而停止进行增大积分项的运算。具体说,在计算ui时,将判断上一时刻的控制量ui-1是否已超出限制范围,如果已超出,那么将根据偏差的符号,判断系统输出是否在超调区域,由此决定是否将相应偏差计入积分项。2积分分离法。减小积分饱和的关键在于不能使积分项累积过大。上面的方法是一开始就积分,但进入限制范围后即停止累积。积分分离法与其相反,它在开始时不积分,直到偏差达到一定阀值后才进行积分累积。这样,一方面防止一开始有过大的控制量,另一方面即使进入饱和后,因积分累积小,也能较快退出,减少了超调。2.4 干扰的抑制PID控制算法的输入量是偏差e,也就是给定值与系统输出的差。在进入正常调节后,由于输出已接近给定,e的值不会太大。所以相对而言,干扰对调节有较大的影响,除了从系统硬件及环境方面采取措施外,在控制算法上也可采取一定的措施,以抑制干扰的影响。对于作用时间较为短暂的快速干扰,例如采样器,A/D转换器的偶然出错等,我们可以简单地采用连续多次采样求平均值的办法予以滤除。例如围绕着采样时刻ti连续采样N次,可得到ei1、ei2、 、eiN。由于快速干扰往往比较强烈,只要有一个采样数据受到快速随机干扰,即使对它们求平均值,干扰的影响也会反映出来。因此,应剔除其中的最大最小值,对其余的N-2次采样求平均值。由于在N次中连续偶然出错的可能很小,故这样做已足以消除这类快速随机干扰的影响。2.5 PID调节器的参数整定PID调节器的设计一般来说可分为两个部分,首先是选择调节器的结构,以保证闭环系统的稳定,并尽可能消除稳态误差。如要求系统稳态误差为零,则应选择包含积分环节的调节器如PI,PID等。对于有滞后性质的对象,往往引入微分环节等。另外,根据对象和对控制性能的要求,还可采用一些改进的PID算法。一旦调节器的结构确定下来,下一步的任务就是调节器参数的整定。2.5.1 采样周期的选定进行数字PID控制器参数整定时,首先应该解决的一个问题是确定合理的采样周期T。采样周期T必须足够短,才能保证有足够的精度。但采样周期短则会加重计算机的任务,影响工作效率,因此应合理选择采样周期。采样周期T应远远小于系统中其它的时间常数,否则可能会由于采样的频带宽度不够而无法反映系统的动态过程。一般来说,采样周期T的最大值受系统稳定性条件和香农采样定理的限制而不能太大。T的最小值则受到计算机在一个采样周期内能完成的计算工作量的限制,实际中常选2PAI/T为系统有用信号最高频率的410倍。系统的给定频率较高时,采样周期T相应减少,以使给定的变化得到反映。采样周期还与所采用的控制算法和执行机构的类型有关。当采用数字PID控制算法时,积分作用和微分作用都与采样周期有关。选择T太小时,e(k)变化就很小,积分和微分作用将都不明显。此外,通常执行机构惯性较大,采样周期T应能与之相适应。如果系统的干扰是高频的,则要适当的选择采样周期,使得干扰信号的频率处入采样器频带之外,从而使系统具有足够的抗干扰能力。如果干扰是频率已知低频干扰,为了能够采用滤波的方法排除干扰信号,采样频率应该与干扰信号的频率成整数倍的关系。2.5.2 PID参数的整定采样周期T通常远远小于系统的时间常数,因此,PID参数的整定可以按模拟调节器的方法来进行。参数整定通常有两种:理论设计法和实验确定法。前者需要有被控对象的精确模型,然后采用最优化的方法确定PID的各参数。被控对象的模型可通过物理建模或系统辨识方法得到,但这样通常只能得到近似的模型。因此,通过实验确定法(如试凑法,工程整定法)来选择PID参数是经常采用又行之有效的方法。本方案采用了试凑法。试凑前先要知道PID各调节参数对系统响应的影响。 试凑法是通过计算机仿真或实际运行,观察系统对典型输入作用的响应曲线,根据各调节参数(Kp,Ti,Td)对系统的影响,反复调节试凑,直到满意为止,从而确定PID参数。增大比例系数Kp将加快系统响应并减小系统稳态误差,但过大会产生较大的超调量,产生震荡,破坏系统的稳定性。增大积分时间常数Ti可使减小超调,提高系统稳定性,但系统误差的消除将随之变慢。增大微分时间常数Td可加速系统的响应,使超调量减小,增加系统的稳定性,但系统抗干扰能力下降。试凑时,可参考以上参数对控制系统性能的影响趋势,实行先比例,后积分,再微分的反复调整。(1)首先只调比例系数,将Kp由小到大,使响应曲线略有超调。此时系统若无稳态误差或稳态误差已小到允许范围内,并且认为响应曲线已属满意,那么,只须用比例调节器即可。(2)若在比例调节的基础上,系统稳态误差太大,则必须加入积分环节。整定时先将第一步所整定的比例系数略为缩小(如0.8倍),再将积分时间常数Ti置为一较大值并连续减小,使得在保持良好动态性能的前提下消除稳态误差。这一步可反复进行。(3)若使用PI调节器消除了稳态误差,但系统动态响应经反复调整后仍不能令人满意,则加入微分环节,构成PID控制器。在整定时先将微分时间常数Td设定为零,再逐步增加Td并同时进行前面两步的调整,以获得满意的调节效果和控制参数。需要指出,PID调节器的参数对控制系统性能的影响通常并不十分敏感,参数整定结果可以不唯一。第三章 软件实现本章是整个设计中的重点,电机的同步需要一个合理的数字控制器来实现,就要将前面介绍的PID控制算法用软件来实现。以下首先介绍了用C51语言给单片机编程的优点,接着对所用到的单片机内部资源作了介绍,这是编程过程中前期要做的工作。对主体程序各模块子程序的功能以及设计思想作了描述。调试是程序设计中一个重要的组成部分,用C语言给单片机编程序,且单片机功能相对也比较多,程序是在多次调试中完善的。具体程序部分见附录2。3.1 C51语言在单片机的开发和应用中,汇编语言曾是单片机工程师进行软件开发的惟一选择。汇编是一种面向机器的程序语言,可以直接控制硬件,指令执行速度快,效率很高。但其语言形式晦涩,可读性差,难于编写和调试,也不便于移植。目前,C语言已渐成为国内外开发单片机的主流语言。C语言是一种通用的编译型结构化程序设计语言,兼顾了多种高级语言的特点,并具备汇编语言的功能。它支持当前程序设计中广泛采用的由顶向下的结构化程序设计方法。一般的高级语言难以实现汇编语言对于计算机硬件直接进行操作的功能,而C语言既有一般高级语言的特点,又能直接对硬件进行操作。C语言有功能丰富的库函数,运行速度快,编译效率高,并且便于在不同类型计算机之间进行移植。因此,C语言应用范围广,是单片机开发和应用的必然趋势。C语言在单片机开发中有以下突出优点:1.语言简洁,使用方便灵活。C语言是现有程序设计语言中规模最小的语言之一,关键字少,ANSI C标准一共只有32个关键字,9种控制语句。C语言书写形式自由,表达方式简洁,使用一些简单的方法就可以构造出相当复杂的数据类型和程序结构。2.可移植性好,不同公司开发的C语言都必须符合ANSI C的标准真正存在差异的是非ANSI C的扩展部分。3.表达能力强。C语言具有丰富的数据结构类型来实现各种复杂数据结构的运算,C还具有多种运算符,增强了程序处理能力。对于直接与单片机相关的中断服务程序的现场保护和恢复,中断向量表的填写问题,都由C编译器代办。4.可进行结构化程序设计。C以函数作为程序基本设计单元,一个函数即相当于一个程序模块。5.可直接操作计算机硬件。C语言可直接访问片内外存储器,还可进行位操作,提供auto、static、register、const等和data、idata、pdata、xdata、code等存储类,自动为变量合理分配地址。针对8051的派生芯片,还提供等small、compact、large编译模式以适应存储器的大小。3.2 单片机片内的资源配置3.2.1 单片机内各功能模块配置程序设计中所需要的单片机内部各功能模块如表3.1,包括5个定时计数器,PCA0以及串口控制器UART0。其中,Timer0和Timer1与传统MCS-51的设计是一样的,可按传统51用法使用,这里就不介绍了,具体工作方式见初始化程序模块。T2、T3和T4是增强型16位自重载和捕捉定时/计数器,可用作定时ADC采样、DAC波形生成、方波输出和通常用途。PCA0为可编程计数器阵列,提供了增强型计数器功能,使得MPU软件干预更少,更易于信号生成和处理。UART0为增强型串行通信总线,C8051F040的UART0与传统MSC-51的相比增加了帧错误检验和通讯地址识别功能。以下具体地对这些功能模块作一些介绍。表3.1 单片机内部功能模块使用情况说明表定时器Timer0:PCA0定时/计数器时基Timer1:UART0使用Timer2:计主电机的速度脉冲Timer3:计从电机的速度脉冲Timer4:25ms定时器,循环4次构成采样时间和计算时间PCA0PCA0:产生主电机PWM波PCA1:产生从电机PWM波UART0单片机与上位机串行通信控制器T2、T3和T4的功能是相同的,不能作为8位定时/计数器,只能工作在16位模式下,可自动重载、捕捉和产生50%占空比的频率可调脉冲方波,且可以控制计数的方向。它们的时钟源可以是系统时钟及其分频、外部时钟或它们输入引脚的脉冲。这些都是通过特殊功能寄存器TMRnCN和TMRnCF设置的。双向计数模式对电机速度控制很方便,可计电机的正反转。捕捉模式常用来测量脉宽。方波输出模式可产生50%占空比的频率可调脉冲方波。PCA0提供了一个16位定时/计数器和6个捕捉/比较模块。每个捕捉/比较模块都有独立的I./O口,可通过交叉开关配置到CEXn。PCA定时/计数器时钟源可为系统时钟、系统时钟4分频、系统时钟12分频、外部时钟8分频、T0溢出和ECI。ECI可配置到P口上,作为PCA时钟的一个扩展。6个模块共用一个时钟,可分别独立工作在以下6中模式:边沿触发捕捉;软件定时;高速输出;频率输出;8位PWM脉宽调制;16位PWM脉宽调制。其中在8位PWM脉宽调制模式下的输出波形频率为PCA时钟频率的256分频,8位PWM占空比公式为: (3-1)此时,只要将PCA0开启,为PCA配置一个时钟源,将相应模块设在8为PWM模式下,并将PWM输出开启,再将该模块配置到一个I/O口上,则不再需要处理器的干预,PCA会自动地向外端口输出PWM波,只有当需要改变占空比的时候,修改一下该模块的捕捉比较寄存器PCA0CPHn即可。UART0有同步(半双工)和异步(全双工)模式,同步模式下MPU只能处于主机模式,无法作为从机模式,因此,双MPU不能直接通信。同步模式常用来作为移位寄存器的接口。异步模式有三种,这里仅介绍模式1。模式1为标准的异步全双工通信,用10位表示一字节信息:1个起始位、1个停止位和8位数据信息。数据由TX0发送,RX0接收,总线上不带时钟,靠主从机预先指定的波特率进行通信。向SBUF0写数据即启动UART0发送数据,当数据帧停止位发送完毕,TI0自动置1。接收数据时当接收到停止位时将数据载入SBUF0,同时将RI0自动置1。模式1波特率时钟靠定时器溢出产生,系统可根据需要选择T1T4之间的任一个定时器作为UART0波特率发生器。其中,T1作为波特率发生器时工作在8位自动重载模式下。波特率计算公式如下: (3-2)3.2.2 单片机的端口配置单片机的外部输入输出端口配置如表3.2。C8051F040单片机由于体积小,不可能把每一个功能都设计成一个关口,而是采用交叉开关的设计方法,通过优先级解码,将各个功能按优先级顺序配置到P0P3口上。P0P3口既可作为普通通用输入/输出口,又可作为特殊功能口,比如UART、PWM、定时器输入输出口及外部事件中断等,由交叉开关寄存器XBR0,XBR1,XBR2和XBR3配置决定。优先级高的模块会自动分配到前面的端口上。大部分被交叉开关配置的端口其输出模式仍受PnMDOUT控制,有推挽和开漏两种输出模式。表3.2. 单片机I/O端口配置表资源分配I/O管脚P0.0:TX0发送数据端P0.1:RX0接收数据端P0.2:CEX0,PWM0输出P0.3:CEX1,PWM1输出P0.4:T2主电机速度脉冲输入P0.5:T3从电机速度脉冲输入3.3 程序模块介绍软件是控制器的灵魂,在数字控制系统中,主从式控制结构以及PID控制算法都要有相应的软件才能够实现。在本设计中,软件需要完成以下任务:(1)各功能模块初始化;(2)测量并计算主从电机速度;(3)按偏差信号进行PID计算,得出主从电机的控制量并依次改变两路PWM的占空比;(4)建立与上位PC机的通信,能按上位机的命令调整主电机的速度设定值并反馈主从电机实际速度值。因此,总的程序可分为以下程序段:初始化模块;测速子程序;串口通信子程序;主程序。下面分别予以介绍。3.3.1 初始化模块初始化子程序段是通过在主程序中调用来完成初始化功能的。由于本系统使用的是片上系统(SOC)单片机,与其他类型的单片机相比,其内部有着更多的数字资源,工作方式多样,对所用到的内部资源必须一一进行初始化以保证正常工作,所以初始化是非常重要的一环。初始化流程图如图3.1所示。各数字模块设置的工作方式如下:(1)端口配置情况如表2。其中P0.0口,P0.2口和P0.3口均设为推挽输出,P0.1口、P0.4口和P0.5口均设为开漏输出。系统时钟采用内部晶振1分频,即24.5MHZ,精度高达2%;(2)PCA定时/计数器时钟源采用T0溢出率,模块CEX0、CEX1工作8位PWM输出模式下,在本设计中,控制直流电机的两路PWM波频率设在1KHZ;(3)UART0工作在模式1下,即为标准异步全双工通信,其波特率时钟为Timer1溢出率的16分频,采用115200HZ。当接收中断标志位RI=1或发送中断标志位TI=1时,程序进入UART0中断执行接收或发送数据的指令;(4)Timer0工作在定时器模式2下即8位自动重载模式下,以系统时钟作为自己的时钟源,在程序中T0的溢出率作为PWM0和PWM1的时基, (3-3)端口配置和晶振设置PCA0初始化UART0初始化定时器0初始化定时器1初始化定时器2初始化定时器3初始化定时器4初始化开 始 图3.1 初始化流程图(5)Timer1工作在定时器模式2下即8位自动重载模式下,以系统时钟作为自己的时钟源,在程序中T1作为UART0的波特率发生器, (3-4)(6)Timer2工作在计数模式下,通过查询可得到与主电机相连接的光电编码器在25ms内发出的脉冲数;(7)Timer3工作方式与 Timer2相同,计量从电机的速度脉冲;(8)Timer4工作在自动重载定时方式下,以系统时钟的12分频作为自己的时钟源,定时25ms, 定时时间一到发出中断信号,程序开始响应T4中断。 (3-5)3.3.2 测速子程序测速子程序是通过调用Timer4中断来完成的。Timer4中断子程序流程图如图3.2所示。T4循环定时,定时时间是25ms,作为速度采样的基本周期。T4定时时间一到,程序就进入中断,分别读取一次主从电机的速度。在T4中断子程序中,变量i作为T4定时循环标志,当循环4次达到0.1秒,变量j被置1,变量j是主程序运算标志,当j等于1时,主程序进入if语句进行一次控制计算。因此,本程序的控制周期为0.1秒。电机的速度是每25ms采样一次,在0.1秒内,每个电机的速度脉冲都计了4次,分别依次保存在两个4维数组CS1和CS2中,4个数值相加就是0.1秒内电机的实测脉冲数。本程序在计算中采用了一定的抗干扰措施,即舍去四个脉冲数据中的最大最小值,由剩余两数相加乘2作为整个时间段(0.1s)内应计的脉冲个数,这能很好地克服瞬时性的干扰。值得说明的是,主从电机在0.1秒内所计的速度脉冲数值cesu1和cesu2,它与电机以分钟为单位的实际转速是不同的,它们之间成一个正比的关系,设主从电机的实际速度分别是speed1和speed2,它们之间的换算关系如下: (3-6) (3-7)由于本设计中所采用的直流电机额定速度达到500转/分,已经超出了一个字节的范围,用这个数值进行偏差计算仍然需要定义一个16位的整形变量来表示,并不能简化计算量。在500转/分的额定转速下能测到的脉冲个数能达到834,输出控制量是8位PWM的占空比,其范围是0到255,为了提高控制精度,在计算主电机速度偏差时采用了测量脉冲数,这就要求将主电机的设定速度转化成0.1秒下单片机应计的标准脉冲个数shd进行偏差计算。例如要求电机的转速为shj,其转化公式为: (3-8)i 自加1
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 机械理论


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!