微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 单片机C868实现无传感器BLDC电机控制

单片机C868实现无传感器BLDC电机控制

时间:07-06 来源:互联网 点击:
引   言

BLDC具备诸多优势,例如外型紧凑、结构简单、高效率、低噪音、较长使用寿命等等,这种电机越来越广泛地应用于自动化、工业和消费类电子产品等领域。图1所示为典型的BLDC电机框图,该电机包括一个梯形磁通的永磁同步电机、一个转子位置检测器(通常为三个霍尔传感器)和一个驱动电机的三相逆变器。另外,必须配置一个单片机(MCU),输出特定的脉冲宽度调制(PWM)模式来驱动BLDC电机。如同一个传统直流电机那样,电机的换流必须与转子位置同步,用户可以通过改变PWM的占空比来调节电机转速。

                                                          图1 BLDC电机框图

通常,电机中的三个霍尔传感器相互成60度角。也就是说,每隔60度其中一个传感器就会变换其状态,完成一次电循环需要进行6次状态变换。在这种情况下,定子的相电流始于霍尔传感器信号转换后的30度,保持120度。为了使电机正常运行,MCU的输出模式(换流顺序)应当依据输入模式(转子位置信号)来确定,输入转子位置信号模式与输出PWM模式相结合,即构成换流表。

单片机C868和CAPCOM6E单元

C868是英飞凌公司8位单片机产品家族中的新成员,可为各种应用和系统提供低成本的先进控制功能。借助功能强大的片上PWM发生单元CAPCOM6E,C868满足了对低成本、高实时性的电力电子控制的所有要求。利用灵活的CAPCOM6E,由硬件/软件处理所有对时间要求十分苛刻的任务,而CPU则处理用户命令,并可进行相应的控制运算。内置的5通道8位ADC所具备的同步特性有助于测量无噪音相关的系统参数。

CAPCOM6E可驱动多种类型的电机(交流异步电机IM、直流无刷电机BLDC和开关磁阻电机SRM等),它是基于此类PWM单元十多年的研发的最新成果。CAPCOM6E具备以下特性:

T12具有三个捕捉/比较通道,每个通道有两个输出,可用作捕捉通道或比较通道,并且具备死区时间控制,可避免电源电路出现短路。T12有中心对齐、边缘对齐、单脉冲触发模式和滞环控制等控制模式。对于BLDC电机控制,通道1可用于捕捉速度,通道2可用作相位延迟,而通道3可用作超时功能。

T13有一个独立的比较通道和1路输出,可生成高速PWM信号,并控制占空比。T13也支持单脉冲触发模式,可与T12同步。PWM信号可自动迭加至T12的6路输出中任何一路(或全部)的有效电平上。对于BLDC电机控制,通过T13 PWM的占空比调节电机速度。

如图2所示,CC60-CC62和COUT60-COUT62是用于驱动电机的6个基本输出信号。对于BLDC电机控制,应当通过三个输入口CCPOS0-CCPOS2(转子位置反馈信号)的状态来控制输出信号。T13生成的高频PWM信号具有高达50ns的分辨率,加至T12的CC60-CC62和COUT60-COUT62输出中的任何一个有效电平。CTRAP是紧急中断输入。如果该输入为低,CC60-CC62和COUT60-COUT62将立即变为预定义的电平,以实现过流/过压保护。用户仅需设置各种寄存器的值,例如周期寄存器、比较寄存器、偏移寄存器等等,即可快捷地控制CAPCOM6E。

                                                           图2  CAPCOM6E框图

值得指出的是借助CAPCOM6E,用户可通过软件建立任何块交换表(或状态机),同时由硬件生成相应的PWM输出信号。这样可以非常灵活地实现任何控制要求。下面的例子是以定义自制的块交换表的源代码。数组下标HALL_PATTERNS_NUMBER 从0至5。

// Hall patterns
ubyte HallPatterns [HALL_PATTERNS_NUMBER]=
{
0x25,            // Current="100" Expected="101"
0x29,            // Current="101" Expected="001"
0x0b,            // Current="001" Expected="011"
0x1a,             // Current="011" Expected="010"
0x16,            // Current="010" Expected="110"
0x34,            // Current="110" Expected="100"
};
ubyte PWMPatterns[ HALL_PATTERNS_NUMBER]=
{
0x18,            // U="0" V=- W=+ COUT62/CC62=01 COUT61/CC61=10 COUT60/CC60=00
0x12,            // U=- V="0" W=+ COUT62/CC62=01 COUT61/CC61=00 COUT60/CC60=10
0x06,            // U=- V=+ W="0" COUT62/CC62=00 COUT61/CC61=01 COUT60/CC60=10
0x24,            // U="0" V=+ W=- COUT62/CC62=10 COUT61/CC61=01 COUT60/CC60=00
0x21,            // U=+ V="0" W=- COUT62/CC62=10 COUT61/CC61=00 COUT60/CC60=01
0x09          // U=+ V=-W=0 COUT62/CC62=00 COUT61/CC61=10 COUT60/CC60=01
};  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top