版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目名称:电动货物搬运车( H 题)参赛队员 : 卓浩泽 王鹏鹏 杨晨摘要 : 本设计以单片机 AT89C51 作为电动搬运小车的检测和控制核心 .电路分为路面 黑线检测模块 ,金属物体探测模块 ,电机驱动模块 ,显示及声光指示模块等几部分 .利用红外对 管对小车的位置和状态进行检测 ,实现小车位置 ,速度 ,运动方向和运动时间等控制 ,使小车将 金属物准确搬入仓库 .Abstract: In this design, the controller of this dolly is based on MCU AT89C51. The circuit is composed of the fol
2、lowing modules: black thread on the road module, metal detection module, motor drive module, display and sound-light instruction module. The position and the state of the car can be measured by the infrared ray emitting-receiving integrated diodes resultion into the control of the carsposition, spee
3、d, motive direction and motive time, which makes the car to detect the metal sheets, enter garage accurately.目录一、 方案论证与比较.31、路线检测部分32、电机的选择部分33、物体探测部分34、显示部分3二、系统的具体设计与实现 .3.1、系统硬件的设计 4(1) 电机驱动模块的电路设计与实现 .4(2) 路线检测模块的电路设计与实现 5(3) 声光报警模块的电路设计与实现5(4) 物体探测及取放物模块的电路设计与实现 6(5) 显示和键盘模块的电路设计与实现 72、系统的软件设计7
4、三、系统调试 101、测试设备 102、测试方法 103、测试结果 .10四、结束语11参考文献 .11附录 11附1:元器件名细表.11.附2:仪器设备清单 .11.附3:程序清单 .11.- 2 -、方案论证与比较1、路线检测部分方案一:采用普通发光二极管及光敏电阻组成的发射接收方案。该方案在实际使用时,容 易受到外界光源的干扰,有时甚至检测不到。主要是因为可见光的反射效果跟地表的平坦 程度、地表材料的反射情况均对检测效果产生直接影响。虽然可采取超高亮度发光二极管 降低一定的干扰,但又增加额外的功率损耗。方案二:采用红外对管组成的反射接收方案。平时小车在行走时,黑线两旁的对管接收到 反射信
5、号,单片机控制小车直走,当小车偏离轨道或需要拐弯时,其中一边的对管在黑线 上方,对管接收不到反射信号,经过电压比较之后,把采集的信号送入单片机处理,由单 片机来控制小车的方向。使用这种方法可以克服外界强光、路面杂物的干扰,增加了探测 灵敏度,从而大大减少对地面黑线的误判和漏判。因此,我们选用了抗干扰能力较强的方2 电机的选择部分 方案一:采用步进电机。步进电机的一个显著特点就是具有快速启停能力,但是由于车身 过重,步进电机要避免产生滑步失步现象,控制较复杂。方案二:采用普通直流电机。直流电机具有优良的调速特性,调速平滑、方便,调整范围 广;过载能力强,能承受频繁的冲击负载,可实现频繁的快速启动
6、、制动和反转,控制比 较方便。因此,我们选用了电路相对简单的直流电机作为动力源。3 物体探测部分 方案一:采用电感线圈构成一电感式三点式高频振荡的电路,当有金属物体靠近时由于电 感量的改变从而改变振荡频率。该电路的线路简单,但该方案的高 Q 值的电感不易调试。 方案二:采用霍尔集成元件,当小磁钢通过金属物体时,由于金属被磁化,从而使霍尔元 件有一信号输出。但该方案受到磁钢的磁力的大小以及铁片的大小影响较大。容易导致误 触发。方案三:采用红外对管,当小车行驶到物体前时,红外对管接收反射信号,单片机通过接 收的信号控制小车的启停。这种方案实现起来相对简单,而且抗干扰能力也强,因此我们 选用了方案三
7、。4 显示部分方案一:采用 LED 数码管显示器。 LED 数码管亮度高,醒目,但是其电路复杂,占用资源 多且信息量少。方案二:采用 1602 液晶显示器。 1602有明显的优点:工作电流比 LED 小几个数量级,功 耗很低;尺寸小;字迹清晰、美观,使人舒服;寿命长,使用方便。因此我们选用了第二 种方案。二、系统的具体设计与实现 由上述主要电路的论证与比较可以确定整个电路有以下几部分组成:单片机作为系统的微 控制器; 1602 液晶显示器构成的显示电路以及五组红外对管组成的检测部分。系统设计的 总体结构如图 1 所示。以下分硬件与软件两部分进行具体分析。1602液晶显示声光报警1、系统硬件的设
8、计(1)电机驱动模块的电路设计与实现为了操作方便以及减少插线的个数,在电机驱动模块经测量与调试后,将直流电机的 方向控制端口 IN1与IN3接高电平,IN2与IN4接低电平,从而使左右电机按顺时针方向 前进,这样我们仅控制左右电机的使能端,既可控制小车的前进方向。经测试,预期设想 得到完美实现。直流电机驱动部分电路如下图(1)所示:+7.2VVCCENABLE1MG1ENABLE2ll+5VTOR DC丄1VSS,一*IN1IN49UT1OUT4 -丄GNDGND-GNDL293GNd,-OUT2OUT3 -IN2IN3 (-VSE2 LMG2MOTOR DC电 动 机 驱 动VCC图(1)(
9、2)路线检测模块的电路设计与实现该模块核心器件为红外对管发射元件,在小车底端加左右中三个对管(左右对管间 距大于跑道宽度),用黑色胶带在白色板子上自制一个跑道,利用红外对管发射元件的原理, 当左右对管都在跑道两侧且中间对管在跑道上时,小车向前直行,当左侧对管在跑道上时,小车向右偏转,当达到直行状态时,继续向前前进。同理,当小车左偏时,按上处理。这 样就可以达到正确寻迹的目的。路线检测模块的电路如图(2)所示。输出端图(2)(3)声光报警模块电路的设计和实现当小车正常寻迹时,通过单片机控制,蜂鸣器和发光二极管关闭,当小车偏离跑道时, 蜂鸣器响同时发光二极管发光。生光报警模块电路如图(3)所示。I
10、图(3)(4)物体探测及取放货模块的电路设计与实现物体探测部分,在跑道固定货物位置,放置白色纸片,利用中间红外对管检测货物 位置,当小车到达货物位置时,中间对管接受到反射回来的红外将电平拉低,从而使小车 停止。在取放货物模块,通过中断控制步进电机开启和关闭。 当小车到达货物存放和放置的 位置时,小车停止步进电机开中断,利用步进电机的正反转使取货杆到达货物位置,然后 通过控制单片机一个断口的电平高低来启动继电器的开与闭,从而将货物取到和放回指定 位置。电路如图(4)所示。5V36VCLOCKHAIFRESETENABLEVREFCNVYlorxocC5J|Hh3nF TIECW . 2C410(
11、 nFSENSEISENSE2U11A11Y11A21Y22A12Y12A22Y21E2E1EN2ENVCC1 VCC2131448o 26911L298C2470uFC1100 nFAB- 14 -图(4)该模块同时利用定时器计数并用液晶显示实现。如图(5)所示0ZO61O10Z345610Z34O678911111113938373635343332U1Q2N2907A1C2314-_5 16- 可 DCRYSTALC19P0.0/AD0P2.0/A8P0.1/AD1P2.1/A9P0.2/AD2P2.2/A10P0.3/AD3P2.3/A11P0.4/AD4P2.4/A12P0.5/AD
12、5P2.5/A13P0.6/AD6P2.6/A14P0.7/AD7P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0-P1.3P3.3/INT1-P1.4P3.4/T0P1.5P3.5/T1P1.6P1.7P3.6/WR-P3.7/RD-XTAL1ALE/PROGXTAL2EA/VPPPSENRSTvccvss1013AT89C5153029-2123-24 -2526 -28 -W340F953-XJ20JX-35图(5)(5)显示和键盘电路的设计与实现控制端2、系统的软件设计控制电路由单片机实现,主要负责对对路线的检测与纠错,小车状态和位置的改变,
13、电机的驱动,光电报警提示等控制。(1)显示程序流程图(2)路线探测及声光报警程序流程图(3)时钟程序流程图(4)取放货物程序流程图三、系统测试1、测试设备模拟跑道,卷尺,秒表2、测试方法在该过程中,我们遵循循序渐进的方法,逐一对各部分进行调试,对各部分电路错误 的地方及时进行修改,从而将错误率减少到最低限度,进而在整个系统调试过程中可以快 速方便的找到程序编写错误或者硬件部分的错误。在系统实现上,首先对小车寻迹进行调 试以保证小车可以沿着轨道正确行进,然后对小车计数进行调试,使其在指定的货物和仓 库位置停下。在此基础上,我们进一步对直流电机和步进电机的开启和中断进行控制,从 而达到取货的目的。
14、然后再对液晶显示进行调试。最后将声光报警和无线通信进行调试。3、测试结果红色货物黄色货物绿色货物仓库A仓库B仓库C第一次停走走走走停第二次走停走走停走第三次走走停停走走四、结束语本设计综合运用光、机、电技术,实现了对小车状态和位置的控制。从最终的测试结果来 看,本系统能很好地完成题目设计要求。参考文献:单片机原理及应用,李全利 仲伟峰徐军著,清华大学出版社;模拟电子线路基础,吴运昌著,华南理工大学出版社;数字电子技术基础,阎石著,高等教育出版社;单片机设计实例,楼然苗著,北京航空航天大学出版社;单片机实验与实践,周立功著,北京航空航天大学出版社附录:附1:元器件名细表1、AT89C512、L2
15、973、L2934、1602液晶显示5、直流电机&步进电机7、蜂鸣器8、发光二极管附2:仪器设备清单1、数字万用表2、稳压电源3、微型计算机4、伟福仿真器附3 :程序清单加液晶显示程序:;35h,36h,37h,38horg 0000hljmp chusorg 0003hljmp zhongduanorg 0bhljmp tim0org 1bhljmp tim1org 0080hCOUNT50MS EQU 50HCOUNT50MS1 EQU 51HDEFLAG BIT 20H.6 rflagbit 20h.5yflagbit 20h.4bflag bit 20h.3RS EQU P1.2R_W
16、 EQU P1.1E EQU P1.0D_BUS EQU P2;P1.2 脚接 RS 端;P1.1脚接R_W端 ;P1.0脚接E端;P2 口控希9 D_BUS输出fengming equ p1.3rightenable clock cwhand equ p2.0 leftenable equ p1.7equ p1.6equ p3.5equ p3.4chus: lcall duanstart ;中断初始化 clr hand;lcall bujinstart ; 步进电机初始化 LCALL DINENABLEMOV SP,#70H;堆栈指针指向 70HLCALL INITIAL;调用启动 LCM
17、子程序进行初始化LCALL CLS;调用清除 LCM 子程序MOV A,#80H;向A送立即数80H设定显示地址为第一行第一列LCALL WRITE_COM;调用写指令到 LCM 子程序MOV DPTR,#LINEA ;将第一行第一列字符串的启始地址送入 DPTR 中LCALL DISP;调用显示字符串到 LCM 子程序MOV A,#0C0H;向 A 送立即数 0C0H 设定显示地址为第一行第九列LCALL WRITE_COM ;调用写指令到 LCM 子程序MOV DPTR,#LINEB ;将第一行第九列字符串的启始地址送入 DPTR 中 LCALL DISP;调用显示字符串到 LCM 子程序
18、mainp: lcall jumpp ; 主循环 jnb DEFLAG ,mainp lcall xiantime ;lcall DEL ljmp mainpduanstart: mov 35h,#0;中断初始化setb it0setb easetb ex0 retJ J J J J J J J J J J J J J J J J J J J J J J J J J JDINenable: MOV TMOD,#11H ;设置定时器MOVMOV mov movSETBSETBSETBTH0,#4chTL0,#00h th1,#4ch tl1,#00hEATR0ET0MOVMOVMOVMOV48H
19、,#049H,#052H,#053H,#0retTIM0: push acc ; 时钟 push psw;定时中断程序MOV TH0,#04chMOV TL0, #00hSETB DEFLAGINC COUNT50MSMOV A,COUNT50MSCJNE A,#20,LOPDINGMOV COUNT50MS,#0inc 48hmov a,48hcjne a,#60,lopdingMOV 48H,#0inc 49hMOV A,49HCJNE A,#60,LOPDINGMOV 49H,#0lopding: pop psw pop accRETITIM1: push acc ; 时钟push ps
20、w ;52 秒,53 分 ;定时中断程序MOV TH1,#04chMOV TL1, #00hSETB DEFLAGINC COUNT50MS1MOV A,COUNT50MS1CJNE A,#20,LOPDINGMOV COUNT50MS1,#0 inc 52h mov a,52h cjne a,#60,lopdingMOV 52H,#0 inc 53h MOV A,53HCJNE A,#60,LOPDING MOV 53H,#0lopding1: pop psw pop accRETI- 30 -strightp: setbleftenable;向前走setbrightenabledelayp
21、lcall retleftp:clr rightenable ; 左拐 setb leftenablelcalldelaypclrleftenableretrightp: clr leftenable;右拐baocuop:setb fengming报警让蜂鸣器响setbrightenablelcalldelaypclr retrightenableret; ;小车方向调整jumpp:setb p3.1setb p3.3;you;zuomov a,p3 anl a,#0ah;取后两位cjne a,#00h,zhuan1lcall strightp;等于 11111100 朝前走ljmp fanh
22、ui;等于 11111110向左转;等于 11111101向右转zhuan1: cjne a,#08h,zhuan2 lcall leftp ljmp fanhuizhuan2: cjne a,#02h,baocuo lcall rightp ljmp fanhuibaocuo: lcall strightp fanhui: retzhongduan: mov 55h,#200 lopdelay: lcall delayp djnz 55h,lopdelayexit:jb p3.2,exit inc 35h lcall judgep reti;中断stop:go:clr leftenable;
23、 停车clr rightenableretsetb leftenablesetb rightenable retjudgep:mov a,35hcjne a,#1,tiao2;判别停止位置tiao2:tiao7:tiao10:lcall stoplcall delayp1reticjne a,#2,tiao7lcall stoplcall jishisetb rflaglcall quhuo;SETB P1.5; 红货 红灯亮;CLR P1.4reticjne a,#7,tiao10lcall stopclr rflaglcall fanghuoreticjne a,#10,tiao13lca
24、ll stoplcall jishisetb yflaglcall quhuo;CLR P1.5;绿货 绿灯亮;SETB P1.4retitiao13: cjne a,#13,tiao18lcall stopclr yflag lcall fanghuoretitiao18: cjne a,#18,tiao19lcall stoplcall jishisetb bflaglcall quhuo;SETB P1.5 ; 黄货黄灯亮;SETB P1.4retitiao19: cjne a,#19,tiao22lcall stopclr bflag lcall fanghuoretitiao22:
25、cjne a,#22,tiaotingdelayp: MOVD01: MOVR5,#4;转向延时R7,#123lcall stop mov 35h,#0 jmp $tiaoting:retiNOPD02: DJNZ R7,D02DJNZ r5,D01RETdelayp1:mov r6 ,#30;5 秒延时d010 :MOVR3,#200D011:MOVR4,#123NOPnopnopD012:DJNZR4,D012DJNZ r3,D011 djnz r6,d010 RET; 取货 quhuo: clr cw;步进电机正转mov 37h,#2lop10: mov 36h,#200 loop10:
26、 cpl clock lcall delayp djnz 36h, loop10 djnz 37h,lop10 setb hand lcall delayp1;延时 5s 等待取货setb cw ; 步进电机反转 mov 37h,#2lop11: mov 36h,#200 loop11: cpl clock lcall delayp djnz 36h, loop11 djnz 37h,lop11 ret; 放货 fanghuo: clr cw ;步进电机正转mov 37h,#2lop20:mov 36h,#200loop20:cpl clock lcall delayp djnz 36h, l
27、oop20 djnz 37h,lop20 clr hand lcall delayp1;延时 5s 等待取货setb cw ; 步进电机反转 mov 37h,#2lop21:mov 36h,#200loop21:cpl clock lcall delayp djnz 36h, loop21 djnz 37h,lop21 ret retxiantime:jnb rflag ,ylopMOV 38h,#86h;向 A 送立即数 80H 设定显示地址为第一行第一列mov 39h,52hlcall xian1mov 38h,#83hmov39h,53hlcall xian1 ; 黄J J J J J
28、J J J J J J J J J J JJ /、ylop: jnb yflag,blop mov 38h,#8Fh mov 39h,52h lcall xian1 mov 38h,#8Ch mov 39h,53h lcall xian1; ; 绿J J J J J J J J J J J J J J J JJ *J、blop: jnb bflag,zlop mov38h,#0c6hmov39h,52hlcall xian1 mov38h,#0c3hmov39h,53hlcall xian1J J J J J J J J J !; 总时zlop:mov 38h,#0cFh mov 39h,48
29、h lcall xian1mov 38h,#0cCh mov 39h,49h lcall xian1 retxian1: mov a,38hLCALL WRITE_COM ;调用写指令到 LCM 子程序 mov a,39h ;将第一行第一列字符串的启始地址送入 DPTR 中 lcall ascchangeLCALL WRITE_DATA ;调用写数据到 LCM 子程序 ;调用 显示字符 串到 LCM 子程序DEC 38HMOV A,38HLCALL WRITE_COMMOV A,BLCALL WRITE_DATA ;调用写数据到 LCM 子程序 ret;显示入口参数LINEA: DB r.00
30、:00 y.00:00,00HLINEb: DBb.00:00 t.00:00,00HJ J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J JINITIAL: ;启动 LCM 子程序MOVA,#38H;设置显示模式,设置16X2显示,5X7点阵,8位数据接口LCALL WRITE_COMMOVA,#0CH;设置显示开或关及光标 ,开显示,不显示光标LCALL WRITE_COMMOVA,#06H;设置显示开或关及光标 ,地址指针及光标加一LCALL WRITE_COMRETJ J J
31、J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J JCHECK_BUSY:;查询忙碌信号子程序PUSH BUSY_ CLR SETB CLR SETB MOV CLRACCLOOP:ER_WRSEA,D_BUSEJB ACC.7,BUSY_LOOPPOPACCLCALL DELRETJ J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J JWRITE_COM:;写指令到 LCM 子程序L
32、CALL CHECK_BUSYCLRCLRCLRSETBMOVCLRRETERSR_WED_BUS,AEWRITE_DATA:;写数据到 LCM 子程序LCALL CHECK_BUSYCLR ESETBRSCLRR_WSETBEMOVD_BUS,ACLRERETJ J J J J J J J J JCLS:J J J J J J J J J J J J J J J J J J J J J J J JJ J J J J J J J;清除 LCM 子程序MOVA,#01H; 显示清屏LCALL WRITE_COMRETJ J J J J J J J J JDEL:J J J J J J J J J
33、 J J J J J J J J J J J J J J JJ J J J J J J JMOVR1,#5;2.7ms 延时子程序D1:MOVR2,#248DJNZR2,$DJNZR1,D1RET 日冷氏izfaJ J J J J J J J J JJ J J J J J J J J J J J J J J J J J J J J J J J; 显示字符串DISP:PUSHACC ;将A的内容压栈DISP_LOOP:CLRA ;A 清零MOVC A,A+DPTR ;查表将字符串内容送入 A JZ END_DISP ;若查到的内容为 00H 则终止查表 LCALL WRITE_DATA ;调用写
34、数据到 LCM 子程序 INC DPTR ;DPTR 加 1 指向下一个对象 SJMP DISP_LOOP;跳转到 DISP_LOOP 循环执行END_DISP:POP ACC;弹出压栈内容至 ARET;入口 A,出口高位 ASC B,低位ASC Aascchange:movb,#10divabadda,#30hxcha,badda,#30hRETjishi: SETB TR1SETBET1movth1,#4chmovtl1,#00hMOV52H,#0MOV53H,#0ret不加液晶显示程序:;35h,36h,37h,38horg 0000hljmp chusorg 0003hljmp zho
35、ngduan org 0080hfengmingequp1.3handequp2.0leftenableequ p1.7rightenableequ p1.6clockequp3.5cw equ p3.4chus: lcall duanstart ;中断初始化 clr hand;lcall bujinstart ; 步进电机初始化mainp: lcall jumpp ; 主循环ljmp mainpduanstart: mov 35h,#0;中断初始化setb it0setb easetb ex0retstrightp:J J J J J J J J J J J J J J J J setbJ
36、J J J J J J J J J J Jleftenable;向前走setbrightenablelcall retdelaypJ J J J J J J J J J J J J Jleftp:J J J J J J J J J J J J J J J J J clrsetbJ J J J J J J J Jrightenable leftenable;左拐lcall clr retdelaypleftenableJ J J J J J J J J J J Jrightp:J J J J J J J J J J J J J J J J JclrJ J J J J J J J J J J Jl
37、eftenable;右拐setbrightenablelcalldelaypclr rightenable retbaocuop:setb fengming报警让蜂鸣器响ret; ;小车方向调整jumpp:setb p3.1setb p3.3;you;zuomov a,p3 anl a,#0ah;取后两位cjne a,#00h,zhuan1lcall strightp;等于 11111100 朝前走ljmp fanhui;等于 11111110向左转zhuan1: cjne a,#08h,zhuan2 lcall leftp ljmp fanhui;等于 11111101向右转zhuan2:
38、cjne a,#02h,baocuo lcall rightp ljmp fanhuibaocuo: lcall strightp fanhui: retJ J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J Jzhongduan: mov 38h,#200lopdelay:lcall delaypdjnz 38h,lopdelayjb p3.2,exit ;中断 inc 35h lcall judgepexit:retiJ J J J J J J J J J J J J Jstop:J J J J J J J J J J J J J J J J J J J J J J J J J J J J Jclr leftenable;停车clr rightenableretgo:setb leftenable setb rightenable retJ J J J J J J J J J J J1judgep:1J J J J J J J J J J J J J J J Jmov a,35hcjne a,#1,tiao2;判别停止位置lcall stoplcall delayp1;lcall
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园课件大班语言花开歌模板
- 社区民宿经济的机遇与挑战计划
- 创意班级展示的策划思路计划
- 2025年中考数学考点分类专题归纳之图形的对称
- 24.1.2垂直于弦的直径说课市公开课
- 新人教版高中数学必修第二册第十章概率教案
- 公共场所夏季安全隐患排查总结
- 人际交往团体活动
- 国外垃圾污染
- 心内科护理典型案例分享
- 【培训课件】医疗技术准入制度培训-医疗技术管理
- 船舶航行能耗优化与效率提升
- 项目对比方案模板
- 颅内动脉瘤围手术期的护理
- 认识休克管理休克课件
- 2024年插花花艺师培训考试题库(含答案)
- 垃圾分类对促进农村环境整治的助推
- 煤矿井下机械设备维修及常见故障处理培训课件
- 常州高级中学2022~2023学年高一上学期期中质量检查化学试题(原卷版)
- 慢性乙型肝炎防治指南(2022年版)
- 一年级数学上册第四单元测试卷(一)
评论
0/150
提交评论