林钰旋+陈森茂+史春笑
摘 要:APP远程监控机器人是基于Android系统编写APP,通过手机APP发送指令,ARM接收指令,通过串口发送给蓝牙小车进行运动控制。本文主要介绍监控机器人系统中蓝牙小车运动控制部分,本设计以K60芯片为控制核心,采用IRF3205作为电机驱动的MOS管,配以蓝牙从机无线模块,实现小车的运动控制,同时具有自动避障等功能。
关键词:K60 蓝牙遥控 电机驱动
中图分类号:TP242 文献标识码:B 文章编号:1003-9082 (2017) 04-0216-03
一、引言
APP监控机器人在家庭、工厂、医护等需监视的场合发挥着重要的作用,它可以有效避免一些意外事故的发生。互联网、手机APP安卓系统的开发,使得人们通过手机就可以轻松控制机器人的移动。无线遥控实现方法包括蓝牙、红外、射频等几种,其中蓝牙技术具有一定优势,目前被广泛应用在信息家电方面,各种家电共用遥控,并在可组网与公众互联网中连接,共享有用信息。蓝牙技术实现无线遥控具有很高的市场价值及广阔的应用前景。本设计通过结合ARM开发板,利用无线通信及K60蓝牙处理、硬件测试,达到机器人实时监控、运动的目的。
二、系统硬件设计
1.总体方案设计
本系统以K60单片机为核心控制器,通过接在K60主板上的蓝牙从机接受来自ARM开发板的指令,传给K60让其做出相应处理,通过PWM调制频率,使电机驱动模块工作。利用H桥电机驱动电路,控制两个电机差速,从而改变轮子的转向,达到控制小车运动的目的。通过超声波避障模块使小车安全行驶。整个蓝牙小车模块通过一个模块电源供电,根据不同模块的工作需求,电源模块提供了3.3V、5V的电源。系统硬件框图设计见图1。
2.系统主要硬件模块介绍
机器人小车硬件模块主要有K60单片机、机器人小车底盘、蓝牙串口模块、电机驱动模块、机器人小车电源模块、7.2V镍镉电池。
2.1 K60单片机
K60芯片电源类引脚,BGA封装22个,LQFP封装27个,其中BGA封装的芯片有五个引脚未使用。芯片使用多组电源引脚分别为内部电压调节器、I/O引脚驱动、A/D转换等电路供电,内部电压调节器为内核和振荡器。为了电源稳定,MCU内部包含多组电源电路,同时给出多处电源引出脚,便于外接滤波电容。K60最小系统芯片上同时具有蓝牙接收模块,这样在设计主板上就节省了引出蓝牙从机的插槽。
设计K60单片机的整个主板硬件控制电路,其中包括K60最小核心板及电机驱动PWM的接口,K60硬件主板引脚功能说明见表1。K60最小系统的引脚及主板设计的原理图见图2。
2.2 机器人底盘及电机
为了方便机器人运动转向,本设计选择了两个电机分别控制两个车轮,一个万向轮在底盘前面,这样利用电机的差速驱动左右电机不同转速,就可以实现小车的转向,图3所示是小车的3轮底盘。由于驱动机器人需要很大的转矩,所以选择扭矩大,负载能力强的大功率直流电机。
2.3蓝牙串口模块
在K60最小系统板上有通用的蓝牙接口模块,通过外接蓝牙从机模块,就可以实现蓝牙从机接收外部信号,传送给K60单片机做出相应处理。本设计采用LQ-BTM蓝牙从机,在与K60连接时要注意正确的通讯,BTM的RXD要与K60的TXD连接,K60的RXD要与BTM的TXD连接。蓝牙从机接上K60后,LED灯常亮,表示蓝牙连接状态,闪烁表示没有蓝牙连接。通过手机APP界面的蓝牙端发送指令,从机接收信号指令传到K60,就可以进行运动处理,蓝牙接口正确通讯连接见图4。
2.4电机驱动模块
机器人小车采用两个直流电机进行差速运动,电机驱动模块是典型的H桥电路,工作原理见图5。
它是由四个三级管和四个二极管组成的控制电路,由于它的形状酷似字母H,所以电路得名“H桥驱动电路”。要使电机运转,必须使对角线上的一对三极管导通。假设当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极,该流向的电流将驱动电机往某一方向转动;当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动,实现电机的正反转。
根据H桥驱动电路,合理设计机器人小车电机驱动模块,采用IRF3205共8个MOS管组成两个电机的驱动电路,更好的实现电流、电压的可逆,使小车更加稳定运动。双电机驱动模块接口原理图见图6,电机驱动电路见图7。
2.5电源模块
电机驱动模块需要5V电源,利用LM1117-5稳压芯片将来自外部7.2V的镍镉电池稳压成5V。同理利用L6932芯片,采用多电容滤波,使稳压后的3.3V电源更加稳定。图8所示是5V和3.3V稳压电路原理图。
三、软件设计实现
1.系统流程图
本设计的系统流程图见图9,包含主程序流程图及串口中断服务函数。实现蓝牙接收手机端发送过来的指令送给单片机进行处理,控制机器人小车运动,并实现自动避障功能,使机器人小车稳定运动。利用IAR软件编程,烧写程序进入K60单片机。整个设计涉及到蓝牙模块的设置,电机驱动输出频率的控制,以及串口中断服务函数设计。
2.电机驱动PWM控制
在K60单片机中,利用FTM产生PWM来控制电机输出占空比,从而使电机能够进行差速,进而达到转向的目的。程序中利用FTM_PWM_Duty()函數,来控制FTM产生PWM调制波进而产生不同占空比。电机驱动程序如下:
void Moto_Forward//前进
{FTM_PWM_Duty(FTM0, FTM_CH0,500);
FTM_PWM_Duty(FTM0, FTM_CH1,0);
FTM_PWM_Duty(FTM0, FTM_CH2,500);
FTM_PWM_Duty(FTM0, FTM_CH3,0);}
void Moto_Backward()//后退
{
FTM_PWM_Duty(FTM0, FTM_CH0,0);
FTM_PWM_Duty(FTM0, FTM_CH1,500);
FTM_PWM_Duty(FTM0, FTM_CH2,0);
FTM_PWM_Duty(FTM0, FTM_CH3,500);}
void Moto_TurnLeft()//左转
{FTM_PWM_Duty(FTM0, FTM_CH0,0);
FTM_PWM_Duty(FTM0, FTM_CH1,0);
FTM_PWM_Duty(FTM0, FTM_CH2,0);
FTM_PWM_Duty(FTM0, FTM_CH3, 500);
}
void Moto_TurnRight()//右转
{FTM_PWM_Duty(FTM0, FTM_CH0,500);
FTM_PWM_Duty(FTM0, FTM_CH1,0);
FTM_PWM_Duty(FTM0, FTM_CH2,0);
FTM_PWM_Duty(FTM0, FTM_CH3,0);}
3.USART串口中斷服务函数
通过打开串口接收中断,进入中断,执行UART4中断服务函数,根据串口接收到的不同字符“E”、“A”、“B”、“C”、“D”在UART4中断服务函数中执行不同的电机驱动函数,从而控制蓝牙小车的运动。
void UART4_IRQHandler(void)
{char Buffer;
if(UART_Query(UART4)!= 0) //查询是否接收到数据
{Buffer = UART_Get_Char(UART4);
switch(Buffer)
{case ‘E:
Moto_Stop();//停止
break;
case ‘A:
Moto_Forward();//前进
break;
case ‘B:
Moto_Backward();//后退
break;
case ‘C:
Moto_TurnLeft();//左转
break;
case ‘D:
Moto_TurnRight();//右转
break;}}}
四、机器人小车的调试
整个机器人系统安装完成后,逐个模块调试,最后组合各个模块系统统一调试。在下载调试K60时,需要用到J-Link驱动程序,安装完驱动,根据K60的型号,在驱动中进行相应的设置。之后再在IAR开发环境中进行程序的烧写。在工程中设置对应的K60型号,之后就可以编译,下载,调试。通过K60的电机PWM接口传送给电机模块不同的频率,这时用示波器测量频率波形是否正常,其占空比是否达到预期,这样可以避免接入电机模块后,烧坏电机。利用手机APP蓝牙开发界面,在手机上发送“前进”、“后退”、“左转”、“右转”的指令就能控制机器人小车运动。
根据以下步骤完成硬件的调试:第一,检查对应模块的原理图接线是否正确;第二,检查原理图与所用器件的引脚是否吻合,进而排除逻辑上的错误;第三,用万用表检查是否出现虚焊,短路或者开路的现象,进而排除线路的问题和电源的故障情况;第四,利用IAR在下载调试K60过程中,最容易出现下载不了的情况,这时要注意Jlink的接线是否反,查看驱动Jlink固件有没有解锁。
五、小结
本项目设计并建立了一个可远程控制的智能机器人监控系统,对此系统进行试验证明:能够远程控制机器人行走,并可实时的获得机器人所在区域的监控录像,无人操控时具有自动避障功能,各个功能模块正常工作,达到了预期效果。
参考文献
[1]韩国栋.AltiumDesignerWinter09电路设计入门与提高[M].北京:化学工业出版社,2010:21-27.
[2]张兴.电力电子技术[M].北京:科学出版社,2010:58-77.
[3]于少东.基于K60的智能车控制系统设计[J].四川理工学院学报(自然科学版).2014:27(5):1-4.
[4]周兴超.可移动检控机器人的研究[D].辽宁:沈阳理工大学,2009.
[5]谭浩强.C程序设计教程第2版[M].北京:清华大学出版社,2010:256-261.
[6]张伟.单片机原理及应用[M].西安:机械工业出版社,2002:153-202.