基于FPGA的直流电机控制器制造技术

技术编号:3392157 阅读:275 留言:0更新日期:2012-04-11 18:40
一种基于FPGA的直流电机控制器,是以FPGA为核心,整合电机驱动波形发生、闭环控制运算、上位机通信功能于一体,既可以利用ROM自编程、又可以由上位机在线编程的直流电机控制器。可靠性高、控制实时性好、编程简单灵活、应用范围广泛。

【技术实现步骤摘要】
基于FPGA的直流电机控制器
:本专利技术涉及一种基于现场可编程门阵列FPGA的直流电机控制器,特别是一种可驱动三相直流无刷电机和直流有刷电机的、以FPGA为核心并内嵌微控制器单元和通用异步收发器UART接口逻辑的可编程直流电机控制器。
技术介绍
:目前广泛应用的电机控制器大多是基于MCU/DSP设计的,因为一些MCU和DSP中配置了用于电机控制的专用指令、接口和外设,应用较为方便,但是,在实际应用中仍需要大量外围逻辑电路扩展其硬件功能。单片机程序串行执行的特点决定了软件功能的增多将会影响到运算的实时性。在一些特殊的应用领域,例如,在高温、低温,强电磁干扰或者有放射性粒子辐射的太空环境中,MCU和DSP就无法正常工作。而FPGA具有以下优点,可以满足上述应用场合的需要。(1)FPGA能最大限度地集成外围逻辑,实现单片化设计,提高系统的整体可靠性;(2)FPGA可采用独立的定制运算逻辑,运算的实时性好;(3)FPGA可以方便地采用硬件定序器和冗余逻辑设计,以提高抗干扰性能;(4)FPGA已有从商用级到航天级不同级别的芯片,环境适用范围广泛。为此,国内外一些研究者将FPGA应用于电机控制中,研制出了可以实际应用的装置。香港Dynacity公司采用DSP和FPGA组成的多维位置控制系统(“ModularMulti-Axis Motion Control And Driving System And Method Thereof”,US0100723,11 May2006)中,DSP完成电流、位置双闭环控制算法以及上位机通信功能,FPGA可根据DSP给定的脉宽值和电机霍尔反馈信号,产生PWM驱动信号。FPGA与DSP之间采用总线连接,采用单DSP、多FPGA结构完成多个电机的控制。由于依然由DSP实现控制算法,控制的实时性将会受到被控电机数量的影响。日本SANYO(三洋)公司采用MCU和FPGA组成的自动机械控制器(“ROBOTCONTROL DEVICE”,JP2001322078,2001-11-20)由FPGA完成闭环控制算法,MCU用于上位机通信和FPGA的在线配置。该系统采用单MCU、多FPGA结构完成多个电机的控制,避免了上述系统控制实时性方面的问题。但是,FPGA仅仅实现控制算法,驱动信号的产生仍需其它芯片完成,系统结构复杂且依赖MCU完成上位机通信。日本TOSHIBA(东芝)公司采用MPU(微处理器)和FPGA组成的伺服控制器(“SERVO CONTROLLER”,JP2000330641,2000-11-30)由MPU完成控制功能,-->由FPGA实现位置传感器的通信协议转换,利用FPGA重配置成不同的串行通信协议逻辑,使该控制器可灵活地适应多种串口通信的位置传感器。FPGA的使用减少了系统大量外围硬件并具有一定的可升级能力,但是,系统的控制实际是由MPU实现。
技术实现思路
:本专利技术避免了上述系统存在的不足,提供了一种以FPGA为核心,整合电机驱动波形发生、闭环控制运算、上位机通信功能于一体,可在线编程的基于FPGA的直流电机控制器。本专利技术解决技术问题所采用的技术方案的特点是:本专利技术基于现场可编程门阵列FPGA的直流电机控制器,由FPGA芯片、FPGA配置芯片、ADC模数转换芯片、电源模块和功率放大模块组成;所述电机控制器利用FPGA芯片对输入的电机霍尔反馈信号进行解码,得到电机转子位置以驱动三相直流无刷电机;或将FPGA芯片霍尔反馈输入端设置为固定的预设电平,以驱动直流有刷电机;电机控制器由FPGA芯片捕获电机光电码盘的两路脉冲信号,比较二者相位得出电机转子的旋转方向,并对脉冲计数得到电机转速;电机控制器利用FPGA芯片控制ADC模数转换芯片对电机的电枢电流进行恒定周期采样;在所述FPGA芯片内分别设置驱动模块、控制模块和通信模块;由控制模块对速度给定和速度反馈比较和运算,得出驱动信号脉宽给定值;驱动模块根据所述脉宽给定值和电机转子位置反馈信号产生相应的带有可编程死区时间的PWM驱动信号,由FPGA芯片输出至功率放大模块,驱动电机构成闭环速度控制系统;所述通信模块至少包括一个含有UART(通用异步收发器)接口的嵌入式MCU(微控制器单元),由所述MCU管理FPGA芯片内的用户寄存器,并通过UART接口与上位机通信;在FPGA芯片完成配置后,由所述MCU对FPGA芯片进行内部用户寄存器的初始化,并通过所述UART接口向上位机发出握手信号;上位机(通用计算机或单片机)通过UART接口与所述MCU通信,并实时读写FPGA芯片内的用户寄存器,实现对电机的远程控制。本专利技术基于FPGA的直流电机控制器的特点也在于:FPGA芯片内嵌的MCU采用取指令-指令译码-指令执行三级流水线和8位指令总线;其中MCU寄存器写操作指令的高4位是操作码,低4位是立即数,上位机通过UART接口发送所述寄存器写操作指令对MCU寄存器进行写操作,并通过读取寄存器的数值验证指令执行的正确性;其余指令格式为高4位是操作码、低4位是校验码,有校验码且校验错误的指令被MCU取指单元用空操作指令替换。-->MCU使用FPGA内部分布式存储器(Distributed RAM)和FPGA芯片外部并口ROM共同作为其程序存储器;MCU依次执行块存储器和外部ROM内的预编程指令完成FPGA工作寄存器的初始化。MCU采用带校验逻辑的主从PC设计;主从PC同步计数,如二者数值不等,主从PC将在下一个时钟周期同时复位,MCU取指单元同步终止下一时钟周期的取指令操作。控制模块对速度给定和速度反馈的运算是采用PI(比例、积分)算法,并在所述FPGA芯片内嵌设硬件运算模块,由所述运算模块进行实时并行运算,所述运算模块的系数寄存器由上位机在线读写。驱动模块是以电机霍尔传感器相位差、转向给定值和霍尔反馈信号作为地址对所述FPGA内部块存储器中存储的霍尔真值表查表得到未经脉宽调制的驱动信号。ADC模数转换芯片采用具有低功耗模式和高速采样模式的AD7819芯片,所述AD7819芯片在加电后由FPGA芯片内嵌的看门狗进行低功耗模式到高速采样模式的切换,并工作于高速采样模式下。与已有技术相比,本专利技术的有益效果体现在:1.本专利技术采用单片FPGA实现控制功能;FPGA内部各模块时序均由硬件定序器实现;整体可靠性优于采用通用单片机的系统和同时采用单片机和FPGA的多片系统。2.本专利技术可以通过采用FPGA内部Distributed RAM和外部并口ROM共同作为其嵌入式MCU的程序存储器以完成用户寄存器初始化,用户仅需了解MCU的10条指令和各用户寄存器地址,即可对外部ROM中初始化程序编程,使其满足使用需要,其中不涉及FPGA原程序,相对于已知的可编程控制器来说,使用更为简单。3.本专利技术可以通过采用双PC结构的嵌入式MCU,使复位时间仅为一个时钟周期,优于通用单片机采用的看门狗复位方式。4.本专利技术的控制模块可以采用独立的并行运算逻辑实现,运算延时小且恒定,运算实时性优于采用单片机完成控制算法的系统。附图说明:图1是本专利技术系统硬件框图。图2是本专利技术FPGA芯片配置原理图。图3是本专利技术TTL-LVTTL电平转换电路图。图4是本专利技术模数转换电路原理图。-->图5是本本文档来自技高网
...

【技术保护点】
一种基于FPGA的直流电机控制器,其特征是由FPGA芯片、FPGA配置芯片、ADC模数转换芯片、电源模块和功率放大模块组成;所述电机控制器利用FPGA芯片对输入的电机霍尔反馈信号进行解码,得到电机转子位置以驱动三相直流无刷电机;或将 FPGA芯片霍尔反馈输入端设置为固定的预设电平,以驱动直流有刷电机;电机控制器由FPGA芯片捕获电机光电码盘的两路脉冲信号,比较二者相位得出电机转子的旋转方向,并对脉冲计数得到电机转速;电机控制器利用FPGA芯片控制ADC模数转换芯片对电机的电枢电流进行恒定周期采样;在所述FPGA芯片内分别设置驱动模块、控制模块和通信模块;由控制模块对速度给定和速度反馈比较和运算,得出驱动信号脉宽给定值;驱动模块根据所述脉宽给定值和电机转子位置反馈信号产生相应的带有可编程死区时间的P WM驱动信号,由FPGA芯片输出至功率放大模块,驱动电机构成闭环速度控制系统;所述通信模块至少包括一个含有UART接口的嵌入式MCU,由所述MCU管理FPGA芯片内的用户寄存器,并通过UART接口与上位机通信;在FPGA芯片完成配置后,由所述MCU对FPGA芯片进行内部用户寄存器的初始化,并通过所述UART接口向上位机发出握手信号;上位机通过UART接口与所述MCU通信,并实时读写FPGA芯片内的用户寄存器,实现对电机的远程控制。...

【技术特征摘要】
1、一种基于FPGA的直流电机控制器,其特征是由FPGA芯片、FPGA配置芯片、ADC模数转换芯片、电源模块和功率放大模块组成;所述电机控制器利用FPGA芯片对输入的电机霍尔反馈信号进行解码,得到电机转子位置以驱动三相直流无刷电机;或将FPGA芯片霍尔反馈输入端设置为固定的预设电平,以驱动直流有刷电机;电机控制器由FPGA芯片捕获电机光电码盘的两路脉冲信号,比较二者相位得出电机转子的旋转方向,并对脉冲计数得到电机转速;电机控制器利用FPGA芯片控制ADC模数转换芯片对电机的电枢电流进行恒定周期采样;在所述FPGA芯片内分别设置驱动模块、控制模块和通信模块;由控制模块对速度给定和速度反馈比较和运算,得出驱动信号脉宽给定值;驱动模块根据所述脉宽给定值和电机转子位置反馈信号产生相应的带有可编程死区时间的PWM驱动信号,由FPGA芯片输出至功率放大模块,驱动电机构成闭环速度控制系统;所述通信模块至少包括一个含有UART接口的嵌入式MCU,由所述MCU管理FPGA芯片内的用户寄存器,并通过UART接口与上位机通信;在FPGA芯片完成配置后,由所述MCU对FPGA芯片进行内部用户寄存器的初始化,并通过所述UART接口向上位机发出握手信号;上位机通过UART接口与所述MCU通信,并实时读写FPGA芯片内的用户寄存器,实现对电机的远程控制。2、根据权利要求1所述的直流电机控制器,其特征是所述FPGA芯片内嵌的MCU采用取指令-指令译码-指令执行三级流水线和8位指令总线;其中MCU寄存器写操作指令的高4位是操...

【专利技术属性】
技术研发人员:周扬徐科军
申请(专利权)人:合肥工业大学
类型:发明
国别省市:34[中国|安徽]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1