《自动入库小车设计方案》由会员分享,可在线阅读,更多相关《自动入库小车设计方案(20页珍藏版)》请在金锄头文库上搜索。
1、自动入库小车设计方案学生姓名: 洪涛 学 号: 16061913 专 业: 电气类 班 级: 16060419 2017年06月07日 精选文档一、功能描述一个小型车库,车库中心地面上有一个铁片。小车的出发区与车库间的地面上有黑色的边界线组成的过道,中心有黑色引导线。小车能够正确按黑色引导线间的过道行驶到车库,停止于铁片处并可以自动返回(期间会有灯光提示,并且小车可以远程遥控启动)。二、设计方案 1.总体方案为使小车运行更加灵活可靠,采用后轮用两个直流电机分别驱动,前轮采用万向轮的驱动方式,采用L298双通道直流电机驱动芯片作为主控电路,将红外传感器采集的信号,经单片机处理后 ,控制驱动电机的
2、PWM的占空比和方向,从而实现了一系列功能。另外可以使用自制的霍尔金属传感器,以减轻整车的重量,增加小车的灵活性。采用ATM89S52单片机作为整机的控制单元;启车采用红外线遥控控制;寻迹采用反射式红外对管;铁片检测采用霍尔元件制作的金属传感器;将以上信号送入单片机进行处理,调制出PWM脉冲和电平对直流电机进行驱动。精选文档此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,并且可扩展性好,基本原理如图1所示。89S52红外遥控脉冲接收脉冲寻迹信号铁片检测灯光提示电机驱动电源停车信号图1 简易自动小车基本原理框图2.硬件模块电路设计1)启动部分遥控器原理:
3、利用发射芯片产生一个32位数据,经高频载波通过红外线发射LED发射出去。接收部分由一个红外线接收模块接收数据精选文档,经电容滤掉高频载波后,送单片机,与单片机中预存的数据进行比较,如相同则启动主程序运行。运行原理如图2、3所示。单片机38KHZ载波信号AND门信号放大红外线发射二极管发射红外线信号图2 红外线发射器工作方块图红外线接收模块单片机控制红外线信号接收图3 红外线接收工作流程图精选文档前进代码:void run_init()IN1=1;IN2=0;IN3=1;IN4=0;2)寻迹传感部分利用光的反射原理:光线照在黑色物体上,由于黑色对光的吸收,反射回去的量比较少。这样就可以判断黑带轨
4、道的走向,并且进行相应的转向和前进。采用红外线发射,外面可见光对接收信号的影响较小,利用红外发射二极管对黑线边界进行检测,再用LM324对检测信号进行比较,取反后输送至单片机进行处理。电路原理如图4所示精选文档图4 寻迹原理图转向代码:void zhuanx(uchar zx) switch (zx) case 1: l=4; r=0; /高速左转 break; case 2: r=4; l=0; /高速右转 break; case 3: l=2; r=0; /低速左转精选文档 break; case 4: r=2; l=0; /低速右转 break; case 5: l=r=2; /低速前进
5、 break; case 6: l=r=0; /高速前进 break; case 7: l=r=4;/刹车 break;判断黑带及随后的运动的代码void panduan() if(S0=0)&(S1=0)&(S2=1)&(S3=0)&(S4=0) zhuanx(6); /1号传感器检测到信号,其余没有检测到信号 if(S0=0)&(S1=1)&(S2=0)&(S3=0)&(S4=0) zhuanx(3); /0号传感器检测到信号,其余没有检测到信号 if(S0=1)&(S1=0)&(S2=0)&(S3=0)&(S4=0) 精选文档 zhuanx(1); /3号传感器检测到信号,其余没有检测到
6、信号 if(S0=0)&(S1=0)&(S2=0)&(S3=1)&(S4=0) zhuanx(4); /4号传感器检测到信号,其余没有检测到信号 if(S0=0)&(S1=0)&(S2=0)&(S3=0)&(S4=1) zhuanx(2); /1,2号传感器检测到信号,其余没有检测到信号 if(S0=0)&(S1=1)&(S2=1)&(S3=0)&(S4=0) zhuanx(3); /0,1号传感器检测到信号,其余没有检测到信号 if(S0=1)&(S1=1)&(S2=0)&(S3=0)&(S4=0) zhuanx(1); /2,3号传感器检测到信号,其余没有检测到信号 if(S0=0)&(S
7、1=0)&(S2=1)&(S3=1)&(S4=0) zhuanx(4); /3,4号传感器检测到信号,其余没有检测到信号 if(S0=0)&(S1=0)&(S2=0)&(S3=1)&(S4=1) 精选文档 zhuanx(2); /0,1,2号传感器检测到信号,其余没有检测到信号 if(S0=1)&(S1=1)&(S2=1)&(S3=0)&(S4=0) zhuanx(1); /2,3,4号传感器检测到信号,其余没有检测到信号 if(S0=0)&(S1=0)&(S2=1)&(S3=1)&(S4=1) zhuanx(2); /1,2,3号传感器检测到信号,其余没有检测到信号 if(S0=0)&(S1
8、=1)&(S2=1)&(S3=1)&(S4=0) zhuanx(6); /0,4号传感器检测到信号,其余没有检测到信号 if(S0=1)&(S4=1) lukou+; if(lukou=1) TR1=1; if(lukou=2) 精选文档TR0=0;zhuanx(7);/刹车 if(lukou=3)lukou=0; 3)铁片检测部分根据霍尔元件检测金属的原理,可以制作一种简易可靠的金属检测传感器对车库内的铁片进行检测,并以此作为停车的信号。金属传感器的结构原理如图5所示.图5 金属传感器结构原理图4)单片机控制部分精选文档可采用一般的单片机系统控制电路,主要由:电源电路、晶振电路、复位电路,及
9、外部中断输入电路组成。电路结构简单,性能稳定,是单片机系统控制普遍采用的硬件电路。#include#define uchar unsigned char#define uint unsigned int#define SYSCLK 22118400sbit IN1=P30;sbit IN2=P31; sbit IN3=P32;sbit IN4=P33;sbit S0=P20;sbit S1=P21;sbit S2=P22;sbit S3=P23;sbit S4=P24;uchar code table=0xff,0xd0,0xb0,0x80,0x00; /PWM输出控制数组uchar code
10、 table1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /数码管输出数组uchar i,r,l,temp,lukou=1,num; void SYSCLK_init() /时钟初始化精选文档 int i; OSCXCN=0x67; for(i=0;i256;i+); while(!(OSCXCN&0x80) ; OSCICN=0x88; void IO_init() /IO口初始化XBR0=0x50;/交叉开关配置寄存器XBR0、XBR1、XBR2XBR1=0x00;XBR2=0x40;P0MDOUT=0xff;P3MDOUT=0x
11、ff;void timer_init()CKCON=0x78; /时钟控制寄存器TMOD=0x11; /计数器定时器方式寄存器TH0=(65536-18432)/256; /tf0/tf1中断请求标志位 可用于关中断TL0=(65536-18432)%256;EA=1;ET0=1;ET1=1;精选文档void PCA_int_init() /PCA0初始化IE=0x85;IP=0x00;EIP1=0x08;EIE1=0x08;PCA0MD=0x09;PCA0CPM0=0x42;PCA0CPM1=0x42;PCA0CPH0=table4;PCA0CPH1=table4;CR=0;IT0=1;IT1=1;v