智能泊车.docx
- 文档编号:11123941
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:48
- 大小:244.78KB
智能泊车.docx
《智能泊车.docx》由会员分享,可在线阅读,更多相关《智能泊车.docx(48页珍藏版)》请在冰点文库上搜索。
智能泊车
题目名称:
智能泊车(I题)
摘要
车库系统以MEG16单片机为控制核心,主电路采用LM1117稳压芯片提供5V电源,保证系统的工作效率。
采用观点对管来检测剩余车库的位置和数量信息,并通过数码显示管显示。
并通过无线模块完成和小车的通信,使小车顺利找到有空位的车库。
甲乙两辆小车采用51单片机控制,电源采用6V电池组,在控制两车的距离方面,采用激光和超声波两种传感器来控制,保证无碰撞发生。
两辆小车上都安装无线模块,用来接受车库系统发出的指令,同时两辆小车也可以通过无线模块互相接受和发出指令,来完成题目要求的流程和动作。
Abstract
ThegaragesystemtakestheMEG16single-chipmicrocomputerasthecontrolcore,andthemaincircuitadoptsLM1117stabilizedvoltagechiptoprovides5vpowersupplytomakesurethissystemworkingefficiently.Also,usingthetubetodetectthepositionandquantityinformationofresidualgaragewhichdisplaythroughthedigitaldisplaytube.Besides,withthewirelessmoduletocompletethecarcommunicationsothatthecarcanfindavacancygaragesuccessfully.
Toensurenocollision,thistwocarsneedtobecontrolledbya51single-chipmicrocomputer,andthepowersupplyadopts6vbattery,meanwhileusingthelaserandultrasonicthistwokindsofsensorstocontrolthecardistance.Thistwocarsareinstallingwirelessmoduletoaccepttheinstructionwhichsentbythegaragesystem.Atthesametime,thistwocarscanalsocompletetheprocessandactionasthequestionsrequiredthroughtheacceptanceofwirelessmodulesandtheinstructiontheygive.
1方案论证与比较3
1.1系统方案论证3
1.2过流保护方案论证5
2系统设计6
2.1总体设计6
2.2单元电路设计7
2.2.1数字电位器电路设计7
2.2.2AD转换电路设计8
2.2.3恒流部分电路设计10
2.2.4恒压部分电路设计12
3软件设计13
4系统测试15
5结论17
参考文献:
17
附录:
17
附1:
元器件明细表:
17
附2:
仪器设备清单17
附3:
电路图图纸17
1方案论证与比较
1.1系统方案选择
题目分析:
根据题目要求,车库系统需要实时显示剩余车库的位置和数量信息,这要求系统中装有光电对管等这种测距离的传感器,用以检测车库是否有空位;在显示方面我们可以采用液晶显示、数码晶闸管显示等显示方法;在实现车库与小车通信的问题上,可以应用无线或红外的通信方式,使小车顺利找到有空位的车库,实现小车与车库系统的串联,并通过测距传感器实现入库、停车、再到出库的一系列动作;题目要求甲乙两辆小车一起逆时针行驶,到达车库入口附近,分先后入库,两车在行驶中不许发生碰撞,不能压线。
我们在小车上安装激光、超声波这样的传感器,来控制车与车之间的距离。
剩余车库检测方案选择:
方案一超声波传感器
超声波传感器主要采用直接反射式的检测模式。
位于传感器前面的被检测物通过将发射的声波部分地发射回传感器的接收器,从而使传感器检测到被测物。
通过它的这种特性来检测车库是否有空位。
方案分析:
超声波传感器应用起来原理简单,也很方便。
但是使用超声波传感器放在车库两边,当左右两边的车库均有小车的时候中间车库无法检测。
也就是需要用6个超声波传感器,无法发挥测距的优势。
目前的超声波传感器都有一些缺点,比如,反射问题,噪音,交叉问题。
尤其当集中负面情况并存的时候,误差就难以忽略不计了。
所以我们放弃该方案。
方案二光电对管
光电对管是利用反射原理完成光电控制作用的光电开关,正常情况下,发光器发出的光被反光板反射回来被收光器收到;一旦光路被检测物挡住,收光器收不到光时,光电开关就动作,输出一个开关控制信号。
利用这种工作方式来控制检测车库状态,筛选有空位的车库。
方案分析:
光电对管是通过把光强度的变化转换成电信号的变化来实现控制,十分符合本题目的设计要求,而且相对方案一,设备更简易,操作也十分方便,不用考虑噪音,交叉等问题,准确率得到更好的保障。
所以我们选择该方案。
车库系统显示方案选择:
方案一液晶显示
采用LCD1602液晶屏作为显示模块。
它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
LCD1602能显示16*2个字母、数字和符号可以满足我们的显示需要。
方案分析:
液晶模块具有价格低、体积小、功耗低、外围电路配置简单、容易控制等优点,不过液晶模块实现复杂,并且在本系统中需要显示两车入出库时间以及剩余车库信息,需要三个液晶,单片机IO口不够。
所以我们放弃这一方案。
方案二数码管+LED
数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
配合发光二极管,符合本题目的显示要求。
方案分析:
LED具有体积小、耗电低、坚固耐用等特点。
而且数码管的数字显示可以直观地反映信息,十分方便。
基于上述情况,我们选择方案二。
车库系统与小车通信方案选择:
方案一红外控制
红外通信系统采用红外光传输及无限工作机制,其组成结构主要包括:
红外发射器,通信信道,红外接收器三大部分组成。
在本题目中,车库系统检测空位,然后通过红外发射器发射信号,再由小车上的红外接收器接受,完成小车入库的动作。
在红外线通信系统中,由于红外发射器的发射功率较小,而且信号采用红外线进行传输,易受外界环境的影响,这些因素导致了红外接收器的信号很弱,并且电平变化范围较大。
因此,如果使用,低噪声的前置放大器设计和自适应的码元判决电路是很必要的,增加了设计难度,所以我们放弃了这一方案。
方案二无线控制
选用实现通信,采用调幅AM的通讯方式,工作电压在3~12V之间,工作频率为315M,使用这种无线模块可以很好地完成车库系统和小车之间的串联,并且两小车之间也可以通过无线模块收发信号,完成通信。
315M无线发射模块
主要技术指标:
1、通讯方式:
调幅AM
2、工作频率:
315MHZ/433MHZ
3、频率稳定度:
±75KHZ
4、发射功率:
≤500MW
5、静态电流:
≤0.1UA
6、发射电流:
3~50MA
7、工作电压:
DC3~12V
315M超再生接收模块
主要技术指标:
1、通讯方式:
调幅AM
2、工作频率:
315MHZ/433MHZ
3、频率稳定度:
±200KHZ
4、接收灵敏度:
-106DBM
5、静态电流:
≤5MA
6、工作电流:
≤5MA
7、工作电压:
DC5V
8、输出方式:
TTL电平
方案分析:
315M无线收发模块采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm/度。
数据模块采用ASK方式调制,降低了功耗,模块自身辐射极小,加上电路模块背面网状接地铜箔的屏蔽作用,可以减少自身振荡的泄漏和外界干扰信号的侵入。
在本次设计情况下因为传输距离较近,使用单片机的电源电压(5V)已经可以满足要求,并且可以不加天线。
并且在这种情况下,数据电平接近数据模块的实际工作电压,能获得较高的调制效果。
发射模块垂直安装在车站主板的边缘,离周围器件较远,以免受分布参数影晌。
两小车间距控制方案选择
方案一激光控制
用激光传感器进行控制。
它由激光器、激光检测器和测量电路组成。
它通过记录并处理从光脉冲发出到返回被接收所经历的时间,即可测定目标距离,以此来控制两小车的间距,避免相撞。
方案分析:
激光传感器是新型测量仪表,它的优点是能实现无接触远距离测量,速度快,精度高,量程大,抗光、电干扰能力强等。
但外围电路较为复杂。
方案二超声波控制
用超声波传感器进行控制。
超声波传感器是利用超声波的特性研制而成的传感器。
超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的。
遇到障碍物后能够返回,被传感器接受后,然后将这信号放大后送入单片机。
以此来控制辆小车间距,检测危险距离。
方案分析:
超声波传感器应用起来原理简单,也很方便。
但如上文所述,超声波传感器有一定局限性。
由于在本次试验中,控制车距十分重要,车辆相撞会直接导致题目失败,所以方案一和方案二我们一起采用,做到万无一失。
2系统设计
2.1总体设计
车库系统框图如下:
系统电路图
2.2单元电路设计
2.2.1车库系统电路设计
打开定时器
小车入库
MCU
光电对管
关闭定时器
小车出库
定时发送
车库信息
3软件设计
车库系统软件设计流程图如下:
从控板主控板
甲车软件设计流程如下:
乙车软件设计流程如下:
4系统测试
4.1无线模块测量(室温条件下)
序号
工作电压(V)
最大传输距离(m)
工作电流(mA)
1
3
60
6
2
5
130
25
3
8
260
36
4
12
500
56
5
14
516
60
结果分析:
随着电压的增加无线模块的最大传输距离和工作电流都增大。
当电压大于l2V时功耗增大,有效发射功率不再明显提高。
可见12V是该模块的最佳工作电压,这套模块的特点是发射功率比较大,传输距离比较远,比较适合恶劣条件下进行通讯。
4.2光电对管测量(室温条件下)
序号
工作电压(V)
最大作用距离(m)
对管时输出电压
不相对时输出电压
1
3
0.5
0.216
0.02
2
4
0.7
0.245
0.03
3
5
0.8
0.315
0.02
结果分析:
光电对管的最大工作电压不能超过8V,否则会烧坏。
在正常工作情况下,工作电压越高,作用距离越远。
使用时必须串上限流电阻,否则会烧坏红外发光管。
4.3准确度测量(室温条件下)
序号
检测空位
入库
出库
是否压线
是否碰撞
1
成功
不顺利
不顺利
是
是
2
失败
顺利
不顺利
否
是
3
失败
不顺利
不顺利
是
否
4
失败
不顺利
顺利
是
否
5
成功
顺利
不顺利
否
是
6
失败
不顺利
不顺利
是
是
7
成功
顺利
不顺利
否
否
8
成功
顺利
顺利
否
是
9
成功
不顺利
顺利
是
否
10
成功
顺利
顺利
是
是
4.4各项时间测量(室温条件下)
序号
库停时间
甲车从入库到出库的时间
乙车从入库到出库的时间
车库系统是否显示正常
1
12
5
12
是
2
12
13
2
否
3
12
4
4
是
4
11
14
6
是
5
10
7
5
否
6
10
6
6
否
7
10
6
5
是
8
10
7
7
是
9
10
6
8
是
5结论
历时四天的设计已经告一段落。
在老师的耐心指导下,学长们的热情帮助下,本设计已经基本完成。
在这四天中,感触颇深的是解决问题的方法、技巧。
我们遇到许许多多问题,对待问题要多方法处理,多角度处理。
通过这几天的设计竞赛,我们不但增强了实践能力和协作精神,而且懂得了联系实际的重要性,这对我们以后的学习和工作不无裨益。
在此,对老师和学长们的辛勤扶持表示感谢。
当然,我们的设计还存在着一些缺陷,有待于在将来设计中进一步提高,在此恳请各位老师批评指正。
参考文献:
《模拟电子线路基础》,吴运昌著,广州:
华南理工大学出版社,2004年;
《数字电子技术基础》,阎石著,北京:
高等教育出版社,1997年;
《数据结构与算法》,张晓丽等著,北京:
机械工业出版社,2002年;
《单片机原理及应用》,李建忠著,西安:
西安电子科技大学,2002年;
附录:
1元器件明细表:
1、ATmega16
2、光电对管
3、315M红外收发模块
4、超声波模块
5、SM410501K
6、LED
7、STC89C52RC
8、1602液晶
9、L298N
2仪器明细:
1、数字万用表
2、数字示波器
3、稳压电源
2车库从系统程序
//mega16ʱÖÓÍⲿ8M
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
ucharadc_in_port;
voiddelay(void)
{
uchari;
for(i=0;i<255;i++);
}
//¶¨Ê±Æ÷0±È½ÏÆ¥ÅäÖжÏ
#pragmainterrupt_handlertimer0_comp_isr:
20
voidtimer0_comp_isr(void)
{
}
//ADCת»»ÖжÏ
#pragmainterrupt_handleradc_isr:
15
voidadc_isr(void)
{
uintadc_data,adc_v;
uinttemp1,temp2;
temp1=(uint)ADCL;
temp2=(uint)ADCH;
temp2=(temp2<<8)+temp1;
adc_data=temp2;
adc_data=adc_data*2.56/1024;
if(adc_data>0.1)
{
switch(adc_in_port)
{
case0:
{PORTD|=0x01;PORTB|=0x01;break;}
case1:
{PORTD|=0x02;PORTB|=0x02;break;}
case2:
{PORTD|=0x04;PORTB|=0x04;break;}
case3:
{PORTD|=0x08;PORTB|=0x08;break;}
case4:
{PORTD|=0x10;PORTB|=0x10;break;}
case5:
{PORTD|=0x20;PORTB|=0x20;break;}
default:
break;
}
}
else
{
switch(adc_in_port)
{
case0:
{PORTD&=0xFE;PORTB&=0xFE;break;}
case1:
{PORTD&=0xFD;PORTB&=0xFD;break;}
case2:
{PORTD&=0xFA;PORTB&=0xFA;break;}
case3:
{PORTD&=0xF7;PORTB&=0xF7;break;}
case4:
{PORTD&=0xEF;PORTB&=0xEF;break;}
case5:
{PORTD&=0xDF;PORTB&=0xDF;break;}
default:
break;
}
}
//¸Ä±äÊäÈë¶Ë¿Ú
adc_in_port++;
if(adc_in_port==6)adc_in_port=0;
switch(adc_in_port)
{
case0:
{ADMUX&=0xF0;ADMUX|=0x00;break;}
case1:
{ADMUX&=0xF0;ADMUX|=0x01;break;}
case2:
{ADMUX&=0xF0;ADMUX|=0x02;break;}
case3:
{ADMUX&=0xF0;ADMUX|=0x03;break;}
case4:
{ADMUX&=0xF0;ADMUX|=0x04;break;}
case5:
{ADMUX&=0xF0;ADMUX|=0x05;break;}
default:
break;
}
}
voidmain()
{
DDRA=0x00;f
PORTA=0xFF;
DDRD=0xFF;
PORTD=0x00;
DDRB=0xFF;
PORTB=0x00;
//³õʼ»¯¶¨Ê±Æ÷0,CTCģʽ,±È½ÏÆ¥ÅäÖжϣ¬2ms
TCCR0=0x00;//stop
TCNT0=0x06;//setcount
OCR0=0xFA;//setcompare
TCCR0=0x0B;//´ò¿ªÊ±¼ä¼ÆÊýÆ÷(¶¨Ê±Æ÷0)
ADMUX=0xC0;//ÓÒ¶ÔÆ룬³õʼPA4ΪÊäÈ룬²Î¿¼µçѹAVCC
SFIOR&=0x1F;
SFIOR|=0x60;//TC0±È½ÏÆ¥ÅäÖжÏΪADC´¥·¢Ô´
ADCSRA=0xAE;//ADCÔÊÐí£¬×Ô¶¯´¥·¢×ª»»£¬ADCת»»ÖжÏÔÊÐí£¬ADCclk=187.5kHz
SEI();
while
(1)
{
}
}
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#definemclk8000000
uintsecond=0;
uintcar1_time=0;
uintcar2_time=0;
ucharrdata;
consttable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
//ÑÓʱº¯Êý
voiddelay(uintms)
{
uinti,j;
for(i=0;i { for(j=0;j<1141;j++); } } //ÊýÂë¹ÜÏÔʾ voidshow(ucharj,uchark) { PORTA|=BIT(3); PORTB=table[j]; PORTA&=~BIT(3); PORTB=0XFF; PORTB&=~BIT(k); PORTA|=BIT(4); PORTA&=~BIT(4); delay (1); } //´®¿Ú³õʼ»¯ voiduart_init(uintbaud) { UCSRB=0x00; UCSRA=0x00;//¿ØÖƼĴæÆ÷ÇåÁã UCSRC=(1< //Ñ¡ÔñUCSRC£¬Ò첽ģʽ£¬½ûÖ¹ //УÑ飬1λֹͣ룬8λÊý¾Ýλ baud=mclk/16/baud-1;//²¨ÌØÂÊ×î´óΪ65K UBRRL=baud; UBRRH=baud>>8;//ÉèÖò¨ÌØÂÊ UCSRB=(1< //½ÓÊÕ¡¢·¢ËÍʹÄÜ£¬½ÓÊÕÖжÏʹÄÜ SREG=BIT(7);//È«¾ÖÖжϿª·Å DDRD|=0X02;//ÅäÖÃTXΪÊä³ö£¨ºÜÖØÒª£© } voiduart_sendB(uchardata) { while(! (UCSRA&(BIT(UDRE)))); UDR=data; while(! (UCSRA&(BIT(TXC)))); UCSRA|=BIT(TXC); } #pragmainterrupt_handlertimer0_comp_isr: 20 voidtimer0_comp_isr(void) { second++; if(second==500)second=0; rdata=PINC; } voidmain() { DDRA=0xFF; PORTA=table[0]; DDRC=0x00; PORTD=0x00; //³õʼ»¯¶¨Ê±Æ÷0,CTCģʽ,±È½ÏÆ¥ÅäÖжϣ¬2ms TCCR0=0x00;//stop TCNT0=0x06;//setcount OCR0=0xFA;//setcompare TCCR0=0x0B;//´ò¿ªÊ±¼ä¼ÆÊýÆ÷(¶¨Ê±Æ÷0) uart_init(19200); SEI(); while (1) { uart_sendB(rdata); } } 3车库主系统程序 4甲车程序 5 6 7#include 8 9#defineucharunsignedchar 10#defineuintunsignedint 11/*****************************变量定义****************************/ 12sbitpwm1=P3^4;//右轮调速 13sbitpwm2=P3^5;//左轮调速 14 15sbitIN1=P1^0;/*电机正反转逻辑控制端*/ 16sbitIN2=P1^1; 17sbitIN3=P1^2; 18sbitIN4=P1^3; 19 20sbitSJ1=P1^4;//左传感器信号端 21sbitSJ2=P1^5;//右传感器信号端 22sbitSJ12=P1^6; 23 24sbitSJ_Back=P1^7; 25/**********************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 泊车