直流电机PID调速

合集下载

直流电机PID调速系统设计

直流电机PID调速系统设计

摘要直流电机具有良好的启动性能和调速特性,它的特点是启动转矩大,能在宽广的范围内平滑、经济地调速,转速控制容易,调速后效率很高。

本文设计的直流电机调速系统,主要由51单片机、电源、电机驱动电路、LCD液晶显示器、霍尔测速电路以及独立按键组成的电子产品。

主要是以直流电机(所选电机的额定转速为2000转/分钟)为被控对象,以MCU为控制器设计一个转速反馈单闭环PID控制系统,使系统稳态误差为零,最大超调量小于10%,电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过独立按键实现对电机的启停、调速、转向的人工控制,LCD实现对测量数据(速度)的显示。

电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。

关键字:直流电机调速;PID控制器;电机的驱动电路;LCD显示器;51单片机AbstractDC motor has a good startup performance and speed characteristics, it is characterized by starting torque, maximum torque, in a wide range of smooth, economical speed, speed, easy control, speed control after the high efficiency. This design of DC motor speed control system, mainly by the microcontroller 51, power supply, H-bridge driver circuits, LCD liquid crystal display, the Hall velocity and independent key component circuits of electronic products. Power supply with 78 series chip +5 V, +15 V for motor speed control using PWM wave mode, PWM is a pulse width modulation, duty cycle by changing the MCU 51. Achieved through independent buttons start and stop the motor, speed control, turning the manual control, LCD realize the measurement data (speed) of the display. Motor speed using Hall sensor output square wave, by 51 seconds to 1 microcontroller square wave pulses are counted to calculate the speed of the motor to achieve a DC motor feedback control.Keywords: DC motor speed control;H bridge driver circuit;LCD display目录1 绪论 (1)1.1直流电机调速系统的研究意义 (3)1.2直流电机调速的发展趋势 (5)1.3本文研究的内容 (6)2 直流调速系统的硬件设计 (10)2.1设计方案综述 (10)2.1.1 H桥驱动电路设计方案 (12)2.1.2调速设计方案 (13)2.2硬件设计 (14)2.2.1电源电路 (14)2.2.2 H桥驱动电路 (16)2.2.3 基于霍尔传感器的测速模块 (16)2.3.4 LCD显示模块 (17)3 直流调速系统的软件设计 (20)3.1 PWM技术简介 (20)3.1.1 PWM介绍 (20)3.1.2 PWM控制的基本原理 (20)3.1.3 PWM调速原理 (22)3.2调节器设计 (23)3.2.1 电流调节器设计 (23)3.2.2 速度调节器的设计 (24)3.2 软件设计 (26)3.2.1 系统总控制流程图及说明 (26)3.2.2 PWM波软件设计 (27)3.2.2 测速软件设计 (30)4 基于matlab的仿真分析 (31)4.1仿真步骤 (31)4.2仿真分析 (35)5 结论 (39)致谢 (40)参考文献 (41)附录.............................................. 错误!未定义书签。

无刷直流电机的PID调速控制系统

无刷直流电机的PID调速控制系统
《变频器世界》 February , 2019
无刷直流电机的 PID 调速控制系统
The Speed Control System of Brushless DC Motor
安徽蚌埠学院电子与电气工程学院 丁少云(Ding Shaoyun) 薛达(Xue Da)
随着科技的发展,传统的直流电机在某些功能上已经无法满足实际需要。在此基础上,无刷直流电机被研制出来。但由于 该电机存在了一些非线性、时变性等特点,在实际应用中,为了解决这种情况的影响,我们常采用PID调速控制,其为比例、积 分、微分控制,PID控制器诞生已有70年的历史,是比较成熟的技术。其以结构简单、稳定性高和工作可靠等众多优点而广受青 睐。 关键词: 无刷直流电机;智能控制;PID;Simulink
这样,随着时间的增长,细小的误差也会增大,随后其 将输出的放大误差信号传输给后一级,从而使电路的稳 态误差进一步减小,直至消减为零。因此比例积分控制 器可以使得系统在稳态状态下零稳态误差。积分环节的 调节作用虽然会消除静态误差,但也会降低系统的响应 速度,增加系统的超调量。积分常数越大,积分的积累 作用越弱。虽然此时系统在过渡时不会产生振荡,但是 增大积分常数会减慢静态误差的消除过程。在微分控制 系统中,控制器的输出与输入误差信号的变化率成正比。 即为微分关系。
Abstract: With the development of science and technology,the traditional DC motor can’t meet the practicalneeds in some functions.On the basis,brushless DC motor is developed.However,there are some nonlinearity,time varying and so on.In practice,To solve the impact of this situation,we often use the PID speed control.It is proportional,integral,differential control.The birth of the PID controller has been 70 years old and is a mature technology.Its advantage include simple structure,high stability and reliability. Key Words: Brushless DC motor; Intelligent; PID;Simulink

PID控制PWM调节直流电机速度(12v)

PID控制PWM调节直流电机速度(12v)

本次设计主要研究的是PID控制技术在运动控制领域中的使用,纵所周知运动控制系统最主要的控制对象是电机,在不同的生产过程中,电机的运行状态要满足生产要求,其中电机速度的控制在占有至关重要的作用,因此本次设计主要是利用PID 控制技术对直流电机转速的控制。

其设计思路为:以AT89S51单片机为控制核心,产生占空比受PID算法控制的PWM脉冲实现对直流电机转速的控制。

同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,构成转速闭环控制系统,达到转速无静差调节的目的。

在系统中采128×64LCD显示器作为显示部件,通过4×4键盘设置P、I、D、V四个参数和正反转控制,启动后通过显示部件了解电机当前的转速和运行时间。

因此该系统在硬件方面包括:电源模块、电机驱动模块、控制模块、速度检测模块、人机交互模块。

软件部分采用C语言进行程序设计,其优点为:可移植性强、算法容易实现、修改及调试方便、易读等。

本次设计系统的主要特点:(1)优化的软件算法,智能化的自动控制,误差补偿;(2)使用光电传感器将电机转速转换为脉冲频率,比较精确的反映出电机的转速,从而和设定值进行比较产生偏差,实现比例、积分、微分的控制,达到转速无静差调节的目的;(3)使用光电耦合器将主电路和控制电路利用光隔开,使系统更加安全可靠;(4)128×64LCD显示模块提供一个人机对话界面,并实时显示电机运行速度和运行时间;(5)利用Proteus软件进行系统整体仿真,从而进一步验证电路和程序的正确性,避免不必要的损失;(6)采用数字PID算法,利用软件实现控制,具有更改灵活,节约硬件等优点;(7)系统性能指标:超调量≤8%;调节时间≤4s;转速误差≤±1r/min。

1PID算法及PWM控制技术简介1.1PID算法控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。

目前提出的控制算法有很多。

直流电机基于PID控制的PWM调速系统

直流电机基于PID控制的PWM调速系统

调速原理对于星形连接的三相无刷直流电机,在理想条件下,任何时刻只有两相定子绕组通电。

令加在两相通电绕组上的平均电压为Vd,则电压平衡方程式为[31]:(3.1)可以得到转速为:(3.2)式中:Em为电机各相反电动势;Im为各相相电流;n为无刷直流电机转速;R为回路等效电阻,包括电机两相电阻和管压降的等效电阻。

由式(3.2)可知,无刷直流电机的转速调节可以通过改变外施平均电压Vd来实现。

3-4-2电枢电压的调节方法改变电枢电压是直流调速的主要方法。

本系统采用PWM(脉宽调制)调速方式,通过调节逆变器功率器件的PWM触发信号的占空比来改变外施的平均电压Vd,从而实现无刷直流电机的调速。

PWM技术可分为单极性PWM控制和双极性PWM控制。

单极性PWM控制的控制信号如图3.4所示,在每个60°电角度的区域内,一个功率开关器件一直处于开通状态,另一个处于PWM状态;双极性PWM控制的控制信号如图3.5所示,在每个60°电角度区域内,两个工作的功率管器件或者都开通,或者都关断。

图3.4单极性PWM控制各触发信号图3.5双极性PWM控制各触发信号Fig.3.4Trigger signal of single polarity PWM Fig.3.5Trigger signal of double polarity PWM一般情况来说,采用单极性PWM控制的电流波动最大值只有采用双极性PWM控制的电流波动最大值的一半[32][33],因此为了减小电流脉动和功率管的开关损耗,本电机控制系统采用单极性的PWM控制技术。

3-4-3 PWM波的产生在传统的单片机控制系统中,PWM波的产生需要专门的发生电路和时间延时(死区)电路,增加了CPU的开销,并降低了系统的稳定性。

而TMS320F2812的PWM电路设计可以减少产生PWM波形的CPU开销和减少用户的工作量,同时能尽量减小功率开关器件的损耗,降低电动机转矩脉动性。

数字PID闭环直流电机调速控制系统

数字PID闭环直流电机调速控制系统

数字PID闭环直流电机调速控制系统目录一、摘要1.系统简介2. MATLAB简介二、系统设计1.系统概述2.直流电机旳速度控制方案3. 速度设定值和电机转速旳获取4. 非线性变速积分旳PID算法4.1 PID算法旳数字实现4.2 经典PID算法旳积分饱和现象4.3 变速积分旳PID算法4.4 非线性变速积分旳PID算法5. 计算机控制仿真及分析5.1试验仿真环节以及理论分析:5.2 系统仿真结论以及分析三、总结四、参照文献摘要系统简介数字PID闭环直流电机调速控制系统是将电能转换成机械能旳装置,它重要包括有调速系统、位置随动系统(伺服系统)、张力控制系统、多电机同步控制系统等多种类型。

而多种系统又往往都是通过控制转速来实现旳,因此选用PID 控制器作为转速控制器是本系统旳重要措施。

直流电动机具有良好旳起、制动性能,宜于在大范围内平滑调速,在许多需要调速或迅速正反向旳电力拖动领域中得到广泛应用。

晶闸管问世后,生产出成套旳晶闸管整流装置,构成晶闸管—电动机调速系统(简称V-M系统),它相比于旋转变流机组及离子拖动变流装置不仅在经济性和可靠性上均有很大提高,并且在技术性能上也显示出较大旳优越性。

在分析了直流电机闭环速度控制方案旳基础上,针对PID算法在直流电机应用中出现旳种种问题,给出了对应旳处理措施,提出了非线性变速积分PID算法,成功地处理了在低采样周期时PID算法旳积分饱和问题。

本课程设计为V-M双闭环不可控直流调速系统设计,汇报首先根据设计规定确定调速方案和主电路旳构造型式,然后对电路各元件进行参数计算,包括整流变压器、整流元件、平波电抗器、保护电路以及电流和转速调整器旳参数确定。

进而对双闭环调速系统有一种全面、深刻旳理解。

MATLAB简介在1980年前后,美国旳Cleve博士在New Mexico大学讲授线性代数课程时,发现应用其他高级语言编程极为不便,便构思并开发了Matlab(MATrix LABoratory,即矩阵试验室),它是集命令翻译,科学计算于一身旳一套交互式软件系统,通过在该大学进行了几年旳试用之后,于1984年推出了该软件旳正式版本,矩阵旳运算变得异常轻易。

基于PID控制的直流电机调速系统

基于PID控制的直流电机调速系统

目录摘要............................................................................ . (I)Abstract...................................................................... (II)第一章前言 (1)1.1 课题研究背景 (1)1.2 国内外研究现状及发展趋势 (1)1.3 课题主要研究内容 (2)第二章系统硬件电路的设计 (2)2.1 系统设计方案 (2)2.2 单片机最小系统 (2)2.3 电机驱动模块 (3)2.4 速度检测模块 (3)2.5 显示模块 (4)第三章 PID算法及PWM控制技术 (5)3.1 数字PID (5)3.2 直流电机的PWM控制技术 (6)3.2.1 PWM基本原理 (6)3.2.2 PWM脉宽调制介绍 (6)3.2.3 PWM的实现与工作方式 (7)第四章软件设计 (8)4.1 主程序设计 (8)4.2 PID算法 (9)4.2 按键设置 (10)第五章结语 (11)参考文献 (12)附录1:原理图 (13)附录2:PCB图 (14)附录3:实物图 (15)基于PID控制的直流电机调速系统摘要:在现代工业控制以及生活中,直流电动机俨然变成了不可减少的一部分了。

小到各种小型玩具,大到各种仪器。

应用广泛,必然需要精密的控制。

而本课题主要研究基于PID 的直流电机调速。

系统以AT89S52单片机为核心控制芯片,采用PID控制,输出PWM脉冲信号,采用改变占空比的方法来实现对电机速度的调节。

本设计的硬件系统包含:单片机最小系统、电机驱动模块、速度检测模块、显示模块等。

编程采用的是C语言,并用Altium Designer 10软件进行了原理图与PCB图的绘制。

关键词:AT89S52单片机;PID算法;PWM脉冲;占空比。

基于MATLAB的数字PID直流电机调速系统

基于MATLAB的数字PID直流电机调速系统

基于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调速系统设计

基于STM32的直流电机PID调速系统设计

基于STM32的直流电机PID调速系统设计一、引言直流电机调速系统是现代工业自动化系统中最常用的电机调速方式之一、它具有调速范围广、响应快、控制精度高等优点,被广泛应用于电力、机械、石化、轻工等领域。

本文将介绍基于STM32单片机的直流电机PID调速系统的设计。

二、系统设计直流电机PID调速系统主要由STM32单片机、直流电机、编码器、输入和输出接口电路等组成。

系统的设计流程如下:1.采集反馈信号设计中应通过编码器等方式采集到反馈信号,反应电机的转速。

采集到的脉冲信号经过处理后输入给STM32单片机。

2.设计PID算法PID调节器是一种经典的控制算法,由比例(P)、积分(I)和微分(D)三个部分组成,可以根据实际情况调整各个参数的大小。

PID算法的目标是根据反馈信号使电机达到期望的转速。

3.控制电机速度根据PID算法计算出的偏差值,通过调节电机的占空比,实现对电机速度的控制。

当偏差较大时,增大占空比以加速电机;当偏差较小时,减小占空比以减速电机。

4.界面设计与控制设计一个人机交互界面,通过该界面可以设置电机的期望转速以及其他参数。

通过输入接口电路将相应的信号输入给STM32单片机,实现对电机的远程控制。

5.系统保护在电机工作过程中,需要保护电机,防止出现过流、超速等问题。

设计一个保护系统,能够监测电机的工作状态,在出现异常情况时及时停止电机工作,避免损坏。

6.调试与优化对系统进行调试,通过实验和测试优化PID参数,以获得更好的控制效果。

三、系统实现系统实现时,首先需要进行硬件设计,包括STM32单片机的选型与外围电路设计,以及输入输出接口电路的设计。

根据实际情况选择合适的编码器和直流电机。

接着,编写相应的软件代码。

根据系统设计流程中所述,编写STM32单片机的控制程序,包括采集反馈信号、PID算法实现、控制电机速度等。

最后,进行系统调试与优化。

根据系统的实际情况,调试PID参数,通过实验和测试验证系统的性能,并进行优化,以实现较好的控制效果。

PID直流电机调速讲解1

PID直流电机调速讲解1

PI 组合 消除了误差 带来了超调
Velocity
Time
5
of
26

PID是什么?
D--微分控制部分
所谓的微分就是对变量求导, 意思就是一个量的变化率.其 微分部分就是能够将变量变 化率放入计算中.这个量在编 程中其实就是求上次偏差和 这次偏差的差.
PID 黄金组合 加快迚入稳态 减少超调

绕不开的理论公式
上面介绍的公式,叫做位置PID,也就是每次都使用整个系统的状态。 可以理解为:偏差使用的是所有的全量偏差。 还有一种算法是增量式PID。 摘录网上的话:“位置式PID算法每次输出不整个过去状态有关,计算 式中要用到过去误差的累加值,因此,容易产生较大的累积计算误差。 而增量式PID只需计算增量,计算误差戒精度丌足时对控制量的计算影 响较小。” 上一次的输出为u(k-1),这次的输出为u(k) ,变化量为^u(k)
5
of
26

实际如何下手
硬件准备: 1.N20直流电机,配有1:145的金属变速箱。电机必须带测速。 2.Aduino nano控制板,主控芯片atmel328p。 3.实现电机控制的H桥电路板,带pwm输入。 4.供电电池。
软件准备: 1.Arduino IDE开发环境。 2.串口猎人,用于收集数据,实时绘制可视化图像。
5
of
26

实际如何下手 代码实现
速度测定: 程序可以通过定时器来计数,利用单片机上的引脚变化中断实现。 问题是这个采样时间怎么取? 这里针对我买的电机,测速是放在转轴上未减速前的,采样周期可以设短为30ms。 电机每圈有12个ticks,就设为15ms测速一次,每测2次求平均值,作为当前速度值。 有了采样周期,就可以得到:输出量。

基于STM32的直流电机PID调速系统设计概要

基于STM32的直流电机PID调速系统设计概要

基于STM32的直流电机PID调速系统设计概要概述:直流电机PID调速系统是一种常见的电机调速方法,它通过对电机的测量信号和设定信号进行比较,并生成控制信号来调节电机的运行速度,以实现精确的速度控制。

本文将以STM32为基础,概括地介绍基于STM32的直流电机PID调速系统的设计概要。

系统框架:基于STM32的直流电机PID调速系统主要由电机驱动模块、传感器模块、PID控制算法模块和用户界面模块组成。

其中,电机驱动模块负责对电机进行驱动控制,传感器模块用于获取电机的实际运行速度,PID控制算法模块用于计算电机的控制信号,用户界面模块用于显示和设置电机的运行参数。

电机驱动模块:电机驱动模块是直流电机PID调速系统的核心部分,它负责将控制信号转换为电机运行所需的电压和电流。

在STM32中,可以使用PWM输出来控制电机的驱动电压,通过调节PWM的占空比来改变电机的运行速度。

同时,还可以使用IO端口控制电机的正反转和停止等动作。

通过STM32的GPIO和PWM模块,可以很方便地实现对直流电机的驱动控制。

传感器模块:传感器模块用于获取电机的实际运行速度,常见的传感器包括编码器和霍尔传感器。

编码器可以通过测量电机轴上的旋转角度来获取电机的实际速度,而霍尔传感器可以通过检测电机磁极的变化来获取电机的转速。

在STM32中,可以通过外部中断或定时器模块来获取传感器的信号,并进行相应的计算。

PID控制算法模块:PID控制算法模块是直流电机PID调速系统的关键部分,它根据电机的实际运行速度和设定速度之间的误差,计算出相应的控制信号,以驱动电机的运行速度逐渐逼近设定速度。

PID控制算法一般包括比例控制、积分控制和微分控制三个部分,可以通过调节PID参数来提高系统的调速性能。

在STM32中,可以使用定时器和中断来实现PID控制算法的运行。

用户界面模块:用户界面模块用于显示和设置电机的运行参数,通过外部触摸屏或按钮等设备,用户可以方便地设置电机的设定速度、PID参数等参数,并实时显示电机的实际速度、PID输出等调试信息。

无刷直流电动机调速算法的讨论

无刷直流电动机调速算法的讨论

无刷直流电动机调速算法的讨论首先是PID调速算法。

PID调速算法是最常用的调速算法之一、PID控制器根据误差信号、误差积分和误差变化率三者来控制输出。

PID控制的优点是调节简单、响应快速,但是在传统PID调速算法存在固有的缺陷,比如调节过程中可能出现超调现象,调节过程需要经验来调整参数,对调节对象参数变化敏感等。

因此,若要在无刷直流电动机的调速过程中应用PID算法,需要进行优化和改进。

其次是模糊控制调速算法。

模糊控制是一种基于经验规则的控制方法,可以针对不确定系统进行控制。

模糊控制调速算法可以解决传统PID算法中的一些问题,比如无需事先确定数学模型、处理非线性等。

模糊控制器的输出是模糊集合,通过模糊控制规则对输出进行映射。

然而,模糊控制器的设计需要依赖人工经验,对模糊规则的构建和系统的建模存在一定困难,也不易进行参数调节。

最后是变结构控制调速算法。

变结构控制是通过将控制对象划分为不同的状态,对每个状态进行不同的控制方式。

无刷直流电动机调速可以看作是有多个不同工作区间的连续状态控制过程,变结构控制算法恰好适用于这种场景。

变结构控制算法可以提供良好的鲁棒性和适应性,能够对参数变化和负载干扰进行自适应调节,且不依赖系统的数学模型。

但是变结构控制算法的实现较为复杂,需要对控制逻辑和各个区间参数进行设计和调整。

除了上述几种常用的调速算法外,还有一些其他的调速算法,如神经网络调速算法、模型预测控制调速算法等。

这些算法在实际应用中也有成效,但是对于无刷直流电动机的调速仍然存在一些问题,如计算量大、参数调整困难等。

总之,无刷直流电动机的调速算法是一个研究热点,不同的调速算法各有优缺点,适用于不同的应用场景。

在实际应用中,需要根据具体需求选择合适的调速算法,并通过优化和改进来使调速过程更加稳定、快速和准确。

同时,未来的研究方向可以探索新的调速算法和控制策略,提高调速性能和控制效果。

直流电机双闭环PID调速系统仿真设计

直流电机双闭环PID调速系统仿真设计

目录直流电机双闭环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控制的直流电机调速系统

目录摘要 (I)Abstract (II)第一章前言 (1)1.1 课题研究背景 (1)1.2 国外研究现状及发展趋势 (1)1.3 课题主要研究容 (2)第二章系统硬件电路的设计 (2)2.1 系统设计方案 (2)2.2 单片机最小系统 (2)2.3 电机驱动模块 (3)2.4 速度检测模块 (3)2.5 显示模块 (4)第三章PID算法及PWM控制技术 (5)3.1 数字PID (5)3.2 直流电机的PWM控制技术 (6)3.2.1 PWM基本原理 (6)3.2.2 PWM脉宽调制介绍 (6)3.2.3 PWM的实现与工作方式 (7)第四章软件设计 (8)4.1 主程序设计 (8)4.2 PID算法 (9)4.2 按键设置 (10)第五章结语 (11)参考文献 (12)附录1:原理图 (13)附录2:PCB图 (14)附录3:实物图 (15)基于PID控制的直流电机调速系统摘要:在现代工业控制以及生活中,直流电动机俨然变成了不可减少的一部分了。

小到各种小型玩具,大到各种仪器。

应用广泛,必然需要精密的控制。

而本课题主要研究基于PID 的直流电机调速。

系统以AT89S52单片机为核心控制芯片,采用PID控制,输出PWM 脉冲信号,采用改变占空比的方法来实现对电机速度的调节。

本设计的硬件系统包含:单片机最小系统、电机驱动模块、速度检测模块、显示模块等。

编程采用的是C语言,并用Altium Designer 10软件进行了原理图与PCB图的绘制。

关键词:AT89S52单片机;PID算法;PWM脉冲;占空比。

The DC motor speed control system based on PIDcontrolAbstract: In modern industrial control, and life, as if into a DC motor irreducible part of. Small variety of small toys, large variety of instruments. Widely used, necessarily requires precise control. And this issue is mainly based on PID DC motor speed control. System AT89S52 microcontroller as the core control chip, the use of PID control output PWM pulse signal, by changing the duty cycle of the methods to achieve the motor speed regulation. The design of the hardware system comprising: smallest single-chip systems, motor drive module, speed detection module, a display module. Using the C programming language, and with Altium Designer 10 software for drawing schematic and PCB map.Keywords:AT89S51 SCM PID algorithm PWM impulse duty ratios第一章前言1.1课题研究背景对于直流电机系统来说,KZ-D拖动系统即采用可控硅装置向电机供电是比较主流的技术。

自适应模糊pid直流无刷电机调速系统设计

自适应模糊pid直流无刷电机调速系统设计

自适应模糊PID直流无刷电机调速系统设计1. 概述在现代工业生产中,电机调速系统的设计和应用已成为一个重要的研究课题。

直流无刷电机具有体积小、效率高、响应快等优点,被广泛应用于各种领域。

而PID控制器作为一种经典的控制器,具有稳定性好、鲁棒性强等特点。

然而,传统PID控制器在面对系统参数变化、非线性系统等问题时存在一定局限性。

本文提出了一种自适应模糊PID直流无刷电机调速系统设计,旨在提高控制系统的鲁棒性和适应性。

2. 直流无刷电机调速系统的基本结构直流无刷电机调速系统通常由电机、传感器、控制器和执行机构等组成。

其中,控制器起着决定性的作用,它接收传感器反馈的信息,并根据事先设定的控制策略调节执行机构,从而实现对电机速度的精确控制。

常见的控制器包括PID控制器、模糊控制器、自适应控制器等。

3. 自适应模糊PID控制器的原理自适应模糊PID控制器是一种结合了模糊控制和PID控制的新型控制器。

它可以根据系统的实时状态和参数变化,自动调整控制参数,从而提高控制系统对变化环境的适应能力。

其基本原理是将模糊逻辑推理和PID控制相结合,通过模糊化、模糊推理和解模糊等过程,得到控制量的输出,并根据输出调整PID控制器的参数,使控制系统更加灵活和鲁棒。

4. 自适应模糊PID直流无刷电机调速系统设计在设计自适应模糊PID直流无刷电机调速系统时,首先需要对电机和传感器进行建模和参数识别,以获取系统的动态特性和非线性特性。

根据系统的特性和要求,设计模糊控制器的模糊集、模糊规则库和解模糊方法,确定模糊控制的范围和边界。

接下来,结合PID控制器的特点和系统的动态响应,设计合适的PID参数整定方法,并将PID控制器与模糊控制器相结合,形成自适应模糊PID控制器。

通过仿真和实验验证,对系统的性能进行评估和优化。

5. 实验结果与分析通过对自适应模糊PID直流无刷电机调速系统的设计和实验,我们得到了以下实验结果和分析:(1) 自适应模糊PID控制器能够有效地克服系统参数变化和非线性因素的影响,使系统具有更好的鲁棒性和适应性。

PID控制PWM调节直流电机速度(12v)

PID控制PWM调节直流电机速度(12v)

PID算法介绍:本次设计主要研究的是PID控制技术在运动控制领域中的应用,纵所周知运动控制系统最主要的控制对象是电机,在不同的生产过程中,电机的运行状态要满足生产要求,其中电机速度的控制在占有至关重要的作用,因此本次设计主要是利用PID 控制技术对直流电机转速的控制。

其设计思路为:以AT89S51单片机为控制核心,产生占空比受PID算法控制的PWM脉冲实现对直流电机转速的控制。

同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,构成转速闭环控制系统,达到转速无静差调节的目的。

在系统中采128×64LCD显示器作为显示部件,通过4×4键盘设置P、I、D、V四个参数和正反转控制,启动后通过显示部件了解电机当前的转速和运行时间。

因此该系统在硬件方面包括:电源模块、电机驱动模块、控制模块、速度检测模块、人机交互模块。

软件部分采用C语言进行程序设计,其优点为:可移植性强、算法容易实现、修改及调试方便、易读等。

本次设计系统的主要特点:(1)优化的软件算法,智能化的自动控制,误差补偿;(2)使用光电传感器将电机转速转换为脉冲频率,比较精确的反映出电机的转速,从而与设定值进行比较产生偏差,实现比例、积分、微分的控制,达到转速无静差调节的目的;(3)使用光电耦合器将主电路和控制电路利用光隔开,使系统更加安全可靠;(4)128×64LCD显示模块提供一个人机对话界面,并实时显示电机运行速度和运行时间;(5)利用Proteus软件进行系统整体仿真,从而进一步验证电路和程序的正确性,避免不必要的损失;(6)采用数字PID算法,利用软件实现控制,具有更改灵活,节约硬件等优点;(7)系统性能指标:超调量≤8%;调节时间≤4s;转速误差≤±1r/min。

1PID算法及PWM控制技术简介1.1PID算法控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。

基于PID控制的直流电机调速系统讲解

基于PID控制的直流电机调速系统讲解

基于PID控制的直流电机调速系统1绪论1.1 本课程的选题背景PID控制器(按闭环系统误差的比例、积分和微分进行控制的调节器)自30年代末期出现以来,在工业控制领域得到了很大的发展和广泛的应用。

它的结构简单,参数易于调整,在长期应用中已积累了丰富的经验。

特别是在工业过程控制中,由于被控制对象的精确的数学模型难以建立,系统的参数经常发生变化,运用控制理论分析综合不仅要耗费很大代价,而且难以得到预期的控制效果。

在应用计算机实现控制的系统中,PID很容易通过编制计算机语言实现。

由于软件系统的灵活性,PID算法可以得到修正和完善,从而使数字PID具有很大的灵活性和适用性,其中数字PID控制器是由软件编程在计算机内部实现的。

PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。

直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才真正得到应用。

随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论、非线性系统控制思想的应用,PWM控制技术获得了空前的发展。

到目前为止,已经出现了多种PWM控制技术。

PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。

由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。

在电机控制系统开发中,常常需要消耗各种硬件资源,系统构建时间长,而在调试时很难对硬件系统进行修改,从而延长开发周期。

随着计算机仿真技术的出现和发展,可用计算机对电机控制系统进行仿真,从而减小系统开发开支和周期。

计算机仿真可分为整体仿真和实时仿真。

整体仿真是对系统各个时间段对各个对象进行计算和分析,从而对各个对象的变化情况有直观的整体的了解,即能对系统进行精确的预测,如Proteus就是一个典型的实时仿真软件。

直流电机PID调速

直流电机PID调速
uchar Reset(void)
{
uchar deceive_ready;
DQ = 0;
delay(29);
DQ = 1;
delay(3);
deceive_ready = DQ;
delay(25);
return(deceive_ready);
}
/********************************************************************
uchar num,flag4;
uint temp;
unsigned char table3[] = {'0','1','2','3','4','5','6','7','8','9'};
unsigned char table1[]={"P00 I00 Gspd:000"};
unsigned char table2[]={" Aspd:000"};
DQ = 0;
DQ = 1;
for(i=0; i<3; i++);
return(DQ);
}
/********************************************************************
*名称: write_bit()
*功能:向DS18B20写一位
*输入: bitval(要对DS18B20写入的位值)
sbit zfzhuan=P3^0; //左转
sbit add=P3^1; //加速

Pid控制直流双闭环调速系统

Pid控制直流双闭环调速系统
控制理论的认识和长期人工操作经验的总结,可知 PID 参数应依据以下几点来适应系统的动态过程。 1、在偏差比较大时,为使尽快消除偏差,提高响应速度,同时为了避免 系统响应出现超调,Kp取大值, Ki取零;在偏差比较小时,为继续减小 偏差,并防止超调过大、产生振荡、稳定性变坏, Kp值要减小, Ki取小 值;在偏差很小时,为消除静差,克服超调,使系统尽快稳定, Kp值继 续减小, Ki值不变或稍取大。 2、当偏差与偏差变化率同号时,被控量是朝偏离既定值方向变化。因此, 当被控量接近定值时,反号的比列作用阻碍积分作用,避免积分超调及 随之而来的振荡,有利于控制;而当被控量远未接近各定值并向定值变 化时,则由于这两项反向,将会减慢控制过程。在偏差比较大时,偏差 变化率与偏差异号时,值取零或负值, Kp以加快控制的动态过程。
数字 PID 控制
由于计算机控制是一种采样控制,它只能根据采样时刻的偏 差计算控制量,而不能像模拟控制那样连续输出控制量量, 进行连续控制。积分项和微分项不能直接使用,必须进行离 散化处理。离散化处理的方法为:以T 作为采样周期,k作为 采样序号,则离散采样时间kt对应着连续时间 t,用矩形法数 值积分近似代替积分,用一阶后向差分近似代替微分,可作 如下近似变换:
双闭环直流调速系统结构图
直流调速系统的PID仿真及分析
直流电动机的主要参数如下: 电动机:额定电压Unom=220V,额定电流Inom=136A, 额定转速nnom=1460r/min,电势常数Ce=0.132*min/r。 允许的过载倍数为1.5。晶闸管装置的放大系数Ks=40。 电枢回路总电阻R=0.5Ω。电磁时间常数:Ti=0.03s。机 电时间常数:Tm=0.18s。电流的反馈系数β=0.05V/A。 转速的反馈系数α=0.007 V*min/r。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{TR2=0;//关闭定时器2
zhuansu=TH1*256+TL1;//0.6秒脉冲次数
table4[0]=zhuansu/100+'0';
table4[1]=zhuansu/10%10+'0';
table4[2]=zhuansu%10+'0';
write_com(0x80+0x40+13);
while(*p3)
EA=1;//开总中断
}
/*********************测速函数****************************************/
void ceshu()
{uchar *p3;
unsigned char table4[3];
p3=table4;
if(count1>=12)//0.6秒刷新数据一次,>=保证每次都刷新显示
DQ = 0;
DQ = 1;
for(i=0; i<3; i++);
return(DQ);
}
/********************************************************************
*名称: write_bit()
*功能:向DS18B20写一位
*输入: bitval(要对DS18B20写入的位值)
uchar Reset(void)
{
uchar deceive_ready;
DQ = 0;
delay(29);
DQ = 1;
delay(3);
deceive_ready = DQ;
delay(25);
return(deceive_ready);
}
/*******************************************************************
*名称: read_byte()
*功能:从DS18B20读一个字节
*输入:无
*输出:从DS18B20读到的值
***********************************************************************/
uchar read_byte(void)
{
uchar i,m,receive_data;
{write_data(*p3);
p3++;
}
count1=0;
TH1=0; //清零,重新计数
TL1=0;
TR2=1;//打开定时器2
}
}
/***************蜂鸣器函数*****************************************************/
void Beep()
if(zfzhuan==0)
{
Beep();
while(!zfzhuan);//等待按键释放
flag1++;
if(flag1==2)//反转设置
{flag1=0;
//flag2=1;
en1=1;
s11=0;
s22=1;
TR0=1;
TR2=1;
write_com(0x80+13);
write_data(0x2D); //字符-
uchar num,flag4;
uint temp;
unsigned char table3[] = {'0','1','2','3','4','5','6','7','8','9'};
unsigned char table1[]={"P00 I00 Gspd:000"};
unsigned char table2[]={" Aspd:000"};
write_data(*p);
p++;
}
write_com(0x80+0x40);
while(*p1)
{
write_data(*p1);
p1++;
}
}
/***************定时器初始化程序****************************************/
void T0T1T2_init()
float Kp,Ki,Kd; //PID调节系数,kp=1.6,ki=0.3时较好,转速不稳定,待调/2.0,0.6,0.15
char e=0,e1=0,e2=0;//偏差
float uk=0,uk1=0,duk=0; //PID输出值
uchar zhuansu=0;
uchar TMPH,TMPL;
void delay_us()
{
_nop_();_nop_();
_nop_();_nop_();
_nop_();_nop_();
_nop_();_nop_();
_nop_();_nop_();
_nop_();_nop_();
_nop_();
}
/*****************液晶部分子程序*************************/
/****************毫秒延时函数****************************/
void delayms(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/********************************************************************
{
uchar i,temp;
for(i=0; i<8; i++)
{
temp = val >> i;
temp = temp & 0x01;
write_bit(temp);
delay(5);
}
}
/***************微秒级延时************************************/
{
beep=1;
delayms(100);
beep=0;
delayms(15);
}
/***************按键扫描函数*******************************************************/
void keyscan()
{
if(zfzhuan==0)
{delayms(20); //按键延时消抖
*名称: delay()
*功能:短暂延时函数
*输入:无
*输出:无
***********************************************************************/
void delay(uint N)
{
uchar i;
for(i=0; i<N; i++);
sbit s2=P2^1; /* L298的Input 2 */
sbit tin= P3^4; //反转
sbit beep=P2^6 ;//蜂鸣器控制口
sbit DQ = P2^7; //DS18B20数据口
/***********************变量定义*************************/
RW=0;
RS=1;
P1=shuju;
delay_us();
E=1;
delay_us();
E=0;
}
/*************************液初始化函数************************************/
void LCDintial()
{ uchar *p,*p1;
#include <regX52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int //与typedef unsigned int uint效果相同,一个是编译前处理,一个编译时处理
#define jump_ROM 0xCC
char pwmge=0,pwmshi=0; //速度设定
char pwmtime=0;
float D1,D2,D3;
char I1,I2,Kp1,Kp2;//PID值设定
uchar count1,count3;
uint count2;
uchar s11,s22,flag2=1,flag1,flag3;
}
/********************************************************************
*名称: Reset()
*功能:复位DS18B20
*输入:无
*输出:无
***********************************************************************/
sbit zfzhuan=P3^0; //左转
sbit add=P3^1; //加速
sbit dec=P3^2; //减速
sbit weixuan=P3^3; //位选
相关文档
最新文档