基于STM32的迷宫电脑鼠控制系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于STM32的迷宫电脑鼠控制系统设计与实现
张月芹;尹涓;鞠欢;张博炜
【摘要】针对电脑鼠走迷宫的功能要求,设计了一个两轮智能电脑鼠,并详细设计了其控制系统.采用两片STM32作为主从控制器,以增强电脑鼠实时控制及运算功能.采用红外传感器进行测距,选用具有精密高速跟踪能力的ADNS-9500光学传感器取代常用的陀螺仪检测电脑鼠位置.进行了电脑鼠走迷宫实验,并可通过上位机实时监控电脑鼠行走路线.结果表明车体运行平稳灵活,控制系统实时性强、控制精度高,能够快速搜索迷宫,有效提高了电脑鼠走迷宫的功能.
【期刊名称】《机电工程技术》
【年(卷),期】2016(045)012
【总页数】6页(P1-6)
【关键词】电脑鼠;STM32F103C8T6;红外传感器;ADNS-9500;PID控制
【作者】张月芹;尹涓;鞠欢;张博炜
【作者单位】南京航空航天大学金城学院机电工程系,江苏南京 211156;南京航空航天大学金城学院机电工程系,江苏南京 211156;南京航空航天大学金城学院机电工程系,江苏南京 211156;南京航空航天大学金城学院机电工程系,江苏南京211156
【正文语种】中文
【中图分类】TP242.6
在机器人技术高速发展的今天,随着人工智能研究的不断深入,智能机器人的研究成为当前的一个热点[1-4]。走迷宫机器人,俗称“电脑鼠”,是一种竞技性智能
机器人,研究其对未知环境的自主探测、动态决策与路径规划的能力,成为机器人技术的一个重要分支。
本文按照IEEE标准迷宫尺寸,完成了一个结构小巧灵活、能够以最大加速度达5
m/s2、最大速度达3 m/s快速运行的智能电脑鼠小车。以高性能STM32为控制器,采用模块化思想,搭建了电脑鼠硬件控制平台。进行了电脑鼠走迷宫实验,结果表明该控制系统实时性强、控制精度高,有效提高了电脑鼠走迷宫的功能。IEEE标准迷宫尺寸为2.96 m×2.96 m,其行列各有16个18 cm×18 cm的方格。为便于识别各迷宫格,每个方格用坐标编号,根据IEEE比赛规则,电脑鼠起点在S,终点在G,如图1所示。电脑鼠放入起点启动后,在未知迷宫路径的情况下,根据预先设定的搜索算法[5],借助自身的“肢体—电动机”、“感官—传感器”
和“大脑—控制器”间的协调工作,自行探索迷宫格信息,选择从起点到终点的
最优路径,并以最快的速度从起点穿越迷宫冲刺到终点,即完成一次走迷宫任务[6]。
要实现走迷宫,电脑鼠的机械结构及控制系统都应具有较高的要求。
(1)机械结构要求
由于IEEE迷宫格间距为标准尺寸,电脑鼠要在迷宫格里自由运行并转向,其整车
尺寸受到限制,应设计为灵活的小体积车辆。
(2)行走要求
电脑鼠在行走过程中,需要利用传感器检测车轮的速度,并传输到控制器,驱动电动机带动车轮产生相应的动作,实现电脑鼠直行、转弯、加速、减速及制动等行走功能。
(3)壁障要求
电脑鼠行走时,需要利用传感器检测迷宫墙壁的信息,控制器收到墙壁信息控制电动机以调整车轮的转速,转弯时还需矫正电脑鼠的姿态,以避免电脑鼠撞墙。(4)探索及记忆路径的要求
电脑鼠搜索迷宫时,需要检测电动机转速及位置,能够根据算法策略实现对迷宫的搜索及对路径的记忆,根据搜索的信息计算出最佳路径,并以最快的速度从起点冲刺到终点。
为此,本文采用两轮共轴式结构设计了图2所示的电脑鼠,其长×宽×高为78 mm×58 mm× 24 mm,该尺寸能保证电脑鼠在狭小的迷宫格里灵活直行、定半径转弯、原地旋转和沿45°角斜线行走等功能。传动系统由直流电机经58∶15的一级减速齿轮减速后,带动车轮转动,改变两轮的转速差即可实现直行和定半径转弯等功能。采用红外收发器固定座以保证红外线发射和接收的角度,还可防止红外线散射导致相邻接收器的干扰,降低环境光源对红外线接收管的影响。以控制电路板作为底盘,简化了结构,减小了电脑鼠的体积和重量。合理布置底盘上各零部件的位置,以平衡小车的整体重心,并减小转动惯量。采用12 V锂电池供电,如图2(b)中白色部分。
2.1 整体控制电路
系统硬件结构组成如图3。电源模块采用12 V锂电池给直流电动机供电,通过稳压电路提供5 V、3.3 V的电压,分别为红外传感器、STM32及ADNS-9500提供动力。
2.2 微控制器
采用两个基于 Cortex-M3内核的 32位STM32F103C8T6作为控制器,以提高系统的响应能力及控制功能。电脑鼠的一切运算及运动功能均由这两个控制器完成,其中一个为主控制器,运行底层算法,检测迷宫墙壁信息,调整直流电机转速、电脑鼠运行姿态及定位等;另一个为从控制器,处理高层算法,存储迷宫墙壁信息、
探索路径和运行最优路径的算法策略等,并将运算结果传输给主控制器以控制电脑鼠的运动。两个控制器通过串口通信联机操作。
2.3 直流电动机控制系统
2.3.1 电动机的选型
选用德国Faulhaber直流电机1524B009SR,其额定电压为9 V,输出功率为1.88 W,空载转速为10 100 r/min,堵转转矩为7.12 mN·m。为保证车轮具有足够大的抓地力,所选轮胎与迷宫地面的摩擦系数不小于0.5,电脑鼠质量为110 g,可满足最大加速度5 m/s2、最大速度3 m/s的使用要求。
2.3.2 驱动模块
采用全桥MOSFET驱动电路调节电机的转速及转向。驱动芯片选用
ZXMHC3F381N8,其内部集成了两个N沟道和两个P沟道MOSFET,最高耐压为30 V,能满足电机的工作转矩和转速要求。MOSFET驱动器选用
MAX4427CSA,最大电流为1.5 A,其一路输出可同时控制一个P沟道和N沟道MOSFET,输出高电平时,N沟道GS端高电平则MOSFET导通,P沟道GS端高电平则MOSFET截止,这样可以避免因程序的误操作,而使上下桥同时导通烧毁元器件。驱动电路原理如图4,L_PWM和 L_DIR分别接 STM32F103C8T6的TIM1_CH4和TIM1_CH3,P6的1与2接直流电机。
2.3.3 编码器测速模块
采用电机自带的IE2-512增量式编码器来检测电机的位置及转速,该编码器采用4倍频技术,可输出相差四分之一周期的A、B两路方波。通过检测两通道的相位差可确定电动机转向,测量任一通道的频率可得电动机转速,而记录某时间段内的脉冲数即可计算这段时间走过的路程。
STM32F103C8T6的TIM2_CH1和TIM2_CH2检测左电机转速,TIM4_CH1和TIM4_CH2检测右电机转速。假设电脑鼠最高速度V=3.8 m/s,轮胎直径D=24