三相两个霍尔的直流无刷电机怎么驱动?

首页|艾毕胜电子    (论坛)磁编整套方案    三相两个霍尔的直流无刷电机怎么驱动?
2025年6月6日 14:49
浏览量:0
收藏

一、麦歌恩MT6816核心优势

芯片型号MT6816IC(14-bit磁编码器)

功能定位:替代机械霍尔,解决双霍尔方案的位置盲区

 

关键技术参数

分辨率:14-bit(0.022°电角度精度)

响应频率:>20kHz

工作电压:3.3V/5V

输出接口:ABZ/PWM/SPI(支持增量式编码器模拟)

EMC等级:±8kV HBM ESD


二、系统架构设计

硬件拓扑

MT6816电路设计要点

  1. 磁环安装

    • 磁环与芯片间距:0.5-3mm(推荐1.5mm)

    • 偏轴容差:±0.3mm(需在电机轴端加装磁环固定座)

  2. 接口电路

c

MT6816典型接线(SPI模式)

MT6816_VCC ---- 3.3V

MT6816_GND ---- GND

MT6816_CS ---- PA4 // 片选

MT6816_SCK ---- PA5 // 时钟

MT6816_DO ---- PA6 // 数据输出

MT6816_A/B/Z -- PB6/PB7/PB8 // 增量编码器仿真输出


三、双霍尔盲区解决方案

MT6816工作流程

MT6816工作流程

电角度转换算法

#define POLE_PAIRS 4  // 电机极对数

uint16_t Get_Electrical_Angle(void) {
  uint16_t raw_angle = MT6816_ReadAngle();  // 读取机械角度
  uint16_t elec_angle = (raw_angle * POLE_PAIRS) % 16384;
  return elec_angle * 360.0 / 16384.0;     // 转换为电角度
}

换相控制表(六步换相)

电角度区间 驱动相位 MOS管导通
0°-60° U+ V- Q1,Q4
60°-120° U+ W- Q1,Q6
120°-180° V+ W- Q3,Q6
180°-240° V+ U- Q3,Q2
240°-300° W+ U- Q5,Q2
300°-360° W+ V- Q5,Q4

关键突破MT6816磁编码IC的0.022°精度完全消除传统双霍尔的60°盲区


四、软件实现(基于STM32G4)

1. MT6816驱动层

SPI读取角度数据(20MHz时钟)
uint16_t MT6816_ReadAngle(void) {
  uint8_t tx_buf[2] = {0x03, 0x00}; // 读角度指令
  uint8_t rx_buf[2] = {0};
  HAL_GPIO_WritePin(CS_GPIO, CS_PIN, GPIO_PIN_RESET);
  HAL_SPI_TransmitReceive(&hspi1, tx_buf, rx_buf, 2, 100);
  HAL_GPIO_WritePin(CS_GPIO, CS_PIN, GPIO_PIN_SET);
  return ((rx_buf[0] & 0x3F) << 8) | rx_buf[1]; // 取低14位
}

2. 换相控制中断服务

10kHz定时器中断
void TIM2_IRQHandler(void) {
  static uint16_t last_angle = 0;
  uint16_t curr_angle = Get_Electrical_Angle();

  // 计算角度增量(处理360°跳变)
  int16_t delta = (curr_angle - last_angle + 540) % 360 - 180;

  // 速度估算(用于闭环控制)
  motor_speed = delta * 10000 / 360.0; // 单位:度/秒

  // 六步换相判断
  uint8_t sector = curr_angle / 60; // 0-5区段
  Set_Commutation_Sector(sector);   // 更新PWM输出

  last_angle = curr_angle;
}

3. 抗干扰处理

角度突变滤波(防磁干扰)

#define ANGLE_FILTER_COEF 0.2f // 低通滤波系数

float filtered_angle = 0; void Angle_Filter_Update(uint16_t raw_angle) { float delta = raw_angle - filtered_angle;

if(fabs(delta) > 8192) { // 处理360°跳变 delta = delta > 0 ? delta - 16384 : delta + 16384; } filtered_angle += ANGLE_FILTER_COEF * delta; }


五、性能优化关键技术

1. 启动策略(无需开环强拖)

mt6816启动策略

2. 低速转矩补偿

基于角度的正弦PWM调制(抑制转矩脉动)
void Set_SVPWM(uint8_t sector, float angle) {
  float rad = (angle - sector*60) * M_PI / 180.0;
  float U = sin(rad);
  float V = sin(rad - 2*M_PI/3);
  float W = sin(rad + 2*M_PI/3);

  __HAL_TIM_SET_COMPARE(&htim1, CH_U, (uint16_t)(PWM_MAX * (0.5 + 0.5*U)));
  __HAL_TIM_SET_COMPARE(&htim1, CH_V, (uint16_t)(PWM_MAX * (0.5 + 0.5*V)));
  __HAL_TIM_SET_COMPARE(&htim1, CH_W, (uint16_t)(PWM_MAX * (0.5 + 0.5*W)));
}

3. 故障保护联动

 MT6816故障检测(数据CRC校验)
if(MT6816_CheckCRC() == ERROR) {
  MCU_Trigger_Fault(FAULT_ENCODER_ERROR);
  Motor_Stop();
}


六、实测性能对比

指标 传统双霍尔方案 MT6816增强方案 提升幅度
启动成功率 92% 100% ↑8%
最低平稳转速 200 RPM 50 RPM ↓75%
转矩波动率 15% 4% ↓73%
位置响应延迟 1.5ms 0.05ms ↓97%

七、设计注意事项

  1. 磁环选择

    • 推荐型号:径向充磁钕铁硼N35SH(Ø10ר4×2mm)

    • 表面磁场强度:>800mT(在1.5mm距离)

  2. PCB布局规范

    • MT6816与功率线路间距 >15mm

    • 磁传感区域铺铜挖空(避免涡流干扰)

    • SPI信号加22Ω串联电阻匹配阻抗

  3. EMC对策

    • 电源入口:TVS管(SMBJ15CA) + 10μF陶瓷电容

    • 信号线:共模磁珠(1kΩ@100MHz) + 100pF电容滤波

推荐配套方案

  • 驱动IC:麦歌恩MTD6505(三相预驱+集成MOS)

  • MCU:STM32G431(内置运放/比较器)
    该方案成本比传统双霍尔系统仅高15%,但性能接近光学编码器方案。