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

[09-12 17:56:20]   来源:http://www.88dzw.com  单片机学习   阅读:8520

文章摘要: 图2 CAPCOM6E框图 值得指出的是借助CAPCOM6E,用户可通过软件建立任何块交换表(或状态机),同时由硬件生成相应的PWM输出信号。这样可以非常灵活地实现任何控制要求。下面的例子是以定义自制 的块交换表的源代码。数组下标HALL_PATTERNS_NUMBER 从0至5。 // Hall patterns ubyte HallPatterns [HALL_PATTERNS_NUMBER]= { 0x25, // Current="10

单片机C868实现无传感器BLDC电机控制,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

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所示。

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

上一页  [1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行