0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种基于FPGA的三轴伺服控制器的设计优化

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-09-04 16:53 次阅读

目前伺服控制器的设计多以DSPMCU为控制核心,但DSP的灵活性不如FPGA,且在某些环境比较恶劣的条件如高温高压下DSP的应用效果会大打折扣,因此以FPGA为控制核心,对应用于机载三轴伺服控制平台的控制器进行了设计与优化。

1 总体方案

FPGA(Field-Prograromable Gate Array,现场可编程门阵列)是在PAL,GAL,CPLD等可编程器件的基础上进一步发展的产物。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一,因此在设计中采用FPGA为控制核心。FPGA的基本特点主要有:采用FPGA设计ASIC电路,用户不需要投片生产,就能得到可用的芯片;FPGA可做其他全定制或半定制ASIC电路的中试样片;FPGA内部有丰富的触发器和I/O引脚;FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一;FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

整个控制器由控制和驱动两部分组成,其结构如图1所示。控制部分由FPGA及一些附件组成,该控制器能够独立完成三轴控制器的电机驱动波形发生、闭环运算与控制、与上位机通信等任务,附件主要用来完成电枢电流的反馈等功能。驱动模块由光电耦合器件和放大驱动芯片等组成。该控制器的最终控制目标为对驱动三轴的力矩电机进行高精度定位与驱动。力矩电机的位置和速度反馈由光电编码器实现。

由于本控制器所应用的机载平台为三轴结构,因此,控制器采用独立式控制,即每个轴都具有图1所示的控制功能,三个相对独立的分控制器组成整体的三轴控制器。该基于FPGA的三轴伺服控制器的基本控制方案就是这种反馈式的高精度控制,其中速度环使用PD控制算法,位置环使用PID控制算法。调整PID参数,通过控制电压来控制跟踪瞄准精度,使得跟踪瞄准精度逐渐提高,达到所需盼精度要求。

2 控制器硬件与软件的设计与实现

本伺服控制器以FPGA为核心,在硬件设计中主要进行了驱动模块设计、控制模块设计和通信模块设计。驱动模块能够根据外部给定的驱动角度产生驱动信号,控制模块则能够对光电编码器测得的角度信号和速度信号进行分析、反馈及运算,最终给出PWM脉宽值驱动整个系统,在这期间还需要功放的放大作用,而通信模块的主要功能是实现与上位机的有效通信,并能够实现控制器的在线编程功能和上位机对三轴系统中力矩电机的远程控制功能。

驱动模块主要包括控制波产生单元、力矩电机光电编码器信号采集与处理、可编程死区发生器等部件。驱动模块中的信号功率放大部分和隔离措施的应用也是该部分中的重要设计内容,在此设计中功率放大采用普通的晶体管放大电路,而光电隔离器件的应用能够有效防止强电模块对弱电部分的影响。在驱动模块中辅助芯片采用可编程器件EPlK30QC208,它采用可重构的CMOS SRAM工艺,把连续的快速通道与独特的嵌入式阵列(EAB)相结合,同时结合众多可编程器件的优点来完成普通门阵列的宏功能,主要完成伺服控制器的各种硬件逻辑接口功能。 EPlK30QC208主要完成4个接口的逻辑功能,即:主机接口、D/A接口、码盘接口、I/O接口。D/A转换器件采用双通道DAC芯片DAC5573,相对TLC2543来说,硬件的连接简单很多,因为它采用标准的I2C总线,同时S3C4510里包含I2C的控制器,所以DAC5573只需接到4510的SDA和SCL这两个引脚,就可以实现两者之间的通信。需要注意的是,SDA和SCL这两个引脚需要上拉电阻值为10 kΩ的电阻来确保I2C总线能够释放出来。 控制模块方面速度环节和位置环节分别采用PD和PID控制。因此在控制器设计中需要在这方面有所体现。由于本控制器以控制直流力矩电机为最终目的,因此在控制模块的设计方面需要研究力矩电机的驱动及其电压值获取。在本控制器设计过程中需要对上述各项进行综合控制与处理,以达到合理地控制开销和控制精度的平衡。在三轴伺服装置中选用PID控制算法。引入通常的PID控制算法,并考虑功率放大、位置检测环的增益和速度环的PD控制算法,给定三轴电枢电压。

在控制模块的设计中速度与位置调节的是整个控制的主体,本伺服控制器完成输入信号与输出信号的比较,再通过位置校正、速度校正、机械谐振校正之后,校正后的信号控制PWM发生器的占空比,具有一定占空比的PWM信号控制PWM功率级,进而驱动被控对象。如此就可以得到本伺服控制器在反馈环节中所需要的力矩电机位置信息,利用该位置信息对三轴平台实现高精度控制。

基于FPGA的三轴伺服控制器的通信模块设计在硬件设计中也占有很大的比重。整体的通讯设计接口采用基于RS232的通用串口通信方式。采用这种接口方式能够在满足系统现场编程通信的同时满足系统的远程通信要求。该通信模块采用一个带有UART口的MCU,由于该MCU的数据都是立即数,在运行过程中并没有取数据操作,因此设计的流水线结构采用三级结构,分别为取指令、译码和指令执行。而MCU的指令地址则由程序计数器给出。在通信模块的设计主要考虑的是正常上位机通信的进行和远程监控通信的有效实施。该设计采用了双PC设计,这样能够极大地减少复位时间,使上述MCU不会因为外界的干扰而错误地执行指令,这样就能提高系统的可靠性。

本三轴伺服控制器的硬件设计需要配合软件才能有效运行,该控制器软件设计的主要任务是:完成对接口的初始化;上位机能够对独立控制三轴的伺服控制设备进行指令控制;对于光电编码器反馈的速度信号和位置信号进行读取和分析处理;根据反馈的数据和外部的腔制命令完成整个控制系统的闭环控制。其具体的主程序控制流程图如图2所示。

本控制器软件的关键是PWM信号的设定与输出,一方面要考虑外部的输入角度,另一方面要考虑系统的反馈。要实现高精度的三轴定位,必须有一套合理的信号产生机制。系统的中断设计也是本控制器的重要研究内容,因为本控制器采用相对独立的三轴控制方式,在保证各轴独立运行的同时要兼顾到整体的运行情况,且在运行过程中一旦某一部分出现问题,其他所有的部分都要同时采取一定的措施解决这个问题。限于篇幅,本文并未列出该三轴伺服控制器的软件程序。

3 性能测试

为了验证所设计的三轴伺服控制器的有效性,对基于FPGA的控制、通信等模块进行了基于软件的Modelsim仿真测试。首先进行了该控制模块的单次运行时间,本三轴伺服控制器的单次运行的平均时间为483ns,这种结果基本满足了该控制平台的实时性要求。系统的通信功能测试主要针对控制器的在线编程和上位机远程控制进行。以普通笔记本作为上位机,采用串口通信软件与该控制器进行通信,完成系统的三个力矩电机的启动、加速、调速、换向、制动等功能。控制器参数的在线编程也完全能够满足。

在性能测试方面还进行了该控制器的调速性能测试、及时中断性能测试、故障自动报警与处理性能测试、三轴综合配合高精度定位测试等一系列测试。从仿真测试结果上看,所设计的基于FPGA的三轴伺服控制器基本能够满足该机载平台的要求。

4 结语

以FPGA作为控制核心对某机载三轴运动平台的伺服控制器进行设计,主要对其硬件中的控制、驱动、通信模块进行了设计,同时给出了其软件控制流程和部分中断、复位等软件程序。通过后续的仿真测试验证了该控制器的有效性。
审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1627

    文章

    21685

    浏览量

    602326
  • 接口
    +关注

    关注

    33

    文章

    8537

    浏览量

    150906
  • 伺服控制器
    +关注

    关注

    2

    文章

    86

    浏览量

    18708
  • 可编程器件
    +关注

    关注

    2

    文章

    59

    浏览量

    20928
  • 力矩电机
    +关注

    关注

    2

    文章

    39

    浏览量

    7669
收藏 人收藏

    评论

    相关推荐

    基于FPGA的机载伺服控制平台的控制器设计与优化

    目前伺服控制器的设计多以DSP或MCU为控制核心,但DSP的灵活性不如FPGA,且在某些环境比较恶劣的条件如高温高压下DSP的应用效果会大打折扣,因此以
    发表于 07-08 06:28

    基于FPGA伺服控制器设计

    目前伺服控制器的设计多以DSP或MCU为控制核心,但DSP的灵活性不如FPGA,且在某些环境比较恶劣的条件如高温高压下DSP的应用效果会大打折扣,因此以
    发表于 07-16 07:41

    怎样去设计伺服控制器

    怎样去设计伺服控制器?如何对伺服
    发表于 04-28 06:04

    一种高精度运动控制器IP核设计与实现

    本文提出了一种运动控制器软IP 的设计方案,该控制器可以控制4 个的步进电机或数字伺服电机,可
    发表于 07-07 15:22 21次下载

    一种高精度运动控制器IP核设计与实现

    本文提出了一种运动控制器软IP 的设计方案,该控制器可以控制4 个的步进电机或数字伺服电机,可
    发表于 12-04 11:52 14次下载

    基于FPGA的机载伺服控制器的设计优化

      目前伺服控制器的设计多以DSP或MCU为控制核心,但DSP的灵活性不如FPGA,且在某些环境比较恶劣的条件如高温高压下DSP的应用效果会大打折扣,因此以
    发表于 09-24 08:56 1249次阅读
    基于<b class='flag-5'>FPGA</b>的机载<b class='flag-5'>三</b><b class='flag-5'>轴</b><b class='flag-5'>伺服</b><b class='flag-5'>控制器</b>的设计<b class='flag-5'>优化</b>

    基于FPGA的多控制器设计

    介绍了一种基于FPGA的多控制器控制器主要由ARM7(LPC2214)和FPGA(EP2C5
    发表于 04-27 16:23 82次下载
    基于<b class='flag-5'>FPGA</b>的多<b class='flag-5'>轴</b><b class='flag-5'>控制器</b>设计

    一种新型模糊PID控制器伺服系统的应用

    一种新型模糊PID控制器伺服系统的应用-2009。
    发表于 04-06 14:07 9次下载

    一种基于FPGA的实时图像转换控制器设计

    一种基于FPGA的实时图像转换控制器设计,感兴趣的小伙伴们可以看看。
    发表于 09-14 17:17 11次下载

    根据伺服系统的特点并结合PID控制算法设计了一种位置前馈控制器

    根据伺服系统的特点并结合PID控制算法设计了一种位置前馈控制器
    发表于 09-16 09:08 20次下载
    根据<b class='flag-5'>伺服</b>系统的特点并结合PID<b class='flag-5'>控制</b>算法设计了<b class='flag-5'>一种</b>位置前馈<b class='flag-5'>控制器</b>

    基于DSP和FPGA的四伺服电机运动控制器

    设计了一种基于DSP 和FPGA 的四伺服电机运动控制器,该控制器选用DSP 与
    发表于 09-21 11:24 10次下载
    基于DSP和<b class='flag-5'>FPGA</b>的四<b class='flag-5'>轴</b><b class='flag-5'>伺服</b>电机运动<b class='flag-5'>控制器</b>

    一种基于STM32和FPGA的多运动控制器的设计与实现

    本文主要介绍了一种基于STM32和FPGA的多运动控制器的设计与实现。STM32从SD卡中读取数据文件并进行相关算法处理,通过键盘扫描电路设置系统加减速的初始速度、最大速度、加速度的
    发表于 12-25 13:32 2.9w次阅读
    <b class='flag-5'>一种</b>基于STM32和<b class='flag-5'>FPGA</b>的多<b class='flag-5'>轴</b>运动<b class='flag-5'>控制器</b>的设计与实现

    一种基于fpga的多控制器,可以控制电机的运动

    介绍了一种基于fpga的多控制器控制器主要由arm7(LPC2214)和fpga(EP2C5
    发表于 06-14 08:24 6528次阅读
    <b class='flag-5'>一种</b>基于<b class='flag-5'>fpga</b>的多<b class='flag-5'>轴</b><b class='flag-5'>控制器</b>,可以<b class='flag-5'>控制</b>多<b class='flag-5'>轴</b>电机的运动

    采用FPGA控制核心实现优化伺服控制器的设计

    目前伺服控制器的设计多以DSP或MCU为控制核心,伺服控制器是用来控制
    的头像 发表于 10-07 11:41 4524次阅读
    采用<b class='flag-5'>FPGA</b>为<b class='flag-5'>控制</b>核心实现<b class='flag-5'>优化</b><b class='flag-5'>三</b><b class='flag-5'>轴</b><b class='flag-5'>伺服</b><b class='flag-5'>控制器</b>的设计

    基于FPGA的DSP技术实现伺服控制器的应用方案与设计

    介绍了一种用基于FPGA的DSP技术来设计电液伺服系统控制器的方法。该方法克服了传统伺服控制器
    发表于 11-30 14:02 2551次阅读
    基于<b class='flag-5'>FPGA</b>的DSP技术实现<b class='flag-5'>伺服</b><b class='flag-5'>控制器</b>的应用方案与设计