本设计以智能小车的控制为切入点,设计了小车的寻迹和入库。本设计中的一些设计方法和思路可以为无人驾驶汽车,自动运输机器人,无人机等机器人提
本设计以智能小车的控制为切入点,设计了小车的寻迹和入库。本设计中的一些设计方法和思路可以为无人驾驶汽车,自动运输机器人,无人机等机器人提供一定的设计思路和解决方案。换一个角度考虑,随着智能化的日益提高,在智能玩具方面,也可以形成一定的市场,解决国内市场玩具缺乏技术创新的尴尬局面,同时也可以作为一种培养孩子动手能力途径。一方面获得了收益,另一方面也培养了孩子的兴趣,为进一步输送人才打好了基础。
1.4 项目主要研究内容
本设计以arduino单片机为核心,主要研究小车的寻迹和入库功能。采用红外传感器,利用黑色对于红外光的反射最弱原理,对地上的黑色标记进行判断,并按照指定路径前进,此功能即为寻迹。利用超声波检测左右障碍物距离,模拟了现实生活中的左右道路,然后回传数据给单片机,单片机通过已经烧录的程序进行判断,采取相应的决策。在左边传感器检测出的距离大于既定阈值时候向左边转向,当小于既定阈值时候向右边转向,在某一范围内则前进,以此实现贴边前进。当入库完成,前方红外传感器检测到障碍物则发出信号表示车已停,此功能即为入库。
2 基本理论及系统搭建
2.1 Arduino单片机概述
Arduino是目前机为主流的一个电子互动平台,以其功能多样,价格低廉,开发方便等诸多特点被广泛运用于物联网和电子竞赛之中。Arduino由 Massimo Banzi跟David Cuartielles于2005年设计完成,并公布设计图和源代码,由于其具有开源的特性,使得arduino在短短几年得到快速的发展。arduino构建于开放原始码simple I/O介面版,并且具有使用类似Java,C语言的Processing/Wiring开发环境。
Arduino通过传感器获取环境信息,经过内部程序处理以后发出相应的控制信号。Arduino有其自己的开发语言,其实就是封装了大量的库函数的C语言,正因为如此,其开发难度大大减小,使得开发周期变得更短。在程序编写完成以后,生成二进制文件,烧录进微控制器,完成软件的编写过程,配合硬件的功能特性,便可实现各种各样的功能。由于源代码开放,也使得众多的兴趣爱好者参与进来,展现出了各种令人惊叹的作品。
arduino主要特点如下:
1、开放源代码的电路图设计,程序开发接口免费下载[ ];
2、使用低价格的微处理控制器(AVR系列控制器),可以采用USB接口供电,不需外接电源,也可以使用外部9VDC输入[ ];
3、支持ISP在线烧,可以将新的bootloader固件烧入AVR芯片;
4、可依据官方提供的Eagle格式PCB和SCH电路图简化Arduino模组,完成独立运作的微处理控制[ ];
5、可简单地与传感器,各式各样的电子元件连接[ ];
6、支持多种互动程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等;
7、应用方面,利用Arduino,突破以往只能使用鼠标、键盘、CCD等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动[ ]。
2.2 设计原理综述
2.2.1 设计原理与方法
本设计使用PWM控制直流减速电机的加速,减速,并调节其转速,使电机在一个合适的转速下工作,很方便的实现了电机的智能控制[ ]。而实现PWM的控制驱动模块则直接调用arduino UNO系统已经开发好的PWM函数配合定时器直接产生,配合对应的IO口则可以直接对电机进行控制,其中包括加减速,正反转。而由arduino UNO单片机产生的脉冲信号输入到L298N驱动芯片来控制直流减速电机工作。智能小车采用的两个前轮各由一个电机驱动,后轮是万向轮,起到支撑和转向的作用,使得小车得以完成全部动作。