EDN China > 设计实例 > 微处理器与DSP > CPU/GPU > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于MSP430的自主式移动机器人设计与实现

2011年11月23日 ?? 收藏0
1 引言

自主式移动机器人是指能根据任务及环境信息做出全局路径规划,可在行进中不断感知局部环境信息并自主作出决策,从而能够安全行驶并到达目标的智能系统。移动机器人可广泛应用于工业、国防以及服务性行业。如自动割草机、洗尘机器人、教育机器人等。本文以MSP430单片机为核心介绍了一种移动机器人的设计雏形,该系统利用各种传感器感知周围环境,并在计算机与单片机之间实现无线通信,从而以无线方式控制移动机器人。

MSP430 是美国TI公司推出的16位高性能系列单片机,其高效16位精简指令结构可以确保任务的快速执行,大多数指令可以在一个时钟周期里完成,且具有高级语言编程能力,配套友好方便的集成开发环境足可加速软件的开发。由于MSP430采用了JTAG技术、FLASH 在线编程技术、BOOT-STRAP 等诸多先进技术,因此具有很高的性价比,并有超低的功耗和丰富的片上外围资源,很适合作为移动设备的微控制器来用。

2 硬件结构

笔者选用的MSP430F1232内含8kB可重复编程快闪存储器、256字节只读存储器(RAM)、多通道脉宽调制?PWM?计时器、看门狗计时器和USART通讯模块等,采用28脚TSSOP封装,因此易于进行小型化设计。MSP430F1232主要用来产生两路PWM信号,以对传感器信息进行处理。同时,笔者还选用电机驱动芯片L293D来驱动直流电机,并利用霍尔元件来检测电机速度;此外还安装了红外避障和光敏传感器以获取环境信息,并利用语音电路ISD25120来进行交互,而通过微控制器的UART经232接口芯片后利用无线模块PTR2000可与PC机端的无线模块进行通讯。图1所示为其系统框图。

系统框图

2.1 PWM脉宽调制

MSP430单片机的Timer_A是一个非常有用的定时器,它可支持同时进行的多种时序控制、多个捕获/比较功能以及多种输出波形,也可以支持上述功能的组合。这里用Timer_A来产生两路PWM信号,并分别接L293D的12EN和34EN,以用来控制两个电机的起停、转向及速度。定时器工作在增计数模式时,可由捕获/比较寄存器CCR0确定周期T,而由CCR1和CCR2产生两路PWM信号。输出单元选择模式2。改变CCR1和CCR2的值,即可改变PWM信号的占空比,从而改变电机转速。

L293D的芯片电压为5V,电机驱动电压VCC2为11.4V?可通过3节3.8V的锂电池提供,5V电压经整流桥后可由稳压器LDO7805提供,MSP430F1232的3.3V供电电压可由LM33稳压输出。L293D与单片机的连接图如图2所示。

L293D与单片机的连接图

2.2 语音电路

语音电路采用120秒的语音芯片ISD25120来实现,该芯片有多种封装,本设计采用小巧的28SOIC封装,它控制简单,其P/T引脚为录放控制端,CE引脚为放音/暂停控制端,PD为RESET信号,这些RE-SET信号端可接单片机的I/O口P2.0、P2.1、P2.2,地址位的最高两位A8和A9均为高时,地址/模式输入端为模式选择,否则为地址输入。在与MSP430F1232连接时,A6、A8、A9接P3.6,A0接P3.7,其余地址引脚接地,这样就可方便地对ISD25120进行地址选段选择或模式控制。

2.3 充电电路

充电电路采用无需控制器的智能快速充电器MAX1758来实现,MAX1758可对1~4节锂电池进行充电,输入电压范围在4~28V,电池充电电压可通过VADJ引脚进行设置,并通过外接电容设置预充和快充的充电时间,同时可通过LED来指示当前的充电状态。充电电源采用24V直流电源。

2.4 无线通信模块

考虑到自主机器人的特点,计算机与机器人的通信采用无线通信方式较为适宜。笔者选用微小型、低功耗、高速率、19.2K无线收发数传MODEM芯片PRT2000来完成计算机与机器的无线通信,该MODEM的工作频率为国际通用的数传频段433MHz,采用FSK调制,可连接到计算机RS232接口。因为没有信号时,PTR2000的串口会输出随机数据,因此需要定义一个简单的指令协议,设计时可加开始字符、校验位、结束标志等,校验采用CRC校验。传输协议定义为:

[开始字符][数据1][数据2][8位校验][结束字符]


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

移动机器人? 单片机? 无线通信?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈