本发明涉及无刷直流电机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网,根据其库所名称
3.2)借助转向控制变量的petri网,根据其库所名称
3.3)借助功率管变量的petri网,根据其库所名称
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网,根据其库所名称
3.2)借助转向控制变量的petri网,根据其库所名称
3.3)借助功率管变量的petri网,根据其库所名称
3.4)借助每个功率管的petri网,根据每个变迁的执行逻辑,设计无刷直流电机dsp逻辑控制程序。
实施例
如图1所示,本实施例的无刷直流电机驱动电路中,电机定子绕组星型连接,逆变器采用三相全桥逆变电路,通电方式为两两导通。通过霍尔传感器检测转子位置,传感器输出的脉宽信号为180°电角度,三路霍尔信号输出相位差是120°,如图2、图3所示。控制器处理位置信号输出换相信息,驱动逆变电路三个桥臂上的vt1~vt6功率管,霍尔传感器状态与换相关系如下表所示:
所述的基于petri网的无刷直流电机dsp逻辑控制程序的设计方法,包括如下部分:
1)建立霍尔传感器的petri网模型
如图4所示,用一对库所
2)建立电机旋转方向控制变量的petri网模型
如图5所示,用一对库所
3)建立每个功率管的petri网模型
用一对库所
4)建立基于petri网的无刷直流电机逻辑控制状态可达图
4.1)通过功率管的petri网模型,可以得到输入变迁集和输出变迁集如下:
4.2)状态可达图中每个状态表示的具体形式如下:
其中,
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经由变迁
根据petri网可达图,计算无刷直流电机动态系统的状态集合,并根据梯形换向逻辑逐个将信号代入逻辑表达式验证,是否符合规范,若不符合,重新设计系统的petri网模型。
5)根据功率管的petri网设计无刷直流电机的dsp逻辑控制程序
5.1)借助每个霍尔传感器的petri网,根据其库所名称
5.2)借助转向控制变量的petri网,根据其库所名称
5.3)借助功率管变量的petri网,根据其库所名称
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);”。
上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。