您的位置: 主页 > VR虫洞 > 我本善良演员表:基于STM32的旋转倒立摆实验平台的下位机设计与实现

我本善良演员表:基于STM32的旋转倒立摆实验平台的下位机设计与实现

时间: 2018-12-01阅读:

摘要:该文介绍了一级旋转倒立摆实验平台下位机的系统结构与实现。实验平台实现了倒立摆在一定的角度范围内稳定倒立以及做完整圆周运动。下位机系统基于STM32F103ZET6微控制器,通过角位移传感器和电机编码器得到系统变量,应用双闭环PD控制算法,控制直流减速电机调速对旋转倒立摆进行控制。上位机使用ActiveX控件MSComm与下位机通信,实现对旋转倒立摆系统启停控制与状态监测。同时下位机可以通过键盘设定运行模式并且调节PD参数,通过OLED显示屏实时更新变量信息,具有较好人机界面,便于教学实验的进行。

关键词:旋转倒立摆;下位机;STM32;双闭环PD控制

中图分类号:TP223 文献标识码:A 文章编号:1009-5039(2018)16-0219-03

倒立摆是一个复杂的快速、非线性、多变量、强耦合、自然不稳定的非最小相位系统,是重心在上、支点在下控制问题的抽象[1]。其用途主要有两个方面。其一,作为一个非线性自然不稳定系统,倒立摆系统是进行控制理论教学及开展各种控制实验的理想实验平台。许多抽象的控制概念如控制系统的稳定性、可控性、收敛速度和抗干扰能力等,都可以通过倒立摆系统直观地表现出来。其二,由于倒立摆系统具有高阶次、不稳定、多变量、非线性和强耦合等特性,其作为控制理论中的一个严格的控制对象,通常用于检验控制策略的有效性[2]。研究人员不断从倒立摆控制方法的研究中发掘出新的控制方法,并将其应用于航天科技和机器人学等各种高新科技领域。因此,旋转倒立摆实验平台对于自动控制原理、智能控制等课程的实验补充具有很好的帮助。

本文将介绍环型倒立摆实验平台下位机软件和硬件的实现,侧重于系统的构建和双闭环PD控制器[3~4]的介绍。实验平台实现了上下位机串口通讯来调节PD参数和实时绘制摆杆角度,并且下位机可以独立通过外部按键来调节参数和控制启停,通过OLED显示屏显示参数和变量信息。

1 旋转倒立摆平台下位机总体架构设计

旋转倒立摆的机械结构如图1所示。电动机固定在支架上,通过转轴驱动旋转臂旋转。摆杆通过转轴固定在旋转臂的一端,当旋转臂在电动机驱动下作往复旋转运动时,带动摆杆在垂直于旋转臂的平面作自由旋转。

测控部分装置如图2所示。控制器采用STM32F103ZET6微控制器,该芯片具有接口丰富,资源充足,处理速度快等优点。并且芯片具有64KB SRAM、512 KB FLASH、4个通用定时器、5个串口、1个USB、3个12位ADC以及112个通用IO口等丰富的资源,这些资源方便了系统的开发。

电机采用原始转速11000rpm、减速比30的直流减速电机,经过减速器减速后的直流电机扭矩更大、可控性更强。通过东芝公司生产的TB6612FNG驱动芯片即可实现控制。并且电机尾部带有光电编码器,将STM32的定时器设置为编码器模式后可以方便地获取电机的速度以及与电机相连的旋转臂位置信息。

角度传感器选用了WDD35D4。通过STM32的AD转换功能借助角度传感器WDD35D4测量得到摆杆旋转角度,并将其送入到控制器中,由PD控制器将角度误差转化为PWM信号提供给驱动芯片,来驱动直流电机转动,从而带动旋臂在水平面内旋转,最终实现控制摆杆直立的效果。

2 旋转倒立摆下位机软件设计

下位机基于STM32F103ZET6处理器开发,利用其丰富的固件库可以对其硬件实现方便、快速地配置。在本次开发中,我们需要配置三个定时器。其中一个用来作为中断为PD控制器提供5ms精确定时,一个配置为编码器模式讀取光电编码器信息,一个配置为PWM模式用来给驱动提供控制信号。通过串口1来与上位机进行通信。通过ADC来读取角度传感器的值。通过外部中断的方式实现按键控制。

起摆过程中,通过对直流减速电机采取“突然加速—制动—反向加速”的控制策略,使摆杆在惯性加速度的作用下完成起摆,达到设定角度后切换到稳摆状态。

在圆周运动过程中,系统为随动控制系统,通过不断微调稳摆程序中摆杆位置目标值实现在稳摆过程中完成圆周运动。

本文中侧重介绍上下位机通信与双闭环PD控制器。

2.1 下位机与上位机的通信

上下位机通过串口1以中断的方式进行通信。通信内容包括Angle、Position两组PID参数、启停状态以及圆周运动方向,以“P=xxx; I=x.xx; D=xxx; p=xxx; i=x.xx; d=xxx,state=x;f=x;”固定格式发送,下位机可逐位分离参数信息。

上下位机以ASCII码的形式传输数据,通信协议中规定数据以回车(其ASCII码有两个字节表示,0x0D和0x0A)作为结束标志。借助这个协议,配合一个数组USART_RX_BUF[]和一个全局变量USART_RX_STA就可以实现对串口数据的接收处理,大大提高了处理器的效率。具体过程为当接收到从电脑发过来的数据后,串口中断函数把接收到的数据保存在 USART_RX_BUF[] 中,同时在接收状态寄存器(USART_RX_STA,其位定义见表1)中计数接收到的有效数据个数,当收到回车的第一个字节 0X0D 时,计数器将不再增加,等待 0X0A 的到来,而如果 0X0A 没有来到,则认为这次接收失败,重新开始下一次接收。如果顺利接收到 0X0A,则标记 USART_RX_STA 的第 15 位,这样完成一次接收,并等待该位被其他程序清除,从而开始下一次的接收,而如果迟迟没有收到 0X0D,那么在接收数据超过 USART_REC_LEN 的时候,则会丢弃前面的数据,重新接收。

倒立摆系统传递函数如图4所示。闭环控制系统(closed-loop control system)是指被控对象的输出(被控制量)会反送回来影响控制器的输入,形成一个或多个闭环,以期得到一个较为稳定的输出。PID控制器(比例-积分-微分控制器)是一个在工业控制应用中常见的反馈回路部件,通过误差信号控制被控量[5],而控制器本身就是比例(proportion),积分(integral),微分(derivative)这三个部分的加和。其离散化计算公式为:

其中kp为比例调节系数,ki为积分调节系数,kd为微分调节系数。PID控制的基础是比例控制;积分控制可消除稳态误差,但可能增加超调;微分控制可加快大惯性系统响应速度以及减弱超调趋势。本文中仅使用PD控制即可满足控制要求。

在倒立摆系统中我们通过角度传感器和光电编码器两个测量元件来测量系统输出值,将其与目标值的差值送给PD控制器,得到电机驱动控制信号。其中倾角环PD 控制,是最核心的控制,控制周期为5ms,其他的控制都是相对倾角控制而言都是干扰。位置环PD控制,在控制过程中对编码器信息进行一阶低通滤波可以削弱位置控制的比重,提高系统稳定性[6],控制周期 25ms。

3 运行效果

经过测试,我们发现倒立摆实验平台能够实现稳定倒立,并且能够实时回传角度数据。

3.1 倒立效果

摆杆在控制过程中稳定倒立。

3.2 OLED显示数据

OLED显示两组PD参数及其调节幅值,并实时更新角度、位置信息,显示PWM输出值及圆周运动方向。

3.3 通过串口回传数据

与上位机通讯,上位机接收下位机回传的角度信息并绘制曲线。

4 总结

通过实践发现该倒立摆实验平台具有很好的稳定性和人机交互性,在实验过程中能够及时有效地反映出PD参数的变化对系统稳定性的影响,对自控控制等学科的实验教学有很大的帮助。

参考文献:

[1] 张姝,朱善安. 环形单极倒立摆起摆控制研究[J]. 江南大学学报(自然科学版),2004,3(5):482-485.

[2] Meier H,Farwig Zu,Unbehauen H.Discrete computer control of a triple-inverted Pendulum.Optimal. Control Application & Methods,1990,11(2):157-171.

[3] 王东亮,刘斌,张曾科. 环形一级倒立摆摆起及稳定控制研究[J]. 微计算机信息,2007,23(4):1-2.

[4] 王福永,双闭环调速系统PID调节器的设计[J]. 苏州工学院学报,2001,21(5):35-39.

[5] 陈书谦,张丽虹. BP神经网络在PID控制器参数整定中的作用[J]. 计算机仿真,2010,27(10):171-174.

[6] 杨勋濤,樊利,颜新华,等. 两轮自平衡小车启动暂态过程的研究[J]. 西南师范大学学报(自然科学版),2014,39(12):87-93.

上一篇:人造人间奇凯达:基于分区算法的电磁智能小车的设计初探
下一篇:没有了

相关阅读