自动充电小车设计报告_第1页
自动充电小车设计报告_第2页
自动充电小车设计报告_第3页
自动充电小车设计报告_第4页
自动充电小车设计报告_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE5广西民族大学院物理与电子工程学院电子竞赛设计报告题名:自动充电小车作者姓名:邱杰富韦雪国黃宁振指导教师姓名:李映超老师专业名称:电子信息工程目录中文摘要31前言42设计内容与系统结构析42.1设计任务42.2设计要求42.3电控系统52.4机械系统52.5传感器设置与布局63电路设计与原理框图63.1红外发射接收器63.2趋光模块113.3电动机驱动控制模块113.4自动充电模块133.5单片机控制模块144系统软件设计154.1系统的程序流程图154.2系统程序155自动充电小车的论证245.1自动充电小车的介绍245.2自动充电小车的论证实验25参考文献26自动充电小车的实现邱杰富韦雪国黃宁振摘要:本论文设计主要有如下几大模块:步进电动机的驱动模块,红外传感器的探测模块,自动充电模块,趋光模块。在驱动模块中主要使用了两个步进电动机作为小车的前进和转弯驱动电机,使小车具有了行动的足脚和可以改变行动方向的鸵机。在红外传感器的探测模块中主要是使用5个红外探测器分别摆在小车的前后左右四个方向,使其对这四个方向进行定时的探测,并把探测的结果传给CPU,以达到避障的功能。趋光模块工作过程如下:充电电源处放有强光,小车上安装有小许光敏电阻,通过光敏电阻的寻光分析可知道小车处于充电电源的大概方向。自动充电模块利用趋光模块知道的充电电源的方向,调整小车的身体,使其向充电电源方向前进,边前进边分析小车前面的红外接收器接收到的调制码为充电电源哪处发出的,再调整小车的前进方向使其向充电电源的具体方向前进,等靠近充电电源时,利用探测模块来调整小车的身体,使其正对充电电源从而实现自动充电。关键字:自动充电;红外技术;减速电机;寻光机器人1引言现代玩具小车不断地用高科技武装玩具,研发出各种集知识性、趣味性于一体的智能小车玩具。智能小车的各项技术的研发是高端技术的试验田和基础源泉,智能小车的开发研制将在社会中新技术发展,提高人们生活质量中发挥越来越重要的作用。具体表现在:(1)为智能制作应用高端科技提供技术基础支持,学习锻炼的平台;(2)智能小车可开发智力,锻炼技术,提高创新水平。本文的内容是设计一部智能玩具车,此设计将寻迹、避障、寻光、对接充电等功能集为一体,尝试了多通道、多传感器的综合应用,采用了精确的方向控制策略和优化的行进过程的速度控制策略,添加了智能容错功能,使整个系统的稳定性达到了比较高的水平。2设计内容与系统结构2.1设计任务自制(或用小型遥控玩具车改装)一个可自动寻找到固定充电位置的电动小车,同时制作一个可供电动小车充电的简易充电小盒子。电动小车可以在没有障碍物的情况下出发,找到充电小盒子并自动对接,对接成功后即可开始充电。2.2设计要求(1)制作(或用小型遥控玩具改装)一个可前进、转弯(或加上后退)的电动小车。(2)电动小车放到A出发位置后,打开运行开关即可开始前行,运动到充电盒子位置停止。电动小车从B位置出发后,可通过自动转弯运动到充电盒子位置停止。(3)电动小车从C位置与充电盒子反向开始出发后,可通过自动寻找目标而运动到充电盒子位置停止,从启动运动到充电盒子位置停止的时间不超过5分钟。(4)制作小车电池的简易充电电路,包括小车一端的充电电路以及为小车提供低压直流电源的充电小盒子,对充电性能不做要求,但需要有充电指示及短路保护功能。(5)电动小车具有与充电小盒子对接的功能,对接正确之后可以实现电动小车的自动充电。2.3电控系统在设计中,用单片机的端口接收到各个传感器的输出信号的电平变化,用端口输出各个电平控制信号,使小车做出各种响应动作,如图1所示。分别有:反射型红外发射接收器的输出信号;小车前轮方向电机转动的输出信号;电动机正转反转驱动控制电路的输入信号;电动机驱动控制单片机红外发射接收电动机驱动控制单片机红外发射接收器图1端口功能2.4机械系统小车的机械制动由前轮马达驱动和后轮马达驱动两部分组成。前轮马达驱动通过齿轮转换使小车前轮具备左转和右转功能。后轮马达驱动通过齿轮转换,使马达较大转速制动后轮较小的转速,虽然增加了可用功但是却增加小车负载驱动能力。为使小车负载的电池使用更加持久,设计小车的前轮和后轮的马达驱动电压均为5V。2.5传感器设置与布局在给小车输入预定目的地的地理坐标后,小车能自动到达目的地。小车应具备几个系统模块:避障模块,马达驱动模块,趋光模块。设计草图如图2所示:图2设计草图3电路设计与原理框图模块设计与功能实现为实验小车的各个功能,分别要设计如下功能模块,如图3所示。避障模块避障模块反射红外发射接收器电动机驱动控制模块寻光模块自动充电小车自动充电模块图3功能模块3.1红外发射接收器红外发射接收器选型:红外探测器以其发射功率大、抗干扰能力强而在工业生产中有着广泛的应用,红外探测器按其工作模式可大致分为主动式与被动式,主动式红外探测器自带红外光源,通过对光源的遮挡、反射、折射等光学手段可以完成对被探测物体位置的判别。被动式红外探测器本身没有光源,通过接受被探测物体的特征光谱辐射来测量被探测物的位置、温度或进行红外成像。主动式红外传感器又可分为分立元件型、透射遮挡型和反射型,如图4所示:红外发光管红外发光管红外接收管分立元件型透射遮挡型反射型图4主动式红外探测器的形式分立元件型发光管与接收管相互独立,用户在使用时可以根据需要灵活的设定发光管与接受管的位置,并可利用棱镜、透镜等完成特殊的目的,缺点是装置麻烦。透射遮挡型和反射型通过塑料模具将发光管与接收管封装在一起,非常方便用户使用。在设计中,选用反射型红外发射接收器比较适合做避障功能。红外发射接收电路选择在选择红外发射接收电路中,有四个方案可以选择,并且都做了PCB进行调试比较。方案一:利用40KHz的晶振作为红外发射器的震荡源。通过示波器观察,波形非常准确完整,由于红外接收的频率一般是38KHz,虽然晶振的频率可以通过可调电阻微调。但是还是很难匹配,每次试验时都要微调。所以不选择这个方案。方案二:如前所述,使用三脚的红外接收器,但是接收器自备了选频和解调能力,很难用单片机对其接收信号进行判断。所以不选择这个设计方案。方案三:用高速CMOS型四重二输入“与非”门74HC00组成RC震荡电路作为频率发生器,波形也准确完整,但是难匹配。所以不选择这个方案。方案四:选用通用音调译码器LM567的5输出38KHz频率,其特点是红外线发射部分不设专门的信号发生电路。8脚输入红外接收器接收到的信号。这个信号是锁相音频译码器的锁相中心频率,这样既简化了线路和调试工作,又防止了周围环境变化和元件参数变化对收发频率造成的差异,实现了红外线发射与接收工作频率的同步自动跟踪,使电路的稳定性和抗干扰能力大大加强。本设计中就是利用此方案最终实现避障功能。红外发射接收电路原理框图图7红外发射接收电路SCH图图8红外发射接收电路PCB图这个电路的特点是红外线发射部分不设专门的信号发生电路。而是直接从接收部分的检测电路LM567的5脚引人信号,这个信号是锁相音频译码器的锁相中心频率,这样既简化了线路和调试工作,又防止了周围环境变化和元件参数变化对收发频率造成的差异,实现了红外线发射与接收工作频率的同步自动跟踪,使电路的稳定性和抗干扰能力大大加强。下面介绍几个主要元件功能。在红外发射接收器和超声波发射接收器中都用到了通用音调译码器LM567如图10所示,以下对LM567进行介绍。图10通用音调译码器LM567LM567是一片锁相环电路,采用8脚双列直插塑封。其⑤、⑥脚外接的电阻和电容决定了内部压控振荡器的中心频率f。其中心频率f由R、C决定:f=1/(1.1*RC)在电路中,因为红外发射器的起振频率是38KHz,其中电容选择103,所以由以上公式可得R=2.4KΩ。LM567的电路图,如图11,LM567的①、②脚通常分别通过一电容器接地,形成输出滤波网络和环路单级低通滤波网络。②脚所接电容决定锁相环路的捕捉带宽:电容值越大,环路带宽越窄。①脚所接电容的容量应至少是②脚电容的2倍。③脚是输入端,要求输入信号≥25mV。⑧脚是逻辑输出端,其内部是一个集电极开路的三极管,允许最大灌电流为100mA。LM567的工作电压为4.75~9V,工作频率从直流到500kHz,静态工作电流约8mA。LM567的内部电路及详细工作过程非常复杂,这里仅将其基本功能概述如下:当LM567的③脚输入幅度≥25mV、频率在其带宽内的信号时,⑧脚由高电平变成低电平,②脚输出经频率/电压变换的调制信号;如果在器件的②脚输入音频信号,则在⑤脚输出受②脚输入调制信号调制的调频方波信号。在电路中仅利用了LM567接收到相同频率的载波信号后⑧脚电压由高变低这一特性,来形成对控制对象的控制。图11LM567电路图下面介绍运算放大器741。741拥有反相与非反相两输入端,由输入端输入欲被放大的电流或电压信号,经放大后由输出端输出。其引脚图如图12所示。图12741运算放大器引脚图在设计中,741的放大电路如图13所示:图13741放大电路741构成了反相放大电路。如图14所示。图14反相放大电路在设计中,Vo=-(1MΩ/1KΩ)*V1,增益G=-(1MΩ/1KΩ)=1000所以信号的放大倍数是1000倍。LM567的5脚输出的38KHz中心频率输出给三极管Q1,经过三极管放大,信号输出给红外发射器J2,可调电阻R3可以改变其发射功率。信号由红外接收器J3接收,经过运算放大器741的反相放大,信号输出给LM567的输入3脚,由于输入的信号是LM567的锁相中心频率,所以LM567的8脚输出由默认的高电平变为低电平。发光二极管有了电压差,所以信号指示灯亮,证明前方有障碍,同时8脚的信号输出给单片机,由单片机由电平的变化去控制电动机的工作实现避障。红外发射接收电路调试在实际的红外发射接收电路应用中,刚开始指示灯不亮,没有任何现象,如果用导线将发射头的负端和接收头的负端短路,指示灯亮。推测故障原因是信号线过长,使信号衰减失真。后经过缩短信号线,指示灯亮且稳定,电路能正常使用。结论:信号线长度对信号有一定的影响3.2趋光模块寻光方案主要有:方案一:采用各类数字电路来组成小车的控制系统,对外围避障信号,黑带检测信号,铁片检测信号,各路趋光信号进行处理。本方案电路复杂,灵活性不高,效率低,不利于小车智能化的扩展,对各路信号处理比较困难。

方案二:趋光采用ATMEGA16L单片机来作为整机的控制单元。红外线探头采用上面所介绍的发射管与及接收头,经过单片机调制后发射。寻光依靠安装在车头部左右四个光敏二极管对管来对前面发射光感应。寻光设计在小车前端安装3路(左、中、右)光敏电阻对光源信号采集,模拟信号经过ATMEGA16L的ADC转化为数字信号送到MCU处理,使得最终实现自动寻找电源的功能。比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,能达到题目的设计要求,因此采用方案二来实现。3.3电动机驱动控制模块电动机的特点

1、R系列斜齿轮减速机,结合国际技术要求制造,具有很高的科技含量;2、节省空间,可靠耐用,承受过载能力高,功率可达132KW;3、能耗低,性能优越,减速机效率高达95%以上;4、振动小,噪音低,节能高;5、选用优质锻钢材料,钢性铸铁箱体,齿轮表面经过高频热处理;6、经过精密加工,确保轴平行度和定位轴承要求,形成斜齿轮传动总成的减速机配置了各种类电机,组合成机电一体化,完全保证了产品使用质量特性。电动机驱动电路本设计采用两个减速电动机的驱动电路由两个后轮驱动组成。小车的前进、左右转动、后退都是均由两个减速电动机正转反转控制电路控制。在设计中电动机的选用也是尤为重要,在设计中我们选用过若干个电机,在选用小功率的电机时车身太重使得小车无法行使,最后不得不换成大功率的电机。电动机正转反转控制电路电动机正转反转控制电路的主要芯片是L298(表5)。电路如图21所示。L298是电动机驱动芯片,最大输出电流是2A。由输入端信号的高低电平信号来控制电动机的正转和反转。图21电动机正转反转控制电路SCH图注释:6,11脚Ven是使能端,高电平电机工作。接入单片机。用单片机控制电机工作。4脚的+Vss是电机驱动电压,一般取6V。9脚的+Vs是L298驱动电压,一般取5V。表5电动机正转反转控制电路状态表(H=高电平,L=低电平,X=任何状态)输入功能Ven=HC=H,D=L正转C=L,D=H反转Ven=HC=D滑行C=X,D=X停止图22电动机正转反转控制电路PCB图电动机正转反转控制电路调试在使用L298之前试用了用光电耦合器和三极管的导通截止作用组成的电动机驱动电路。调试发现光电耦合器的导通电阻有230Ω,不适合作驱动电路。在L298驱动电路调试中,用5V直流电压作芯片驱动电压和电机驱动电压。用变压器作电源,控制电动机效果很好,转速稳定,转向变化速度快。在用9V干电池经过78L05稳压5V输出作电源。电动机不转动,原因是电动机的线圈内阻为7Ω,而电池内阻为3Ω,由于电池内阻的分压作用,输出电流小,不足以驱动电动机。解决方法是再并连一个干电池。电动机可稳定工作了。3.4自动充电模块在本模型车的设计中,在电源处放着一块金属片,在小车上也放有一块强力磁铁,要求小车在行驶过程中对周围环境进行扫描,利用光电三极管的光电特性,通过比较器LM324的门限电压作用,不断调节其识别灵敏度,从而得到寻光信号,最终由单片机识别后发出相应的命令,进而完成寻光前进的功能。当行驶到电源处,小车停止行走,磁铁并实现电源与小车的的对接功能,从而实现自动充电。光源检测传感器电路原理图如下:

光源检测传感器电路原理图3.5单片机控制模块系统的控制核心Atmega16单片机,是Atmel公司推出的基于AVRRICS低功耗CMOS8位高性能单片机,采用的是Harvard结构。由于Atmega16单片机运算速度快、内部资源丰富等诸多优点,故本设计选用它作为控制核心。下图为其引脚排列图。Atmega16引脚排列图将9V直流干电池通过7805稳压输出5V直流电源,为各个功能模块提供电源,同时还将各个功能模块的输出信号接入AVR单片机的IO口,包含的电路有:前方、左右红外发射接收器的电源和信号接口;无线通讯的电源和信号接口;电动机控制电源和信号接口。系统软件设计系统的程序流程图开始开始初始化扫描环境是否有障碍物YN避障前方是否最亮YN转弯前进4.2系统程序#include<iom16v.h>#include<macros.h>#include"lcd.h"#defineVref2560//参考电压值#defineucharunsignedchar#defineuintunsignedintucharmiao=0;unsignedintadc_rel;//AD转换结果unsignedcharadc_mux;//AD通道unsignedintvoltage;unsignedintadc_old;unsignedintV0,V1,V2,V3;uintadc_x;uintadc_y;voidget_adc();/* 微秒级延时程序 */voiddelay_us(uinttime) { do { time--; } while(time>1); } /*****************************************/voiddelay_ms(uinttime){while(time!=0) { delay_us(1000); time--; }}//端口初始化voidport_init(void){PORTA=0x00;DDRA=0x00;PORTB=0x00;DDRB=0x00;PORTC=0x0f;//m103outputonlyDDRC=0x0f;PORTD=0xff;DDRD=0x00;}//定时T1初始化voidtimer1_init(void){TCCR1B=0x00;//停止定时器TIMSK|=0x04;//中断允许TCNT1H=0xFC;//重装值高位TCNT1L=0x2F;//重装值低位TCCR1A=0x00;TCCR1B=0x05;//启动定时器}//定时器T1溢出中断服务程序#pragmainterrupt_handlertimer1_ovf_isr:9voidtimer1_ovf_isr(void){TCNT1H=0xFC;//重装值高位TCNT1L=0x2F;//重装值低位CLI(); adc_rel=0; adc_old=0; if(adc_mux<3) adc_mux++;//递增 else adc_mux=0; SEI(); miao++;if(miao==350)//LCD_write_string(9,1,Format(miao,"00")); {stop(); TCCR1B=0x00;//停止定时器}}voidadc_init(void){//adc转换初始化ADCSRA =0x00; //禁止AD转换//ADMUX =0xC1;//通道111000001ADMUX=(1<<REFS1)|(1<<REFS0)|(adc_mux&0x1f);//选择内部AVCC为基准SFIOR|=0x00;ACSR =0x80;//禁止模拟比较器ADCSRA |=0xEE;//11101110ADCSRA|=(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1);//64分频}//ADC结果转换成电压值voidADCtoBCD(unsignedinttemp){unsignedchari;temp=(unsignedint)(((unsignedlong)((unsignedlong)temp*Vref))/0x3ff);voltage=temp;switch(adc_mux){ case0:V0=temp;break; case1:V1=temp;break; case2:V2=temp;break; case3:V3=temp;break; }LCD_write_shu(0,0,temp);}#pragmainterrupt_handleradc_isr:15voidadc_isr(void){//转换完成后中断处理adc_rel=ADC&0x3ff;//ADMUX=(1<<REFS1)|(1<<REFS0)|(adc_mux&0x1f);ADCSRA|=(1<<ADSC);//启动AD转换//启动AD转换}voidinit_devices(void){CLI();//禁止所有中断MCUCR=0x00;MCUCSR=0x80;//禁止JTAGGICR=0x00;port_init();timer1_init();adc_init();SEI();//开全局中断}voidqianjin(){//PORTC|=0x80;PORTC=0x8A;//1010前进LCD_write_string(0,1,"qianjin");}voidhoutui(){PORTC=0x85;//0101后退LCD_write_string(0,1,"houtui");}voidzuozhuan(){PORTC=0x82;//0010左传LCD_write_string(0,1,"zuozhuan");}voidyouzhuan(){PORTC=0x88;//1000右转LCD_write_string(0,1,"youzhuan");}voidstop(){PORTC=0x80;LCD_write_string(0,1,"stop");}voidget_adc(){if(adc_old!=adc_rel){ adc_old=adc_rel; ADCtoBCD(adc_old); } LCD_write_shu(0,1,voltage);}voidshaomiao(){unsignedinti;PORTC=0x89;//LCD_write_string(0,1,"shaomiao");for(i=1000;i>0;i--){get_adc(); if(adc_x!=voltage) { adc_x=voltage; if(adc_y>adc_x) adc_y=adc_x; else continue; } LCD_write_shu(7,1,adc_y); }} //响声函数:入口i:响声长度i*10ms,n:响声次数voidsound(uchari,ucharn){for(;n;n--){uinta=i*10;for(;a;a--){PORTC&=~(1<<7);//开蜂鸣器delay_us(100);PORTC|=1<<7;//定义蜂鸣器关//关蜂鸣器delay_us(100);}}}voidbizhan(){sound(2,2);if((PIND&0x07)==0) { houtui(); delay_ms(300); youzhuan(); delay_ms(100); } if((PIND&0x01)==0) { houtui(); delay_ms(300); youzhuan(); delay_ms(100); } if((PIND&0x02)==0) { houtui(); delay_ms(300); zuozhuan(); delay_ms(100); if((PIND&0x10)==0)qianjin(); } if((PIND&0x04)==0) { houtui(); delay_ms(300); zuozhuan(); delay_ms(100); if((PIND&0x10)==0)qianjin(); } if((PIND&0x10)==0) { youzhuan(); delay_ms(100); }if((PIND&0x08)==0) { zuozhuan(); delay_ms(100); } } //主函数voidmain(void){unsignedintk;adc_mux=0;//unsignedintmin_old;init_devices();//在这继续添加你的代码LCD_init();DDRC=0xFF;PORTC=0xff;DDRD=0x00;PORTD=0xff;delay_ms(100);LCD_write_command(0x01);//清屏delay_ms(10);LCD_write_string(0,0,"TestRObot");delay_ms(100);LCD_write_command(0x01);//清屏for(k=0;k<200;k++)adc_old=0;adc_rel=0;adc_y=2670;adc_x=voltage;shaomiao();//扫描环境LCD_write_command(0x01);//清屏stop();delay_ms(300);while(1){get_adc();//启动ADC //get_min(); if((PIND&0xFF)!=0xff)//有障就避障

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论