基于STM32的迷宫电脑鼠控制系统设计与实现
- 格式:docx
- 大小:42.41 KB
- 文档页数:8
基于STM32的微电脑鼠对角线冲刺设计与实现作者:李红益张好明王应海来源:《机电信息》2020年第29期摘要:为了提高微电脑鼠冲刺的稳定性,并减少微电脑鼠在复杂迷宫中的冲刺时间,提出了基于STM32的新型對角线冲刺算法。
借助加速度传感器ADXL202实现对微电脑鼠转弯误差补偿和直线位置的精确修正,前墙传感器和加速度传感器组合应用保证了微电脑鼠对角线冲刺姿态的准确性。
微电脑鼠高速冲刺实验表明,新型对角线冲刺算法能显著提高微电脑鼠的稳定性,并缩短微电脑鼠在迷宫中的冲刺时间。
关键词:微电脑鼠;对角线冲刺;伺服;加速度传感器0 引言微电脑鼠(micromouse)是一种智能轮式迷宫搜寻机器人,它依靠微处理器、传感器和机械运动部件实现在迷宫中的探测和冲刺。
微电脑鼠依靠自身携带的传感器感知不同的“迷宫”,并自动记忆其搜寻路径,依靠多种人工智能算法选择最佳冲刺路径,在最短的时间内到达设定的不同迷宫目的地[1-3]。
通常用运行时间、迷宫时间和触摸次数这3个参数来衡量一只微电脑鼠的运动控制能力,因为这3个参数决定了一只微电脑鼠求解迷宫的可靠性、效率和速度,不同国家采用不同的标准[4-7],这3个参数中最重要的参数就是迷宫时间,而迷宫时间又主要取决于其冲刺的时间长短。
微电脑鼠高速冲刺运动控制系统要求较高,由于国内研究时间较短,开发的微电脑鼠运动控制技术相对比较落后,实际运动过程中存在诸多问题,例如,只有5组传感器用来判断高速冲刺路径中迷宫墙壁的存在,往往提供错误的迷宫信息,导致冲刺失败;只有1组传感器检测冲刺路径中前方迷宫的挡墙,易受外界干扰,造成高速冲刺时的导引信息错误;步进电机的使用,导致运动控制系统经常丢失驱动信号,出现冲刺路径更新错误的情况;由于采用相对低级的人工智能算法,使得冲刺路径不是最佳,无法取得最短冲刺时间。
因此,需要对现有的微电脑鼠重新进行设计。
1 基于STM32F405的高速微电脑鼠硬件原理STM32F405是由STM公司生产的微控制器,它是基于ARM Cortex-M4内核的32位flash 微控制器。
双核微微鼠迷宫探索的设计与实现作者:朱利军王应海来源:《电脑知识与技术》2021年第30期摘要:为提高微微鼠探索迷宫的稳定性,并减少微微鼠在复杂迷宫中的探索时间,论文提出了基于STM32F429和A3P250的双核控制器,智能S转法的探索法则通过六条不同轨迹来实现转入和转出,短距离调整实现微微鼠不同探索路径的衔接,陀螺仪的加入可以实现微微鼠直线位置和转弯的精确补偿,前墙传感器和陀螺仪组合保证了连续转弯姿态的准确性;微微鼠高速探索实验表明,S转法能显著提高微微鼠转法的稳定性和快速性,有利于缩短微微鼠在迷宫中的探索时间。
关键词:微电脑鼠;S转法;探索;陀螺仪中图分类号:TM301 文献标识码:A文章编号:1009-3044(2021)30-0020-04开放科学(资源服务)标识码(OSID):Design and Realization of Dual Core Pico-mouse Maze SearchingZHU Li-jun, WANG Ying-hai(Department of Electronic Engineering, Suzhou Industrial Park Institute of Vocational Technology, Suzhou 215123, China)Abstract: To improve the stability and reduce the searching time of pico-mouse in complex maze, a dual core controller based on stm32f429 and a3p250 is proposed in this paper. Intelligent s-turning rule is realized by turning in and out through six different tracks. The short adjustment distance of turning in of and out realizes the connection of different searching path.Gyroscope can realize the accurate position correction of pico-mouse in the straight and turning compensation of the micro mouse, and the combination of front wall sensors and gyroscope ensures the accuracy of continuous turning posture; The high-speed searching experiment of the pico-mouse shows that the s-turning rule can significantly improve the stability and rapidity of the pico-mouse turning, which is conducive to shorten the searching time of the pico-mouse in the maze.Key words: pico-mouse; s turning; searching; Gyroscope1 引言微電脑鼠是一种集感知、判断、行走功能于一体的迷宫搜寻机器人,它依靠自身携带的多种传感器探测并感知不同的“迷宫”,然后依靠人工智能算法求解并自动记忆其搜寻路径,然后在最短的时间内到达设定的迷宫目的地[1-4]。
基于STM32主控模块设计与实现无线鼠标
张晓燕;张吉月
【期刊名称】《北京石油化工学院学报》
【年(卷),期】2012(020)003
【摘要】利用主控芯片STM32并采用编程方法分发射和接收两部分设计实现了
无线鼠标的功能,具体是利用主控芯片STM32的4个IO引脚检测用户按下的上,下、左、右4个用以表示鼠标4个动作方向的按健,再将按键信号进行编码,配置成相应的HID鼠标数据格式,然后由主控模块操作射频模块(NRF24L01)将数据以无线信
号发送出去;接收端的主控芯片STM32通过USB接口插入PC时需要和PC建立
通信,使接收器件作为HID设备挂起到PC机上,然后主控芯片STM32控制接收模
块将接收到的无线数据通过USB 口传送给PC机,使得PC端的显示器上的鼠标指
针进行相应方向的移动,从而实现传统鼠标的功能.
【总页数】4页(P24-27)
【作者】张晓燕;张吉月
【作者单位】北京石油化工学院,北京102617;北京石油化工学院,北京102617【正文语种】中文
【中图分类】TP368
【相关文献】
1.基于DSP的智能断路器主控制器显示模块的设计与实现 [J], 张跃飞;陈林;刘强
2.基于VPX总线的系统主控模块的设计与实现 [J], 王丽;付月生;陈思思
3.基于CPCI总线CPU主控模块的设计与实现 [J], 王丽;黄发钧
4.基于VC++的网上行政审批主控模块的算法设计与实现 [J], 杨丽
5.基于STM32F103C8T6主控多功能防酒驾方向盘的设计与实现 [J], 钱国虎;王长春
因版权原因,仅展示原文概要,查看原文内容请购买。
一、实验背景迷宫实验是心理学和神经科学领域常用的实验方法,用于研究动物的学习和记忆能力。
近年来,随着计算机技术的不断发展,迷宫实验也逐步实现了电脑化。
本实验旨在利用迷宫电脑小鼠实验系统,研究小鼠在迷宫中的行为特征,以及其学习记忆能力。
二、实验目的1. 了解迷宫电脑小鼠实验系统的操作方法和原理。
2. 观察并记录小鼠在迷宫中的行为表现。
3. 分析小鼠的学习记忆能力,探讨影响因素。
三、实验材料1. 迷宫电脑小鼠实验系统:包括迷宫、电脑控制台、摄像头等。
2. 实验小鼠:体重20-25克,性别不限。
四、实验方法1. 迷宫电脑小鼠实验系统操作:将迷宫电脑小鼠实验系统连接到电脑,启动软件,设置实验参数,如迷宫形状、实验次数、时间限制等。
2. 实验步骤:(1)将实验小鼠放入迷宫入口,记录其进入迷宫的时间。
(2)观察并记录小鼠在迷宫中的行为表现,如逃避、探索、犹豫等。
(3)记录小鼠到达迷宫出口的时间,并计算其速度。
(4)重复实验多次,观察小鼠的学习记忆能力。
五、实验结果与分析1. 实验结果(1)实验小鼠在迷宫中的行为表现:在实验初期,小鼠表现出逃避、犹豫等行为,随着实验次数的增加,小鼠逐渐适应迷宫环境,表现出更快的速度和更准确的方向判断。
(2)实验小鼠的学习记忆能力:经过多次实验,小鼠的学习记忆能力得到显著提高。
在后期实验中,小鼠能够快速找到迷宫出口,且速度逐渐提高。
2. 分析(1)迷宫电脑小鼠实验系统能够有效地模拟真实迷宫环境,为研究小鼠的学习记忆能力提供可靠平台。
(2)实验结果表明,小鼠在迷宫中的行为表现与其学习记忆能力密切相关。
逃避、犹豫等行为可能表明小鼠在适应迷宫环境过程中存在困难,而随着实验次数的增加,小鼠逐渐适应迷宫,表现出更好的学习记忆能力。
(3)实验结果还表明,迷宫电脑小鼠实验系统具有良好的重复性和可靠性,可用于研究小鼠的学习记忆能力。
六、结论本实验通过迷宫电脑小鼠实验系统,研究了小鼠在迷宫中的行为表现和学习记忆能力。
基于STM32的电脑鼠机器人设计与开发作者:蒙飚严健平来源:《电子技术与软件工程》2016年第06期摘要电脑鼠是一种四轮车形状且具有人工智能的小型机器人,针对电脑鼠体积小、实时性要求高等特点,采用高性能的ARM Cortex-M3架构内核的STM32系列处理器作为电脑鼠硬件控制核心,优化机器人行走和搜寻迷宫控制算法,通过精密红外传感器和执行电机,实现了电脑鼠性能的极大提升。
【关键词】STM32 电脑鼠机器人电脑鼠机器人是一种能够在迷宫中行进、位置记忆、搜寻终点和优化路径等功能,按照电脑鼠竞赛规则,机器人必须在陌生与未知的迷宫环境中以最快速度及最短时间到达终点完成比赛任务以获得胜利。
本文研究的电脑鼠机器人选择了高性能的32位ARM Cortex-M3架构内核的处理器作为控制核心设计了电脑鼠机器人的软硬件系统,实现了电脑鼠机器人系统的稳定快速行走能力、记忆迷宫搜寻轨迹能力和优化最短执行路径能力,相比传统基于8位单片机的电脑鼠系统,极大提升了系统整体性能,同时能够借助本文研究的电脑鼠系统设计案例,进而研究与发明更加复杂的机械控制系统。
1 电脑鼠机器人整体设计方案电脑鼠机器人软硬件系统由基于STM32的核心处理器、电源稳压电路系统、传感器系统、行走电机执行系统、液晶显示系统和无线网络系统六个子模块组成,其中基于STM32的核心处理器子模块是整个电脑鼠机器人的控制中心,负责与其它五个子模块的信息传输,并运行整体系统的软件程序,实现电脑鼠的流程控制、运算优化和数据存储;电源稳压电路系统负责给系统硬件提供稳定可靠的电源,传感器系统让电脑鼠机器人能够感知迷宫周围环境,行走电机执行系统能让电脑鼠机器人快速直行或转弯,液晶显示系统可以通过屏幕让人们获得机器人的各种状态信息,无线网络系统能实现电脑鼠机器人与远程计算机的联网。
电脑鼠机器人整体结构示意图如图1所示。
2 电脑鼠机器人硬件设计电脑鼠机器人的硬件系统核心处理器采用ST公司的STM32F103R8T6,它的时钟频率最高可达72MHz,内置64K的Flash、20K的RAM、12位AD、4个16位定时器、3路USART 通讯口等多种资源,具有极高的性价比。
方法文献标识码:B文章编号:1003—0492(2009)07—0080·03中图分类号:TP275迷宫电脑鼠控制系统设计DesignofMicro—mouseControlSystem曾璐(1983.)女,江西赣州人,江西理T大学应用科学学院教师,研究方向为过程控制和嵌入式系统。
摘要:电脑鼠实际上是集传感与控制于一体的,能够自动穿越迷宫的微型机器人。
本课题结合模拟电路、数字电路知识以及传感器知识,制作出一个性能优良的电脑鼠,在迷宫中找到一条最优路径,走出迷宫。
根据国际标准迷宫电脑鼠的比赛规则,通过各种方案的对比,确定在本文中采用NXP公司ARM7LPC2138作为控制核心,将新必的群智能算法运用到迷宫电脑鼠中。
关键词:最优路径、迷宫,电脑鼠,ARM、蚁群算法Abstract:Micro-mouseinfactbeingmicro-robotwithintegratedandcontroller,whichiscontrolledbythemicroprocessor,canautomaticallytraversemaze.Combiningwithanalogcircuits,digitalcircuitsandknowledge,weconstructfineperformancemicro-moosethatfindoptimalpathinthemaze.Inaccordancewithinternationalmazemicro-mousecompetitionstandards,comparedwithsomedifferentschemes,itmakescertainthatusingARM7LPC2138controlapplytheintelligentalgorithmsinmazemiero-mouse.Keywords:optimalpath;maze;micro-mouse;ARM;Antcolonyalgorithm智能机电鼠又称电脑鼠,电脑鼠(micromouse)是一只迷人的人工智慧鼠,它不但有锐利的眼睛和灵活的双脚,还有聪明的头脑来控制眼睛和双脚,使眼睛和双脚能够同心协力,互相配合,以达成唯~的目标——走出迷宫。
一种走迷宫电脑鼠的设计与实现
朱姗;傅或哲;吴忠丽;王伟;仇润鹤
【期刊名称】《微型电脑应用》
【年(卷),期】2008(24)9
【摘要】该文介绍了一种基于ARM嵌入式的电脑鼠,主要由电源、传感子系统、电机控制子系统、微控制器单元等功能模块组成,文中对各个模块的工作原理,分别从硬件结构、软件流程二个主要环节对走迷宫的电脑鼠实现过程进行深入的说明,并在算法方面对传统的中左法则进行了改进,基于泛洪算法的思想,结合向心法则,提出了一种简单的电脑鼠走迷宫的算法,仅用一个一维数组就可以记录迷宫的全部信息,具有较低的复杂度,易于实现编程,本设计有较广泛的发展应用前景.
【总页数】4页(P59-62)
【作者】朱姗;傅或哲;吴忠丽;王伟;仇润鹤
【作者单位】东华大学信息科学与技术学院,上海,201620;东华大学信息科学与技术学院,上海,201620;东华大学信息科学与技术学院,上海,201620;东华大学信息科学与技术学院,上海,201620;东华大学信息科学与技术学院,上海,201620
【正文语种】中文
【中图分类】TP399
【相关文献】
1.一种电脑鼠走迷宫算法 [J], 周杰
2.用于迷宫电脑鼠的一种迷宫补全算法 [J], 于佳维;潘志雄;马忠梅
3.一种电脑鼠走迷宫的算法 [J], 张新谊
4.基于ARM的走迷宫电脑鼠的设计与实现 [J], 张嘉夫;李迅波;余岷;余红光;方文华
5.一种电脑鼠走迷宫算法的设计与实现 [J], 王凤林;王宜怀
因版权原因,仅展示原文概要,查看原文内容请购买。
电脑鼠控制系统工作原理及设计方案1电脑鼠工作原理电脑鼠周围安装六组红外传感器,分别感知左方、左前方、前方、右前方、右方,发射端发射一定频率的红外线,接收端通过六个方向的反射波来判断是否有障碍物,实时地储存单元格的资料,通过六组红外传感器反馈的迷宫信息,控制电脑鼠完成避障、转弯、加速等动作,运用智能算法对迷宫的部分单元格或全部单元格进行遍历,并将迷宫的信息以有效的数据结构存储,微控制器根据这些记录信息运用迷宫高效算法找到一条最优化路径,从而实现从起点到终点的最大化冲刺。
2 硬件电路设计为完成迷宫探测和冲刺任务,电脑鼠需具备以下各功能模块:ARM微处理器作为控制核心协调各功能模块正常工作;电机及驱动模块实时控制电机启动、制动;红外检测模块负责红外线探测感知;电源为整个系统供电稳定电压,陀螺仪及指南针模块确定电脑鼠方位,根据走过的距离,从而解析出所在坐标。
硬件组成如图1所示。
2.1 电源模块电源调节器件通常使用线性稳压器件(如LM7805),具有输出电压可调、稳压精度高的优点,但是其线性调整工作方式在工作有较大的热损耗,导致电源利用率不高、满足不了便携低功耗需求。
开关电源调节器,不同于线性稳压器件,以完全导通或关断的方式工作,通过控制开关管的导通与截止时间,有效的减少工作中的热损耗,提高了电源利用率。
本设计中电源模块为系统提供三种不同的电压,12V电源用于驱动电机,使用开关式电源LM2596将12V直流电压降到5V给红外模块、人机交互模块供电,再通过AMS1117将5V降到3.3V,供ARM处理器及其他模块使用。
2.2 微处理器模块微处理器是整个控制系统的核心,它完成从红外检测模块获取路径信息,采集瞬时速度,进行数据处理,控制算法运算,输出实时控制量等功能。
为了保证系统的实用性和易扩展性,本控制系统采用意法半导体推出的增强型系列STFM32F103RCT6,STM32F103xx增强型系列使用高性能的ARM Correx-M3 32位的RISC内核,工作频率为72MHz,内置高。
基于STM32的迷宫电脑鼠控制系统设计与实现张月芹;尹涓;鞠欢;张博炜【摘要】针对电脑鼠走迷宫的功能要求,设计了一个两轮智能电脑鼠,并详细设计了其控制系统.采用两片STM32作为主从控制器,以增强电脑鼠实时控制及运算功能.采用红外传感器进行测距,选用具有精密高速跟踪能力的ADNS-9500光学传感器取代常用的陀螺仪检测电脑鼠位置.进行了电脑鼠走迷宫实验,并可通过上位机实时监控电脑鼠行走路线.结果表明车体运行平稳灵活,控制系统实时性强、控制精度高,能够快速搜索迷宫,有效提高了电脑鼠走迷宫的功能.【期刊名称】《机电工程技术》【年(卷),期】2016(045)012【总页数】6页(P1-6)【关键词】电脑鼠;STM32F103C8T6;红外传感器;ADNS-9500;PID控制【作者】张月芹;尹涓;鞠欢;张博炜【作者单位】南京航空航天大学金城学院机电工程系,江苏南京 211156;南京航空航天大学金城学院机电工程系,江苏南京 211156;南京航空航天大学金城学院机电工程系,江苏南京 211156;南京航空航天大学金城学院机电工程系,江苏南京211156【正文语种】中文【中图分类】TP242.6在机器人技术高速发展的今天,随着人工智能研究的不断深入,智能机器人的研究成为当前的一个热点[1-4]。
走迷宫机器人,俗称“电脑鼠”,是一种竞技性智能机器人,研究其对未知环境的自主探测、动态决策与路径规划的能力,成为机器人技术的一个重要分支。
本文按照IEEE标准迷宫尺寸,完成了一个结构小巧灵活、能够以最大加速度达5m/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=24mm,电机减速比i=15∶58,取采样周期T=1 ms,则编码器计数值N=V×i/(π×D)×T≈401。
因此,以1 ms为采样周期,将编码器设为双向计数模式,计数值增加,电机正转;计数值减小,电机反转。
STM32的内置编码器为16位,所以初始计数值设为32 767,在读取计数值后,重新设置计数值为32 767,准备在下个1 ms读取,如此循环。
速度检测代码如下:int Encoder_Get_CNT(void){int CNT=0;CNT=(TIM2->CNT)-0x7fff;//将本次的计数值减去32767,得到速度值;TIM2->CNT=0x7fff; //重置计数器值为32767,为下一次计数做准备;return CNT;}2.3.4 PID调速直流电机的调速方法有很多种[7],本文采用PID算法调节电机转速,从而校正电脑鼠自身姿态,以维持其在迷宫方格的中线行驶。
电脑鼠两侧均有墙的情况下,需要比较小车离两侧墙壁的距离;在仅有一侧有墙时,只需保证小车与墙壁距离适中即可。
为此,利用红外测距模块测量小车距离墙壁的距离,利用码盘采集电机转速,然后反馈给主控制器进行PID运算,如图6所示。
电脑鼠两侧均没有墙时,则利用ADNS-9500反馈的X向位移进行测距,如图6所示。
若电脑鼠匀速运动,则保持当前速度和目标速度维持不变。
当电脑鼠要加速或减速时,改变目标速度,并将积分的误差清零,重新开始积分。
实现代码如下:If(aimspeed!=last_aimspeed)//如果目标速度改变{iIncpid_L=0;//积分清零last_aimspeed=aimspeed;//重新设定目标速度}else iIncpid_L+=this_error;//目标速度不变,持续积分实测表明,当电脑鼠姿态发生30°大斜角时,依然能够经转速调节后回归到迷宫中线行驶。
2.4 红外测距分别选择SFH4545和TSL262R为红外发射和接收传感器,组成测距模块。
SFH4545发出波长为940 nm的红外线,经迷宫墙壁反射后被TSL262R接收,再经STM32自带的AD转换后输出为电压值,由电压的大小测出电脑鼠与墙壁的距离。
红外发射原理如图7所示。
用ULN2003的IN2和IN3两路输入控制红外线发射,即可用软件程序选择探测范围,简化电路。
为了避免环境中光源干扰,在每次测距之前,先关闭红外发射管,对环境光源进行采样,然后打开红外发射管采样,将两次采样值相减,得到去除环境光源的距离值[8]。
2.5 ADNS-9500位置检测电脑鼠运行时,要实时检测并更新其运行姿态及位置。
当前通常利用陀螺仪调节运行方位[9],但陀螺仪会出现零点和温度漂移。
为此,本文提出采用光学扫描传感器ADNS-9500实时检测电脑鼠运行姿态及位置,实现真正的全场定位。
该传感器含有一个图像采集系统(IAS),一个数字信号处理器(DSP)和一个四线串行端口,DSP对IAS采集的图像进行处理以确定运动方向和距离。
ADNS-9500的使用流程依次为上电初始化、SROM下载模式设置、CRC检测、激光开启,然后进入连续读数据模式,如图8(a)所示,BYTE [02]-BYTE[05]分别为X、Y轴位移的低位和高位。
STM32采用SPI总线从ADNS-9500的串行端口每1 ms读取一次X、Y值。
为了使该传感器有效工作,在元器件布局时,将其放置在车头部分,实际安装位置如图8(b)所示。
走迷宫软件主要用于检测迷宫环境,传送控制信号给硬件模块,并对电脑鼠进行制导与导航[10]。
图9为本文的软件流程图,电脑鼠启动后,先对控制器、I/O口、定时器、中断、传感器等进行初始化,然后搜索迷宫,并将迷宫信息存储到从控制器,找到终点并根据迷宫搜索算法确定从起点到终点的最佳路径后,停止搜索,从起点冲刺到终点。
本文利用蓝牙模块[11]和ANO Tech匿名四轴上位机串口软件设计了电脑鼠走迷宫调试系统,以实时监控电脑鼠行走的路线。
蓝牙模块将电脑鼠走过的坐标发送到串口调试界面,即可得到电脑鼠行走路线图。