基于RS422总线的多路舵机网络控制器设计
2021-09-09钟志贤吴世立郭宇丰
钟志贤,丁 瑜,吴世立,郭宇丰
(1.昆明冶金高等专科学校 a.网络管理与信息中心;b.组织部;c.建筑工程学院,云南 昆明 650033;2.云南碧桂园房地产开发有限公司,云南 昆明 650225)
0 引 言
舵机作为一种位置、角度伺服的驱动器,常常被用于机器人、无人机等各种控制系统中[1-2]。因控制转动的执行机构往往需要多个舵机配合完成,故对舵机实现多路集中控制的需求较为广泛。要实现对舵机的多路控制可采用基于CPLD、FPGA、DSP、单片机等产生多路PWM信号进行控制[3-10]。CPLD、FPGA的特点是电路可定制,可实现大规模的舵机控制,但是开发门槛高、成本高。单片机的特点是通用性强,开发使用简单方便,但只适用于控制舵机数量较少的场合。
综合考虑成本和性能,本文给出了一种基于C8051F340单片机配合74HC595移位寄存器扩展的13路舵机控制器的硬件设计方案及软件实现方法。
1 方案设计
多路舵机控制器采用模块式的开发思想,设计有RS422总线接口以便控制器集成到其它控制系统中,作为一个单独的控制模块使用。设计原理如图1所示。

图1 多路舵机网络控制器系统设计原理Fig.1 Design principle diagram of multi-channel steering gear network controller system
多路舵机控制器硬件主要是以C8051F340单片机为核心,包括RS422串行总线接口及电平转换电路、电源电路、AT24C01存储电路、JTAG与复位电路、74HC595扩展电路、LED及蜂鸣器驱动电路、多路舵机接口电路等。控制器设计有两线式串行总线电可擦只读存储器AT24C01,用于保存上位机发来的舵机角度控制数据,以实现模块断电复位后,快速恢复最近一次舵机的控制角度。多路舵机控制器的系统结构示意图如图2所示。……
