夜雨聆风学习资料网

ARTICLE · 1250409

TOP10开源BLDC源码自取;AM32 源码解构低速

TOP10开源BLDC源码自取;AM32 源码解构低速

TOP10开源BLDC源码自取;AM32 源码解构低速

AM32 的过零检测没走单一路子,它留了两条:低速轮询,高速中断。

低速时不用中断,拿 10/20kHz 定时器节拍去轮询比较器输出。连续采够次数才认过零,比中断稳。高速时换向间隔短到轮询来不及,比如 20kHz 轮询周期 50 微秒,间隔一掉到 50 微秒以下就会漏过零。这时候必须切中断。

切换点 polling_mode_changeover 就是条时间线。换向间隔短于它,轮询来不及就切中断;失步、超时也退回轮询。启动默认走轮询,先开环推一步让转子动起来,再靠 getBemfState() 累加确认。确认完按公式算延迟:waitTime = interval/2 - advance,默认提前约 15 度。

移植最坑的就是两个参数。TARGET_MIN_BEMF_COUNTS 太大,启动一直等不到过零;POLLING_MODE_THRESHOLD 太小,低速过早切中断,噪声误触发。这阈值没标准答案,得拿示波器和日志一段段试出来。

源码库我放这儿了,有 10 套资料带中文注释和流程图,自取:
https://spacecodding.com/

原文TOP10开源BLDC源码自取;AM32 源码解构低速轮询、高速中断
江苏,2小时前,

相关学习资料