直流电机PID闭环数字控制系统器设计
- 格式:doc
- 大小:697.50 KB
- 文档页数:12
基于PID控制的步进电机位置闭环控制系统设计一、引言在现代自动化控制系统中,步进电机广泛应用于各种精密定位和定量控制需求的场景。
步进电机的控制涉及到位置的精确定位和稳定性的维持,这就需要一个有效的闭环控制系统来实现。
PID控制器被广泛应用于步进电机的闭环控制系统设计中,本文将探讨基于PID控制的步进电机位置闭环控制系统的设计原理和实现方法。
二、步进电机简介步进电机是一种特殊的直流电动机,通过控制脉冲信号的频率和顺序来实现精确控制。
步进电机的圆周分为若干等角度的步进角,每个步进角对应一个旋转角度,这使得步进电机在控制方面更加便捷和精确。
由于步进电机无需传感器反馈,因此常用于定量控制和精确位置控制的场合。
三、PID控制器原理PID控制器是一种经典的闭环控制器,其由比例(P)、积分(I)、微分(D)三个部分组成。
比例控制决定输出与偏差的比例关系,积分控制消除系统稳态误差和提高系统的响应速度,微分控制用于抑制系统对于负荷变化的敏感性。
PID控制器采用反馈控制策略,利用实际输出和期望输出之间的偏差来调整控制量。
四、步进电机位置闭环控制系统设计步进电机的位置闭环控制系统设计基于PID控制器。
首先,需要传感器来获得实际位置信息,然后与期望位置进行比较以获取偏差。
接下来,将偏差作为输入,经过PID控制器计算出控制量,并输出给步进电机驱动器。
步进电机驱动器根据控制量控制步进电机的旋转,从而实现位置的精确控制。
五、传感器选择为了获取步进电机的实际位置信息,需要选择合适的传感器。
常用的传感器包括光电编码器和霍尔传感器。
光电编码器具有高精度和高分辨率的特点,但价格较高;霍尔传感器则具有较低的价格和较高的可靠性,但分辨率较低。
根据具体需求和预算可选择合适的传感器。
六、PID参数调整PID控制器的性能很大程度上取决于参数的选择。
比例参数决定了响应的速度和稳定性,过大的比例参数会导致系统震荡,过小则导致响应速度慢;积分参数消除稳态误差,过大的积分参数会导致系统震荡,过小则无法消除稳态误差;微分参数能够抑制系统对负荷变化的敏感性,过大的微分参数会导致系统噪声,过小则无法起到抑制作用。
电机控制系统PID调节器设计与实现一、引言随着电机在工业、农业、交通等领域的广泛应用,如何实现电机的精确控制成为了一项重要挑战。
PID调节器作为一种常用的控制算法,被广泛应用于电机控制系统中。
本文将介绍电机控制系统中PID调节器的设计与实现。
二、PID调节器原理及控制策略PID调节器是一种常用的闭环控制算法,它包含比例控制、积分控制和微分控制三个部分。
比例控制是根据误差信号的大小进行控制,积分控制是处理误差信号的累计值,微分控制是根据误差信号的变化率进行控制。
PID调节器结合了三个控制策略,可以实现对系统的快速响应、精确控制等优秀特性。
三、PID调节器的实现方法PID调节器的实现方法取决于电机控制系统的具体应用场景与控制需求。
一般来说,PID调节器可以分为模拟PID和数字PID 两种实现方法。
1、模拟PID调节器模拟PID调节器是基于传统的模拟电路进行实现的,它需要使用模拟运算放大器等元器件实现PID调节器的比例、积分和微分计算。
模拟PID调节器的优点是响应速度快、控制精度高,但缺点是难以实现复杂的控制算法。
因此,模拟PID调节器通常仅适用于简单的电机控制系统。
2、数字PID调节器数字PID调节器是基于数字信号处理器(DSP)等器件进行实现的,它可以通过编程实现PID调节器的比例、积分和微分运算。
数字PID调节器的优点是可以实现复杂的控制算法、易于开发和调试。
数字PID调节器通常适用于电机控制系统的高级控制或者涉及多轴控制的应用场景。
四、电机控制系统PID调节器设计实例本文以直流电机控制系统为例,介绍PID调节器的设计方法。
1、控制系统模型建立假设直流电机的控制系统如图1所示,它由电气子系统和机械子系统组成。
电气子系统包含直流电机、电源、电阻和感性电路。
机械子系统包含电机机械负载、转动惯量和摩擦阻力等。
图1 直流电机控制系统示意图则直流电机控制系统的传递函数为:G(s) = K / (Ls + R) * 1 / (Js2 + bs)其中,K是电机的电磁功率常数,L是电机的电感,R是电机的电阻,J是电机的转动惯量,b是电机的摩擦系数。
1 设计方案论证电流环调节器方案一,采用PID调节器,PID调节器是最理想的调节器,能够平滑快速调速,但在实际应用过程中存在微分冲击,将对电机产生较大的冲击作用,一般要小心使用。
方案二,采用PI调节器,PI调节器能够做到无静差调节,且电路较PID调节器简单,故采用方案二。
转速环调节器方案一,采用PID调节器,PID调节器是最理想的调节器,能够平滑快速调速,但在实际应用过程中存在微分冲击,将对电机产生较大的冲击作用,一般要小心使用。
方案二,采用PI调节器,PI调节器能够做到无静差调节,且电路较PID调节器简单,故采用方案二。
2双闭环调速控制系统电路设计及其原理综述随着现代工业的开展,在调速领域中,双闭环控制的理念已经得到了越来越广泛的认同与应用。
相对于单闭环系统中不能随心所欲地控制电流和转矩的动态过程的弱点。
双闭环控制那么很好的弥补了他的这一缺陷。
双闭环控制可实现转速和电流两种负反应的分别作用,从而获得良好的静,动态性能。
其良好的动态性能主要表达在其抗负载扰动以及抗电网电压扰动之上。
正由于双闭环调速的众多优点,所以在此有必要对其最优化设计进展深入的探讨和研究。
本次课程设计目的就是旨在对双闭环进展最优化的设计。
整流电路本次课程设计的整流主电路采用的是三相桥式全控整流电路,它可看成是由一组共阴接法和另一组共阳接法的三相半波可控整流电路串联而成。
共阴极组VT1、VT3和VT5在正半周导电,流经变压器的电流为正向电流;共阳极组VT2、VT4和VT6在负半周导电,流经变压器的电流为反向电流。
变压器每相绕组在正负半周都有电流流过,因此,变压器绕组中没有直流磁通势,同时也提高了变压器绕组的利用率。
三相桥式全控整流电路多用于直流电动机或要求实现有源逆变的负载。
为使负载电流连续平滑,有利于直流电动机换向及减小火花,以改善电动机的机械特性,一般要串入电感量足够大的平波电抗器,这就等同于含有反电动势的大电感负载。
三相桥式全控整流电路的工作原理是当a=0°时的工作情况。
序号(学号〉: 161240303长春大学 毕业设计(论文)直流电机速度PID 控制系统设计李一丹国际教育学院自动化1612403曹福成2016 年 5 月 30 0姓 名 学 院 专 业 班 级 指导教师直流电机速度PID控制系统设计摘要:针对现有的直流电机控速难的问题,本文设计了一种基于ATmegal6L单片机的直流电机速度控制系统。
本系统以ATinegal6L单片机为主控制器,搭载了L298n为电机驱动,通过霍尔元件进行测速,通过按键控制电机的转动方向和转动速度,并配以温度传感器DS18B20对温度进行监测,通过PID算法调节PW\1 进行对速度控制。
该系统包括的模块主要有单片机为主体的控制模块、电机的驱动模块、对电机速度进行监测的模块、由LCD1602构成的显示ky r模块、电源模块和按键控制模块等。
本系统可以通过PID算法实现可编程脉宽波形对直流电机的速度进行控制,并且可以显示出当前电机的转速。
关键词:单片机;PID算法;直流电机The design of DC motor speed control system with PID Abstract: According to the existing DC motor speed control problem, this paper describes the design of a DC motor speed control system based on ATmegal6L MCU. To ATMEGA16L microcontroller as the main controller for the system, equipped with a L298n for motor drive, through the hall element of speed, through the buttons to control the motor rotation direction and the rotation speed, and the temperature sensor DS18B20 the temperature monitoring, PID algorithm is used to adjust the PWM control of the speed. The system includes the following modules display microprocessor control module, as the main body of the motor drive module, monitoring module, the speed of motor is composed of LCD1602 module, power supply module and key control module.This system can realize through PID algorithm to control the speed of the programming pulse waveforms of DC motor, and can display the current motor speed.Keywords: single chip microcomputer, PID algorithm, DC motor ky r戈ml ml ——II —In —In | * 11—I 1111 ml 1111目录Bit (1)l.i选题背景及意义 (1)1.2国内外研宄现状 (2)1.3木文主要研究的内容 (3)第2章总体方案论述 (4)ky r2.1系统主要传感器介绍 (4)2.1.1温度传感器 (4)2.1.2转速检测模块 (5)2.2系统总体功能及方案选择 (6)2.2.1系统所需模块及功能 (6)2.2.2主控制器选择 (8)第3章系统总体硬件设计 (10)3.1单片机最小系统 (10)3.1.1ATmegal6L单片机的引脚分布 (10)3.1.2最小系统的硬件电路 (13)3.2电机驱动电路 (14)3.3温度检测电路 (15)3.4光电管提示电路和按键控制电路 (15)3.5LCD1602 显示电路 (16)3.6电源电路 (17)3.7本章小节 (18)第4章系统软件设计 (19)4.1系统总体流程图 (19)4.2 PID算法简介 (19)4.2.1PID算法介绍 (20)4.2.2HD算法结果 (21)4.3系统调试步骤 (21)4.4误差分析即改进方法 (22)给论 (23)致谢 (24)参考文献 (25)隱 (26)附录I系统总体硬件电路图 (26)附录II系统中部分程序 (27)ky r In—ml ml ml ml | , I af—.第1章绪论1.1选题背景及意义电动机简称电机,俗称马达,在现实生活中,我们处处都可以见到电机的身影,小到小学生玩的电动四驱车,大到炼钢厂用的滚动罐,这些都是电机家族的成员。
实验报告直流电机闭环调速控制系统设计和实现班级:姓名:学号:时间:指导老师:2012年6月一、实验目的1.了解闭环调速控制系统的构成。
2.熟悉PID 控制规律,并且用算法实现。
二、实验设备PC 机一台,TD-ACC+实验系统一套,i386EX 系统板一块三、实验原理根据上述系统方框图,硬件线路图可设计如下,图中画“○”的线需用户自行接好。
上图中,控制机算机的“DOUT0”表示386EX 的I/O 管脚P1.4,输出PWM 脉冲经驱动后控制直流电机,“IRQ7”表示386EX 内部主片8259 的7 号中断,用作测速中断。
实验中,用系统的数字量输出端口“DOUT0”来模拟产生 PMW 脉宽调制信号,构成系统的控制量,经驱动电路驱动后控制电机运转。
霍尔测速元件输出的脉冲信号记录电机转速构成反馈量。
在参数给定情况下,经PID 运算,电机可在控制量作用下,按给定转速闭环运转。
系统定时器定时1ms,作为系统采样基准时钟;测速中断用于测量电机转速。
直流电机闭环调速控制系统实验的参考程序流程图如下:四、实验步骤1.参照图 6.1-3 的流程图,编写实验程序,编译、链接。
2.按图6.1-2 接线,检查无误后开启设备电源,将编译链接好的程序装载到控制机中。
3.打开专用图形界面,运行程序,观察电机转速,分析其响应特性。
4.若不满意,改变参数:积分分离值Iband、比例系数KPP、积分系数KII、微分系数 KDD 的值后再观察其响应特性,选择一组较好的控制参数并记录下来。
5.注意:在程序调试过程中,有可能随时停止程序运行,此时DOUT0 的状态应保持上次的状态。
当DOUT0 为1 时,直流电机将停止转动;当DOUT0 为0 时,直流电机将全速转动,如果长时间让直流电机全速转动,可能会导致电机单元出现故障,所以在停止程序运行时,最好将连接DOUT0的排线拔掉或按系统复位键.五、心得体会此次实验是直流电机闭环调速控制系统的设计和实现,通过这次实验,让我了解了闭环调速控制系统的基本构成。
基于MATLAB的数字PID直流电机调速系统本文主要研究基于MATLAB的数字PID直流电机调速系统。
直流电机是工业生产中常用的电机,其调速系统对于保证生产效率和质量至关重要。
因此,研究直流电机调速系统的控制方法和参数设计具有重要意义。
本文将首先介绍直流电机的数学模型和调速系统的工作原理,然后探讨常规PID控制器的设计方法和参数控制原理,最后通过MATLAB仿真实验来研究数字PID控制器的设计和应用。
2 直流电机调速系统的数学模型直流电机是一种常见的电动机,其数学模型可以用电路方程和动力学方程来描述。
电路方程描述了电机的电气特性,动力学方程描述了电机的机械特性。
通过这两个方程可以得到直流电机的数学模型,为后续的控制器设计提供基础。
3 直流电机调速系统的工作原理直流电机调速系统是通过控制电机的电压和电流来改变电机的转速。
其中,电压和电流的控制可以通过PWM技术实现。
此外,还可以通过变换电机的电极连接方式来改变电机的转速。
直流电机调速系统的工作原理是控制电机的电压和电流,从而控制电机的转速。
4 常规PID控制器的设计方法和参数控制原理常规PID控制器是一种常见的控制器,其控制原理是通过比较实际输出值和期望输出值来调整控制器的参数,从而实现控制目标。
常规PID控制器的参数包括比例系数、积分系数和微分系数,这些参数的选取对于控制器的性能有重要影响。
常规PID控制器的设计方法是通过试错法和经验公式来确定参数值。
5 数字PID控制器的设计和应用数字PID控制器是一种数字化的PID控制器,其优点是精度高、可靠性强、适应性好。
数字PID控制器的设计方法是通过MATLAB仿真实验来确定控制器的参数值。
数字PID控制器在直流电机调速系统中的应用可以提高系统的控制精度和稳定性。
6 结论本文主要研究了基于MATLAB的数字PID直流电机调速系统,介绍了直流电机的数学模型和调速系统的工作原理,探讨了常规PID控制器的设计方法和参数控制原理,最后研究了数字PID控制器的设计和应用。
《计算机控制技术课程设计》题目:基于STM32的直流电机PID调速学院:计算机与电子信息学院专业:电气工程及其自动化班级:电气12-5 学号:姓名:任课教师:完成时间:——基于STM32的直流电机PID调速摘要电机转速控制在运动控制系统中占有至关重要的地位,本设计将电机转速控制作为研究对象;以PID为基本控制算法,STM32F103单片机为控制核心,产生受PID算法控制的PWM脉冲实现对直流电机转速的控制。
同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。
在系统中采320×240TFTLCD显示器作为显示部件,通过4个按键通过界面切换方式设置P、I、D、V四个参数和正反转控制,启动后可以通过显示部件了解电机当前的运行状态和系统的CPU温度。
该系统控制精度高,具有很强的抗干扰能力。
关键词:PID 直流电机反馈调节Based on the STM32 PID speed control of dc motorAbstractMotor speed control occupies a crucial position in the motion control system, the design of the motor speed control for the study; in the basic PID control algorithm, STM32F103 microcontroller core, by the PID control algorithm generates a PWM pulse to achieve DC speed control. At the same time the use of photoelectric sensors to convert the motor speed to pulse frequency feedback to the microcontroller to achieve closed-loop speed control, to speed static error adjustment purposes. Mining 320 × 240TFTLCD monitor as a display unit in the system, through four key settings P, I, D, V four parameters and reversing control through the interface switching mode, start to understand the current state of the motor and the system through the display unit CPU temperature. The system control and high precision, has a strong anti-jamming capability.Keywords: PID DC motor feedback regulation目录1. 绪论 (1)研究背景与意义 (1)本文主要研究方法 (1)2. 设计方案与论证 (2)系统设计方案 (2)控制器模块设计方案 (2)3. 系统硬件电路设计 (3)整体电路设计 (3)整体理论 (3)整体简单结构图和资源分配图 (3)最小单片机系统设计 (4)STM32F103复位电路 (6)电源电路 (6)电机驱动电路设计 (7)光电码盘编码器电路设计 (7)显示电路设计 (8)按键电路设计 (10)4. 系统软件设计 (10)PID算法 (10)PID参数整定方法 (11)电机速度采集算法 (12)程序流程图 (12)5. 系统调试 (13)软件调试 (13)系统测试与分析 (14)6. 总结与展望 (15)参考文献 (16)附录一部分程序源程序 (17)附录二系统界面实物图和PCB图 (20)1.绪论1.1研究背景与意义电动机在现代的工业中,是主要的驱动设备,尤其是直流电动机,由于它的平滑调速性和结构上的简单,使其成为许多电器,如洗衣机,电梯等的驱动。
双闭环直流调速系统设计1.电机数学模型的建立首先要建立电机的数学模型,这是设计双闭环直流调速系统的基础。
根据电机的参数和运动方程,可以得到电机的数学模型,一般为一组耦合的非线性微分方程。
2.速度内环设计速度内环负责实现期望速度的跟踪控制。
常用的设计方法是采用比例-积分(PID)控制器。
PID控制器的输出是速度的修正量,通过与期望速度相减得到速度误差,然后根据PID算法计算控制器输出。
PID控制器的参数调节是一个关键问题,可以通过试探法、经验法或优化算法等方法进行调节,以实现最佳的速度跟踪性能。
3.电流外环设计电流外环的作用是保证电机的电流输出与速度内环控制输出的一致性。
一般采用PI调节器进行设计。
PI调节器的参数通过试探法、经验法或优化算法等方法进行调节,以实现电流输出的稳定性。
4.稳定性分析与系统稳定控制设计好速度内环和电流外环后,需要对系统的稳定性进行分析。
稳定性分析可以通过线性化方法、根轨迹法、频率响应法等方法进行。
分析得到系统的自然频率、阻尼比等参数后,可以根据稳定性准则进行系统稳定控制。
常用的控制方法包括模型预测控制、广义预测控制、滑模控制等。
5.鲁棒性设计在双闭环直流调速系统设计中,鲁棒性是一个重要的指标。
通过引入鲁棒性设计方法,可以提高系统对参数扰动和外部干扰的抑制能力。
常用的鲁棒性设计方法包括H∞控制、μ合成控制等。
以上是双闭环直流调速系统设计的一般步骤,具体的设计过程可能因实际应用和控制要求的不同而有所差异。
设计双闭环直流调速系统需要深入了解电机的特性和系统的控制需求,综合运用控制理论和工程方法,通过模拟仿真和实验验证来不断调整和优化控制参数,以实现系统的高性能调速控制。
目录一、课题简介 (1)二、方案设计 (1)1. 系统整体设计 (1)2. 电机的传递函数 (2)3.集成H桥驱动器 (3)4. 发电机传递函数 (5)5. 信号整形电路 (5)6. 显示电路 (6)7. D/A转换电路 (7)8.51单片机最小系统 (8)三、电机实验模型的建立 (8)四、控制系统仿真分析 (11)1. 电机的开环特性仿真分析 (11)2. 闭环控制器的设计 (12)3. 离散域对控制系统的仿真分析 (14)3.1 PI调节器的离散化 (15)3.2零阶保持器与电机传函的离散化 (15)3.3离散域仿真分析 (15)五、系统实际效果与理论分析的比较 (16)1. 电机的开环特性 (16)2. 电机系统的闭环特性 (17)2.1 闭环系统消除稳态误差 (17)2.2 正阶跃响应特性 (18)2.3 正、负阶跃响应特性 (19)2.4 闭环系统抗扰动能力 (19)六、控制算法的实现 (20)七、总结 (21)1.实验过程中存在的问题 (21)1.1电机模型的测量不够精确 (21)1.2电机模型的降阶处理 (21)1.3电机转速的测量 (21)1.4微处理器的选择 (22)2.实验收获与体会 (22)附录一 (23)附录二 (23)附录三(离散域仿真补充) (33)直流电动机速度闭环控制系统设计报告(华中科技大学电气学院武汉430074)一、课题简介现代化生产和生活中,电动机的作用十分重要,无论是交通运输、国防、航空航天、医疗卫生、农业生产、商务与办公设备,还是日常生活中的家用电器,都大量地使用各种各样的电动机。
据有关资料介绍,现有90%以上的动力源来自于电动机,我国生产的电能大约有60%消耗于电动机。
因此,研究电动机的控制系统是有较大的现实意义的。
目前电动机的主流控制都是由微机完成的。
电机微机控制系统主要用于一下两个方面:(1)发电机励磁系统的控制用于保证正常工作时发电机电压稳定,发生故障后尽可能保持稳定运行,达到最优化控制的目的。
直流双闭环调速系统设计与仿真一、直流双闭环调速系统的基本原理电流环用于控制电机的电流,通过测量电机的电流反馈信号与给定的电流信号进行比较,得到误差信号,然后经过PID控制器计算控制信号,最后通过逆变器输出给电机控制电流。
二、直流双闭环调速系统的设计1.确定系统参数:包括电机的转矩常数,转矩惯量,电感,电阻等参数。
2.设计速度环控制器:根据转速信号和转速误差信号,设计速度环控制器的传递函数。
可以选择PID控制器,也可以选择其他类型的控制器。
3.设计电流环控制器:根据电流信号和电流误差信号,设计电流环控制器的传递函数。
同样可以选择PID控制器或其他类型的控制器。
4.进行系统仿真:将设计好的速度环和电流环控制器加入电机模型,进行系统仿真。
通过调整控制器参数,观察系统的响应特性,可以优化系统性能。
5.调整控制参数:根据仿真结果,调整控制器的参数,使系统响应更加快速、稳定。
三、直流双闭环调速系统的仿真1.定义系统模型:建立直流电机的状态方程,包括速度环和电流环的动态方程。
2.设定系统初始条件和输入信号:设置电机的初始状态和给定的转速信号以及电流信号。
3.选择控制器类型和参数:根据设计要求,选择控制器类型和参数。
可以选择PID控制器,并根据调试经验选择合适的参数。
4.搭建控制系统模型:将速度环和电流环的控制器模型和电机模型连接在一起,构建闭环控制系统模型。
5.进行系统仿真:利用MATLAB或其他仿真软件进行系统仿真,根据给定的转速信号和电流信号,观察系统的响应特性。
四、直流双闭环调速系统的优化1.参数调整:根据仿真结果,调整控制器的参数,使系统的性能得到优化。
可以通过试探法或自适应调节方法进行参数调整。
2.饱和处理:考虑到电机的饱和特性,可以在控制器中添加饱和处理模块,以提高系统的稳定性和抗干扰能力。
3.鲁棒性设计:考虑到系统参数的不确定性,可以采用鲁棒控制方法,提高系统的鲁棒性能。
4.死区补偿:在电机控制中常常会出现死区现象,可以在控制器中添加死区补偿模块,以减小死区对系统性能的影响。
目录直流电机双闭环PID调速系统仿真 (1)1 转速、电流双闭环直流调速系统的组成及工作原理 (2)2 双闭环调速系统的动态数学模型 (2)3 调节器的设计 (4)3.1 电流调节器的设计 (4)3.2 转速调节器的设计 (6)4 搭建模型 (8)5 参数计算 (10)5.1 参数的直接计算 (10)5仿真具体参数 (13)6 仿真结果 (13)7 结束语 (14)8 参考文献 (16)直流电机双闭环PID调速系统仿真摘要在工程的应用中,直流电动机的占有很大的比例,同时对于直流系统的调速要求日益增长。
在直流调速系统中比较成熟并且比较广泛的是双闭环调速系统,本文对于直流双闭环的PID调速系统作简要的设计,同时利用Matlab/Simulink 仿真软件进行仿真处理。
关键词: 直流双闭环 PID调速在现代化的工业生产过程中,许多生产机械要求在一定的范围内进行速度的平滑调节,并且要求有良好的稳态、动态性能。
而直流调速系统调速范围广、静差率小、稳定性好,过载能力大,能承受频繁的冲击负载,可实现频率的无级快速起制动和反转等良好的动态性能,能满足生产过程自动化系统中各种不同的特殊运行要求。
在高性能的拖动技术领域中,相当长时期内几乎都采用直流电力拖动系统。
开环直流调速由于自身的缺点几乎不能满足生产过程的要求,在应用广泛地双闭环直流调速系统中,PID控制已经得到了比较成熟的应用。
Matlab是目前国际上流行的一种仿真工具,它具有强大的矩阵分析运算和编程功能,建模仿真可视化功能Simulink是Matlab五大公用功能之一,他是实现动态系统仿真建模的一个集成环境,具有模块化、可重载、图形化编程、可视化及可封装等特点,可以大大提高系统仿真的效率和可靠性。
Simulink提供了丰富的模型库供系统仿真使用,它的仿真工具箱可用来解决某些特定类型的问题,也包括含有专门用于电力电子与电气传动学科仿真研究的电气系统模型库。
此外,用户可根据自己的需要开发并封装模型以扩充现有的模型库。
基于PID控制的直流电机转速闭环控制系统设计一、绪论直流电机广泛应用于工业自动化控制系统中,对其转速进行精确控制是提高系统性能和稳定性的关键。
PID控制技术是一种经典且常用的控制方法,被广泛应用于直流电机转速控制系统中。
本文旨在设计一个基于PID控制的直流电机转速闭环控制系统,实现对电机转速的精准控制。
二、直流电机转速控制系统结构直流电机转速闭环控制系统主要由以下几个部分组成:1. 直流电机:负责将电能转化为机械能,并提供给待控对象。
2. 传感器:用于测量电机转速,将测得的转速信号反馈给控制系统。
3. 控制器:根据测量的转速信号与设定值之间的差异,计算控制信号,并输出给执行器。
4. 执行器:根据控制信号控制电机的转速,通过调节电机输入电流实现转速控制。
三、PID控制器原理PID控制器是一种基本的比例-积分-微分控制器,通过调节这三种控制分量的权重,实现对系统的控制。
具体原理如下:1. 比例控制分量:根据测量值与设定值之间的差异,产生与差值成正比的控制信号,用于快速响应系统误差。
2. 积分控制分量:根据时间与误差的乘积进行积分,用于消除系统误差的稳态偏差。
3. 微分控制分量:根据误差的变化率进行微分,用于增强系统的稳定性,减小超调量。
四、基于PID控制的直流电机转速闭环控制系统设计步骤1. 系统建模:根据直流电机的特性以及系统的动力学方程,建立数学模型,描述电机的转速与输入电流之间的关系。
2. 参数调整:根据实际情况,通过试验或者经验,调整PID控制器的三个控制参数:比例系数(Kp),积分时间(Ti),微分时间(Td),以获得系统的最佳控制效果。
3. 信号采集与处理:利用传感器获取电机转速的测量值,然后经过滤波和放大等处理,得到合适的输入信号。
4. PID控制计算:根据测量值与设定值之间的差异,计算PID控制器的输出信号。
5. 信号放大与转换:将PID控制器输出的控制信号进行放大,并转换为合适的电压或电流信号,用于控制电机的转速。
DBUF0 EQU 30H ;显示第一位的缓冲地址,设为30H~37HTEMP EQU 38H ;A/D转换暂存地址,设为38H-3FHPWMH EQU 4AH ;T1定时器高八位装载值PWML EQU 4BH ;T1定时器低八位装载值PWMF EQU 4CH ;T1定时器装载值浮点数WF EQU 46H ;期望频率地址EK0 EQU 59H ;E(K)地址EK1 EQU 56H ;E(K-1)地址EK2 EQU 53H ;E(K-2)地址UK1 EQU 5CH ;U(K-1)地址UK EQU 5FH ;U(K)地址A0 EQU 62H ;A0地址A1 EQU 65H ;A1地址A2 EQU 68H ;A2地址ZC EQU 6BH ;PID运算暂存地址ORG 0000HLJMP MAINORG 000BHAJMP INT0_PORG 001BHAJMP INT1_PORG 0030HMAIN: ;PWM调速主程序MOV TMOD,#11HMOV TH0,#0FCHMOV TL0,#18HMOV TH1,#0MOV TL0,#0MOV PWMH,#0FDHMOV PWML,#29HMOV 70H,#10MOV 71H,#200SETB TR0SETB TR1SETB EASETB ET0SETB ET1JC2: JNB 00H,JC1CLR 00HLCALL A_DLCALL READLCALL PIDLCALL U_PWMJC1: JNB 01H,JC2CLR 01HLCALL DISP1SJMP JC2INT0_P: MOV TH0,#0FCH ;PWM T0中断MOV TL0,#18HMOV TH1,PWMHMOV TL1,PWMLDJNZ 70H,NZW1SETB 00HMOV 70H,#10NZW1: DJNZ 71H,NZW2SETB 01HMOV 71H,#200NZW2: SETB P1.0SETB P1.2SETB TR1NOPRETIINT1_P: CLR P1.0 ;PWM T1中断CLR P1.2CLR TR1NOPRETI;===================================================================== =============;AD转换主程序;===================================================================== =============A_D: MOV 35H,#11H ;灭不需要的显示位MOV 36H,#11HMOV 37H,#11HMOV R0,#DBUF0MOV @R0,#0AH ;数码管第一位显示:AINC R0MOV @R0,#0DH ;数码管第二位显示:DINC R0MOV @R0,#11H ;数码管第三位不显示INC R0 ;R0=33HMOV DPTR,#0FEF0H ;A/D 置通道IN0地址MOV A,#0 ;设置通道0MOVX @DPTR,AWAIT: JB P3.3,W AIT ;等待转换完成的信号MOVX A,@DPTR ; A/D转换的数字量读入至AMOV 51H,A ;将A/D转换结果放置41H,做双字节定点数MOV B,A ;将A中数值暂存BSWAP A ;交换A的高四位与低四位ANL A,#0FH ;保留交换后的低四位,实际上是高4位XCH A,@R0 ;交换A与33H中的数据,数码管第四位显示为A/D转换的数字量的高四位INC R0 ;R0=34HMOV A,B ;将B中暂存的数字量还回AANL A,#0FH ;保留数字量的低四位XCH A,@R0 ;将保留后的数字量还回34H,数码管第五位显示为A/D转换的数字量的低四位;ACALL DISP1 ;调用显示程序;ACALL DELAY ;调用延时程序,延时260msRETDISP1: ;显示子程序MOV R0,#DBUF0MOV R1,#TEMPMOV R2,#8DP10: MOV DPTR,#SEGTABMOV A,@R0MOVC A,@A+DPTR ;查表程序,查SEGTABMOV @R1,A ;暂存查表结果至40H~47H地址单元中INC R0INC R1DJNZ R2,DP10MOV R0,#TEMPMOV R1,#8DP12: MOV R2,#8MOV A,@R0DP13: RLC AMOV 0B0H,CCLR 0B1HSETB 0B1HDJNZ R2,DP13INC R0DJNZ R1,DP12RETSEGTAB: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,BDB 58H,5EH,79H,71H,0,00H ;C,D,E,F,-DELAY: MOV R4,#0FFH ;延时程序,延时260msAA1: MOV R5,#0FFHAA: NOPNOPDJNZ R5,AADJNZ R4,AA1RET;===================================================================== ===;读取AD转换值子程序;===================================================================== ===READ: MOV 50H,#00H ;AD转换结果浮点化,放置到52H-54H中MOV R0,#50HMOV A,#16 ;为16位整数CLR 1FH ;1FH中存放定点数符号位,暂定为正LCALL DTOFMOV R0,#43H ;AD转换最大值放置到43H-45H,并将其浮点化MOV @R0,#00HINC R0MOV @R0,#0F7H ;最大值为0FA,根据八段数码管显示值为准MOV R0,#43HMOV A,#16CLR 1FHLCALL DTOFMOV R0,#40H ;最大转速对应频率放置到40H-43H,并将其浮点化MOV @R0,#01HINC R0MOV @R0,#0EAH ;最大频率为400(0190H),根据实际显示为准MOV R0,#40HMOV A,#16CLR 1FHLCALL DTOFMOV R0,#46H ;输入预期频率至46H-48H,并将其浮点化MOV @R0,#00HINC R0MOV @R0,#32HMOV R0,#46HMOV A,#16CLR 1FHLCALL DTOFMOV R0,#40H ;指向最大频率地址MOV R1,#43H ;求解实际频率,用浮点数表示,放置到40H-42HLCALL FDIV ;最大频率除以最大AD转换值,结果存在[R0]MOV R1,#50H ;指向AD转换结果地址LCALL FMUL ;结果再乘实际AD转换值,实际频率存在40H-42H RET;===================================================================== ==========;PID运算子程序;===================================================================== ==========PID: MOV R1,#46H ;将期望频率从46H-48H转至EK0MOV R0,#EK0LCALL FMOVMOV R0,#EK0 ;指向期望频率地址MOV R1,#40H ;指向实际频率地址LCALL FSUB ;求差,得偏差e(k),偏差地址暂存在EK0中MOV R0,#A0 ;初始化A0,设A0为浮点BCD码输入,将其转换为格式化浮点数做计算用MOV A0,#7FH ;假设初值为000000HINC R0MOV @R0,#10HINC R0MOV @R0,#34HMOV R0,#A0LCALL BTOF ;将A0转化为浮点数做计算用MOV R0,#A1 ;初始化A1,设A1为浮点BCD码输入,将其转换为格式化浮点数做计算用MOV A1,#7FH ;假设初值为000000HINC R0MOV @R0,#10HINC R0MOV @R0,#00HMOV R0,#A1LCALL BTOF ;将A1转化为浮点数做计算用MOV R0,#A2 ;初始化A2,设A2为浮点BCD码输入,将其转换为格式化浮点数做计算用MOV A2,#00 ;假设初值为000000HINC R0MOV @R0,#00INC R0MOV @R0,#00MOV R0,#A2LCALL BTOF ;将A2转化为浮点数做计算用MOV R1,#EK2 ;将EK2值调到PID运算暂存地址中做运算MOV R0,#ZCLCALL FMOVMOV R1,#A2LCALL FMUL ;ZC=A2*EK2MOV R1,#ZCMOV R0,#UKLCALL FMOV ;将ZC=A2*EK2值暂时赋给UKMOV R1,#EK1 ;将EK1值调到PID运算暂存地址中做运算MOV R0,#ZCLCALL FMOVMOV R1,#A1LCALL FMUL ;ZC=A1*EK1MOV R0,#UKMOV R1,#ZCLCALL FSUB ;UK=-A1*EK1+A2*EK2MOV R1,#EK0 ;将EK1值调到PID运算暂存地址中做运算MOV R0,#ZCLCALL FMOVMOV R1,#A0LCALL FMUL ;ZC=A0*EK0MOV R0,#UKMOV R1,#ZCLCALL FADD ;UK=A0*EK0-A1*EK1+A2*EK2MOV R0,#UKMOV R1,#UK1LCALL FADD ;UK=UK1+A0*EK0-A1*EK1+A2*EK2MOV R1,#UKMOV R0,#UK1LCALL FMOV ;将UK值赋给UK1MOV R0,#UK ;对UK做处理,如UK>5,则UK=5MOV R1,#ZCMOV @R1,#03H ;将5(030A00H)赋给地址ZC,做比较INC R1MOV @R1,#0A0HINC R1MOV @R1,#00HMOV R1,#ZCLCALL FCMPJNC UK_5 ;C=0,表示UK>5,将5赋给UKSJMP GO5 ;否则跳过赋值语句UK_5: LCALL FMOVGO5: CLR CMOV R0,#UK ;对UK做处理,如UK<0,则UK=0MOV R1,#ZCMOV @R1,#00H ;将0(000000H)赋给地址ZC,做比较INC R1MOV @R1,#000HINC R1MOV @R1,#00HMOV R1,#ZCLCALL FCMPJC UK_0 ;C=1,表示UK<0,将0赋给UKSJMP GO0 ;否则跳过赋值语句UK_0: LCALL FMOVGO0: CLR CMOV R1,#EK1MOV R0,#EK2LCALL FMOV ;将EK1值赋给EK2MOV R1,#EK0MOV R0,#EK1LCALL FMOV ;将EK0值赋给EK1RET;===================================================================== =====;输出电压转换为定时器T1装载值子程序;===================================================================== =====U_PWM: ;输出电压值转换成定时器T1的初值MOV R0,#PWMF ;定时器区间长度放在#PWMF中并将其浮点化MOV @R0,#03H ;0FFFFH-0FC29H=03D6HINC R0MOV @R0,#0D6HINC R0MOV @R0,#00HMOV R0,#PWMFMOV A,#16CLR 1FHLCALL DTOF ;转成浮点数MOV R1,#ZC ;电压最大值5V放到ZC中MOV @R1,#03H ;将5(030A00H)赋给地址ZC,做比较INC R1MOV @R1,#0A0HINC R1MOV @R1,#00HMOV R1,#ZCMOV R0,#PWMFLCALL FDIV ;03D6H/5V 结果放在PWMF中MOV R1,#UK ;将UK值挪到PWMF中经行运算MOV R0,#PWMFLCALL FMUL ;UK*03D6H/5V 结果放在PWMF中MOV R0,#ZC ;0FFFFH转成浮点数,暂存在ZC中,做被减数用MOV @R0,#0FFH ;INC R0MOV @R0,#0FFHINC R0MOV @R0,#00HMOV R0,#ZCMOV A,#16CLR 1FHLCALL DTOF ;转成浮点数MOV R0,#ZC ;0FFFFH-UK*03D6H/5V,得到T1定时器初始值浮点数结果MOV R1,#PWMFLCALL FSUB ;结果在ZC中MOV R0,#ZC ;结果取整LCALL FINTMOV R1,#ZC ;将结果转移至PWMFMOV R0,#PWMFLCALL FMOVMOV R0,#ZCLCALL FTOD ;浮点数转双字节定点数,结果存在ZC中MOV R0,#ZC ;将转换后的双字节定点数放到PWMH 和PWML中做定时器T1装载初值MOV R1,#PWMHMOV A,@R0MOV @R1,AINC R0MOV R1,#PWMLMOV A,@R0MOV @R1,ARET;================================================================;================================================================;浮点数运算子程序库;================================================================ DTOF: ;双字节定点数转规格化浮点数MOV R2,A ;按整数的位数初始化阶码MOV A,@R0 ;将定点数做尾数MOV R3,AINC R0MOV A,@R0MOV R4,ADEC R0LCALL RLN ;经行规格化LJMP MOV0 ;传送结果到[R0]RETFMOV: INC R0 ;浮点数传送,从[R1]传到[R0]INC R0INC R1INC R1MOV A,@R1MOV@R0,ADEC R0DEC R1MOV A,@R1MOV@R0,ADEC R0DEC R1MOV A,@R1MOV@R0,ARETFADD: CLR F0;设立加法标志程序功能:浮点加法运算SJMP AS;计算代数和FSUB: SETB F0;设立减法标志程序功能:浮点数减法运算AS: LCALL MVR1;计算代数和。
基于pid算法的直流电机转速控制系统的设计基于PID算法的直流电机转速控制系统是现代控制系统的一个重要组成部分。
其主要功能是通过调节电机的电压和电流来控制电机的转速,以达到所需的转速控制效果。
本文将介绍如何设计PID算法控制系统,以实现直流电机的转速控制。
首先,我们需要了解PID算法的基本原理。
PID算法是一种基于反馈控制的方法,它通过对系统的误差进行测量和反馈控制,不断调整输出信号以达到所需的控制效果。
PID算法的核心就是三个控制参数:比例系数、积分系数和微分系数。
我们需要通过试验的方法来调整这些参数以达到最佳的控制效果。
接下来,我们就可以开展PID算法直流电机转速控制系统的设计。
首先,我们需要确定系统的控制目标和工作条件,包括期望转速范围、电机额定电压和电流等参数。
接着,我们需要选择合适的线性二次调节器,并通过MATLAB软件进行参数调整和仿真测试。
在参数调整和仿真测试过程中,需要进行多次试验,找到最佳的控制参数,以达到最理想的转速控制效果。
同时,还需要在系统设计过程中,考虑到一些实际应用中可能出现的问题,如电网失电、电机负载变化等因素,保证控制系统的稳定性和可靠性。
最后,我们需要对设计的PID算法直流电机转速控制系统进行实际测试和验证。
通过实现所设计的控制系统,并进行各项测试和实验,验证其控制效果和性能是否满足所需的要求和标准。
综上所述,基于PID算法的直流电机转速控制是一个相对复杂的系统设计工作,需要掌握一定的控制理论和实践经验。
通过认真的系统设计、参数调整和测试验证,可以实现一个高效、可靠的直流电机转速控制系统。
广西大学实验报告纸:指导老师:成绩:学院:专业:班级实验容:直流电机PID闭环数字控制器设计2014年其他组员:实验时间:2014年10月28号实验方式:课外在MA TLAB平台上完成实验。
实验目的:1、掌握线性系统状态空间标准型、解及其模型转换。
实验设备与软件:1、MATLAB数值分析软件实验原理:1、求矩阵特征值[V J]=eig(A), cv= eig(A)2、求运动的方法(1)利用Laplace/Z逆变换----适合于连续/离散线性系统;(2)用连续(离散)状态转移矩阵表示系统解析解----适合于线性定常系统;(3)状态方程的数值积分方法----适合于连续的线性和非线性系统;(4)利用Cotrol ToolBox中的离散化求解函数----适合于LTI系统;(5)利用Simulink环境求取响应----适于所有系统求取响应。
1、PID调节原理比例调节作用:按比例反应系统的偏差产生调节作用。
比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统不稳定。
积分调节作用:消除稳态误差。
积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强;反之,Ti大则积分作用弱微分调节作用:微分作用反映系统偏差信号的变化率,产生超前的控制作用。
在偏差还没有形成之前,已被微分调节作用消除,改善系统的动态性能。
在微分时间选择合适情况下,可以减少超调,减少调节时间。
微分作用不能单独使用。
按偏差的PID 是过程控制中应用最广泛的一种控制规则,该调解器是一种线性调节器,。
PID 的控制原理表达式为:图1 PID 控制原理图2、PID 算法的数字实现 (1)标准PID 算法:在输出不振荡时,增大比例增益,减小积分时间常数,增大微分时间常数。
因本实验采用的是一种离散时间的离散控制系统,因此为了用计算机实现PID 控制必须将其离散化,故可用数字形式的差分方程来代替(1)式中积分系数i p i T K K T =微分系数dd p T K K T=,其中T --采样周期;()u n --第n 次采样时计算机输出;()e n --第n 次采样时的偏差值;(1)e n ---第n-1次采样时的偏差值.可将上式转化成增量的形式:(2)p di 1()()()()tde t u t K e t e t dt T T dt ⎛⎫=++ ⎪⎝⎭⎰()p i d 0()()()()(1)nj u n K e n K e j K e n e n ==++--∑()()p i d ()()(1)()(1)()()2(1)(2)u n u n u n K e n e n K e n K e n e n e n ∆=--=--++--+-(2)积分分离PID 控制算法与上述标准算法比,该算法引进积分分离法,既保持了积分的作用,又减小了超调量,使控制性能得到较大的改善。
令积分分离法中的积分分离阈值为0E ,则(3)(3)不完全微分PID 算法微分作用容易引起高频干扰,因此通常在典型PID 后串接一个低通滤波器来抑制高频干扰,微分作用能在各个周期按照偏差变化趋势均匀的输出,真正起到微分的作用,改善系统性能。
这样得到的PID 算法成为不完全微分PID 算法,表达式为:(4) 式中3、直流电机闭环调速系统原理0i p 0i0,()()e n E K TK e n E T ⎧>⎪'=⎨≤⎪⎩,()p i d 0()()()()(1)nj u n K e n K e j K e n e n ='=++--∑ ()(1)(1)()u n au n a u n '=-+-()d p 0i ()()()()(1)n j T T u n K e n e j e n e n T T =⎛⎫'=++-- ⎪⎪⎝⎭∑f f )a T T T =+图2 直流电机闭环调速系统原理(4)被模拟对象模型描述该闭环调速实验中,直流电机对象可通过实验测得其空载时的标称传递函数如下:(5)实验过程与分析依据电机模型公式(5),在simulink 中搭建直流电机闭环调速的仿真模型,分析PID 对对象的影响,并选择一组较好的PID 参数为在实验操作提供可行依据,搭建的模型如下:其中PID 模块的封装为:(1)实验程序 标准PID 程序:0.08482.7()0.31sW s es -=+PID比比_比比比比比/min 比比比比比比比比比比比比比比比比1K 2K 3K ZOHint pid(int P,int I,int D,int E){int KI,KD,KP,U;KP=P;KI=5*KP/I; //求出积分系数KIKD=D*P/5; //求出微分系数KpII=II+E; //求出积分U=KP*E+KD*(E-E0)+KI*II;E0=E;return U;}积分分离PID程序:int pid(int P,int I,int D,int E){int KI,KD,KP,U,fa;KP=P;KI=5*KP/I; //求出积分系数KIKD=D*KP/5; //求出微分系数KpII=II+E; //求出积分if(E<0)fa=-E;elsefa=0;if(fa>10) //积分KI不参加运算{U=KP*E+KD*(E-E0);}else //积分KI参加运算{U=KP*E+KD*(E-E0)+KI*II;}E0=E;return U;}不完全微分PID程序int pid(int P,int I,int D,int E){int KI,KD,KP,Tf,U_,a,U;Tf=3;a=Tf*100/(Tf+5);KP=P;KI=5*KP/I; //求出积分系数KIKD=D*P/5; //求出微分系数KpII=II+E; //求出积分U_=KP*E+KD*(E-E0)+KI*II;U_=U_/100;U=a*U0/100+(100-a)*U_;E0=E;U0=U;return U;}不完全微分+积分分离PID程序int pid(int P,int I,int D,int E){int KI,KD,KP,fa,a,Tf,U,U;Tf=3;a=Tf*100/(Tf+5);KP=P;KI=5*KP/I; //求出积分系数KIKD=D*KP/5; //求出微分系数KpII=II+E; //求出积分if(E<0)fa=-E;elsefa=0;if(fa>10) //积分KI不参加运算{U_=KP*E+KD*(E-E0);} else //积分KI参加运算{U_=KP*E+KD*(E-E0)+KI*II;}U_=U_/100;U=a*U0/100+(100-a)*U_; U0=U; E0=E; return U;(2)观测的实验结果由整理的经验结果和实验,我们选择参数为0.7p K =,70i T ms =,60d T ms =进行实验,设定值从250转/min 跳变到不同转速下的暂态和稳态性能指标。
表1 标准PID 实验数据记录表跃变(*50转/min ) 超调量σ(%)峰值时间p t (s )调整时间s t (s )稳态误差(转/min )5——20 10.03 0.34 0.61 23 5——30 18.40 0.42 0.94 16 5——40 30.37 0.58 1.24 8 5——5040.340.771.4678图3 250转/min跃变到1000转/min测得波形如图图4 250转/min跃变到1500转/min测得波形如图图5 250转/min跃变到2000转/min测得波形图6 250转/min跃变到2500转/min测得波形以下为比较相同PID 参数8.0p =K ,ms T i 80=,ms T 100d =下设定值从250转/min 跃变到2500转/min 时不同PID 控制算法下的响应波形。
实验结果记录如下:表2 几种PID 实验数据对比记录表PID 控制算法超调量σ(%) 峰值时间()pt s调整时间()s t s稳态误差(转/min )标准 39.84 0.74 2.19 0 积分分离 19.83 1.12 2.27 39 不完全微分22.06 0.71 1.97 20 积分分离+不完全微分17.470.681.4439图7 标准PID 控制算法测得波形图8 积分分离PID控制算法测得波形图9 不完全微分PID控制算法测得波形图10 积分分离+不完全微分PID控制算法测得的波形实验结论和总结通过实验我们可以知道:当偏差阶跃发生时,加入微分环节,使系统阻尼增加,从而抑制振荡,使超调减弱,从而改善系统;比例环节也可以起到消除偏差的作用,而且因为比例的作用是一直存在的,并且是起主要作用的控制规律,可以使系统保持稳定;加入积分环节,可以消除稳态误差。
通过实验选择合适的参数,可充分发挥三种控制规律的优点。
在整个实验中我们学会了PID控制的多种方法,并且对其算法的优缺点有了更进一步的了解,使得我们在以后的学习中更加深刻。