接上回:“关于对无感无刷电机反电势过零检测电路的简化”
http://www.openedv.com/forum.php ... d=341882&extra=
总算是把它这个方案实现了,挤一点上班摸鱼时间发个贴,证明我没有吹牛。
--------------------------------------------
单片机:STC15W408AS MOS管:AON6667(PMOS+NMOS) 驱动:三个GPIO驱动上半桥,三个PWM驱动下半桥 过零检测:1路ADC 原理:利用ADC(AD_Z)在PWM开通期间检测悬空相电压,与VBAT/2作比较,进行过零检测。 VBAT的获取:在换相时,将一相置高,其余两相置低,利用ADC(AD_Z)得到。 优点:过零检测只占用一个ADC引脚。 缺点:低占空比不能检测过零。
--------------------------------------------
原理图:
这电路由分立元件驱动MOS管,应当是可以5V~3S电池供电的,或许可以1S供电,但要注意LDO可能要去掉。
非同步整流方案,要注意MOS管是否发烫。
--------------------------------------------
上程序:
BLDC2.2C程序1.0A.rar
(45.53 KB, 下载次数: 4)
BLDC2.2C程序1.0B.rar
(46.26 KB, 下载次数: 4)
BLDC2.2C程序1.0C.rar
(46.72 KB, 下载次数: 3)
BLDC2.2C程序1.0D.rar
(48.66 KB, 下载次数: 4)
BLDC2.2C程序1.0E.rar
(49.78 KB, 下载次数: 2)
BLDC2.2C程序1.0E.rar
(49.78 KB, 下载次数: 8)
BLDC2.2C程序1.0F-电调.rar
(61.23 KB, 下载次数: 11)
7个版本介绍:
1.0A:单向电调,CCAP2作为软件定时器,与相电压PWM下降沿同步,在下降沿之后一点点作ADC采样,进行过零检测,检测到过零立即换相。(CCAP2L需跟随占空比变化) 1.0B:在1.0A的基础上,通过统计从换相到过零的周期数,延迟30度换相。 1.0C:在1.0B的基础上,改变ADC采样时刻,与相电压PWM上升沿同步,在上升沿之前一点点作ADC采样。(CCAP2L是个固定值) 1.0D:在1.0C的基础上,优化ADC采样流程,减少占用CPU时间。 1.0E:程序稍加优化,避免启动时占空比突变造成不稳定。 1.0F:双向电调,程序稍加优化,为避免“消磁事件”引起误判,当换相周期较长时,换相后第一个周期不作过令判断。 1.0F-电调:双向电调,应用于四轴飞行器,使用了“通信看门狗”,一段时间内未收到数据则停转。
--------------------------------------------
实物:
测试平台(充电宝5V供电):
--------------------------------------------
测试波形:
1.0A:(CH1:ADC采样,CH2:相电压)
1.0B:
1.0C:
准备起飞:
|