手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

基于C868单片机的无传感器BLDC电机控制设计

我爱方案网| 单片机,传感器,BLD,电机控制| 2012-03-15
524 收藏
分享到: 
每日精选
热门推荐
中心议题:
    *  单片机C868和 CAPCOM6E单元
    *  无传感器的BLDC控制
解决方案:
    *  采用英飞凌公司最新推出的8位单片机 C868

引   言
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
};

无传感器的BLDC控制


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

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

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


                                                               (b)利用A/D转换器


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

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

结  语


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

点赞

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号