BLDC 控制 基于 XMC1300&APP 2014 英飞凌 XMC 微控制器巡回研讨会
内容 XMC1300 介绍 --- 电机控制相关模块 BLDC APP 使用方法 --- BLDC 3 Hall APP Set date Copyright Infineon Technologies 2011. All rights reserved. Page 2
XMC1000 系列结构介绍 Entry Series: Feature Series: Control Series: XMC1100 XMC1200 XMC1300 针对电机控制的外设
捕获比较单元 4 (CCU4) CCU4 多功能 16 位定时器组 4 个完全相同 独立运行的子单元 支持定时 比较 捕获操作 每个子单元 (Slice) 包含 : 1 个 16 位定时器 独立的预分频器 支持动态分频 4 个捕获寄存器 1 个比较寄存器 (PWM) 1 路 PWM 输出 支持抖频控制 16 路的外部信号输入 定时器级联单元 灵活的中断生成 信号输出调制 2013-07 Copyright Infineon Technologies AG 2013. All rights reserved. Page 4
捕获比较单元 4 (CCU4) 灵活的功能配置 计时功能 比较功能 捕获功能 计数功能 比较功能 单次工作 2013-07 Copyright Infineon Technologies AG 2013. All rights reserved. Page 5
捕获比较单元 8 (CCU8) CCU8 = CCU4++ 集成 CCU4 所有功能 与 CCU4 相比, 每个子单元包含 两路比较单元 四路 PWM 输出 ( 共两对 ) 两个死区时间生成单元 ( different for rising & falling edge ) 一个 CCU8 模块可输出 16 路 PWMs 2013-07 Copyright Infineon Technologies AG 2013. All rights reserved. Page 6
捕获比较单元 8 (CCU8) CCU8 特色 灵活的比较模式, 支持不同形式的 PWM 生成 对称 / 非对称 PWM, 单次 / 连续 PWM, 灵活死区时间生成 丰富的比较通道, 满足常见的各种应用的需要 半桥 三相全桥 三电平控制等 非对称 PWM 生成 Multi Phase Control - 3-Phase Motor Control - N Phase Power Supplies - Asymmetric PWM (CCU8x) for Phase Shift - Trap CCU8 - 业内唯一可直接驱动三电平拓扑的 PWM 单元 3-Level PWM - For Higher Resolution, EMC quality & Efficiency Compare 3 Asymm. Comp. 2 Compare 1 PWM 3 Asymm. PWM 2 PWM 1 2013-07 Copyright Infineon Technologies AG 2013. All rights reserved. Page 7
捕获比较单元 8 (CCU8) CCU8 的比较输出 1 计数器不断增加 4 到达计数周期后, 计数器清零, 重新计数 边缘对齐模式 2 比较值与计数器相比 3 根据比较状况改变输出 Compare Value1 中心对称模式 4 到达技术周期后, 计数器反方向计数至零 2014/7/14
位置传感器接口 (POSIF) 电机位置信息接口单元 工作模式 增量编码器模式 霍尔传感器模式 多通道模式 支持输入信号滤波 与 CCU4/8 配合以实现 位置检测 速度捕获 BLDC 控制 2013-07 Copyright Infineon Technologies AG 2013. All rights reserved. Page 9
POSIF( 霍尔传感器模式 ) POSIF 的霍尔传感器模式可以检测 3 个霍尔的变化, 并根据直流无刷电机 6 步工作模式下霍尔状态的变化, 确定电机是否正确工作 1 检测霍尔状态的变化 2 写入期望的正确霍尔状态 3 比较霍尔状态是否正确 2014/7/14
POSIF( 多通道模式 ) POSIF 的多通道模式用于连接霍尔正确状态输出和 CCU8 的通道使能 可用于在直流无刷电机 6 步工作模式下根据霍尔状态更新各个桥臂的导通状态 1 等待正确的霍尔状态到来 3 更新多通道引脚输出 2 等待正确的 PWM 边缘的到来 2014/7/14
CCU8 CCU4 和 POSIF 应用于直流无刷电机驱动举例 1 POSIF 检测霍尔变化 2 3 POSIF 判断霍尔状态 通过 CCU4 进行速度计算 CCU4 P O S I F 4 POSIF 更新多通道输出状态 5 CCU8 控制各个桥臂导通状态 CCU8
VADC 多功能模数转换器 多功能 ADC 模块 12 通道,8/10/12 位可选 ADC 双采样保持单元 ( 双通道同时采样 ) XMC1200/1300 高转换速 1.28MSPS calibrated 1.88MSPS un-calibrated 增益可调 1x, 3x, 6x, 12x 多种转换请求方式 队列, 扫描,Background 灵活的硬件触发机制 PWM, I/O 等等 丰富的中断资源 2013-07 Copyright Infineon Technologies AG 2013. All rights reserved. Page 13
VADC 多功能模数转换器 16 级结果 FIFO 数据累加模式 FIR 模式 IIR 模式 差分模式 2014/7/14 Copyright Infineon Technologies AG 2013. All rights reserved. Page 14
VADC 多功能模数转换器 快速比较模式 结果边界比较模式 2014/7/14 Copyright Infineon Technologies AG 2013. All rights reserved. Page 15
内容 XMC1300 介绍 --- 电机控制相关模块 BLDC APP 使用方法 --- BLDC 3 Hall APP Set date Copyright Infineon Technologies 2011. All rights reserved. Page 16
电机驱动板组件 XMC1300 Kit 板 Micro USB 6 LEDs J-Link 调试器 IO 接口 扩展接口 XMC1300 MCU
电机驱动板组件 电机驱动板 电流采样部分 电机 霍尔接口 MosFET 及驱动 电机接口
组件连接 连接到 PC PMSM LV15W Card XMC1300 CPU Card 24V 供电
BLDC 控制 APP 基于 XMC1300, Infineon 推出了以下 APP 支持 BLDC 电机驱动 支持双霍尔传感器的 BLDC 控制 支持 3 霍尔传感器的 BLDC 控制 支持无霍尔传感器的 BLDC 控制 Set date Copyright Infineon Technologies 2011. All rights reserved. Page 20
BLDC 3 霍尔控制 BLDCBCH03 软件结构图 ADC 部分 POSIF&CCU4 部分 CCU8 部分
BLDC 3 霍尔控制 打开 DAVE TM 选择 Workspace 点击 OK 点击 File DAVE Project 7/14/2014
BLDC 3 霍尔控制 输入 BLDCBCH03_HOT ( 任意 ) 作为工程名称 选择 DAVE CE Project 点击 Next 选择 XMC1300-TO38X0200 7/14/2014
BLDC 3 霍尔控制 双击 BLDCBCH03 加入 BLDC 控制 APP
BLDC 3 霍尔控制 Control Algorithm 页签, 更改 Control Technique 为 Speed Control, 启动速度闭环控制 7/14/2014
BLDC 3 霍尔控制 Control Algorithm 页签, 选中 Speed Ref Via POT 点击 New Instance & OK 7/14/2014
BLDC 3 霍尔控制 Control Panel 页签, Change Speed Slew Rate = 10 RPM/s, 防止速度环震荡 7/14/2014
BLDC 3 霍尔控制 Motor Parameters 页签, Phase Resistance 为相电阻 / 相电感, 根据实际情况填写 Hall Sensor Configuration 为相关霍尔表格的填写处 霍尔信号 #3 #2 #1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 0 1 7/14/2014
BLDC 3 霍尔控制 Power Board 页签, Modulation Type 可以根据需要选择 Rshunt 为相电阻,Gain 为放大电路放大系数, 根据实际情况填写 7/14/2014
BLDC 3 霍尔控制 Adaptive HallPattern Detection 页签, Adaptive Hall Pattern 通过初始的开环工作来获取霍尔信号的顺序 是否启动 Adaptive Hall Pattern Detection 初始开环参数设置 7/14/2014
BLDC 3 霍尔控制 手动分配管脚 点击, 按照下表进行管脚分配 App Pin Number IO002/0 [U_H] P0.0 IO002/1 [U_L] P0.1 IO002/2 [V_H] P0.7 IO002/3 [V_L] P0.6 IO002/4 [W_H] P0.8 IO002/5 [W_L] P0.9 IO004/0 [Enable_Pin] P0.11 IO002/6 [Trap_Pin] P0.12 IO001/0 [I_DC] P2.7 IO001/1 [POT] P2.5 IO002/7 [HALL_0] P0.13 IO002/7 [HALL_1] P1.1 IO002/7 [HALL_2] P0.15 7/14/2014
BLDC 3 霍尔控制 点击 Solve and Save, 点击 Close 生成代码 点击 生成的代码将放在该 Project 的../Dave/Generated 里 7/14/2014 Page 32 Copyright Infineon Technologies 2011.
BLDC 3 霍尔控制 在 main 中调用以下 API 来启动电机 BLDCBCH03_MotorStart(&BLDCBCH03_Handle0) 7/14/2014 Page 33 Copyright Infineon Technologies 2011.
BLDC 3 霍尔控制 编译项目 1. 单击 2. 等待 Build Finished 加载代码 1. 单击 2. 双击 Tasking C/C++ Debugger in Debug Configuration 3. 选择 Infineon Boot Kit for XMC1300, 并单击 Debug 4. 单击, 启动程序 7/14/2014 Page 34 Copyright Infineon Technologies 2011.