直流无刷电机和霍尔传感器

本文介绍了无刷直流电机的工作原理,特别是霍耳传感器在确定转子位置和控制换相中的作用。针对霍耳传感器的120°和60°安装方式,提出了一种无需预先知道安装方式、也不需外部动力的自学习方法,通过三三导通方式确定霍耳信号与绕组的正确关系,确保电机安全可靠运行。这种方法适用于电动自行车、纺织机械等应用场合。

原文:https://blog.youkuaiyun.com/u014453443/article/details/99637716

 直流无刷电机的运行时靠确定霍尔记录转子的位置,传送信号到控制芯片来控制直流无刷电机的工作状态。

    这里的霍尔的作用就用来记录直流无刷电机的转子的位置,从而控制换相功率,在三相直流无刷电机里,用三个霍尔传感器就可以记录六个相位的位置。

     随着电力电子技术的发展,无刷直流电机得到了越来越广泛的应用,在电动车辆、家用电器、纺织机械等领域都可以见到无刷直流电机的身影。无刷直流电机工作时,需要根据转子位置的不同来切换工作状态。霍耳传感器常用来检测无刷直流电机的换相位置,对于三相无刷直流电机,3 个霍耳传感器就可以将6 个换相位置检测出来。常用的霍耳传感器安装方式有120 ° 安装和60° 安装2 种,2 种方法都可以输出6 个不同的霍耳信号,分别对应6 个不同的区域,当无刷直流电机转子转到某一区域时,对应的绕组通电,电机就可以正常工作,若霍耳信号与绕组关系错误,就无法正常工作,甚至会对电机或功率器件造成损坏。因此,确定霍耳信号与定子绕组关系对于无刷直流电机而言非常重要。

    已有一些文献对如何确定霍耳信号与定子绕组关系进行了研究,并提出了一些检测方法。提出了区分无刷直流电机定子绕组、霍耳传感器引脚的方法,但这种方法适用于霍耳传感器的输出为模拟量的情况,而无刷直流电机的霍耳传感器大多输出数字量。根据线反电势与换相信号的关系来判断换相信号与绕组关系,使用DSP 捕捉线反电势过零点,使用示波器来采集线反电势波形,要获得线反电势,两种方法都要借助外力使电机转动。需要将转子转到特定位置,然后根据绕组通电情况判断,实现不太方便。提出了一种无刷直流电机相序故障自恢复方法,但这种方法需提前获知霍耳信号的安装方式,即120°安装还是60°安装。

 

    采用三三导通的方式将电机转子依次转到6个位置,并纪录对应的霍耳信号,以此来判断绕组与霍耳信号关系。该方法无需提前获知霍耳传感器是120°安装还是60°安装,也无需借助外力使电机转动,安全可靠,简单易行,可以广泛应用于带霍耳传感器的无刷直流电机应用场合,如电动自行车、纺织机械等。

    

1、直流无刷电机原理

    三相无刷直流电机常采用两两导通的方式工作,两两导通指任意时刻逆变器只有2只开关管开通。无刷直流电机需要根据转子位置来切换工作状态,也就是说换相点是无刷直流电机正常工作必不可少的信息。图1为三相无刷直流电机换相点示意图,为便于理解,特给出了反电势以及相电流波形,图中ea,eb,ec代表三相相反电势,由图可见,对于三相无刷直流电机,每个电周期内有6个不同的换相点,也就是说每个电周期内电机换相6次。

霍耳传感器常用来检测无刷直流电机换相点。三相无刷直流电机需要3 个霍耳传感器来检

测6 个不同的位置,霍耳传感器的安装有120° 安装和60° 安装2 种方式,120° 安装指3 个霍耳传感

器互差120° (电角度),而60°安装指3 个霍耳传感器互差60° (电角度),2 种安装方法对应霍耳传感

器的输出信号如图2 所示,图2 中霍耳信号跳变的位置就是换相点。2 种安装方式最大的区别在于采用60 ° 安装时可以输出“000”和“111”信号,而120° 安装则不会输出这2 个信号,通过这一点可以判断霍耳传感器的安装方式。

 不管采用哪种安装方式,输出的霍耳信号将每个电周期分为6 个区域,当转子转到某个区域时,特定的绕组通电,无刷直流电机即可正常运行,若霍耳信号与绕组关系不准确,电机将无法工作,甚至会造成电机或逆变器损坏。下面介绍一种无刷直流电机霍耳信号与绕组关系自学习方法。

 

 

三相直流无刷电机转矩可以由下式来计算;

    T =eaia + ebib + ecicω式中:ea ,eb ,ec 为三相相反电势;ia ,ib ,ic 为三相相电流;ω 为电机角速度。空载时,在电机绕组中通以固定电流,电机转子将转到某一位置并停止,此时电机产生的转矩零图3中,Ⅰ~Ⅵ表示霍耳传感器将电周期分成的6 个区域,当两两导通时,通电的两相绕组电流大小相等,方相反,电机转矩为零的点分布在各个区域的边界上;当采用三三导通时,三相绕组均通电,若电流最大相的电流为I,那么其它两相电流为-I/2,此时电机转矩为零的点分布在各个区域的中间位置,如图3 所示。通过以上分析可以知道,要使转子转到某一个区域,采用三三导通的方法要比两两导通的方法更加合理。

ç´æµæ å·çµæº.jpg

 

     在某一个特定的区域,正常工作时需要通电的直流无刷电机绕组是一定的,如图3 中的区域Ⅰ,两两导通时需A 相和B相绕组通电,要想产生正转矩,A 相绕组应通正电流,B 相绕组应通负电流,记为“A+B-”,要产生负转矩则“B+A-”,其它区域内直流无刷电机绕组通电的情况如表1 所示。如果电机采用三三导通方式工作,可以根据反电势很容易地得出绕组通电情况,这里就不再列举。

 

 

 

直流无刷电机(BLDC)控制中,霍尔传感器用于检测转子位置,从而实现对电机的精确相控制。霍尔传感器通常采用三相分布的方式,每间隔60度电角度安装一个,这样可以通过三个霍尔传感器信号组合,确定转子的六个关键位置,用于控制三相逆变桥的导通顺序。 ### 霍尔传感器的实现原理 霍尔传感器在磁场变化时输出高低电平信号,通常与锁存型霍尔效应传感器配合使用,以确保信号的稳定性准确性。传感器的输出被连接到微控制器的输入捕获引脚或通用输入引脚,通过读取传感器的状态变化,可以判断电机转子的具体位置。 根据霍尔传感器的输出组合,可以确定当前转子位置,并据此切三相桥的导通状态。例如,常见的六步相法中,每个霍尔组合对应一个特定的导通顺序,从而驱动电机持续旋转。 ### 霍尔传感器的程序实现 以下是一个基于C语言的霍尔传感器检测与相控制的简化实现示例: ```c #include <stdint.h> // 定义霍尔传感器的引脚输入 #define HALL_U GPIO_ReadInputDataBit(GPIOA, GPIO_PIN_0) #define HALL_V GPIO_ReadInputDataBit(GPIOA, GPIO_PIN_1) #define HALL_W GPIO_ReadInputDataBit(GPIOA, GPIO_PIN_2) // 相表,每个霍尔组合对应一个导通状态 const uint8_t commutation_table[8] = { 0b000001, // 000 -> 无效 0b000110, // 001 -> UV导通 0b000101, // 010 -> UW导通 0b000011, // 011 -> VW导通 0b001100, // 100 -> WU导通 0b001001, // 101 -> VU导通 0b001010, // 110 -> WV导通 0b000000 // 111 -> 无效 }; // 获取霍尔传感器状态 uint8_t get_hall_state(void) { uint8_t state = 0; if (HALL_U) state |= 0x01; if (HALL_V) state |= 0x02; if (HALL_W) state |= 0x04; return state; } // 相控制函数 void commutate_motor(uint8_t step) { // 假设使用PWM控制,根据step设置对应的上下桥臂导通 switch (step) { case 0b000110: // 导通U上桥V下桥 break; case 0b000101: // 导通U上桥W下桥 break; case 0b000011: // 导通V上桥W下桥 break; case 0b001100: // 导通W上桥U下桥 break; case 0b001001: // 导通V上桥U下桥 break; case 0b001010: // 导通W上桥V下桥 break; default: // 停止电机或进入保护状态 break; } } // 主控制循环 void motor_control_loop(void) { while (1) { uint8_t hall_state = get_hall_state(); uint8_t step = commutation_table[hall_state]; commutate_motor(step); // 可以添加延时或速度控制逻辑 } } ``` ### 霍尔传感器信号处理注意事项 1. **去抖动处理**:由于霍尔传感器可能会受到电磁干扰,因此在软件中应加入去抖动处理,例如通过多次采样取一致值。 2. **相时序**:在实际应用中,霍尔信号的跳变点与相点之间可能存在一定的时序偏移,需要根据电机特性进行校准。 3. **速度估算**:通过测量霍尔信号的周期或频率,可以估算电机的转速,并用于闭环控制。 ### 优化建议 - 使用定时器的输入捕获功能可以更精确地检测霍尔信号的变化。 - 在中断服务程序中处理霍尔信号的变化,提高响应速度。 - 对于需要更高性能的应用,可以结合编码器使用,以实现更精确的位置速度控制。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值