《pid算法控制》由会员分享,可在线阅读,更多相关《pid算法控制(5页珍藏版)》请在金锄头文库上搜索。
1、广州大学学生实验报告开课学院及实验室:物理与电子工程学院 2015年4月24日班级光信121姓名学号指导老师实验课程名称数字信号处理实验成绩实验项目名称PID算法控制1、 实验目的2、 实验原理3、 使用仪器、材料4、 实验步骤5、 实验过程原始记录(数据、图案、计算等)6、 实验结果及分析 一实验目的1 掌握利用 ICETEK-VC5509-A 板与 ICETEK-CTR 板上带速度反馈的直流电机 B 的连接和控制原理。2熟悉 VC5509DSP 的通用 IO 端口和定时器的编程使用。3学习利用数字 PID 控制算法控制电机转速。二实验原理1直流电机测速原理:直流电机 B:在 ICETEK-
2、CTR 板上有一个带速度反馈的直流电机 B,它的额定工作电压为+12V,额定转速为 6500 转,带有速度反馈线路,反馈信号为方波脉冲,其频率与转速成正比(电机转动一圈产生两个脉冲)。电机闭环控制系统: 如图在 DSP 系统板的控制下形成闭环速度控制系统, DSP 发送的 PWM波控制直流电机的转速,通过速度反馈,DSP 可实时读取当前速度值,利用 DSP 中运行的控制程序根据速度读数控制 PWM 的脉宽,从而实现闭环调速控制。三实验设备计算机,ICETEK-VC5509-EDU 实验箱。2数字 PID 控制器:将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,用这一控制量对被
3、控对象进行控制,这样的控制器称 PID 控制器。模拟 PID 控制原理:模拟 PID 控制系统原理图如图所示。 该系统由模拟 PID 控制器和被控对象组成。 图中, r(t)是给定值,y(t)是系统的实际输出值,给定值与实际输出值构成控制偏差 e(t)e(t)=r(t)-y(t)e(t)作为 PID 控制器的输入,u(t)作为 PID 控制器的输出和被控对象的输入。所以模拟 PID控制器的控制规律为其中:Kp 比例系数 Ti积分常数 Td微分常数 Uo控制常量比例环节的作用是对偏差瞬间做出快速反应。偏差一旦产生,控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数
4、KP ,KP越大,控制越强,但过大的PK 会导致系统震荡,破坏系统的稳定性。积分环节的作用是把偏差的积累作为输出。在控制过程中,只要有偏差存在,积分环节的输出就会不断增大。直到偏差 e(t)=0,输出的 u(t)才可能维持在某一常量,使系统在给定值r(t)不变的条件下趋于稳态。积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度, 增加系统的超调量。 积分常数IT 越大, 积分的积累作用越弱。 增大积分常数IT 会减慢静态误差的消除过程,但可以减少超调量,提高系统的稳定性。所以,必须根据实际控制的具体要求来确定IT 。微分环节的作用是阻止偏差的变化。它是根据偏差的变化趋势(变化速度)
5、进行控制。偏差变化得越快,微分控制器的输出越大,并能在偏差值鞭打之前进行修正。微分作用的引入,将有助于减小超调量, 克服震荡, 使系统趋于稳定。 但微分的作用对输入信号的噪声很敏感,对那些噪声大的系统一般不用微分, 或在微分起作用之前先对输入信号进行滤波。 适当地选择微分常数TD ,可以使微分的作用达到最优。数字 PID 控制算法:由于计算机的出现,计算机进入了控制领域。人们将模拟 PID 控制规律引入到计算机中来。由于计算机控制是一种采样控制,它只能根据采样使可的偏差计算控制量,而不能象模拟控制那样连续输出控制量,进行连续控制。由于这一特点,式(1-1)中的积分和微分项不能直接使用,不许进行
6、离散化处理。离散化处理的方法为:以 T 作为采样周期,k 作为采样序号,则离散采样时间 kT 对应着连续时间 t,用求和的形式代替积分,用增量的形式代替微分,可作如下近似变换: (1-2)如果采样周期取得足够小, 则以上近似计算可获得足够精确的结果, 离散控制过程与连续控制过程十分接近。如果只需要计算控制量的增量ku ,可以使用增量式 PID 控制算法。由式(1-3)可得控制器在第 k-1 个采样时刻的输出值为:由式(1-6)可以看出,如果计算机控制系统采用恒定的采样周期 T,一旦确定了 A、B、C,只要用前后 3 次测量值的偏差,就可以由式(1-6)求出控制增量。程序设计: 控制环节:系统维
7、护一个全局变量 pwm, 计算控制电机绕组电压的 PWM 波形的占空比,取值越大,通过电机的电流越多,电机加速,反之,占空比越小电机越慢。 采样环节:由于电机速度反馈信号频率为几十赫兹,所以设计测量周期较长,这样保证偶然偏差值较少发生,但系统“反应”较慢。采样脉冲设计为 1 赫兹的方波信号。测量的结果为电机转动圈数,比如测速结果为 84,则实际转速为 84 转/秒。 计算环节:利用公式(1-6),取 A=0.6、B=0.2、C=0.1,直接由测速结果计算出占空比调节增量,计算中限制了增量的最大值不能超过 10,以免引起太大的电流波动。 显示:在每次调节电机转速时刷新显示各参数。 “设定”为实验
8、者指定电机转速,单位为“转/秒” ; “测速”为通过采样环节得到的电机速度测量值,单位也为“转/秒” ; “误差”指速度测量值与设定值之差; “调整”为通过 PID 算法得到并付诸调整的调整值,调整对象为占空比; “占空比”当前采用的占空比; “输入”通过小键盘输入新的转速设置,按“Enter”键生效。3 程序流程图:四实验步骤1实验准备:连接实验设备:请参看本书第三部分、第一章、二。将 ICETEK-CTR 板的供电电源开关拨动到“开”的位置。开关位置请参见第二部分、第一章、五、 “扩展模块电源开关及其指示灯” 。2设置 Code Composer Studio 2.21 在硬件仿真(Emu
9、lator)方式下运行:请参看本书第三部分、第一章、四、2。3启动 Code Composer Studio 2.21:请参看本书第三部分、第一章、五、2。选择菜单 DebugReset CPU。4打开工程文件:工程目录 C:ICETEK-VC5509-EDULabLab0602-PIDPID.pjt。浏览 main.c 文件的内容,理解各语句作用。5编译、下载、运行程序观察结果:-单击“Debug”菜单, “Run”项,运行程序。-观察 ICETEK-CTR 上液晶上的显示。6设置电机转速:-按小键盘上数字键,修改转速(单位:转/秒),输入在液晶显示屏上可观察,按回车生效。继续观察液晶显示屏
10、中参数在 PID 控制算法下的变化。-打开 GEL 控制:用鼠标右键单击工程管理窗口中的“GEL files” ,选择“Load GEL” ,选择工程目录中的 PID.gel。-选择菜单 GEL-PID 控制-SetSpeed。-在“Function:SetSpeed”窗口中输入速度值,并单击“Execute”按钮也可以设置转速。7 结束程序运行,退出 CCS。5、 实验数据记录 设定速度 测速 占空比 100 100 99% 80 84 75% 50 49 44% 6、 实验数据分析 可以从记录的数据中可以看出,设定的速度与实际达到速度基本有一定的合理误差,而占空比数值上接近速度的值。 实验中,测得的最大速度为100,此时占空比为99%,较接近100%