微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于CPLD的开放式四轴运动控制器的设计

基于CPLD的开放式四轴运动控制器的设计

时间:06-23 来源:互联网 点击:
2运动控制器软件设计

运动控制器的软件采用Borland C++语言编写,可以按照库函数的方式调用。根据实时运动控制的特点和硬件资源的结构,函数库分为两类:

(1)控制运动控制器硬件操作的函数库。包括针对运动控制器硬件基本操作的函数,通过调用这些函数可以充分利用硬件资源,实现定制的应用。运动控制器上的各个硬件功能的存取操作是通过一组读写控制命令实现的,每一个控制命令占用一个PC机I/O空间地址,对每一个地址分别进行读或写操作将产生不同的功能。

硬件操作函数库按照C++语言类的方式构造,每个命令都是以运动控制器硬件操作类的公有成员函数形式存在。这些命令主要实现以下功能:

控制光电编码器脉冲计数器,读取或清除计数值;

设置运动控制器的工作方式以及配置系统的各个硬件资源;

开关量输入输出操作,实现包括通用I/O和专用I/O的查询和设置、控制器硬件资源工作状态查询等功能;

模拟量控制命令,用于控制D/A转换器和A/D转换器实现模拟量输出和模拟信号采集等。

(2)定制应用算法函数库。根据实际应用的要求,以控制运动控制器硬件操作的函数库为基础,可以有针对性地设计应用算法函数。本文以运动控制为例设计了针对运动控制的算法函数库,实现运动规划、伺服控制等功能。其它控制算法和功能也可以在此基础上进一步扩展。运动控制算法函数库的各个命令也采用C++语言类的方式进行封装,控制算法类是运动控制器硬件操作类的继承,调用和修改都十分方便,因而在结构上具有很好的开放性。

在伺服运动控制算法上,控制器将当前规划的运动位置、进给速度送入伺服控制器与反馈的实际位置进行比较,得到位置跟踪误差,经过位置控制器后,送到D/A转换器,输出伺服驱动器的控制信号。位置控制算法可以根据实际的要求采用多种控制策略。

本文的运动控制器控制算法采用PID+速度前馈方式。通过调节各参数,这种控制算法能对大多数系统实现精确而稳定的控制。其控制结构如图2所示。



3系统应用及实验结果

从运动控制器的软硬件结构可以看出,这种设计具有比较好的开放性,便于在软硬件方面进行功能扩展和重新配置,同时应用系统的构造也比较灵活。图3为开放式运动控制平台应用于伺服电机控制的结构图。它由三部分组成:采用PENTIUM200 CPU的IBM PC机;四轴开放式运动控制器;交流伺服电机和驱动器(采用松下MINAS-A系列100W伺服驱动器;位置伺服控制周期分别为250us和1ms)。图4和图5分别是不同伺服控制周期时位置控制器采用PID控制算法的正弦位置跟踪曲线,其中,θr表示幅值为2500个脉冲、频率为4Hz的正弦给定信号,θf表示实际位置反馈,E表示位置跟踪误差。结果表明,系统可以方便地实现控制设置,具有较强的软件扩展能力。





本文设计的开放式四轴运动控制平台,由于采用了高容量低成本的CPLD EPF6016,将运动控制器所需的硬件资源进行了整合集成,提高了系统硬件的配置能力和可靠性,并且充分利用PC机软件资源方面的优势,采用C++语言“类”的结构对运动控制算法进行封装,使系统软件也具有很好的开放性和集成性,可以方便地设计多种控制算法,实现“软运动控制”功能。这种设计不仅降低了成本,而且控制算法对使用者开放,便于根据实际对象采用不同的控制算法定制应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top