基于Petri网的无刷直流电机DSP逻辑控制程序设计方法与流程

文档序号:20065001发布日期:2020-03-06 08:23阅读:151来源:国知局
基于Petri网的无刷直流电机DSP逻辑控制程序设计方法与流程

本发明涉及无刷直流电机dsp逻辑控制领域,更具体地说,涉及一种基于petri网的无刷直流电机dsp逻辑控制程序的设计方法,以确保逻辑程序的正确性和可靠性。



背景技术:

常见的直流无刷电机由电机本体,功率驱动电路和位置传感器组成。电机本体的定子上为电枢绕组,转子材料为永磁体,转子在电机内部产生旋转磁场,电枢绕组按照相应的逻辑顺序通电产生相应的旋转磁场,两磁场相互作用产生旋转力矩,实现无刷电机的正常运转。位置传感器实时检测电机转子的位置,将转子的磁位置信号转换为电信号传给控制器,控制器根据获取的转子位置决定驱动电路中电机的换相信息。

传统的无刷直流电机dsp逻辑控制程序的设计和调试比较繁琐,验证和检测通常依靠人工的反复调试和反复试错,难于避免程序中的逻辑错误,很难得到可靠的逻辑控制程序。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种便于验证,避免程序逻辑错误,以得到可靠的逻辑控制程序的基于petri网的无刷直流电机dsp逻辑控制程序的设计方法。

本发明的技术方案如下:

一种基于petri网的无刷直流电机dsp逻辑控制程序的设计方法,包括如下步骤:

1)建立无刷直流电机逻辑控制的petri网模型;

2)建立基于petri网可达图的无刷直流电机动态行为模型;

3)通过petri网设计无刷直流电机dsp逻辑控制程序。

作为优选,步骤1)具体如下:

1.1)建立霍尔传感器的petri网模型:用一对库所分别描述霍尔传感器的高电平信号和低电平信号,用一对变迁分别描述霍尔传感器由低电平向高电平切换和霍尔传感器由高电平向低电平切换;

1.2)建立电机旋转方向控制变量的petri网模型:用一对库所分别描述电机的正转和反转;用一对变迁分别描述电机由反转向正转切换和电机由正转向反转切换;

1.3)建立每个功率管的petri网模型:用一对库所分别描述功率管的导通状态和关断状态;将功率管的梯形换向逻辑表达式形式化为析取范式,将其中每个合取逻辑描述为一个变迁,变迁的输入对应合取逻辑表达式中逻辑变量对应的库所结点,变迁的输出为功率管对应的导通或关断库所结点。

作为优选,步骤2)具体为:根据petri网可达图算法,计算无刷直流电机动态系统的状态集合,并根据梯形换向逻辑逐个验证,是否符合规范,若不符合,重新设计petri网模型。

作为优选,步骤2)中,初始状态下,默认为全部信号为低电平或关断状态,作为相应的库所标记托肯,获得初始标识。

作为优选,步骤3)具体如下:

3.1)借助每个霍尔传感器的petri网,根据其库所名称在dsp控制程序中,定义该传感器对应的输入变量为hi;

3.2)借助转向控制变量的petri网,根据其库所名称在dsp控制程序中,定义电机旋转方向控制对应的输入变量为d;

3.3)借助功率管变量的petri网,根据其库所名称在dsp控制程序中,定义该功率管对应的输入变量为vti;

3.4)借助每个功率管的petri网,根据每个变迁的执行逻辑,设计无刷直流电机dsp逻辑控制程序。

本发明的有益效果如下:

本发明所述的基于petri网的无刷直流电机dsp逻辑控制程序的设计方法,通过对无刷直流电机的霍尔传感器和转向控制变量建模,得到功率管的petri网,petri网模型直观易懂,且易于分析。

本发明通过petri网可达图算法,计算无刷直流电机动态系统的状态集合,并根据梯形换向逻辑逐个验证,是否符合规范,若不符合,重新设计系统的petri网模型,避免了程序中的逻辑错误。

本发明给出无刷直流电机逻辑控制数学表达式,为dsp逻辑控制程序设计做铺垫,数学表达式描述逻辑控制更加严谨和清晰。

附图说明

图1是无刷直流电机驱动电路的电路示意图;

图2是霍尔传感器信号输出的状态示意图;

图3是无刷直流电机换相的状态示意图;

图4是霍尔传感器的petri网模型的示意图;

图5是转向控制变量d的petri网模型的示意图;

图6是功率管vt3的petri网模型的示意图;

图7是无刷直流电机dsp逻辑控制程序的状态可达图。

具体实施方式

以下结合附图及实施例对本发明进行进一步的详细说明。

本发明为了解决现有技术存在的设计和调试比较繁琐,验证和检测通常依靠人工的反复调试和反复试错,难于避免程序中的逻辑错误,很难得到可靠的逻辑控制程序等不足,提供一种基于petri网的无刷直流电机dsp逻辑控制程序的设计方法,以确保逻辑程序的正确性和可靠性。

本发明所述的基于petri网的无刷直流电机dsp逻辑控制程序的设计方法,包括如下步骤:

1)建立无刷直流电机逻辑控制的petri网模型;

2)建立基于petri网可达图的无刷直流电机动态行为模型;

3)通过petri网设计无刷直流电机dsp逻辑控制程序。

其中,步骤1)具体如下:

1.1)建立霍尔传感器的petri网模型:

将每个霍尔传感器描述2个库所和2个变迁组成的环,用一对库所分别描述霍尔传感器的高电平信号和低电平信号,用一对变迁分别描述霍尔传感器由低电平向高电平切换和霍尔传感器由高电平向低电平切换;

1.2)建立电机旋转方向控制变量的petri网模型:

将电机旋转方向控制输入描述2个库所和2个变迁组成的环,用一对库所分别描述电机的正转和反转;用一对变迁分别描述电机由反转向正转切换和电机由正转向反转切换;

1.3)建立每个功率管的petri网模型:

对于每一个功率管,用一对库所分别描述功率管的导通状态和关断状态;将功率管的梯形换向逻辑表达式形式化为析取范式,将其中每个合取逻辑描述为一个变迁,变迁的输入对应合取逻辑表达式中逻辑变量对应的库所结点,变迁的输出为功率管对应的导通或关断库所结点。

步骤2)具体为:根据petri网可达图算法,计算无刷直流电机动态系统的状态集合,并根据梯形换向逻辑逐个验证,是否符合规范,若不符合,重新设计petri网模型。其中,初始状态下,默认为全部信号为低电平或关断状态,作为相应的库所标记托肯,获得初始标识。

步骤3)具体如下:

3.1)借助每个霍尔传感器的petri网,根据其库所名称在dsp控制程序中,定义该传感器对应的输入变量为hi;

3.2)借助转向控制变量的petri网,根据其库所名称在dsp控制程序中,定义电机旋转方向控制对应的输入变量为d;

3.3)借助功率管变量的petri网,根据其库所名称在dsp控制程序中,定义该功率管对应的输入变量为vti;

3.4)借助每个功率管的petri网,根据每个变迁的执行逻辑,设计无刷直流电机dsp逻辑控制程序。

实施例

如图1所示,本实施例的无刷直流电机驱动电路中,电机定子绕组星型连接,逆变器采用三相全桥逆变电路,通电方式为两两导通。通过霍尔传感器检测转子位置,传感器输出的脉宽信号为180°电角度,三路霍尔信号输出相位差是120°,如图2、图3所示。控制器处理位置信号输出换相信息,驱动逆变电路三个桥臂上的vt1~vt6功率管,霍尔传感器状态与换相关系如下表所示:

所述的基于petri网的无刷直流电机dsp逻辑控制程序的设计方法,包括如下部分:

1)建立霍尔传感器的petri网模型

如图4所示,用一对库所分别描述霍尔传感器的高电平信号和低电平信号,用一对变迁分别描述霍尔传感器由低电平向高电平切换和霍尔传感器由高电平向低电平切换。

2)建立电机旋转方向控制变量的petri网模型

如图5所示,用一对库所分别描述电机的正转和反转;用一对变迁分别描述电机由反转向正转切换和电机由正转向反转切换。

3)建立每个功率管的petri网模型

用一对库所分别描述功率管的导通状态和关断状态;将功率管的梯形换向逻辑表达式形式化为析取范式,将其中每个合取逻辑描述为一个变迁,变迁的输入对应合取逻辑表达式中逻辑变量对应的库所结点,变迁的输出为功率管对应的导通或关断库所结点。如图6所示,以功率管vt3为例(其他功率管同理,本领域技术人员根据功率管vt3的描述可推导出,不再赘述),变迁的输入为输出为vt3在4个变迁条件下是导通的,在6个变迁条件下是关断的。

4)建立基于petri网的无刷直流电机逻辑控制状态可达图

4.1)通过功率管的petri网模型,可以得到输入变迁集和输出变迁集如下:

4.2)状态可达图中每个状态表示的具体形式如下:

其中,为1,为0时表示霍尔传感器为低电平信号;为0,为1时表示霍尔传感器为高电平信号;为1,为0时表示电机反转,为0,为1时表示电机正转;为1,为1时表示功率管关断状态,为0,为1时表示功率管导通状态。

4.3)如图7所示的状态m0为例(其他状态同理,本领域技术人员根据状态m0的描述可推导出,不再赘述),m0是以虚线表示的结点,则,m0是一个输入初始状态,默认为全部信号为低电平或关断状态,即,m0=(1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0)t

m0经由变迁激发到m1,m3,m5,m7,m9,m11中任一状态,电机正转,旋转顺序为m1→m3→m5→m7→m9→m11;m0经过变迁激发到m2,m4,m6,m8,m10,m12中任一状态,电机反转,旋转顺序为m2→m4→m6→m8→m10→m12。

根据petri网可达图,计算无刷直流电机动态系统的状态集合,并根据梯形换向逻辑逐个将信号代入逻辑表达式验证,是否符合规范,若不符合,重新设计系统的petri网模型。

5)根据功率管的petri网设计无刷直流电机的dsp逻辑控制程序

5.1)借助每个霍尔传感器的petri网,根据其库所名称在dsp控制程序中,定义该传感器对应的输入变量为hi;

5.2)借助转向控制变量的petri网,根据其库所名称在dsp控制程序中,定义电机旋转方向控制对应的输入变量为d;

5.3)借助功率管变量的petri网,根据其库所名称在dsp控制程序中,定义该功率管对应的输入变量为vti;

5.4)借助每个功率管的petri网,根据每个变迁的执行逻辑,设计无刷直流电机dsp逻辑控制程序,编写功率管vti的赋值程序指令。

以vt3为例,程序如下:

“ifvt3==0*

vt3=!vt3*!h1*h2*h3*d;

vt3=!vt3*!h1*h2*!h3*d;

vt3=!vt3*h1*!h2*!h3*!d;

vt3=!vt3*h1*!h2*h3*!d;

elseifvt3==1

vt3=vt3*!(!h1*!h2*h3);

vt3=vt3*!(h1*h2*!h3);

vt3=vt3*!(h1*!h2*!h3*d);

vt3=vt3*!(h1*!h2*h3*d);

vt3=vt3*!(!h1*h2*!h3*!d);

vt3=vt3*!(!h1*h2*h3*!d);”。

上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1