基于单片机的多功能智能机器人设计
扫描二维码
随时随地手机看文章
0 引言
随着控制技术、计算机技术、信息处理技术和传感器技术的发展,智能机器人无论是在工业领域还是消费电子领域都已经扮演了非常重要的角色,已成为人工智能研究和发展的热点之一。在语音控制机器人领域,有研究表明已成功地将连续隐马尔可夫模型(CHMM,Centrifugal Pump based onContinuous Hidden Markov Model)模型应用于定点数字信号处理器(DSP, Digital Signal Processor)上,并实现了对机器人的语音控制。关于传感测距方面,使用多传感器快速测量智能机器人与障碍物之间距离的方法,使机器人不仅具备语音识别功能,而且能实现智能避障。而关于家用室内机器人的应用也有相关研究,文献[4]探究了一种通用并有效的智能移动机器人嵌入式控制平台,并设计了一套能满足要求的低成本的机器人定位系统以及自动充电系统。这里设计的移动音乐机器人即属于智能机器人范畴,该音乐机器人集多种功能于一体,不但有陪人玩耍的娱乐功能还有保护家庭安全的安防功能。
1 总体方案设计
该移动音乐机器人以英飞凌16 位单片机XE162FN 处理器为核心,英飞凌开发的16/32 位微控制器具有高度系统集成、无需外设附加器件及相关软件开销、提供系统安全和故障保护机制等功能。蓝牙(Blue tooth)是一种全球开放性的、低成本的无线通信规范。另外,由于蓝牙具有传输距离远,抗干扰能力强、功耗低、传输速率高的优点,设计采用了蓝牙无线通信技术,设计主体为一轮式移动小车机器人,拥有跟随主人行走、播放音乐、遥控运行、彩灯随拍手频率闪烁以及家庭安防等多项功能。机器人的移动采用驱动直流电机带动轮子转动实现,跟随主人行走的功能由红外发射与接收来判断主人手中的手持设备和移动音乐机器人之间的方位,进而驱动机器人跟随主人行走。无线遥控运行由蓝牙通信实现。在安防功能上,该移动音乐机器人配备了典型的用于检测火灾的烟雾传感器,并且如果检测到有烟雾或者煤气泄露时,本地声音报警以及通过GSM 无线网络控制短信发送模块发送报警短信给指定的手机号码。GSM 网络是在蜂窝系统的基础上发展而来的一种无线数字网络标准,具有网络容量大、业务种类齐全、信号稳定性强、具有较高的保密性和安全性以及灵活的切换处理和自动漫游功能等众多优点。在手持设备的设计上,配备了一块320*240 的触摸屏以实现直观方便的无按键遥控控制,以及一个加速度传感器感知倾斜角度从而控制机器人运动。综上所述,系统的结构框图如图1 和图2 所示。
图1 系统移动机器人部分结构框
图2 系统手持设备部分结构框
系统的各部分之间的数据通讯如图3 所示。
图3 系统各部分间的通讯
2 硬件设计
由于系统的功能较多,硬件部分则主要介绍一些关键部分的硬件设计。
系统的智能跟随功能是通过红外实现的,音乐机器人上的红外接收器感知到红外线时,会追踪红外发射源,感知不到时,会原地旋转重新搜索红外发射源,直至重新定位方向。红外发射源是由10 个红外发射管组成,将10 个红外发射管均匀摆放在一个球体表面,使得红外发射源可以向四面八方辐射红外线,保证音乐机器人更加快速准确地寻找到红外发射源。红外发射管发射的载波频率为38 kHz 占空比为50%的方波。红外的发射和接收电路如图4所示,10.0 连接一个普通I/O 引脚,控制红外线的通断,即接通4 ms,然后关断11 ms,反复进行接通与关断。10.3 连接一路PWM 方波,方波的频率是38 kHz.一共有10 路红外发射管。
红外接收装置采用2 个红外接收器1838,分别安装在音乐机器人的头部和尾部。两个接收器的输出引脚分别连接单片机的10.2 和10.7 引脚。红外接收器1838 对38 kHz 频率的红外线敏感,所以红外接收器1838 可以检测到红外发射源的方位,从而驱动电机向红外发射源的方向前进。
图4 智能跟随红外发送接收电路
拍手彩灯功能的实现主要分为拍手信号的捕获和彩灯的旋转点亮,彩灯的旋转点亮较为简单,但拍手信号捕获上由于拍手产生的信号不是标准的阶跃信号,当用示波器进行波形的观察时,实际上波形在上升沿和下降沿的地方出现比较多的毛刺,也就是说一次拍手信号产生了多次阶跃信号。如果单片机记录2 次上升沿的时间间隔时,由于毛刺的存在,使得单片机错误的将毛刺当做上升沿而捕捉,造成两次上升沿的时间间隔的变小。解决的办法是利用包络检测电路进行包络检测,再通过电压比较器选取合适的比较电压值,从而产生比较理想的阶跃信号,即一次拍手产生一次阶跃信号。
[!--empirenews.page--]
电路利用麦克风采集声音信号,然后利用LM324 对采集来的信号进行比例放大,放大的比例为100 倍,然后接过两个1N5819 和一个104 独石电容进行包络线检测,最后利用LM358 作为电压比较器,利用1 K 电阻和880Ω电阻分压获得比较电压值,其电路如图5 所示。
机器人的移动采用驱动直流电机带动轮子转动实现,即控制直流电机的正反转和速度,系统直流电机驱动芯片采用SGS 公司的L298N,内部有4 通道逻辑驱动电路。用三极管组成H 型平衡桥,驱动功率大,驱动能力强。同时H 型PWM 电路工作在晶体管的饱和状态与截止状态,具有非常高的效率。
图5 拍手信号捕获电路
电机的转速取决于3 个因素:负载、电压和电流。对于一个给定的负载,可以通过脉冲宽度调制的方法来使电机保持稳定的速度。通过改变施加在直流电机上的脉冲宽度,可以增加或减小电机的转速。调整脉冲宽度,即改变占空比,调整电机的速度。驱动板采用6 个高速光耦6N137 实现驱动电路与逻辑电路的隔离,这样可以有效地避免驱动电路与逻辑电路之间的相互干扰。驱动板的电路原理图如图6 所示。
图6 直流电机驱动电路
通过软件编程可以自由改变单片机两路PWM脉冲信号的占空比,电机的A 端连接PWM 脉冲信号,电机的B 端连接单片机的一个I/O 引脚。当这个I/O 引脚置1 时,电流从电机的B 端流向电机的A 端;当这个I/O 引脚置0 时,电流从电机的A 端流向电机的B 端,这样电机就可以改变电机旋转方向,同时控制PWM 脉冲信号的占空比值还可以改变电机旋转速度,实现转向和转速的控制。通过I/O引脚控制电机旋转方向的示意图如图7 所示。
图7 I/O 引脚控制电机旋转示意
[!--empirenews.page--]
3 软件设计
软件设计主要包括上位机控制界面的设计以及单片机的编程。如图8 所示,即为用VB 设计的系统上位机控制界面,就串口开发而言,VB 提供了串口通信控件MSComm,通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通信。
图8 上位机控制界面
单片机的编程则包括电机驱动编程、音乐播放编程、蓝牙收发编程等,这里截取电机驱动部分程序为例,如下所示。
4 结语
这里介绍了基于英飞凌16 位单片机XE162FN的多功能智能机器人的硬件和软件设计。该设计的创新之处在于将智能机器人的娱乐功能和实用的安防功能相结合,有人在家时,它是一个功能强大互动性强的玩具,无人在家时它是家中卫士,时刻监控家中情况,并且可以通过短信方式报告。