收藏 分销(赏)

运水小车设计.doc

上传人:w****g 文档编号:2397139 上传时间:2024-05-29 格式:DOC 页数:19 大小:240.50KB 下载积分:8 金币
下载 相关 举报
运水小车设计.doc_第1页
第1页 / 共19页
运水小车设计.doc_第2页
第2页 / 共19页


点击查看更多>>
资源描述
前 言 --------------------------------------------------- 随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。 红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。 本设计通过小车这个载体再结合以AVR系列的Mage16单片机为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、遥控模块、电源电路、差分驱动电路和显示电路就可以完善整个设计。 目录 一、摘要: 4 二、功能介绍: 4 三、 硬件设计: 4 3.1 避障电路: 5 3.2 单片机电路: 8 3.3 显示电路: 8 3.4 电源电路: 9 3.5 电机驱动电路 10 3.6 无线遥控电路: 11 四 、程序设计 12 4.1 主程序流程图 13 4.2 主程序 13 五、系统调试 18 六、小结 19 七、参考文献 19 附录 20 系统实物图 20 一.【摘 要】: 本文提出一种智能循迹,自动运水小车的设计方法,利用红外技术检测障碍物信息,采用Mage16单片机进行实时控制,实现智能循迹,智能小车采用后轮驱动,两轮各用一个直流电机控制,避障用的传感器采用红外漫反射式传感器。 【关键词】: 避障 光电开关 差分控制 LCD 二. 功能概述 本小车可通过2262无线模块进行模式的切换,在手动模式下,通过遥控器按键的不同实现不同动作;在自动模式下,机器人通过RPR220光电管实现对线路的自动识别,智能小车采用两轮驱动,左右两边各用一个电机驱动,分别控制两个轮子的转动从而达到转向的目的。将三个红外线光电传感器分别装在车体的前方和后方,当红外传感器检测到小车左边出黑线时,主控芯片控制右轮电机停止左轮转动,车向右方转向,当传感器检测到小车右边出黑线时,主控芯片控制左轮电机停止转动,车向左方转向,当运行到终点时,主控芯片控制另一个电机将水箱翻起,降水倒出。同时通过NOKIA5510液晶显示运水时间,运水量。 三.硬件设计 如下图所示,是本次设计智能小车的电路框图。以Mage16为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控制电机驱动电路来驱动电机。电源部分是为整个电路模块提供电源,以便能正常工作。 5110 实时显示 CPU 电源模块5V L298 电机驱动 红外避障 无线接收 模块 2个直流 减速电机 ATmega16L 无线发射 模块 电源 3.1. 避障电路 (1) 障碍物探测方案的选择  方案一:脉冲调制的反射式红外线发射接受器。由于采用该有交流分量的调制信号,则可大幅度减少外界干扰;另外红外线接受官的最大工作电流取决于平均电流。如果采用占空比小的调制信号,再品均电流不变的情况下,顺势电流很大(50—100mA),则大大提高了信噪比。并且其反应灵敏,外围电路也很简单。它的优点是消除了外界光线的干扰提高了灵敏度。 方案二:采用超声波传感器,如果传感器接收到反射的超声波,则通知单片机前方有障碍物,如则通知单片机可以向前行驶。市场上很多红外光电探头也都是基于这个原理。这样不但能准确完成测量,而且能避免电路的复杂性   由以上两种方案比较可知。方案二要比方案一优势大,市场上很多红外观点探头也都基于这个原理。其电路简单,工作可靠,性能比较稳定。从而避免了电路的复杂性,因此我先用方案二作为小车的监测系统。 避障电路采用漫反射式光电开关进行避障。光电开关是集发射头和接收头于一体的检测开关,其工作原理是根据发射头发出的光束,被障碍物反射,接收头据此做出判断是否有障碍物。当有光线反射回来时,输出低电平;当没有光线反射回来时,输出高电平。单片机根据接收头电平的高低做出相应控制,避免小车碰到障碍物,由于接收管输出TTL电平,有利于单片机对信号的处理。 (2)光电开关工作原理: 光电开关是通过把光强度的变化转换成电信号的变化来实现控制的。     光电开关在一般情况下,有三部分构成,它们分为:发送器、接收器和检 测电路。 避障电路如下: 避障电路功能表: 传感器 避障电路输出(上升沿动作) 待执行命令 左 中 右 左转信号(P2.1) 右转信号(P2.0) 0 0 0   √ 右转 0 0 1   √ 右转 0 1 0   √ 右转 0 1 1   √ 右转 1 0 0 √   左转 1 0 1   √ 右转 1 1 0 √   左转 1 1 1     前进 注解(“0”表示有障碍物; “1”表示无障碍物) 3.2 单片机电路 本设计的主控芯片选择Mage16,负责检测传感器的状态并向电机驱动电路发出动作命令。复位电路采用手动复位。 单片机电路如下: 3.3显示电路: 显示电路由NOKIA5110组成,它可进行字母,汉字,图片的显示,功能强大,使用方便,所以本系统选用NOKIA5110作为显示模块,其电路如图所示。   NOKIA 5110 3.4 电源电路 本系统所有芯片都需要+5V的工作电压,而干电池只能提供的电压为1.5V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,则需要LM7805稳压芯片。L7805能提供300至500mA的电流,足以满足芯片供电的要求。虽然微处理器和微控制器不需要支持电路,功耗也很低,但必须要加以考虑。 电源电路拟定为: 3.5电机驱动电路   市场上用很多种类的小电压直流电动机,很方便的选择到。主要有普通电动机、和步进电动机。     方案一:采用步进电机,步进电动机的一个显著的特点就是具有快速启动和停止能力,能够达到我们所要求的标准。如果负荷不超过步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反转。其转换灵敏度比较高。正转、反转控制灵活。但是步进电机的价格比较昂贵,对于我们的现状相差太远。 方案二:采用普通的直流电机。直流电机具有优良的调速特性,调速平滑、方便。调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。能满足各种不容的特殊运行要求。 由于普通直流电机价格适宜,更易于购买,并且电路相对简单,因此采用直流电机作为动力源 本设计采用L298电机驱动芯片为直流电机驱动,由L298芯片组装直流电机驱动模块,同时利用光耦隔离模块,实现电路保护,构成的电路结构简单,方便,可靠! 驱动电路原路框图如下: 驱动电路原路框图 LM298应用电路图: 电机驱动连接电路图 3.6无线模块: 为了能对小车进行手动控制,我们选用了简易的基于HS2272和HS2262的无线收发模块。利用2272和2262分别实现接收模块和发射模块电路设计。 无线收发模块 四. 程序设计: 本系统利用外部中断来接受遥控信号,通过接受信号的不同来改变运水模式,主程序在不断检测模式是否改变,通过不同模式实现不同动作!系统中还利用了定时器来计算运水时间,当小车到达终点时,把水倒出,同时显示运水时间! 4.1 主程序流程图: 开始 初始化设置 自动模式 自动循迹运水模式 手动控制模式 N Y 主程序流程图 4.2源程序: #include <ioM16v.h> #include <macros.h> #include "5110.h" #include "motor.h" #include "wireless.h" #include "init.h" /*------宏定义------*/ #define uchar unsigned char #define uint unsigned int uchar potemp1=0,potemp2=0,potemp3=0,potemp4=0,potemp5=0,potemp6=0,pox=1,poy=0; uint x_1,x_2; uint ms_conter=0,s_conter=0,m_conter=0,h_conter=0; uint receive=0,key=0,flot=0; uint shuiliang=0; uint x_220=255,y_220=0,z_220=0; void main(void) { init_devices(); motor_1(2); motor_2(2); motor_3(2); motor_4(2); DDRB = 0x00; PORTB = 0xFF; key=PINB&0xF0; delay_ms(15); //在这继续添加你的代码 //LCD_clear(); delay(100); while(1) { DDRB = 0x0F; //PORTB = 0xFF; key=PINB&0xF0; delay_ms(15); if(key==0B00010000) { ////前进 motor_1(2); motor_2(2); motor_3(0); motor_4(0); } else if(key==0B00100000) { //后退 motor_1(2); motor_2(2); motor_3(1); motor_4(1); } else if(key==0B01000000) { //右转 motor_1(2); motor_2(2); motor_3(1); motor_4(0); } else if(key==0B10000000) { //左转 motor_1(2); motor_2(2); motor_3(0); motor_4(1); } else if(key==0B00110000) { //左转 motor_1(0); motor_2(2); motor_3(2); motor_4(2); } else if(key==0B01010000) { //左转 motor_1(1); motor_2(2); motor_3(2); motor_4(2); } else if(key==0B01100000) { //左转 motor_2(0); motor_1(2); motor_3(2); motor_4(2); } else if(key==0B10100000) { //左转 motor_2(1); motor_1(2); motor_3(2); motor_4(2); } else if(key==0B10010000) { motor_1(2); motor_2(2); motor_3(2); motor_4(2); //break; } else if(key==0B01110000) { DDRA=0X00; PORTA=0XFF; x_1=0XF0|PINA; x_2=0X0f|PINA; while(x_1!=0xf0) { front_220(); x_1=0XF0|PINA; } motor_1(2); motor_2(2); motor_3(2); motor_4(2); delay(20); motor_1(0);//转盘转向,水箱在前 delay(280); //motor_1(1); motor_2(1);//倒水 delay(200); motor_2(0);//水箱放平 //delay(100); motor_1(1);//转盘转向,水箱在后 delay(300); x_2=0X0f|PINA; while(x_2!=0x0f) { back_220(); x_2=0X0f|PINA; } motor_1(2); motor_2(2); motor_3(2); motor_4(2); //LCD_clear(); LCD_write_chinese_string1(19,0,12,4,0,2);//欢迎使用 LCD_write_chinese_string0(0,2,12,5,0,1);//运水时间: // LCD_write_english_string(53,2,":"); LCD_write_char2(1,4,48+h_conter/10); LCD_write_char2(7,4,48+h_conter%10); LCD_write_english_string(15,4,"H"); LCD_write_char2(25,4,48+m_conter/10); LCD_write_char2(31,4,48+m_conter%10); LCD_write_english_string(39,4,"M"); //LCD_write_char2(23,4,'.'); LCD_write_char2(49,4,48+s_conter/10); LCD_write_char2(55,4,48+s_conter%10); LCD_write_english_string(64,4,"S"); /* ///PA0电压采集 receive=mega16_ad(0); receive=receive/20.1;//修正系数 LCD_write_char2(12,5,48+receive%100/10); LCD_write_char2(18,5,'.'); LCD_write_char2(24,5,48+receive%10); LCD_write_char2(32,5,'V'); ///PA1电压采集 receive=mega16_ad(1); receive=receive/20.1;//修正系数 LCD_write_char2(42,5,48+receive%100/10); LCD_write_char2(48,5,'.'); LCD_write_char2(54,5,48+receive%10); LCD_write_char2(62,5,'V'); */ // NOP(); //motor_2(0); //front_220(); delay(300); } else { motor_1(2); motor_2(2); motor_3(2); motor_4(2); } } } 五、系统调试: 我们在调试阶段遇到很多的问题,首先是光电管的调试很复杂,由于外界光线的影响,调节光电管的灵敏度是个很重要的问题;其次就是系统不稳定的问题,由于本系统总共使用了4个电机,并且在很多时候都同时运行,经常出现系统电压波动很大,对系统的稳定性带来了很大的影响,我们通过很多方法才得以解决!还有就是对电机速度的控制,速度过快容易冲出跑道,过慢则浪费时间,我们通过不断的调试才找到一个合适的速度! 六、小结: 本系统虽说不是很大,但是也涉及到了好多常用的模块,例如:无线遥控、电机控制、液晶显示、光电管循迹等;通过这一次的制作,我们都有了很大的提高,不管是硬件电路的设计还是软件程序的编写,总之一句话,以前从来没有感觉过单片机的引脚会如此紧张,这次制作我们把单片机的硬件资源都充分利用了,可见对其又得到了进一步的学习与认识,对他的掌握得到了进一步的提升!反正就是,好多东西只有自己动手做了才知道! 七、参考文献 【1】 李朝青.单片微机原理及接口技术(第三版)。 [M]北京航空航天大学出版社 【2】 阎 石. 数字电子技术基础(清华大学电子学教研组编 第五版) 高等教育出版社 【3】 康华光. 电子技术基础(第五版) 高等教育出版社 【4】 《无线电》2009年第2期 宋泽清 关于灵活避障 快速循迹 【5】 杨加国 单片机原理与应用及C51程序设计 清华大学出版社 附录: 实物图: 18
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服