基于数字PID的电机速度控制系统设计课程设计任务书.doc

上传人:文库蛋蛋多 文档编号:4194041 上传时间:2023-04-09 格式:DOC 页数:16 大小:235.50KB
返回 下载 相关 举报
基于数字PID的电机速度控制系统设计课程设计任务书.doc_第1页
第1页 / 共16页
基于数字PID的电机速度控制系统设计课程设计任务书.doc_第2页
第2页 / 共16页
基于数字PID的电机速度控制系统设计课程设计任务书.doc_第3页
第3页 / 共16页
基于数字PID的电机速度控制系统设计课程设计任务书.doc_第4页
第4页 / 共16页
基于数字PID的电机速度控制系统设计课程设计任务书.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于数字PID的电机速度控制系统设计课程设计任务书.doc》由会员分享,可在线阅读,更多相关《基于数字PID的电机速度控制系统设计课程设计任务书.doc(16页珍藏版)》请在三一办公上搜索。

1、课程设计任务书学 院专 业学生姓名班级学号课程设计题目基于数字PID的电机速度控制系统设计实践教学要求与任务:1) 构成电机速度控制系统2) 硬软件设计3) 实验调试4) THFCS-1现场总线控制系统实验5) 撰写实验报告工作计划与进度安排:1) 第12天,查阅文献,构成电机速度控制系统2) 第34天,硬软件设计3) 第56,实验调试 4)第79天,THFCS-1现场总线控制系统实验 5)第10天,撰写实验报告指导教师: 201 年 月 日专业负责人:201 年 月 日学院教学副院长:201 年 月 日目录1电机硬件控制电路21.1硬件电路器件选型21.2 硬件电路设计方案21.3 硬件电路

2、的PCB设计42 PID控制算法52.1 比例、积分、微分控制52.2 PID控制器的参数整定73 基于数字PID控制程序的设计73.1 数字PID与模拟PID控制算法73.2 数字PID控制程序84总 结8附录9参考文献12摘 要在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID

3、控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。PID控制算法分为模拟PID和数字PID两种。模拟PID就是在现场安装的利用DDZII或者DDZIII型表再加上其他气动仪表的模块,对现场控制变量的模拟信号利用旋钮或拨盘对PID的三个值进行设定对或者手动控制输出的系统,其信号均为模拟信号。数字PID就是把现场的控制变量的模拟信号和对现场受控变量的输出信号均转换成了数字信号,PID的实现也是通过数字信号的设定来完

4、成的。现在大多在DCS、PLC系统内完成的。本设计是基于数字PID的电机调速计算机控制系统的设计,针对不同的电机对其PID控制参数进行相应的整定从而使电机工作以更高的效率、更好的调速性能工作!关键词:系统参数;数字PID;计算机控制系统1电机硬件控制电路1.1 硬件电路器件选型电机驱动电路的开关器件选择英飞凌公司的BTS7960。BTS7960 是 NovalithIC 家族三个独立的芯片的一部分:一是 p 型通道的高电 位场效应晶体管, 二是一个 n 型通道的低电位场效应晶体管, 结合一个驱动晶片, 形成一个完全整合的高电流半桥。所有三个芯片是安装在一个共同的引线框,利 用芯片对芯片和芯片芯

5、片技术。 电源开关应用垂直场效应管技术来确保最佳的阻 态。由于 p 型通道的高电位开关,需要一个电荷泵消除电磁干扰。通过驱动集成 技术,逻辑电平输入、电流取样诊断、转换速率调整器,失效发生时间、防止欠 电压、过电流、短路结构轻易地连接到一个微处理器上。BTS7960 可结合其他的 BTS7960 形成全桥和三相驱动结构。1.2 硬件电路设计方案电机控制从控制方法上可以分为开环控制和闭环控制两种。开环控制在用法上比较简单,只需考虑输出,不需要反馈信号,使用上比较简单,但是其缺点是速度控制的精度比较低,不能适应不同的赛道环境。另外一种为闭环控制,电机的速度控制信号输出由需要的速度和电机的实际转速二

6、者决定,即需要对电机的实际转速进行采集和反馈。这种做法的好处是控制精度比较高,电机调速性能比较理想。通常情况下的电机转速的闭环控制,是通过软件的自动控制算法实现的,需要将电机的转速反馈给S12,通过软件上的自动控制算法,由需要的速度同实际的速度的偏差,给出纠正值,达到对速度的稳定控制。但是这样一来将会增加S12的负担。而我们的智能车利用CCD进行识别,使微控制器更多的关注图像的采集及处理是我们设计时一直注意的问题。因此我们在电机驱动电路上下了很大的功夫,最终确定了一种硬件的闭环控制方案。这种方案使用了光电编码器或测速发电机完成电机速度信号的采集。测速发电机输出的电压大小表征了电机的实际转速。这

7、一电压同S12输出的PWM信号的积分值进行比较,由它们的偏差控制电机该加速还是减速。在电机驱动上,我们用MOS管作为分立元件搭建了H桥驱动电路,如图1.1所示,简化H桥驱动电路如图1.2所示。通过逻辑设计,可以让电机处于多种模式下工作,经过在赛道上对赛车进行试验,电机的加减速效果很好,完全可以满足赛车对不同赛道加减速的要求,可以达到对电机的调速控制要求。电机的工作模式如表1所示。图1.1 驱动电路原理图图1.2 H桥电机驱动电路表1 电机工作模式模式(nENABLE = 0):HIN1nLIN1HIN2nLIN20, 自由正转模式 1, 自由反转模式2, 带制动的正转模式3, 带制动的反转模式

8、4, 双极驱动的正转模式5, 双极驱动的反转模式6, 全速前进7, 停止(刹车)nENABLE = 1PWMLPWMnPWM PWMnPWMHLLHnPWMPWMnPWMPWMnPWMHLHLHL HnPWMPWMLLLLHLHnPWMPWM LLH1.3 硬件电路的PCB设计图1.3 驱动电路PCB图1.4 驱动电路PCB2 PID控制算法2.1 比例、积分、微分控制PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e(t)与输出u(t)的关系为: u(t)=kpe(t)+1/TIe(t)dt+TD*de(t)/dt式中积分的上下限分别是0和t。因此它的传递函数为:G(

9、s)=U(s)/E(s)=kp1+1/(TI*s)+TD*s其中kp为比例系数;TI为积分时间常数;TD为微分时间常数。图1.1 PID控制的方块图比例(P)控制。比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。 积分(I)控制。在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增

10、加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。微分(D)控制。在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例”项往往是不够的,比例

11、项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。 2.2 PID控制器的参数整定PID控制器的参数整定是控制系统的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。 PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用

12、,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。 PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。两种方法各有其特点,其共同点都是通过试验,然后按照工程对经验公式控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。 利用该方法进行 PID控制器参数的整定步骤如下: (1)首先预选择一个足够短的采样周期让系统工作; (2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和

13、临界振荡周期; (3)在一定的控制度下通过公式计算得到PID控制器的参数。本设计采用经验估计与实际调试情况相结合的方法测得本设计电机的P、I、D合适的参数为10.0,15.0,5.0。3 基于数字PID控制程序的设计3.1 数字PID与模拟PID控制算法模拟PID就是在现场安装的利用DDZII或者DDZIII型表再加上其他气动仪表的模块,对现场控制变量的模拟信号利用旋钮或拨盘对PID的三个值进行设定对或者手动控制输出的系统,其信号均为模拟信号。数字PID就是把现场的控制变量的模拟信号和对现场受控变量的输出信号均转换成了数字信号,PID的实现也是通过数字信号的设定来完成的。3.2 数字PID控制

14、程序本设计采用增量计算位置输出的PID控制算法,位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前拍和前两拍的误差有关,因此位置式PID控制的累积误差相对更大;增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀。由于增量式PID输出的是控制量增量,如果计算机出现故障,误动作影响较小,而执行机构本身有记忆功能,可仍保持原位,不会严重影响系统的工作,而位置式的输出直接对应对象的输出,因此对系统影响较大。本设计的控制程序如下: MOTOR_P

15、= (int) ( Kp*(MOTOR_ER-MOTOR_ER1) ) ; MOTOR_I = (int) ( Ki*MOTOR_ER ); MOTOR_D = (int) ( Kd*(MOTOR_ER-2*MOTOR_ER1+MOTOR_ER2) ); MOTOR_OUT = MOTOR_OUT + MOTOR_P + MOTOR_I + MOTOR_D ;式中MOTOR_ER是编码器采集的速度与电机设定速度只差,MOTOR_ER1和MOTOR_ER2是前两个采样周期采集的误差,MOTOR_P、MOTOR_I、MOTOR_D分别是PID控制算法的P项、I项、D项,MOTOR_OUT是电机输出

16、值。4总 结电机调速在工业现场中有很广泛的应用,而要建立电机调速系统的准确数学模型是很困难的,其他基于准确数学模型的控制算法在这里有一定的局限性,通过本次设计,所以这里采取工业现场应用最为广泛的PID控制算法。通过这次设计让我对P、I、D在控制电机性能方面有了更进一步的理解,也让我感觉到了自己所学知识的不全面和对细节把握的不准确。让我去弥补了很多以前不怎么在意的细节。通过这次设计,让我看到基础是一切后续学习的基本保证,要在掌握基础理论的知识同时积极结合实际以达到学以致用的目的!附录控制器采用飞思卡尔半导体公司MC9S12XS128系列的16位控制芯片,基于数字PID的电机调速控制系统的控制程序

17、如下:#include #include #includeLQEEPROM.h#include system.h#pragma LINK_INFO DERIVATIVE mc9s12xs128int D_speed,W_speed,L_speed,Speed_Set; int MOTOR_ER,MOTOR_ER1,MOTOR_ER2,MOTOR_OUT,MOTOR_P,MOTOR_I,MOTOR_D,Kp=10,Ki=15,Kd=5;int key_temp; void mott_ctr(void) /PWMDTY01 电机反转 /PWMDTY23 电机正转 MOTOR_ER = Speed_

18、Set - Pulse_count; MOTOR_P = (int) ( Kp*(MOTOR_ER-MOTOR_ER1) ) ; MOTOR_I = (int) ( Ki*MOTOR_ER ); MOTOR_D = (int) ( Kd*(MOTOR_ER-2*MOTOR_ER1+MOTOR_ER2) ); MOTOR_OUT = MOTOR_OUT + MOTOR_P + MOTOR_I + MOTOR_D ; if(stop_flag=1) MOTOR_OUT=0; if(MOTOR_OUT=0) if(MOTOR_OUT=8000) MOTOR_OUT=8000; PWMDTY23 =

19、MOTOR_OUT; PWMDTY01 = 0; else if(MOTOR_OUT=-8000) MOTOR_OUT = -8000; PWMDTY01 = -MOTOR_OUT; PWMDTY23 = 0; MOTOR_ER2 = MOTOR_ER1; MOTOR_ER1 = MOTOR_ER; void mode_select(void) unsigned char key_temp; key_temp = Mode_Get(); PORTB = PORTB - key_temp; switch (key_temp) case 0: D_speed=85; W_speed=67; L_s

20、peed=64; break; case 1: D_speed=90; W_speed=70; L_speed=71; break; case 2: D_speed=95; W_speed=70; L_speed=67; break; case 3: D_speed=90; W_speed=75; L_speed=71; break; default : break; void main(void) DisableInterrupts; PLL_Init(); PWM_Init(); IC_Init(); Pulse_accumulator_Init(); PIT_Timer_Init();

21、PORT_Init(); EnableInterrupts; mode_select(); for(;) _FEED_COP(); PITCFLMT_PITE = 0; PWMDTY23 = 0; PWMDTY01 = 0; mott_ctr(); TFLG1_C1F=1; TIE_C1I = 1; 参考文献1 吴晔,张阳,腾勤. 基于HCS12的嵌入式系统设计. 北京:电子工业出版社,2010.2 陈伯时主编. 电力拖动自动控制系统. 第2版. 北京:机械工业出版社,2003.3 谢宜仁主编. 单片机实用技术问答M. 北京:人民邮电出版社,2003-02.4 实用电子电路设计制作300例M. 北京:中国电力出版社,2005-01.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号