|
一,控制系统的硬件设计/ p ]- _# `* {2 s# W2 B' t
2 y0 H" \0 h9 B; G' w9 k* k 本文所研究的平面关节型机械手的控制系统硬件结构主要包括运动模块、功率放大模块、位置检测模块和通信模块。
: k' Y2 z% E* h2 `
H Z7 [/ O9 m! m(1) 运动与功率放大模块
7 c, P5 h0 D5 H& G, _3 Y5 \2 M# b- o8 x- y8 x! N5 z
运动与功率放大模块如图4所示。运动模块的核心芯片是LM629。LM629的8位数据口D0~D7与PIC单片机的RD0~RD7口相连,RC0~RC3分别和LM629的CS、RD、WR、PS相连,用于控制片选、数据的流向等。LM629接收来自单片机的位置、速度或加速度数据,经过内部梯形图发生器和PID调节器的运算,输出脉宽调制信号和方向信号,由引脚PWMM和PWMS输出。功率放大模块主要由L298N芯片和电流泄放回路组成。L298N是双极性H桥功率放大电路,与LM629输出信号PWMM和PWMS通过一个逻辑门电路相连,控制直流电机的正、反转和停止。在芯片LM629和L298N之间增加光电耦合器4N25,进行电气隔离,保护单片机和运动芯片并减少强电干扰。由于直流电机是感性负载,因此选用功率二极管DIN5391组成电流泄放回路,以保护功率芯片L298N。
. M% U# J6 Q# z) n4 U& o$ J; k$ T8 ~& E& T( N8 y
- P3 S( c6 m8 y; W) V
(2) 位置检测模块[3]: o% C$ O7 ]: t! X' @
: j8 r' P6 m+ l2 n
$ k+ h% d9 E9 ~ K! J' U位置检测模块主要通过检测与电机轴相连的增量式光电编码器,从而实现检测并获取各关节电机轴位置的目的。图5所示的电路将增量式光电编码器输出的差动信号(A+、A-、B+、B-、IN+、IN-)经过75175合成单端信号A、B、IN(图5中只画出一路信号的合成)。合成后的单端信号A、B、IN分别与LM629的引脚A、B、IN相连。利用差动信号传输,可以有效地解决干扰和远距离传输问题。为了进一步消除干扰,在输入端每根线上都加上了一个滤波电容,在两根差动的信号线之间接了一个用于线路阻抗匹配的电阻。增量式码盘反馈的脉冲信号经过4倍频后,提高了分辨率。A和B的逻辑状态每改变一次,LM629的位置寄存器就加(减)1。当码盘的A、B、IN都为低电平时,产生一个Index信号送入寄存器,记录电机的绝对位置。
& `/ c5 G2 ^" k0 ^ $ M, R7 j$ { y) J0 ~5 e: N
4 g( O1 c% d3 B8 U+ T9 P(3) 通信模块
( _' R( S9 ^: T j- h
8 _( p& q/ g% H 通信模块主要解决人机接口问题〔4〕。在本文设计的控制系统中,没有设计显示模块和键盘输入模块。但在实际应用中,常常需要输入一些参数,如PID参数等。利用PC机丰富的资源和良好的用户界面,通过串行口通信来解决控制系统的参数输入和显示。
/ s& ^4 ]' [% `; j- z- D* @/ b$ h1 z, N, G
二,控制系统的软件设计+ B& A5 j$ _8 n" }, F! m Z* J/ c
* Q9 k9 d2 o$ V H* {0 o
控制系统的软件部分主要包括初始化模块、运动控制模块、位置检测模块和通信模块。单片机根据位置检测模块获取的信息,确定机械手各关节的速度、加速度和位置,将这些信息传入LM629,由速度梯形图生成速度曲线,进行位置控制。PID调节器根据输入指令和反馈信息来补偿闭环系统。式(1)表示LM629输出的控制信号。
. N+ `8 _3 H! O
% |* f$ O1 z. M# ]3 K9 q- q# P7 W 在程序编制过程中,通常采用增量式PID算法。' m* j3 ~" y% z: S6 D- l, |
J. Z. ^; U% K2 r! ~: r$ ~
通信模块建立单片机和PC机之间的通信。在PC机端,利用Visual C++编写串行通信程序和参数输入界面。在PIC16F877端,用汇编语言编写通信程序,实现PC机和单片机之间的双向通信。 |
|