历史上的今天

今天是:2024年09月10日(星期二)

正在发生

2020年09月10日 | 如何设计一个以MSP430F2274单片机为控制核心的智能小车?

发布者:温柔浪漫 来源: elecfans关键字:MSP430F2274  单片机  控制核心  智能小车 手机看文章 扫描二维码
随时随地手机看文章

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


1 系统的总体结构框图

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

如何设计一个以MSP430F2274单片机为控制核心的智能小车?

图1 系统的总体框图


2 智能小车的硬件设计

2.1 主控芯片

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

如何设计一个以MSP430F2274单片机为控制核心的智能小车?

图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为摄氏温度)

如何设计一个以MSP430F2274单片机为控制核心的智能小车?

此时可得到是否避障的距离为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所示。

如何设计一个以MSP430F2274单片机为控制核心的智能小车?

图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)《w时,采用PID控制调节,能够保证系统的控制精度。


3 软件的设计

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

如何设计一个以MSP430F2274单片机为控制核心的智能小车?

图4 主控程序流程图

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

如何设计一个以MSP430F2274单片机为控制核心的智能小车?

图5 PID调控PWM程序流程图

4 实验结果

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


5 结论

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

关键字:MSP430F2274  单片机  控制核心  智能小车 引用地址:如何设计一个以MSP430F2274单片机为控制核心的智能小车?

上一篇:MSP430系列单片机的时钟问题分析
下一篇:基于MSP430和CC2530的温室大棚数据采集系统设计

推荐阅读

以“AI赋能,驱动未来”为主题的2018中国人工智能峰会(CAIS 2018)在南京国际博览会议中心召开。大会聚焦中国人工智能产业当前的发展与未来,也落实到产业的技术、创新、人才培育、商业应用等多个方面进行探讨与交流。行业公认的,2016年是AI的爆发元年,2017是AI快速成长额一年。而2018年,则是万众期待的AI商业落地之年。因此,本次峰会上,组委会对当...
9月9日,2019中国半导体封装测试技术与市场年会在无锡举行。会上,国家科技重大专项(02)专项专家组总体组组长叶甜春对我国集成电路产业发展提出几点思考。从自身发展到全球格局,中国IC产业都需要再定位。1、“从无到有”进行产业链布局后,中国需要“升级版的发展战略”,不能再一味追求建厂扩产了;2、下阶段战略是“以产品为中心,以行业解决方案为突...
 作为工业自动化、智能化的显著特征,工业机器人的发展与应用具有深远意义。如今,工业机器人依然是机器人领域的“顶梁柱”,占据了多数市场,但是不可否认的是,以医疗机器人、配送机器人、教育机器人、餐饮机器人等为代表的服务机器人正快速兴起,市场热度持续上涨。 近日,据中国电子学会数据,中国服务机器人市场已占全球市场25%以上,2020年我国...
瑞士联邦材料科学与技术实验室(Empa)的一支研究团队,刚刚展示了一种薄而柔韧的薄膜材料,有望让绿色光伏能源迎来新的可能、同时降低太阳能发电板的生产成本。具体说来是,经历数年时间的研发,Empa 科学家们终于打造出了这种由铜(Cu)、铟(In)、镓(Ga)、硒(Se)制成的 CIGS 柔性光伏面板,并且创下了 21.4% 的转化纪录。New Atlas 指出,C...

史海拾趣

问答坊 | AI 解惑

发个单片机指令机

我是新手,第一次发错了…

查看全部问答∨

求教放大器的放大倍数

大家好,小弟想请教各位大侠一个问题:电压并联负反馈电路为什么输出还和芯片的工作电压有关系啊,一般输出不会大于工作电压,我写论文需要放大倍数的公式啊。附件中这个电路,若输入为1V,如果5V供电,就输出-3.6V,如果是18V供电,就输出-16.5V, ...…

查看全部问答∨

Vxworks如何设定键盘无缓冲输入

我现在的firmware是键盘输入完后敲回车输入字符串才提交给系统。 可是我要做快捷键响应,要求每敲一个键就马上提交给系统,并且不 在屏幕上回显,类似TC的getch()函数,我应该 如何做,当我用ioctl(fd, FIORBUFSET, 0)把Read的缓冲区关闭 后 ...…

查看全部问答∨

几个uc/os-II的问题(实在找不到答案)

uc/os-II中任务调度是分时的还是占先式? uc/os-II中设计一个任务需要考虑哪些问题? uc/os-II中任务通信有哪些方式?…

查看全部问答∨

能用PPC2003模拟器下东西到CPU为PXA270的PDA吗

我下载时老是提示 The ARM Unknow CPU does not support configuration Test -Win32(WCE AEMV4)Debug!  Executable will not run on device. 我的PDA  CPU为PXA270 多谢各位帮忙…

查看全部问答∨

获取系统当前内存使用量问题

有哪位高手知道获取系统内存当前使用量的函数以及如何获取某一个应用程序所占的内存大小呢?(EVC)…

查看全部问答∨

avr单片机电子书

求AVR单片机原理电子书,谢谢啊。有的请上传或Email:879014874@qq.com.…

查看全部问答∨

运营商有效整合的一些思考

     随着通信业的发展,由原来的邮电分分合合到现在的移动,联通,电信,整合后的三家企业中,可能移动变动不大,因为它并购了铁通,一个市场占有率很小的企业,移动本来核心员工也少,所以凭借它在2G市场上得优势,基本上是 ...…

查看全部问答∨

DSP flash被锁

由于程序问题,程序写入了密码区,导致flash被锁然后查编码,解码刚开始两块板子都解码成功,但是在擦除是又被锁了一块板子解了两次终于擦除成功但另外一块再解码,擦除到一半又被锁又解码,擦除到一半被锁现在解码都解不了了求助高手是什么原因, ...…

查看全部问答∨

步进电机在点胶机应用中的优点

 随着工业智能化的迅速推进,代替人工进行点胶作业的自动点胶机诞生了。自动点胶机的发明以及广泛应用,大大的节省了人力成本,实现了自动化的同时还实现了高精度,对提高产品质量有着极其重大的意义。今天我们将就点胶机的设计艺术来与大家 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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