首先,先表达下对老寿先生和尤小翠师父的敬意。本文所介绍的spwm系统,是在他俩的系统基础上改进时序和电平移位系统后改进而成的。这个系统是第一版,还存在一些小缺陷,例如,基准正弦波的零点还需要手动调整后才能和高频三角载波对齐,下一版即将在几个月后更新。到时纯硬件系统的调试将变得很简单,甚至不再需要示波器!
成品pcb镇楼
1、基准正弦震荡系统和电压控制增益放大器。
这部分我在老寿先生电路的基础上,将rc选频网络的两个电阻换为同轴电位器,这样可以做到振荡频率的微调。老寿先生设计的温度补偿系统和电压控制增益放大器非常完美,关于这部分大家可以看他的经典帖子:重做用sg3525的纯硬件spwm驱动板pcb。关于文氏桥基准振荡器的一些问题,我曾经非常苦恼,现已解决,相关经验我会另开一楼分享,这里不再赘述。输出正弦波形如下,以实地为参考点
2、虚拟双电源系统和零点对齐系统
改进来了:在老寿先生原本的ne555spwm系统中,他使用了减法器将基准正弦波零点电平向下移动来和ne555组成的高线性度三角波振荡器零点对齐。我原本打算复制,结果实验时发现,存在以下两个问题:1、需要手动调整加法器输入的直流偏置信号大小,如果调整不好,过零点波形会很难看。2、加法器这一步引入了较多失真,特别是在过零点的地方。思来想去,决定放弃加法器,而直接调整虚拟双电源系统的虚拟地电平,使其等于555组成的三角波振荡器的低电压触发电平。实测波形和对其情况如下(黄色高密度的波形是ne555振荡器的波形,蓝色为基准正弦波形)
具体实现方法如下:重新通过外部比较器定义555定时器的高低触发电平,从而调整三角波振荡器的高低电平,定义低阈值电压的比较器反相输入端直接与一个略高于虚拟双电源系统输出的虚拟地的电位相接(高50mv左右,这个值略高于差分输入比较器的差分输入失调电压)。这样就可以自动实现振荡器零点对齐,因为他们本身的参考零点就是同一个。(具体电路如下,这个振荡器的设计思路是小翠师父提供的,在这里表达敬佩和感谢)
振荡器输出波形如下。(本人用的实验电源不是很好,纹波有些大,图中的刺就是这样引入的,惨痛的教训,下一版系统一定会在供电中加一级线性稳压)
重新设计这个振荡器不只是为了方便对齐零点,还为了方便调整三角波振荡器的高电平。来方便调整spwm调至比。调至比是三角波电平最高点与正弦最高点的比值。也对应着最大占空比和h桥直流母线高压利用率。正弦的幅度不方便进行调节,因为所用运放并不是轨至轨的,调整增益容易使得波形削顶或削底。调整三角波振荡器的电平则容易的多,改变外置比较器的参考电压即可。
3、在精密整流环节中隐藏的时序系统。
众所周知,两种单极性调制spwm时序中,左上管和右上管的波形都是半个基波周期spwm脉冲,半个基波周期低电平的形式。老寿先生和小翠师父都使用了过零比较器和门电路的办法,将精密整流后的馒头波形和三角波比较后的spwm波形和同步方波波形做逻辑运算得到。我在学习模拟电路时,看到了半波精密整流电路,发现时序其实暗藏其中。只需将半波精密整流信号与低电平略高于虚拟地电平的三角波进行比较即可得到与他们的电路相同的波形。
产生双路比较基波的电路如图所示,包含一个反相器和两个反相半波精密整流电路。
端口说明:buffer 为电压控制增益放大器的输出 基波1 对应左上管驱动信号的基波 基波2对应右上管驱动信号的基波。
对于调制器,我曾经想照搬经典使用lm393,用了以后发现它的响应速度和延迟真的不敢恭维。我就用了高速双路比较器——lm319
这款比较器为高速比较器,上升沿下降沿干净利落,响应速度也很不错,芯片报价也不高,着实良心!需要注意的是,需要使用其单电源接法为宜,否则虚拟双电源系统无法为其提供可靠的工作电流。(具体电路如下)
实际测得基波1 spwm1 基波2 和原本基准正弦波形如下
对应的,也产生了双路spwm波形
4、死区时间发生器和h桥自举驱动电路
这部分我直接用了一个ic ir2104 它可以在输入上管波形后经门电路和rc延时产生互补并引入死区时间的下管波形,并集成了自举驱动。
实测四路spwmh桥驱动波形如下
实测四路输出,成对的两路互补并引入了死区时间。上臂功率管也成功驱动!