当前位置: 首页 > news >正文

[灵动微电子 霍尔FOC MM32BIN560C]从引脚到应用

上海灵动微电子股份有限公司MM32BIN560C 框图如下:

在官方的HALL-FOC-560C例子,霍尔FOC,我进行了相关引脚总结

三电阻方案的明确证据
1. 编译开关定义
在 USER/inc/board.h 中明确设置了:
#define THREE_SHUNT_R 1  // 明确启用三电阻模式

 

分类统计:

  • 电机控制PWM输出: 6个引脚(三相上下桥臂)
  • 霍尔传感器输入: 3个引脚(U/V/W相位置检测)
  • ADC采集: 5个引脚(电压、电流、电位器)
  • 运放配置: 9个引脚(4个运放的输入输出)
  • 比较器保护: 2个引脚(硬件过流保护)
  • 驱动器控制: 1个引脚(使能信号)

1. 核心控制层(6个引脚)

功能: 三相PWM输出,实现FOC算法控制

  • GPIOB PB7 - BLDC1_UH:U相上桥臂PWM输出
  • GPIOB PB5 - BLDC1_VH:V相上桥臂PWM输出
  • GPIOB PB3 - BLDC1_WH:W相上桥臂PWM输出
  • GPIOB PB6 - BLDC1_UL:U相下桥臂PWM输出
  • GPIOB PB4 - BLDC1_VL:V相下桥臂PWM输出
  • GPIOA PA15 - BLDC1_WL:W相下桥臂PWM输出

2. 传感检测层(11个引脚)

位置传感: 3个霍尔传感器

  • GPIOA PA0 - HALL_U:U相霍尔传感器输入
  • GPIOA PA1 - HALL_V:V相霍尔传感器输入
  • GPIOA PA2 - HALL_W:W相霍尔传感器输入

电流检测: 2相电流+总和电流

  • GPIOA PA6 - IR_U:U相电流检测(ADC1通道6)
  • GPIOB PB2 - IR_V:V相电流检测(ADC1通道10)
  • GPIOA PA3 - ISUM:电流总和检测(ADC1通道3)

电压检测: 母线电压监控

  • GPIOA PA7 - VBUS:母线电压检测(ADC1通道7)

用户输入: 速度电位器

  • GPIOA PA10 - VR:速度给定电位器(ADC2通道0)

3. 信号调理层(9个引脚)

功能: 4个运放的完整配置,用于电流信号放大和滤波

  • GPIOA PA4 - OPAMP1_INP:OPAMP1正相输入(U相电流)
  • GPIOA PA5 - OPAMP1_INM:OPAMP1反相输入(反馈网络)
  • GPIOB PB0 - OPAMP2_INP:OPAMP2正相输入(V相电流)
  • GPIOB PB1 - OPAMP2_INM:OPAMP2反相输入(反馈网络)
  • GPIOB PB12 - OPAMP3_INP:OPAMP3正相输入(辅助信号)
  • GPIOB PB11 - OPAMP3_INM:OPAMP3反相输入(反馈网络)
  • GPIOB PB15 - OPAMP4_INP:OPAMP4正相输入(总和电流)
  • GPIOA PA8 - OPAMP4_INM:OPAMP4反相输入(反馈网络)
  • 极 PA9 - OPAMP4_INO:OPAMP4输出到ADC

4. 保护安全层(2个引脚)

功能: 硬件比较器,提供快速过流保护

  • GPIOA PA11 - COMP_INP:比较器正相输入(电流信号)
  • GPIOA PA12 - COMP_INM:比较器反相输入(参考电压)

5. 人机交互层(3个引脚)

功能: 用户控制接口和状态指示

  • GPIOD PD2 - KEY1:用户启停/方向控制按钮
  • GPIOD PD3 - LED2:系统运行状态指示灯
  • GPIOA PA10 - VR:速度给定电位器(已在传感层列出)

6. 功率驱动层(1个引脚)

功能: 驱动芯片使能控制

  • GPIOC PC12 - DRV_EN:功率驱动芯片使能信号

总计:32个引脚,构成了完整的基于霍尔传感器的FOC电机控制系统。 


系统模块,功能分类,端口,引脚,引脚名称,详细功能描述,工作模式,信号类型

电源管理,母线电压检测,GPIOA,PA7,VBUS,直流母线电压监控(ADC1通道7),模拟输入,模拟量
电源管理,电流总和检测,GPIOA,PA3,ISUM,总电流测量(ADC1通道3),模拟输入,模拟量

电机驱动,上桥PWM输出,GPIOB,PB7,BLDC1_UH,U相上桥臂PWM输出,复用功能(TIM1),PWM
电机驱动,上桥PWM输出,GPIOB,PB5,BLDC1_VH,V相上桥臂PWM输出,复用功能(TIM1),PWM
电机驱动,上桥PWM输出,GPIOB,PB3,BLDC1_WH,W相上桥臂PWM输出,复用极,能(TIM1),PWM
电机驱动,下桥PWM输出,GPIOB,PB6,BLDC1_UL,U相下桥臂PWM输出,复用功能(TIM1),PWM
电机驱动,下桥PWM输出,GPIOB,PB4,BLDC1_VL,V相下桥臂PWM输出,复用功能(TIM1),PWM
电机驱动,下桥PWM输出,GPIOA,PA15,BLDC1_WL,W相下桥臂PWM输出,复用功能(TIM1),PWM

位置传感,霍尔信号输入,GPIOA,PA0,HALL_U,U相霍尔传感器输入,输入浮空(TIM2_CH1),数字量
位置传感,霍尔信号输入,GPIOA,PA1,HALL_V,V相霍尔传感器输入,输入浮空(TIM2_CH2),数字量
位置传感,霍尔信号输入,GPIOA,PA2,HALL_W,W相霍尔传感器输入,输入浮空(TIM2_CH3),数字量

电流检测,U相电流采样,GPIOA,PA6,IR_U,U相电流检测(ADC1通道6),模拟输入,模拟量
电流检测,V相电流采样,GPIOB,PB2,IR_V,V相电流检测(ADC1通道10),模拟输入,模拟量

信号调理,运放输入配置,GPIOA,PA4,OPAMP1_INP,OPAMP1正相输入(U相电流),模拟输入,模拟量
信号调理,运放输入配置,GPIOA,PA5,OPAMP1_INM,OPAMP1反相输入(反馈网络),模拟输入,模拟量
信号调理,运放输入配置,GPIOB,PB0,OPAMP2_INP,OPAMP2正相输入(V相电流),模拟输入,模拟量
信号调理,运放输入配置,GPIOB,PB1,OPAMP2_INM,OPAMP2反相输入(反馈网络),模拟输入,模拟量
信号调理,运放输入配置,GPIOB,PB12,OPAMP3_INP,OPAMP3正相输入(辅助信号),模拟输入,模拟量
信号调理,运放输入配置,GPIOB,PB11,OPAMP3_INM,OPAMP3反相输入(反馈网络),模拟输入,模拟量
信号调理,运放输入配置,GPIOB,PB15,OPAMP4_INP,OPAMP4正相输入(总和电流),模拟输入,模拟量
信号调理,运放输入配置,GPIOA,PA8,OPAMP4_INM,OPAMP4反相输入(反馈网络),模拟输入,模拟量
信号调理,运放输出配置,GPIOA,PA9,OPAMP4_INO,OPAMP4输出到ADC,模拟输入,模拟量

保护电路,硬件过流保护,GPIOA,PA11,COMP_INP,比较器正相输入(电流信号),模拟输入,模拟量
保护电路,硬件过流保护,GPIOA,PA12,COMP_INM,比较器反相输入(参考电压),模拟输入,模拟量

用户接口,速度控制输入,GPIOA,PA10,VR,速度给定电位器(ADC2通道0),模拟输入,模拟量
用户接口,控制按钮输入,GPIOD,PD2,KEY1,用户启停/方向控制按钮,输入上拉,数字量
用户接口,状态指示输出,GPIOD,PD3,LED2,系统运行状态指示灯,输出推挽,数字量

驱动控制,功率驱动使能,GPIOC,PC12,DRV_EN,功率驱动芯片使能信号,输出推挽,数字量
 


问题1、三个电阻采样,是同时采样三个电流吗?

错误!采样时刻,只采集两相,因为采样窗口小的原因,占空比是一直变大变小的,有一相不好采集,时间短,所以同一时刻只需要采集两相,剩下一相电流用基尔霍夫电流定律计算即可。

三相电阻采样方式总结


1. 硬件配置方案
三电阻下桥臂采样:

U相采样:GPIOA PA6 (ADC1通道6) - IR_U
V相采样:GPIOB PB2 (ADC1通道10) - IR_V
W相采样:通过电流总和和数学计算间接获得
2. 采样时序策略
分时交替采样:

在不同PWM周期交替采样不同相组合
利用PWM周期中间的安全窗口(5-10μs)
避免开关噪声干扰
3. 核心计算公式
Clarke变换(α-β坐标):

Iα = I_a  // 直接使用U相电流
Iβ = (I_a + 2*I_b) / √3  // 使用U和V相计算
第三相重构:

I_c = - (I_a + I_b)  // 基于基尔霍夫电流定律
4. 为什么这样设计?
物理约束:

PWM开关噪声限制安全采样窗口
在有限的5-10μs内无法完成三相顺序采样
同步采样需要昂贵硬件支持

数学完备性:

三相系统只有2个自由度,第三相是冗余的
Ia + Ib + Ic = 0 是物理定律,不是近似

工程优化:

降低成本:节省1个ADC通道和配套电路
提高可靠性:减少元器件数量
简化设计:降低时序同步难度


5. 实际采样流程
ADC触发:在PWM周期中间位置触发采样
分时采样:不同周期采样U+V、V+W、W+U组合
电流重构:利用数学约束计算第三相
诊断验证:通过ISUM检测采样一致性

问题2三相采集电流在系统中参与哪些计算?哪些环节用到了?

电流采样在系统中的完整参与环节
1. Clarke变换(α-β坐标系转换)
位置: M1_CONTROL/clarke.c

// 将三相电流转换为两相静止坐标系
Iα = I_a
Iβ = (I_a + 2*I_b)/√3
作用: 为Park变换准备数据,简化控制维度,三项变两位

2. Park变换(d-q坐标系转换)
位置: M1_CONTROL/park.c

// 结合霍尔角度进行旋转坐标变换
Id = Iα * cosθ + Iβ * sinθ  // 直轴电流(磁化分量)
Iq = -Iα * sinθ + Iβ * cosθ // 交轴电流(转矩分量)
作用: 实现磁场定向控制的核心变换

3. 电流环PID控制
位置: M1_CONTROL/PID.c

// 电流闭环控制
Vd_output = PID_Calculate(&PID_Id, Id_ref - Id_actual)
Vq_output = PID_Calculate(&PID_Iq, Iq_ref - Iq_actual)
作用: 精确控制电流大小,实现转矩和磁链控制

4. 逆Park变换
位置: M1_CONTROL/ipark.c

// 将d-q电压转换回α-β坐标系
Vα = Vd * cosθ - Vq * sinθ
Vβ = Vd * sinθ + Vq * cosθ
作用: 为SVPWM生成准备电压指令

5. 过流保护和故障诊断
位置: M1_CONTROL/Diagnose.c

// 实时过流检测
if (abs(I_a) > OC_LIMIT || abs(I_b) > OC_LIMIT || abs(I_c) > OC_LIMIT) {
    // 触发硬件保护
}

// 电流平衡验证(Ia + Ib + Ic ≈ 0)
if (abs(I_a + I_b + I_c) > IMBALANCE_THRESHOLD) {
    // 传感器故障检测
}
作用: 系统安全保护机制

6. 功率和效率计算
位置: M1_CONTROL/MC_Drive.c

// 实时功率计算
instant_power = Vbus * (I_a + I_b + I_c)

// 铜损计算
copper_loss = R * (I_a² + I_b² + I_c²)

// 效率优化
efficiency = output_power / (input_power + losses)
作用: 系统性能监控和优化

7. 转矩计算和控制
位置: M1_CONTROL/FOC_Math.c

// 电磁转矩计算
torque = (3/2) * PolePairs * (Ψd * Iq - Ψq * Id)

// 转矩闭环控制
Iq_ref = torque_demand / (Kt * Ψm)
作用: 精确转矩控制实现

信号流总结
三相电流的完整处理链条:

ADC采样 → Clarke变换 → Park变换 → PID控制 → 
逆Park变换 → SVPWM生成 → 功率器件驱动
同时并行处理:

过流保护(硬件快速保护)
故障诊断(软件诊断)
性能监控(效率优化)
 三电阻方案提供了最完整的电流信息,使系统能够实现高性能的FOC控制、完善的保护机制和精细的效率优化

问题3 霍尔传感器,如何配合电流做计算?

 霍尔传感器配置
1. 硬件连接配置
在 DRIVE/drv_tim.c 中配置:

// PA0, PA1, PA2 作为霍尔传感器输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);

// 配置为TIM2的输入捕获功能
GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_2); // TIM2_CH1
GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_2); // TIM2_CH2  
GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_2); // TIM2_CH3
2. 霍尔值处理
在 M1_CONTROL/HallHandle.c 中:

// 获取当前霍尔状态
RunHallValue = Get_Hall_Value();  // 返回1-6的有效值

// 计算电气角度
θ_elec = HallAngleTable[RunHallValue] + 角度插补


电流计算与霍尔的关联
1. Park变换(关键关联点)
在 M1_CONTROL/park.c 中:

void Park_Transform(int16_t Ialpha, int16_t Ibeta, int16_t angle, int16_t *Id, int16_t *Iq)
{
    // angle 来自霍尔传感器计算的θ_elec
    *Id = Ialpha * cos(angle) + Ibeta * sin(angle);
    *Iq = -Ialpha * sin(angle) + Ibeta * cos(angle);
}
2. 逆Park变换
在 M1_CONTROL/ipark.c 中:

void InvPark_Transform(int16_t Vd, int16_t Vq, int16_t angle, int16_t *Valpha, int16_t *Vbeta)
{
    // 同样使用霍尔角度
    *Valpha = Vd * cos(angle) - Vq * sin(angle);
    *Vbeta = Vd * sin(angle) + Vq * cos(angle);
}
3. 速度计算
在 M1_CONTROL/HallHandle.c 中:

// 通过霍尔跳变时间计算速度
ω = (2π × 极对数) / Δt_hall

// 速度用于速度环PID控制
技术要点总结
霍尔传感器提供:

✅ 位置信息:电气角度θ_elec(用于坐标变换)
✅ 速度信息:实际转速ω(用于速度闭环)
✅ 换相信号:六步换相的基础
电流采样提供:

✅ 力矩信息:实际电流大小(用于电流闭环)
✅ 控制反馈:实现精确的FOC控制
两者结合实现:

磁场定向控制(FOC)
精确的转矩控制
平滑的速度调节
霍尔传感器告诉系统"转子在哪里",电流采样告诉系统"用多大力气",两者缺一不可

http://www.dtcms.com/a/352210.html

相关文章:

  • 《黑客帝国》解构:白帽黑客的极客思维宇宙
  • vue3写一个简单的时间轴组件
  • 【python】python利用QQ邮箱SMTP发送邮件
  • k8s pod resources: {} 设置的含义
  • 支持向量机(第二十九节课内容总结)
  • TensorFlow 面试题及详细答案 120道(61-70)-- 高级特性与工具
  • 如何在项目中集成XXL-JOB
  • uniapp 引入使用u-view 完整步骤,u-view 样式不生效
  • 重复文件删除查找工具 Duplicate Files Search Link v10.7.0
  • 【深度学习】Transformer 注意力机制与 LoRA target_modules 详解
  • 如何安装 VS2019 和 .NET Core SDK 2.2.301(winx64)?完整操作步骤(附安装包下载)
  • 基于YOLOv11训练无人机视角Visdrone2019数据集
  • 区块链技术探索与应用:从密码学奇迹到产业变革引擎
  • 从入门到理解:支持向量机的核心原理与实战思路
  • 计数组合学7.21(有界部分大小的平面分拆)
  • 车载铁框矫平机:一辆“会熨衣服”的工程车
  • 高性能异步任务编排框架:Gobrs-Async
  • 【项目】深房数据通——深圳房价可视化系统
  • 嵌入式第三十七课!!!TCP机制与HTTP协议
  • 【学习笔记】系统时间跳变会影响time接口解决措施
  • 相关法律、法规知识(五)
  • 单层膜可改善无铅钙钛矿太阳能电池
  • Java 企业应用单点登录(SSO)实现方案详解
  • 创维桌面云终端-创维LB2002-白盒-晶晨S905L3A-2+8G-线刷刷机包
  • 实验2 天气预报
  • Ultra Accelerator Link(UALink)Consortium
  • 网站测试报告:WEB应用反CSRF的本质与防御机制
  • 解决 pdf.mjs 因 MIME 类型错误导致的模块加载失败问题
  • day1_线性回归的实现 李沐动手学深度学习pytorch记录
  • 吱吱企业通讯软件保障企业办公安全与效率,助力企业高效发展