基于STM32的智能平衡车控制系统设计

2016-04-12 00:00:00高正中龚群英宋森森
现代电子技术 2016年14期

摘 要: 介绍一种以STM32为控制核心的两轮智能平衡车的控制系统设计。利用陀螺仪和加速度计获得车体的倾角和角速度,通过光电编码器获得平衡车的速度。将转速控制信号与平衡控制信号叠加加载到两后轮电机,实现平衡车的静止和直立行走。同时,采用TSL1401线性CCD获得赛道图像信息,经过对图像的识别处理,准确快速地提取出赛道的中心线,获得平衡车的方向偏差控制量。实际运行结果表明,该平衡车能保持直立行走运动并快速实现不同路径上的转向和自主寻迹,具有较强的适应性和稳定性。

关键词: STM32F405; 平衡车; 控制系统; 自主寻迹

中图分类号: TN911⁃34; TP273 文献标识码: A 文章编号: 1004⁃373X(2016)14⁃0046⁃03

Design of STM32⁃based control system for intelligent balanced vehicle

GAO Zhengzhong, GONG Qunying, SONG Sensen

(School of Electrical and Automation Engineering, Shandong University of Science and Technology, Qingdao 266590, China)

Abstract:Design of a STM32⁃based control system for intelligent balanced vehicle is introduced, which uses the gyroscope and accelerometer to get the dip angle and angular velocity of the balanced vehicle, and adopts photoelectric encoder to acquire the speed of the balanced vehicle. The speed control signal and balance control signal are superimposed and then are loaded to the two motors in rear wheels for realizing the stillness and upright walk of the vehicle. Meanwhile, TSL1401 linear CCD is used to obtain the image information of the track, and the center line of the track is got accurately and the controlled quantity of direction bias of the vehicle is obtained after the recognition processing of the image. The actual operation results show that intelligent balanced vehicle can keep upright walk, implement steering and autonomous tracing on different paths quickly, and has good adaptability and stability.

Keywords: STM32F405; balanced vehicle; control system; autonomous tracing

0 引 言

在科学技术不断取得新突破的今天,机器人走进家庭进入工厂已经成为现实,机器人与人们的联系越来越密切。而两轮移动式机器人因为结构简便、反应灵活、适应性强和操作简单等特点,受到了越来越多的关注[1⁃3]。本文结合自动控制原理、通信技术和传感器应用等相关知识,完成了一个具有自主识别道路的两轮平衡车的设计。该设计以STM32系列单片机为控制核心,运用陀螺仪、加速度计和光电编码器等传感器采集相关的数据信息,在硬件电路设计基础上辅以软件编程实现了平衡车的直立快速运动和不同路径上的转向和自主寻迹。

1 系统硬件结构设计

系统硬件部分主要由微控制器、稳压电源、角度传感器、电机驱动、测速模块、赛道信息采集、人机交互等模块组成。通过单片机内某些控制算法的处理后输出PWM控制信号控制两后轮电机,以完成系统的加减速、转向和自主寻迹等[4⁃5],系统硬件整体框图如图1所示。

1.1 微控制器模块

该系统选用STM32F405单片机为控制器,该控制器是以CortexTM⁃M4为内核的高性能MCU[6],工作频率能够达到168 MHz;同时STM32F405微控制器集成了单周期的DSP指令和FPU并行计算功能,运算能力被大大提高,能够完成部分更复杂的系统控制。

1.2 稳压电源模块

稳定的电源对于一个控制系统的正常工作是必不可少且及其重要的。因此在设计平衡车系统时为各个模块配置了合适、稳定的电源,并且在电路设计上避免不同电源和相同电源不同模块之间的干扰,从而保证整个系统的稳定运行。该平衡车系统的大部分电路器件为5 V电压供电,单片机核心控制器则为3.3 V低压供电。图2为系统稳压电源模块原理图。

1.3 角度测量模块

1.3.1 加速度传感器

本设计采用MMA7260加速度传感器,其是一款基于重力分量换算原理的低功耗高灵敏度的加速度传感器,能够同时输出x,y,z三个方向的加速度值,用于测量平衡车的运动姿态和方向。

1.3.2 角速度传感器⁃陀螺仪

采用ENC⁃03陀螺仪测量平衡车相对于灵敏轴的倾角。陀螺仪输出的模拟电压信号与角速度成正比;通过将该角速度对时间积分便得到灵敏轴旋转过的角度值,即平衡车的倾角。其具有体积小、重量轻、响应快和功耗低等特征。

1.4 赛道信息采集模块

系统利用TSL1401线性CCD模块[7]对比赛赛道信息进行采集并反馈给中央处理单元,由中央处理单元对采集数据进行处理。

1.5 电机驱动模块

为了实现电机的运行和正反转控制,如图3所示。本设计采用两片IR2101芯片和4个MOS管IRF3205组成了一个H桥型电机驱动电路。IR2101是一款高压、高速并带有独立的高低侧参考输出通道的电力MOS管和IGBT驱动芯片,1片IR2101芯片能够驱动2个MOS管并控制其通断状态。

图3 电机驱动电路

图3中4个MOS管作为开关元件,当1号IRF3205和3号IRF3205处于导通状态,2号IRF3205和4号IRF3205处于关断状态时,电机正转;反之则电机反转,控制上桥臂MOS管采用PWM方式,下桥臂MOS管只工作在开关状态。为了防止异常情况的发生,保护驱动电路和电机,设计中加入了电流检测电路,电机电流全部流经0.02 Ω的采样电阻,转换成电压信号,经过一阶低通滤波和同相比例运算放大器之后送给单片机的模拟量输入口,单片机实时采样该电压即可检测流经电机的实时电流,异常情况即可控制PWM占空比封锁驱动输出电压,已达到保护驱动电路和电机的目的。

2 系统软件结构设计

在该系统中,图像的采集由外部中断来单独处理,且图像采集的优先级高于其他内部中断。传感器信号的采集、电机转速的读取、小车直立控制、小车速度控制、小车方向控制等则放在一个1 ms的定时器中断服务程序中完成,用一个全局变量进行计数,则可实现系统各个子模块有序地执行。图像获取、图像处理和黑线提取、方向偏移量和方差的求取及无线串口数据的接收与发送则放在主程序中。图4为系统主程序流程图。

软件系统首先完成各功能模块的初始化。包括PWM通道、ADC通道及I/O口的设置等。初始化完成后,读取人机交互模块的参数,包括拨码开关的状态和上位机传回的数据。然后开始进入无限循环。三级中断按照优先级先后进入各任务交替完成,首先进入中断优先级最高的图像采集程序,再进入DMA中断服务程序判断图像是否采集完毕,若采集完毕设置图像处理标志位置位,最后进入1 ms的定时器中断,在定时器中断服务程序,基于全局计数变量的值使各子模块的运行任务有序地完成。无中断信号请求时,则在主循环中执行图像去噪处理、黑线提取和赛道形式判断程序[8⁃9]。若检测到平衡车倾角超过了某一事先设定好的阈值则可认为平衡车跌倒,则应该令平衡车停止运行。

3 结 语

本文研究并设计实现了以STM32为控制核心的智能平衡车控制系统。以智能平衡车为研究对象,对硬件电路设计和软件编程进行相关研究,主要有:传感器采集信号的滤波、自平衡控制的PID参数的整定、赛道图像提取、道路形式的识别及小车转向的控制、角度闭环和速度闭环的相互协调等。在实验室环境下的跑道上,该两轮平衡车能很好地沿着模拟路径进行快速运行。

参考文献

[1] 张学会,苏洋,徐佳,等.红外遥控两轮自平衡小车设计[J].信息技术,2015(9):91⁃94.

[2] 张伟民,段晓明,赵艳花.两轮自平衡小车控制研究[J].自动化技术与应用,2011,30(4):11⁃13.

[3] 阮晓钢,任红格.两轮自平衡机器人动力学建模及其平衡控制[J].计算机应用研究,2009,26(1):99⁃101.

[4] 姜香菊,刘二林.两轮自平衡机器人角度检测数据融合算法[J].计算机工程与应用,2013,49(8):203⁃205.

[5] 王良成,杨志民,胡聪聪,等.两轮自平衡小车的设计与实现[J].实验室科学,2012,15(6):52⁃55.

[6] 陈启军,余有灵,张伟,等.嵌入式系统及其应用[M].上海:同济大学出版社,2011.

[7] 吴苗苗,沈世斌,王亮,等.基于 CMOS 摄像头的直立循迹智能车系统设计[J].自动化技术与应用,2014,33(7):21⁃25.

[8] 盘书焱,杨明,何启迪,等.基于K60的改进式PID在平衡车中的应用[J].硅谷,2014(24):112.

[9] 吴全玉,张晓东,晁晓琪,等.基于经典PID算法的智能车系统研究[J].自动化与仪器仪表,2011(1):25⁃26.