嵌入式学习小组
直播中

李帅

7年用户 178经验值
私信 关注

怎么采用CPLD实现开放式四轴运动控制器的设计?

本文提出了一种不采用在板处理器而以PC机微处理器为控制核心的开放式四轴运动控制器,该运动控制器采用ALTERA公司的复杂可编程门阵列(CPLD)EPF6016实现硬件管理功能,硬件的功能可以通过软件配置,而应用层的功能如运动轨迹规划和伺服控制等均由PC机完成。

回帖(1)

孙婷婷

2021-4-15 09:26:04
  作为运动控制的核心部件,运动控制器普遍采用16位或32位微控制器,其灵活的系统集成方式和高速的指令执行速度提高了运动控制性能、改善了控制系统的精度、增强了系统构造的灵活性。如DeltaTau公司的PMAC系列、MEI公司的XMP系列的产品,均采用了高速数字信号处理器(DSP)和现场可编程门阵列(FPGA)技术,一般可以控制1~8个轴。这些基于PC机总线的运动控制器,虽然因采用高性能微处理器在信息处理速度方面有较大的提高,并在实际应用中提供了灵活的接口,但在使用以及系统集成的时候,仍然有很多不便,如价格比较高、应用非常复杂等。并且在结构上是封闭的,只能针对某一类型的应用,控制策略单一,很难同时满足控制系统在多种应用场合中的要求,实现定制应用。
  过去,受计算机处理能力的限制,高性能的运动控制技术需要在板处理器如单片机或DSP上实现,一般PC机中的微处理器很难同时完成如轨迹插补运算和伺服控制运算等任务。目前PC机微处理器已经采用了更先进的工艺技术,信息处理能力明显提高,可以满足高速实时运动控制的要求,硬件支持能力大大增强,并且PC机良好的软件开发环境使构造开放式运动控制平台成为可能。本文提出了一种不采用在板处理器而以PC机微处理器为控制核心的开放式四轴运动控制器,该运动控制器采用ALTERA公司的复杂可编程门阵列(CPLD)EPF6016实现硬件管理功能,硬件的功能可以通过软件配置,而应用层的功能如运动轨迹规划和伺服控制等均由PC机完成。
  1系统硬件结构
  开放式四轴运动控制器的硬件结构如图1所示。其中,虚线框内的部分由ALTERA公司的复杂可编程门阵列EPF6016实现。FLEX6000系列器件EPF6016是ALTERA公司为大容量设计提供的一种低成本可编程交织式门阵列,共有16000个可用门,1320个逻辑单元,117个I/O引脚,每个I/O引脚都有独立的三态输出使能控制。该器件采用OPEFLEX结构,能在最小的芯片尺寸上保持高性能和高布线率。器件的基本组成是逻辑单元(LE)。每个逻辑单元由一个4输入查找表、一个寄存器以及作为进位链和级连链功能的专用通道。每十个逻辑单元组成一个逻辑阵列块(LAB)。器件采用SRAM构造,可以通过外部EEPROM或控制器实现在线配置,能使设计者在设计初期以及设计测试过程中对设计作灵活的修改,同时也能够通过在线重新配置来改变其内部功能。运动控制器的硬件功能编程由ALTEPA公司提供的MAX+PLUSII开发系统支持,设计采用了原理图输入方式,设计和调试比较直观、简便。
  该运动控制器的硬件结构分为以下几部分:
  (1)主机接口威廉希尔官方网站 :运动控制器采用了ISA-AT总线接口,同时设计了PC-104接口。数据总线宽度为16位,接口功能在EPF6016内部实现,其中包括总线地址译码、数据和命令锁存、中断及复位等功能。
  
  (2)光电编码器接口威廉希尔官方网站 :运动控制器接收四路光电编码器差分输入信号作为位置反馈,最高输入频率为1MHz,输入的A、B相信号经过差动接收后,在EPF6016内部经过数字滤波处理后进行倍频和辨向,产生的方向信号和脉冲信号进入16位加减计数器。系统软件可以读取计数而获得实际的位置变化。
  (3)模拟量输出威廉希尔官方网站 :高性能的运动控制器应采用高分辨率的D/A转换器。为了保证模拟量控制信号的精度,并考虑到模拟量信号在线上传输引起的漂移和电压降落,运动控制器和伺服驱动器之间的模拟控制接口信号至少应有12位以上的精度。本文中的运动控制器采用了低成本、小封装体积的双16位串行输入D/A转换器AD1866,构成双极性电压输出方式。在EPF6016内部设计了控制4路并发式并行/串行数据转换以及4路D/A地址选择威廉希尔官方网站 ,运动控制器的模拟量电压输出范围为±10V。
  (4)数字量输入输出威廉希尔官方网站 :运动控制的所有I/O信号均采用光电隔离处理,考虑到I/O开关信号可能产生的信号抖动现象,对每一路I/O信号都进行了相应的数字滤波处理以消除噪声信号。控制器设计了40路I/O信号,其中包括16路专用输入信号、2路特殊开关输入信号(用于坐标测量或定位的接触式测头信号和急停开关信号),另外还设计了16路可编程通用I/O信号(8路输入/8路输出)。实际上,所有的I/O信号除个别信号具有独特的功能外,都是开放的,可以根据应用的特点设计具体的功能。
  (5)模拟量输入威廉希尔官方网站 :对于一些控制场合,需要检测或控制外部状态量的变化,运动控制器也设计了相应的单端或差动式模拟量反馈输入通道。系统采用MAXIM公司的8通道、12位转换精度、150kHz采样频率的A/D转换器MAX197。各模拟量通道可以独立编程选择输入范围:±10V、±5V、0~10V、0~5V,A/D转换器的转换基准采用内部基准。
  (6)可编程定时器:由于在开放式运动控制系统中,插补运算和伺服控制都由PC机完成,这两个控制任务通常不在一个任务循环中处理。一般而言,插补运算的周期要比伺服控制的周期长,因此两个任务需要占用不同的系统资源。由于插补运算通常占用PC机的定时中断资源,而伺服控制也是一个需要精确定时的任务,因此在EPF6016内部设计了可编程16位定时器。该定时器可采用不同的时钟源,定时范围为0~300ms,最小分辨率为70ns,定时器产生的溢出动作可以向PC机申请中断。
  (7)同步工作威廉希尔官方网站 :在运动控制系统中,各控制轴同步运行是一个很重要的要求,因此在EPF6016内部设计了同步控制威廉希尔官方网站 和专门的控制字,支持多块运动控制器控制输出同步刷新、反馈计数值同步读取等操作。
  (8)硬件看门狗威廉希尔官方网站 :在运动控制器中采用了DALLAS公司的看门狗复位及电压监控芯片DS1232,以监测系统的软硬件运行情况。当系统软件运行死机的时候,看门狗威廉希尔官方网站 产生信号复位系统,保证整个系统的可靠性。看门狗定时时间可以编程设置为300ms、600ms、1.2s。
  从硬件结构的组成特点可以看出,系统的组成核心是具有可重新配置特点的CPLD EPF6016,它实现了几乎所有的外围威廉希尔官方网站 管理功能,而其它的威廉希尔官方网站 都属于标准的辅助威廉希尔官方网站 。因此系统在结构上具有典型的开放性,这对实现软件的开放是一个很好的支持。
  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++语言“类”的结构对运动控制算法进行封装,使系统软件也具有很好的开放性和集成性,可以方便地设计多种控制算法,实现“软运动控制”功能。这种设计不仅降低了成本,而且控制算法对使用者开放,便于根据实际对象采用不同的控制算法定制应用。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分