直流电机优化控制系统设计(四)
扫描二维码
随时随地手机看文章
3.6 转速及电流检测
3.5.1 光电编码器测速原理
本文使用的电机轴上自带了增量式光电编码器HEDS5500-100,当码盘转动时,它的输出信号是相位差为90°的A相和B相脉冲号。从A,B两个输出信号的相位关系(超前或滞后)可判断旋转的方向。波形原理图如图3-10所示。
图3-10 光电编码器顺时针旋转时的输出波形
顺时针旋转时,A相超前B相90°。逆时针旋转时,B相超前A相90°。根据两相相位关系即可判断出电机的旋转方向。查阅该光电编码应用手册可知道,光电编码器轴旋转一周时,各相均输出100个脉冲,根据该特点,可在一定时间内对编码器输出脉冲进行计数,经计算便可得到转速。光电编码器与ATmega16的接口如图3-11所示。
转向鉴别电路由D触发器74LS74构成,当A超前B时,D触发器输出为高电平;当A滞后B时,D触发器输出低电平。根据D触发器Q端的电平高低,即可判断电机正转和反转。将A和B相中的一相脉冲(图中为B相脉冲)送到ATmega16的T0定时/计数引脚进行计数,采用定时器T2进行定时,从而计算出电机转速。
图3-11 转向鉴别及转速检测电路
3.5.2 电流检测
在H桥回路中串入采样电阻,电流流过该电阻时产生压降,通过检测该电压,即可计算出电机中的电流。若该电阻取得过大,则会影响H桥下臂的驱动电压,取得过小,不利于提高检测精度。这里我们取0.1Ω,当电机工作在额定状态时,电流约为5A,此时,压降为0.5V,再将该电压放大5倍后,送入ATmega16的A/D转换通道0。电流检测电路如图3-12所示。Vout接ATmega16的PA0脚即ADC0进行A/D转换。电阻的功耗为:PR耗=I2R=52×0.1=2.5W。
选择0.1Ω,5W的电阻即可满足要求。R19与C20构成滤波电路。电机启动时电流很大,此时运放输入电压也较大,为保护运放不受损坏,加入二极管D5与D6,对输入电压进行限幅。A/D检测电压V测与实际电流I关系为:V测=I×0.1×5(V)=0.5I(V)。
3.7 按键、显示与通讯模块
按键主要用来接收外部的命令和判断门的位置。当有人经过客车门时,按下“开门键”。当单片机检测到有开门键按下时,将设定PWM波形占空比大于0.5,电机正转,此时门开。当门开到极限位置时,安装在门两端的限位开关1闭合,单片机检测到该信息后,禁止PWM输出,电机停转。当人经过后,按下关门键,此时单片机将占空比设定为小于0.5,电机反转,此时门开始关闭。在关门过程中,若遇到障碍物,则电机反转,门打开。若未遇到障碍物,当门完全关闭时,限位开关2闭合,单片要检测到该信息后,也禁止PWM输出,电机停止,表明门已关闭。
液晶LCD1602主要用来实时显示电机的转速和电流。
ATmega16和PC机通讯采用RS-232接口,将电机运行过程中的各类参数如转速、电流等发送到上位机,以便于分析电机的运行状态。单片机TTL电平,而串行通讯采用RS-232电平,两者电平不一致,需经过电平转换,由MAX232完成。电路如图3-13所示。
图 3-13 按键、显示与通讯电路
4 系统软件设计
以上主要介绍了系统的硬件组成与设计,软件部分由别外一名同学完成,下面只对部分进行简单说明。
4.1 AVR单片机开发环境简介
常用的AVR开发软件主要有:AVR Studio、GCCAVR(WinAVR)、ICC AVR、IAR AVR及CodeVision AVR等。由于ICC AVR集成了C编译器,增加了软件模块,编译环境简洁,生成的代码结构紧凑、效率高,支持并口下载。缺点是不支持仿真调试。这里我们选择ICC AVR作为软件编写和编译环境。
4.2 数据处理
4.2.1 转速计算
由光电编码盘型号HEDS5500-100,可知电机轴旋转一周时输出脉冲数为100。若电机转速为n(r/min),则光电编码器输出脉冲频率fop为:
(4-1)
电机额定转速为3350r/min,此时光电编码器输出最高频率为: 5583Hz,实际电压为30V时,随着转速的上升,输出频率应该还要高出25%左右。
光电编码盘的B相输出送入ATmega16的T0进行计数,而利用T2作定时器,产生20ms的定时时间。由于T0、T2均为8位。则T0所能测得最高频率为。
(4-2)
覆盖了最高频率,因此定时器定时20ms时能测到最高转速。
最小频率(频率分辨率)为
(4-3)
从而得到最小转速分辨率为0.5r/s。[!--empirenews.page--]
4.2.2 转速电流曲线的显示
LCD1602实时显示的转速、电流的同时,ATmega16还将转速和电流数据通过串口发送给PC机,利用PC机强大的数据处理和绘图功能,显示转速和电流的曲线。ATmega16设置波特率为9600bps,在PC端利用串口调试助手接收数据,再将数据在Matlab进行处理和曲线绘制。
4.3 软件流程
软件是本系统的核心部分。主要完成以下功能:处理按键信息、通过改变PWM占空比控制电机正反转、执行PID算法以实现稳速功能、实时检测电机转速和电流、串口通讯。在此不作详细说明。
5 系统测试与结果分析
5.1 系统测试
驱动电源稳压功能测试。将输入电压调到18V时,调节反馈电压的反馈系数(改变反馈分压电阻),使SG3525输出占空比刚好达到最大。此时当输入电压升高时,由于处于闭环状态,SG3525输出占空比将减小以维持输出电压恒定。
死区时间调整。调节RC充电回路中的电阻R值,从示波器上观察延时,使死区时间为500ns。如图5-1所示。
图5-1 死区时间
双极性PWM输出测试。通过程序设置占空比,从示波器上观察输出占空比的变化范围。实际测试时采用的方法是,在单片机中建一个频率为50Hz的9位的正弦波表,每次PWM溢出中断时,将波形表中的数据依次送出改变占空比,此时输出双极性的SPWM波,经电感电容组成的л形滤波器滤波后就得到正弦波。实际效果如图5-2、5-3所示。
图5-2 双极性SPWM波
图5-3 经л形滤波后的波形
表明PWM波形占空比范围可以达到0-100%。
经以上调试后。接入电机进行测试,未加PID时,电机转速随电压变化而变化。加入PID调节后,电压在18-30V变化时,转速能稳定在设定值。输入电压24V,设定转速为20r/s时,调速曲线如图5-4所示。
图5-4 调速曲线
功能测试。按下“OPEN”键时,电机正转;按下“XW1”,电机停止;按下“CLOSE”键,电机反转,按下“XW2”,电机停止;按下“CLOSE”键,在电机反转过程中,借助外力让电机减速,电机稍作停顿后反转(防夹)。测试表明系统实现了所要求的功能。
5.2 结果分析
由SPWM波形及其滤波后的结果可以看出,双极性PWM波形完全符合要求,且波形占空比从0-100%可调,精度9位,频率15.6KHz。
从调速曲线上可以看出,电机转速超调比较严重,可能与以下因素有关:
PID参数设置不合理。PID的参数的整定较繁琐,当参数设定不合理时,可导致电机振荡,超调过大等问题。
光电编码器受到干扰,影响了转速检测精度。由自动控制原理知识可知,反馈环路的精度决定环路输出精度。经过多次实际测试,即便设定同一参数,几次测试的结果也不完全一样,总的来讲超调都比较严重,具体表现是在超调时出现很窄的尖脉冲,多次改变PID参数也不能完全改善。后来用示波器在编码器的输出端观察到,电机在启动瞬间光电编码器的输出端偶尔会出现较强的干扰,足以影响到转速的准确检测,因而给反馈系统带来异常。