本发明属于伺服控制技术。涉及一种并联舵机脉宽调制驱动信号的确定方法。
背景技术:
脉冲宽度调制控制技术就是对脉冲的宽度进行调制的技术,通过对开关的导通和关断控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,按一定的规则对脉冲的宽度进行调制即可改变输出等效电压的大小,也可改变输出频率,广泛应用在测量、通信到功率控制与变换的许多领域中。目前的并联舵机的驱动信号是采用硬件电路实现,其缺点是体积大,重量沉,成本高。
技术实现要素:
本发明的目的是:提出一种并联舵机脉宽调制驱动信号的确定方法,以便省略硬件电路,减小体积,减轻重量,降低成本。
本发明的技术方案是:一种并联舵机脉宽调制驱动信号的确定方法,其特征在于,确定并联舵机脉宽调制驱动信号的步骤如下:
1、定义:
1.1、所需占空比σ×100%,正值表示正向驱动,负值表示反向驱动;
1.2、控制指令Δ;
1.3、计算阶段逻辑符号MARK;
1.4、当前控制拍的积分算子Un;
1.5、积分上限参数L1;
1.6、积分下限参数L2;
1.7、脉宽调制信号输出Vout,它有3个状态量“0,+1,-1”,“0”表示不输出,+1表示正向波峰输出,-1表示负向波峰输出;
1.8、脉冲持续时间参数ε;
1.9、控制拍的周期T,单位为s;
2、计算控制指令Δ:
Δ=σ×ε……………………………………………………[1]
3、判断计算阶段逻辑符号MARK是否为真:
3.1、如果MARK=0,则转至步骤8;
3.2、如果MARK=1,则继续下述步骤;
4、脉宽调制信号输出Vout赋值:Vout=0;
5、计算当前拍控制拍的积分算子Un:
Un=Un-1+Δ×T……………………………………………………[2]
式中,Un-1是前一控制拍的积分算子;
6、阶段逻辑符号MARK赋值:
6.1、如果∣Un∣≥L1,则MARK=0;
6.2、如果∣Un∣<L1,则MARK=1;
7、至此,确定并联舵机脉宽调制驱动信号的步骤结束;
8、脉宽调制信号输出Vout赋值,计算当前拍控制拍的积分算子Un:
8.1、如果Un-1≥0,Vout=+1;
Un=Un-1+(Δ-ε)×T…………………………….………………[3]
式中,Un-1是前一控制拍的积分算子;
8.2、如果Un-1<0,Vout=-1;
Un=Un-1+(Δ+ε)×T……………………………………………[4]
式中,Un-1是前一控制拍的积分算子;
9、计算阶段逻辑符号MARK赋值:
9.1、如果∣Un∣≥L2,则MARK=0;
9.2、如果∣Un∣<L2,则MARK=1;
至此,确定并联舵机脉宽调制驱动信号的步骤结束。
本发明的优点是:提出了一种并联舵机脉宽调制驱动信号的确定方法,省略了硬件电路,减小了体积,减轻了重量,降低了成本。
具体实施方式
下面对本发明做进一步详细说明。一种并联舵机脉宽调制驱动信号的确定方法,其特征在于,确定并联舵机脉宽调制驱动信号的步骤如下:
1、定义:
1.1、所需占空比σ×100%,正值表示正向驱动,负值表示反向驱动;
1.2、控制指令Δ;
1.3、计算阶段逻辑符号MARK;
1.4、当前控制拍的积分算子Un;
1.5、积分上限参数L1;
1.6、积分下限参数L2;
1.7、脉宽调制信号输出Vout,它有3个状态量“0,+1,-1”,“0”表示不输出,+1表示正向波峰输出,-1表示负向波峰输出;
1.8、脉冲持续时间参数ε;
1.9、控制拍的周期T,单位为s;
2、计算控制指令Δ:
Δ=σ×ε……………………………………………………[1]
3、判断计算阶段逻辑符号MARK是否为真:
3.1、如果MARK=0,则转至步骤8;
3.2、如果MARK=1,则继续下述步骤;
4、脉宽调制信号输出Vout赋值:Vout=0;
5、计算当前拍控制拍的积分算子Un:
Un=Un-1+Δ×T……………………………………………………[2]
式中,Un-1是前一控制拍的积分算子;
6、阶段逻辑符号MARK赋值:
6.1、如果∣Un∣≥L1,则MARK=0;
6.2、如果∣Un∣<L1,则MARK=1;
7、至此,确定并联舵机脉宽调制驱动信号的步骤结束;
8、脉宽调制信号输出Vout赋值,计算当前拍控制拍的积分算子Un:
8.1、如果Un-1≥0,Vout=+1;
Un=Un-1+(Δ-ε)×T…………………………….………………[3]
式中,Un-1是前一控制拍的积分算子;
8.2、如果Un-1<0,Vout=-1;
Un=Un-1+(Δ+ε)×T……………………………………………[4]
式中,Un-1是前一控制拍的积分算子;
9、计算阶段逻辑符号MARK赋值:
9.1、如果∣Un∣≥L2,则MARK=0;
9.2、如果∣Un∣<L2,则MARK=1;
至此,确定并联舵机脉宽调制驱动信号的步骤结束。
实施例1
取σ=20%,ε=43.73,L1=3.57,L2=1.82,T=0.02,
在输出Vout第一次变为1后的每一个周期内,Vout的序列为:1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,…。
实施例2
取σ=-50%,ε=43.73,L1=3.57,L2=1.82,T=0.02,
在输出Vout第一次变为-1后的每一个周期内,Vout的序列为:-1,-1,-1,-1,-1,0,0,0,0,0,…。
实施例3
取σ=-50%,ε=43.73,L1=3.57*0.5,L2=1.82*0.5,T=0.02,在输出Vout第一次变为-1后的每一个周期内,Vout的序列为:-1,-1,-1,0,0,0,…。