基于单片机的机械臂控制系统设计与制作.docx

上传人:b****3 文档编号:4001394 上传时间:2023-05-06 格式:DOCX 页数:28 大小:264.84KB
下载 相关 举报
基于单片机的机械臂控制系统设计与制作.docx_第1页
第1页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第2页
第2页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第3页
第3页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第4页
第4页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第5页
第5页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第6页
第6页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第7页
第7页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第8页
第8页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第9页
第9页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第10页
第10页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第11页
第11页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第12页
第12页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第13页
第13页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第14页
第14页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第15页
第15页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第16页
第16页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第17页
第17页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第18页
第18页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第19页
第19页 / 共28页
基于单片机的机械臂控制系统设计与制作.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的机械臂控制系统设计与制作.docx

《基于单片机的机械臂控制系统设计与制作.docx》由会员分享,可在线阅读,更多相关《基于单片机的机械臂控制系统设计与制作.docx(28页珍藏版)》请在冰点文库上搜索。

基于单片机的机械臂控制系统设计与制作.docx

基于单片机的机械臂控制系统设计与制作

基于单片机的机械臂控制系统设计与制作

电子信息科学与技术专业

学号:

姓名:

班级:

电科081

日期:

2011.10.26

AnhuiPolytechnicL*niversity

课程设计题目及要求

第一章绪论

1.1设计题目及要求

1.2设计内容

第一章

硬件设计

2.1硬件结构图

2.2各模块工作原理及设计

2.2.1

控制模块

2.2.2

显示模块

2.2.3

按键模块

2.2.4

舵机模块

2.3软件程序设计

第三章硬件制作以及程序的下载调试

3.1电路板的制作

3.2元器件的焊接

3.3程序的下载与调试

第四章总结

4.1课程设计体会

4.2奇瑞参观感受

AilhuiPol>tvchiii.cI'niver?

*ilj

课程设计题目及要求

题目

基于单片机的机械臂控制系统设计与制作

实习内容:

1,完成基于单片机的机械臂控制系统原理图和PCB的绘制,在基本要求的基础上自己可以作一定的扩展;

2,利用热转印纸、三氯化铁腐蚀液等完成PCB板的制作;

3,完成相应电路的焊接和调试;

4,完成相应软件程序的编写;

5,完成软、硬件的联调;

6,交付实习报告。

实习要求:

1,两人一组,自由搭配,但要遵循能力强弱搭配、男女搭配、考研和不考研的搭配;

2,充分发挥主观能动性,遇到问题尽量自己解决,在基本要求基础上可自由发挥;

3,第一次制作电路,电路不可追求复杂;

4,注意安全!

熨斗、烙铁。

AilhuiPol>tvchiii.cI'niver?

*ilj

第一章绪论

单片机自20世纪70年代问世以来,以其极高的性价比,受到人们的重视和关注,应用广泛,发展迅速。

单片机集体积小、重量轻、抗干扰能力强、环境要求低、价格低廉、可靠性高、灵活性好、开发较为容易等众多优点,以广泛用于工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,无论在民间、商业、及军事领域单片机都发挥着十分重要的作用

二十一世纪,随着机械化、自动化水平的不断提高,不仅减轻了劳动强度、提高生产率,而且把人类活动从危险、恶劣环境中替换出来。

而其中机器人技术,显示出极大的优越性;在宇宙探索、海洋开发以及军事应用上具有重要的实用价值。

大力发展机器人技术,一方面能让社会从劳动苦力型转换到福利休闲型,另一方面能极大的提高民众的幸福感。

在新时期的世界各国,随着应用日益广泛,机器人技术将不断发展并走向成熟。

本次课程设以单片机作为控制器实现对机械手臂的简单控制。

单片机最小系统的基础上扩展按键接口和舵机接口以及LED显示器,

构成最简单的机械臂控制系统。

AnhuiPolytechnicUniversity

第二章硬件设计

2.1硬件结构图

本系统的控制器采用的是STC12C5A32S2单片机,具有A/D转换功能,并能产生PWM信号,有内部EEPROM双串口,具有单时钟/机器周期(1T),是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码不仅完全兼容传统8051,而且速度快8-12倍。

本系统是在单片机最小系统的基础上扩展键盘接口和舵机接口以及LED显示模块。

硬件结构图如下:

图1硬件结构

221控制模块

本系统的控制模块选用STC12C5A32S2单片机

引脚及功能:

STC12C5A32S单片机引脚图

P0.0—P0.7(39—32引脚):

P0口是一个漏极开路型准双向I/O口。

在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。

在EPRO编程时,它接收指令字节,而在验证程序时,则输出指令字节。

验证时,必须外接上拉电阻。

P1.0—P1.7(1-8):

P1口是带内部上拉电阻的8位双向I/O口。

在EPRO编程和程序验证时,它接收低8位地址。

AniluiPolytvch11icInivernity

P2.0—P2.7(21-28):

P2口是一个带内部上拉电阻的8位双向I/O口。

在访问外部存储器时,它送出高8位地址。

在对EFROM编程和程序验证期间,它接收高8位地址。

P3.0—P3.7(10-17):

P3口是一个带内部上拉电阻的8位双向I/O口。

STC12C5A60S2/AD/PW系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。

内部集成MAX810专用复位电路,2路PWM,路高速10位A/D转换(250K/S),针对电机控制、强干扰场合。

本次设计基本原理是通过P3口的6个引脚输出周期固定占空比可调的PWM波形来控制舵机的转动及角度,通过按键实现对舵机角度的控制,从而实现对物品的转移。

通过P0口输出数据以及P2口高四位的扫描实现数码管的显示。

通过P1口以及P2低四位引脚连接按键,控制舵机转动。

2.2.2舵机模块

舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。

目前在航模,包括飞机模型、潜艇模型,遥控机器人中已经使用得比较普遍。

舵机是一种俗称,其实是一种伺服马达。

一般来讲,舵机主要由以下几个部分组成:

舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等。

工作原理:

控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。

舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。

标准的舵机有3条导线,分别是:

电源线、地线、控制线,如图

AnhuiPolytechnicUniversity

2所示。

电源和地线给舵机提供最基本的能源保证,主要是电机的转动消耗。

输岀转轴

电源线%—地线GND

控制线—

舵机的控制信号为周期是20ms的脉宽调制(PWM信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0—180度,呈线性变化。

也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。

程序实现上可通过定时器来实现

90

图3舵机输出转角与输入信号脉冲宽度的关系

舵机的转速取决于信号脉宽的变化速度。

如果信号脉宽变化速度太较快的话,舵机会反应不过来;将脉宽变化值线性到要求的时间内,一点一点的增加脉宽值,就可以控制舵机的速度了。

具体来说需要在调试时修改数值,以使舵机的运动更平滑。

由于舵机在每一次脉宽值改变的时候总会有一个转速由零增加再减速为零的过程,所以舵机会

产生像步进电机一样运动的原因。

由于本设计中选用的舵机所需电源与单片机电源不一致故要单独供电,地线应接在一起。

同时因为舵机所需的驱动电流比较大,因此P3输出口需接上拉电阻。

223显示模块

由于LED显示器集易控制、性能很稳定、耗能少、成本低等众多优点故本设计米用LED显示器

本次设计,选用四联LED显示器,采用动态扫描方式,分别显示所按键位和转动角度。

LED的每段需接一个限流电阻再接至

LED显

P0口,显示电路如下图所示。

这样,就完成的扩展模块的示功能,可以很清晰的观察到对应的舵机转动的角度。

LED显示电路

224按键模块

本系统采用独立按键查询工作方式,通过12个(6组)按键

控制舵机的转动,即通过P2口低四位和P1口控制六个自由度的

舵机正反转动。

由于系统比较简单,且接口充足,所以采用独立按键即可。

当有按键按下时,可控制不同的舵机转动,其中两个按键控制一个舵机,分别控制舵机的正向转动和反向转动。

转动的度数可以通过按键时间的长短控制,最大的转动角度为180度。

2.3软件程序设计

由于使用汇编程序编程能对单片机内部结构及运行原理有深一步了解,同时有程序占用存储空间小等优点,故本实验采用汇编语言

汇编语言的特点:

目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

汇编语言基本保留了机器语言的灵活性。

使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

汇编语言程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。

目标程序是机器语言程序,当它被安置在内存的预定位置上,就能被计算机的CPU处理和执行。

 

汇编程序如下:

ORG0000H

LJMPMAIN

ORG000BH

LJMPT0INT

ORG001BH

LJMPT1INT

ORG1000H

MEDLEQU4EH

MEDHEQU4FH

WAVEEQU33H

DGLEQU30H

DGHEQU31H

FLAGEQU32H

RANG_SEQU2FH.1

RANG_XEQU2FH.2

FLAG_XEQU2FH.0

DIS_DATEQU55H

LED_DUANEQUP0

NUM_JIEQU58H

NUM_DATEQU37H

NUM_FLAGEQU3EH

MAIN:

MOVTMOD,#11H

MOVTH0,#0B1H

MOVTL0,#0F7H

SETBET1

SETBET0

SETBEA

SETBTR0

MOVMEDH,#0FAH

MOVMEDL,#3AH

MOVSP,#60H

MOVWAVE,#0EFH

MOVFLAG,#0

CLRRANG_S

CLRRANG_X

CLRFLAG_X

MOVNUM_FLAG,#0

MOVDGL,#40H

MOVDGH,#41H

MOV41H,#0FAH

MOV40H,#3AH

MOV43H,#0FAH

MOV42H,#3AH

MOV45H,#0FAH

MOV44H,#3AH

MOV47H,#0FAH

MOV46H,#3AH

MOV49H,#0FAH

MOV48H,#3AH

MOV4BH,#0FAH

MOV4AH,#3AH

MOV38H,#0

MOV39H,#0

MOV3AH,#0

MOV3BH,#0

MOV3CH,#0

MOV3DH,#0

MOV55H,#0

MOV56H,#0

MOV57H,#16

MOV58H,#0

START:

LCALLPADCES

LCALLDISPLAY

JMPSTART

DISPLAY:

SETBP2.4

CLRP2.5

CLRP2.6

CLRP2.7

MOVA,#3

LCALLDUANXIAN

CLRP2.4

SETBP2.5

CLRP2.6

CLRP2.7

MOVA,#2

LCALLDUANXIAN

CLRP2.4

CLRP2.5

SETBP2.6

CLRP2.7

MOVA,#1

LCALLDUANXIAN

CLRP2.4

CLRP2.5

CLRP2.6

SETBP2.7

MOVA,#0

LCALLDUANXIAN

RET

DUANXIAN:

ADDA,#DIS_DAT

MOVR0,A

MOVA,@R0

MOV

DPTR,#TAB_duan

MOVCA,@A+DPTR

MOVLED_DUAN,A

MOVR5,#0FFH

MOVR6,#3

DO:

DJNZR5,$

MOVR5,#0FFH

DJNZR6,DO

RET

TAB_duan:

DB

0C0H,0F9H,0A4H,0B0H,99H,92

H,82H,0F8H

DB

80H,90H,88H,83H,0C6H,0A1H,

86H,8EH,0BFH,0FFH

PADCES:

MOVP1,#0FFH

MOVA,P2

ANLA,#0F0H

ORLA,#0FH

MOVP2,A

MOVA,P1

CPLA

JZNEXTC

JMPDNDN

NEXTC:

MOVA,P2

CPLA

ANLA,#0FH

JZNN

JMPDNDN

NN:

LJMPBAN

DNDN:

MOVR6,#10

DO1:

MOVR5,#0FFH

DJNZR5,$

DJNZR6,DO1

PD:

MOVA,P1

CPLA

JZNEXTP

CJNEA,#1,PAN1MOVFLAG,#1JMPPDN

PAN1:

CJNEA,#2H,PAN2

MOVFLAG,#2JMPPDN

PAN2:

CJNEA,#4H,PAN3MOVFLAG,#3JMPPDN

PAN3:

CJNEA,#8H,PAN4MOVFLAG,#4JMPPDN

PAN4:

CJNEA,#10H,PAN5

MOVFLAG,#5JMPPDN

PAN5:

CJNEA,#20H,PAN6

MOVFLAG,#6JMPPDN

PAN6:

CJNEA,#40H,PAN7

MOVFLAG,#7JMPPDN

PAN7:

CJNEA,#80H,PDN

MOVFLAG,#8JMPPDN

NEXTP:

MOVA,P2

CPLA

ANLA,#0FH

JZBAND

JMPKED

BAND:

LJMPBAN

KED:

MOVA,P2

CPLA

ANLA,#0FH

CJNEA,#1,PAN11

MOVFLAG,#9

JMPPDN

PAN11:

CJNEA,#2,PAN12

MOVFLAG,#10

JMPPDNPAN12:

CJNEA,#4,PAN13

MOVFLAG,#11

JMPPDNPAN13:

CJNEA,#8,PDN

MOVFLAG,#12

JMPPDN

PDN:

LCALLDATCES

CES:

MOVA,FLAG

MOVB,#2

CLRC

DIVAB

MOVA,B

JZJIA

SETBFLAGX

JMPDN

JIA:

CLRFLAG_X

DN:

LCALLCHESHI

JBFLAG_X,C1

JBRANG_S,JIN

CLRRANG_X

MOVR0,DGL

MOVR1,DGH

MOVA,@R0

CLRC

ADDA,#01H

JMPC2

C1:

JBRANG_X,JIN

CLRRANG_S

MOVR0,DGL

MOVR1,DGH

MOVA,@R0

CLRC

SUBBA,#01H

C2:

MOV@R0,A

JNCJIN

MOVA,@R1

JBFLAG_X,C11INCA

MOV@R1,A

JMPJIN

C11:

DECA

MOV@R1,A

JIN:

LCALLNUMCES

MOVA,P2

ANLA,#0F0H

ORLA,#0FH

MOVP2,A

MOVA,P1

CPLA

JZNEXTCA

JMPDNDY

NEXTCA:

MOVA,P2

CPLA

ANLA,#0FH

JZBAN

DNDY:

MOVR6,#5

DY1:

MOVR5,#0FFH

DJNZR5,$

DJNZR6,DY1

LCALLDISPLAY

LJMPPD

BAN:

RET

CHESHI:

CLRC

MOVA,56H

MOVB,#10

MULAB

ADDA,55H

MOVR3,A

MOVA,57H

CJNEA,#17,FUSHI

MOVA,R3

CLRC

SUBBA,#90

JCCHESHID

SETBRANG_S

CLRRANG_X

JMPCHESHID

FUSHI:

MOVA,57H

CJNEA,#16,CHESHID

MOVA,R3

CLRC

SUBBA,#90

JCCHESHID

SETBRANG_X

CLRRANG_S

JMPCHESHID

CHESHID:

RET

NUMCES:

MOVR0,DGL

MOVR1,DGH

MOVA,@R0

MOVR5,A

MOVA,@R1

MOVR4,A

CLRC

MOVA,MEDL

SUBBA,R5

JCJIEWEI

MOVR5,A

CLRC

MOVA,MEDH

JCJIA1

SUBBA,R4

MOVA,R4

MOVR4,A

CPLA

JMPJIAND

MOVR4,A

JIEWEI:

JMPJDF

MOVR5,A

JIA1:

INCR4

MOVA,R4

CLRC

CPLA

MOVA,MEDH

INCA

SUBBA,R4

MOVR4,A

MOVR4,A

JDF:

MOVR7,#0BH

JIAND:

LCALLDIVOK

MOVA,R4

MOVA,R3

ANLA,#80H

MOVB,#10

JNZFUSHUO

DIVAB

MOVR7,#0BH

MOV55H,B

LCALLDIVOK

MOV56H,A

MOVA,R3

MOV57H,#17

MOVB,#10

JMPNUMEND

DIVAB

NUMEND:

MOV55H,B

RET

MOV56H,A

DATCES:

MOV57H,#16

MOVR3,FLAG

JMPNUMEND

MOVA,R3

FUSHUO:

CLRC

MOVA,R5

SUBBA,#3

CPLA

JNCE1

CLRC

MOVWAVE,#0F8H

INCA

MOVDGL,#40H

MOVR5,A

MOVDGH,#41H

MOVNUM_JI,#1

MOVNUM_JI,#4

MOVNUM_DAT,#38H

MOVNUM_DAT,#3BH

JMPEN

JMPEN

E1:

MOVA,R3

E4:

MOVA,R3

CLRC

CLRC

SUBBA,#5

SUBBA,#11

JNCE2

JNCE5

MOVWAVE,#0F4H

MOVWAVE,#0BCH

MOVDGL,#42H

MOVDGL,#48H

MOVDGH,#43H

MOVDGH,#49H

MOVNUM_JI,#2

MOVNUM_JI,#5

MOVNUM_DAT,#39H

MOVNUM_DAT,#3CH

JMPEN

JMPEN

E2:

MOVA,R3

E5:

MOVWAVE,#7CH

CLRC

MOVDGL,#4AH

SUBBA,#7

MOVDGH,#4BH

JNCE3

MOVNUM_JI,#6

MOVWAVE,#0ECH

MOVNUM_DAT,#3DH

MOVDGL,#44H

EN:

MOVDGH,#45H

RET

MOVNUM_JI,#3

CLRRS1

MOVNUM_DAT,#3AH

SETBRS0

JMPEN

ORLP3,#0FCH

E3:

MOVA,R3

SETBTR1

CLRC

CLRTR0

SUBBA,#9

MOVTH0,#0B1H

JNCE4

MOVTL0,#0F7H

MOVWAVE,#0DCH

MOVR0,DGL

MOVDGL,#46H

MOVR1,DGH

MOVDGH,#47H

MOVTH1,@R1

MOVTL1,@R0

SETBTR0

CLRRS1

CLRRS0

RETI

T1INT:

PUSHACC

MOVA,P3

ANLA,#03H

ORLA,WAVE

MOVP3,A

CLRTR1

POPACC

RETI

DIVOK:

CLRC

MOVA,R4

SUBBA,R7

JCDV50

SETBOV

RET

DV50:

MOVR6,#8

DV51:

MOVA,R5

RLCA

MOVR5,A

MOVA,R4

RLCA

MOVR4,A

MOVF0,C

CLRC

SUBBA,R7

ANLC,/F0

JCDV52

MOVR4,A

DV52:

CPLC

MOVA,R3

RLCA

MOVR3,A

DJNZR6,DV51

MOVA,R4

ADDA,R4

JCDV53

SUBBA,R7

JCDV54

DV53:

INCR3

DV54:

CLROV

RET

END

AilhuiPolytvchnict'nivernily

第三章硬件制作以及程序的下载调试

3.1电路板制作

首先用protel99SE绘制原理图,生成PCB并手工调整布局,之后手工布线。

布线时,要设置电气规则,设置安全距离,对电源线、地线加粗;同时要尽量加大焊盘;尽可能地避免跳线

(PCB图如下所示)。

PCB完成后打印在热转印纸上,覆铜板先用砂纸打磨去除上面防氧化胶水,将热转印纸紧贴在板子上,并用熨斗熨几分钟,之后在自来水冲洗下揭去热转印纸,待板子风干,观察上面的油墨线路是否有缺损,若有可用油墨笔将缺损处瞄一下即可。

待油墨风干后放在三氯化铁腐蚀液里腐蚀十分钟左右,腐蚀时要不断晃动腐蚀液加快腐蚀速度,直到板上面未覆油墨的铜全部腐蚀完,取出板子放在自来水中冲洗干净,风干后就可以钻孔了,待孔钻完,将板子放在自来水中用砂纸打磨去覆铜上的油墨,到此板子就制作完成了。

3.2原器件的焊接

PCB制作完毕后紧接着就可以焊接电子原器件,为了焊接方便应先焊接小元件,比如电阻、按键、贴片电容排阻,之后焊接插槽以及其他元件,最后焊接LED显示器。

焊接完毕后的电路板

如下所示:

3.3程序的下载与调试

软件的烧录需要Keil软件、下载器以及USB驱动等,选择相应的单片机型号,打开相应的hex文件,就可以进行程序的下载

了。

软、硬件调试都无误之后,就可以连接舵机进行最后的检测

AnhuiPolytechnicUniversity

了。

通过不同的按键控制不同的舵机转动,同时数码管可以显示出转动度数。

一个完整的机械臂控制系统就完成了。

第四章总结

4.1课程设计体会

通过此次生产

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2