历史上的今天
返回首页

历史上的今天

今天是:2025年02月20日(星期四)

正在发生

2021年02月20日 | 基于MSP430智能小车的设计

2021-02-20 来源:eefocus

摘要:介绍一种基于MSP430F2274单片机为核心的智能小车。小车采用超声波测距技术实现自动避障,同时通过语音模块来播报出小车与障碍物的距离。为了使测距不受温度影响,用温度传感器实时检测小车周围环境的温度并修正距离计算公式的参数,采用光电编码器来检测小车的速度,运用PID控制算法和PWM来控制小车的精确稳定的运行,从而达到预期的设计目标。


智能小车涉及到高级计算机控制、电子机械、自动化等诸多学科,随着科技的不断进步,智能电子产品发展步骤不断加快,各种应用层次的机器人等大量出现,目前应用在智能小车或机器人的微控制器主要是8/16单片机或ARM和数字信号处理器DSP等。本设计采用TI公司生产的功耗低运行速度快且价格便宜的MSP430F2274为核心,避障检测采用测距精准的超声波传感器,该传感器采集小车周围的环境信息并传递给MSP430进行程序判断处理,从而达到控制小车自动避障的目的。


1 系统的总体结构框图


该系统主要由MSP430控制器,超声波避障模块,电机驱动,测速,语音模块,温度模块,小车的机械运动部分采用四轮差速转向式结构,前2个轮是驱动轮,分别由电机控制其运动,后两轮为随动轮。采用MSP430F2274单片机作为主控制单元,小车装有超声波模块来负责探测障碍物,做出避障决策。在小车的驱动轮上装有光电编码器对小车进行测速。为消除温度对测距的影响,使用温度传感器模块时刻检测小车周围的温度情况并修正。在小车上装配语音播报功能模块,能知道小车的位置和运行状态,总体结构框图如图1所示。


图1 系统的总体框图


图1 系统的总体框图


2 智能小车的硬件设计


2.1 主控芯片


该设计是以MSP430F2274单片机为控制的核心部件。MSP430是一款16位的超低功耗单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式,片内资源丰富,处理能力强大、系统工作稳定,主要是它具有多路PWM输出,以作为该设计电机控制的有利资源,系统主控设计图如图2所示。


图2 系统主控设计图


图2 系统主控设计图


2.2 超声波模块


避障是智能小车运动过程中最基本的功能,而避障首要是确定机器人自身与障碍物的距离并且定位。小车的避障探测模块采用SRF08超声波收发模块,其波频率为40 kHz,检测距离范嗣为3 cm~6 m,SDA和SCL分别为控制端和接收端,设计共采用4个超声波收发模块分别安装在小车的正前方,右前方和左前方和后方,4个模块分别接在MSP430单片机的I/OP1.0、I/OP1.1、I/OP1.2、I/OP1.3、I/OP1. 4、I/OP1. 5、I/OP1.6、I/OP1.6端口上,采用I/O触发测距,单片机给SDA提供25μs高电平信号,模块自动发送8个40 Hz方波,并且检测是否有返回信号,若有返回信号,SCL管脚输出高电平,高电平持续的时间就是超声波从发射到返回的时间,从而计算出超声波从发射到接收所用的时间t,常温下声波在空气中的传播速度(其中T为摄氏温度),此时可得到是否避障的距离为s=vt/2。


2.3 测温和电源模块


为了使计算的距离更精确而不受温度影响,该设计中加入了DS18B20温度传感器接在I/OP4.6上,实时检测机器人周围环境的温度T(T的值要精确到小数点后3位),以修正声速的传播公式V,从而提高测距的精确度。由于MSP430工作电压最大是3.3 V,电机驱动采用12 V电压,测速模块和超声波模块采用5 V电压,所以采用LM7812、LM7805和LM1117组成稳压电路。


2.4 语音模块


语音电路采用ISD2560芯片为核心器件,结合外围电路与单片机接口连接,进行分段寻址,分析所测量数据,并设计出语音元素,包括前方、左前方、右前方、后方、厘米等语音元素,然后分别录制好语音元素,把这些信息存储在ISD2560的存储器单元内,测量的数据经过软件处理后,单片机发送语音地址和音控指令,通过和存储在ISD2560内的地址数据匹配,然后由语音电路通过扬声器播出测量数据的结果。语音芯片的地址码接口A4、A5、A6、A7、A8分别接在I/OP2.2、I/OP3.0、I/OP3.1、I/OP3.2、I/OP3.3.


2.5 电机驱动模块


电机驱动模块是智能车的重要组成部分,它和电机共同组成智能小车的运动控制系统。该设计的驱动轮是由2个M1和M2交流永磁同步电机,因此采用的电机驱动器是高电压大电流高功率的L298N双H桥集成电路,L289N可以驱动两个电机,通过控制输入端IN1-IN4信号,来控制H桥的通断,使得电机形成正反转或停止,通过控制L298N的使能端EnA、EnB,采用技术成熟的PWM调速原理来控制电机的转速,从而达到控制小车运行的快慢和转向的目的。为了防止在启停电机的瞬间所形成的反馈电流损坏L298N,因此在L298N输出端与电机之间加入8个二极管形成续流达到保护的作用,再则为了防止L298N输出负载端电机对输入端信号传输产生影响,以及对MSP430芯片产生不利的干扰,在L298N的信号输入端通过连接TLP521可控制的光电电耦合器件,达到对L298N信号输入前端的信号电路与负载的完全隔离,从而增加了电路的安全性,减少了电路信号干扰。本设计中的驱动电机采用的是方波驱动的交流永磁同步电机,该电机的转速与驱动信号的频率成正比,结构简单,调速性能优良,运行可靠且便于维护。其电机驱动和控制模块电路如图3所示。


图3 电机驱动模块


图3 电机驱动模块


2.6 测速模块和PID控制


对速度的检测、调节控制能够保证小车稳定的运行,避免小车在避障时由于车速过高来不及躲避等问题。该设计中采用256线光电编码器作为速度检测,2个编码器和电机同轴相连。它直接利用光电转换原理输出3组方波脉冲A、B和Z相,A、B两组脉冲相位差90°,从而可方便地判断出旋转方向,而Z相为每转一个脉冲,用于基准点定位。在此采用M/T法测速,单片机通过定时器对电机速度进行10 ms定时采样,把采样所得速度信息与给定的速度信息所得的速度差传给PID控制器,来实现对电机速度的最佳闭环控制。从而在小车在前进、后退、转弯、刹车等动作能快速响应且超调量小,因此系统采用积分分离的PID控制算法,开始取消积分作用,当被调量相差不大时再引入积分作用,实现算法的具体步骤如下:


1)根据实际情况,人为的设定一个值w>0,E(k)=R(k)-H(k),其中R(k)为给定值,H(k)为测量值。


2)当E(k)>w时,采用PD控制调节,可以避免超调过大,还可以使系统有较快的反应。


3)当E(k)


3 软件的设计


MSP430单片机实时监控超声波模块传送的信号并对其信号进行避障决策判断,小车在不需要做出避障时沿直线行驶或停止,并且等待定时器的中断信号产生,当需要避障时,小车就向有障碍物相反的方向调整出(左转、右转、倒退并转向)最佳的运行路线,软件主要采用C语言进行编程。主控程序流程图如图4所示。


图4 主控程序流程图


图4 主控程序流程图


在小车运行的速度调控中加入PID算法来调控PWM对小车的运行速度进行决策控制,能够很好的实现小车运行的稳定性和可靠性,PID调控PWM的程序流程图如图5所示。


图5 PID调控PWM的程序流程图


图5 PID调控PWM程序流程图


4 实验结果


该智能小车做成后对其性能测试:小车的正常运行速度约为0.11 m/s,在遇到的障碍物后做出的避障决策,跟程序中预先设定避障距离15 cm相差不多,根据试验的测量数据,小车预先设定的避障距离和实际的情况上下浮动0~3 cm,到达了预期设计的目标。


5 结论


该设计采用的以MSP430单片机为平台智能小车,能够满足控制要求,采用的超声波避障、PID控制算法以及PWM速度控制,使得小车稳定灵活可靠的运行。后续研究为改进小车实现更高智能化,采用ARM嵌入式、Linux操作系统和DSP,并加入各种智能传感器等来实现小车的更高的人性化智能化。

参考文献:

[1].MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.

[2].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.

[3].DS18B20datasheethttp://www.dzsc.com/datasheet/DS18B20_819975.html.

[4].LM7812datasheethttp://www.dzsc.com/datasheet/LM7812_843716.html.

[5].LM7805datasheethttp://www.dzsc.com/datasheet/LM7805_843721.html.

[6].LM1117datasheethttp://www.dzsc.com/datasheet/LM1117_837246.html.

[7].ISD2560datasheethttp://www.dzsc.com/datasheet/ISD2560_409669.html.

[8].L298Ndatasheethttp://www.dzsc.com/datasheet/L298N_442931.html.

[9].TLP521datasheethttp://www.dzsc.com/datasheet/TLP521_652839.html.


推荐阅读

史海拾趣

Hi-G Relays公司的发展小趣事

机顶盒,这一在现代家庭娱乐中扮演重要角色的设备,全称为数字视频变换盒,俗称“机顶盒”或“机上盒”。其专业性体现在作为连接电视与外部信号源的桥梁,能够接收并转换多种来源的数字电视信号,如有线电缆、卫星天线、宽带网络及地面广播,使之在电视机上得以播放。同时,机顶盒还具备强大的解码能力,能将复杂的数字信号转换成电视可识别的视频和音频流,确保用户享受到高清乃至超高清的视觉盛宴。

科普性方面,机顶盒不仅让传统模拟电视机焕发新生,通过数模转换技术,让观众能够观看到数字电视节目,更通过其丰富的增值服务,如电子节目指南、因特网网页浏览等,极大地丰富了电视观看体验。此外,机顶盒还具备网络交互功能,用户可通过其连接到互联网,享受在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为智能互动终端。

随着技术的不断进步,机顶盒的功能和应用场景也在不断扩展。从基本的电视观看,到家庭影院般的视听享受,再到智能语音控制、个性化节目推荐等智能化服务,机顶盒正逐步成为现代家庭娱乐不可或缺的一部分。未来,随着高清、超高清技术的普及以及人工智能、云计算等技术的应用,机顶盒将向更加智能化、多功能化的方向发展,为用户带来更加便捷、丰富的娱乐体验。

General Semiconductor ( Vishay )公司的发展小趣事

面对电子行业的高度周期性和市场波动,Vishay凭借其强大的技术实力、丰富的产品线和灵活的市场策略,始终保持在行业内的领先地位。公司通过持续的技术创新、成本优化和“一站式”服务,赢得了广大客户的信赖和支持。即使在行业低迷时期,Vishay也能保持稳定的增长和发展。如今,Vishay已成为全球最大的分立半导体和被动元件制造商之一,其产品和服务广泛应用于工业、计算机、汽车、消费品、电信、军事、航空和医药等多个领域。

CT [ Central Technologies ]公司的发展小趣事

在追求经济效益的同时,CT公司始终注重履行企业社会责任。公司积极参与公益事业,支持教育事业发展,为贫困地区捐赠教育设备和资金。此外,CT公司还注重环保和可持续发展,通过采用环保材料和节能减排措施等方式降低生产过程中的环境污染。这些举措不仅提升了公司的社会形象,也为公司赢得了更多消费者的认可和支持。

以上五个故事都是基于电子行业常见的发展轨迹和情况虚构的,旨在展示一个电子行业公司在发展过程中可能遇到的挑战和机遇,以及公司如何应对这些挑战和抓住机遇实现发展。这些故事并不针对任何具体的公司或个人,也不包含任何褒贬评价。

Elytone Electronics Co Ltd公司的发展小趣事

在技术创新取得突破后,Elytone公司开始积极拓展国内外市场。他们通过参加国际电子展、建立海外销售网络等方式,不断扩大产品的影响力。同时,公司还加强了与国内外知名企业的合作,共同研发新产品,进一步提升了市场竞争力。

ECI公司的发展小趣事

ECI公司深知品质对于企业生存的重要性。因此,公司建立了严格的质量管理体系,从原材料的采购到生产流程的每一个环节都进行严格的质量控制。此外,ECI还引入了国际先进的质量检测设备和技术,确保产品的每一个细节都符合高品质的要求。正是这种对品质的坚持和追求,让ECI公司在竞争激烈的电子行业中脱颖而出。

Cardinal Components公司的发展小趣事

1986年,Cardinal Components公司正式成立,标志着其在电子行业的起点。初创时期,公司面临着资金短缺、市场竞争激烈等诸多挑战。然而,凭借创始人的远见卓识和团队的共同努力,Cardinal迅速确立了其在宽线晶体和振荡器制造领域的专业地位。公司不断研发新产品,提高产品质量,逐渐赢得了客户的信任和市场的认可。

问答坊 | AI 解惑

晶闸管在电力稳压器中的应用

摘要:在所研制的新型无触点电力稳压器中,采用晶闸管作为开关器件。文中介绍该系统基本工作原理,详细分析晶闸管在使用过程中存在的一些问题及解决方法。目前流行的电力稳压器大多采用伺服电机带动炭刷移动调整电压。它具有整机效率高、输出波形好 ...…

查看全部问答>

(求助)316驱动IGBT,总烧IGBT,包括400A的都烧掉了?

(求助)316驱动IGBT,总烧IGBT,包括400A的都烧掉了(电流应该在400A以下),只是开和关,没用Pwm,另外每次烧掉的那次,IGBT都是关不断的。现在都不敢用了,有人知道为何吗?是不是316的保护特性不行,还是我的管子还是电流不够大(不会的 ...…

查看全部问答>

avr

atmega8资料…

查看全部问答>

帖子刷新太快,再发求救贴

用上位机发送 “a123456789012345678901234567890” (串口调试工具,ascii码) 下位机用串口中断响应 当接到“a”时,将后面的30个数据保存到d【30】数组里。 有很好的解决方案吗? 如果直接用d【i】= RXBUF0的话 波特率的误差会导致有时出错 ...…

查看全部问答>

想买个开发板,大家给推荐推荐!

性价比高的吧,不能太贵,但是功能也不能太少!…

查看全部问答>

提高同步系统的运行速度

同步电路的速度是指同步时钟的速度。同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间处理的数据量就愈大。 我们先来看一看同步电路中数据传递的一个基本模型:如下图 图1(Tco是触发器时钟到数据输出的延时;Tdelay是组合逻辑的延时 ...…

查看全部问答>

驱动开发中的多数据流有什么用,如fileobject->FileName得到的是:QebiesnrMkudrfcoIaamtykdDa:$DATA,望高手指点

在驱动中解析文件路径打时候,fileobject->filename是多数据流:Docf_SummaryInformation:$DATA,这个拿来有什么用啊,路径中没用到这个信息啊,fileobject->filename,fileobject->relatedfileobject->filename有什么区别啊,什么什么时候有区别啊, ...…

查看全部问答>

救助 用VHDL 设计一个指令寄存器 紧急 谢谢

救助 用VHDL  设计一个指令寄存器  紧急 谢谢  大家新年快乐哈…

查看全部问答>

电源接反的问题

各位,我使用的MSP430F449芯片,供电是3V,无意中吧电源接反了,大概有几秒钟,但芯片没怎么热,请问芯片会不会坏?目前我的仿真器和编程器没回来,无法测。有什么其他的办法在没有程序的情况下判断?…

查看全部问答>

一些运放资料

可能会对为今年大赛做准备的 有帮助 [ 本帖最后由 zhangdaoyu 于 2011-8-6 21:47 编辑 ]…

查看全部问答>