基于STM32的小型升降平台伺服控制系统设计
2022-09-14孔鹏
孔鹏
(淮北工业与艺术学校,安徽淮北,235000)
0 引言
精密的测量一起往往需借助外部支撑支架提供承载和调资平台。实际生产过程中,仪器的滚转、俯仰和偏航调资可使用微调旋钮即可完成,且调资误差不大,精度较高,可满足工业精度测量需求[1~4]。而仪器的高度方向调整属于大尺寸范围装调,以适应不同高度产品的精度测量需要,大范围装调极易出现调整过小和调整过度等现象,导致试验人员需反复装调支架,耗时耗力,因此继续研制一种可使支架自动伺服调整装置,实现对仪器的承载和调姿两用功能。目前,关于伺服平台微控制器的研究层出不穷[5,6]。ZHANG H-F[7]等论述了机械设备故障的早期检测是工业生产中的最重要的问题之一,文中开发了基于STM32的信号采集系统的微控制器系统,可以快速采集并实时显示旋转轴X、Y、Z的多通道振动信号,系统具有结构简单、功耗低、小型化等特点,为本文的控制器软件设计提供了参考。本文选择使用STM32微控制器作为控制核心,采用PID控制器作为执行机构闭环控制的算法,采用微控制器作为控制核心时,离散型PID控制算法较为常用。
1 硬件设计
■ 1.1 整体硬件设计
如图 1所示,系统整体硬件包括STM32F429单片机、PC机、直流电机H桥驱动器、直流电机及其编码器、直流电源、复位电路、晶振电路、外部晶振电路、LED指示灯、串口电路、行星减速器、滚珠丝杠等。其中;串口电路与PC机连接,实现单片机与PC机间的通信;LED指示灯用于指示系统开启工作,在非工作状态下为关闭状态;系统由12V直流电源为直流电机H桥和直流电机供电,通过稳压降压芯片实现3.3V降压,为单片机供电;直流电机编码器与单片机连接,用于传输直流电机位置信号;直流电机与行星减速器连接,行星减速器与滚珠丝杠连接,实现直流电机转动到执行机构平移的运动转换,行星减速器减速比和滚珠丝杠导程可根据实际需求选择。
图1 整体硬件设计
■ 1.2 复位与晶振电路
设计的晶振及复位电路如图 2所示,复位开关SW一端与地连接,另一端通过上来电阻与3.3V高电平连接,NRST与控制器的复位引脚连接,当复位开关按下一段时间后控制器复位,程序重新开始运行。设计外部晶振为25MHz,通过两个22pF的滤波电容与地连接。
图2 复位与晶振电路
■ 1.3 稳压降压电路
由于控制器与电机驱动电路使用同一电源供电,因此需将12V的高压电源进行降压和稳压,以为控制器提供标准的3.3V电源。使用RT9193稳压降压芯片实现电压的降低与稳压控制,其电路图如图 3所示,图中D1 RED为红色LED灯,用于指示电源系统已开启并正常工作。
图3 稳压降压电路
■ 1.4 串口电路
如图4所示,采用USB转串口电路实现RS232通信协议[8],USB转串口转换芯片为CH340G,配置串口波特率为115200Hz,无奇偶校验位,8位数据帧格式,1位停止位,数据传输为收发模式。
图4 CH340G转串口电路
■ 1.5 直流电机H桥驱动
选择常用的永磁式直流电机,直流电机额定电压为12V,通过H桥全桥驱动方式实现PWM波形的输入和电机控制电压的输出。H桥由最基本的4个MOS管与EG2104S芯片组成,EG2104S是一款高性价比IGBT管栅极驱动专用芯片,内部集成了逻辑信号输入处理电路、死区时控制电路、电平位移电路、脉冲滤波电路及输出驱动电路,专用于电机驱动控制器、电源DC-DC中的驱动电路,其一般逻辑电路设计如图 5所示,图中Vcc为芯片工作电源输入;IN为逻辑输入控制信号;SD为逻辑输入控制低电平有效;LO为输出控制低端MOS功率管的导通与截止;VS为高端悬浮接地;HO为输出控制高端MOS功率管的导通与截止;VB为高端悬浮电源。EG2104S的高端工作电压可达600V,低端电压范围为10~12V。
图5 EG2104S逻辑电路图
■ 1.6 PID控制器
工业上常使用PID控制器实现控制系统闭环控制,而随着计算机技术的发展,离散型PID控制器越来越被广泛使用,其一般表达式为:
式中kp为比例系数;ki为积分系数;kd为微分系数;T为采样周期;k为第k个采样点;e(k)和e(k-1)分别为第k和k-1个采样点偏差。
2 软件设计
■ 2.1 系统整体软件架构
系统整体软件架构如图 6所示,软件架构包括2大方面:PC机端和控制器端。在PC机端主要为控制系统的人机交互界面,进行基于串口通信的界面设计,具备设置串口配置参数、打开关闭串口、向控制器发送数据、运动启停、故障指示等功能;在控制器端主要配置6个系统任务:系统启动任务、LED任务、PID控制器任务;PWM波形输入任务、RS232通信任务、电机驱动任务;控制器与直流电机通过编码器实现连接。
图6 系统整体软件架构
■ 2.2 PC机及人机界面设计
在Visual Studio 2013软件中基于C#语言编写控制系统人机界面如图 7所示。通过“打开串口”按钮打开与控制器通信的串口,串口默认波特率为115200Hz,无奇偶校验位,8位数据位,1位停止位;通过“KP”、“KI”、“KD”可编辑文本框配置PID控制器的控制参数,通过“PID控制参数”按钮将控制参数数据发送至控制器;通过“开启系统”启动控制器的电机驱动任务,通过高度控制“MIN”、“当前”、“MAX”可编辑文本框设置最小、当前、最大控制高度,通过“运动启动”按钮启动电机驱动任务,并运行值当前高度控制值;界面中包含了三个指示灯:“开启系统”指示灯用于指示系统是否开启,若开启则亮红灯,否则为绿灯;“运动中”指示灯用于指示电机是否处于运动状态,若是则亮绿灯,否则为红灯;“通信正常”指示灯用于检测上位机与控制器的通信是否正常,若正常则亮绿灯,否则为红灯。
图7 人机界面设计
■ 2.3 控制器软件设计
基于UCOS操作系统,配置控制器的6个系统任务如表1所示。在软件设计中各任务分别用taskStart、LEDTask、PIDTask、PWMTask、RSTask、MotorDriveTask表示。
表1 控制器任务配置
3 系统调试
搭建上位机+控制器+H桥驱动器+减速器的试验模型,支架当前高度为1000mm,在上位机中设置当前高度控制值为1500mm,即让支架从1000mm高度逐渐运动至1500mm高度,取10s区间内的控制系统运行情况,得到控制系统的位置跟踪情况如图 8所示。可知在1500mm的阶跃信号激励下,电机驱动减速机和丝杠逐渐向1500mm高度运行,从跟踪高度曲线可以看出,系统在上升过程中出了轻微震颤,导致跟踪高度曲线有毛刺,这与机械系统本身振动和信号噪声有关。但系统仍然逐渐向控制高度上升,最终在8s左右时达到1500mm的稳态值,且稳态误差很小,达到了较高的控制精度,满足测量要求。
图8 控制系统位置跟踪情况
4 结束语
本文研制了一种基于STM32的小型升降平台伺服控制系统,以STM32单片机为控制核心,通过外接直流电机H桥驱动器的方式实现了电机驱动与控制。基于C#语言编写了控制系统上位机,可实现与控制器的串口通信、PID控制参数设置,当前控制高度控制等功能,实现了升降平台的较高精度伺服控制。但系统未进行较全面的设计和研究,如在上位机中实现PID控制任务,以减轻控制器的工作量等。