基于Arduino多功能车

(整期优先)网络出版时间:2018-09-23
/ 2

基于Arduino多功能车

张雨云陈磊

(浙江师范大学)

摘要:本课题设计的是一款基于Arduino多功能车,它利用Arduino作为主控系统,利用蓝牙模块进行无线数据传输,实现无线控制。同时它利用超声波测距模块来进行测距,将测得的距离数据传给单片机,经过单片机处理给出反馈,驱动电机转动,实现自动避障的功能。

关键词:Arduino;多功能车;无线控制;自动避障

引言

随着科技进步,现代工业技术发展越来越体现出机电一体化的特征。无论是在金属加工、汽车技术、工业生产等等方面,机器设备表现了所谓智能化、集成化、小型化、高精度化的发展趋势。智能化作为现代社会的新产物,是以后的发展方向,它可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。同遥控小车不同,遥控小车需要人为控制转向、启停和进退,比较先进的遥控车还能控制器速度。常见的模型小车,都属于这类遥控车;智能小车,则可以通过单片机编程来实现其对行驶方向、启停以及速度的控制,无需人工干预。操作员可以通过修改智能小车的计算机程序来改变它的行驶方向。因此,智能小车具有再编程的特性,是机器人的一种。智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。

第一章总体设计方案

1.1方案说明

基于Arduino多功能车主要以两直流电动机为主驱动,通过各类传感器件来采集各类信息,送入主控单元Arduino单片机处理数据后完成相应动作,以达到自身控制。电机驱动电路采用L298N,驱动2个直流减速电机;测距、避障采用超声波传感器完成,最后由控制单元处理数据后通过编程有序合理的将各模块信号整合在一起并完成相应动作,实现了智能控制。

1.2系统结构

本设计以Arduino单片机为核心控制器,主要由电源模块、电机驱动模块、超声波传感器模块、蓝牙模块构成。

第二章硬件设计

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

方案一:可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。

方案二:采用Arduino单片机作为系统控制的方案。Arduino单片机算术运算功能强,软件编程灵活、自由度大,功耗低、体积小、技术成熟,成本也比ARM低。

综合考虑,我选择方案二作为核心主控器件。

2.2避障单元方案比较与选择

方案一:用超声波传感器进行避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。但使用超声波模块的成本比较高。

方案二:用漫反射式光电开关进行避障。光电开关的工作原理是根据光线发射头发出的光束,被物体反射,其接收电路据此做出判断反应,物体对红外光由同步回路选通而检测物体的有无。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。考虑到在日常的家居生活中,只需要简单检测障碍物,让智能小车顺利绕过障碍,回到预定的设定路径便可,并没有十分复杂的环境,为了使用方便,便于操作和调试,我们最终选择了方案一。

2.3电机驱动方案

方案一:H桥式电机驱动电路包括4个三极管和一个电机,因其外形酷似字母H,所以称作H桥驱动电路。要使电机M运转,必须使对角线上的一对三极管导通。

方案二:采用L298N专用驱动,此芯片有两个H桥式电路,且电路结构简单,使用方便。外设使能端,十分便于接线,能让我们很方便地对电机进行调速。

综合考虑,我采用方案二。

2.4电源的选择

方案一:可充电的铅酸电池。

方案二:太阳能电池。

对于一辆智能机器小车来说,电池就是它的动力源。如果使用太阳能电池,无法使智能小车在室内运行,而且现在的太阳能电池板的能效不高,要达到理想的状态必须有很大的面积。最后考虑到方便和可持续性,本设计采用可充电的铅酸电池。

2.5电机的选择

电机是智能小车的驱动装置,选择一个适合的电机会使制作更顺利,机器性能更好。能用于智能机器小车的电机种类很多,而制作智能小车会选用直流电机、减速电机以及步进电机,考虑到价格、功率、尺寸、转速等因素。

方案一:采用步进电机。步进电机依靠脉冲信号动作调节电机转速,而且转矩比较大,调速和定位准确,缺点是同时转速非常小,价格较高。

方案二:采用直流减速电机,直流减速电机由直流电机和齿轮盘相连,能实现减速功能,转矩比较大,价格比较便宜,非常适合用于智能小车。

综上所述,我采用方案二。

2.6蓝牙遥控设计

本设计是以Arduino单片机为核心,通过自制按键矩阵蓝牙控制,进行简单的前进、后退、左转、右转、停止等功能操作,控制小车进行不同的运动。Arduino模块通过控制电机驱动,从而控制电机的正反转,使小车做出相应的动作。通过自制遥控器与蓝牙接收模块HC-06进行配对之后,编写并下载程序以后,便可以接收到从遥控器传输过来的动作指令。接收到指令之后,蓝牙模块会传递给Arduino单片机,再通过微处理器分析辨别传输过来的指令,使程序跳转到不同的子程序,产生不同的响应,从而控制电机驱动,实现小车的前进、后退、左转、右转、停止等功能。

第三章软件设计

3.1主循环程序设计

因为我们选的是ArduinoUNOR3,它使用的是ATmega328芯片,所用的编程器是Arduino1.0.5-r2,所用的编程语言是建立在C/C++的基础上的,其实也就是基础的C语言,Arduino语言只不过是把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解它的底层,这样大大降低了编程难度。它和C语言一样,也是面向对象的编程,实在ArduinoIDE编程环境下进行编程的,使用模块化程序设计法,有许多的优点:

(1)方便编写和调试,程序结构更加清晰。

(2)模块可以被重复调用,提高了程序的利用率和工作效率。

(3)简化了编程思路,使得程序设计者不用考虑全部的程序体系而是集中精力着眼于一个程序节点,这样编出的程序往往更加精炼。本系统软件采用模块化结构,由主循环程序,自动避障子程序和方向运动子程序构成。

结论

本次设计切实考虑了市场上的需求,针对物流智能化的主要方面而设计的一款新型基于Arduino多功能车。设计过程中充分考虑了各种可能出现意外情况,根据具体情况设计了相应的功能。如预设方向、校准方向等。操作简单、方便。此课题借助较可靠、较成熟的Arduino单片机,大大减少了误判方向的现象,可靠性强。本设计软件、硬件调试已经通过,性能良好。总之,由于系统结构设计合理,Arduino单片机与蓝牙模块技术应用到位,功能电路实现较好,系统性能良好、稳定,较好地达到了物流智能化要求的各项指标。而且该系统成本低、实用性和可操作性强,有着一定的应用价值,能得到广泛的应用和发展。

参考文献

[1]涂时亮等.单片机软件设计艺术.重庆:科学文献出版社重庆分社。

[2]周航慈.单片应用程序设计技术.北京:北京航空航天大学出版社。

[3]谢自美.电子线路设计(第二版).南京:华中科技大学出版社。

[4]何立民.单片机应用技术选编.北京:航空航天大学出版社。

[5]宋文绪,杨帆主编.传感器与检测技术.北京:高等教育出版社。

[6]童诗白,华成英主编.模拟电子技术基础.北京:高等教育出版社.