一种提升PWM频率后平滑输出的方式减少谐波的方法 |
|||||||
申请号 | CN202410244252.2 | 申请日 | 2024-03-04 | 公开(公告)号 | CN118054654A | 公开(公告)日 | 2024-05-17 |
申请人 | 重庆御芯微信息技术有限公司; | 发明人 | 毛攀; 邓江涛; 李翔; 张奇峰; 黎光洁; | ||||
摘要 | 本 发明 涉及 电子 技术技术领域,具体涉及一种提升PWM 频率 后平滑输出的方式减少谐波的方法,本发明通过提高PWM 载波频率 后对PWM输出占空比进行平滑滤波输出的方法来减小被控量的输出谐波,从而以极低的代价有效减少系统输出谐波,同时能够充分利用高速 开关 器件的优势,此外,在低端 控制器 上利用高速开关器件实现更好的控制效果,以便于能够适用于使用高速开关的实时控制系统,进而解决了现有的控 制芯 片在只降低控制量输出频率而保持更高PWM载波频率时,由于控制量输出频率小于PWM载波输出频率,PWM输出占空比在控制量更新时的产生突变导致被控量的输出谐波仍然比较大,对某些对输出谐波要求较高的场景无法满足需求的技术问题。 | ||||||
权利要求 | 1.一种提升PWM频率后平滑输出的方式减少谐波的方法,其特征在于,包括以下步骤: |
||||||
说明书全文 | 一种提升PWM频率后平滑输出的方式减少谐波的方法技术领域背景技术[0003] 具体控制流程为:1.ADC采样‑>2.控制器计算控制量‑>3.PWM输出,三个步骤,一个控制系统会以固定频率反复执行上述三个步骤实现,通常控制量输出频率和PWM载波频率相同,即每更新一次控制量对应一次PWM输出,随着SiC等高速开关器件投入使用对提供实时计算的控制芯片的性能提出了更高的要求,许多常规实时控制芯片难以实现如此高频率输出控制量的要求。 [0004] 为了解决这个问题,通常会降低控制量输出频率和PWM载波频率,然而这无疑浪费了高速开关的潜力,因此更好的方法是只降低控制量输出频率而保持更高PWM载波频率,这样即降低了对控制器性能的需求又充分的利用了高速开关的能力,有效提高系统稳定性和控制效果。但是由于控制量输出频率小于PWM载波输出频率,PWM输出占空比在控制量更新时的产生突变导致被控量的输出谐波任然比较大,对某些对输出谐波要求较高的场景无法满足需求。 发明内容[0005] 本发明的目的在于提供一种提升PWM频率后平滑输出的方式减少谐波的方法,解决了现有的控制芯片在只降低控制量输出频率而保持更高PWM载波频率时,由于控制量输出频率小于PWM载波输出频率,PWM输出占空比在控制量更新时的产生突变导致被控量的输出谐波仍然比较大,对某些对输出谐波要求较高的场景无法满足需求的技术问题。 [0006] 为实现上述目的,本发明提供了一种提升PWM频率后平滑输出的方式减少谐波的方法,包括以下步骤: [0007] 步骤一:控制器系统及外设初始化,包括ADC,DAC,PWM和其他控制通信外设; [0009] 步骤三:配置固定所述PWM输出周期,其中所述ADC采样触发周期是所述PWM周期整数n(n>1)倍,以所述PWM周期触发一个中断服务例程ISR_PWM,用于平滑所述PWM占空比输出; [0010] 步骤四:使能所述ADC采样; [0011] 步骤五:使能中断所述ISR_CTRL,所述ISR_PWM; [0012] 步骤六:所述ADC采样完成后进入到所述ISR_CTRL的中段例程; [0014] 步骤八:在所述ISR_PWM中根据所述ISR_CTRL中所述当前所述控制量控制量输出Out_cur和上一次的所述控制量输出Out_pre对实际更新到所述PWM的占空比进行平滑处理得到Out_duty。 [0015] 其中,所述步骤一中所述系统及外设初始化不局限于所述内容由使用的控制器决定。 [0016] 其中,所述步骤二,三中的所述ISR_CTRL的周期大于所述ISR_PWM周期。 [0017] 其中,所述步骤二,三中所述ISR_PWM的频率是所述ISR_CTRL的n倍,每更新一次所述控制量输出对应n次PWM输出。 [0018] 其中,所述步骤二,三中的所述ISR_PWM与ISR_CTRL初始相位对齐。 [0019] 其中,所述步骤八中的所述平滑PWM的占空比需要在n个PWM周期内完成。 [0020] 其中,所述步骤七中的所述控制量在更新后会得到当前的所述控制量输出Out_cur和上一次的所述控制量输出Out_pre。 [0021] 其中,利用两次的所述控制量的输出来对实际的所述PWM输出占空比进行平滑滤波处理得到Out_duty。 [0022] 其中,所述PWM输出占空比Out_duty的平滑滤波处理方法为一阶或者二价的平滑滤波方法。 [0023] 本发明的一种提升PWM频率后平滑输出的方式减少谐波的方法,本发明针对控制量输出频率小于PWM载波频率的情况,通过提高PWM载波频率后对PWM输出占空比进行平滑滤波输出的方法来减小被控量的输出谐波,从而可以极低的代价有效减少系统输出谐波,同时能够充分利用高速开关器件的优势,此外,可以在低端控制器上利用高速开关器件实现更好的控制效果,以便于能够适用于使用高速开关的实时控制系统,进而解决了现有的控制芯片在只降低控制量输出频率而保持更高PWM载波频率时,由于控制量输出频率小于PWM载波输出频率,PWM输出占空比在控制量更新时的产生突变导致被控量的输出谐波仍然比较大,对某些对输出谐波要求较高的场景无法满足需求的技术问题。附图说明 [0025] 图1是本发明第一实施例的提升PWM频率后平滑输出的方式减少谐波的方法的流程步骤图。 [0026] 图2是本发明第一实施例的提升PWM频率后平滑输出的方式减少谐波的方法的PWM占空平滑前后对比图。 [0027] 图3是本发明第一实施例的提升PWM频率后平滑输出的方式减少谐波的方法的控制流程图。 具体实施方式[0028] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。 [0029] 第一实施例: [0030] 请参阅图1至图3,图1是本发明第一实施例的提升PWM频率后平滑输出的方式减少谐波的方法的流程步骤图,图2是本发明第一实施例的提升PWM频率后平滑输出的方式减少谐波的方法的PWM占空平滑前后对比图,图3是本发明第一实施例的提升PWM频率后平滑输出的方式减少谐波的方法的控制流程图,本发明提供一种提升PWM频率后平滑输出的方式减少谐波的方法,包括以下步骤: [0031] S101、控制器系统及外设初始化,包括ADC,DAC,PWM和其他控制通信外设; [0032] S102、配置固定周期的所述ADC采样触发信号,并以所述ADC采样完成信号触发一个中断服务例程ISR_CTRL,用于计算控制量输出; [0033] S103、配置固定所述PWM输出周期,其中所述ADC采样触发周期是所述PWM周期整数n(n>1)倍,以所述PWM周期触发一个中断服务例程ISR_PWM,用于平滑所述PWM占空比输出; [0034] S104、使能所述ADC采样; [0035] S105、使能中断所述ISR_CTRL,所述ISR_PWM; [0036] S106、所述ADC采样完成后进入到所述ISR_CTRL的中段例程; [0037] S107、在所述ISR_CTRL的中段例程中,根据所述ADC的采样数据和控制算法来计算当前控制量的输出Out_cur,记上一次控制量输出为Out_pre; [0038] S108、在所述ISR_PWM中根据所述ISR_CTRL中所述当前所述控制量控制量输出Out_cur和上一次的所述控制量输出Out_pre对实际更新到所述PWM的占空比进行平滑处理得到Out_duty。 [0039] 在本实施例中,本发明针对控制量输出频率小于PWM载波频率的情况,通过提高PWM载波频率后对PWM输出占空比进行平滑滤波输出的方法来减小被控量的输出谐波,从而可以极低的代价有效减少系统输出谐波,同时能够充分利用高速开关器件的优势,此外,可以在低端控制器上利用高速开关器件实现更好的控制效果,以便于能够适用于使用高速开关的实时控制系统,进而解决了现有的控制芯片在只降低控制量输出频率而保持更高PWM载波频率时,由于控制量输出频率小于PWM载波输出频率,PWM输出占空比在控制量更新时的产生突变导致被控量的输出谐波仍然比较大,对某些对输出谐波要求较高的场景无法满足需求的技术问题。 [0040] 其中,所述步骤一中所述系统及外设初始化不局限于所述内容由使用的控制器决定,所述步骤二,三中的所述ISR_CTRL的周期大于所述ISR_PWM周期,所述步骤二,三中所述ISR_PWM的频率是所述ISR_CTRL的n倍,每更新一次所述控制量输出对应n次PWM输出,所述步骤二,三中的所述ISR_PWM与ISR_CTRL初始相位对齐。 [0041] 其次,所述步骤八中的所述平滑PWM的占空比需要在n个PWM周期内完成。 [0042] 再次,所述步骤七中的所述控制量在更新后会得到当前的所述控制量输出Out_cur和上一次的所述控制量输出Out_pre。 [0043] 另外,利用两次的所述控制量的输出来对实际的所述PWM输出占空比进行平滑滤波处理得到Out_duty,用于防止所述PWM占空比突变所带来的谐波分量增大的情况。 [0044] 此外,所述PWM输出占空比Out_duty的平滑滤波处理方法为一阶或者二价的平滑滤波方法。 [0045] 最后,所述PWM输出占空比Out_duty在采用一阶平滑滤波方法时的步骤为: [0046] temp=(Out_cur‑Out_pre)/3*i+Out_pre; [0047] Out_duty=(temp>Out_cur)||(temp [0048] 其中i为控制量更新以后PWM输出的次数。 [0049] 使用本实施例的一种提升PWM频率后平滑输出的方式减少谐波的方法时,使用控制器来配置两个不同频率定时中断服务例程,一个为PWM输出例程ISR_PWM,一个为控制量计算例程ISR_CTRL,其中,所述ISR_CTRL的频率小于所述ISR_PWM,所述控制器控制以所述ISR_CTRL的频率触发ADC采样,在采样完成后进入到所述ISR_CTRL的中段例程中,在所述ISR_CTRL的中段例程中,根据所述ADC的采样数据和控制系统模型来计算控制量的输出,即PWM占空比,在所述ISR_PWM中监听所述ISR_CTRL中所述控制量的更新,当检测到所述控制量更新时,利用当前的所述控制量和上一次的所述控制量对实际更新到所述PWM的占空比分几次进行平滑输出,所述PWM的占空比需要在最后一次控制量更新之前将所述PWM的占空比完全更新。 [0050] 上述步骤的详细实现方法如下: [0051] 当所述ISR_PWM的频率为所述ISR_CTRL的n倍时,则更新n次PWM输出才更新一次所述控制量输出,同时,所述控制量在更新后会得到当前的所述控制量输出Out_cur和上一次的所述控制量输出Out_pre,利用两次的所述控制量的输出对实际的所述PWM输出占空比Out_duty进行平滑滤波处理,以防止所述PWM占空比突变所带来的谐波分量增大的情况,所述PWM输出占空比Out_duty的平滑滤波处理方法为一阶或者二价的平滑滤波方法,其中,所述PWM输出占空比Out_duty在采用一阶平滑滤波方法时的步骤为: [0052] temp=(Out_cur‑Out_pre)/3*i+Out_pre; [0053] Out_duty=(temp>Out_cur)||(temp [0054] 其中i为控制量更新以后PWM输出的次数。 [0055] 综上所述,本发明针对控制量输出频率小于PWM载波频率的情况,通过提高PWM载波频率后对PWM输出占空比进行平滑滤波输出的方法来减小被控量的输出谐波,从而可以极低的代价有效减少系统输出谐波,同时能够充分利用高速开关器件的优势,此外,可以在低端控制器上利用高速开关器件实现更好的控制效果,以便于能够适用于使用高速开关的实时控制系统,进而解决了现有的控制芯片在只降低控制量输出频率而保持更高PWM载波频率时,由于控制量输出频率小于PWM载波输出频率,PWM输出占空比在控制量更新时的产生突变导致被控量的输出谐波仍然比较大,对某些对输出谐波要求较高的场景无法满足需求的技术问题。 [0056] 以上所揭露的仅为本申请一种或多种较佳实施例而已,不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。 |