电动货物搬运车Word文档格式.docx

上传人:b****6 文档编号:21500729 上传时间:2023-01-30 格式:DOCX 页数:33 大小:215.75KB
下载 相关 举报
电动货物搬运车Word文档格式.docx_第1页
第1页 / 共33页
电动货物搬运车Word文档格式.docx_第2页
第2页 / 共33页
电动货物搬运车Word文档格式.docx_第3页
第3页 / 共33页
电动货物搬运车Word文档格式.docx_第4页
第4页 / 共33页
电动货物搬运车Word文档格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

电动货物搬运车Word文档格式.docx

《电动货物搬运车Word文档格式.docx》由会员分享,可在线阅读,更多相关《电动货物搬运车Word文档格式.docx(33页珍藏版)》请在冰豆网上搜索。

电动货物搬运车Word文档格式.docx

采用电感线圈构成一电感式三点式高频振荡的电路,当有金属物体靠近时由于电感量的改变从而改变振荡频率。

该电路的线路简单,但该方案的高Q值的电感不易调试。

方案二:

采用霍尔集成元件,当小磁钢通过金属物体时,由于金属被磁化,从而使霍尔元件有一信号输出。

但该方案受到磁钢的磁力的大小以及铁片的大小影响较大。

容易导致误触发。

方案三:

采用红外对管,当小车行驶到物体前时,红外对管接收反射信号,单片机通过接收的信号控制小车的启停。

这种方案实现起来相对简单,而且抗干扰能力也强,因此我们选用了方案三。

4显示部分

采用LED数码管显示器。

LED数码管亮度高,醒目,但是其电路复杂,占用资源多且信息量少。

采用1602液晶显示器。

1602有明显的优点:

工作电流比LED小几个数量级,功耗很低;

尺寸小;

字迹清晰、美观,使人舒服;

寿命长,使用方便。

因此我们选用了第二种方案。

二、系统的具体设计与实现由上述主要电路的论证与比较可以确定整个电路有以下几部分组成:

单片机作为系统的微控制器;

1602液晶显示器构成的显示电路以及五组红外对管组成的检测部分。

系统设计的总体结构如图1所示。

以下分硬件与软件两部分进行具体分析。

1、系统硬件的设计

(1)电机驱动模块的电路设计与实现

为了操作方便以及减少插线的个数,在电机驱动模块经测量与调试后,将直流电机的方向控制端口IN1与IN3接高电平,IN2与IN4接低电平,从而使左右电机按顺时针方向前进,这样我们仅控制左右电机的使能端,既可控制小车的前进方向。

经测试,预期设想得到完美实现。

直流电机驱动部分电路如下图

(1)所示:

+7.2V

VCC

ENABLE1

MG1

ENABLE2

■'

ll

+5V

TORDC

丄1

VSS,一

*IN1

IN4

9UT1

OUT4■-

丄GND

GND-

-GND

L293GNd,

-OUT2

OUT3-

-IN2

IN3(

-VS

E2L

MG2

MOTORDC

电动机驱动

(1)

(2)路线检测模块的电路设计与实现

该模块核心器件为红外对管发射元件,在小车底端加左右中三个对管(左右对管间距大于跑道宽度),用黑色胶带在白色板子上自制一个跑道,利用红外对管发射元件的原理,当左右对管都在跑道两侧且中间对管在跑道上时,小车向前直行,当左侧对管在跑道上时,

小车向右偏转,当达到直行状态时,继续向前前进。

同理,当小车左偏时,按上处理。

这样就可以达到正确寻迹的目的。

路线检测模块的电路如图

(2)所示。

输出端

(2)

(3)声光报警模块电路的设计和实现

当小车正常寻迹时,通过单片机控制,蜂鸣器和发光二极管关闭,当小车偏离跑道时,蜂鸣器响同时发光二极管发光。

生光报警模块电路如图(3)所示。

■I

图(3)

(4)物体探测及取放货模块的电路设计与实现

物体探测部分,在跑道固定货物位置,放置白色纸片,利用中间红外对管检测货物位置,当小车到达货物位置时,中间对管接受到反射回来的红外将电平拉低,从而使小车停止。

在取放货物模块,通过中断控制步进电机开启和关闭。

当小车到达货物存放和放置的位置时,小车停止步进电机开中断,利用步进电机的正反转使取货杆到达货物位置,然后通过控制单片机一个断口的电平高低来启动继电器的开与闭,从而将货物取到和放回指定位置。

电路如图(4)所示。

5V

36V

CLOCK

HAIF

RESET

ENABLE

VREF

CNVY

lorx^oc

SENSEI

SENSE2

U1

1A1

1Y1

1A2

1Y2

2A1

2Y1

2A2

2Y2

1E

2E

1EN

2EN

VCC1VCC2

L298

C2

470uF

C1

100nF

图(4)

该模块同时利用定时器计数并用液晶显示实现。

如图(5)所示

0ZO61

O10Z3456

10Z34O67891111111

39

38

37

36

35

34

33

32

Q2N2907A

1

31

4

■-_5—1~~6-^可D

CRYSTAL

—9

P0.0/AD0

P2.0/A8

P0.1/AD1

P2.1/A9

P0.2/AD2

P2.2/A10

P0.3/AD3

P2.3/A11

P0.4/AD4

P2.4/A12

P0.5/AD5

P2.5/A13

P0.6/AD6

P2.6/A14

P0.7/AD7

P2.7/A15

P1.0

P3.0/RXD

P1.1

P3.1/TXD

P1.2

P3.2/INT0-

P1.3

P3.3/INT1-

P1.4

P3.4/T0

P1.5

P3.5/T1

P1.6

P1.7

P3.6/WR-

P3.7/RD-

XTAL1

ALE/PROG

XTAL2

EA/VPP

PSEN

RST

vcc

vss

10

13

AT89C51

■^5—

30

29-

21

^23—

■-24—-25—

26-

28-

W340

F953-XJ

2

JX-35]

控制端

 

2、系统的软件设计

控制电路由单片机实现,主要负责对对路线的检测与纠错,小车状态和位置的改变,电机的驱动,光电报警提示等控制。

(1)显示程序流程图

(2)路线探测及声光报警程序流程图

(3)时钟程序流程图

(4)取放货物程序流程图

三、系统测试

1、测试设备

模拟跑道,卷尺,秒表

2、测试方法

在该过程中,我们遵循循序渐进的方法,逐一对各部分进行调试,对各部分电路错误的地方及时进行修改,从而将错误率减少到最低限度,进而在整个系统调试过程中可以快速方便的找到程序编写错误或者硬件部分的错误。

在系统实现上,首先对小车寻迹进行调试以保证小车可以沿着轨道正确行进,然后对小车计数进行调试,使其在指定的货物和仓库位置停下。

在此基础上,我们进一步对直流电机和步进电机的开启和中断进行控制,从而达到取货的目的。

然后再对液晶显示进行调试。

最后将声光报警和无线通信进行调试。

3、测试结果

红色货物

黄色货物

绿色货物

仓库A

仓库B

仓库C

第一次

第二次

第三次

四、结束语

本设计综合运用光、机、电技术,实现了对小车状态和位置的控制。

从最终的测试结果来看,本系统能很好地完成题目设计要求。

参考文献:

《单片机原理及应用》,李全利仲伟峰徐军著,清华大学出版社;

《模拟电子线路基础》,吴运昌著,华南理工大学出版社;

《数字电子技术基础》,阎石著,高等教育出版社;

《单片机设计实例》,楼然苗著,北京航空航天大学出版社;

《单片机实验与实践》,周立功著,北京航空航天大学出版社

附录:

元器件名细表

1、AT89C51

2、L297

3、L293

4、1602液晶显示

5、直流电机

&

步进电机

7、蜂鸣器

8、发光二极管

仪器设备清单

1、数字万用表

2、稳压电源

3、微型计算机

4、伟福仿真器

附3:

程序清单

加液晶显示程序:

35h,36h,37h,38h

org0000h

ljmpchus

org0003h

ljmpzhongduan

org0bh

ljmptim0

org1bh

ljmptim1

org0080h

COUNT50MSEQU50H

COUNT50MS1EQU51H

DEFLAGBIT20H.6rflagbit20h.5

yflagbit20h.4

bflagbit20h.3

RSEQUP1.2

R_WEQUP1.1

EEQUP1.0

D_BUSEQUP2

;

P1.2脚接RS端

P1.1脚接R_W端;

P1.0脚接E端

P2口控希9D_BUS输出

fengmingequp1.3handequp2.0leftenableequp1.7

rightenableclockcw

equp1.6

equp3.5

equp3.4

chus:

lcallduanstart;

中断初始化clrhand

lcallbujinstart;

步进电机初始化LCALLDINENABLE

MOVSP,#70H;

堆栈指针指向70H

LCALLINITIAL;

调用启动LCM子程序进行初始化

LCALLCLS;

调用清除LCM子程序

MOVA,#80H;

向A送立即数80H设定显示地址为第一行第一列

LCALLWRITE_COM;

调用写指令到LCM子程序

MOVDPTR,#LINEA;

将第一行第一列字符串的启始地址送入DPTR中

LCALLDISP;

调用显示字符串到LCM子程序

MOVA,#0C0H;

向A送立即数0C0H设定显示地址为第一行第九列

MOVDPTR,#LINEB;

将第一行第九列字符串的启始地址送入DPTR中LCALLDISP;

mainp:

lcalljumpp;

主循环jnbDEFLAG,mainplcallxiantime;

lcallDELljmpmainp

duanstart:

mov35h,#0;

中断初始化

setbit0

setbea

setbex0ret

JJJJJJJJJJJJJJJJJJJJJJJJJJJ

DINenable:

MOVTMOD,#11H;

设置定时器

MOV

MOVmovmov

SETB

TH0,#4ch

TL0,#00hth1,#4chtl1,#00h

EA

TR0

ET0

48H,#0

49H,#0

52H,#0

53H,#0

ret

TIM0:

pushacc;

时钟pushpsw

定时中断程序

MOVTH0,#04ch

MOVTL0,#00h

SETBDEFLAG

INCCOUNT50MS

MOVA,COUNT50MS

CJNEA,#20,LOPDING

MOVCOUNT50MS,#0

inc48h

mova,48h

cjnea,#60,lopding

MOV48H,#0

inc49h

MOVA,49H

CJNEA,#60,LOPDING

MOV49H,#0

lopding:

poppswpopacc

RETI

TIM1:

时钟

pushpsw;

52秒,53分;

MOVTH1,#04ch

MOVTL1,#00h

INCCOUNT50MS1

MOVA,COUNT50MS1

MOVCOUNT50MS1,#0inc52hmova,52hcjnea,#60,lopding

MOV52H,#0inc53hMOVA,53H

CJNEA,#60,LOPDINGMOV53H,#0

lopding1:

strightp:

setb

leftenable

向前走

setb

rightenable

delayp

lcallret

leftp:

clrrightenable;

左拐setbleftenable

lcalldelayp

clrleftenable

lcall

clrret

;

小车方向调整

jumpp:

setbp3.1

setbp3.3

you

zuo

mova,p3anla,#0ah

取后两位

cjnea,#00h,zhuan1

lcallstrightp;

等于11111100朝前走

ljmpfanhui

等于11111110向左转

等于11111101向右转

zhuan1:

cjnea,#08h,zhuan2lcallleftpljmpfanhui

zhuan2:

cjnea,#02h,baocuolcallrightpljmpfanhui

baocuo:

lcallstrightpfanhui:

ret

zhongduan:

mov55h,#200lopdelay:

lcalldelaypdjnz55h,lopdelay

exit:

jbp3.2,exitinc35hlcalljudgepreti

中断

stop:

go:

clrleftenable;

停车

clrrightenable

setbleftenable

setbrightenableret

judgep:

mova,35h

cjnea,#1,tiao2;

判别停止位置

tiao2:

tiao7:

tiao10:

lcallstop

lcalldelayp1

reti

cjnea,#2,tiao7

lcalljishi

setbrflag

lcallquhuo

SETBP1.5;

红货红灯亮

CLRP1.4

cjnea,#7,tiao10

clrrflag

lcallfanghuo

cjnea,#10,tiao13

setbyflag

CLRP1.5;

绿货绿灯亮

SETBP1.4

tiao13:

cjnea,#13,tiao18

clryflaglcallfanghuo

tiao18:

cjnea,#18,tiao19

setbbflag

黄货黄灯亮

tiao19:

cjnea,#19,tiao22

clrbflaglcallfanghuo

tiao22:

cjnea,#22,tiaoting

lcallstopmov35h,#0jmp$

tiaoting:

NOP

D02:

DJNZR7,D02

DJNZr5,D01

RET

delayp1:

movr6,#30;

5秒延时

d010:

R3,#200

D011:

R4,#123

nop

D012:

DJNZ

R4,D012

DJNZr3,D011djnzr6,d010RET

取货quhuo:

clrcw;

步进电机正转

mov37h,#2

lop10:

mov36h,#200loop10:

cplclocklcalldelaypdjnz36h,loop10djnz37h,lop10setbhandlcalldelayp1;

延时5s等待取货

setbcw;

步进电机反转mov37h,#2

lop11:

mov36h,#200loop11:

cplclocklcalldelaypdjnz36h,loop11djnz37h,lop11ret

放货fanghuo:

lop20:

mov36h,#200

loop20:

cplclocklcalldelaypdjnz36h,loop20djnz37h,lop20clrhandlcalldelayp1;

lop21:

loop21:

cplclocklcalldelaypdjnz36h,loop21djnz37h,lop21retret

xiantime:

jnbrflag,ylop

MOV38h,#86h

向A送立即数80H设定显示地址为第一行第一列

mov39h,52h

lcallxian1

mov38h,#83h

mov39h,53h

lcallxian1;

JJJJJJJJJJJJJJJJJ/、

ylop:

jnbyflag,blopmov38h,#8Fhmov39h,52hlcallxian1mov38h,#8Chmov39h,53hlcallxian1

绿

JJJJJJJJJJJJJJJJJ*"

<

J、

blop:

jnbbflag,zlopmov38h,#0c6h

lcallxian1mov38h,#0c3h

JJJJJJJJJ!

总时

zlop:

mov38h,#0cFhmov39h,48hlcallxian1

mov38h,#0cChmov39h,49hlcallxian1ret

xian1:

mova,38h

调用写指令到LCM子程序mova,39h;

将第一行第一列字符串的启始地址送入DPTR中lcallascchange

LCALLWRITE_DATA;

调用写数据到LCM子程序;

调用显示字符串到LCM子程序

DEC38H

MOVA,38H

LCALLWRITE_COM

MOVA,B

LCALLWRITE_DATA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1