一种三轴伺服控制器的设计优化
扫描二维码
随时随地手机看文章
目前伺服控制器的设计多以DSP或MCU为控制核心,伺服控制器是用来控制伺服马达的一种器件,一般是通过位置、速度和力矩三种方式对伺服马达进行控制,实现高精度的传动系统定位。 从结构上看,伺服控制器和变频器差不多,但对元器件的要求精度和可靠性更高。目前主流的伺服控制器均采用数字信号处理器(DSP)作为控制核心,可以实现比较复杂的控制算法,实现数字化、网络化和智能化。功率器件普遍采用以智能功率模块(IPM)为核心设计的驱动电路,IPM内部集成了驱动电路,同时具有过电压、过电流、过热、欠压等故障检测保护电路,在主回路中还加入软启动电路,以减小启动过程对驱动器的冲击。
1 总体方案
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一,因此在设计中采用FPGA为控制核心。FPGA的基本特点主要有:采用FPGA设计ASIC电路,用户不需要投片生产,就能得到可用的芯片;FPGA可做其他全定制或半定制ASIC电路的中试样片;FPGA内部有丰富的触发器和I/O引脚。
目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
整个控制器由控制和驱动两部分组成,其结构如图1所示。控制部分由FPGA及一些附件组成,该控制器能够独立完成三轴控制器的电机驱动波形发生、闭环运算与控制、与上位机通信等任务,附件主要用来完成电枢电流的反馈等功能。驱动模块由光电耦合器件和放大驱动芯片等组成。该控制器的最终控制目标为对驱动三轴的力矩电机进行高精度定位与驱动。
由于本控制器所应用的机载平台为三轴结构,因此,控制器采用独立式控制,三个相对独立的分控制器组成整体的三轴控制器。该基于FPGA的三轴伺服控制器的基本控制方案就是这种反馈式的高精度控制,其中速度环使用PD控制算法,位置环使用PID控制算法。调整PID参数,通过控制电压来控制跟踪瞄准精度,使得跟踪瞄准精度逐渐提高,达到所需盼精度要求。
2 控制器硬件与软件的设计与实现
本伺服控制器以FPGA为核心,在硬件设计中主要进行了驱动模块设计、控制模块设计和通信模块设计。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
驱动模块主要包括控制波产生单元、力矩电机光电编码器信号采集与处理、可编程死区发生器等部件。在驱动模块中辅助芯片采用可编程器件EPlK30QC208,它采用可重构的CMOS SRAM工艺,把连续的快速通道与独特的嵌入式阵列(EAB)相结合,同时结合众多可编程器件的优点来完成普通门阵列的宏功能,主要完成伺服控制器的各种硬件逻辑接口功能。 EPlK30QC208主要完成4个接口的逻辑功能,D/A转换器件采用双通道DAC芯片DAC5573,相对TLC2543来说,硬件的连接简单很多,因为它采用标准的I2C总线,同时S3C4510里包含I2C的控制器,所以DAC5573只需接到4510的SDA和SCL这两个引脚,就可以实现两者之间的通信。控制模块方面速度环节和位置环节分别采用PD和PID控制。由于本控制器以控制直流力矩电机为最终目的,因此在控制模块的设计方面需要研究力矩电机的驱动及其电压值获取。在本控制器设计过程中需要对上述各项进行综合控制与处理,以达到合理地控制开销和控制精度的平衡。在三轴伺服装置中选用PID控制算法。
在控制模块的设计中速度与位置调节的是整个控制的主体,本伺服控制器完成输入信号与输出信号的比较,再通过位置校正、速度校正、机械谐振校正之后,校正后的信号控制PWM发生器的占空比,具有一定占空比的PWM信号控制PWM功率级,进而驱动被控对象。
基于FPGA的三轴伺服控制器的通信模块设计在硬件设计中也占有很大的比重。整体的通讯设计接口采用基于RS232的通用串口通信方式。采用这种接口方式能够在满足系统现场编程通信的同时满足系统的远程通信要求。该通信模块采用一个带有UART口的MCU,由于该MCU的数据都是立即数,在运行过程中并没有取数据操作,因此设计的流水线结构采用三级结构,分别为取指令、译码和指令执行。而MCU的指令地址则由程序计数器给出。在通信模块的设计主要考虑的是正常上位机通信的进行和远程监控通信的有效实施。
本三轴伺服控制器的硬件设计需要配合软件才能有效运行,该控制器软件设计的主要任务是:完成对接口的初始化;上位机能够对独立控制三轴的伺服控制设备进行指令控制;对于光电编码器反馈的速度信号和位置信号进行读取和分析处理;根据反馈的数据和外部的腔制命令完成整个控制系统的闭环控制。其具体的主程序控制流程图如图2所示。
本控制器软件的关键是PWM信号的设定与输出,一方面要考虑外部的输入角度,另一方面要考虑系统的反馈。要实现高精度的三轴定位,必须有一套合理的信号产生机制。系统的中断设计也是本控制器的重要研究内容,因为本控制器采用相对独立的三轴控制方式,在保证各轴独立运行的同时要兼顾到整体的运行情况,且在运行过程中一旦某一部分出现问题,其他所有的部分都要同时采取一定的措施解决这个问题。
[!--empirenews.page--]
3 性能测试
为了验证所设计的三轴伺服控制器的有效性,对基于FPGA的控制、通信等模块进行了基于软件的Modelsim的仿真测试。首先进行了该控制模块的单次运行时间,本三轴伺服控制器的单次运行的平均时间为483ns,这种结果基本满足了该控制平台的实时性要求。系统的通信功能测试主要针对控制器的在线编程和上位机远程控制进行。以普通笔记本作为上位机,采用串口通信软件与该控制器进行通信,完成系统的三个力矩电机的启动、加速、调速、换向、制动等功能。
在性能测试方面还进行了该控制器的调速性能测试、及时中断性能测试、故障自动报警与处理性能测试、三轴综合配合高精度定位测试等一系列测试。从仿真测试结果上看,所设计的基于FPGA的三轴伺服控制器基本能够满足该机载平台的要求。
4 结语
以FPGA作为控制核心对某机载三轴运动平台的伺服控制器进行设计,主要对其硬件中的控制、驱动、通信模块进行了设计,同时给出了其软件控制流程和部分中断、复位等软件程序。通过后续的仿真测试验证了该控制器的有效性。