主控单片机运用STC15W408AS,单片机自带硬件PWM模块、ADC模块和比较器模块,所以很合适做的驱动,主频35M,无需外部晶振和复位电路,接好VCC和GND就可以作业。半桥电路运用PMOS+NMOS的组合,PMOS为IRF9540,NMOS为IRF540.驱动芯片用TC4427A。
先在洞洞板上做试验吧。原理图如下所示,懒得用软件画了,仍是手画来得快些。下面的图中,只画出了A相的桥,B相和C相的桥与A相相同。
PWM模块用来发生可调占空比,意图是为了给电机施加必定的电压,占空比越大,施加的电压越大,电机转的越快。反之,占空比越小,电机转的越慢。
比较器用来做反电动势的过零检测,挑选P5.4引脚为比较器的负输入端,挑选ADC通道为比较器的正输入端。
CMPCR1=0X8C;//翻开比较器,把P5.4引脚设置为负输入端,ADC通道为正输入端
BLDC的六步时序为ABACBCBACACB,下面程序中,分别用0~5表明每一步。
电机发动今后,需求闭环操控电机的通电时序和速度。这个在比较器的中止函数里边完成。
用电脑上的串口调试帮手给单片机串口发送“发动”“加快”“减速”“中止”指令。这个功用放到主函数while循环中。
上面的软件和硬件,仅仅完成了简略的操控滚动。缺陷:1.没有一点的维护程序,比方电流检测、堵转维护等。我在做试验的过程中,烧了2个PMOS、1个NMOS、3个TC4427A.2.比较器过0直接换相,有些提早。电机滚动噪音比较大。等待日后改善吧!