发明名称 用于纺机变频器的实时正弦值计算产生SPWM的方法
摘要 本发明涉及一种用于纺机变频器的实时正弦值计算产生SPWM的方法。变频器中要产生正弦脉宽调制波来控制电机,传统方法采用正弦表查表完成,需要用到比较大的芯片FLASH空间,如果正弦值要求精度比较高,或频率变化比较大的话,所需空间会以几何倍的方式增长。本方法结合查表法和泰勒公式展开法,实时计算并产生正弦脉宽调制波,正弦脉宽调制波是以正弦波为原始信号,叠加4k-16k频率的三角波载波调制生成。得到正弦波的角度后,首先将其映射到第一象限,并采用其最临近的整数角度正弦值,结合泰勒级数展开进行插值,采用定点运算即可快速完成任意角度正弦值的计算,具有速度快、精度高、占用存储空间少的优点。
申请公布号 CN102710100B 申请公布日期 2014.04.02
申请号 CN201210145056.7 申请日期 2012.05.11
申请人 杭州电子科技大学 发明人 高明煜;夏长亮;周光炎;何志伟;黄继业;徐康平
分类号 H02M1/00(2007.01)I;H02P27/04(2006.01)I 主分类号 H02M1/00(2007.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 一种用于纺机变频器的实时正弦值计算产生SPWM的方法,其特征在于:包括以下步骤:步骤(1):依据所要输出的SPWM波的频率fo,得到作为原始信号的正弦波的频率fi ,fi=fo;            步骤(2):依据三角波的载波频率fs,得到一个正弦波周期有n个采样点,n=fs/fi, 可以得到两个采样点之间的间隔角度Δθ,Δθ=360°/n;步骤(3):每计算完一个采样点,正弦波的输入角度θ每次都累加Δθ,0°≤θ<360°;步骤(4):计算所有整数角度γ=0°,1°,2°,……,90°时sin(γ)的Q15格式定点数表示值:int(32768·sin(γ)),其中int(·)表示取结果的整数部分,Q15格式的定点数32768等价于Q0格式的小数1.0;将它们保存到表格T[γ]中;步骤(5):获得输入角度为θ的Q15格式定点数表示值,其整数部分为   Iθ=int(θ),小数部分的Q15格式定点数表示为 fθ=int(32768·(θ‑Iθ));步骤(6):根据正弦函数性质sin(180°+θ)=‑sin(θ),将大于180°的正弦计算转化为0°~180°范围内的正弦计算,即进行如下操作:    ①若Iθ>180,令s=‑1,Iθ=Iθ‑180,fθ不变;        ②若Iθ≤180,令s=1,Iθ不变,fθ不变;步骤(7):根据正弦函数性质sin(180°‑θ)=sin(θ),将大于90°小于180°的正弦计算进一步转化为0°~90°范围内的正弦计算进行,即进行如下操作:    ①若Iθ>90,令Iθ=179‑Iθ,fθ=32768‑ fθ;    ②若Iθ≤90,则Iθ和fθ均保持不变;步骤(8):根据上述转换后,根据角度θ的小数部分的Q0值,从表格T[γ]查找最近整数角度插值点Iθ:    ①若Q0值的绝对值大于0.5°,即其对应的Q15格式定点数满足16384<fθ<49152,则令Iθ=Iθ+1,并同时修改fθ=65535‑ fθ;    ②若上述条件不满足,则Iθ和fθ保持不变;步骤(9):查找整数角度正弦表T[γ],令sn=T(Iθ),cn= T(90°‑Iθ),sn为通过查表得到的整数角度为Iθ的Q15格式正弦值,cn为通过查表得到的整数角度为90°‑Iθ的Q15格式正弦值;步骤(10):由泰勒展开,根据角度θ的小数部分的Q0值是否大于0,进行如下计算:若Q0值大于0,即对应的Q15格式定点数满足fθ≤32768,则令                     dx=int(fθ·π/180)并计算           A1=sn+int( cn ·dx/32768)‑int(sn·dx·dx/2/32768/32768));若Q0值小于0,即对应的Q15格式定点数满足fθ>32768,则令            fθ=fθ‑32768,dx=int(fθ·π/180)并计算      A2=sn‑int( cn ·dx/32768)‑int(sn· dx·dx/2/32768/32768));步骤(11):根据上述两种情况,获得定点计算下sin(θ)的结果:                  sin(θ)1=s·A1/32768     或者                  sin(θ)2=s·A2/32768;步骤(12): 用计算得到的正弦值形成正弦波和定时器生成的三角波,两个相调制,最终生成精度较高的SPWM波;所述的Q15格式是将一个小数放大215后,用放大后的整数来表示小数,Q0格式是表示未经处理的数。
地址 310018 浙江省杭州市下沙高教园区2号大街