|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
- L) `4 G. M, G* _4 W, f8 y7 N
摘要:主要讲述的是示教机械手控制系统在PIC单片机中的实现问题。并从机械部分的工作原理,硬件接口的设计以及软件部
9 a- z" g5 D! G# {分的编写三个方面分别进行了详细的论述。% w# T' J7 J& D
( q9 a) T6 W% g, N+ U5 z
关键词:单片机,机械手,步进电机,工业机器人
7 e7 r6 X2 m: E! ?0 s2 L' N2 z! H. [# O# h2 k9 d# \
一般来说对机械手的操作通常有两种方法:一是通过面板. O" Z0 C! x6 p% p* Z
上的一些电子开关和几个主要的控制键(例如启动,停止、复位、
, B& @7 ]6 t J. v; A6 h- X再现等);二是通过示教盒,示教盒实际上是用户对机械手的手
) R& E( ^. G! z1 J$ \- p. a! i动控制设备,它通过操作各个关节,来控制机械手的形态。示教
% \9 ?" q& z4 R. d% R盒上有按钮可以用来把机械手的当前位置,姿态存入存储器,调
) C. {" ~' a5 ]. ~节手爪的运行速度,控制手爪的开合等等。这里采用第一-种方法
/ |/ a7 R8 M8 ?, S8 _! L即人为的设计一个小键盘(8x8) 来对系统进行控制,采用7 @4 |' z. j3 w7 `; ~" F
PIC16F877单片机。9 v3 z) l8 \: ^' d# v4 k- _. e3 E
1机械部分的工作原理
! r. v% o0 Y7 g) B( Y系统工作过程可分为示教过程和再现过程。通过预先设计. `* J! T8 |" \) j( e" b9 s$ O9 U" h+ H
好的一个小型键盘,在键盘上布置了一些控制按钮(例如,启动
- E( B7 v/ M# Z- E) g+ K按钮,停止按钮.复位.再现按钮等等)来操作机械手臂上的步进
0 w% f8 z: o' F9 D, d9 L3 s6 ]电机,步进电机带动大小臂进行旋转,此时手臂下的电位器传感# x" F9 D! M" P$ `* I
器就获得了机械手的旋转位置,并将此位置值经转换后送入到' D6 G9 z' b+ \4 t- V, [
单片机的存储器内。可以是逐点的示教也可以是连续的示教,在.. r0 {( V+ M2 a9 R/ ~
示教状态下,可人为地采样若干个点,已完成所要求的操作。; O% ^0 \2 F" Q$ Z5 ^7 y
在再现状态下,通过存儲器中存储的示教点的位置值,来复) v$ V4 n, ?2 Z& u) X) C, \. H9 J
原整个示教过程。这种示教再现即手把手的教,而后,机械手' g, V+ D" n/ i* a
“学“你所教的过程。在工业中所用的这种示教再现很多。通过机.% B9 s' E: X c3 z% I
械手来完成一- 些定点定位的操作,每个示教点也就是将来即将
4 d* |2 V7 b4 g9 J完成的各种功能操作。
- ]+ A7 }4 n0 [, L) ?$ g2控制部分硬件实现电路图的设计
8 e% Q: Z* o/ `! C: Y; ~9 W本设计中采用8个按键组成的小键盘,两只发光二极管(用
7 e3 j/ y2 E. i' p" n* B0 h V于监测系统所处的状态,比如是示教状态还是再现状态),使用9 w! m0 f2 X& y4 L
1片74L S245芯片作为键盘的接口,通过PortC和PortA两个
1 ^0 R7 @2 x$ }2 X9 w$ n8 W9 j口来连接驱动器,步进电机和电位器。# B$ z, i' Z2 q) F g6 u
8位键盘通过74LS245与单片机相连,键盘按键状态的数5 r% K& X2 X* r) H# F* @0 _: V
据输入是由RC3输出脚控制;当RC3=0时,键盘状态从2 k, @5 L) Z- C _
74LS245的引脚连接到PIC单片机的引脚PBO~PB7上,读出) Y+ \# x% ~1 R% y8 F& Z) P0 M* U. U
PortB端口的数据即为键盘的状态。为了及时的响应键盘的操
! U; N! `0 p0 b+ K: F作,需要不断的对键盘进行扫描,将键盘的扫描程序安排在主程
- ?/ E$ W1 s/ A) O) ]/ }4 C7 n3 z序的循环执行过程中,并采用30ms延迟来消除按键的抖动间! j5 U9 F6 s. s a3 ~
题。同时为了实现每按键一次只响应--次的功能,在执行相应的
) c( i4 s" P. K' }2 n" v按键程序之前,必须确保按键已经松开,一般来说扫描键盘的时1 n' ]* q. v& a4 x7 |% u9 m* C
间很短,仅几微秒,而按键时间- -次至少需要几十毫秒,所以只* `! K; O/ F/ M2 {& ~
要有键按下,都能被扫描到。按键按下时有一定的抖动时间,因
2 ?7 Y p1 W2 ~3 l此在编制程序时,应该用延时消除抖动,以免产生多次按键错
0 i- g1 K5 {+ k* X" a误,可通过软件编程的方法来实现。.
; X2 o: S5 s# Y" U! U) I! O2 s$ ^
, }4 P' H( s2 B2 W7 [* @2 }2 c$ ^) n
附件下载:& X0 c, T, e) T& Z9 |: g& ~; O
|
|