基于STM32F的电脑鼠控制系统设计
电脑鼠(micromouse)是一种由微处理器控制的集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的微型机器人。目前大多数电脑鼠采用Luminarv Micro Stellaris R系列LM3S101、LM3S102、LM3S615或者单片机微控制器,其红外检测模块采用了一体式红外传感器,只能判断有无障碍物,无法进行测距;电机部分采用步进电机,耗电大、速度慢;此外软件系统多采用传统中左或中右算法,效率较低。本文设计了基于Cortex-M3内核的32位ARM芯片STM32F103RCT6作为运算控制中心,由其产生PWM信号调制红外发射接收实现测距,配套空心杯直流电机,通过改进智能迷宫算法,使电脑鼠出色高效地完成迷宫搜寻及冲刺任务。
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,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN,在存储容量和运算速度方面满足要求。
2.3 电机及驱动模块
为提高系统功率、降低功耗,驱动电路采用基于脉宽调制方式的集成电路芯片L298N。比较常见的是15脚Muliwart封装的L298N,内部包含四通道逻辑驱动电路,即内含两个H桥的高电压大电流双全桥式驱动器,可以驱动和控制两个直流电机,芯片采用供给电机电源和逻辑电平电源的双电源供电,可接受标准TTL逻辑电平信号,驱动46V,2A以下的电机,并可驱动电感性负载。其中ENA、ENB是控制使能端,IN1、IN 2、IN3、IN4是控制电平输入端,电路如图2所示。本设计中采用空心杯直流电机,它具有突出的节能特性、灵敏方便的控制特性和稳定的运行特性,最大效率一般在70%以上,部分产品可达到90%以上;起动、制动迅速,响应极快;其重量、体积相对减少1/3-1/2,通过PWM调节脉冲占空比进行调速。
2.4 红外检测模块
红外检测模块主要负责迷宫环境监测和处理。红外线经调制后由发射管发出,接收管接收迷宫墙壁反射光,根据接收反射信号强弱来判断与隔墙的距离。本系统相对传统红外检测方法做如下特点:
(1)红外传感器由原来的5组增加到6组。除了正前、正左、正右以及正前方两个45度斜角外,正前方增加1组红外传感器,通过正前方两组传感器信息的融合实现路口45度斜走,相对于以往的90度直角调整,节约了时间,提高了效率。
(2)采用基于双T选频网络的放大器设计,红外传感器根据反射信号的强弱实现电脑鼠与障碍物之间的测距。以往使用的是一体化红外接收传感器(如IRM8601S),其接收头内部集成自动增益控制电路、带通滤波电路、解码电路及输出驱动电路,但由于检测信号输出的是数字信号,只能判断有或无障碍物,不能根据检测信号输出的强度计算距离。本设计中采用基于双T选频网络和TLC084组成的选频放大设计,实现频率不同增益不同,对有用信号进行放大处理,滤除或抑制无用信号。
(3)发射三种频率调制波,减少信号之间的干扰。6组传感器分为三组,正左和正右两组传感器负责检测电脑鼠是否走在中线上,以便及时做出姿势校正;左前方和右前方两组传感器主要检查前方是否有路口;前方两组传感器配合电机,协同工作实现45度转弯。红外光发射频率越高,传播距离相对越远,在本设计中由于迷宫墙壁之间距离16.8cm(单元格18cm.墙壁厚度1.2cm),而电脑鼠的宽度一般为10cm左右,车体距两边墙体的距离只有3cm左右,所以正左方和正右方发射频率选择为33kHz,左前方和右前方发射35kHz,正前方距离最远,发射频率为38kHz。具体如图3所示。
本设计进行了硬件电路改进,由STM32定时器输出三路PWM信号,每两组红外发射管共用一路PWM信号,遇到障碍物后返回,红外接收管进行信号采集,通过选频放大器对有用信号进行放大处理,送入STM32的12位逐次逼近型AD转换器。由于整流滤波有延时,所以此处采用交流采样,ADC在最高速采样的时候需要1.5十12.5个ADC周期,在14M的ADC时钟下达到1Msps的速度。红外测距电路如图4所示,当接收管接收到红外线,D2导通,并且反射越强,D2阻值越小,没有收到红外线时,D2阻值无穷大,相当于截止;R3和R4两个10K电阻提供2.5V的直流偏置。
- 新一代嵌入式微处理器STM32F103开发与应用(05-08)
- 基于Cortex M3处理器的开关磁阻电机控制器设计(05-08)
- 基于STM32F103R8T6的数字量度继电器设计(06-20)
- 基于CORTEX的STM32的三相电能表方案(08-23)
- 基于ARM Cortex-M3和DSP的逆变电源设计(09-18)
- 基于STM32F的曼彻斯特电压/电流编译码系统设计(01-25)