论文部分内容阅读
摘 要 PID控制算法是最早发展起来的控制策略之一,因为它的简单性、可靠性和鲁棒性等特点而广泛运用于运动和过程控制中。可是按照常规的PID控制方法达不到理想的控制效果,况且在现实的应用过程中受到参数整定方法繁杂的困扰较大。本文对PID控制系统进行了改进,打破传统PID的模式应用在平衡车中,该系统使平衡车的稳定性有了明显的提高。
关键词 K60;PID;控制参数;平衡车
中图分类号:TP242 文献标识码:A 文章编号:1671-7597(2014)24-0112-01
PID控制自发展以来便在工业生产中发挥着重要的作用,随着工程系统的日益复杂,传统的PID对于时变系统来说它的参数的确定尤为的复杂和麻烦,控制不足的弊端也明显的凸现。随着计算机技术和智能控制理论的发展,可进行PID的智能
整定。
1 平衡车控制系统结构和组成
1)系统概述。
本系统采用K60为核心芯片,采用加速度计MMA7260和陀螺仪ENC-03作为车模姿态传感器,采用500线欧姆龙作为车模速度控制器。MCU通过姿态传感器获得车模实际倾角通过数字式PD对实现车模姿势的闭环控制,通过编码器获得车速并使用改进式增量PID对速度进行闭环控制,将速度控制和平衡控制同时加在电机上,保持车的稳定平衡。
2)控制器组成。
本系统的控制部分分为两个部分,第一部分为模拟信号控制部分,将加速度和陀螺仪的信号采集到单片机中,进行Kalman滤波,将滤波后的信号作为实际PD的控制参量,加载在电机驱动模块上,对系统进行一个粗步调节;第二部分为速度控制部分,通过正交解码获得编码器的脉冲数通过改进式增量PID进行输出,信号加载在电机驱动模块上,从而对系统状态进行精细调节,系统控制结构框图如图1所示。
图1 系统控制结构框图
2 控制系统硬件电路设计
1)模拟控制电路部分。
模拟信号控制部分采用K60单片机的AD口对加速度计和陀螺仪的信号进行模数转换。
经过滤波处理后再变为有效数据进行使用为主控板模拟控制电路。
2)电机驱动电路。
本系统在直流驱动电路上采用了四片BTS7960芯片组成的全桥驱动电路,每片BTS7960芯片的内部都是一个半桥,当芯片管脚INH为High时,使能BTS7960芯片。管脚IN用来确定哪个MOSFET工作。当管脚IN为High且INH管脚也同时为High时,高边MOSFET导通, 则OUT引脚输出高电平;反之,当IN引脚为低电平且INH引脚为高电平时,低边MOSFET导通,则OUT引脚输出低电平;如此,通过控制四片BTS7960芯片IN引脚的电平,就能控制电机的正反转。该电机驱动电路应用简单,且驱动功率较大,只需要将单片机输出的PWM信号向芯片第2 引脚IN输入就能对直流电机的转速和方向进行控制。
3 控制系统软件算法设计
3.1 控制算法
控制系统在软件算法中采用了数字式PID,比例作用是对偏差做出瞬间的反映,就是在偏差产生时,系统立刻做出使控制量向偏差减少方向控制。其作用的强度由比例系数Kp决定,但Kp过大会破坏系统的稳定性,故而Kp选择必须恰当。积分过程可以消除系统的静态误差,但会增加系统响应的时间,Ki越大同样会是系统产生超调。微分控制的作用是根据偏差的变化趋势进行阻止。微分控制的引入,有助于克服震荡,减小超调量,使系统趋于稳定。
3.2 控制算法的改进
常规PID控制采用积分控制的目的是消除静态误差。但是在系统的开启和较大幅度增减设定值时,在较短时间内系统存在较大误差,这会造成运算的积分积累,可能引出系统较大的超调,甚至引起系统较大的震荡。
1)积分分离法控制思路:当被控量接近目标值时,引入积分控制以达到消除静差目的,从而提高控制精度;当被控量与目标值有较大偏差时去除积分环节,以免积分积累破坏系统的稳定,从而减小超调量。
①首先根据实际,设置阈值且y>0;
②当|error(k)|<=y时,采用PID控制以保证系统的控制精度。
③当|error(k)|>y时,采用PD控制,使系统有较快的响应速度。
积分分离控制算法可表示为:
U(k)=Kp*error(k)+m*Ki*+Kd*(error(k)-error(k-1))
2)不完全微分控制思路:微分控制的引入存在两面性,其虽然能改善系统的动态特性,也易引起高频的干扰,使扰动突变时体现为微分项的不足。解决方法为:在控制算法中加入低通滤波。
不完全微分控制算法表示为:
Ud(k)=Kd(1-a)*(error(k)-error(k-1))+a*Ud(k-1)
3)步进式PID控制思路:在较大阶跃响应时,系统容易超调。解决方法为:采用步进式积分分离PID控制,具体方法是在不直接对信号进行响应情况下使输入指令信号逐渐地逼近期望信号。
步进式PID控制算法表示为:
r(t)= r(t-1)+r(t)/T
4 实验结果
本系统在测试过程中,与传统的PID相比,平衡车的稳定性有了明显的提高,在行进过程中不会有突然向前和突然向后的现象。并且在一些复杂的道路上也可以进行前进,对于平衡车的改进和推广很有实际意义。
5 结论
本文对数字式PID的改进的初衷和改进的过程进行了详细的介绍,系统结合了硬件模拟电路控制和单片机程序控制两种方式先经过模拟电路初步调节,再通过单片机程序软件逐步精细优化,在测试过程中,表现出了平衡车稳定、灵活、高效的特点,对于平衡车的应用前景和发展具有很大的意义。
项目基金
西北民族大学国家大学生创新创业训练计划项目资助(项目编号:201410742018)
参考文献
[1]刘金琨.先进PID控制MATLAB仿真[M].北京:电子工业出版社,2014.
[2]胡寿送.自动控制原理基础教程[M].北京:科学出版社,2013.
[3]黄忠霖.自动控制原理的MATLAB实现[M].北京:国防工业出版社,2007.
[4]王日明,申柏华,廖锦松.轻松玩转ARM Cortex—M4微控制器——基于Kinetis K60[M].北京:北京航空航天出版社,2014.
关键词 K60;PID;控制参数;平衡车
中图分类号:TP242 文献标识码:A 文章编号:1671-7597(2014)24-0112-01
PID控制自发展以来便在工业生产中发挥着重要的作用,随着工程系统的日益复杂,传统的PID对于时变系统来说它的参数的确定尤为的复杂和麻烦,控制不足的弊端也明显的凸现。随着计算机技术和智能控制理论的发展,可进行PID的智能
整定。
1 平衡车控制系统结构和组成
1)系统概述。
本系统采用K60为核心芯片,采用加速度计MMA7260和陀螺仪ENC-03作为车模姿态传感器,采用500线欧姆龙作为车模速度控制器。MCU通过姿态传感器获得车模实际倾角通过数字式PD对实现车模姿势的闭环控制,通过编码器获得车速并使用改进式增量PID对速度进行闭环控制,将速度控制和平衡控制同时加在电机上,保持车的稳定平衡。
2)控制器组成。
本系统的控制部分分为两个部分,第一部分为模拟信号控制部分,将加速度和陀螺仪的信号采集到单片机中,进行Kalman滤波,将滤波后的信号作为实际PD的控制参量,加载在电机驱动模块上,对系统进行一个粗步调节;第二部分为速度控制部分,通过正交解码获得编码器的脉冲数通过改进式增量PID进行输出,信号加载在电机驱动模块上,从而对系统状态进行精细调节,系统控制结构框图如图1所示。
图1 系统控制结构框图
2 控制系统硬件电路设计
1)模拟控制电路部分。
模拟信号控制部分采用K60单片机的AD口对加速度计和陀螺仪的信号进行模数转换。
经过滤波处理后再变为有效数据进行使用为主控板模拟控制电路。
2)电机驱动电路。
本系统在直流驱动电路上采用了四片BTS7960芯片组成的全桥驱动电路,每片BTS7960芯片的内部都是一个半桥,当芯片管脚INH为High时,使能BTS7960芯片。管脚IN用来确定哪个MOSFET工作。当管脚IN为High且INH管脚也同时为High时,高边MOSFET导通, 则OUT引脚输出高电平;反之,当IN引脚为低电平且INH引脚为高电平时,低边MOSFET导通,则OUT引脚输出低电平;如此,通过控制四片BTS7960芯片IN引脚的电平,就能控制电机的正反转。该电机驱动电路应用简单,且驱动功率较大,只需要将单片机输出的PWM信号向芯片第2 引脚IN输入就能对直流电机的转速和方向进行控制。
3 控制系统软件算法设计
3.1 控制算法
控制系统在软件算法中采用了数字式PID,比例作用是对偏差做出瞬间的反映,就是在偏差产生时,系统立刻做出使控制量向偏差减少方向控制。其作用的强度由比例系数Kp决定,但Kp过大会破坏系统的稳定性,故而Kp选择必须恰当。积分过程可以消除系统的静态误差,但会增加系统响应的时间,Ki越大同样会是系统产生超调。微分控制的作用是根据偏差的变化趋势进行阻止。微分控制的引入,有助于克服震荡,减小超调量,使系统趋于稳定。
3.2 控制算法的改进
常规PID控制采用积分控制的目的是消除静态误差。但是在系统的开启和较大幅度增减设定值时,在较短时间内系统存在较大误差,这会造成运算的积分积累,可能引出系统较大的超调,甚至引起系统较大的震荡。
1)积分分离法控制思路:当被控量接近目标值时,引入积分控制以达到消除静差目的,从而提高控制精度;当被控量与目标值有较大偏差时去除积分环节,以免积分积累破坏系统的稳定,从而减小超调量。
①首先根据实际,设置阈值且y>0;
②当|error(k)|<=y时,采用PID控制以保证系统的控制精度。
③当|error(k)|>y时,采用PD控制,使系统有较快的响应速度。
积分分离控制算法可表示为:
U(k)=Kp*error(k)+m*Ki*+Kd*(error(k)-error(k-1))
2)不完全微分控制思路:微分控制的引入存在两面性,其虽然能改善系统的动态特性,也易引起高频的干扰,使扰动突变时体现为微分项的不足。解决方法为:在控制算法中加入低通滤波。
不完全微分控制算法表示为:
Ud(k)=Kd(1-a)*(error(k)-error(k-1))+a*Ud(k-1)
3)步进式PID控制思路:在较大阶跃响应时,系统容易超调。解决方法为:采用步进式积分分离PID控制,具体方法是在不直接对信号进行响应情况下使输入指令信号逐渐地逼近期望信号。
步进式PID控制算法表示为:
r(t)= r(t-1)+r(t)/T
4 实验结果
本系统在测试过程中,与传统的PID相比,平衡车的稳定性有了明显的提高,在行进过程中不会有突然向前和突然向后的现象。并且在一些复杂的道路上也可以进行前进,对于平衡车的改进和推广很有实际意义。
5 结论
本文对数字式PID的改进的初衷和改进的过程进行了详细的介绍,系统结合了硬件模拟电路控制和单片机程序控制两种方式先经过模拟电路初步调节,再通过单片机程序软件逐步精细优化,在测试过程中,表现出了平衡车稳定、灵活、高效的特点,对于平衡车的应用前景和发展具有很大的意义。
项目基金
西北民族大学国家大学生创新创业训练计划项目资助(项目编号:201410742018)
参考文献
[1]刘金琨.先进PID控制MATLAB仿真[M].北京:电子工业出版社,2014.
[2]胡寿送.自动控制原理基础教程[M].北京:科学出版社,2013.
[3]黄忠霖.自动控制原理的MATLAB实现[M].北京:国防工业出版社,2007.
[4]王日明,申柏华,廖锦松.轻松玩转ARM Cortex—M4微控制器——基于Kinetis K60[M].北京:北京航空航天出版社,2014.