CN112886875A - 无刷直流马达驱动方法 - Google Patents

无刷直流马达驱动方法 Download PDF

Info

Publication number
CN112886875A
CN112886875A CN202110176368.3A CN202110176368A CN112886875A CN 112886875 A CN112886875 A CN 112886875A CN 202110176368 A CN202110176368 A CN 202110176368A CN 112886875 A CN112886875 A CN 112886875A
Authority
CN
China
Prior art keywords
bldc
motor
chip
data
fpga chip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110176368.3A
Other languages
English (en)
Inventor
高源�
任海波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Continental Zhiyuan Robot Technology Co ltd
Dalu Zhiyuan Technology Beijing Co ltd
Original Assignee
Suzhou Continental Zhiyuan Robot Technology Co ltd
Dalu Zhiyuan Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Continental Zhiyuan Robot Technology Co ltd, Dalu Zhiyuan Technology Beijing Co ltd filed Critical Suzhou Continental Zhiyuan Robot Technology Co ltd
Priority to CN202110176368.3A priority Critical patent/CN112886875A/zh
Publication of CN112886875A publication Critical patent/CN112886875A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/04Arrangements for controlling or regulating the speed or torque of more than one motor
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/28Arrangements for controlling current
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/04Arrangements for controlling or regulating the speed or torque of more than one motor
    • H02P2006/045Control of current

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

一种无刷直流马达驱动方法,用以驱动多个无刷直流马达,包括:采用AD采集无刷直流马达中的BLDC电流值数据;采用ARM芯片将FPGA芯片中的无刷直流马达的霍尔码盘数据经过总线读取后,并根据无刷直流马达的霍尔码盘数据计算得到电机控制值,电机控制值经由总线回传至FPGA芯片;采用FPGA芯片接收ARM芯片发出的电机控制值,以及用以存储无刷直流马达的霍尔码盘数据,并且,FPGA芯片具有多个NMOS;其中,FPGA芯片根据电机控制值控制对应的多个NMOS开路或是闭合,以发出BLDC电流值,借此,时间同步地驱动无刷直流马达。

Description

无刷直流马达驱动方法
本申请是申请号201910347706.8、申请日为2019年4月28日、发明名称为“无刷直流马达驱动整合***及驱动方法”的发明专利申请的分案申请。
技术领域
本发明为提供一种无刷直流马达驱动整合***及方法,特别是可通过FPGA芯片整合控制多个无刷直流马达的驱动装置以及驱动方法。
背景技术
现有的BLDC(无刷直流马达,Brushless DC Motor)驱动模块中,大部分是针对单个BLDC进行驱动,其所采用单个ARM芯片架构建置而成的MCU(微控制单元)以驱动单个BLDC。例如,某现有技术揭示了一种BLDC控制***,就是采用以ARM芯片架构形成的MCU发出马达控制信号以驱动BLDC。配合霍尔传感器侦测马达运转方向以及采样电阻侦测运转速度,并将侦测数值直接回传给MCU,以使MCU发出下一时间的控制信号,实时调整马达控制信号。此MCU亦具有判断是否关断马达的手段。经由判断马达运作时的电流是否超过阈值电流,以决定是否关断马达。但是,本发明的无刷直流电机控制***只能控制单个BLDC,不能一次同时控制多个BLDC。
如果在同一时间内同时需要驱动多个BLDC,就要使用多个ARM芯片构成的驱动模块来驱动BLDC。请参考图1,是另一件现有技术的无刷直流马达驱动装置架构的示意图。此无刷直流马达驱动装置可以驱动至少3个BLDC。且其架构类似于传统驱动单个BLDC的BLDC控制***,靠着在驱动电路板中新增加的中央处理器当成主控端(Master),以驱动多个BLDC从端(Slave)。此中央处理器也可以实时接收多个BLDC运转时所传来的回馈信号,以当做下一时间发驱动电路板发出BLDC驱动信号的参考。
但是,若是要驱动较多个BLDC,例如驱动10个BLDC时,就需要10个ARM芯片,这样就会造成驱动电路板占据空间变大;即便将驱动电路板中的中央处理器、ARM芯片、电机驱动电路与霍尔码盘处理电路集成芯片化,遇到要驱动多个BLDC仍需要较大的芯片面积。而且,驱动越多BLDC时,中央处理器变更硬件架构的手续是越繁杂的。
另一方面,BLDC所要用到的PWM资源较多,单个BLDC需要与6个互补的PWM信号相接,也就是图1中的一个PWM401有6个互补的PWM信号,而ARM芯片架构下所建立的单个ARM芯片的集成电路管脚最多只能连接32个互补PWM信号,所以单个ARM芯片不可能与超过6个的BLDC资源相连接。
而且多个驱动模块是经由多个总线分别控制多个BLDC,总线通讯机制的延迟时间较长,例如图2所示的,单个PWM 401所发出的控制信号的时间与由霍尔码盘处理电路30所实时侦测到的Hall信号就会存在了时间差τ1与τ2,τ1是在3ms至5ms之间的任一个值,τ2是在4ms至6ms,这样就造成多个驱动模块不能有效实现电机控制的同步性(一般单个电机控制的同步性是指τ1与τ2小于10us)。所以现有的BLDC驱动模块根本不能实现高精度的、多个BLDC的同步协调控制。
再者,对于驱动多个输出功率超过1000瓦BLDC的BLDC驱动模块,因为BLDC驱动模块中,多个ARM芯片需集成在一小面积的印刷电路板(后简称为PCB)上,且PCB表面的铺铜会因流过的大电流所产生的超过额定功率的大功率及高温而存在烧毁的风险。多个ARM芯片集成到一块PCB板上,各个绕线距离过近,也容易有相互干扰问题。
发明内容
为了改善现有技术所提及的缺失,本发明的目的是提供一种无刷直流马达驱动整合***。
为达上述目的,本发明提供一种无刷直流马达驱动整合***,用以驱动多个无刷直流马达,包括:ADC,用以采集无刷直流马达中的BLDC电流值数据;ARM芯片,用以将FPGA芯片中的无刷直流马达的霍尔码盘数据经过总线读取后,并根据无刷直流马达的霍尔码盘数据计算得到电机控制值,电机控制值经由总线回传至FPGA芯片;以及FPGA芯片,用以接收ARM芯片发出的电机控制值,以及用以存储无刷直流马达的霍尔码盘数据,并且,FPGA芯片具有多个NMOS;其中,FPGA芯片根据电机控制值控制对应的多个NMOS开路或是闭合,并在闭合时发出BLDC电流值,借此,时间同步地驱动多个无刷直流马达。
基于上述,本发明通过在无刷直流马达驱动装置中设置FPGA芯片,在不需要改变原有FPGA芯片硬件,以及增加额外的控制硬件下,直接以集成电路方式插置一个FPGA芯片,就可以针对单个BLDC,以及多个的BLDC进行同步控制。只需要预先将控制程序写入既有的FPGA芯片即可驱动6个以下数量的芯片,不但减少无刷直流马达驱动装置的设置体积,又可以减少修改无刷直流马达驱动装置时所耗费的时间与金钱成本,方便又快速。
另外,本发明可以解决总线通讯延迟不能多电机实现有效同步控制问题。拥有足够多的PWM硬件资源,解决现有技术中硬件资源不足问题。利用铜排条代替传统无刷直流马达驱动装置中的PCB走线,可使驱动大电流(大于100安培)在铜排条上流动,而大电流不经过PCB板可解决多个大功率电机集成到一块板子上带来的无法提升驱动电流的问题。
再者,利用FPGA芯片的硬件并行处理优势去处理BLDC的霍尔码盘数据,处理后的数据存储在FPGA芯片中,ARM芯片通过总线从FPGA芯片中读取经过处理的码盘数据,同时ARM芯片高速采集BLDC的电流值数据,ARM芯片利用采集到的码盘和BLDC电流数据,通过算法计算出电机控制值,通过总线发送给FPGA芯片,FPGA芯片利用自身丰富的硬件资源与其所构成的NMOS,降低信号的输入输出延迟时间,让输入输出延迟时间小于ms级别,达到us级别,将控制信息输出给电机驱动电路,实现对多路电机的实时同步控制,较现有的无刷直流马达驱动模块更具竞争力。
另外,本发明提供一种无刷直流马达驱动方法,包括以下步骤:除了运用ARM芯片将霍尔码盘数据与BLDC电流值数据运算,以生成电机控制值并发送至FPGA芯片;运用FPGA芯片,将电机控制值转换成多个同步地电机控制讯号,以控制无刷直流马达,更包括判断BLDC电流值数据是否超过阈值电流;当BLDC电流值数据未超过阈值电流时,将不是0的BLDC电流值数据回传至ARM芯片,利用ARM芯片运算获得不是0的电机控制值,并回传给FPGA芯片;当BLDC电流值数据超过阈值电流时,运用ADC直接将BLDC电流值数据转成0并回传至ARM芯片,利用ARM芯片运算获得是0的电机控制值,并回传给FPGA芯片,以关断无刷直流马达。
使用本发明所提供的无刷直流马达驱动方法,不仅可以生成多个同步的BLDC电流值数据,以让控制板时间同步地控制每一个BLDC,而且,通过阈值电流判断手段,实时保护BLDC,让BLDC操作时电流不过载,维护BLDC运作安全。
附图说明
图1是现有技术的无刷直流马达驱动装置的架构示意图;
图2是现有技术的无刷直流马达驱动装置各个电路管脚的信号波形图;
图3是根据本发明所述的技术,表示无刷直流马达驱动整合***的架构图;
图4是根据本发明所述的技术,表示无刷直流马达驱动整合***中,ARM芯片的详细架构图;
图5是根据本发明所述的技术,表示无刷直流马达驱动整合***中,FPGA芯片的架构图;
图6是根据本发明所述的技术,表示无刷直流马达驱动整合***各个电路管脚的信号波形图;
图7是根据本发明所述的技术,表示无刷直流马达驱动方法中一般驱动程序的执行流程图;以及
图8是根据本发明所述的技术,表示无刷直流马达驱动方法中判定程序的执行流程图。
具体实施方式
为了使本发明的目的、技术特征及优点,能更为相关技术领域人员所了解,并得以实施本发明,在此配合所附的图式、具体阐明本发明的技术特征与实施方式,并列举较佳实施例进步说明。以下文中所对照的图式,为表达与本发明特征有关的示意,并未亦不需要依据实际情形完整绘制。而关于本案实施方式的说明中涉及本领域技术人员所熟知的技术内容,亦不再加以陈述。
首先请参考图3,图3表示无刷直流马达驱动整合***的架构图。图3所揭露的无刷直流马达驱动整合***用以驱动多个BLDC。在无刷直流马达驱动整合***中,主要包含了FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片及ARM(Advanced RISCMachines,高阶精简指令集机器)芯片等等信号处理以及控制用的芯片。另外还包含了PWM、电机驱动电路以及霍尔码盘处理电路等等驱动BLDC的电路模块。
图3显示了ARM芯片的简单架构图。ARM芯片,是建立在32位精简指令集(RISC)架构下的处理器,一般是作为解释与转译所接收的指令后,并发出新的指令的信号处理装置。采用精简指令集架构组成无刷直流马达动整合***的原因是,精简指令集是不含微码(microcode)的,不含微码的设计会让ARM芯片使用的电晶体数量减少,减低芯片设计复杂度与芯片面积。
ARM芯片内部包括AHB总线、ADC(Analog to Digital converter,模拟数码转换器)、Cortex_M3、USART、通信模块以及DMA通道等等的模块。ARM芯片内部各个模块都通过AHB总线进行数据传输与相互沟通。在本具体实施方式中,ARM芯片内部的数据是以32位元的数据形式相互沟通,但本发明并不限于此。ADC是将由模拟电路所采集的BLDC电流值数据,数据形式从模拟形式(analog)转变成为数码形式(digital),以使这些数据在ARM芯片中是可读写的(readable/writable)并且是可被运算的(computable)。因为ARM芯片可读写的信号是数码形式的信号,所以需要通过ADC进行讯号格式转变。在一个具体实施方式中,ADC是采用
Figure BDA0002940012230000051
公司所生产的8通道24比特(8channel-24bits),数据取样率(Sampling Rate)最大可达到250kSPS,型号为AD7689的ADC芯片,使用此型号芯片的原因是可节约ARM芯片引脚资源,同时保留一定的ADC采样精度,并且同一时间处理16比特的数据,可以提高信息处理效能。
Cortex_M3是算术逻辑单元(ALU),具有多个逻辑门,以进行数据运算(computing)。ARM芯片中的各种运算都需要通过Cortex_M3这个模块进行。USART(universal synchronous asynchronous receiver transmitter,通用同步/异步收发传输器)以及DMA通道(Direct memory Access channel,直接记忆体存取通道)是构成一个与外部个人计算机传递与接收信号的传递接收器,是具与其他设备有数据交换的用途。此传递接收器中,USART负责将Cortex_M3运算出的、需要控制外部个人计算机的指令数据格式通过AHB总线取得,并且转换后,通过DMA通道传递给外部个人计算机。相同的,外部个人计算机的数据也通过DMA通道进入ARM芯片中,在经过AHB总线给USART进行数据处理后再送至Cortex_M3运算。将DMA通道独立于Cortex_M3设计原因是,DMA通道所外接的装置,在处理数据时,不占用Cortex_M3资源,两者独立分别运行,这样可减低在运算时Cortex_M3的负担。通信模块也是一种传递接收器,但在本发明中,它的功能是让ARM芯片与FPGA芯片传递接收资讯用。
FPGA芯片是一种专用集成电路(ASIC),而且是一种半定制电路。用户可以借由硬体描述语言描述一个具有特定功能的逻辑电路后,再经过硬体描述语言软体(例如Verilog)逻辑总合、布局、组译以及布线软体的转换后,快速的烧录至FPGA芯片上,以让此逻辑电路致能及运作。在其它时间,若是用户需要变更或是修改逻辑电路的功能时,可修改硬体描述语言后,重新经由逻辑总合、布局以及布线软体的转换后,至FPGA芯片上,以让新的逻辑电路致能及运作。所以,若是改变电路的功能,就不需要改变电路中的硬件就可以达成,方便又快速。本发明就运用此优势,当所需要控制BLDC的数量改变时,通过改***体描述语言(程序码)的内容,运用FPGA芯片的上述特点,捕获、存储无刷直流马达的霍尔码盘数据与电机控制值,现场编程程序后,就可以增加控制BLDC的数量,而不需要一再改***件架构,非常方便。在本发明中,用户可以将其所需要的控制指令,通过用户端装置(图3未显示)中的硬体描述语言编程后,并烧录到FPGA芯片后,就可以实施对单个或是多个BLDC的控制。
在本发明中,ARM芯片是通过其内部的通信模块,并且经由另外的总线(图3未示)由FPGA芯片中读取经过处理的所述霍尔码盘数据,通信模块通过AHB总线将经过处理的所述霍尔码盘数据传递给Cortex_M3,与其他数据进行计算,即进行解释与转译,以获得电机控制值。再经由AHB总线以及额外的总线(图3未示)将电机控制值回传至FPGA芯片(发出新的指令),借此,FPGA芯片根据电机控制值用以驱动PWM、电机驱动电路以及霍尔码盘处理电路,以控制BLDC运转。
请继续参考图3,本发明所提供的无刷直流马达驱动整合***中,另外还包含了多个PWM、多个电机驱动电路以及多个霍尔码盘处理电路。一个PWM、一个电机驱动电路以及一个霍尔码盘处理电路称为一组BLDC驱动模块。在本发明中,若是控制3个BLDC,就需要有3组BLDC驱动模块。PWM是一般常规的脉冲宽度调制信号产生电路;电机驱动电路是将脉冲宽度调制信号转换成BLDC可读的信号,以驱动BLDC运转;霍尔码盘电路是将BLDC运转时所产生的磁信号转换成包含转速与方向的电信号,以使此数据FPGA芯片进行处理。根据来自于FPGA芯片的驱动指令,PWM会改变其所生成脉冲宽度调制信号的占空比(duty cycle),以使BLDC的转速以及方向改变。
后续请参考图4。图4表示无刷直流马达驱动整合***中,ARM芯片的详细架构图。在图3的图说中已经说明ARM芯片中包含的AHB总线、ADC、Cortex_M3、USART、通信模块以及DMA信道等模块的功用以及方法。在此说明,ARM芯片中JTAG、TIME定时器、SDRAM、记忆装置、电源供应装置以及I/O等模块的功能。JTAG(Joint Test Action Group)是程序烧写调试接口,是一种测试接口,其可以与测试模块,例如本发明的外部测试仪电性连接,利用外部测试仪的硬件与测试软件对于ARM芯片中的每个模块进行功能测试,以检测ARM芯片是否能正常且符合规格的运作。TIME定时器是提供精准定时作用。SDRAM是可以暂时存储所要执行的程序。记忆装置是用以存储各BLDC初始状态用。本发明的记忆装置使采用Flash所构成。电源供应装置是维持整个ARM芯片的电力用,另一方面也是维持整个ARM芯片的信号的直流偏压点用。I/O是连接FPGA芯片用的接口。另外,Cortex_M3还可以控制I/O接口电平高低用,以实现与FPGA芯片通讯功能。
在实际运作上,Cortex_M3透过AHB总线从TIME定时器、ADC、USART、I/O中获取关于时间、BLDC、外部个人计算机以及FPGA芯片的信号后,运算生成电机(BLDC)运转电流值信号,并传递给FPGA芯片。
接着请一并参考图3与图5。图5表示无刷直流马达驱动整合***中,FPGA芯片的架构图。在FPGA芯片中包含了FPGA通信总线、霍尔计数存储器、码盘计数存储器、PWM寄存器、霍尔信号处理模块、码盘信号处理模块以及PWM信号处理模块。其中,FPGA芯片70与ARM芯片60在电路板上以PCB走线链接。霍尔计数存储器702是用来根据霍尔计数,确定何时给BLDC2换相用。码盘计数存储器703是用来依据码盘计数实现对BLDC 2速度的闭环路控制。相较于先前技术所属用的开环路控制模式,使用闭环路控制的好处是,霍尔计数存储器与码盘计数存储器不只可以存储更早时间的码盘计数信号,更可以实时存储当前时间的码盘计数信号,这样就可以实时参考码盘计数信号,以发出更精确的控制信号。PWM寄存器是用来依据PWM寄存器的值,实现对PWM所发出信号的占空比的控制。霍尔信号处理模块是用来消除霍尔信号上的噪声、干扰问题,实现对BLDC 2准确换相用。码盘信号处理模块是用来消除码盘信号上的噪声、干扰问题,实现对BLDC 2的速度闭环的精确控制。ARM芯片通过通信模块,与FPGA芯片采用16比特的总线连接。通过一次进行比特的数据传送,让数据传送更有效率。另外,FPGA通信总线还可以设置额外的接口(图5未显示)接受由用户端装置传来的信息,并且与霍尔计数存储器与码盘计数存储器的信息组合后,供PWM信号处理模块信息处理。请继续参考图3、图5以及图6。由于PWM是由多个NMOS所组成,这些多个NMOS可以等效成多个开关。单个开关控制单个BLDC 2运转。多个开关则控制多数个不同的BLDC 2运转。其中,让单个开关闭合可以让单个BLDC 2转动,而让单个开关开路则会让单个BLDC 2停转。换句话说,单个PWM信号处理模块发出逻辑1的信号可以让单个BLDC 2转动,而单个PWM信号处理模块发出逻辑0的信号可以让单个BLDC 2停转。本发明就是单个PWM信号处理模块可参考来自霍尔计数存储器、码盘计数存储器以及用户端装置传来的信息运算后,发出BLDC电流值。控制PWM的闭合时间与断开时间,也就是控制PWM信号处理模块发出逻辑1信号的持续时间与PWM信号处理模块发出逻辑0信号的持续时间,就可以达成控制PWM所发出的PWM信号的开关比。而且,因为PWM是由NMOS组成,NMOS本身会有操作延迟,因此会让FPGA芯片发送的信号与BLDC 2运转的信号不会同时产生,也就是会造成如同图6显示的τ3与τ4。但是,τ3与τ4的值最大不超过0.02us,仍小于同步的规范,符合工业上对于同步的定义。并且,τ3与τ4的值远小于传统未使用FPGA芯片时,所发出的BLDC电流值发出时间差。所以,使用本发明所包含的FPGA芯片,可以让BLDC电流值与马达运转保持同步。
另外,单个PWM信号处理模块也是由多个NMOS所组成,这些多个NMOS也可等效于一个开关。在本发明中,单个开关闭合时,就可以控制单个PWM,单个开关开路时,就失去对于个PWM的控制。在本发明中,若是一次要控制三个PWM运作时,PWM信号处理模块就会有都由NMOS所组成的一个主控(Master)开关与三个从属(slave)开关,一个主控开关分别与PWM寄存器及三个从属开关耦合,一个从属开关与一个PWM耦合。因为不同的从属开关存在了制造上的差异,不同的从属开关的开关闭合时间就会不同,让多个发出BLDC电流值发出时间不同。但是,由于任意两个从属开关的起始时间最大仅差异在0.2us,符合工业上对于同步的定义,并且远小于传统未使用FPGA芯片时,所发出的BLDC电流值发出时间差。所以,使用本发明所包含的FPGA芯片,所发出的多个BLDC电流值是同步的。
使用本发明所提供的无刷直流马达驱动整合***,使用FPGA芯片当作控制中枢,可以针对多个BLDC进行驱动,且可以将多个ARM芯片集成在一个集成电路驱动芯片中,不仅所占空间小,更可以配置成时间同步的驱动超过6个BLDC,一次可以连接超过36个PWM信号。另外,通过FPGA芯片中的NMOS,降低信号的输入输出延迟时间,让输入输出延迟时间小于ms级别,达到μs级别,较现有的无刷直流马达驱动模块更具竞争力。
本发明的无刷直流马达驱动方法的执行流程揭示在图7与图8。在本发明中,无刷直流马达驱动方法中包括了一般驱动程序与判定程序,图7表示中一般驱动程序的执行流程图,而图8表示判定程序的执行流程图。请先参考图7,且一并参考后续一般驱动程序执行步骤S1-S6的详细说明。
步骤S1:利用FPGA芯片同时接收与处理来自多个BLDC的多个霍尔码盘数据。后续进行步骤S2。
步骤S2:将多个处理后的霍尔码盘数据存储至FPGA芯片中的霍尔计数存储器与码盘计数存储器。后续进行步骤S3。
步骤S3:利用ARM芯片读取存储于FPGA芯片中的霍尔码盘数据。后续进行步骤S4。
步骤S4:采集无刷直流马达中的多个BLDC电流值数据,并将BLDC电流值数据传递至ARM芯片。后续进行步骤S5。
步骤S5:运用ARM芯片将霍尔码盘数据与BLDC电流值数据运算,以生成电机控制值并发送至FPGA芯片。电机控制值是运用PWM信号处理模块,执行如式(1)的算式:
pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)] 式(1)
其中,Kp代表PID的系数P,Ki代表PID的系数i,Kd代表PID的系数d,上述三者都是机器所具有的固定修正常数。e(k)代表本次预定输出的BLDC电流值与BLDC输出阈值电流的偏差,e(k-1)代表上一次输出的BLDC电流值与BLDC输出阈值电流的偏差,e(k-2)代表倒数第二次输出的BLDC电流值与BLDC输出阈值电流的偏差,pwm则代表本次输出的BLDC电流值。所以,本发明的闭环路设计,会考虑到本次与前两次输出的BLDC电流偏差值,借此算出本次实际输出的BLDC电流值。后续进行步骤S6。
步骤S6:运用FPGA芯片,将所述电机控制值转换成多个电机控制讯号,以控制BLDC。后续结束一般驱动程序。
最后请参考图8,图8是表示判定程序的执行流程图。且一并参考后续一般驱动程序执行步骤T1-T8的详细说明。
步骤T1:利用FPGA芯片,在第一时间同时接收并同时处理来自多个BLDC中的多个霍尔码盘数据,并同时生成多个处理后的霍尔码盘数据。后续进行步骤T2。
步骤T2:将多个处理后的霍尔码盘数据存储至FPGA芯片中的霍尔计数存储器。后续进行步骤T3。
步骤T3:ARM芯片从FPGA芯片读取多个处理后的霍尔码盘数据。后续进行步骤T4。
步骤T4:使用ADC采集多个BLDC中的多个BLDC电流值数据。后续进行步骤T5。
步骤T5:判断BLDC电流值数据是否超过阈值电流。若是,后续进行步骤T8。若否,后续进行步骤T6。
步骤T6:将不是0的BLDC电流值数据回传至ARM芯片,利用ARM芯片运算获得不是0的电机控制值,并回传给FPGA芯片。后续进行步骤T7。
步骤T7:运用FPGA芯片,将所述电机控制值转换成电机控制讯号,以同步控制无刷直流马达。后续结束判定程序。
步骤T8:运用ADC直接将BLDC电流值数据转成0并回传至所述ARM芯片,利用ARM芯片运算获得是0的电机控制值,并回传给所述FPGA芯片,以关断无刷直流马达。后续结束判定程序。
使用本发明所提供的无刷直流马达驱动方法,不但可以同步控制至少6个BLDC,还可以判定驱动芯片本身是否电流过载,过载时自动使芯片关断(disable),以实时保护驱动芯片与BLDC;本方法更具有回馈程序,可以实时并动态的调整BLDC转速以使BLDC转速稳定,可谓一举数得。
以上所述仅为本发明之较佳实施例,并非用以限定本发明之权利范围;同时以上的描述,对于相关技术领域之专门人士应可明了及实施,因此其他未脱离本发明所揭示之精神下所完成的等效改变或修饰,均应包含在申请专利范围中。

Claims (6)

1.一种无刷直流马达驱动方法,其特征在于:
利用FPGA芯片同时接收与处理来自多个无刷直流马达的多个霍尔码盘数据,并存储至所述FPGA芯片中的霍尔计数存储器与码盘计数存储器;
利用ARM芯片读取存储于所述FPGA芯片中的所述霍尔码盘数据;
采集所述无刷直流马达中的多个BLDC电流值数据,并将所述BLDC电流值数据传递至所述ARM芯片;
运用ARM芯片将霍尔码盘数据与BLDC电流值数据运算,以生成电机控制值并发送至FPGA芯片;
运用所述FPGA芯片,将所述电机控制值转换成多个同步地电机控制讯号,以控制所述无刷直流马达。
2.根据权利要求1所述的无刷直流马达驱动方法,其特征在于:所述的电机控制值,具体算式如下:
pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]
其中,Kp代表PID的系数P,Ki代表PID的系数i,Kd代表PID的系数d,上述三者都是机器所具有的固定修正常数,e(k)代表本次预定输出的BLDC电流值与BLDC输出阈值电流的偏差,e(k-1)代表上一次输出的BLDC电流值与BLDC输出阈值电流的偏差,e(k-2)代表倒数第二次输出的BLDC电流值与BLDC输出阈值电流的偏差,pwm则代表本次输出的BLDC电流值。
3.根据权利要求1所述的无刷直流马达驱动方法,其特征在于:
所述ARM芯片用以将所述FPGA芯片中的所述霍尔码盘数据经过总线读取后,根据所述霍尔码盘数据计算得到电机控制值,所述电机控制值经由所述总线回传至所述FGPA芯片;以及
所述FPGA芯片,用以接收所述ARM芯片发出的所述电机控制值,并可以存储所述无刷直流马达的霍尔码盘数据,并且,所述FPGA芯片具有多个NMOS;
其中,所述FPGA芯片根据所述电机控制值控制对应的所述多个NMOS开路或是闭合,以发出BLDC电流值,借此,时间同步地驱动所述无刷直流马达。
4.根据权利要求1所述的无刷直流马达驱动方法,其特征在于:所述ARM芯片内部包括ADC,所述ADC将由模拟电路所采集的所述BLDC电流值数据的数据形式从模拟形式转变成为数码形式。
5.根据权利要求1所述的无刷直流马达驱动方法,其特征在于:所述ARM芯片内部包括AHB总线,各个模块都通过所述AHB总线进行数据传输与相互沟通,且所述ARM芯片内部的数据传输与相互沟通是以32位元的数据形式。
6.根据权利要求4所述的无刷直流马达驱动方法,其特征在于:包括如下步骤T1至步骤T8,
步骤T1:利用FPGA芯片,在第一时间同时接收并同时处理来自多个BLDC中的多个霍尔码盘数据,并同时生成多个处理后的霍尔码盘数据,后续进行步骤T2;
步骤T2:将多个处理后的霍尔码盘数据存储至FPGA芯片中的霍尔计数寄存器,后续进行步骤T3;
步骤T3:ARM芯片从FPGA芯片读取多个处理后的霍尔码盘数据,后续进行步骤T4;
步骤T4:使用ADC采集多个BLDC中的多个BLDC电流值数据,后续进行步骤T5;
步骤T5:判断BLDC电流值数据是否超过阈值电流,若是,后续进行步骤T8,若否,后续进行步骤T6;
步骤T6:将不是0的BLDC电流值数据回传至ARM芯片,利用ARM芯片运算获得不是0的电机控制值,并回传给FPGA芯片,后续进行步骤T7;
步骤T7:运用FPGA芯片,将所述电机控制值转换成电机控制讯号,以同步控制无刷直流马达;
步骤T8:运用ADC直接将BLDC电流值数据转成0并回传至所述ARM芯片,利用ARM芯片运算获得是0的电机控制值,并回传给所述FPGA芯片,以关断无刷直流马达。
CN202110176368.3A 2019-04-28 2019-04-28 无刷直流马达驱动方法 Pending CN112886875A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110176368.3A CN112886875A (zh) 2019-04-28 2019-04-28 无刷直流马达驱动方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910347706.8A CN109980996B (zh) 2019-04-28 2019-04-28 无刷直流马达驱动整合***及驱动方法
CN202110176368.3A CN112886875A (zh) 2019-04-28 2019-04-28 无刷直流马达驱动方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910347706.8A Division CN109980996B (zh) 2019-04-28 2019-04-28 无刷直流马达驱动整合***及驱动方法

Publications (1)

Publication Number Publication Date
CN112886875A true CN112886875A (zh) 2021-06-01

Family

ID=67086687

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910347706.8A Active CN109980996B (zh) 2019-04-28 2019-04-28 无刷直流马达驱动整合***及驱动方法
CN202110176368.3A Pending CN112886875A (zh) 2019-04-28 2019-04-28 无刷直流马达驱动方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910347706.8A Active CN109980996B (zh) 2019-04-28 2019-04-28 无刷直流马达驱动整合***及驱动方法

Country Status (1)

Country Link
CN (2) CN109980996B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172324A (zh) * 2020-09-11 2022-03-11 名硕电脑(苏州)有限公司 回焊炉马达监控***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201904749U (zh) * 2010-11-08 2011-07-20 浙江理工大学 一种基于fpga数字化控制的无刷电机无级变速控制器
CN203434899U (zh) * 2013-09-22 2014-02-12 四川九洲电器集团有限责任公司 一种用于多电机的高精度伺服控制器
CN105763109A (zh) * 2016-04-06 2016-07-13 深圳拓邦股份有限公司 一种直流无刷电机的换相控制方法、直流无刷电机控制***
US20160241175A1 (en) * 2015-02-13 2016-08-18 Thales Holdings Uk Plc Digital Motor Control Unit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005117791A (ja) * 2003-10-08 2005-04-28 Denso Wave Inc 駆動制御装置及び駆動制御装置の駆動モジュール判別方法
TWI257342B (en) * 2004-06-08 2006-07-01 Ying-Shr Gung A servo control IC and servo system for a robot arm
JP4851250B2 (ja) * 2006-07-03 2012-01-11 デルタ エレクトロニックス,インコーポレイテッド 三台一体型acサーボ駆動装置
CN200997078Y (zh) * 2006-12-20 2007-12-26 中国人民解放军第二炮兵工程学院 全方位自主移动机器人电机控制***
CN102291062A (zh) * 2011-08-23 2011-12-21 浙江大学 一种基于fpga的高精度多电机控制方法
CN205490260U (zh) * 2015-12-31 2016-08-17 浙江国自机器人技术有限公司 基于fpga的多路无刷直流电机驱动装置
CN205566144U (zh) * 2016-04-15 2016-09-07 哈尔滨理工大学 一种多电机速度伺服驱动控制结构
CN206020986U (zh) * 2016-08-24 2017-03-15 上海电动工具研究所(集团)有限公司 基于模数混合fpag和视觉传感技术的运动控制***
CN107465367A (zh) * 2017-08-14 2017-12-12 广东工业大学 一种电机控制的方法及装置
CN107493041B (zh) * 2017-08-15 2023-10-20 深圳怡化电脑股份有限公司 多路电机控制***与控制方法及自助金融设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201904749U (zh) * 2010-11-08 2011-07-20 浙江理工大学 一种基于fpga数字化控制的无刷电机无级变速控制器
CN203434899U (zh) * 2013-09-22 2014-02-12 四川九洲电器集团有限责任公司 一种用于多电机的高精度伺服控制器
US20160241175A1 (en) * 2015-02-13 2016-08-18 Thales Holdings Uk Plc Digital Motor Control Unit
CN105763109A (zh) * 2016-04-06 2016-07-13 深圳拓邦股份有限公司 一种直流无刷电机的换相控制方法、直流无刷电机控制***

Also Published As

Publication number Publication date
CN109980996A (zh) 2019-07-05
CN109980996B (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
US7679344B2 (en) Microprocessor die with integrated voltage regulation control circuit
US7194321B2 (en) Modular multi-axis motion control and driving system and method thereof
JP3807301B2 (ja) モータ駆動装置
US7245100B2 (en) Multi-axis AC servo control system and method
CN103199773B (zh) 基于总线技术的伺服驱动***
CN111309669B (zh) 一种可编程电机运动控制片上***
Samar et al. The implementation of Field Oriented Control for PMSM drive based on TMS320F2808 DSP controller
CN109980996B (zh) 无刷直流马达驱动整合***及驱动方法
CN103116384A (zh) 一种SoC***时钟控制的方法和SoC
CN107783464A (zh) 一种多通道电动舵机控制方法
CN209731118U (zh) 无刷直流马达驱动整合***
US7339334B2 (en) Real-time responsive motor control system
Shao et al. A FPGA-based motion control IC design
JP2008067562A (ja) サーボアンプと多軸サーボシステムとその制御方法
CN106444714B (zh) 一种被控对象模型的搭建方法及装置
CN212433614U (zh) 一种基于fpga的多轴电机流水线控制***
CN211319204U (zh) 基于fpga的多种编码器协议自由转换ip核
CN219164770U (zh) 光源控制电路及具有其的光源控制器
CN115378250A (zh) 一种参数可配置的多路双向恒流源电路及控制方法
CN217693281U (zh) 一种pwm死区精度控制电路及soc芯片
JPH11266287A (ja) 分散制御システム
CN107765759A (zh) 输出信号生成电路
Bhakthavatchalu Design and Implementation of MIPI I3C master controller SubSystems
Kreindler et al. Drive systems for electric and hybrid vehicles
Lewin Motion ICs Make Their Move

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210601