自然采样spwm之软件计算_第1页
自然采样spwm之软件计算_第2页
自然采样spwm之软件计算_第3页
自然采样spwm之软件计算_第4页
自然采样spwm之软件计算_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件快速生成自然采样法SPWM数据引言:SPWM即正弦脉宽调制技术在电力电子及工业控制领域有着广泛的应用,其波形的产生可分为硬件和软件两种方法,通过软件计算波形开关点实施调控具有电路简单、调控准确、应用灵活等优点。其软件算法中以自然采样法输出SPWM波形最接近正弦波,但由于三角波与正弦波交点有任意性,脉冲中心在一个周期内不等距,从而脉宽表达式是一个超越方程,计算式复杂。本文提出了一种能够节省计算资源的比较算法,可以大幅提高软件计算spwm数据计算速度。一、载波比与控制精度的关系很多文章介绍了自然采样法的数学方法,并给出了各种优化算法,这些算法力图精确求解三角方程与正弦方程的交点,由于运算中带有

2、大量的浮点运算若没有dsp或高速浮点处理芯片的支持必然会造成运算时间过长对实时调控产生影响。实际上我们需要的计算精度和每载波周期可能的开关点数量有关系,此数值用C来表示,称其为控制比(下文同)数值上=载波周期/pwm周期,同步调制方式中此值为整数,可以理解为用多少个pwm周期控制一个载波周期。pwm频率实际上是开关电路的极限频率或最理想工作的频率,假设每载波周期可能的开关点数量为512个则需要二进制的9位计算精度如果再加一位存疑位最多计算10位就够了。如果采用数据类型IEEE32浮点数迭代运算将得到24位(二进制)精度的计算结果,与实际需要相差甚远。在这里特别指出计算精度与具体的数值大小无关。

3、从另一个角度看由于pwm频率的限制有高精度的计算结果也无法实施高精度的开关控制。可以采用两种方法减少这种无意义的计算资源浪费第一种方法是在迭代算法中加入精度条件限制,这需要重新编写迭代函数、浮点库函数和三角运算库函数难度较大。第二种方法是采用基于数值比较的方法确定计算结果,下面就第二种方法展开讨论。二、比较法基本思想首先考虑锯齿波的计算。假设调制比M=m1载波比为整数N=n1的pwm数据已经计算完成, 图中虚线为可能的开关点位置,定义每项计算值x的数学含义为真值落入区间(x,x+1之中,当N值不变时如果m2m1时可以确定每一项的计算值一定增大,那么我们只需从当前值+1开始依次校验后面的开关点找

4、到满足不等式m2*sinxKx(图中箭头所指)的最小x值即可。当m2Kx的最大x值。S=10y=m1*sinxy=m2*sinx(m2m1)y=kx图1 M值变大时计算值变大K值为锯齿波斜率,当载波比N和控制比S确定后K值和每一开关点的增量为一常数在每一轮载波周期计算前得出,具体算式不再详述。当M值不变N值变大时每个载波周期变大,不难看出每项计算值都减小,与M减小的算法相同,N变小与M变大算法相同。假设每次计算M与N只有一个变化则可将两种算法合并。可以看出S取值越大则计算量越大,当S取值足够大时通过以上算法仍然可精确的求解正弦与斜线的交点。由于每次计算都以上次计算结果为起始值,因此计算效率得以

5、提高,特别当M值变化不大和N取值较大时(计算结果变动不大)每个载波周期只需要进行一次三角运算即可完成。二、锯齿波向三角波的转换由于三角函数半周期对称,可以利用上述算法计算得到半周期载波为锯齿波的spwm数据。实际应用中以三角波做载波具有很多优势,而锯齿波与三角波存在一定的转换关系,其数学式较复杂为简化说明我们看下图。图2 锯齿波与三角波的关系图2中左图为N=8,M=0.4正弦与锯齿波相位相差半个载波周期时图形,右图为左图以正弦中点水平翻转后与左图叠加的结果,不难看出将三角M参数做半值处理、正弦相位后移0.5载波周期,原算法的计算结果第i和第N-i数据组合即可得到第i项载波为三角波的开关点pwm

6、数据。特别的当N为奇数时第N/2个锯齿波起点与正弦中点重合有交点对称的性质,所以奇数时中间点与自己组合可得到四分之一周期的三角波数据。从上面图中可以看出由于三角波pwm四分之一周期对称的特性,只需将半载波周期锯齿波计算的参数和结果做适当调整就得到四分之一周期三角波spwm数据。三、双极式的处理对于上右图您可能已经看到了双极式的交点,在算法不变的情况下依次变换正弦与载波信号的相位差为0和0.5载波周期即可依次输出正负半周的双极式spwm数据了,软件实现上也是比较容易的。四、实际应用中的考虑(1)初始值的处理算法实现中取各参量均为整形变量,计算后移位处理。因为需要有计算初值,因此需要不小于N最大值

7、的数据区存放运算结果,数据区初始值以0填充,然后以初始的M和N值开始计算,由于0值可能与实际的运算值相差较远故初始化阶段耗时较长,可以把这段时间放入上电初始化程序中,或者以固定的参数计算结果填充数据区以减少初始化时间。每周期计算前先比较新的M或N值确定计算方向,计算几个常量后逐点比较。(2) N取值变化的计算上述算法实现中特别要注意的是动态的N值调整可能会破坏数据的一致性,这种情况发生N值增加时,新增加的数据初值无法确定。建议将新增加的数据插入到正弦半周期的结束位置,N增大时数据以减小方向计算故初值以缓冲区的上一个数据填充可保持一致性并且减少校验数据的计算次数。(3)查表法求三角正弦为减小三角

8、函数的运算开销,可以用查表法优化三角运算。应用中在rom区域以16位整数存储16384个65536*sin(i)-1 (i=016383)的结果,共占用32K字节的rom存储空间。在三角函数与M乘法运算完成后移位处理数据,这样既保证了16位的精度又节省了存储空间。采用查表映射正弦三角函数值后可以彻底避免浮点数的运算,因此再次大幅提高计算效率。(4)调频的控制实际应用中pwm由时钟分频电路和硬件比较电路产生,通过修改内部寄存器值控制占空比,很多mcu都内置此部分功能。S值由pwm的控制寄存器的位数决定,对于不能控制比较寄存器位数的器件其值为一固定值,这种情况下载波频率的调整有两种方法1:调整pw

9、m频率即修改pwm分频值或调整pwm输入时钟,因为控制比不变所以程序不需要任何计算处理。2:修改载波比N值,为保持同步方式N始终为整数。两种方法都有在被调整数值比较小时频率控制分度值大的问题,我们采取两种调整交互进行的方法始终保持N有足够大的数值,这样即可提高频率(特别是高频情况下)的控制精度。可以软件中额外增加两个函数用于N到2N和N到1/2N的快速计算(算法不再详述),在分频器倍频和半频的设置同时调用该函数可达到平滑频率调整的目的。假设通过上述方法使N始终介于3263之间则可以保证频率控制达到1/1000的控制精度。(5)二、三次谐波为提高直流电压利用率有时可能需要对正弦波形叠加二次或三次

10、谐波,通过以上算法对参数加以修改同样适用于多次谐波的pwm数据计算。五、总结软件计算数据实现spwm调制具有很多优点,通过上述算法可以不在mcu内部进行迭代算法从而大幅度提高spwm数据的计算速度。我们在stc一款带有pwm功能的51单片机上实现了上述算法,并且将它应用于步进电机N=128的细分步不同转速的恒力矩控制,效果良好。参考文献:1M=0.5 N=30 S=1024M=0.9 N=66 S=1024真值11.20633.59155.89478.062100.042121.781143.225164.325185.029205.289225.055244.282262.925280.93

11、9298.283314.918330.804345.907360.192373.627386.183397.833408.553418.318427.110434.911441.705447.480452.226455.934458.600460.221460.796460.326458.817456.275452.708448.128442.548435.983428.451419.971410.564400.253389.064377.024364.160350.503336.083320.936305.093288.592271.468253.761235.508216.750197.528177.884157.860137.498116.84495.94074.83353.56632.18510.736011.2061234567910112214

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论