基于单片机的多功能智能小车设计

第一章 绪论

1.1 课题背景和意义

随着计算机、微电子、信息技术的快速发展,智能化技术的发展速度越来越快,智能化与人们生活的联系也越来越紧密,智能化是未来社会发展的必然趋势。智能小车实际上就是一个可以自由移动的智能机器人,比较适合在人们无法工作的地方工作,也可取代人们完成一些复杂、危险性质的工作。作为现代自动控制领域内十分伟大的一项发明智能小车、机器人已经和人们的生产生活紧密的联系在了一起。

智能小车,是一个包含周围环境探测、识别反应、自动控制等功能于一体的综合系统,它综合地运用了微控制器、传感、遥控、机械结构、电子基础、自动控制等多学科的知识。智能小车是一个复杂而又庞大的系统,其内部有许多块控制芯片作为其控制核心,多种传感器来采集外部环境信息并将接收到的信息传给主控制器,然后由控制器来控制其各个模块执行相应的动作。智能小车由于成本较低,甚至还能够胜任一些人们都无法胜任的工作,它已逐步深入到工业、农业以及社会生活的各个方面。本课题设计的智能小车中用到的遥控技术、显示技术、单片机控制系统、传感技术、自动避障技术已广泛应用于工农业生产、国防军事、医疗卫生、宇宙探测等诸多领域,特别是其在军事侦察、反恐、防暴、防核化及污染等危险和恶劣环境中有着广阔的应用前景,由此可见其有着及其重要的研究意义。

1.2 课题研究现状和发展趋势

  1.2.1 研究现状

智能小车、机器人的发展研究从上世纪60年代至今已有几十年的历史,自从上世纪60年代末期,第一台能够自主移动机器人问世以后,经过几十年的发展智能机器人已经从最初的示教模仿机器人发展到现在的具有感知功能的智能机器人,在技术上取得了很大的进步许多国家都对智能机器人进行了大量的研究。由于各国的科研实力不同,其水平也有高低,其中美国和日本在该项技术的研究处于领先地位。

法国提出了让智能机器人具有自动认知功能的一项科技计划,使其能够在复杂的环境中通过自主感知判断来自动执行各种动作。美国发明的智能机器人,可以帮助人们送信件、食品等生活用品,还可以牵引吸尘器来打扫卫生。日本目前已经研制成功的人形机器人,其可以模仿人们的各种面部表情而且非常逼真。近年来发明的的手术机器人已经广泛的应用在实际医疗手术中而且稳定性好,安全性高。我国的智能小车、机器人的研究已经有三十多年的历史,特别是在军事领域的应用方面已经取得了较大的成果,已经相继研制出了复杂的智能机器人,危险作业机器人、仿人机器人、复合结构移动机器人等。国内的许多高校也都在不停的进行着这方面的研究而且也有了层出不穷的成果,例如中科院研制的能够和人对话的机器人、上海交大研制的具有较强越障能力的仿人关节结构的机器人等。与此同时,我国也开展了智能移动机器人基础理论研究,在某些方面取得了世界领先的成果,正在逐渐缩小与发达国家的差距。

  1.2.2 发展趋势

随着各方面技术的不断进步与完善,各个国家对于智能小车、机器人的科研能力都再逐步的加强,未来的智能机器人可能会朝着以下几个方面发展:使用高强度的轻质材料让机器人的结构越来越灵巧动作执行也更加灵活;应用网络化技术来远距离操作控制机器人群体为人们工作;通过复杂生物机电系统和人机耦合系统来研究出具有仿生感知、生物神经的仿人机器人。相信未来会有具有更高智能化的、更加生动有趣的智能机器人出现在我们的周围,而且会极大的改变和方便人们的生产生活。

1.3 课题内容和要求

本设计的智能小车用微处理器(即单片机)作为整个系统的控制核心部分,主要包括单片机控制模块、遥控模块、避障模块、循迹模块、数据显示模块等模块。要求能够实现以下几种功能:

(1)遥控功能,即通过遥控器来控制小车的启动、停止、左转、右转、后退等动作。

(2)自动避障功能,即小车在前方遇到障碍时可以立即做出反应,自动左转或右转躲避障碍。

(3)自动循迹功能,即小车可以自动沿着规定的路线行驶。

(4)能够实时显示小车行驶的速度、路程等数据。

要求通过此次的实际动手设计掌握以下基本技能:

(1)学会电子产品的设计开发过程;

(2)掌握单片机原理、遥控原理、显示原理等;

(3)能够熟练进行系统的硬件电路设计以及软件设计;

(4)熟练使用相关的电子设计和仿真软件;

(5)查阅国内外相关文献,掌握智能小车的最新研究动态和未来发展趋势。

第二章 总体方案设计与论证

本设计方案采用微处理器(AT89C52单片机)作为整个系统控制的中心,主要由两个部分构成,红外遥控发射部分和智能小车部分。其中智能小车部分主要由以下子模块构成:单片机控制模块、电源模块、电机驱动模块、循迹避障模块、转速检测模块、红外接收器和数据显示模块组成;红外遥控发射部分主要由遥控按键、编码芯片、红外发射三个部分构成。其总体设计框图包括两个部分,如图2.1所示:

 

   a 遥控部分框图                         b 小车部分框图

                 图2.1 系统总体设计框图

2.1 遥控控制模块设计与论证

目前比较常用的遥控控制方式有两种,红外遥控控制系统和无线遥控控制系统。

方案一:选择红外遥控装置作为小车的遥控控制器。红外遥控是通过遥控发射器内的编码芯片将按键信息调制成一串0和1的二进制代码,然后通过红外线发出,最后被红外接收装置接收进行解码,再运用单片机对解码后的码信息进行识别,然后再根据不同的码信息进行不同的控制操作[9]。

方案二:选择无线电遥控装置作为小车的遥控控制器。无线电遥控是利用不同频率的无线电波对远方的各种机构进行控制的遥控设备。这些信号被远方的接收设备接收后,可以驱动其他各种相应的机械或者电子设备去完成各种操作[6]。

红外遥控和无线遥控是对不同的载波来说的,红外遥控器是用红外线来传送控制信号的,它的特点是有方向性中间不能被阻挡,在室内使用时大概在7m的范围内有效;无线遥控器是用无线电波来传送控制的信号的,它的特点是无方向性,可以不面对面控制,距离远,有效距离可达数十米甚至数公里。

以上两种方案均可作为本设计的遥控控制器,虽然无线遥控控制的距离更远也更加灵敏,但对于本设计来说使用红外遥控已经足够了,而且红外遥控的原理更加简单易懂,所以本设计采用方案一即红外遥控作为小车的遥控控制系统。

2.2 电机驱动模块设计与论证

目前比较常用的小车驱动电机主要有两种选择:

方案一:选择直流电机作为小车的动力驱动。直流电机是将直流电能转换为机械能的一种装置,因其转动力矩大、体积较小、重量很轻、使用方便,所以其在一些小型的电动装置中的应用较多。直流电机的运行方式是这样的:在它里面有圆形的磁体会产生磁场,当给它转子上的绕组通电时,通电线圈在磁场中便会产生洛伦兹力带着线圈即转子转动,当转子转动时通电线圈内的磁场方向将会改变,所以绕组上的电流也要变换流向,在方向一直不变的洛伦兹力控制下电机将向顺时针或逆时针持续转动。由H型桥式电路直接驱动直流电机控制电机的正反转,通过软件编程使单片机输出不同占空比的PWM(脉宽调制信号)来控制直流电机的转速进而控制小车的行驶速度[6]。

方案二:选择步进电机作为小车的动力驱动。步进电机是将输入端输入的电脉冲信号转变为转子的角位移的可以实现精确定位的电机。电机转动的快慢取决于脉冲信号的频率、转动的圈数取决于脉冲的个数,在不超载的情况下其转动速度不受负载的影响,即给步进电机输入一个脉冲信号,电机的转子则转过一个角度,给其加上连接不断的脉冲波形则步进电机就能持续转动下去[5]。

相比直流电机,步进电机转过的角度是由脉冲信号控制的其可以实现小车的精确定位停车,步进电机调速也更加容易,只要输入不同频率的脉冲信号就能控制小车的行驶速度,而且它还有很好的止动能力。所以在本设计中我们选用了步进电机作为小车的驱动电机。

2.3 避障循迹模块设计与论证

目前主要有两种方案来实现小车的自动避障功能:

方案一:采用红外反射式光电传感器、电压比较器及一些电阻构成的障碍物检测电路来检测小车前方的障碍。障碍物检测电路安装在小车前部的中间及左右两边,来检测小车前方的障碍物。其障碍检测过程如下:红外发光二极管发出红外光,如果遇到小车前面的障碍物,红外线就会被物体反射回来,被光敏三极管吸收此时光敏三极管导通,并在输出端输出低电平信号至单片机,然后单片机调用寻迹避障子程序控制小车做出相应的避障反应,当左边遇到障碍物时单片机会自动调用右转子程序控制其右转,当右边遇到障碍物时单片机会自动调用左转子程序控制其左转。当无障碍物时,发出的红外线不被反射,光敏三极管截止,输出高电平信号,小车继续向前行驶[8]。

方案二:采用超声波原理来检测小车前方的障碍。其检测障碍的原理如下:先由超声波发射器向小车前方发射超声波,超声波在向前传播过程中,若遇到障碍物则会被反射回去,反射波被超声波回收装置接收后会产生一个电信号然后被转化为高低电平信号反馈给单片机,若为高电平则说明前方遇到障碍,然后由单片机调用避障子程来控制小车做出相应的躲避障碍的动作[7]。

在本设计我们采用了第一种方案实现小车的自动避障功能。

2.4 数据显示模块设计与论证

根据题目的要求小车可以实时显示其运动的速度、距离等数据。主要有两种方案来实现:

方案一:用共阳极数码管和可编程的键盘接口芯片组成数据显示电路,接口芯片直接与单片机的I/O口相连,由单片机精确控制实现LED动态显示。

方案二:用LCD液晶显示屏直接与单片机相连组成数据显示电路。LCD液晶显示屏是一种专门用来显示字符和数字的点阵型液晶模块,它是由若干个5X7或5X11点阵字符位组成的,一个字符占据一个点阵字符位,每位之间有一个点距的间隔将字符隔开,行与行之间也有间隔[8]。

由于本设计需要显示的数据较多,若用LED数码管来显示需多个数码管才能满足要求,这样电路设计过于复杂,相反只用一个LCD液晶显示屏即可显示要求数据,所以本设计我们采用方案二即LCD显示屏来显示实时数据。

2.5 转速测量模块设计与论证

方案一:选择霍尔开关型传感器测量小车车轮转速。具体做法是:在非磁性材料制作的转子上,固定好一片钢性磁体,将霍尔开关型传感器的感知接收面和磁体的磁极相对, 并在安装架上安装好(注意磁场方向不要弄错),轮子转动时磁体会跟着转动,在磁体转到和传感器的接收面相对时, 霍尔传感器便输出一个脉冲信号, 由两个脉冲间的时间间隔,便可算出转速,然后再根据车轮半径编程便可算出小汽车运行的速度[10]。

方案二:选择直射式光电检测器测量小车车轮转速。具体做法是: 在小车的驱动轮的主轴上安装一个开有十个透光槽的圆形叶片,保持叶片和驱动轮能够同步转动,然后在驱动轮旁安装好直射式光电检测器,叶片随着车轮的转动不断切割红外发射管与红外接受管之间的红外线通路,当叶片转动至透光槽与红外线通路重合时,检测器导通,红外接受管通过电流,当叶片转动至使透光槽遮住时,光通路断开。随着车轮不断的转动,便会输出连续的脉冲序列,测出脉冲的个数便可知叶片转过的孔数,从而可计算出车轮转动的转角和转速,然后再根据车轮半径由软件编程便可算出小车运行的速度[11]。

以上两种方案都能够测出小车车轮的转速。但是在本设计中,对于方案一来说,要想在很小的小车车轮上密集安装磁片比较困难,而且彼此之间也容易产生干扰。因此本设计拟采用方案二测量小车的转速。

2.6 电源模块设计与论证

电源是整个小车系统运行的基本条件,它的性能的好坏直接决定整个系统运行的稳定性和性能。小车的供电电源包含两部分,单片机控制模块电源和电机驱动模块电源,我们将单片机及其外围电路和步进电机分开供电,两者互相不影响,实现稳定供电。由于步进电机需较高的供电电压而单片机和其逻辑单元最大供电电压不能超过5V,因此需设计稳压电路。

方案一:采用8节1.5V干电池串联共12V直接给步进电机供电,然后经过由LM7805稳压芯片构成的稳压电路将电压降至5V后给电片机及其外围逻辑电路供电。但是本方案由于电池电量有限,而且数量较多的干电池重量较大会给驱动电机带来太大负担,也占用了太大的空间在体积较小的小车上使用太不方便,所以放弃了该方案。

方案二:采用12V蓄电池直接给步进电机供电,将电压降至5V后给单片机及其外围电路供电。蓄电池具有较长的续航能力以及电压输出的值基本不怎么变化,但是因为蓄电池的体积和质量过大,并不适合本设计的使用,所以我们并没有使用蓄电池来供电。

方案三:采用3节4.2V锂电池串联的方式共直接给步进电机供电,然后经过由稳压芯片构成的稳压电路将电压降至5V后给单片机及其外围逻辑电路供电。本方案锂电池的电量较足并且可以充电重复利用,3节锂电池重量和占用的空间都较小,因此该方案比较可行,最终我们选择了该方案作为小车的驱动电源[14]。

第三章 各模块硬件电路设计

本设计的遥控智能小车的硬件部分共分为两大模块:红外遥控发射器硬件模块和智能小车部分硬件模块。其中红外遥控发射硬件模块包含遥控按键、编码芯片、红外发射三个子模块;智能小车部分硬件模块包含单片机控制模块、电机驱动模块、避障循迹模块、显示模块、红外接收器模块、电源模块6个子模块。

首先介绍红外遥控发射器部分即遥控按键、编码芯片、红外发射三个子模块的硬件设计。

3.1 红外遥控发射器模块

  3.1.1 红外遥控模块的工作原理

红外线遥控是比较常见的一种遥控设备,它是利用波长为0.76~1.5μm之间的红外线来传送控制信号的遥控设备。其占据空间小、价格便宜、使用方便,在我们常用的家用电器比如电视、DVD,录音机、空凋等和一些小型电动玩具装置上均已应用了红外线遥控设备。但是红外遥控也有缺点比如容易受到空间和距离的限制,一般在7m的范围内有效且发射和接收之间不能被物体隔挡,但对于本设计的智能小车来说已经能够满足要求。

红外遥控系统一般由两大部分组成:一个红外发射部分,一个红外接收部分。其中发射部分主要由按键键盘、编码调制、LED红外发送器构成,它最重要的部分就是应用编码芯片对按键信息进行编码和发送;接收部分由光电转换放大器、解调、解码电路构成,其最重要的部分是对接收到的编码进行解调。其原理如图3.1所示:

                      图3.1 红外遥控系统原理框图

按下遥控器的一个按键,遥控器的编码芯片会对按键信息进行编码,然后通过LED红外发射器发出脉冲编码,被红外接收头接收后将编码解出并输入到单片机的外部中断,对接收到的脉冲编码进行位“0”和位“1”的识别,再根据不同的码信息调用相应的子程序来对小车进行不同的控制操作。

  3.1.2 HT6221编码芯片简介

HT6221是合泰公司生产的多功能遥控编码芯片,工作电压在1. 8V-3.5V,其采用PPM(Pulse Position Modulation)进行编码,周期能编码16位地址码和8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/704837.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM产生FullGC的原因有哪些?

JVM产生FullGC的原因有哪些? 在Java虚拟机(JVM)中,垃圾回收(Garbage Collection,简称GC)是一个非常重要的机制。GC的目的是自动管理内存,回收不再使用的对象,防止内存泄…

python数据分析-房价数据集聚类分析

一、研究背景和意义 随着房地产市场的快速发展,房价数据成为了人们关注的焦点。了解房价的分布特征、影响因素以及不同区域之间的差异对于购房者、房地产开发商、政府部门等都具有重要的意义。通过对房价数据的聚类分析,可以深入了解房价的内在结构和规…

Android低代码开发 - 直接创建一个下拉刷新列表界面

看了我Android低代码开发 - 让IDE帮你写代码这篇文章的小伙伴,大概都对Dora全家桶开发框架有基本的认识了吧。本篇文章将会讲解如何使用dora-studio-plugin快捷创建一个下拉刷新列表界面。 效果演示 这样直接通过图形界面的方式就创建好了下拉刷新上拉加载空态界面…

如何高效管理和监控 Elasticsearch 别名及索引?

0、引言 在 Elasticsearch 项目中,管理和监控索引是开发者的一项重要任务。 尤其是当我们需要在项目的管理部分展示索引和别名的统计信息时,了解如何有效地列出这些别名和索引显得尤为重要。 本篇博客将介绍几种在 Elasticsearch 中列出别名和索引的方法…

用表头设置控制表格内列的排序和显示隐藏

项目背景 : react ant 需求 : 点击表头设置弹窗 , 拖拽可控制外部表格列的排序 , 开关可控制外部表格列的显示和隐藏 实现效果如下 :注意 : 1. 拖拽效果参考了ant-table中的拖拽效果(这块代码放最后) 2. 后台反了json格式(用is_show控制显示和隐藏 , 我给他传…

【应用案例】如何解决无人驾驶车辆的动力转向问题

埃尔朗根-纽伦堡大学名称为高能赛车运动队(High-Octane Motorsports e.V.)的学生方程式车队都设计、构建和制造具有创新意义且独特的赛车。然后,他们将参加三种不同类别的大学生方程式比赛;该项赛事中的参赛队伍来自于世界各地。 电动、无人驾驶和燃油车…

17.路由配置与页面创建

路由配置与页面创建 官网:https://router.vuejs.org/zh/ Vue Router 和 组合式 API | Vue Router (vuejs.org) 1. 修改index.ts import { RouteRecordRaw, createRouter, createWebHistory } from "vue-router"; import Layout from /layout/Index.vueco…

python长方形周长面积 2024年3月青少年编程电子学会python编程等级考试二级真题解析

目录 python长方形周长面积 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python长方形周长面积 2024年3月 python编程等级考试级编程题 一、…

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

目录 简介 上传过程 修复上传漏洞 tmp文件夹总是被上传病毒文件如下图: 简介 服务器时不时的会发送短信说你服务器有病毒, 找到了这个tmp文件, 删除了之后又有了。 确实是有很多人就这么无聊, 每天都攻击你的服务器。 找了很久的原因, 网上也提供了一大堆方法,…

天锐绿盾 | 无感知加密软件、透明加密系统、数据防泄漏软件

摘要:文件加密软件,包含禁止非授权的文件泄密和抄袭复制解决方案即使被复制泄密都是自动加密无法阅读,透明加密,反复制软件,内网监控,文件加密,网络安全方案,透明文件加密,加密文件,图纸加密,知识产权保护,加密数据; 通过绿盾信息安全管理软件,系统在不改…

2024/06/13--代码随想录算法2/17| 62.不同路径、63. 不同路径 II、343. 整数拆分 (可跳过)、96.不同的二叉搜索树 (可跳过)

62.不同路径 力扣链接 动态规划5步曲 确定dp数组(dp table)以及下标的含义: dp[i][j] :表示从(0 ,0)出发,到(i, j) 有dp[i][j]条不同的路径。确定递推公式,dp[i][j] d…

Java——递归

一、递归介绍 1、什么是递归 递归在Java编程中是指一个方法调用自身的编程技巧。 public static void foo() {//...foo();//方法调用自身//...} 2、递归用于什么场景 递归是一种常见的算法设计方法,特别适用于解决那些可以分解为相似子问题的问题。常见的递归问…

诺派克ROPEX控制器维修RES-5008 RES-5006

德国希尔科诺派克ROPEX热封控制器维修型号包括:RES-401,RES-402,RES-403,RES-406,RES-407,RES-408,RES-409,RES-420,RES-440,RES-5008,RES-5006&a…

阿里三面:Redis大key怎么处理?

阿里三面:Redis大key怎么处理? 一、什么是大key? 首先大key不是key很大而是key对应的value值很大,一般而言如果String类型值大于10KB,Hash,Set,Zset,List类型的元素的个数大于5000个都可以称之…

18. 《C语言》——【Nice2016年校招笔试题引发的思考】

亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优…

中国版Sora?快手「可灵」到底行不行?

“可灵”与Sora有相似的技术架构,生成的视频动作流畅、幅度大,对物理世界理解力与还原度很高。可生成120秒、每秒30帧的高清视频,分辨率高达1080p,并且支持多种不同的屏幕比例。 “中国版SORA”到底是不是名副其实?能…

谷歌浏览器124版本Webdriver驱动下载

查看谷歌浏览器版本 在浏览器的地址栏输入: chrome://version/回车后即可查看到对应版本(不要点击帮助-关于Google chrome,因为点击后会自动更新谷歌版本) 114之前版本:下载链接 ​​​​​​123以后版本:下载链接&#xff0…

【机器学习】通用大模型VS垂直大模型,你更加青睐哪一方?

目录 前言AI大模型的战场:通用与垂直的分化通用大模型:广泛适用的利器垂直大模型:深入领域的利器谁能够形成绝对优势?结语通用大模型文章推荐 前言 AI大模型的战场正在分化: 通用大模型在落地场景更广泛毋庸置疑&…

idea插件开发之实现设置信息持久化存储

写在前面 在idea中设置的信息,我们重启idea后,这些信息还是在的,这其实是通过idea插件的持久化存储功能实现的,本文一起来看下如何实现。 1:正戏 为了方便测试,首先定义如下的ui: 我们需要在代码中给按…

干货分享:宏集物联网HMI通过S7 MPI协议采集西门子400PLC数据

前言 为了实现和西门子PLC的数据交互,宏集物联网HMI集成了S7 PPI、S7 MPI、S7 Optimized、S7 ETH等多个驱动来适配西门子200、300、400、1200、1500、LOGO等系列PLC。 本文主要介绍宏集HMI通过S7 MPI协议采集西门子400PLC数据的操作步骤,其他协议的操作…