PID调节控制做电机速度控制
电机控制系统中的电机速度PID控制

电机控制系统中的电机速度PID控制电机控制系统中的电机速度PID控制在工业自动化领域中扮演着重要的角色。
PID控制器是指比例积分微分控制器,通过调整这三个参数来实现对电机速度的精准控制。
本文将分析电机控制系统中电机速度PID控制的原理、优势以及应用。
1. 原理PID控制器是通过测量电机转速与期望转速之间的误差,根据比例、积分、微分这三个参数计算出控制电机所需的输出信号。
比例项(P)是误差的比例增益,积分项(I)是误差的积分增益,而微分项(D)是误差的微分增益。
通过这三个参数的调节,电机的运行速度可以得到准确控制,实现闭环反馈。
2. 优势使用PID控制器进行电机速度控制具有以下优势:- 精准度高:PID控制系统具有快速响应速度和稳定性,能够精确控制电机速度。
- 调节方便:PID控制器的三个参数可以根据实际情况进行调节,适用于不同的电机控制需求。
- 适用性广:PID控制器在工业自动化控制中广泛应用,适用于各种类型的电机控制系统。
3. 应用电机控制系统中的电机速度PID控制被广泛应用于各种场景,包括但不限于以下几个方面:- 电动汽车:在电动汽车中,PID控制器可以用于控制电动机的转速,提高电动汽车的驾驶性能和节能性。
- 工业机械:在工业机械中,PID控制器可以用于控制各种类型的电机,实现生产线自动化运行。
- 机器人:在机器人领域,PID控制器可以用于控制机器人臂的运动速度,实现精准操作和抓取。
综上所述,电机控制系统中的电机速度PID控制是一种高效、精准的控制方法,具有广泛的应用前景。
随着工业自动化技术的不断发展,PID控制器将继续发挥重要作用,推动工业生产的进步与优化。
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调节技术

电机控制系统中的PID调节技术电机控制系统是现代工业中常见的控制系统之一,它的性能和稳定性直接影响到整个生产线的运行效率。
PID调节技术是一种广泛应用于电机控制系统中的控制算法,它通过不断地调节比例、积分和微分三个参数,使得系统输出与期望值之间达到最佳的匹配,从而实现精准的控制。
本文将详细介绍电机控制系统中PID调节技术的原理和应用。
一、PID调节技术的原理PID调节技术是由比例(P)、积分(I)和微分(D)三个参数组成的控制算法。
比例参数主要用来调节系统的响应速度,当比例参数增大时,系统的超调量会减小,但会增加震荡的可能性;积分参数主要用来减小稳态误差,当积分参数增大时,系统对于稳态误差的消除能力会增强,但会增加系统的超调量;微分参数主要用来抑制系统的震荡,当微分参数增大时,系统对于幅度变化较大的信号会有更快的响应速度,但会增加系统的灵敏度。
通过不断地调节这三个参数,PID调节技术可以使得系统输出与期望值之间达到最佳的匹配,从而实现精准的控制。
二、PID调节技术在电机控制系统中的应用在电机控制系统中,PID调节技术被广泛地应用于速度控制、位置控制和力控制等方面。
在速度控制方面,通过对电机的电压和电流进行PID调节,可以精确地控制电机的转速,使得电机在不同转速下都能够保持稳定的运行状态。
在位置控制方面,通过对电机的脉冲信号和位置反馈信号进行PID调节,可以实现电机的定位精度,使得电机可以按照指定的位置轨迹进行准确移动。
在力控制方面,通过对电机的输出力矩进行PID调节,可以控制电机输出的力矩大小,使得电机可以完成各种力控制任务。
三、PID调节技术在电机控制系统中的优势PID调节技术在电机控制系统中具有响应速度快、稳态误差小、抗干扰能力强等优势。
由于PID调节技术具有简单易实现的特点,因此被广泛地应用于各种电机控制系统中。
此外,PID调节技术在参数调节方面也比较灵活,可以根据实际控制需求不断地调节参数,使得系统能够在不同的工况下都能够保持优良的控制性能。
电机速度环pid参数计算

电机速度环pid参数计算电机速度环PID参数是控制电机转速的重要参数,它能够对电机的转速进行精确控制,从而实现各种应用需求。
在设计电机速度环PID参数时,需要考虑电机的特性、系统的响应速度以及稳定性等因素。
我们需要了解PID控制器的基本原理。
PID控制器由比例(P)、积分(I)和微分(D)三个部分组成。
比例项用来根据误差大小调节控制量,积分项用来处理持续的误差,微分项用来处理误差变化率。
通过调节PID参数的大小,可以实现对电机速度的精确控制。
在确定PID参数时,需要考虑以下几个因素:1. 比例系数(Kp):比例系数决定了控制量与误差之间的线性关系。
如果比例系数过大,会导致系统震荡;如果比例系数过小,会导致系统响应迟缓。
因此,需要根据具体应用场景和电机特性进行合理选择。
2. 积分时间(Ti):积分时间决定了积分项对系统的影响程度。
积分时间越大,积分项对系统的影响越大,可以减小稳态误差。
但是,积分时间过大会导致系统响应不稳定。
因此,需要根据系统的响应速度和稳定性要求进行选择。
3. 微分时间(Td):微分时间决定了微分项对系统的影响程度。
微分时间越大,微分项对系统的影响越大,可以提高系统的稳定性和响应速度。
但是,微分时间过大会导致系统的抗干扰能力下降。
因此,需要根据系统的抗干扰要求进行选择。
确定PID参数的方法有多种,常用的方法有手动调节法和自动调节法。
手动调节法是最常用的方法,通过观察系统的响应曲线,逐步调整PID参数,直到满足系统要求。
这种方法需要经验和耐心,但是可以根据实际情况进行调整,适用于各种场景。
自动调节法是利用计算机或专用设备进行PID参数调节的方法,可以根据系统的数学模型和控制要求进行优化调整。
常用的自动调节方法有遗传算法、模糊控制和神经网络等。
这种方法适用于复杂的系统和精确的控制要求。
在实际应用中,还可以根据电机的负载特性和系统的动态响应要求进行参数调整。
例如,对于负载变化较大的电机系统,可以增加比例系数和微分时间,以提高系统的动态响应能力。
缝纫机节能电机控制器调速原理

缝纫机节能电机控制器调速原理是通过控制电机的电压或电流来实现的。
具体来说,控制器会根据需要缝纫的速度来调节电压或电流的大小,从而控制电机的转速。
电机的转速可以通过控制电平(电压或电流的强度)来实现调速。
当电压或电流增大时,电机转速增加;当电压或电流减小时,电机转速降低。
这种控制方式通常使用PWM(脉宽调制)技术来实现。
PWM技术可以通过调节脉冲的宽度来改变输出电压或电流的大小,从而实现电机的调速。
在缝纫机节能电机控制器中,通常会使用一种叫做PID控制的技术来调节电机的速度。
PID 控制是一种反馈控制方式,它通过检测电机的实际转速,并将其与期望的转速进行比较,然后根据这个差值来调节电压或电流,以使电机达到期望的转速。
这种控制方式可以使得缝纫机的速度更加稳定,并且能够根据需要自动调整速度。
此外,缝纫机节能电机控制器还具有节能功能。
这种功能主要是通过降低电机的功耗来实现的。
当缝纫机处于低速运行状态时,控制器会降低电压或电流,从而减少电机的功耗。
这种节能设计可以提高电机的效率,并且可以延长缝纫机的使用寿命。
总的来说,缝纫机节能电机控制器通过调节电机的电压或电流来实现调速,并且通过PID控制技术来保证缝纫机速度的稳定性和节能性。
这种控制器可以使得缝纫机更加智能化和自动化,并且可以提高缝纫机的效率和性能。
以上内容仅供参考,建议到相关网站或咨询专业人士以获取更准确的内容。
电机的PID控制

#include "DSP28_Device.h"#include "pmsm3_1.h"#include "parameter.h"#include "build.h"// 函数声明interrupt void EvaTimer1(void);interrupt void EvaTimer2(void);// 全局变量定义float Vd_testing = 0; /* Vd testing (pu) */float Vq_testing = 0.25; /* Vq testing (pu) */float Id_ref = 0; /* Id reference (pu) */float Iq_ref = 0.4; /* Iq reference (pu) */float speed_ref = 0.2; /* Speed reference (pu) */float T = 0.001/ISR_FREQUENCY; /* Samping period (sec), see parameter.h */int isr_ticker = 0;int pwmdac_ch1=0;int pwmdac_ch2=0;int pwmdac_ch3=0;volatile int enable_flg=0;int lockrtr_flg=1;int speed_loop_ps = 10; // 速度环定标器int speed_loop_count = 1; // 速度环计数器CLARKE clarke1 = CLARKE_DEFAULTS;PARK park1 = PARK_DEFAULTS;IPARK ipark1 = IPARK_DEFAULTS;PIDREG3 pid1_id = PIDREG3_DEFAULTS;PIDREG3 pid1_iq = PIDREG3_DEFAULTS;PIDREG3 pid1_spd = PIDREG3_DEFAULTS;PWMGEN pwm1 = PWMGEN_DEFAULTS;PWMDAC pwmdac1 = PWMDAC_DEFAULTS;SVGENDQ svgen_dq1 = SVGENDQ_DEFAULTS;QEP qep1 = QEP_DEFAULTS;SPEED_MEAS_QEP speed1 = SPEED_MEAS_QEP_DEFAULTS;DRIVE drv1 = DRIVE_DEFAULTS;RMPCNTL rc1 = RMPCNTL_DEFAULTS;RAMPGEN rg1 = RAMPGEN_DEFAULTS;ILEG2DCBUSMEAS ilg2_vdc1 = ILEG2DCBUSMEAS_DEFAULTS; // 主函数void main(void){// 系统初始化InitSysCtrl();// HISPCP 设置EALLOW;SysCtrlRegs.HISPCP.all = 0x0000; /* SYSCLKOUT/1 */ EDIS;// 禁止并清除所有CPU中断:DINT;IER = 0x0000;IFR = 0x0000;// 初始化Pie到默认状态InitPieCtrl();// 初始化PIE相量表InitPieVectTable();// 初始化EV A 定时器1://设置定时器1寄存器(EV A)EvaRegs.GPTCONA.all = 0;//等待使能标志位while (enable_flg==0){// 使能定时器1的下溢中断EvaRegs.EV AIMRA.bit.T1UFINT = 1;EvaRegs.EV AIFRA.bit.T1UFINT = 1;// 使能CAP3中断(定时器2)EvaRegs.EV AIMRC.bit.CAP3INT = 1;EvaRegs.EV AIMRC.bit.CAP3INT = 1;};// 重新分配中断向量EALLOW;PieVectTable.T1UFINT = &EvaTimer1;PieVectTable.CAPINT3 = &EvaTimer2;EDIS;// 使能PIE组2的中断6(T1UFINT)PieCtrlRegs.PIEIER2.all = M_INT6;// 使能PIE组3的中断7(CAPINT3)PieCtrlRegs.PIEIER3.all = M_INT7;// 使能CPU INT2(T1UFINT)和INT3(CAPINT3):IER |= (M_INT2 | M_INT3);// 使能全局中断和最高优先级适时调试事件管理器功能:EINT; //使能全局中断INTMERTM; // 使能适时调试中断DBGM/* 模块初始化*/pwm1.n_period = SYSTEM_FREQUENCY*1000000*T/2; /* 预定标器X1 (T1), ISR周期= T x 1 */pwm1.init(&pwm1);pwmdac1.pwmdac_period = 2500; /* PWM频率= 30 kHz */pwmdac1.PWM_DAC_IPTR0 = &pwmdac_ch1;pwmdac1.PWM_DAC_IPTR1 = &pwmdac_ch2;pwmdac1.PWM_DAC_IPTR2 = &pwmdac_ch3;pwmdac1.init(&pwmdac1);qep1.init(&qep1);drv1.init(&drv1);ilg2_vdc1.init(&ilg2_vdc1);/* 初始化SPEED_FRQ模块*/speed1.K1 = _IQ21(1/(BASE_FREQ*T));speed1.K2 = _IQ(1/(1+T*2*PI*30)); /* 低通截至频率= 30 Hz */speed1.K3 = _IQ(1)-speed1.K2;speed1.rpm_max = 120*BASE_FREQ/P;/*初始化RAMPGEN模块*/rg1.step_angle_max = _IQ(BASE_FREQ*T); /* 初始化PID_REG3 Id调节模块*/pid1_id.Kp_reg3 = _IQ(0.75);pid1_id.Ki_reg3 = _IQ(T/0.0005);pid1_id.Kd_reg3 = _IQ(0/T);pid1_id.Kc_reg3 = _IQ(0.2);pid1_id.pid_out_max = _IQ(0.30);pid1_id.pid_out_min = _IQ(-0.30);/* 初始化PID_REG3 Iq调节模块*/pid1_iq.Kp_reg3 = _IQ(0.75);pid1_iq.Ki_reg3 = _IQ(T/0.0005);pid1_iq.Kd_reg3 = _IQ(0/T);pid1_iq.Kc_reg3 = _IQ(0.2);pid1_iq.pid_out_max = _IQ(0.95);pid1_iq.pid_out_min = _IQ(-0.95);/*初始化PID_REG3 速度调节模块*/pid1_spd.Kp_reg3 = _IQ(1);pid1_spd.Ki_reg3 = _IQ(T*speed_loop_ps/0.1);pid1_spd.Kd_reg3 = _IQ(0/(T*speed_loop_ps));pid1_spd.Kc_reg3 = _IQ(0.2);pid1_spd.pid_out_max = _IQ(1);pid1_spd.pid_out_min = _IQ(-1);// 循环等待for(;;);}interrupt void EvaTimer1(void){isr_ticker++;if (speed_loop_count==speed_loop_ps){pid1_spd.pid_ref_reg3 = _IQ(speed_ref);pid1_spd.pid_fdb_reg3 = speed1.speed_frq;pid1_spd.calc(&pid1_spd);speed_loop_count=1;}else speed_loop_count++;pid1_iq.pid_ref_reg3 = pid1_spd.pid_out_reg3;pid1_iq.pid_fdb_reg3 = park1.qe;pid1_iq.calc(&pid1_iq);pid1_id.pid_ref_reg3 = _IQ(Id_ref);pid1_id.pid_fdb_reg3 = park1.de;pid1_id.calc(&pid1_id);ipark1.de = pid1_id.pid_out_reg3;ipark1.qe = pid1_iq.pid_out_reg3;ipark1.ang = speed1.theta_elec;ipark1.calc(&ipark1);svgen_dq1.Ualfa = ipark1.ds;svgen_dq1.Ubeta = ipark1.qs;svgen_dq1.calc(&svgen_dq1);pwm1.Mfunc_c1 = (int)_IQtoIQ15(svgen_dq1.Ta); /* Mfunc_c1 is in Q15 */pwm1.Mfunc_c2 = (int)_IQtoIQ15(svgen_dq1.Tb); /* Mfunc_c2 is in Q15 */pwm1.Mfunc_c3 = (int)_IQtoIQ15(svgen_dq1.Tc); /* Mfunc_c3 is in Q15 */pwm1.update(&pwm1);ilg2_vdc1.read(&ilg2_vdc1);clarke1.as = _IQ15toIQ((long)ilg2_vdc1.Imeas_a);clarke1.bs = _IQ15toIQ((long)ilg2_vdc1.Imeas_b);clarke1.calc(&clarke1);park1.ds = clarke1.ds;park1.qs = clarke1.qs;park1.ang = speed1.theta_elec;park1.calc(&park1);qep1.calc(&qep1);speed1.theta_elec = _IQ15toIQ((long)qep1.theta_elec);speed1.dir_QEP = (long)(qep1.dir_QEP);speed1.calc(&speed1);pwmdac_ch1 = (int)_IQtoIQ15(svgen_dq1.Ta);pwmdac_ch2 = (int)_IQtoIQ15(clarke1.as);pwmdac_ch3 = (int)_IQtoIQ15(speed1.theta_elec);drv1.enable_flg = enable_flg;drv1.update(&drv1);pwmdac1.update(&pwmdac1);// 使能定时器中断EvaRegs.EV AIMRA.bit.T1UFINT = 1;EvaRegs.EV AIFRA.all = BIT9;PieCtrlRegs.PIEACK.all |= PIEACK_GROUP2;}interrupt void EvaTimer2(void){qep1.isr(&qep1);EvaRegs.EV AIMRC.bit.CAP3INT = 1;EvaRegs.EV AIFRC.all = BIT2;PieCtrlRegs.PIEACK.all |= PIEACK_GROUP3;}void InitEv(void){EvaRegs.TI PR=OxFFFF;Tl周期EvaRegs.TICNT=0;EvaRegs.TlCON.All=0;EvaRegs.TICON.bit.TMODE=2:/,逢续增计数模式EvaRegs.T1CON.bit.TPS=4;H150MHz的32分频(HSP.CLK已2分频。
智能车速度控制pid(电机闭环控制算法)
智能车速度控制pid(电机闭环控制算法)对于智能车的电机闭环控制算法,我之所以标题没有写上智能车电机PID闭环控制算法是因为PID 算法根本就不是特别好的适用于智能车这种变化很快的系统,对于智能车,电机的调速可以说是时时刻刻再进行调速控制的,我上面说描述的经典PID 算法,都是针对一些惰性系统,也就是说是变化比较慢的系统的,所以对于智能车的电机调速采用完完整整的PID 算法,是根本不可取的,及时采用了,你必须要经过一些变换和改进才能使用。
以上的简述只是鄙人自己的看法,如有错误,请各位高手指正。
现在估计您会疑问,PID 不适用于智能车的电机控制,那什么才适用呢?鄙人原来做过智能车,从鄙人本身的理解,P 算法控制电机,也就是比例控制是最好的,反应速度快,控制精度高,不存在积分和微分效应,非常适用于适用于控制周期短的系统,当然,对于一些特殊的逻辑控制算法,可能要采用PD算法,用微分来做补偿,防止震荡和超调。
下面来说下电机控制算法从开始的加入到最终的确定的方法:当然这一切的前提就是安装了编码器,车速有反馈,只有加上编码器,有了反馈,才能组成一个闭环系统。
当然您也可以加上码盘,或者霍尔开关等一切可以返回车速的东西都可以。
(1)首先建议在车速比较慢的时候,采用PID 算法来控制电机,为什么开始要建议您采用PID 呢?主要是为了让您更加深刻理解PID 算法的精髓和调试步骤方法等,有助于以后对控制算法更加深入的研究和书写。
调试PID 三个参数的方法,很多地方都提供了,我在这里简单的说下:首先将ID 参数都变为0,先调整P 比例参数,调整到速度基本上跟您给定的速度差不多,也就是说基本稳定在您给定的脉冲数,当然这个时候会非常的震荡,不要担心,接下来调整I,调整I 的结果就是震荡会消除很多,但是车速会变化缓慢,也就是说会有一些延迟,然后再调整D,调整D 的结果就是增强调节的灵活性和预见性,在给定速度变化的过程中,能够以一个平稳过渡来变换,而且速度可以长时间稳定在给定速度附近,然后PID 三个参数的基本范围就确定了,然后再根据实际的跑车来微调这些参数,当然在您调试PID之前,请仔细阅读PID 理论知识,这样有助于您的调试和理解,。
基于单片机pid算法的直流电机速度控制方法
基于单片机pid算法的直流电机速度控制方法基于单片机PID算法的直流电机速度控制方法是一种常用的技术,其基本原理是通过调节PWM(脉宽调制)信号的占空比来控制电机的输入电压,从而实现电机的速度控制。
以下是基于单片机PID算法的直流电机速度控制方法的基本步骤:1.设定目标速度:首先,需要设定电机的目标速度。
这可以通过按键或其他输入设备来实现。
2.采集实际速度:为了实现精确的控制,需要实时获取电机的实际速度。
这可以通过在电机转轴上安装光电编码器或霍尔传感器来实现,这些传感器可以实时检测电机的转速并将其转换为电信号。
3.计算偏差:单片机通过比较目标速度和实际速度,计算出速度偏差。
如果实际速度小于目标速度,偏差为负;反之,偏差为正。
4.应用PID算法:单片机使用PID算法来处理速度偏差。
PID控制器通过比例、积分和微分三个环节来计算控制量,以尽可能消除偏差。
具体的PID参数(如Kp、Ki、Kd)可以根据实际情况进行调整,以获得最佳的控制效果。
5.生成PWM信号:基于PID控制器的输出,单片机生成PWM信号来调节电机的输入电压。
占空比决定了电机输入电压的大小,进而影响电机的转速。
6.实时调整:在整个控制过程中,单片机不断采集电机的实际速度,计算偏差,并调整PWM信号的占空比,以使电机尽可能接近目标速度。
7.显示和保存数据:为了方便调试和观察,可以通过单片机的显示屏实时显示电机的实际速度和偏差。
此外,也可以将重要的数据保存在单片机的内部或外部存储器中。
8.安全保护:为了防止电机过载或意外事故,单片机应具备安全保护功能。
例如,当电机实际速度超过设定速度一定时间时,单片机应自动切断电源或发出报警信号。
基于单片机PID算法的直流电机速度控制方法具有精度高、稳定性好、适应性强等优点,广泛应用于各种需要精确控制电机速度的场合。
毕业设计(论文)基于智能pid的直流电机调速系统
摘要由于变频技术的出现,交流调速一直冲击直流调速,但综观全局,尤其是我国在此领域的现状,再加上全数字直流调速系统的出现,提高了直流调速系统的精度及可靠性,直流调速仍将处于重要地位。
对于直流调速系统转速控制的要求有稳速、调速、加速或减速三个方面,而在工业生产中对于后两个要求已能很好地实现,但工程应用中稳速指标却往往不能达到预期的效果,稳速要求即以一定的精度在所需要的转速上稳定运行,在各种干扰下不允许有过大的转速波动。
稳速很难达到要求原因在于数字直流调速装置中的PID调节器对被控对象及其负载参数变化自适应能力差。
模糊控制不要求被控对象的精确模型且适应性强,为了克服常规数字直流调速装置的缺点,本文将模糊控制与PID调节器结合,着手fuzzy-PID复合控制方案理论研究和硬件的实现,设计出相关控制方案的直流调速系统,该方案以AT89C51单片机为主控单元,合适的驱动电路和一些外围电路构成硬件系统;以参数模糊自整定PID为控制策略。
本文对于系统的硬件及软件设计进行了详细的设计,包括电机控制模块、检测模块、电机驱动模块的设计等,以及软件的控制思想和编程方法。
本系统的设计顺应了目前国外直流调速朝着数字化,发展的趋势,充分利用了单片机的优点,使得通用性得到了提高。
经过理论分析和设计此控制器的各项性能指标优于模糊控制器和常规PID 控制器,具有很强的鲁棒性。
关键词:模糊控制;直流调速;稳态性能;单片机AbstractAfter Frequency Conversion Technology appeared,AC speed regulation method had always impacted DC Speed Regulation,but Generally speaking,especially the status in our country,in addition to digital DC Speed Regulation emerged,it improving the precision and the reliability in DC Speed Regulation System.DC Speed Regulation was also in the important status.Speed stability、speed ratio、acceleration、deceleration are the four factors in DC Speed Regulation System,the last two factors already reached well in industry application.But the Stability index does not match the desired purpose.Stability index is that the DC motor running in the precision range on desired speed,even if the system has uncertain disturbance.It is hard to realize because of adaptiveability digital DC Speed Regulation device is not enough when in the condition of the load parameters change unpredictably.Fuzzy control does not need precision mathematic model to conquer the shortcoming in routine digital DC Speed Regulation.We can combine with the PID adjuster and fuzzy control,focusing on theory research and realization of fuzzy-PID compound control scheme,design relevant DC Speed Regulation System was designed in the dissertation.This scheme is based on the core of AT89C51 single chip,appropriate driver circuit and some peripheral circuits,Fuzzy Self-tuning PID is the control strategy,This dissertation also introduce the plan of hardware and software,including DC motor control module、driver module、examine circuit and so on in detail,if explained the method of control and the thought of software,this system got used to the trend of digital power in the international,used the single micro—computer fully,and improveed the general use of the power.Theoretical analysis and design showed that all performance indexes of Parameter Self-Adjusting Fuzzy Logic PID Controller was in advance of those of the simple fuzzy controller and the conventional PID controller.Especially,the adaptive fuzzy controller is robust.Keywords:fuzzy logic control(FLC);DC Speed Regulation;stability performance;Single micro-computer目 录摘 要 .................................................................................................................................................I Abstract ......................................................................................................................................... II 目 录 ............................................................................................................................................ I II第一章 绪论 (1)1.1 序言 (1)1.2 PID 控制中存在的问题 (1)1.3 模糊控制的发展状况 (2)模糊控制的发展过程 (2)模糊控制技术要解决的问题 (3)1.4 直流调速系统的发展概况 (4)1.5 本课题的研究内容及目的 (5)第二章 直流调速系统的理论分析 (6)2.1 控制理论在调速系统中的应用分析 (6)调速系统性能指标 (6)直流调速常用的方法 (7)2.2 传统直流调速系统中调节器参数的计算 (9)设计指标及要求 (9)固有、预置参数计算 (9)电流调节器参数计算 (10)转速调节器参数 (10)2.3 数字PID 调节器的原理及应用 (12)2.4 数字PID 控制器的算法实现 (14)第三章 模糊PID 控制算法设计 (16)3.1 模糊控制的原理 (16)模糊控制的理论基础 (16)模糊控制系统的组成 (16)模糊控制在实际中的适用性 (17)3.1.4 模糊控制器的设计方法 (17)3.2直流调速系统模糊PID 控制结构设计 .......................................................................... 18 被控过程对参数P K 、I K 、D K 的自整定要求 (19)3.3模糊自整定PID 参数控器设计 (20)确定控制器的输入、输出语言变量 (20)3.3.2确定各语言变量论域,在其论域上定义模糊量 .............................................. 21 确定P K 、I K 、D K 的调节规则 .. (21)模糊推理和模糊运算 (22)第四章 调速系统硬件设计 (24)4.1硬件总体方案设计 (24)4.2 主电路设计 (24)4.3 整流电力二极管参数的确定 (25)4.4 IGBT 的选择 (26)4.5 IGBT 驱动电路的设计 (26)IGBT 驱动电路的一般要求 (26)IGBT 的专用驱动集成电路 (26)4.6 泵升电压的抑制 (28)4.7 电流反馈信号检测装置设计 (29)概述 (29)4.7.2 电流检测装置的设计 (30)4.8转速检测环节及其与单片机接口电路的设计 (30)4.9 模拟量给定电流、转速反馈量与单片机的接口设计 (32)4.10 键盘与显示接口电路 (32)第五章系统软件设计 (34)5.1主程序 (34)5.2 A/D转换设计 (35)5.3键盘与显示子程序设计 (36)5.4模糊PID控制流程设计 (37)结论 (38)参考文献 (39)致谢 (42)第一章绪论1.1 序言在现代化的工业生产过程中,几乎无处不使用电力传动装置,生产工艺、产品质量的要求不断提高和产量的增长,使得越来越多的生产机械要求能实现自动调速。
三菱FX3UPLC和台达VFD-M变频器PID速度控制
三菱FX3UPLC和台达VFD-M变频器PID速度控制我们直接使用三菱FX3U的PID指令进行控制。
下面我们看一下PID指令的用法:S1是目标值:比如目标转速40转/分钟。
S2是测量值:比如当前实时测得的转速38转/分钟。
S3是参数数据的首个寄存器地址:例如D100,那么后面D101-D128都是PID指令相关的参数数据。
D是就是实际的输出值。
这个输出值是有范围的,需要通过参数S3+22(输出上限)和S3+23(输出下限)来限定。
这个范围是跟模拟量输出模块的量程,或者PWM波形周期有关。
比如:4DA模块输出0-10V电压,对应0-32000量程,那么S3+22就设置成32000即可,因为量程最大也就是32000,再大还是输出10V,没有实际意义。
又比如:我们用PWM的占空比控制加热棒输出功率时,周期定为1000(单位:ms),那么S3+22就设置成1000,如果设的大了,PWM 指令反而就不执行了。
所以,根据执行器的量程来设置输出上下限才行。
下面看下S3的参数表:采样时间:在本例中,控制对象是电机转速,它的实时性很强,目标值可以马上到达,因此为了提高准确性,采样时间要小一点。
而如果是控制的温度/压力值等滞后性比较强的对象,那么采样时间可以设的长点,比如温度,加热棒加热得比较慢,反馈回来的温度变化比较滞后,所以没必要设的短,较短的时间内可能测得的实时温度值基本没变化。
动作设定:bit0=0.正动作:它的表现是测量值和目标值越接近,输出值越往上升。
如本例测速,就是要正动作,测量值离目标值远,那么输出值就要慢慢增大。
bit0=1.逆动作:它的表现跟正动作相反。
测量值越接近目标值,输出值越小。
例如加温控制,当温度慢慢变大,输出就要慢慢变小,这样才不会过温。
bit1和bit2.不管它,设为0bit3.不使用,设为0bit4.当执行自整定时,该位设置为1,当自整定结束后,它会自动范围。
因此用它来对动作设定的参数重新赋值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.4 参数调整规则的探索 ................................................................................................................. 6 2.5 自校正PID控制器 ...................................................................................................................... 7 3 软件说明 ............................................................................................................................................. 8 3.1 软件说明 ..................................................................................................................................... 8 3.2 档案构成 ..................................................................................................................................... 8 3.3 DMC界面 .................................................................................................................................... 8 3.4 子程序说明 ................................................................................................................................. 9 4 程序范例 ........................................................................................................................................... 16 4.1 DEMO程序 ............................................................................................................................... 16 4.2 程序流程与说明 ....................................................................................................................... 19 4.3 中断子流程与说明 ................................................................................................................... 20 5 MCU使用资源 ................................................................................................................................. 21 5.1 MCU硬件使用资源说明 .......................................................................................................... 21 6 实验测试 ........................................................................................................................................... 22 6.1 响应曲线 ................................................................................................................................... 22 7 参考文献 ........................................................................................................................................... 26
(式 1-2)
Kp ―― 控制器的比例系数 Ti -- 控制器的积分时间,也称积分系数 Td ―― 控制器的微分时间,也称微分系数
比例
+
r (t )
+
e( t )
-
积分
+ +
u(t )
被控对象
y( t )
微分
图 1-2 模拟 PID 控制系统原理图 1、 调节控制做电机速度控制
Kp t e(t )dt Ti ∫0
从积分部分的数学表达式可以知道,只要存在偏差,则它的控制作用就不断的增加;只有在偏 差 e(t )=0 时,它的积分才能是一个常数,控制作用才是一个不会增加的常数。可见,积分部分可以 消除系统的偏差。 积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。 积分常数 Ti 越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡;但是增大积分常数 Ti 会 减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提高系统的稳定性。 当 Ti 较小时,则积分的作用较强,这时系统过渡时间中有可能产生振荡,不过消除偏差所需的时间 较短。所以必须根据实际控制的具体要求来确定 Ti 。 3、 微分部分 微分部分的数学式表示是: Kp * Td
e( t ) = r ( t ) − y ( t )
控制规律为
(式 1-1)
e(t ) 作为 PID 控制的输入,u(t ) 作为 PID 控制器的输出和被控对象的输入。所以模拟 PID 控制器的
u(t ) = Kp[e(t ) +
其中:
1 t de(t ) ( ) + ] e t dt Td Ti ∫0 dt
2
数字PID控制 ...................................................................................................................................... 3 2.1 位置式PID算法 .......................................................................................................................... 3 2.2 增量式PID算法 .......................................................................................................................... 4 2.3 控制器参数整定 ......................................................................................................................... 4 2.3.1 2.3.2 2.3.3 2.3.4 凑试法........................................................................................................................... 5 临界比例法 ................................................................................................................... 5 经验法........................................................................................................................... 5 采样周期的选择 ........................................................................................................... 6
PID 调节控制做电机速度控制
PID 调节控制做电机速度控制
目录
页
1
模拟PID控制 ...................................................................................................................................... 1 1.1 模拟PID控制原理 ...................................................................................................................... 1