
通道工作在比较模式时 ,CCR(比较寄存器)数值和CNT进行比较,比较结果直接回输出在对应通道的引脚上。每个周期结束时更新比较寄存器的数据(参考正玄波数据点按照载波频率采样的交点数值,事先就计算好的),就可以输出相应SPWM了
你这个是初始化程序,子程序可用定时器中断子程序细分SPWM,也可以PWM中断计数细分,定时器细分占用MCU资源少,PWM中断的话占用资源比较大但精度高。SPWM可以用查存放正弦波数组取得,也可以用内部数学函数产生,或者将正弦函数初始化调到数组再查表负载上得到的是交流信号,何必区分哪是正半周,哪是负半周,对于半桥来说,上管导通是正半周,下管导通是负半周。全桥就不必区分了。只要保证任何时候都是一上一下导通,上下臂不同时导通就可以了。另外图中电路应该有问题,SPWM1 SPWM3不能直接由单片机输出,必须进行电平偏移才可以,下管的源极是地,栅极只要3V以上的电压就 可以导通,因此可由单片机直接控制(高速时也要加电流放大),而上管必须要很高的电压才可以开通。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)