2019-03-17 关于SVPWM输出波形的学习

昨天终于输出来想要的波形很开心!

单片机确实不好学。

一个输出错误卡了大半个月,总结一下。

首先,必须要有理论先行,然后是算法的单片机实现。

然后是实际输出。

遇到的问题是,上升沿和下降沿一致,都是上升。于是开始找原因。

首先是怀疑PWM输出并没有开启中心对齐模式。

然后寄存器操作,不行,库函数也不行。再进debug,断点,确实可以,已经初始化了。

排除。

第二是死区时间可能太短,

然后研究死区时间,发现修改并没有太大影响,只是稍微变短了一点。

寄存器和库函数都操作一遍,不行。排除。

然后是怀疑PWM上升沿下降沿是否反了或者和模式有关。

然后库函数继续初始化一遍,不行。排除。

然后怀疑引脚初始化不行,查了一遍九年起操作手册,没问题,排除

然后就是怀疑PWM周期太短,导致都是上升沿,后面又推广到了定时器的频率

还有中断的周期,这个到现在还不太会算,这个以后还得学习的方法。各种查手册

又改了预分频的值,还是没有太大效果,只是变短了,并没有反向。排除?

然后研究算法是否出错了,发现有一个函数修改算法,两个一起变化,而且可以一起反向,

于是又认为中心对齐模式有问题。却没发现算法可能有问题。

最后仔细分析单独一条函数,发现因为数值低于ARR为高电平

为什么会突然arr变大?是某个扇区出了问题?

然后又degree++,一度一度的均匀增加

发现三那条曲线都是某个扇区出了问题,再深入,就是某个算法出了问题

然后就想出了单一解决某个算法的方法。

而且还找到了规律,最后问题解决。完美输出SVPWM。

以后学习新算法:

1.先看理论和程序。全部注释好,一个步骤不要落下

慢慢学,有目的的学才是提高的根本,省时间的前提

2.单一变量处理。

就像最后想出来的办法一样,先把算法放在一个理想的情况下,然后单独针对某个

方面研究到底哪里出了问题。

最后再加上其他东西。

只有核心算法对了,其他功能才能谈得上。

3.勤问学长才是硬道理,一起探讨总比一个人闷着头有思路,有想法

发现自己的盲点。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,170评论 1 32
  • 这天,老婆是要上班的,广西三月三调假,下周三开始到周末,一共有五天假!不仅如此,然后就一周又到五一。这么多...
    慕海春阅读 65评论 0 0
  • 01 孩子,你1岁,我28岁。 迷迷糊糊过了很多年,终于在青春的尾巴将要消失的时候,孩子你降生了。 1岁以前的你,...
    秋水涵烟阅读 1,368评论 2 8
  • 2018.3.3 过了元宵节,年就算过完了。所以,继续努力起来吧!
    谦谦阕歌阅读 96评论 0 1
  • SpinachC阅读 3,632评论 0 0