PID 硬件与软件调速综合电路的设计
引言
PID 控制器是由比例- 积分- 微分三个单元组成的一个反馈回路控制部件,广泛应用在工业控制应用中。在PID 算法中,既要考虑控制对象的当前状态值(现在状态),还要考虑控制对象过去一段时间的状态值(历史状态)和最近一段时间的状态值变化(预期), 将这3 方面的值共同来决定当前的输出控制信号;比例、积分、微分三种运算组合时,优化调整参数相互配合,在系统控制时可以起到快速、及时调节偏差,提高了控制的灵敏度,提高系统控制精度,改善稳态性能和提高系统稳定性,从而能达到良好的控制效果。
在硬件PID 电路中,一般是采用运算放大电路构成比例、微分、积分电路三个单元电路,再将三个单元电路进行求和输出控制信号,纯硬件电路的调试过程繁杂,对元件的要求和电路的设计要求较高,软件PID 可以配合少量硬件,基于单片机来实现。设计一个基于硬件与软件结合一体的PID 电机调速电路[1],能对直流电机的转速进行一定的调整,从而使电机在空载和一定的负载情况下,均可能得到恒定的转速,电机的转速通过数码管或是LED屏进行显示。将两种PID 调速的性能特点进行对比分析,可通过开关进行实时的切换,为实际应用提供更加成熟的可借鉴方案。
1 硬件PID 的实现
1.1 F/V 转换电路
整机硬件电路结构图如图1 。将电机转速通过霍尔传感器检测出来,霍尔传感器输出为一般输出方波信号。方波的低电平一般在0~0.5 V,高电平一般大于1 V。这种PWM方波信号要通过转换电路进行转换成直流电压信号。这里可以采用CD4013 来实现F/V 功能的转换。
图1 硬件PID 电路结构框图
原理如图2:当霍尔传感器检测到电机旋转时,会从霍尔传感器的1 脚输出如图所示的矩形波,该矩形波的占空比保持不变,矩形波的频率按照电机的转速成正比变化。当CLK 脉冲的上升沿到达时,使CD4013 的输出翻转为高电平(时序见真值表1)。
图2 F/V 转换电路
表1 CD4013 真值表
此时,CD4013 的1 脚输出的高电平将通过电位器R20 对电容C6 充电,当C6 充电达到高电平时,使其4 脚复位信号(R 为高电平)有效,电路复位,CD4013 的1 脚输出低电平,此时电容再通过二极管D4、R25 快速放电,基本在下一个CLK 上升沿到达前已经放电完成,4 脚(R)处于低电平,即循环至一下周期。从实物的波形对比上来看,CD4013 的1 脚输出端子的信号为占空比不变,频率按电机转速变化而变化的矩形波,将该矩形波通过R26 与C7 组成的RC 滤波器滤波后输出直流电送入信号调理电路。
1.2 信号调理电路
原理如下:由F/V 信号输出的电压送入反相跟随器做缓冲后进入第二级电压放大(可调最大到5 倍)。再经求和电路输出在POUT 端子,以便与PID 调节电路进行合适地比较。
1.3 PID 调节电路
比例环节:集成运算放大器的反馈网络采用电阻从而构成电压串联负反馈电路,即是一个比例环节。
积分环节:如果系统存在稳定状态,积分环节将始终给跟踪稳定状态,有时表现为适应不断变化的干扰。根据以上思路,可以得到一个比较简单的比例积分环节。
原理如下:信号调理电路送出的POUT 信号经过IC5 与PID 给定信号(由电位器R34 产生)进行比较,输出经由IC1A 构成的比例运算电路、IC1B 构成的积分电路和IC1C 构成的微分电路进行求和运算经IC1D 输出到VOUT 端。电位器R1 可调节比例因子,R10 可以调节积分因子,R11 可以调节微分因子。调试时,应先将R10、R11 的值调节至使电路不起作用的位置(即等效电阻为0)。然后再调节R10,R11 使其电路能正常输出即可。在本电路中,积分和微分的效果需要反复不断地调节。
1.4 PWM产生电路[2]
原理见图3,直流电机的驱动需要PWM 信号来控制,PWM 信号的占空比的大小与电机的转速成比例,利用滞回比较产生矩形波,经积分电路得到三角波,PWM 信号的产生可以利用三角波与PID 调节的直流电压信号进行比较得到。
图3 H 桥驱动电路
直流电机的PWM信号需要较大的电流,而单片机输出的电流信号较弱,无法直接驱动电机,需要利用三极管或是MOS 管构成“H 桥”电路来实现驱动,MOS 管作驱动时,可以获得更大的驱动电流,要实现电机的正反转控制,需要四个MOS 管构成上下两个半桥,将电机接与桥臂之间。电机动转,电流导通的路径是对角线上的一对场效应管,另外一个对角线的场效应管截止。电流从电机的左流向右,或是右流向左,从而控制电机的正反转。
H 桥式[3]电机驱动电路包括4 个场效应管(三极管)和一个电机。要使电机运转,必需导通对角线上的一对场效应管(三极管)。依据不同效应管(三极管)对的导通状况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
滞回比较器产生矩形波后再经积分得到三角波,将三角波与PID 调节的直流电压信号进行比较就可以得到PWM信号了,该信号就可以作为驱动H 桥电机的驱动信号,以控制电机的转速。控制原理如下:当SW3 处于1 档,即接通了PWM。
将SW2 处于1 时,IC3A 的1、2 脚接高电平,3 脚输出低电平。IC3C 的10 脚输出高电平,从而使FT3 截止,FT4 导通。IC3D 的11 脚输出电平由PWM决定,当PWM为高时,IC3D 的11 脚输出高电平,FT1 截止,从而使电机无电流流过。当PWM为低时,IC3D 的11 脚输出低电平,FT1 导通,从而使电流经FT1 至电机再流过FT4 到地,通过改变PWM 的占空比,可使电机上面的平均电压得到相应的变化,从而控制电机的转速。
当SW2 开关处于3 档时,IC3A 的1、2 脚接低电平,3 脚输出高电平。IC3D 的11 脚输出高电平,从而使FT1 截止,FT2 导通。IC3C 的10 脚输出电平由PWM决定,当PWM为高时,IC3C 的10 脚输出高电平,FT4 导通,从而使电机无电流流过。当PWM 为低时,IC3C 的10脚输出低电平,FT3 导通,从而使电流经FT3 至电机再流过FT2 到地,通过改变PWM的占空比,可使电机上面的平均电压得到相应的变化,从而控制电机的转速。通过SW2 的开关位置,改变电机电流的流向,从而改变了电机的转速,整体电路图见图4。
图4 PID 硬件电路图
2 软件PID 算法
系统采用增量型PID[4]算法来实现,其原理是对位置型PID 取增量,将相邻两次采样时刻所计算的位置值作比较(减法),作为系统控制器的输出结果,如果控制量输出结果是增量,对应上一次的控制量需要增加控制量,反之为减少控制量。
KP为比例系数,KI为积分系数,KD为微分系数,e(k)为误差,e(k-1):误差变化。
为了实现这个公式:在STM32 单片机[5](可以使用性价比高F0 系列)中做下面的程序设计:PID 运算实现过程仍然是分为定义变量、初始化变量、实现控制算法函数——PID 运算函数。把单片机IO 口接至传感器输出端采集电机转速的输出端,利用单片机输入中断对信号进行采集,得到当前电机的转速,把当前实时转速和目标转速都传入PID 运算函数中,这个PID运算函数按照增量式计算公式能自动分析计算,输出调整量。再把我们设定的当前量与调整量作叠加即是实际输出控制电机的PWM了,实现流程见图5。
图5 软件PID 实现流程
3 结论
本设计的方案是探索PID 硬件与软件调节方式的共同实现,在同一电路上对同一目标电机进行实验,均取得了预期的效果,经过对比,用硬件电路实现的PID 是模拟量输出,是连续的,控制精度上要好于软件,但软件PID 使用简单、灵活、调节也更方便。硬件PID 能为电路分析初学者提供完整的电路结构和完整原理性的功能展现。两种在电工电子业专业的教学和实际产品的研究中可分别提供较好的借鉴思路