运水小车设计.docx
- 文档编号:23286691
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:25
- 大小:210.48KB
运水小车设计.docx
《运水小车设计.docx》由会员分享,可在线阅读,更多相关《运水小车设计.docx(25页珍藏版)》请在冰豆网上搜索。
运水小车设计
前言
---------------------------------------------------
随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。
红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。
智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。
本设计通过小车这个载体再结合以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为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控制电机驱动电路来驱动电机。
电源部分是为整个电路模块提供电源,以便能正常工作。
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作为显示模块,其电路如图所示。
NOKIA5110
3.4电源电路
本系统所有芯片都需要+5V的工作电压,而干电池只能提供的电压为1.5V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,则需要LM7805稳压芯片。
L7805能提供300至500mA的电流,足以满足芯片供电的要求。
虽然微处理器和微控制器不需要支持电路,功耗也很低,但必须要加以考虑。
电源电路拟定为:
3.5电机驱动电路
市场上用很多种类的小电压直流电动机,很方便的选择到。
主要有普通电动机、和步进电动机。
方案一:
采用步进电机,步进电动机的一个显著的特点就是具有快速启动和停止能力,能够达到我们所要求的标准。
如果负荷不超过步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反转。
其转换灵敏度比较高。
正转、反转控制灵活。
但是步进电机的价格比较昂贵,对于我们的现状相差太远。
方案二:
采用普通的直流电机。
直流电机具有优良的调速特性,调速平滑、方便。
调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。
能满足各种不容的特殊运行要求。
由于普通直流电机价格适宜,更易于购买,并且电路相对简单,因此采用直流电机作为动力源
本设计采用L298电机驱动芯片为直流电机驱动,由L298芯片组装直流电机驱动模块,同时利用光耦隔离模块,实现电路保护,构成的电路结构简单,方便,可靠!
驱动电路原路框图如下:
驱动电路原路框图
LM298应用电路图:
电机驱动连接电路图
3.6无线模块:
为了能对小车进行手动控制,我们选用了简易的基于HS2272和HS2262的无线收发模块。
利用2272和2262分别实现接收模块和发射模块电路设计。
无线收发模块
四. 程序设计:
本系统利用外部中断来接受遥控信号,通过接受信号的不同来改变运水模式,主程序在不断检测模式是否改变,通过不同模式实现不同动作!
系统中还利用了定时器来计算运水时间,当小车到达终点时,把水倒出,同时显示运水时间!
4.1主程序流程图:
主程序流程图
4.2源程序:
#include
#include
#include"5110.h"
#include"motor.h"
#include"wireless.h"
#include"init.h"
/*------宏定义------*/
#defineucharunsignedchar
#defineuintunsignedint
ucharpotemp1=0,potemp2=0,potemp3=0,potemp4=0,potemp5=0,potemp6=0,pox=1,poy=0;
uintx_1,x_2;
uintms_conter=0,s_conter=0,m_conter=0,h_conter=0;
uintreceive=0,key=0,flot=0;
uintshuiliang=0;
uintx_220=255,y_220=0,z_220=0;
voidmain(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);
}
elseif(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);
}
elseif(key==0B10010000)
{
motor_1
(2);
motor_2
(2);
motor_3
(2);
motor_4
(2);
//break;
}
elseif(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程序设计清华大学出版社
附录:
实物图:
目录
一、总论1
(一)项目概况1
(二)项目编制依据6
(三)问题与建议8
二、项目建设的背景和必要性10
(一)政策背景分析10
(二)项目区社会经济状况14
(三)本行业及关联产业发展现状14
(四)项目建设的必要性15
三、承办单位概况18
(一)概况18
(二)研发能力19
(三)财务状况19
(四)法人代表基本情况19
四、市场分析与销售方案20
(一)市场分析20
(二)市场竞争优势分析29
(三)营销方案、模式及策略33
五、项目选址与建设条件38
(一)场址所在位置现状38
(二)场址建设条件39
六、建设方案41
(一)建设规模与布局41
(二)建设目标与功能定位42
(三)产品质量标准46
(四)构建绿色有机农产品流通体系47
(五)土建工程64
(六)主要设备65
七、总图、运输与公共辅助工程70
(一)总图布置70
(二)公共辅助工程70
八、节能减排措施72
(一)能耗及污染分析72
(二)单项与建筑节能工程72
(三)节能措施综述72
九、环境影响评价74
(一)环境影响74
(二)环境保护与治理措施74
(三)评价与审批75
十、组织机构与人力资源配置77
(一)组织机构与职能划分77
(二)劳动定员77
(三)经营管理模式78
(四)经营管理措施79
(五)技术培训80
(六)劳动保护与安全卫生80
十一、项目实施进度81
(一)建设工期81
(二)项目实施进度安排81
十二、投资估算与资金来源82
(一)投资估算依据82
(二)投资估算82
(三)资金来源83
(四)资金使用和管理83
十三、财务评价85
(一)财务评价依据85
(二)营业收入、营业税金和附加估算85
(三)总成本及经营成本估算86
(四)财务效益分析86
(五)不确定性分析88
(六)财务评价结论91
十四、社会评价92
(一)社会效益分析92
(二)未来发展潜力93
十五、风险分析96
(一)政策风险控制96
(二)投资风险控制96
(三)经营风险控制96
(四)管理风险控制97
(五)行业风险控制98
(六)市场风险控制99
(七)资金运用和管理的风险控制99
(八)自然风险控制99
十六、研究结论与建议101
(一)结论101
(二)建议103
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小车 设计