您的位置 首页 电子

根据STM32F103C8T6的嵌入式服务机器人体感遥控器的规划与完成浅析

基于STM32F103C8T6的嵌入式服务机器人体感遥控器的设计与实现浅析-服务机器人作为多种高新技术发展成果的集成,为实现服务的目的,需要通过人性化、简便、自然的方式进行人机交互,传统的按键式遥控器显然不能满足这种设计要求。目前,体感设备发展迅速,各类基于体感控制的装置层出不穷。体感控制就是通过肢体动作变化来实现

导言

服务机器人作为多种高新技能发展作用的集成,为完成服务的意图,需求通过人性化、简洁、天然的方法进行人机交互,传统的按键式遥控器明显不能满意这种规划要求。现在,体感设备发展迅速,各类依据体感操控的设备层出不穷。体感操控便是通过肢体动作改变来完成

操控,依据体感设备的人机交互已经成为当时研讨的抢手课题。

常见的无线遥控技能不外乎红外遥控技能和无线电遥控技能。其间红外遥控技能长处便是带广大,可是需求较强的指向性,传输间隔短,穿透才能差,功耗高;与之比较,无线电遥控技能无方向性,抗搅扰才能和穿透才能强,传输间隔远,功耗低。因而,无线电遥控技能愈加适合于智能家居、消费类电子和机器人操控等范畴。

本文以STM32F103C8T6作为主操控器,选用iNEMO惯性导航模块、nRF24L01无线模块和12864液晶显现模块。规划的嵌入式体感遥控器具有体积小、操作简略、牢靠性高、可扩展性强等长处,能够较好地满意对服务机器人牢靠遥控的要求,具有较大的运用推行价值。

1 体系功用要求及全体架构

1.1 基本功用要求

①具有实时精确发送相应操控指令的才能。依据手部姿势确认指令的内容。

②具有接纳机器人本体回传数据包的才能。依据接纳的数据包进行解析,然后判别本体接纳的操控指令是否正确。

③具有当时指令和机器人当时状况信息的显现才能。一方面将发送的操控指令在LCD液晶屏上予以显现;另一方面依据机器人本体回传的数据包,解析得出机器人的状况,在LCD液晶屏上进行显现。

④具有电池电量检测和低压报警功用。将剩下电量实时地显现在LCD液晶屏上,当电量缺乏时,通过蜂鸣器进行报警提示。

1.2 体系全体计划及架构

iNEMO惯性导航模块的基本原理如图1所示,运用MEMS传感器和主控芯片STM32F103RET7供给动静态方向和惯性丈量功用。集成双轴滚转-俯仰陀螺仪(LPR430AL)、单轴偏航陀螺仪(LY330ALH)、6轴地磁丈量模块(LSM303DLH)、压力传感器(LPS001DL)和温度传感器(STLM75)5个意法半导体公司的传感器,运转一个AHRS姿势角运算体系,然后完成对姿势角的实时丈量。

依据STM32F103C8T6的嵌入式服务机器人体感遥控器的规划与完成浅析

本遥控器选用ST公司具有Cortex-M3内核的ARM操控器STM32F103C8T6作为主操控器,选用ST公司的iNEMO惯性导航模块进行手部姿势检测,选用nRF24L01无线模块完成指令的发送和数据的接纳,选用12864液晶显现模块对当时操控指令、机器人当时状况和剩下电量予以显现,选用LED和蜂鸣器完成提示和报警功用。遥控器软件上运用μC/OS-II实时嵌入式操作体系,能够完成实时性内核、使命办理、时刻办理、通讯与同步、内存办理等功用。体系的全体架构如图2所示。

依据STM32F103C8T6的嵌入式服务机器人体感遥控器的规划与完成浅析

2 硬件电路规划

2.1 主操控模块电路

主操控器STM32F103C8T6芯片,作业频率高达72 MHz,内置64 KB的Flash和20 KB的SRAM,具有丰厚外设和超低功耗,彻底满意本规划要求。主操控模块电路图如图3所示,参照ST公司发布的STMF10xxx硬件开发入门文档,该部分包含外部时钟电路、模仿电源输入、电源滤波、下载仿真口的规划。

依据STM32F103C8T6的嵌入式服务机器人体感遥控器的规划与完成浅析

2.2 电源模块电路

本遥控器选用8.4 V锂电池供电,选用TL750M05C稳压芯片供给5 V电压,选用REG1117-3.3稳压芯片为体系供给3.3 V电压。STM32F1 03C8T6电源分为模仿电源与数字电源,为了确保其正常作业,将两路电源进行阻隔规划,在模仿地与数字地之间通过0Ω电阻完成单点共地。为监测锂电池电源电压,将电池电压经电阻分压及阻容滤波电路滤波后作为STM32F103C8T6采样输入。

2.3 无线通讯模块及显现模块电路

无线通讯模块选用2.4 GHz频段射频芯片nRF24L01作为无线数据收发芯片,作业于2.4~2.5GHz ISM频段,输出功率和通讯频道可通过程序进行装备。nRF24L01功耗低,在以-6 dBm的功率发射时,作业电流只要9 mA;接纳时,作业电流只要12.3 mA,多种低功率作业方式(掉电方式和闲暇方式)使节能规划更便利。nRF24L01选用SPI总线方法与操控芯片进行通讯。

12864液晶显现模块,可显现汉字及图形,内置8192个中文汉字(16×1 6点阵)、128个字符(8×16点阵)及64×256点阵显现RAM(GDRAM),具有并行数据传送方法和串行数据传送方法,其间串行数据传输方法只用到CS、SID、SCK 3个通讯引脚,较并行数据传送方法节约单片机的I/O引脚,本文选用串行传输方法进行规划。

3 软件体系规划

体感遥控器的软件体系规划依据实时嵌入式操作体系μC/OS-II,借助于μC/OS-II内核的多使命办理和优异的实时功能,大大简化了软件体系规划,而且能够确保体系呼应的实时性。

3.1 使命分配与完成

在使命规划的过程中,选用分层次和模块化的思想将整个体系使命进行区分。首要,咱们有必要对体系全体的操控使命有清楚地了解,具体使命区分如表1所列。

依据STM32F103C8T6的嵌入式服务机器人体感遥控器的规划与完成浅析

表1中除OSTaskStat和OSTaskIdle使命为体系自带,其他8个使命均为用户创立。其间:App_TaskStart为开始使命,体系运转后第一个树立的使命,其作用是为初始化体系时钟和底层设备创立一切事情和其他使命;App_TaskAD使命监督电池电压的改变,当电压低于设定值Low Battery时,将发动蜂鸣器报警;App_TaskAHRS使命通过DMA不断接纳iNEMO惯性导航模块数据,然后交由USART1接纳缓冲区,实时取得手部姿势信息;App_TaskCmd依据手部姿势信息转化为机器人运动指令,然后依照拟定的通讯协议通过nRF24L01无线模块将指令数据包发送出去;App_TaskData使命在每发送一次指令数据包后,通过nRF24L01无线模块接纳机器人本体回传的运动状况信息包;App_TaskLCD使命完成运动指令、机器人运动状况、电池电量、实时时钟在12864液晶显现模块上的显现;App_TaskLED_B使命通过LED指示遥控器上的主控芯片与iNEMO惯性导航模块、遥控器与机器人是否通讯正常,当电池电量过低时,通过蜂鸣器进行报警;App_TaskClock使命得到DS1302的实时时钟,通过音讯邮箱App_LCDClockMbox发送给App_TaskLCD使命予以实时显现。

3.2 使命间通讯规划

使命和中止服务子程序能够通过事情操控块与其他使命进行通讯,常用的通讯方法有信号量、邮箱和音讯行列,一起,通过事情标志完成使命与事情之间的同步。本操作体系共创立了8个音讯邮箱和1个事情标志:

OS_EVENT *App_AHRSMbox

OS_EVENT *App_CommandMbox

OS_EVENT *App_DataMbox

OS_EVENT *App_ADMbox

OS_EVENT *App_LCDCmdMbox

OS_EVENT *App_LCDDataMbox

OS_EVENT *App_LCDADMbox

OS_EVENT *App_LCDClockMbox

OS_FLAG_GRP *App_GreenLEDFlag

其间,App_GreenLEDFlag包含3个标志位:

#define Flg_GreenLED 0x0001

#define Flg-BlueLED 0x0002

#define Flg_Buzzer 0x0004

3.3 软件体系流程图规划

软件体系流程图如图4所示。体感遥控器经上电初始化后,首要收集电池电压,然后通过邮箱*App_ADMbox将收集得到的电量值发送给12864液晶显现模块进行显现,若电量过低,则使标志位Flg_Buzzer置位,即通过蜂鸣器进行报警。而且,通过DMA把iNEMO惯性导航模块的数据接纳到USART1,判别校验位是否正确,若不正确则从头装备DMA,从头接纳数据;若正确则将接纳到的数据转化为操控指令,通过nRF24L01无线模块发送给机器人。一起通过邮箱*App-LCDCmdMbox将指令发送给App_TaskLCD使命,在12864液晶显现模块显现当时发送的指令,并通过置位Flg_GreenLED点亮相应LED,以表明STM32F103C8T6与iNEMO模块通讯正常;机器人本体接纳到指令后,会给遥控器回来数据包,假如遥控器接纳的数据过错标志位没有置位,则阐明遥控器与机器人本体通讯正常,通过邮箱*App_LCDDataMbox将机器人的状况信息发送给App_Tas kLCD使命,在12864液晶显现模块上显现机器人本体运动状况,一起通过置位Flg_BlueLED点亮相应LED,以表明遥控器与机器人本体通讯正常。App_TaskClock使命通过邮箱*App_LCDClockMbox向App_TaskLCD使命发送当时时刻信息,并予以显现。

依据STM32F103C8T6的嵌入式服务机器人体感遥控器的规划与完成浅析

体感遥控器软件体系开发环境为IAR EWARM5.4,μC/OS-II版别为V2.86,STM32F103C8T6的调试东西为J-Link仿真器,STM32F103C8T6的固件库版别为V2.0.3。

3.4 遥控器与机器人本体通讯计划规划

本规划选用严厉的“一问一答”方式,即每发送一条指令都需求机器人本体回来一帧数据包。遥控器发送一条指令后,等候机器人本体回来的数据包,只要取得机器人本体回来的数据包后才能够持续发送指令包。假如机器人本体接纳到过错指令(经校验过错的指令),置位通讯过错标志位,上传数据包;一起,机器人本体报警,将机器人速度置0,接下来1 s内下位机铲除串口DMA,从头接纳指令。假如遥控器收到的数据包中通讯过错标志方位位,则从头装备nRF24L01无线模块,从头发送指令。

4 功能测验

对本文所描绘的嵌入式机器人体感遥控器进行了相应的测验,测验环境分别为室内走廊环境和室外环境,测验成果如表2所列。测验成果表明,在室内走廊环境中,收发指令的正确率在95%以上;在室外环境中,因为环境中或许存在多种搅扰,而且间隔在20~30 m,正确率在90%以上。因为遥控器底层软件具有必定容错才能,90%以上的正确率彻底满意要求。

依据STM32F103C8T6的嵌入式服务机器人体感遥控器的规划与完成浅析

结语

本文评论了依据STM32F103C8T6的嵌入式服务机器人体感遥控器的规划与完成,并对具体的硬件电路和软件体系进行了具体的介绍。通过很多的试验证明,本体感遥控器具有操作简洁、可操作性强、通讯牢靠、稳定性和人性化程度高级长处,在试验室服务机器人的实践运用中取得了杰出的作用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/98850.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部