胡徐胜,李赛红,陶彬彬
基于STM32的循迹足球机器人设计
胡徐胜,李赛红,陶彬彬
(无人机开发及数据应用安徽高校联合重点实验室 皖江工学院,安徽 马鞍山,243031)
设计一种基于STM32的循迹足球机器人控制系统,分别对循迹足球机器人电源、最小系统等各硬件模块进行设计实现。在电源设计上实现了一个可以给最小系统板提供电源的microUSB接口,以方便在调试时无需外接电源。最后设计硬件成功,并进行了各项性能的测试。测试结果表明,本设计控制效果较好。
stm32;循迹;电机控制;图像处理
本文提出了一个基于STM32f103为控制器[1],通过OV7670传感器采集外界信息以及障碍物的智能控制系统设计方案,以实现对智能循迹小车的设计[2]。充分利用控制器的高速运算能力和处理能力,来实现循迹足球机器人按照规定路线行驶,以控制器自身具有的PWM波输出功能来控制电机转速从而达到转向等功能[3]。设计并制作具优秀硬件与软件系统的移动机器人,在特定的越野场地上,翻越不同的障碍[4]。
本文所设计的足球机器人能够沿白色引导线跑[5]。引导线宽度约 25~30 mm,引导线覆盖障碍物,障碍物为黑色小车能够识别障碍物并且能够跨越障碍物。图1为系统框图。
图1 整体设计系统框图
该系统是通过图像传感器识别白色路径,采用DAM方式采集视频图像信号经过图像二值化传输到STM32f103控制器进行处理,通过PID调节出来的PWM波的占空比来控制小车速度,以左右轮的PWM波占空比的不同实现左右电机转速的不同从而实现转向的目的[6]。此外,本设计采用减速电机,能够检测小车速度反馈给控制器实现实时控制足球机器人的速度,在不同的路面上实现不同速度行驶以确保足球机器人的平稳,整个系统为闭环控制系统从而达到整个系统的精确控制[7]。
足球机器人首先通过图像传感器检测路面上的白线,将检测到的路面信息发生给STM32f103微处理器[8],STM32f103微处理器将图像传感器检测到的路面信息经过分处理、分析和决策,最后得出PID参数来控制电机转速,确定足球机器人的方向以及接下来的行驶路线[9]。
采用STM32为本系统的主控制模块,使用CMOS摄像头作为路径识别的传感器[10]。通过CMOS摄像头采集路径上颜色信息再由STM32片上AD转为数字信号,经过MCU进行分析和判别,最后实现对循迹足球机器人直流电机的控制从而实现循迹越野的目的。一个系统的硬件是该系统的最基本的结构,决定一个系统的运行是否稳定,所以在设计该系统是充分考虑该系统的稳定性使小车的行驶速度更快更稳定,并且在图2基础上选择最佳的模块[11]。图2为系统硬件框图。
图2 系统硬件框图
首先,STM32外设接口特别丰富和强大的储存空间这使得能够拓展外接设备。其次,它的程序编写只要使用C语言加上STM32的Thumb-2的指令集就可以,使得程序编写更加方便、运行更高效[12]。
1.3.1 最小系统电路设计
根据单片机最小系统先把电源、晶振以及复位先设计在一起,只要这三个部分搭建好单片机就可以运行了。电源芯片采用的是AMS1117-3.3降压稳压芯片,整个电路板的输入5 V电压通过AMS1117-3.3芯片降到3.3 V为STM32芯片提供电压。为了后面连接其他模块,在设计时预留了5 V和3.3 V的电源接口[13]。
图3 最小系统原理图
最小系统如图3所示。特别之处在于,图3设计了一个可以给最小系统板提供电源的microUSB接口,以方便在调试时无需外接电源。另外,还设有USB转串口的接口,以便于程序的下载[14]。
1.3.2 JTAG和SWD电路设计
调试作为本设计的重要环节,所以调试接口是必须要有的,一般有JTAG和SWD两种模式。JTAG主要用于芯片内部的测试,JTAG协议使用的是并口,需要用到JLink仿真器即一个小型USB到JTAG的转换盒,它连接到计算机用的是USB接口。SWD接口是串行接口,使用的引脚也很少。在JTAG和SWD两个模式相比之下,普通模式下JTAG更好用,在高速模式下SWD模式更可靠,而在大数据量的情况下JTAG下载程序会失败。图4为JTAG调试接口的原理图。
图4 JTAG调试接口原理图
1.3.3 LED指示灯与按键电路设计
为了确定在接通电源和单片机程序运行时是否正常,在设计时加入了两个LED指示灯,分别为命名为power和function,其中在系统板接通电源时power这个指示灯亮起,而在烧入程序后运行程序后function指示灯闪烁。LED指示灯原理图如图5所示。
图5 LED指示灯原理图
按键是不可缺少的一部分,所有单片机都必须存在的按键就是复位键,复位键为了在程序运行过程中出现故障时能够在不掉电状况下使其回到初始状态,S2这个按键就是作为复位键来使用[15]。S1作为普通按键来使用,可配合编写好的程序来使用或者用来调试时来使用。按键设计原理图如图6所示。
图6 按键原理图
1.3.4 microUSB电路设计
由于STM32芯片有USB端口分别为USB_DM和USB_DP,所以在microUSB接口设计时只需要接入电阻就可以了[16]。对于USB_DP端口要加入上拉电阻,因为在USB接入host时如果是高速设时D+被拉高D-保持不变,在上拉过程中需要大概2.5 μs的时间,host这个时间内便检测到了该信号[17]。图7为microUSB电路设计原理图。
图7 microUSB原理图
1.3.5 电源模块设计
系统采用LM2596S为芯片的降压模块,这个模块可以将3.3 V到40 V降到1.25 V到35 V。由于电池的电压为12 V,而整个系统的接入的电压为5 V,通过调节电阻的阻值从而得到需要的电压[18]。输出电压的计算可以由下列公式得出:
其中,ref=1.23 V需要的电压为5 V,所以根据输出电压计算出2所需要的电阻:
其硬件电路如图8。
图8 LM2596S降压模块原理图
系统采用MOS管H桥电机驱动模块用来实现直流减速电机的运转。市场上现有常见电机模块有下面几款,比如MOS管H全桥和L298N。最常用的是H桥驱动芯片L298N,通过单片机的IO口输入芯片控制端的电平,即可以控制电机进行正反转、停止的操作。H桥电机驱动是由于它的外形与字母H相似,它是由四个三极管组成由两个对角线的电流导通来控制电机的正反转,本设计采用的是MOS管H全桥驱动电路,如图9所示。
图9 H桥驱动电路
OV7670图像传感器以OV7670为主控芯片,拥有20个引脚。这款芯片需要数字电源和模拟电源,其中AVDD为模拟电源,DVDD是OV7670芯片的核电压,需要1.8 V数字电源供电,而且这款芯片输入输出口也需要单独供电,其供电电压为1.7 V到3 V供电。
由于在模块外部供电为3.3 V,所以整个模块中使用了两块降压芯片,分别为PAM3101DAB28和PAM3101DAB180,PAM3101DAB28芯片将3.3 V降压成2.8 V给输入输出口供电,PAM3101DAB180芯片将2.8 V降压到1.8 V为了给OV7670芯片的核电压供电。图10为OV7670模块电路设计原理图。
图10 OV7670模块电路原理图
为了进一步确定循迹足球机器人系统是否可行,在实验室构建了这个循迹足球机器人,足球机器人使用的主要模块包括蓝牙模块、电机驱动模块和OV7670图像传感器模块,图11为蓝牙模块,图12为电机驱动模块,图13为图像传感器模块,图14为STM32VCT6主控制器的最小系统。
图11 蓝牙模块
图12 电机驱动模块
图13 图像传感器模块
图14 主控制器
测试部分就是对足球机器人系统的每一个模块进行检测,测试过程分为以下几个部分:
(1)给各个模块通电,使每个模块正常工作;
(2)图像识别测试。此次才用图像识别测试是将循迹程序烧录至主控制器,然后接入显示器模块,通过查看显示器模块能否显示出图像以及能否检测出颜色。这个测试方法比较麻烦,需要对显示器模块进行编程;
(3)电机驱动测试。电机驱动测试比较简单,在烧录程序后运行主控制器,在PWM输出引脚接上示波器观测示波器上的波形。然后接入电机驱动模块以及直流电机,查看电机的转动。
根据测试,得到测试数据如表1所示。测试数据表明,足球机器人在各项指标上都表现良好。
表1 测试数据
本设计以STM32为主控制器,以OV7670图像传感器模块和电机驱动模块的循迹越野足球机器人,该设计实现了对循迹越野足球机器人的循迹功能,具有成本低和功能实用等特点。测试结果表明,本设计控制效果较好。
[1] 雷李, 李祖枢, 王牛. 国际机器人足球最新进展[J]. 哈尔滨工业大学学报: 自然科学版, 2004, 36(7): 978-980.
[2] 陈小平.国际机器人足球(RoboCup)最新进展[J]. 机器人技术与应用, 2001,1: 25-28.
[3] Ohnishi N, Imiya A. Ap pearance-based navigation and homing for autonomous mobile robot[J]. Image and Vision Computing. 2013, 31(6): 511-532.
[4] Colle E, Galerne S. Mobile robot localization by multiangulation using set inversion[J]. Robotics and Autonomous Systems, 2013, 61(1): 39-48.
[5] KitanoHetal. RoboCup: A Challenge Problem for AL Proceedings of RoboCup’97[M]. Spinger Press, 1997.
[6] Murphy R. Mirosot’ 97-Robotics competition corner[J]. Robotics and Autonomous System, 1998, 23: 251-281.
[7] 吕强国. 集控式足球机器人的系统开发研究[J]. 自动化与仪器仪表, 2016(5): 84-85.
[8] 洪炳熔, 韩学东, 孟伟. 机器人足球比赛研究[J]. 机器人, 2003, 25(4): 373-377.
[9] 谢云, 杨宜民, 彭超. 型机器人足球系统中通信子系统设计[J]. 电子技术, 2001, 8: 19-21.
[10] 蔡自兴, 贺汉根, 陈虹. 未知环境中移动机器人导航控制研究的若干问题[J]. 控制与决策, 2002, 17(4):385-390.
[11] 王伟, 张晶涛, 柴天佑. PID参数先进整定方法综述[J].自动化学报, 2000, 26(3): 347-355.
[12] 蒋仙华, 熊蓉, 周科.预测模糊控制在足球机器人底层动作优化中的应用[J].四川大学学报: 工程科学版, 2003, 35(3): 79-82.
[13] 高健, 黄心汉, 彭刚, 等. 基于Fuzzy-PID的移动机器人运动控制[J]. 控制工程, 2004, 11(6): 525-528.
[14] HEMAMIA, MEHRBI M G, CHENG R M. Synthesis for an optimal control law for path tracking in mobile robots[J]. Auto Matica, 1992, 28(2): 383-387.
[15] 余群明, 王会方, 张骏, 等. 足球机器人运动控制算法研究[J]. 湖南大学学报: 自然科学版, 2006, 33(6): 42-45.
[16] 张健民, 杨华勇, 路甬祥. 基于工程参定法的模糊PID[J]. 信息与控制, 1998, 27(22): 66-70.
[17] 张恩勤, 施颂椒. 一类基于PID控制的新型模糊控制方法[J]. 上海交通大学学报, 2000, 34(3): 630-634.
[18] 王亚刚, 邵惠鹤. 一种基于灵敏度的自整定最优PI控制器[J]. 自动化学报, 2001, 27(1): 140-143.
Design of Track-based Soccer Robot Based on STM32
HU Xu-sheng, LI Sai-hong, TAO Bin-bin
(Anhui University Joint Key Laboratory for UAV Development and Data Application,WanJiang University of Technology, Ma’anshan, 243031,China)
This paper designs a tracking soccer robot control system based on stm32, and designs and implements the power supply, minimum system and other hardware templates of the tracking soccer robot. A microUSB interface which can supply power to the smallest system board is implemented in power supply design to facilitate debugging without external power supply. Finally, the hardware is successfully designed and tested. The test results show that the control effect of this design is good.
stm 32; tracking; motor control; image processing
TP273
A
1674-3261(2020)01-0018-04
10.15916/j.issn1674-3261.2020.01.0004
2019-06-19
安徽省高校省级自然科学研究重点项目(KJ2018A0618);皖江工学院基金项目(KJ2019A1275);皖江工学院校级 科研项目(WG1804)
胡徐胜(1982-),男,安徽太湖县人,副教授,硕士。
优先出版地址:http://kns.cnki.net/kcms/detail/21.1567.T.20191227.1039.016.html
责任编校:刘亚兵