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

嵌入式设计应用

132人已加入

描述

引言

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

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

单片机C

1 BLDC电机框图

 

单片机C

2  CAPCOM6E框图

 

单片机C868CAPCOM6E单元

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

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

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

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

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

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

// 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

};

 

单片机C

3  无传感器C868 BLDC系统(a)利用外部比较器

 

单片机C

(b)利用A/D转换器

 

单片机C

4  CAPCOM6E具备特殊功能用于BLDC电机控制

无传感器的BLDC控制

在有些应用中,不能使用霍尔传感器或其它直接检测转子位置的方法,因此需要采用间接方法来检测转子位置。对于如图3中所示的电机运行,探测电机反电势的过零点是获得电机转子位置最常见的方法。按照120度导电方式, 任何时间都有一相电机端子没有外加电压,因此可以在该相电机端子检测电机反电势来得知转子位置。

在图3(a)中,各个相位使用的霍尔传感器用三个电阻分压器和一个比较器替代。比较器向C868提供三个转子位置信号。CAPCOM6E特别适用于这个解决方案,因为它的每路输入均有一个噪声滤波器可抑制噪音,并具备相位延迟功能,可调节相位角度,如图4所示。

如图4所示,通过设置T12计时器的死区时间定时器,用户可以定义噪音抑制窗口,通过设置T12通道1的比较值,用户可以使T12输出发生相位延迟,通过设置T12通道2的比较值,用户可以了解有多长时间输入没有变化。T12通道0为捕捉模式,以测量实际速度。

在图3(b)中,电机端子电压可由C868A/D转换器检测,A/D转换可由T13溢出触发,通常,反电势信号有很大噪音,进行测量的最佳时机是在关闭电力电子开关的器件前的瞬间。此时正是T13溢出的时间。因此,每一次T13溢出均会触发一次ADC测量。软件仅须读取该值并与预定义的阈值(过零点)进行比较。如果达到了该阈值点,软件将重设T12,以准备下一个PWM状态。当相位延迟结束后(因为反向电动势BEMF过零点约比换流点提前30)T12通道1的比较事件将触发换流至下一个状态。实验结果表明C868 BLDC系统的A/D方法是切实有效的。

 

结语

本文介绍了采用英飞凌公司最新推出的8位单片机 C868及其功能强大、灵活自如的PWM发生单元CAPCOM6E实现无传感器BLDC电机控制系统的方法。C868CAPCOM6E具有一个用户自定义的块交换表(状态机),其卓越的灵活性为用户提供了很大应用空间,可实现任何BLDC电机控制方案。C868所带A/D转换器的同步功能和CAPCOM6E的相位延迟功能可以进行精确的无噪声的反电势测量。实验结果证明C868确实非常适合无传感器BLDC电机控制。



打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分