要这么简单就好了
假设抖动3次,你再以检测到两个1,就判定为一个上升沿
那么,最坏的情况就是,在第一次抖动的时候,就已经是过零点了,再经过后面4次,就是40uS,等于是你判定为过零的点的时间,比实际的时间晚了40uS
这个在低速的时候是没有问题的
但在高速的时候,两次过零之间的间隔也才100uS甚至更少,根本就检测不到正常的过零点
而且,这个抖动并不是相对固定的,在低速的时候,可能会出现几十次的抖动,但在高速的时候,可能没有或者一两次抖动,这是我用示波器看过了的
不过,现在我用ADC来检测了,效果相对要好点
我只是想知道一些算法而已,因为马云家卖的驱动板,人家也是用比较器检测过零的,人家一样能做到近10万转/分的转速,有点好奇,但网上也是找了好久,都没有找到相关的代码 |