直流电机PID闭环数字控制器设计
- 格式:doc
- 大小:415.00 KB
- 文档页数:13
基于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. 学习数字控制器的模拟化设计方法;2. 学习数字PID 控制器的设计方法;3. 学习PWM 控制理论;4. 学习数字PID 控制器在DSP 上的实现方法。
二、实验设备 计算机,CCS 2.0版软件,实验箱、DSP 仿真器、导线。
三、基础理论 PID 控制器(按闭环系统误差的比例、积分和微分进行控制的调节器)自30年代末图1 模拟PID 控制期出现以来,在工业控制领域得到了很大的发展和广泛的应用。
它的结构简单,参数易于调整,在长期应用中已积累了丰富的经验。
特别是在工业过程控制中,由于被控制对象的精确的数学模型难以建立,系统的参数经常发生变化,运用控制理论分析综合不仅要耗费很大代价,而且难以得到预期的控制效果。
在应用计算机实现控制的系统中,PID 很容易通过编制计算机语言实现。
由于软件系统的灵活性,PID 算法可以得到修正和完善,从而使数字PID 具有很大的灵活性和适用性。
实现PID 控制的计算机控制系统如图1所示,其中数字PID 控制器是由软件编程在计算机内部实现的。
1、PID 控制规律的离散化PID 控制器是一种线性调节器,这种调节器是将系统的给定值r 与实际输出值y 构成的控制偏差y r c -=的比例(P )、积分(I )、微分(D ),通过线性组合构成控制量,所以简称PID 控制器。
连续控制系统中的模拟PID 控制规律为:])()(1)([)(0dtt de T dt t e T t e K t u D t I p ++=⎰ (式1)式中)(t u 是控制器的输出,)(t e 是系统给定量与输出量的偏差,P K 是比例系数,I T 是积分时间常数,D T 是微分时间常数。
其相应传递函数为:)11()(s T sT K s G D I p ++= (式2) 比例调节器、积分调节器和微分调节器的作用:(1)比例调节器:比例调节器对偏差是即时反应的,偏差一旦出现,调节器立即产生控制作用,使输出量朝着减小偏差的方向变化,控制作用的强弱取决于比例系数P K 。
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的排线拔掉或按系统复位键.五、心得体会此次实验是直流电机闭环调速控制系统的设计和实现,通过这次实验,让我了解了闭环调速控制系统的基本构成。
双闭环直流调速系统设计1.电机数学模型的建立首先要建立电机的数学模型,这是设计双闭环直流调速系统的基础。
根据电机的参数和运动方程,可以得到电机的数学模型,一般为一组耦合的非线性微分方程。
2.速度内环设计速度内环负责实现期望速度的跟踪控制。
常用的设计方法是采用比例-积分(PID)控制器。
PID控制器的输出是速度的修正量,通过与期望速度相减得到速度误差,然后根据PID算法计算控制器输出。
PID控制器的参数调节是一个关键问题,可以通过试探法、经验法或优化算法等方法进行调节,以实现最佳的速度跟踪性能。
3.电流外环设计电流外环的作用是保证电机的电流输出与速度内环控制输出的一致性。
一般采用PI调节器进行设计。
PI调节器的参数通过试探法、经验法或优化算法等方法进行调节,以实现电流输出的稳定性。
4.稳定性分析与系统稳定控制设计好速度内环和电流外环后,需要对系统的稳定性进行分析。
稳定性分析可以通过线性化方法、根轨迹法、频率响应法等方法进行。
分析得到系统的自然频率、阻尼比等参数后,可以根据稳定性准则进行系统稳定控制。
常用的控制方法包括模型预测控制、广义预测控制、滑模控制等。
5.鲁棒性设计在双闭环直流调速系统设计中,鲁棒性是一个重要的指标。
通过引入鲁棒性设计方法,可以提高系统对参数扰动和外部干扰的抑制能力。
常用的鲁棒性设计方法包括H∞控制、μ合成控制等。
以上是双闭环直流调速系统设计的一般步骤,具体的设计过程可能因实际应用和控制要求的不同而有所差异。
设计双闭环直流调速系统需要深入了解电机的特性和系统的控制需求,综合运用控制理论和工程方法,通过模拟仿真和实验验证来不断调整和优化控制参数,以实现系统的高性能调速控制。
目录直流电机双闭环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控制算法加以改进,关系到整个无刷直流电机控制器设计的成败。
2速度设定值和电机转速的获取为在单片机中实现PID调节,需要得到电机速度设定值(通过A/D变换器)和电机的实际转速,这需要通过精心的设计才能完成。
无刷直流电机的实际转速可通过测量转子位置传感器(通常是霍尔传感器)信号得到,在电机转动过程中,通过霍尔传感器可以得到如图2所示的周期信号。
由图2可知,电机每转一圈,每一相霍尔传感器产生2个周期的方波,且其周期与电机转速成反比,因此可以利用霍尔传感器信号得到电机的实际转速。
为尽可能缩短一次速度采样的时间,可测得任意一相霍尔传感器的一个正脉冲的宽度,则电机的实际转速为:但由于利用霍尔传感器信号测速,所以测量电机转速时的采样周期是变化的,低速时采样周期要长些,这影响了PID 调节器的输出,导致电机低速时的动态特性变差。
解决的办法是将三相霍尔传感器信号相“与”,产生3倍于一相霍尔传感器信号频率的倍频信号,这样可缩短一次速度采样的时间,但得增加额外的硬件开销。
直接利用霍尔传感器信号测速虽然方便易行,但这种测速方法对霍尔传感器在电机定子圆周上的定位有较严格的要求,当霍尔传感器在电机定子圆周上定位有误差时,相邻2个正脉冲的宽度不一致,会导致较大的测速误差,影响PID调节器的调节性能。
若对测速精度要求较高时,可采用增量式光电码盘,但同样会增加了电路的复杂性和硬件的开销。
电机速度设定值可以通过一定范围内的电压来表示。
基于pid算法的直流电机转速控制系统的设计基于PID算法的直流电机转速控制系统是现代控制系统的一个重要组成部分。
其主要功能是通过调节电机的电压和电流来控制电机的转速,以达到所需的转速控制效果。
本文将介绍如何设计PID算法控制系统,以实现直流电机的转速控制。
首先,我们需要了解PID算法的基本原理。
PID算法是一种基于反馈控制的方法,它通过对系统的误差进行测量和反馈控制,不断调整输出信号以达到所需的控制效果。
PID算法的核心就是三个控制参数:比例系数、积分系数和微分系数。
我们需要通过试验的方法来调整这些参数以达到最佳的控制效果。
接下来,我们就可以开展PID算法直流电机转速控制系统的设计。
首先,我们需要确定系统的控制目标和工作条件,包括期望转速范围、电机额定电压和电流等参数。
接着,我们需要选择合适的线性二次调节器,并通过MATLAB软件进行参数调整和仿真测试。
在参数调整和仿真测试过程中,需要进行多次试验,找到最佳的控制参数,以达到最理想的转速控制效果。
同时,还需要在系统设计过程中,考虑到一些实际应用中可能出现的问题,如电网失电、电机负载变化等因素,保证控制系统的稳定性和可靠性。
最后,我们需要对设计的PID算法直流电机转速控制系统进行实际测试和验证。
通过实现所设计的控制系统,并进行各项测试和实验,验证其控制效果和性能是否满足所需的要求和标准。
综上所述,基于PID算法的直流电机转速控制是一个相对复杂的系统设计工作,需要掌握一定的控制理论和实践经验。
通过认真的系统设计、参数调整和测试验证,可以实现一个高效、可靠的直流电机转速控制系统。
广西大学实验报告纸:指导老师:成绩:学院:专业:班级实验容:直流电机PID闭环数字控制器设计2014年其他组员:实验时间:2014年10月28号实验方式:课外在MATLAB平台上完成实验。
实验目的: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 控制必须将其离散化,故可用数字形式的差分方程来代替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 ==++--∑(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)(2)积分分离PID 控制算法与上述标准算法比,该算法引进积分分离法,既保持了积分的作用,又减小了超调量,使控制性能得到较大的改善。
令积分分离法中的积分分离阈值为0E ,则(3)(3)不完全微分PID 算法微分作用容易引起高频干扰,因此通常在典型PID 后串接一个低通滤波器来抑制高频干扰,微分作用能在各个周期按照偏差变化趋势均匀的输出,真正起到微分的作用,改善系统性能。
这样得到的PID 算法成为不完全微分PID 算法,表达式为:(4) 式中3、直流电机闭环调速系统原理()()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 ∆=--=--++--+-()p i d 0()()()()(1)nj u n K e n K e j K e n e n ='=++--∑0i p 0i0,()()e n E K TK e n E T ⎧>⎪'=⎨≤⎪⎩, ()(1)(1)()u n au n a u n '=-+-f f )a T T T =+()d p 0i ()()()()(1)n j TT u n K e n e j e n e n T T =⎛⎫'=++-- ⎪⎪⎝⎭∑图2 直流电机闭环调速系统原理(4)被模拟对象模型描述该闭环调速实验中,直流电机对象可通过实验测得其空载时的标称传递函数如下:(5)实验过程与分析依据电机模型公式(5),在simulink 中搭建直流电机闭环调速的仿真模型,分析PID 对对象的影响,并选择一组较好的PID 参数为在实验操作提供可行依据,搭建的模型如下:0.08482.7()0.31sW s es -=+比比比比比比比比其中PID模块的封装为:(1)实验程序标准PID程序:int 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;return U;(2)观测的实验结果由整理的经验结果和实验,我们选择参数为0.7p K =,70i T ms =,60d T ms =进行实验,设定值从250转/min 跳变到不同转速下的暂态和稳态性能指标。
跃变(*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 控制算法下的响应波形。
实验结果记录如下:PID 控制算法 超调量 (%)峰值时间()p t 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控制的多种方法,并且对其算法的优缺点有了更进一步的了解,使得我们在以后的学习中更加深刻。