基于fpga的多路移相控制器的制造方法
【技术领域】
[0001]本发明属于电源技术领域,特别涉及一种移相控制器,主要用于超声电机的控制。
【背景技术】
[0002]超声电机是利用超声波振动能作为驱动电源的新原理电机,超声波电动机作为一种全新的驱动器,它具有很多优越性能,如低速大转矩、功率密度大、响应速度快、不受电磁场的影响、掉电自保护、可直接驱动负载等。
[0003]驱动超声电动机需要专门的超声电源,要求驱动频率在超声范围内,驱动电压的频率、相位和幅值可调。
[0004]根据行波型超声波电机的传动原理,可用的控制变量有:
[0005]1.控制电压幅值。改变电压幅值可直接改变行波波动的幅值,电压过低压电元件不会起振,过高又会接近压电元件的工作极限。
[0006]2.变频控制。通过调节谐振点附近的频率控制速度和力矩。变频调速对超声波电动机最合适,因为电动机工作点在谐振点附近,调频具有响应快,方便调节的特点。
[0007]3.相位差控制。改变两相电压的相位差可改变定子表面质点椭圆的运动轨迹,从而改变输出的波形。
[0008]Quartus II是Altera公司综合性PLD/FPGA开发的软件,支持原理图、VHDL,VerilogHDL以及AHDL等多种输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
[0009]由于目前没有一个芯片能同时输出8路可以调频,调相和调节死区时间PffM波信号。现有的主要方法是通过信号发生器输出两路方波信号,这两路方波信号通过两个UC3875芯片或是UCC3895芯片来输出8路PffM波信号。通过这些移相控制芯片输出的信号有干扰,且调节精度不高,两个芯片之间的协同控制电路设计相对复杂,不能很好的满足控制超声电机的需求。
【发明内容】
[0010]为了克服现有技术的不足,本发明的目的是提供一种基于FPGA的多路移相控制器,以解决现有技术中存在的信号有干扰,调节精度不高的问题。
[0011 ] 为实现上述目的,本发明采用以下技术方案:
[0012]—种基于FPGA的多路移相控制器,包括依次相连的寄存器存储模块、判断识别模块、移相控制模块,其中,
[0013]所述寄存器存储模块用来存储PC机传输的数据,PC机与FPGA芯片之间通信,传输的数据存储在FPGA芯片的RAM中,其有4个控制字,至少需要传输4次,且每次传输数据时,前面存储的数据不能被后传输的数据覆盖;
[0014]所述判断识别模块用于接收来自寄存器存储模块的数据,通过识别数据的高8位数来判断控制字的类型,然后传送到不同的寄存器,同一寄存器在接收不同的数据时,前面存储的数据被后传输的数据覆盖;
[0015]所述移相控制模块根据各寄存器中不同类型的控制字,产生所需的PffM波形,以满足超声电机驱动与控制的要求。
[0016]所述移相控制模块包括数据寄存器、累加寄存器、数值比较器和与非门,其中,
[0017]所述数据寄存器接收来自判断识别模块的数据,并分配数据给不同的累加寄存器;
[0018]所述累加寄存器每次累加数据K,当寄存器达到其最大值时,寄存器置零,进入下一次累加,这样就能输出连续的波形,通过改变累加的数据K,就能改变输出波形的频率;
[0019]所述数值比较器能够调节输出波形的死区时间,调节输出波形的相位差,通过改变两个累加寄存器计数起始时间,改变两相波形的相位差;
[0020]所述与非门用于过压保护,输出的波形与所需检测信号连接到与非门的两端,当检测的信号为高电平时,迅速拉低输出的信号,以保护后面的驱动电路。
[0021]PC机与FPGA芯片之间通过UART串口进行通信。
[0022]所述FPGA芯片采用Cyclone IV芯片EP4CE6E22C8的开发板,该开发板采用50MHz的晶振,通过相位累加原理,采用28位累加器,输入的频率控制字,相位控制字,死区时间控制字均采用24位寄存器。通过设置4个累加寄存器,能输出8路PffM波。
[0023]本发明的有益效果是:与现有技术相比,本发明的基于FPGA的多路移相控制器直接通过控制器可以输出8路波形,不需要其他芯片,简化了驱动电路。这8路输出的波形为4对互补的PffM波,任意两对输出的波形能进行相位的调节。本发明的多路移相控制器的调频、调相精度高,调节范围大,同时该控制器具有软启动与过压保护功能,能够为超声波电机的驱动与控制提供保证。
【附图说明】
[0024]图1为本发明的结构示意图;
[0025]图2为本发明的移相控制模块信号生成原理图;
[0026]图3为本发明的基于FPGA的多路移相控制器框图。
【具体实施方式】
[0027]下面结合附图对本发明作更进一步的说明。
[0028]如图1-3所示,本发明的一种基于FPGA的多路移相控制器,包括依次相连的寄存器存储模块、判断识别模块、移相控制模块,其中,
[0029]寄存器存储模块用来存储PC机传输的数据,PC机与FPGA之间通过UART串口进行通信,传输的数据存储在FPGA芯片的RAM中,其有4个控制字,至少需要传输4次,且每次传输数据时,前面存储的数据不能被后面传输的数据覆盖;
[0030]判断识别模块用于接收来自寄存器存储模块的数据,通过识别数据的高8位数来判断控制字的类型,然后传送到不同的寄存器,同一寄存器在接收不同的数据时,前面存储的数据被后面传输的数据覆盖;
[0031]移相控制模块根据各寄存器中不同类型的控制字,产生所需的PffM波形,以满足超声电机驱动与控制的要求。
[0032]移相控制模块包括数据寄存器、累加寄存器、数值比较器和与非门,其中,
[0033]数据寄存器接收来自判断识别模块的数据,并分配数据给不同的累加寄存器;
[0034]累加寄存器每次累加数据K,当寄存器达到其最大值时,寄存