基于单片机智能小车系统设计论文毕设论文 下载本文

内容发布更新时间 : 2024/5/6 16:05:23星期一 下面是文章的全部内容请认真阅读。

基于单片机的智能小车系统设计

种人在驾驶中遇见的问题。

日本大阪大学的研究 大阪大学的Shirai实验室所研制的航位推测系统(Dead Reckoning System)智能小车,这辆智能小车的转向角是依靠电位计与旋转编码器来获取,达到了对智能小车的定位这一效果。

另外,美国麻省理工学院、英国国防部门的研究、斯特拉斯堡实验中心、奔驰公司、美国卡内基梅隆大学在智能车辆研究方面都有着显著的成就。

3.方案设计及论证

3.1总体设计

设计主要是制作一款既能进行远程控制又能智能采集信息并能做出相应反应实现避障功能的小车。智能小车的自动避障功能体现了小车智能化的要求,远程控制很适合当代高端玩具的发展要求,也可成为学习单片机嵌入式控制系统的一个典型实例。

在执行避障时通过超声波传感器件来采集小车周边的信息,并送入控制单元CC2530单片机,经过CC2530处理数据后,根据得到的结果会发出对应的指令,完成小车智能化的特性,也就是说小车本身可以自己控制自己。设计以两个直流电动机为主驱动。在电机驱动这部分,使用的L298电机驱动板 ,L298电机驱动板能同时驱动2个直流电机;避障采用超声波测距避障模块传感器HC-SR04来完成, 传感器HC-SR04在接收到单片机发来的信息后,会发射8个40MHz超声波,然后等待接收反射回来的超声波,计算出相应的信息,发给单片机,单片机接收到传感器HC-SR04发来的信息,进行处理,再对小车做出相应的控制。远程控制使用是CC2530单片机自带的无线传输完成的;控制单元也就是CC2530单片机,通过编程合理有序的将各个模块信号整合在一起并做出相应的反应,实现了智能化控制,智能小车可以属于一个简易的机器人。

根据设计的要求,为了简单明了的达到设计的效果系统以CC2530为核心的结构图,如图3-1所示。

CC2530 单片机 CC2530 单片机 执行远程 控制指令 上 位 机 收集前方信息, 自动避障

图3-1系统的结构框图

4

盐城工学院本科生毕业设计说明书( 2015)

3.2 主控单元方案比较与选择

按照题目要求,控制器主要用于控制电机,处理传感器获取到的前面道路信息与无线接收到的信号,并将处理信号传输给控制器,然后控制器做出相应的处理,实现小车的远程控制和自动避障。

方案一:可以采用51单片机作为设计的控制系统。51单片机发展比较成熟,由于使用的年份比较久远,兼容方面也比较好。用51单片机作为控制在系统控制方面表现出运算功能强大,技术成熟,对于软件编程比较灵活,降低了编程者的难度,多年的发展已经使得51单片机体积很小,在使用的时候不会占用太大的空间,减小了开发物品的体积,同时成本也比较低。

方案二:控制单元采用CC2530单片机作为设计的控制系统。CC2530单片机拥有极快的运算功能,反应速度快,在软件编程方面不同于51单片机,程序相互之间比较紧凑,集成度高,本身自带无线收发功能。CC2530集成单片机、ADC、无线通信模块于一体,由于使用的是单片机与无线通信模块结合的原因,在无线通信方面大大减轻了编写方面难度,数据相互传输方面也能表现出它的优越性,而且由于不用外接无线模块,它的体积与质量都得到了减少。CC2530自身附带的无线传输功能,采用ZigBee这种通信协议虽然传输的数据量不太大,传输率也仅仅停留在低数据上,但是它在传输距离上是很远的,传输的数据比较安全稳定。它是追求远程、稳定,低数据的传输。经过多年的研制,同类产片相比CC2430,CC2530无论是在价格上还是在性能上都变现出让消费者更满意。

考虑到此次设计要用到无线传输,如果使用51单片机系统的控制器作为此次设计的控制器就要外加无线传输模块,这样在以后的焊接和编程方面多有一定的弊端。而CC2530单片机,无线通信模块与一体这样,对于设计来说省去无线传输模块对于整个设计来说使结构更加简单,制作更加容易,编程更加严谨。因此设计选择采用方案一,选取的实物图如图3-2所示。

图3-2 CC2530实物图

5

基于单片机的智能小车系统设计

3.3 电机单元方案比较与选择

方案一:采纳直流电机作为驱动设置。采用直流电机长处主要表现在硬件电路的设计,包括后期的连接与焊接电路板会比较简单。但是它的转速不大容易控制,如果提高额定直流电压的时候,电机转速几乎不会受影响。这类电机用常用一些恒转速的机器,像录音机、播放机或激光唱机等,同时也用于速度可以有很大变化范围的的驱动装置,而直流电机由于缺少各种稳压电路的保护,很容易受到影响,特别是在转速和转矩输出等方面。

方案二:采用直流减速电机。直流减速电机能够提供一个很大的转动力矩,使用起来极其方便,直流减速电机电机有直流电机和它内部装有减速齿轮组组成,因此在使用的时候,对于减速的要求可以很方便实现,通过单片机向控制芯片发送不同的信号,直流减速电机可以轻易的完成前进、后退、停止等操作。

综合以上考虑我们选择方案二的直流减速电机作为智能小车的驱动电机。选取的实物图如图3-3所示。

图3-3 减速电机

3.4 电源单元方案比较与选择

方案一:采用单电源供电,使用单电源同时对单片机和直流电机进行供电,这种方案的优点在于:减少机身的总体重量,操作简单,但其缺点在于:由于控制电机时,电机的停止与启动都会产生很大的电流变化,这个电流会影响大盘单片机正常运行,使单片机不能在一个稳定条件工作,单片机的各方面性能也会受到很大影响。但是配合L298N芯片可以直接可以使电压稳定,电动机电压变化不影响单片机正常使用。但是会出现电压电压达不到要求。

方案二:采用双电源供电,通过两个独立的电源一个对单片机进行供电,一个对直流减速电机进行供电,此方案的优点是,避免了减速电机造成电流波动对单片机的影响,因此单片机的性能基本不会受到影响,电动机的运行反应也会更加的敏捷。它的缺点也因此产生了,使用双电源,可以更好地给减速电压提供动力,但是增大了设计的体积,需要的器件同样也会相应的增加。

6

盐城工学院本科生毕业设计说明书( 2015)

综合以上的优缺点,设计决定采用第二种方案。 3.5 避障单元方案比较与选择

方案一:采用红外线测距。红外线测距可以精确、快速的测到距离,在精确度上表现的非常的好,但是容易受到外界干扰。而且装置在移动的物体上更是不易测量。

方案二:采用的超声波传感器。超声波传感器的原理是:压电陶瓷超声波传感器在电压的变动下会发出超声波,超声波发出后,遇到前方的障碍物后会发生漫反射,因此就会被超声波传感器接上接收部分接收到。精度高,不易受到外界的干扰,操作简单。

由于设计的智能小车是在移动中测得距离然后判断的,红外线表现非常的差。而超声波测距的表现无论在性能上还是在操作上都符合要求,所有选择方案二。

此次设计选用的超声波传感器是HC-SR04,如图3-4所示为HC-SR04超声波传感器的实物图。

图3-4 HC-SR04超声波传感器

4. 硬件系统的设计

4.1 单片机控制模块

CC253x芯片系列中选用的是8051 CPU作为它们的内核,这种内核是一种单周期的8051兼容内核。它存在三种不同的内存访问总线,这三种访问总线分别是CODE/XDATA,DATA 和SFR。单周期访问DATA ,主SRAM和SFR。它还有一个用于调试的调试接口和一个包含18 输入扩展中断单元,为后期使用的时候带来了很大的方便。

2.4-GHzIEEE 802.15.4、ZigBee 和RF4CE 应用的片上系统简称SoC,为了它们提出的解决方案就是CC2530,在无线传输上极具优越性。它能够以非常低的材料成本建立强大的网络节点。CC2530使用RF 收发处于现在领先地位的,它的各方面的功能表现的都非常优良,8051 CPU在采用的是增强型的,在单片机界是非常领先的,因此CC2530这种单片机的系统可以随时可编程闪存,它拥有8-KB RAM ,在很多的方面都表现出强大的性能。CC2530 在闪存的选择上有四种,它们分别是CC2530F32/64/128/256,每一种对应的是32/64/128/256KB的闪存,从而需求的不同选择,使得单片机能够最大化的利用。CC2530 对于不同工作需求可以

7

基于单片机的智能小车系统设计

选择一个最适宜的运行模式,因此在功耗上合理的被控制。它的运算时间很快,在运行时间的转换是非常的短的,也因此确定了CC2530在功耗上是很低的。CC2530F256体现了德州仪器的在单片机领域具有带头作用的 ZigBee协议栈 (Z-Stack?)。

CC2530单片机的最小系统图如图4-1所示。

图4-1 单片机最小系统

4.1.1 时钟电路

为CC2530单片机提供的时钟有两种方法:一种是单片内部时钟方式和一种是外部石英晶振提供的外部时钟方式。

CC2530的晶振,有四个,两个内部,两个外部的。两个内部的是RC晶振,一个是16M一个是32M,两个外部是石英晶振,一个是32.768K一个是32M。石英晶振的特点在于它的精度非常的高,但是会损耗很大的电能,启动起来很慢。RC晶振与石英晶振相比精度就明显偏低,但是它的耗电量却很低,启动的反应速度也是很快的。在上电时,单片机默认的是选择使用内部的两个RC晶振,因为我们要求单片机要快速的启动,正好两个RC晶振启动速度比石英晶振要快很多的原因。外部32.768K石英晶振很少用到,只有在一些特定的地方才能用到,因此再设计单片机的时候对于这个晶振可以选择不接的。外部和内部两个低频的晶振是不可以一起上电的,换句话说这两个晶振我们无法使用它们。

在CC2530数据手册上,SLEEPCMD这个寄存器的从第0位开始计第2位的说明是不正确,这一位的准确的解释,是在CC2430的数据手册中介绍SLEEP寄存器

8