毕业论文:基于arduino单片机避障小车机器人内容摘要:
机的转速,能够很方便的实现电机的智能控制。 其间是通过 AT89S52 单 片机产生脉宽可调的脉冲信号并输入到 L298 驱动芯片来控制直流电机工作的。 该直流电机 PWM 控制系统由以下电路模块组成:设计控制部分:主要由 AT89S52 单片机的外部中断扩展电路组成。 直流电机 PWM 控制实现部分主要由一些二极管、电机和 L298 直流电机驱动模块组成。 智能小车采用后轮驱动,两个后轮各用一个电机,前轮是万象轮,起到支撑和转向的作用。 硬件设计 本小车的硬件部分分为几个模块:超声波传感器、 Arduino 单片机、电源、两个直流电动机、电机驱动板、车身。 电源连接在 Arduino 单片机上给整个小 车供电。 小车以Arduino 单片机为核心,连接电机驱动板 控制两个直流电动机的运转,从而实现小车的前进。 将超声波传感器安臵在车身的最前端,用于探测前方是否有障碍物。 当超声波传感器遇到障碍物,将反馈提供到单片机里从而做出向左旋转的反应,再次检测前方是否有障碍物,若有障碍物则继续旋转,没有障碍物则电 机驱动器驱动电机前进,从而实现整个小车的避障功能。 硬件框架图如图。 7 图 硬件 设计 框架 软件设计 Arduino 语言 Arduino 语言具有如下特点: 开放源代码的电路图设计,程序开发接口免费下载,也可依需求自己修改。 使用低价格的微处理控制器 (AVR 系列控制器 ),可以采用 USB 接口供电,不需外接电源,也可以使用外部 9VDC 输入。 Arduino 支持 ISP 在线烧,可以将新的“ bootloader”固件烧入 AVR 芯片。 有了bootloader 之后,可以通过串口或者 USB to Rs232 线更新固件。 可依据官方提供的 Eagle 格式 PCB 和 SCH 电路图简化 Arduino 模组 ,完成独立运作的微处理控制;可简单地与传感器,各式各样的电子元件连接 (例如:红外线 ,超音波 ,热敏电阻 ,光敏电阻 ,伺服马达 ,…等 ) 支持多种互动程序,如: Flash、 Max/Msp、 VVVV、 PD、 C、 Processing 等。 应用方面,利用 Arduino,突破以往只能使用鼠标、键盘、 CCD 等输入的装臵的互动内容,可以更简单地达成单人或多人游戏互动。 Arduino 的 功能 : 基于行为设计的移动机器人设计与实现 8 Arduino 可以 让我们 快速使用与 Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider 等软件结合,作出互动作品。 Arduino 可以使用现有的电子元件例如开关或者传感器或者其他控制器件、 LED、步进马达或其他输出装臵。 Arduino 也可以独立运行,并与软件进行交互,例如: Macromedia Flash, Processing,Max/MSP, Pure Data,VVVV 或其他互动软件, Arduino 的 IDE 界面基于开放源代码,可以让我们 免费下载使用,开发出更多令人惊艳的互动作品。 Arduino 可使用 ICSP 线上烧入器,将「 bootloader」烧入新的 IC 晶片 ; 可依据官方电路图,简化 Arduino 模组,完成独立运作的微处理控制 ; 可简单地与传感器,各式各样的电子元件连接(例如:红外线,超声波,热敏电阻,光敏电阻,伺服马达等) ; 支援多样的互动程序例如 : Macromedia Flash、 Max/Msp、 VVVV、 PD、 C、 Processing 等 ; 使用低价格的微处理控制器 (ATMEGA 8168); USB 接口,不需外接电源。 另外有提供 9V 直流电源输入 ;在 应用方面,利用 Arduino,突 破以往只能使用鼠标,键盘, CCD 等输入的装臵进行互动内容的设计,可以更简单地达成单人或多人游戏互动。 Arduino IDE 如图 这是运行界面。 Arduino 语言是一种类 c 的语言。 在这个界面里有我们编程时最常用的东西。 当我们把鼠标放在上面就会在右侧出现按键的功能。 图 Arduino IDE 运行界面 9 图 就是 upload 上传功能。 最右边的图标是我们需要熟知的串口监视器,快捷键是: Ctrl+Shift+M。 点这个图标有用的前提是插上了串口设备,当然 Arduino 插在 USB上也可以,因为板上的 Atmega16U2 就是 USB 转串口的功能。 图 upload 上传功能 如图 这就是串口监视器的运行画面相对于网上流传的众多串口调试软件,它的功能可以说较为简单。 右下角是波特率,波特率接收端和发射端要相同,要不然收到的会是乱码。 图 串口监视器 如果电脑没找到串口或者驱动没装好,就会有如图 的提示。 serial port 的意思是串行通讯接口。 图 Arduino IDE 的菜单栏中有很多选项,例如“文件”“编辑”等英文界面。 其中Sketch 是草图的意思,在 Arduino IDE 中,每个 Arduino 程序都称为 sketch,他是一个可以基于行为设计的移动机器人设计与实现 10 上传进 Arduino Board 中的程序包,当然经过编译以后他就不是代码包了。 Tools 里面第一项,自动格式,当你把一段从网上下载的源代码放到 sketch 里面,会有一些缩进的乱码,这时, Auto Format 就起到了很好的作用。 当我们编写好程序后,点击 Update, IDE 会自动编译 ,上传。 如果程序有错误,就会有如图 的显示,标出了行号。 修改程序后就可以继续编译上传了。 图 实验前期准备 搭建小车的零件清单如下: 2 个 2 个 2 个 1 个 *150* 有机玻璃板 2 片 电机驱动板 1 个 328 给力板 1 个 1 个 1 个 1 个 1 个 节 5 号电池盒一个 12 条 米长 USB 线 1 条 35MM 长 3 个 12MM 4 个 11 螺丝螺母若干 基于行为设计的移动机器人设计与实现 12 第三章 硬件 模块 各模块的的基本性能 单片机模块 本设计采用 Atmel Atmega328 微处理控制器。 其性能为: Digital I/O 数字输入 /输出端共 0~13。 Analog I/O 模拟输入 /输出端共 0~5。 支持 ISP 下载功能。 输入电压:接上电脑USB 时无须外部供电,外部供电 7V~12V 直流电压输入。 输出电压: 5V 直流电压输出和 直流电压输出。 图 Arduino 单片机实物图 电机、电机驱动模块 本设计采用由双极性管组成的 H 桥电路( L298N)。 用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。 这种电路由于工作在管子的饱和截止模式下,则效率非常高; H 桥电路保证了可以简单地实现转速和方向的控制,电子开关的速度很快,稳定性也很高。 而且它有更强的驱动能力。 而且 L298N 有过电流保护 13 功能,当出现电机卡死时,可以保护电路和电机。 这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。 因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。 图 L298N 引脚图 图 L298N 电路原理图 基于行为设计的移动机器人设计与实现 14 图 L298N 实物图 避障模块 本设计采用 HCSR04 超声波测距模块,该原件可提供 2CM400CM 的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器,接收器和控制电路。 基本工作原理: (1)采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号。 (2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回; (3)有信号返回,通过 IO口 ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。 测试距离 =(高电平时间 *声速 (340M/S))/2。 图 避障模块实物图 15 电源模块 本设计采用 的电源为车载电源。 为保证电源工作可靠,单片机系统与动力伺服系统的电源采用了大功率、大容量的蓄电池;而传感器的工作电源则采用了小巧轻便的干电池。 图 电源模块实物图 小车的基本搭建 舵机 ,云台和超声波的连接步骤如下图: 图 准备好云台舵机超声波安装所需配件。 图 取出舵机配件之一“十字胶体” 将十字剪成四边对等的长度,打磨成宽度一样。 基于行为设计的移动机器人设计与实现 16 图 2*8mm 的和 *5mm 的螺丝安装到十字的第二个孔,装到云台底座上。 在云台底部的螺丝位套上螺母,并用热熔胶固定 如图。 图 ,并用 螺丝紧固 如图。 图 后, 从舵机组件包里取出 2*6mm的螺丝安装到舵机固定孔中。 完成云台安装后用扎带将超声波模块固定在云台前端如图。 17 图 6mm 铜柱装在云台底座安装孔 并将装好的云 台组件直接安装到小车底盘上,小车搭建成品如图。 图 小车搭建成品 连线 电机的连线 L298N 的供电处理: 用 6 节 5 号电池盒取一路电源给 L298N 电机驱动模块供电,另一路给 ARDUINO 主板供电给 L298N 电机驱动模块供电的电源 +极接 L298N 的 VMS 接口,电源的 接 L298N的 GND 接口, L298N 板上的 +5V 接口放空不接。 电机一接 L298N 的 MOTOA,电机二接L298N 的 MOTOB。 基于行为设计的移动机器人设计与实现 18 图 电机的连线 舵机的连线 首先设臵函数: (5)。 // 定义伺服马达输出第 5 脚位。 舵机 需要连接的 有三条线, 分别是 +, ,信号。 三条线均直接连接到 Arduino 板上。 接线方法: 将 +5V 接到 J5 位 , 位接到 J6 位 , 信号位接到 J4 位 PWM 口的第五脚。 连线方式如图 所示: 图 舵机的连线 19 超声波的连线 超声波传感器有四个脚,如图 所示: 四个引脚的功能分别是: 1: VCC 接 +5V。 2: TRIQ 信号输入。 3: ECHO 信号输出。 4: GND 接地。 图 超声波的引脚示意图 超声波 模块四个引脚直接 与 Arduino 单片机 连接, 接线方法如图 所示 : 图 超声波与 Arduino 单片机接线 基于行为设计的移动机器人设计与实现 20 Arduino 超声波小车总体连线图: 电机 A 和电机 B 将正负两端接在 L298N 电机驱动板上,若正负两级接反则车轮反转。 电机驱动板、舵机、超声波模块直接与 Arduino 核心控制板相连,电源模块分别给电机驱动板和 Arduino 板供电。 图 Arduino 超声波小车总体 连线图 21 第四章 软件模块 软件设计思路 在软件设计方面,采用 Arduino 语言编程,编写程序流程图 图 软件编译流程图 基于行为设计的移动机器人设计与实现 22 电机前进 模块 在定义好各 个引脚之后,进入主程序的编写部分。 我在程序控制模块里主要 编写的是电机 的控制函数。 本程序中提及的 digitalWrite 函数的作用是设臵引脚的输出的电压为高电平或低电平。 该函数也是一个无返回值的函数,函数有两个参数 pin 和 value, pin参数表示所要设臵的引脚, value 参数表示输出的电压 HIGH(高电平)或 LOW(低电平)。 首先定义为 advance 前进函数 : void advance(int a) { 编写模拟信号,定义马达右后动作为低电平,即不给电: digitalWrite(pinRB,LOW)。 编写模拟信号,定义马达右前动作为高电平: digitalWrite(pin。毕业论文:基于arduino单片机避障小车机器人
相关推荐
1、农业技术全集之植,北成安县曲村积极发展棉花高复种指数,增加种田效益。 一般每亩产西瓜 20003000 公斤,籽棉 250300 公斤,产值在 3000元以上。 其栽培技术介绍如下:一、品种选择棉花选择产量高、抗性强的品种,如邯棉系列。 西瓜选择早熟、高产、口感好的品种,如甜宝、郑杂欣二号等品种。 二、茬口安排 3 月 20 日左右,在畦埂两边沟内先盖地膜,再按一定的株距将西瓜籽种下去,
020年 12月 竣工验收,试生产, 2020年 转入正式生产, 当年生产 负荷达到设计能力 的 80%, 2020年 开始生产 负荷达到设计能力 的 100%。 项 目 实 施 进 度 表 知识水坝(网 @pologoogle)倾心为您整理(双击删除) 序号 工作阶段 2020 2020 年 2020 年 1 2 3 4 1 2 3 4 1 完成可研报告编制 2 可研报告评估审批 3 工程设计
左键拖曳可以拖动该对象。 该方式不仅对整个对象有效,而且对对象中单独的 labels 也有效。 如果 Wire Auto Router 功能被使能的话,被拖动对象上所有的连线将会重新排布或者 39。 fixed up39。 这将花费一定的时间( 10 秒左右),尤其在对象有很多连线的情况下,这时鼠标指针将显示为一个沙漏。 如果你误拖动一个对象,所有的连线都变成了一团糟,你可以使用Undo
1、农业技术全集之植,化”技术应用进展顺利 棉花工厂化育苗和机械化移栽技术(简称“两化”技术)具有现代农业特征,是一项集约化和规模化的生产技术,还是一种资源节约和环境友好型技术,其核心技术为基质育苗和裸苗移栽,于 2004 年通过农业部鉴定(农业部成果登记号:农科果鉴字【2004】第 0056 号),居同类研究的国际领先水平,已获得国家发明专利多件,实现技术产品化和系列化,去年进入生产示范
线端子在变频器机壳下盖板内,机壳盖板的拆卸步骤如图图 23 所示。 15 图 23机壳盖板的拆卸步骤 拆卸盖板后可以看到变频器的接线端子如图 24 所示 . 图 24MM420 变频器的接线端子 ⑴变频器主电路的接线 YL335B 分拣单元变频器主电路电源由配电箱通过自动开关 QF单独提供一路三相电源供给,连接到图 24 的电源接线端子,电动机接线端子引出线则连接到电动机。 注意,接地线 PE