生成单极性SPWM只用了一个定时器,还剩一个定时器,打算用剩下的这个定时器生成2路互补带死区的PWM波,用于替代sg3525,基本功能和SG3525类似,占空比连续可调。打算用定时器、中断和指针来实现,用中断来保持实时性,用指针来保存工作状态,用尽量简洁的语句实现,执行一个中断子程序看看能不能在100纳秒内完成。尽量避免打扰SPWM波形的生成。
12mhz 51单片机的一个机器周期是1微秒,35mhz 51单片机一个机器周期是0.3微秒,stc比51平均快6倍,平均指令周期是50纳秒,估计有点悬。
最早编的一个实验程序,因为spwm脉宽的时间太短只有30个机器周期,所以和推挽的用的pwm脉宽产生冲突,导致两边输出的波形都不稳定,
经过多次实验把spwm的脉宽加大到60个机器周期,推挽用的两路pwm信号改成120机器周期,死区用两个机器周期,用24mhz 51仿真,结果两边的波形都很稳定,当然不能说没有一点干扰。
耗时最短的pwm推挽必须放在最高中断优先级别。下一步给两路推挽加上反馈,带少许斜坡控制。一共有两路spwm,两路工频,两路互补推挽,一个51就能跑了。如用增强型51stc指令执行效率平均快6倍估计干扰更小,因为花在加减乘除上的时间更少。
更新:下图是仿真,两路推挽波形通过调节占空比来实现稳压。图中的SPWM波是随手填的,不是按照sin生成的,直接填1.2.3.4.5.....
stc的文档仔细计算,35mhz的stc比老51的12mhz快35倍,12mhz的51一个机器周期1微秒,那35mhz的sct一个机器周期就是相当于28纳秒。好像arm的机器周期也是20多纳秒,只不过32位的mcu指令执行效率要高些,一条指令是不是顶8位的几条指令。假如stc出一款能跑100m晶振的mcu那不是赶超16位的mcu了。
stc48Mhz已经跑起来了,正在测试稳定性,在ARM熟悉之前STC还要大力钻研。
SPWM和前级互补脉冲已经出来了,正在调试前级的反馈。
更新:前级脉冲40K占空比可调,脉宽调到最小后可关闭输出,但是两路最大占空比还是不够大只有80%多,真是对主频的要求越来越强烈了。后级H桥也可调压。
48M晶振的STC对线路的要求相对严格,0插拔力插座有时候没插稳会出现不稳定现象,要重新插拔一下。48M晶振的好处就是能把载波推高到20K,其实16K就差不多了。
声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。
微信关注 | ||
技术专题 | 更多>> | |
2024慕尼黑上海电子展精彩回顾 |
2024.06技术专题 |