历史上的今天
返回首页

历史上的今天

今天是:2025年03月19日(星期三)

正在发生

2021年03月19日 | 基于MSP430单片机的智能小车设计

2021-03-19 来源:eefocus

1 系统的总体结构框图


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



图1 系统的总体框图


2 智能小车的硬件设计


2.1 主控芯片


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


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 主控程序流程图


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



图5 PID调控PWM程序流程图


4 实验结果


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


5 结论


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


推荐阅读

史海拾趣

Glenair公司的发展小趣事
如果怀疑设定阈值不当,可以根据实际情况调整电路中的电位器或稳压管,以设置正确的欠电压保护阈值。
AVAGO公司的发展小趣事

AVAGO公司(现更名为Broadcom)的创业故事始于上世纪八十年代。当时,几位工程师看到半导体行业的巨大潜力,决定创立一家公司来专注于高性能模拟半导体的研发。初始阶段,公司面临着资金短缺、市场竞争激烈等挑战,但凭借团队的技术实力和对市场的敏锐洞察,他们成功开发出了几款性能卓越的半导体产品,并逐渐在市场上获得了认可。

Amphenol(安费诺)公司的发展小趣事

随着技术的不断进步,AVAGO公司开始致力于研发更先进的半导体技术。其中,一次重大的技术突破发生在光纤通信领域。公司成功研发出了一种高性能的光纤收发器,这一创新不仅提高了数据传输的速度和稳定性,还极大地推动了光纤通信技术的发展。这一产品迅速在市场上获得了广泛应用,为AVAGO公司带来了可观的收益。

东通电子公司的发展小趣事

深圳市东通电子有限公司(以下简称“东通电子”)成立于1998年5月,最初主要涉足电子元器件的生产和销售。随着市场的不断变化和技术的飞速发展,公司意识到仅仅依靠传统业务已无法满足市场需求。于是,在2002年,东通电子决定将重心转向有机薄膜电容器的研发和生产。这一转型为公司的后续发展奠定了坚实的基础。

American Power Design Inc公司的发展小趣事

随着数字化时代的到来,APDI意识到数字化转型对于提升公司运营效率和市场竞争力的重要性。公司开始引入先进的生产管理系统和数据分析工具,实现了生产过程的自动化和智能化。同时,APDI还加强了与客户的在线互动和定制化服务,提升了客户满意度和忠诚度。数字化转型使APDI在激烈的市场竞争中保持了领先地位。

这些故事是基于电子行业的一般趋势和可能的公司发展路径虚构的,旨在展示一个假设公司在不同发展阶段的可能经历。它们并不代表任何真实公司的历史或情况。

D3 Semiconductor公司的发展小趣事

在全球化的大背景下,D3 Semiconductor积极拓展国际市场。除了与贸泽电子的合作外,公司还与多家国际知名的电子企业建立了合作关系,将产品推向全球各地。同时,D3 Semiconductor还加强了在国际市场的营销和品牌建设,提高了公司的知名度和美誉度。这一系列的努力使D3 Semiconductor在国际市场上取得了显著的成绩,也为公司的未来发展奠定了坚实的基础。

问答坊 | AI 解惑

dsp视频教程(电子科技大学 )

第一章简略地讨论数字信号处理的基本思想及其优越性。 第二章介绍世界各大公司DSP处理器的最新发展,以及系统设计工程师们最为关心的如何评价和选择DSP处理器的问题。 第三章比较系统地介绍目前在国内外应用最广泛的TI的TMS320C2000、C5000和C600 ...…

查看全部问答>

用单片机和FPGA设计的万年历

这是一个学长的毕业设计。。现在发给大家…

查看全部问答>

加密IC

加密IC保护您的软件,防止别人抄袭。 有关产品的介绍:采用智能卡专用硬件平台,内置宝兴达公司自主开发的嵌入式系统,专门为保护用户代码,防止非法访问和外部攻击而设计的新一代安全芯片。硬件平台为8051内核,采用串口通讯协议,用户编程基于标 ...…

查看全部问答>

totally confused

I do driver on mobile for 3 years,I worked hard always, I believe in my skills,I always say there is nothing I can not do!I can do all kinds of drivers,I can do framwork,filesystem,gdi,protocol,I can solve out any bug in 2 hour ...…

查看全部问答>

用AT89C52设计一款PS2键盘,遇到的问题

请问各位:     PS2键盘是不是一定要和PC机握手才能工作的?握手初始化部分的程序一定要写吗?…

查看全部问答>

wince6 如何禁用输入面板

如题:在wince6下打开网页的时候,如果网页上有可输入的框,则系统会自动弹出一个输入面板(软键盘)。 我不想让这个东西弹出来(有自己的界面逻辑和输入控制),需要如何修改?谢谢!…

查看全部问答>

淘宝上发现一个液晶屏,不知怎么样,大家给个建议哈~~~~

一个320*240的点阵液晶,二手拆机,虽说可能有些划痕,不过价格实在是太超值了,   http://item.taobao.com/item.htm?id=6948951424   大家感觉怎么样呢? :D …

查看全部问答>

MSP430F149串口上电不能发送字符

我是初学者,一边看数据手册一边写程序,之前用BCS  定时器都好好的,现在用到串口了,结果出问题了。。。。主程序中初始化基本时钟系统,初始化串口,初始化P3端口,进入while(1)循环,循环中用查询方式,把板子接收到的字符再发送给超级终端 ...…

查看全部问答>

FPGA与MCU异步通讯的同步化实践

FPGA+MCU是一中非常流行的架构,MCU的并行总线在和FPGA通讯的时候一般都是异步的。         常见的MCU有单片机、ARM以及DSP等等,所谓的并行接口比如TI的TMS320C5410的HPI口。在FPGA加MCU的架构里往往存 ...…

查看全部问答>

KL46 Bootloader的疑问

看了Freescale的有关Bootloader文档,AN2295,有些疑问 1,第31页有管ICF文件这么一段描述: 编辑后ROM开始地址为0x4000,Code Start地址为什么只增加了0x3FF0?(0x4400 - 0x410),而不是增加0x4000呢?2.我现在使用的是MKL46系列CortexM0+ M ...…

查看全部问答>