仿人机器人具有可移动性,具有很多的自由度,包括双臂、颈部、腰部、双腿等,可以完成更复杂的任务,这些关节要连接在一起,进行统一的协调控制,就对控制系统的可靠性、实时性提出了更高的要求,以往采用的集中控制系统,控制功能高度集中。局部的故障就可能造成系统的整体失效,降低了系统的可靠性和稳定性,因此考虑采用分布式的控制系统来实现系统的控制功能。
电机驱动器的接口电路
驱动器的控制模式可以分为两种:速度控制模式和位置控制模式(通常用电位器作为电机的位置传感器)。这里采用它的速度控制模式,输入的指令信号是 0~10V 的模拟量。因此需要用 D/A 转换电路,把 DSP 输出的数字量给定转变为模拟信号,电路图如图 3 所示。DAC7621 为 12 b 并行输入的 D/A 转换器,它内置参考源,输出范围:0~4.095V。它的 12 位输入接 DSP 数据总线中的 D0 到 D11。它的片选输入管脚可以接 DSP 的 I/O 控制线/IS。为了得到 0~10V 的模拟信号,还要利用 LM358 中的一片运算放大器构成的同相比例放大电路,把 0~4.095V 的信号放大 2.5 倍。

如果驱动和控制器不进行隔离,尖峰将破坏控制器电路中的器件,例如 RAM。因此,设计了基于线形光耦 HCNR201 的隔离电路,如图 4 所示。

线形光耦 HCNR201 只能起到隔离电流的关系,且输入电流和输出电流呈线性关系。U6B 是图 3 芯片 LM358 中的另外一片运算放大器,它将输入 0~10V 电压转换成 20mA 以内的电流信号,输入线形光耦 HC-NR201。HCNR201 输出电流再经过一个由单电源轨到轨运放 AD8519 构成的电压跟随器转换成 0~10V 电压信号,作为驱动器的模拟信号输入。显然,HCNR201 两侧电路应采用不同的电源和地。LM358 中的两片运算放大器采用控制器输入的 12V 电源供电,而 AD8519 则采用驱动器输入端提供的 10V 电压供电。
增量式编码器信号处理电路
增量式编码器信号处理电路如图 5 所示。J8 是 MR 编码器的信号输入接口,采用 AM26C32 把 MR 编码器输出三个通道的 RS 422 差分信号转换成 TTL 电平,得到 A,B,Z 三路信号。

RS 485 总线通信电路
RS 485 总线是一种通信总线,TMS320F240 DSP 芯片本身不具备 RS 485 总线接口,采用两个 485 通信芯片 MAX485 可以的把 TMS320F240 的串口 RXD 和 TXD 的 TTL 电平转换为 RS 485 电平,TMS320F240DSP 的 RXD 和 TXD 引脚分别连接到第一片 485 通信芯片 RO 和第 2 片 485 通信芯片 DI 的引脚。TMS320F240 DSP 的 SPISIMO 和 SPISOMI 连接到 MAX485 的使能引脚 RE,用于控制 TMS320F240 DSP 芯片的数据发送口挂接到总线上或和总线分离,电路如图 6 所示。

考虑到机械臂控制系统控制算法的计算量以及多轴协调控制等问题,采用基于 RS 485 总线的分布式控制的体系结构,见图所示。运动规划算法由主计算机来实现,同时主计算机还将通过 RS 485 总线与各关节控制器通信,负责各关节控制器的协调工作。每个关节控制器和一台电机、驱动器、检测反馈装置等构成一个位置伺服系统,负责机械臂某一个关节变量的具体控制任务。