一种用于多电机驱动的芯片控制系统
文献发布时间:2024-04-18 19:57:11
技术领域
本发明涉及电机控制领域,更具体地说,涉及一种多电机驱动控制算法设计。
背景技术
近年来,随着工业的发展,在如多轴机器人、自动化机床、军用导弹舵机、相控阵列天线等多个相关领域,都需要在有限空间下实现多轴伺服电机的高精度位置、速度控制。目前,常规的电机控制方案大多采用微控制器(MCU)来实现,且大部分MCU只能同时控制1~2台交流伺服电机。普通48MHz主频的32位MCU执行一次伺服同步电机矢量控制和转子位置估计时间可能超过30us。若要实现大于2台电机高精度控制,由于MCU资源不够,处理器计算能力不足,往往需要多块MCU并联,导致系统成本高,且多电机同步、高精度控制受到限制。
专利申请号为CN202122072489.1提出一种电机运行控制专用ASIC芯片系统和电机运行系统,该申请提供的电机运行控制专用ASIC芯片系统利用ASIC芯片对电机的控制参数信息,结合专业的PID闭环调节、占空比转换和三相逆变电路对电机的运行电流直接进行调控,相比于传统技术中利用MCU直接控制电机运行的方法更加专业和可靠。亦可适用于多个电机控制,只需增加相应的模块及电路即可。
然而通过增加模块及电路数量,虽然可以实现多轴电机控制,但同样会延长该系统的运算处理时间,增大运行功耗并会占用较大面积,无法实现集成度高、运行效率快、功耗低的要求。
发明内容
本发明目的是提供一种用于多电机驱动的芯片控制系统,在能够实现多轴电机控制的基础上,还能缩小芯片面积,提高集成度和运行效率。
本发明通过以下技术方案得以实现:
一种用于多电机驱动的芯片控制系统,其特征在于,包含总控制模块、数据处理模块和FOC控制模块;
所述FOC(Field-Oriented Control)控制模块是一种用于交流电机控制的技术。它也被称为矢量控制或磁场定向控制。所述FOC控制模块的主要目标是实现对交流电机的精确控制,使其能够以高效率和高性能运行。所述总控制模块发出控制信号给所述数据处理模块以及所述FOC控制模块的输入端,所述总控制模块内部含有周期计数器,用于对所述FOC控制模块及所述数据处理模块进行时序控制;
所述数据处理模块接收由用户设定的电机的初始参数信息以及由所述总控制模块发出的所述控制信号,并对所述初始参数信息进行标幺化处理,输出标幺后参数信息给所述FOC控制模块;
所述FOC控制模块的输入端与所述总控制模块和所述数据处理模块的输出端连接,将由所述数据处理模块发送的所述标幺后参数信息,通过矢量PWM调制,生成多段PWM信号输出,来控制多个电机的角速度和转矩。
所述总控制模块输入为外部给定启动和停止信号,以控制电机的启动和停止。总控制模块接收到外部启动信号后,向所述数据处理模块以及所述FOC控制模块发出控制信号。控制信号包含使能信号、复位信号和时钟信号。所述总控制模块中含有周期计数器,时钟信号以上升沿触发递增,在同一时刻点或不同时刻点对所述数据处理模块以及所述FOC控制模块进行时序控制。
所述数据处理模块的接收端接收所述总控制模块发出的控制信号以及由用户设定的电机初始参数信息,所述电机初始参数信息包括额定电压、额定电流、额定角速度等信息。所述数据处理模块对所述电机初始参数信息进行标幺化处理。标幺化处理是现有技术中数据处理的一种方式,在标幺化处理中,所述电机初始参数信息被除以一个基准值,从而将其转化为所述标幺后参数信息输出给所述FOC控制模块。基准值可以由用户按实际情况指定,也可以公式计算得到。所述标幺后参数信息包括d轴电流值ld1、q轴电流值lq1和角速度值ω。标幺化处理可以消除参数信息中量纲和单位的影响,使得不同参数信息之间可以进行直接比较,以达到良好的电机控制。
所述FOC控制模块的输入端接收所述总控制模块发出的控制信号,以及所述数据处理模块发送的标幺后参数信息。同时,所述FOC控制模块内部含有ADC采样模块,用于采集电机运转时实际的电流信号。所述FOC控制模块通过矢量脉宽调制(PWM),生成多段经过调制后的PWM信号对电机角速度、转矩进行控制。所述PWM信号是一种调节信号的技术,通过改变信号的脉冲宽度来控制输出信号的平均功率。
所述总控制模块、所述数据处理模块和所述FOC控制模块均集成在ASIC芯片上。ASIC芯片是指专用集成电路(Application-Specific Integrated Circuit)芯片,与通用处理器如MCU相比,ASIC芯片可以提供更高的集成度和更高的性能。该种用于多电机驱动的芯片控制系统通过时序控制,从而实现多电机之间并行运行。与通过增加相应的模块和电路的方法进行多电机控制相比,该种控制系统占用面积更小,所需的硬件资源更低,控制算法更简单,运行效率更高。
作为本发明的优选,所述FOC控制模块包含d轴电流环PI控制器、q轴电流环PI控制器、速度环PI控制器以及与所述速度环PI控制器的输出端连接的单刀双掷开关;
所述d轴电流环PI控制器接收经所述数据处理模块发出的d轴电流值ld1,输出d轴电压控制信号;
所述单刀双掷开关处在第一闭合点时,所述q轴电流环PI控制器接收经所述数据处理模块发出的q轴电流值lq1,输出q轴电压控制信号;
所述单刀双掷开关处在第二闭合点时,所述数据处理模块发出的角速度值ω,经所述速度环PI控制器转换后输出q轴电流值lq1,由所述q轴电流环PI控制器的输入端接收。
所述数据处理模块发出的所述标幺后参数信息包括d轴电流值ld1、q轴电流值lq1和角速度值ω。在电机控制中,d轴和q轴是用于描述电机转子磁场与定子磁场之间相对位置的坐标轴。
所述d轴电流环PI控制器用于接收d轴电流值ld1及电机d轴实际电流反馈信号,输出d轴控制电压信号以控制电机的转矩;所述电机d轴实际电流反馈信号是由所述FOC控制模块中的ADC采集模块采集后,再经坐标变换模块换算得到的。本领域技术人员依靠本实施例的文字解释可以实现,在本文不做具体赘述。
所述q轴电流环PI控制器的输入端与所述单刀双掷开关连接,用于接收q轴电流值lq1及电机q轴实际电流反馈信号,输出q轴控制电压信号以控制电机的角速度。所述电机q轴实际电流反馈信号同样,是由FOC控制模块中的ADC采集模块采集后,再经坐标变换模块换算得到的。本领域技术人员依靠本实施例的文字解释可以实现,在本文不做具体赘述。
所述d轴电流值ld1由用户设定后经所述数据处理模块输出。所述q轴电流值lq1有两路输出可供选择:当所述单刀双掷开关处在第一闭合点时,所述q轴电流值lq1由所述数据处理模块直接输出;当所述单刀双掷开关处在第二闭合点时,所述数据处理模块输出所述角速度值ω,经所述速度环PI控制器后输出q轴电流值lq1给到所述q轴电流环PI控制器的输入端。
通过所述单刀双掷开关闭合点的切换,用户可配置相应的额定角速度亦或是额定q轴电流实现对电机的角速度闭环控制,增加了配置的多样性和灵活性。且通过开关切换选择其中一路运算,加快了运行时间,提高运行效率。
作为本发明的优选,所述速度环PI控制器的输入端连接有用于控制角速度变化的速度给定模块。
所述速度给定模块即SPEED RAMP模块,其输入为经所述数据处理模块发出标幺化后额定电流和标幺化后额定角速度指令。用户可对所述SPEED RAMP设置电机角速度增加斜率和时间。所述SPEED RAMP输出电机角速度以及电流的变化曲线发送给所述速度环PI控制器。通过所述SPEED RAMP可以控制电机角速度变化的快慢,实现更精确和平稳的电机运行控制。所诉SPEED RAMP模块为现有技术中成熟的运算模块,本文中不对其进行具体赘述。
作为本发明的优选,所述速度环PI公式如下:
其中,i
其中,f
中间变量k
其中,J表示电机转动惯量,PM表示角速度环相位裕度,P表示电机极对数,ψ
作为本发明的优选,所述d轴电流环PI控制器、所述q轴电流环PI控制器的公式如下:
其中,u
其中,V
作为本发明的优选,所述FOC控制模块包含坐标变换模块,所述坐标变换模块包含CLARKE变换模块、PARK变换模块、IPARK变换模块;所述总控制模块对所述坐标变换模块进行分时使能。
所述CLARKE变换模块将电机的电压、电流值变换为α、β轴电流电压信号输出,再经过所述PARK变换模块变换,输出为所述q轴实际电流反馈信号、所述d轴实际电流反馈信号分别反馈到所述q轴电流环PI控制器、d轴电流环PI控制器的输入端;所述d轴电流环PI控制器、q轴电流环PI控制器分别输出d轴控制电压信号、q轴控制电压信号,并经INV_PARK变换模块变换成α、β轴电压信号输出,以控制电机的角速度和转矩。
所述坐标变换模块中的所述CLARKE变换模块、所述PARK变换模块、所述IPARK变换模块,均会利用到乘法器。乘法器数量过多会对系统的面积、功耗、延迟和复杂性产生负面影响。因此本技术方案将其合并成一个模块,即三个运算模块共用一个乘法器,通过所述总控制模块对三个运算模块分时使能,节省了乘法器资源至原来的三分之一,提高了系统的运行效率。
作为本发明的优选,所述FOC控制模块包含CORDIC模块,所述CORDIC模块将电机真实角度转换为sinθ、cosθ值发送给所述坐标变换模块进行运算。
CORDIC算法它的核心思想是将复杂的数学运算转化为坐标系中的旋转操作。通过不断迭代旋转操作,可以逼近目标函数的值。由于CORDIC算法的操作符号只涉及移位、加法和减法,这些操作在数字逻辑电路中易于实现。因此,CORDIC算法被广泛用于数字信号处理器(DSP)和其他嵌入式系统中。
作为本发明的优选,所述FOC控制模块含有用于将传感信号进行解码的解码模块,所述总控制模块对所述解码模块进行分时使能。
常用解码模块信息需要多个IO接口进行数据传输。虽然多个解码模块并行提高了系统运行速率,但在IO资源的利用上得不偿失。而本技术方案所述解码模块利用所述总控制模块对所述解码模块进行时序控制,使得采样数据可以多口复用、分时片选解码,极大的节省了芯片IO资源。同时,为了解决多口复用产生的解码模块串行运行时间长的问题,本技术方案结合串行及并行的方式,即在上一个电机解码完成的同时,对下一个电机的所述解码模块进行配置输出,极大的节省了系统运行时间。
作为本发明的优选,所述FOC控制模块含有用于估计电机角速度
其中k
所述观测器即MRAS-OBSERVER,输入为电机实际α、β轴电流反馈信号,通过估计角度将α、β轴电流信号转换为电机d、q轴电流信号,进行MRAS-OBSERVER运算,并能够收敛。该模块可准确估计电机实际电角度以及角速度等电机位置、速度信息。当电机上没有安装传感器时,可使用MRAS-OBSERVER进行估计电机的实际电角度以及角速度信息。
一种用于多电机驱动的芯片控制系统的控制方法,其特征在于,包括如下步骤:
S01、初始化步骤:各个模块初始化,寄存器复位清零;
S02、采样偏置步骤:采集实际电流电压偏置信息以及电机的初始位置信息,进行计算处理,所述采样偏置步骤可调整循环次数,采集多组数据进行对比;
S03、电机运行控制步骤:输出经过调制后的PWM信号给电机,实现对电机的角速度和转矩的精确控制;
S04、故障保护步骤:对各路电机进行故障监测,若出现故障则对故障模块进行复位清零。
各步骤的具体流程如下:
S01、初始化步骤:所述总控制模块接收到外部启动信号后,进入所述初始化步骤,向下级各模块发出控制使能信号,各个模块寄存器复位清零;
S02、采样偏置步骤:所述初始化步骤完成后进入采样偏置步骤,所述FOC控制模块接收所述总控制模块发出的使能信号,得到实际电流电压偏置信息以及电机初始位置信息,并对偏置信息进行计算处理。该采样偏置步骤可调整循环次数,采集多组数据进行对比,确保采集到的数据正确、完整;
S03、电机运行控制步骤:所述偏置采样步骤完成后,进入电机运行控制步骤,所述FOC控制模块接收所述总控制模块发出的使能信号,输出经过调制后的PWM信号给电机,实现对电机角速度和转矩的精确控制;
S04、故障保护步骤:所述电机运行控制步骤完成后进入故障保护步骤,对各路电机进行故障检测,若无故障,所述总控制模块可以让所述FOC控制模块依次发出给定周期信号,并以进行循环控制;若在控制过程中出现故障,则直接进入故障步骤,所述总控制模块对所有下属模块进行复位操作。
各个步骤可通过调整相应周期线性序列机计数器调整控制执行频率。同样,周期计数器以系统时钟上升沿触发递增,在同一时刻点可同时使能多台所述FOC控制模块信号。此外,若对多台电机进行分时控制,则可在不同时刻点对所述FOC控制模块使能,可根据系统时钟以及周期计数器进行计算分时触发所述FOC控制模块,总控制模块安排了电机运行模块的启动时刻,可控制电机在相应需求时间启动,因此可将不同电机间的各个模块使能信号进行次序合理安排以及对模块输入给定数值进行用户自定义,以达到多个电机的多样化控制,如多台电机同步不同速控制或独立控制。
综上所述,本发明具有如下有益效果:
1.三个功能模块均集成在ASIC芯片上,ASIC芯片可以提供更高的集成度和更高的性能,加快控制系统的运行效率。
2.总控制模块对其它各模块进行时序控制,从而实现多个电机的控制,该种控制系统占用面积更小,所需的硬件资源更低,控制算法更简单,运行效率更高。
3.通过单刀双掷开关闭合点的切换,用户可配置相应的额定角速度亦或是额定q轴电流实现对电机的角速度闭环控制,增加了配置的多样性和灵活性。
4.将CLARKE变换模块、PARK变换模块、IPARK变换模块合并成一个模块,即三个运算模块共用一个乘法器,通过所述总控制模块对三个运算模块分时使能,节省了乘法器资源至原来的三分之一,提高了系统的运行效率。
5.利用总控制模块对解码模块进行时序控制,使得采样数据可以多口复用、分时片选解码,极大的节省了芯片IO资源。
附图说明
图1是芯片控制系统的框架图;
图2是FOC控制模块的框架图;
图3是芯片控制系统的工作步骤流程图;
图4是多电机驱动控制外部框架;
图5是双电机同步运行的实际电角度波形图;
图6是双电机独立运行的实际电角度波形图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
如图1所示,所述总控制模块输入为外部给定启动和停止信号,以控制电机的启动和停止。总控制模块接收到外部启动信号后,向所述数据处理模块以及所述FOC控制模块发出控制信号。控制信号包含使能信号、复位信号和时钟信号。所述总控制模块中含有周期计数器,时钟信号以上升沿触发递增,在同一时刻点或不同时刻点对所述数据处理模块以及所述FOC控制模块进行时序控制。
所述数据处理模块的接收端接收所述总控制模块发出的控制信号以及由用户设定的电机初始参数信息,所述电机初始参数信息包括额定电压、额定电流、额定角速度等信息。所述数据处理模块对所述电机初始参数信息进行标幺化处理。在标幺化处理中,所述电机初始参数信息被除以一个基准值,从而将其转化为所述标幺后参数信息输出给所述FOC控制模块。所述标幺后参数信息包括标幺化后的额定电压、额定电流、额定角速度等信息。标幺化处理可以消除参数信息中量纲和单位的影响,使得不同参数信息之间可以进行直接比较,以达到良好的电机控制。
所述FOC控制模块的输入端接收所述总控制模块发出的控制信号,以及所述数据处理模块发送的标幺后参数信息。安装在电机上的传感器将传感信号发送给所述FOC控制模块,所述传感信号包括电机实际角速度以及电角度信息。同时,所述FOC控制模块内部含有ADC采样模块,用于采集电机运转时实际的直流母线电压信号即udc、电流信号。所述FOC控制模块通过矢量脉宽调制(PWM),生成多段经过调制后的PWM信号对电机角速度、转矩进行控制。所述PWM信号是一种调节信号的技术,通过改变信号的脉冲宽度来控制输出信号的平均功率。
如图2所示为所述FOC控制模块的框架图。所述d轴电流环PI控制器、q轴电流环PI控制器接收d轴电流值ld1、q轴电流值lq1以及实际得到的电机d、q轴电流负反馈信号,输出d、q轴电压控制信号,并经INV_PARK变换模块变换成α、β轴电压控制信号输入给SVPWM模块。
所述SVPWM模块输出PWM信号发出中比较点计数器所需要的比较值给PWM发生模块。PWM发生模块输出为PWM开关信号用于控制电机角速度和转矩。调制SVPWM模块可以选择合适的调制策略,如五段式、七段式、过调制、移相调制等策略可供选择。
所述d轴电流环PI控制器、q轴电流环PI控制器的公式如下:
其中,u
其中,V
q轴电流环PI控制器接收到的q轴电流值lq1有以下两种路径获得:1、用户设定直接设定q轴额定电流经所述数据处理模块处理后输出;2、用户设定电机额定角速度后经所述数据处理模块、所述SPEED RAMP模块输出。此外速度环PI控制器还接收电机实际角速度反馈信号后,输出q轴额定电流信号。
所述速度环PI控制器公式如下:
其中,i
其中,f
中间变量k
其中,J表示电机转动惯量,PM表示角速度环相位裕度,P表示电机极对数,ψ
所述d、q轴电流环PI控制器接收到的实际电机d、q轴电流反馈信号是由所述ADC采样模块采集对电机的母线电压udc和电流,然后利用udc和ta、tb、tc去重构观测器需要的ualpha和ubeta,经所述CLARKE变换模块、所述PARK变换模块转换而来;ta,tb,tc是svpwm中间的计算变量-矢量切换点时间。速度环PI控制器接收到的实际角速度反馈信号是通过所述传感器、所述编码器直接得到的亦或是通过所述MRAS-OBSERVER模块估算出来的。
当该种电机驱动用专用集成芯片控制系统处于有感步骤时,安装在电机上的电机转子角速度、位置检测传感器,如光编、旋变等传感器将传感信号处理为电机实际的编码器信号后,发送给DECODER模块。DECODER模块输出为电机实际角速度以及电角度。
当该种电机驱动用专用集成芯片控制系统处于无感步骤时,即电机无编码器、传感器对电机实际角速度进行监测时,经所述CLARKE变换模块变换输出的α、β轴实际电流电压反馈信号,可作为所述MRAS-OBSERVER模块的输入信号。所述MRAS-OBSERVER模块进行运算后输出为估计得到的电机实际角速度
所述MRAS-OBSERVER模块,其推导公式如下:
其中k
所述MRAS-OBSERVER模块以及所述编码器输出的电角度值经所述CORDIC模块换算后输出为真实角度的sin
坐标变换模块中的所述CLARKE变换模块、所述PARK变换模块、所述IPARK变换模块,在这三个运算模块均会利用到乘法器,乘法器数量过多会对系统的面积、功耗、延迟和复杂性产生负面影响。因此本设计将其合并成一个模块,即三个运算模块共用一个乘法器,通过所述总控制模块对三个运算模块分时使能,节省了乘法器资源至原来的三分之一,提高了系统的运行效率。
所述总控制模块、所述所述数据处理模块和所述FOC控制模块均集成在ASIC芯片上。ASIC芯片是指专用集成电路(Application-Specific Integrated Circuit)芯片,与通用处理器如MCU相比,ASIC芯片可以提供更高的集成度和更高的性能。该种用于多电机驱动的芯片控制系统通过时序控制,从而实现多电机之间并行运行。与通过增加相应的模块和电路的方法进行多电机控制相比,该种控制系统占用面积更小,所需的硬件资源更低,控制算法更简单,运行效率更高。
所述FOC控制模块中的各个功能模块的资源消耗和执行时间如下表1所示。
表1各功能模块的资源消耗和执行时间表
如表1所示,为FOC控制模块中的各个功能模块的资源消耗和执行时间。有感步骤下该FOC控制模块能够在2.8us以内执行完成。无感步骤下该FOC控制模块能够在4us以内执行完成。并且在完成多个功能的情况下资源消耗较低。此外,若采用并行的方式增设多路电机控制,系统执行时间不会大幅上升,且程序设计简单。
如图3所示,为该种用于多电机驱动的芯片控制系统的工作步骤流程图。
STEP1:启动和停止信号输入进总控制模块,以控制电机的启动和停止。总控制模块接收到外部启动信号后,进入上电初始化步骤,向下级各模块发出控制使能信号,各个模块寄存器复位清零。用户可以对电机的额定电压、额定电流、额定角速度等电机实际参数进行设定,所述数据处理模块接收到用户设定的电机实际参数后对这些数据进行标幺化处理,输出标幺后参数信息,达到良好的电机控制。
STEP2:初始化步骤完成后进入采样偏置步骤。所述总控制模块向所述ADC采样模块发出使能信号,得到实际电流电压偏置信息以及电机初始位置信息,并对偏置信息进行计算处理。该采样偏置步骤可调整循环次数,采集多组数据进行对比,确保采集到的数据正确、完整。
STEP3:偏置采样完成后,进入电机运行控制步骤。所述总控制模块向所述FOC控制模块使能,所述FOC控制模块输出经过调制后的PWM信号给电机,实现对电机角速度和转矩的精确控制。
STEP4:所述电机运行控制步骤完成后进入故障保护步骤,对各路电机进行故障检测,若无故障,所述总控制模块可以让所述FOC控制模块依次发出给定周期信号,并以进行循环控制;若在控制过程中出现故障,则直接进入故障步骤,所述总控制模块对所有下属模块进行复位操作。
若要同时控制多台电机,可通过总控制模块中的周期计数器,以系统时钟上升沿触发递增,在同一时刻点同时发出多路经过调制后的PWM信号对电机角速度、转矩进行控制。若要对多台电机进行分时控制,可以在不同时刻点进行触发。
如图4所示,本发明通过多电机驱动的芯片控制系统对外部电机硬件驱动模块进行驱动控制,达到对电机的最终控制。芯片可向外部多个驱动电路同时发出PWM控制信号,达到对多个电机的同步控制。其中,PWM电平转换模块用于适配不同的电机驱动硬件电路;ADC采样电路返回电机运行实际电流信号,用于芯片内部的FOC控制模块控制以及MRAS角度速度观测器运算;电机返回的编码器信号利用芯片提供的解码模块获取电机真实角度速度信号。
如图5所示,为该种用于多电机驱动的芯片控制系统对双电机进行同步控制时,两个电机的实际角度波形图。可以看出,两个电机电角度大小和相位保持高度一致;如图6所示,为该种用于多电机驱动的芯片控制系统对双电机进行同独立控制时,两个电机的实际角度波形图。可以看出,控制电机1正转,控制电机2反正转,能够对不同电机进行独立控制。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
- 数字电平转换电路、半桥预驱动器、半桥预驱动芯片及无刷直流电机控制系统
- 一种远程分离的电机驱动及电机控制系统以及电机驱动及电机控制系统