一阶小车倒立摆的控制系统设计

2022-06-26 07:02李豫南郭梦辉闫德建刘林博
科教创新与实践 2022年14期
关键词:STM32单片机

李豫南 郭梦辉 闫德建 刘林博

摘要:倒立摆系统广泛应用于许多工程领域,所以倒立摆系统的研究具有重要的现实意义。为了使一阶小车倒立摆系统处于平衡运动状态,在主控模块中采用STM32F103C8T6单片机作为主控制器,并采用18650锂电池提供电源且LM317稳压,通过MPU6050模块陀螺仪和加速度计来检测车内的倾角和加速度,用TB6612FNG驱动两台直流电机,利用霍尔编码器获取电机的转速。算法上是运用了PI和PD串级控制,并对MPU6050采集的数据进行卡尔曼滤波,再对PID参数进行调整,实现对一阶小车倒立摆系统的控制。

关键词:小车倒立摆系统;STM32单片机;PID

1项目背景

小车倒立摆系统的特点是复杂、不稳定和非线性,控制倒立摆系统的任务是使摆体不作大角度和大速度的摆动,以达到平衡位置,然后系统克服扰动保持稳定。对倒立摆系统的研究可以反映许多典型的控制问题,如非线性问题、可靠性问题、跟踪问题等。同时倒立摆系统具有重要的工程背景,在其他领域得到广泛应用。

2硬件设计

图1为一阶小车倒立摆系统的结构框图。该系统主要包含了主控模块、稳压模块、电机驱动模块和MPU6050模块。

2.1主控最小控制系统

主控模块是以 STM32F103C8T6为最小控制系统,它是基于Cortex-M3内核的32位微型处理器,具有高性能、低成本的特点。STM32单片机通过调用多个内部和外部模块,对各项数据进行实时监控,并在单片机的一块液晶显示屏上面显示。

2.2稳压模块

稳压模块采用LM317集成电路,外形简单,具有输出电压可调的特点,同时还具有稳压范围宽、稳压性能好、噪声低等优点。 所以当18650锂电池为小车倒立摆系统供电时,LM317可以为整个系统提供稳定的电压。

2.3 电机驱动模块

TB6612FNG电机驱动芯片是可独立双向控制两个直流电机的一种新型驱动器件。当单片机调节电机转速时,STM32的I/O口输出单片机带载能力较弱,信号需要功率放大,电机驱动采用TB6612FNG。由于直流电机转速高,输出扭矩小,需要使用减速器来降低电机转速,增加输出扭矩。

在电机的末端是一个霍尔传感器,它是一个旋转传感器,可以将角位移或角速度转换成一系列数字脈冲。霍尔码盘周围有两个霍尔元件,因此可以产生两个速度脉冲:分别为A相和B相。小车的速度可以通过单位时间内的脉冲数来计算。

2.4 MPU6050模块

MPU6050传感器用于采集小车摆体姿态的信号,MPU6050是一个六轴方位传感器,结合了三轴加速度计和三轴陀螺仪。在MPU6050中,陀螺仪用来测量摆体的倾斜角,加速度计用来测量加速度,采集到的数据需要经过卡尔曼滤波处理。 MPU6050的通信方式为IIC通信,芯片内置16字节A/D转换器,可输出16位数据。

3 PID算法设计

获取小车倒立摆系统的倾斜角和速度是系统平衡的前提,这些数据在STM32中断控制中结合PID算法,将输出值赋给PWM寄存器来控制电机,从而实现倒立摆系统的平衡控制。倒立摆系统的运动控制分为平衡控制、速度控制和转向控制,即直立环、速度环和角度环。

为了将倒立摆系统稳定在平衡位置,不仅需要对电机施加与倾斜角成正比的回复力,而且还要增加与角速度成正比的阻尼力。直立控制系统采用PD控制。因此,如果能够测出倒立摆的倾斜角和角速度,控制加速度,就可以完成直立控制。小车的前进速度与倒立摆的倾斜度有关,如果要提高小车的前进速度,则需要增加小车的倾斜角度,在直立控制下,小车必须向前移动以保持倒立摆系统平衡,速度增加。速度控制系统采用PI控制。将直立控制和速度控制串联起来,形成串级控制系统。

4结论

本文研究了一阶小车倒立摆系统,倒立摆系统主要用于保持小车自平衡。本设计介绍了主控机和各模块的功能,还提供了直立控制中的PD控制、速度控制中的PI控制、一阶小车倒立摆系统的串级PID控制。 PID算法使用PD算法测量小车的角度,让小车在直立控制时保持平衡,使用PI算法测量小车的速度,让小车通过改变倾斜角来控制速度,进而调整位置。通过调节PID控制器的参数,可以有效控制一阶小车倒立摆系统。

参考文献:

[1]张思豪,王新荣,郑成德,李向前,李慧敏.基于STM32的倒立摆PID学习研究平台[J].中国科技信息,2021(12):59-61.

[2]刘拓晟.基于STM32的倒立摆控制系统设计[J].电脑知识与技术,2018,14(36):213-215.

[3]徐猛.基于STM32自平衡小车的设计与制作[J].计算机产品与流通,2019(09):110.

[4]杜丽敏,王岩.基于单片机的两轮自动平衡小车系统的设计[J].长春大学学报,2020,30(12):19-24+38.

基金项目:河南科技大学2021年度大学生研究训练计划,项目编号:2021087

猜你喜欢
STM32单片机
基于STM32芯片的移动机器人的避障研究
基于STM32的两轮自平衡遥控小车设计
基于STM32单片机的数码相框显示系统设计
基于STM32的中老年人跌倒监测装置研究