基于MSP430的自动避让小车的设计与实现

发布者:Aq123456258最新更新时间:2012-05-05 来源: 现代电子技术 关键字:MSP430  nRF905  超声波测距  红外遁迹  模糊控制 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    机器人竞赛是近些年国际上开展的一项高科技活动,它集高新技术、娱乐和竞赛于一体,受到众多学者的广泛关注和极大兴趣。机器人小车子系统其性能和运动时的避让控制是自动控制系统中重要的处理技术之一,也是整个系统中至关重要的部分。本文设计了一个基于低功耗单片机MSP430F149的智能自动避让小车控制系统,系统由两个基本相同的小车为主要载体,搭配对应的无线通讯模块、电机驱动模块、循迹模块以及超声波测距模块。系统控制方案主要通过nrf905无线通信模块来实现甲,乙两小车的呼叫、应答信号。通过超声波模块来确定甲乙两小车的相互位置关系。利用红外遁迹模块来确保两小车在规定的车道里面行驶以及即时确定小车已经到达的位置来调整小车自身车位。设计方法上主要是通过光栅计数匹配来实现小车的精确直线行驶,通过左右车轮反转的方式来实现小车小范围内快速精确转向,以及可调占
空比控制小车无级变速,并且采用了模糊算法来实时响应小车循迹模块信号,从而保证了小车快速向前行驶,而且不超出边界。

1 总体方案设计与比较
    方案一:精确控制甲乙两车的行走距离和转弯角度,不用其它的循迹或通信等模块对小车的轨迹进行修正,仅按照要求对小车路径进行模拟。
    方案二:在方案一的基础上加入nRF905无线通信模块,后面的小车通过无线通信跟随前面的小车,避免两车相撞,前面的小车需要在程序员设定的路径下精确行驶。
     方案三:在方案二的基础上加入循迹和超声波模块,充分利用车道的边沿和起点、终点、转向等标志线,来精确定位小车,同时利用超声波模块来探测甲乙两车的相对距离,确保小车不撞车。
     论证:通过上述三种方案的测试与比较,方案一硬件和编程算法相对比较简单但是实践起来繁琐且适应能力差。方案二中使用无线通信模块来控制整个过程,适应能力有所提高,但仍然无法全面地满足题目要求。方案三加入了多种反馈模块,对外界信息采集能力强,能较为全面地完成题目要求。权衡利弊,选择方案三。

2 理论分析与计算
2.1 信号检测与控制
    (1)红外循迹模块。本系统采用3.3V红外对管,利用木板和黑胶带对红外光的不同反射特性来(木板反光,黑胶带吸光)获得循迹信号,再经过放大器LM358组成的电压比较器来获得对应的高低电平信号送给430单片机检测。
    (2)超声波测距模块。本系统采用HC-SR04的超声波模块,由单片机产生一个大于10 μs的高电平触发模块进行测距,利用超声波信号的发送与接收时间差来计算距离。
    (3)小车精确控制。通过光栅编码器返回的数据对电机进行反馈调节,利甩PWM波的占空比实现电机调速,从而保证小车精确运动。
2.1 两车之间的通信方式
    系统主要是利用nRF905无线模块来进行通信,利用车道已有的转弯标志和超车标志线,在对应的位置通过红外循迹模块获得信号之后,利用nRF905无线模块把信息发给另外一辆小车。通过这种信息的交流来调节两辆小车的位置,确定下一阶段的行驶方式。
2.2 节能方式
    系统采用了德州仪器公司的低功耗单片机MSP430F149,内部功能模块多、资源丰富,最为突出的是此单片机采用3.3V供电,有掉电、待机模式,这使得其在功耗方面有极大的减少。在低功耗、小型控制系统中有着突出的优势和应用市场。
    此外小车在正常工作过程中,并不完全启动各个模块,只有得到相应的触发信号之后,该模块才会被启动,从而降低各个模块的功耗。另外nRF905无线模块可以设置空闲模式或关机模式,关机模式时nRF905工作电流最小只有25 μA;空闲模式下nRF905模块只有部分晶体振荡器工作,有利于减小工作电流。

3 硬件电路设计
3.1 红外循迹模块电路
    主要有一对3.3V供电的红外对管和一个LM358运算放大器组成。接收管的输出信号输入由LM358组成的电压比较器电路,当红外光线反射回来时为高电平,否则为低电平,具体电路如图1所示。

a.JPG[page]

3.2 电机驱动模块电路
    L298的12个H桥下侧桥晶体管的发射极连在一起,之后通过控制IN1、IN2,当IN1高电平,IN2低电平,使能端ENA输入PWM波时电机正转,反之电机反转,通过改变PWM占空比改变转速。L298构成的电机驱动电路如图2所示。

b.JPG


3.3 电源模块
    整个系统由一个左右的6800mAh/12.8V的锂电池供电,主要分为两个分支往下一级模块供电,一路是经过L7805稳压到5V给电机驱动模块L298N的输入级供电。再经过lm1117稳压为3.3V给MSP430最小系统、红外循迹、nRF无线模块供电。另外一路则通过由LM2598组成电压可调DC-DC模块给L298N的输出级供电来驱动电机,如图3所示。
3.4 系统控制示意图
 

c.JPG


4 软件设计
    传感器安装如图5所示,安放在小车头部,该尺寸设计是经过大量的实验与计算总结得出的。内侧的两个传感器与中间的间距9cm,正好小于超车道区域的虚线,便于识别超车区外侧的两个传感器与内侧的间距5cm,该距离便于边界线的检测。

d.JPG

[page]

    弯道矫正原理图如图6所示,通过转弯标志线进行自我定位,在转弯过程中进行方向矫正。

e.JPG


    通过软件实现模拟凹透镜散射原理,将不平行于行驶轴线方向的小车进行矫正,图中在有效行驶区域内部的小车都能矫正到直线L1与直线L2之间,理论上与轴线平行。经过实验得出,该方案对偏转角度在正负30°以内的小车矫正效果较为明显。在直线行驶区域内,通过边界线的反馈保证小车不超出边界且在有效行驶区域内进入弯道。

5 测试方法及测试结果
5.1 测试仪器
    秒表、卷尺
5.2 测试环境和方法
    实验室、单个任务多次测量

f.JPG


5.3 测试结果分析
     经过现场测试,甲乙两车速度特性基本一致,交替领跑有速度加快的趋势,系统在交替领跑过程中趋于稳定,并未放大误差。

6 结论
    本系统从方案制定,到系统硬件搭建以及算法的采用上都进行了精心设计和论证。测试结果表明自动避让小车控制系统反映速度快、运行稳定,避让及时。

关键字:MSP430  nRF905  超声波测距  红外遁迹  模糊控制 引用地址:基于MSP430的自动避让小车的设计与实现

上一篇:MSP430单片机在电力系统中的应用设计
下一篇:MSP430单片机在医疗设备行业的应用

推荐阅读最新更新时间:2024-03-16 12:58

MSP430学习总结——定时器
一、MSP430定时器是什么? 和STM32类似,MSP430定时器也有定时、输入捕获、输出比较以及产生PWM等功能,下面就来一一介绍这些功能以及怎么去使用。 首先,我们应该知道MSP430的定时器模式分为比较模式和捕获模式,个人理解比较模式就是定时中断、计时等一些常规的功能,捕获模式是PWM输出,捕获外部信号,用于测量时间和脉冲数量等。MSP430默认为比较模式。 MSP430的TA1的寄存器如下图 二、MSP定时器的功能 1. 定时器中断 定时器中断就是间隔一定的时间,执行一次中断服务函数,我们通过一段程序来上手定时器中断,毕竟例程也是学习单片机的一大工具。 WDTCTL = WDTPW + WDTHOLD
[单片机]
<font color='red'>MSP430</font>学习总结——定时器
MSP430系统复位和初始化
MSP430的复位信号有两种,分别是上电复位信号POR和上电清除信号PUC。二者的区别主要在于触发信号不同。 POR是上电复位信号,它只在以下3种情况下发生:在芯片上电;RST/NMI设置成复位模式,在RST/NMI引脚上出现低电平复位信号;电源电压监测片上外设模块SVS的POR使能位PORON=1时,并监测到低压电压状态发生。 掉电复位电路BOR会在芯片上电或掉电的过程中监测电源电压,并产生POR信号。-如图3-10所示,芯片上电过程中,当电源电压VCC超过VCC(start)后,BOR电路产生POR信号,直到Vcc超过V(B_IT+),然后再经过延时t(BOR)后,POR信号撤销。如果VCC电压上升速率较慢,t(BOR
[单片机]
<font color='red'>MSP430</font>系统复位和初始化
msp430g2553-串口调试测试程序
/****************************************************************************** 本程序是单片机 MSP430G2553 P1.2----------------------------UCA0TXD 串口发送端 P1.1----------------------------UCA0RXD 串口接受端 P1.0---------------------------- 红灯指示 P1.6---------------------------- 绿灯指示 利用主辅时钟为 1MHZ ,串口波特率 9600 , 波特率: 1000000/9600=104 UC
[单片机]
基于MSP430的无线传感器网络设计
引言   传感测试技术正朝着多功能化、微型化、智能化、网络化、无线化的方向发展。自组织无线传感器网络(Self Organizing Wireless Sensor Networks)作为新兴技术,是目前国外研究的热点,其在军事、环境、健康、家庭、商业、空间探索和灾难拯救等领域展现出广阔的应用前景。早在2003年美国自然科学基金委员会已经斥巨资来支持这方面的研究,并且出现了一些致力于无线传感器网络的公司,其中Crossbow公司已推出了Mica系列传感器网络产品。国内很多大学现已经开展相关领域的研究,但大部分工作仍处在自组织无线网络协议性能仿真和硬件节点小规模实验设计阶段。本文就国防科技大学传感器教研室开展可应用于环境监测方面无线
[网络通信]
MSP430实现简单的对临界资源的冲突访问
实现对临界资源的冲突访问 __monitor int get_lock(void) { if (the_lock == 0) { /* Success, we managed to lock the lock. */ the_lock = 1; return 1; } else { /* Failure, someone else has locked the lock. */ return 0; } } /* release_lock -- Unlock the lock. */ __monitor void release_lock(void) { the_lock = 0; } void my_pr
[单片机]
12864液晶的超声波测距与语音播报电路及程序
器件清单: 单片机 瓷片电容0.1uf 电解电容10uf 电解电容220uf 电解电容4.7uf 0.001uf(瓷片电容) 22PF(瓷片电容) LED小灯(5mm) 语音芯片 12864液晶 喇叭 咪头(话筒)六脚插件(插针)四脚插件(插针)三脚插件(插针) 电阻 1k 电位器1k 独立按键(两脚) 晶振。 代码如下:代码还需要调试 #include reg52.h #include intrins.h //超声波引脚定义 sbit RX = P1 ^ 1; //接超声波模块的Echo引脚 sbit TX = P1 ^ 2; //接超声
[单片机]
12864液晶的<font color='red'>超声波测距</font>与语音播报电路及程序
TM1650+msp430单片机 调试及遇到问题的总结
最近做了用到三个tm1650及msp430f149项目,其中还涉及到其他的一大堆东西,在这里就不一一说了,这里主要分享一下TM1650调试过程中遇到的问题和解决的办法。仅供大家参考。 首先,先描述一下问题,在调试这个项目之初,先用在某宝买的tm1650带按键和数码管显示的模块,调程序的时候,没有遇到任何问题,非常顺利。用了I2C总线,也很顺利。然后就去自己画了合适尺寸的PCB,买元件,焊接。和电路板连接,上电。 然而神奇的事情发生了,新做的tm1650板子不亮。如何都不亮,又连接了某宝的模块,分分钟正常亮起来。 搞的我有点怀疑自己的电路和焊接,本人焊接水平本来就一般。 然后疯狂的检查电路板的焊接有没有问题,左查右查,一直找不到
[单片机]
MSP430(F149)学习笔记——红外接收
用MSP430(F149)做红外接收比发送更为简单,我采用的红外传感器是HS0038B,这个原件在接收到38K红外时输出低电平,否则输出高电平,因此,我们就可以从这点开始编写程序了,由于HS0038B的电路图很多,我这里就不贴出来了,下面是具体的代码: #include msp430x14x.h #include delay.h static unsigned short addr = 0x00; static unsigned char ir_rx_buf ; static unsigned char ir_rx_w_offset = 0; static unsigned char ir_rx_r_offset = 0;
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved