1 概述
无位置传感器的无刷直流电机(Brushless Direct Current Motor, BLDCM)由于其快速、可靠性高、体积小、重量轻等特点,在航模领域得到了广泛的应用。但是与有刷电机和有位置传感器的无刷直流电机相比,其控制算法要复杂得多。加上航模设计中对重量和体积的要求非常严格,因此要求硬件电路尽可能简单,更增加了软件的难度。
本文提出了一种基于中颖8位单片机SH79F168的控制方案,借助于该芯片片内集成的针对电机控制的功能模块,只需很少的外围电路即可搭建控制系统,实现基于反电动势法的无位置传感器BLDC控制,在保证稳定性和可靠性的基础上大大降低了系统成本。而且该芯片与传统8051完全兼容,易于上手,从而也降低了研发成本。
2 系统硬件设计
本方案选用中颖的8位单片机SH
主系统硬件架构如图1所示,从图中可以看出该系统大部分功能都由片内集成的模块完成。外围电路的简化一方面可以提高系统可靠性,另一方面也降低了成本。
图 1 系统硬件架构
三相逆变桥采用上桥PMOS用三极管驱动,下桥NMOS用PWM端口直接驱动的方式,如图2所示。
图 2 三相逆变桥
SH
外部中断输入INT4x配置为双沿触发,即输入信号的上升沿和下降沿都能触发中断,可用于捕捉调速给定信号。
3 系统软件设计
由于SH
图 3 主程序流程图
为便于理解,该流程图经过了尽量的简化,只保留最关键的步骤。主流程中没有列出“检测BEMF”和“换相”两个关键的步骤,因为它们分别在PWM中断和TImer0中断中进行。
3.1 反电动势过零点检测
在PWM输出高期间,假设断开相绕组端电压为 ,反电动势为 ,供电电压为 ,则三者之间有如下关系[1]:
SH
需要注意是刚换相后的一段时间内,由于MOS管的续流,断开相绕组的电压会出现尖峰。为了准确检测反电动势,可以选择在刚换相的一到两个PWM周期内不进行采样,避开尖峰电压。