低成本BLDC驱动
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PIC18F25K22
2/3
2/3 2/3
3
3 2
17
17 19
4/1
4/1 3/4
有
有 有
64
64 28
8k/512
16k/1k
16k/1536
256
256 256
32M
32M 64M
Slide
39
总结
回顾一下我们学到了什么: F1 LV评估板的功能及如何使用 适用于电机控制的PIC16F1xxx外设 为具体应用优化F1 LV评估板演示代 码
Slide
12
计算BEMF
当施加驱动电压时: BEMF @ C = C – B + i*R R i = [V - (A - B)] / [2*R] L BEMF @ C = C - B + [V - (A - B)]*R / [2*R] BEMF @ C = C - B + [(V - A + B) / 2] + i A 当不施加驱动电压时: BEMF @ C = C – B C B + L +
33 33
PIC® MCU外设
Timer0 – OS时序 ECCP2 – 换相时序
Timer1 – 比较和复位 Timer 2 – 用于速度控制的PWM定时 器 输出转向(steering) – 换相
Slide 34
ECCP1 – 转向和速度控制
复用输入的比较器
ECCP1外设
CCP1CON 寄存器 P1M1 P1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 PWM模式和极性 PWM类型 占空比扩展
返回
Slide
26
CCP2中断(换相)
CCP2 中断 换相
过零
BEMF标志?
非过零
消隐
Error = ZC_Time – CommTime/2 CommTime = CommTime + Error*EGain
CCPR2H:L = CommTime 锁相检测 允许比较器中断 CCPR2H:L = CommTime NextState = 过零 NextState = 换相 继续
Slide
40
参考资料
AN857——直流无刷电机的简单控制 AN1305 ——采用PIC16Fxxx器件的无 传感器三相直流无刷电机控制 DS41414——PIC16F1947数据手册 www.microchip.com/f1eval(然后点 击F1 Low Voltage Evaluation链接)
直流无刷电机激励
A
100
A
101
com
b
r
com
110
g C
N
S
g
N
S
C
B
001
B r
com
b
010
011
Slide
8
简化框图
电源 PIC16F1xxx 3 ECCP 3 I/O 定时器 驱动 3
电机
换算 3 3
Slide
9
BLDC控制器框图
输入复用 比较器
BEMF
计算中点误差
误差积分
计算换相时间
有 有 有 有 有 有 有
18 28 28 28 40 40 40
4k/384 4k/256 8k/512 16k/1k 4k/256 8k/512 16k/1k
256 256 256 256 256 256 256
32M
32M 32M 32M 32M 32M 32M
PIC16F1946
PIC16F1947
Hale Waihona Puke Baidu
ECCP
PWM周期由Timer2和PR2设定 速度由CCPR1L占空比控制
Slide 20
Timer1/ECCP2控制换相
Timer1 起始计数值为零 CCPR2H:L设置为消隐周期
ECCP2匹配 T60 预先设置CCPR2H:L, 以在自此点后的半个换相时间进行比较
Timer1
T30
C
ZC
电压
Slide
30
强制换相启动
RPM 带载
不稳定区域
稳定区域 可检测到的最小BEMF速度
电压 最小启动电压
Slide
31
开环换相爬坡
换相时间
预期 过零点
实际 过零点
锁定窗口
下一个换相时间 锁定区域内的换相时间
Slide
32
适用于本课程所探讨控制方案 的PIC16F1xxx外设
Slide Slide
Slide
41
Slide
3
课程安排
F1 LV评估板 直流无刷电机概述 无传感器位置检测 控制软件 电机启动 增强型外设
Slide 4
带电机控制附件的 F1 LV 评估板
Slide Slide 5
5
F1 LV评估板
BLDC附件
Slide
6
三相直流无刷电机控制
Slide Slide 7
7
C12L15 BLDC
轻松构建低成本的 直流无刷电机控制方案
Slide Slide 1 1
课程安排
F1 低电压(LV)评估板概述 采用F1 LV评估板进行BLDC控制 适用于电机控制的增强型中档单片 机内核
Slide
2
课程目标
本课程结束时,您将可以:
了解如何将F1 LV评估板用于开发 BLDC 了解控制BLDC电机所需的 PIC16F1xxx外设 针对具体应用优化所提供的F1 LV演 示代码
True
RUN? 是
False
否
加速完成?
加速 慢速启动 允许中断
堵转检测
速度管理: 设置PWM 占空比 (RUN = T/F) (STOP=U/T)
Slide
25
换相
换相
选择CommPhase
设置PWM输出 设置持续输出 设置比较器输入 设置BEMF标志T/F
CommPhase = 下一个CommPhase
Slide
27
比较器中断 (过零检测)
比较器中断 ZC_Time = Timer1
CCPR2H:L = CommTime/2
禁止比较器中断
NextState = 换相
继续
Slide
28
启动电机
Slide Slide
29 29
强制换相启动
RPM 自由运行 带载
理想 情况
可检测到的最小BEMF速度
DC
电机波形
Slide
14
40%占空比驱动BLDC
BLDC
(PWM at 40% Duty Cycle) 1.5
1
B
C
0.5
A
ABS(B-C)
ABS(C-A)
0
V
ABS(A-B) BEMF(drive on) BEMF (Drive off)
-0.5
-1 -30 30 90 电角度 150 210 270 330
Reset 扩展的捕捉/比较/PWM外设
Slide 37
独立比较器
CM1CON0寄存器 C1ON 使能 C1OUT C1OE C1POL 极性 C1R C1CH1 C1CH0 同相端输入 反相端输入选择
Slide
38
适合此类应用的PIC16F1xxx器件
部件编号 CCP /ECCP 比较器 A/D 8/16位 定时器 串口 引脚 数 Rom/Ram EEM Fosc
误差 提早换相
校正后的过零点
下一个换相时间 校正后的换相时间
Slide
22
控制软件
Slide Slide
23 23
电机驱动执行程序
系统服务
CCP2/Timer1 (换相)
比较器 (过零检测)
中断状态表
Slide
24
系统服务
上电
True
STOP?
False
系统初始化 STOP = False 禁止中断
R
V
L R
Slide
13
100%占空比驱动BLDC
BLDC
(PWM at 100% Duty Cycle) 1.5
1
B C A ABS(B-C) ABS(C-A)
0.5
0
V
ABS(A-B) BEMF(drive on) BEMF (Drive off)
-0.5
-1 -30 30 90 150 电角度 210 270 330
PIC16F1827 PIC16F1933 PIC16F1936 PIC16F1938 PIC16F1934 PIC16F1937 PIC16F1939
2/2 2/3 2/3 2/3 2/3 2/3 2/3
2 2 2 2 2 2 2
12 11 11 11 14 14 14
4/1 4/1 4/1 4/1 4/1 4/1 4/1
扩展的捕捉/比较//PWM外设
Slide 35
ECCP1输出转向
PSTRCON寄存器 SYNC 同步 STRD STRC STRB STRA 转向控制
Slide
36
ECCP2外设
CCP2CON寄存器 P2M1 P2M0 DC2B1 DC2B0 CCP2M3 CCP2M2 CCP2M1 CCP2M0 1011 = 特殊事件比较模式
ECCP2/Timer1 换相事件
可转向 PWM 输出
电机驱动器
Timer0 OS事件
消隐
ECCP1 PWM
Timer2
速度控制
ADC
Slide
10
无传感器控制: 通过BEMF过零检测 确定电机转子位置
Slide Slide
11 11
什么是反电动势(BEMF)
C R L BEMF
电机
当直流电机旋转时,永磁 转子转过定子绕组,在绕 组中感应出的电动势称为 反电动势(BEMF)。 BEMF与电机转速成正比。 BEMF(RMS) = RPM/KV 转矩 = KT * 电流 为检测反电动势,电机必 须处于旋转状态。
DC
电机波形
Slide
15
电机波形
100%占空比
40%占空比
Slide
16
续流电流路径
HI_A + Vmotor - LO_A
HI_B
HI_C
LO_B
LO_C
Slide
17
利用比较器检测BEMF
Vmotor A
R1
同相端输入
PIC16F1xxx
R3 = R2/2
A B C
+
R1*
C
B
相选择
-
R2*
C
ZC
C
ZC
C
时间
出现过零事件时读取Timer1计数 读取计数值和预期时间之间的误差用于调整 为下个周期预设的CCPR2H:L 值 过零点提早出现 误差用于调整下一个周期 消隐周期终止 CCPR2H:L 设置为换相周期
过零点延迟出现 误差用于调整下一个周期
Slide
21
换相校正
换相时间
预期过零点
实际过零点
* 选择用于分压的R1和R2,以将电压 降到比较器的共模电压范围内。
Slide
18
运行电机和转速控制
Slide Slide
19 19
只需Timer1、比较器和ECCP 即可实现所有功能
Timer1
测量和定时关键事件
消隐(通过ECCP2) 过零检测(通过比较器) 换相(通过ECCP2)
2/3
2/3 2/3
3
3 2
17
17 19
4/1
4/1 3/4
有
有 有
64
64 28
8k/512
16k/1k
16k/1536
256
256 256
32M
32M 64M
Slide
39
总结
回顾一下我们学到了什么: F1 LV评估板的功能及如何使用 适用于电机控制的PIC16F1xxx外设 为具体应用优化F1 LV评估板演示代 码
Slide
12
计算BEMF
当施加驱动电压时: BEMF @ C = C – B + i*R R i = [V - (A - B)] / [2*R] L BEMF @ C = C - B + [V - (A - B)]*R / [2*R] BEMF @ C = C - B + [(V - A + B) / 2] + i A 当不施加驱动电压时: BEMF @ C = C – B C B + L +
33 33
PIC® MCU外设
Timer0 – OS时序 ECCP2 – 换相时序
Timer1 – 比较和复位 Timer 2 – 用于速度控制的PWM定时 器 输出转向(steering) – 换相
Slide 34
ECCP1 – 转向和速度控制
复用输入的比较器
ECCP1外设
CCP1CON 寄存器 P1M1 P1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 PWM模式和极性 PWM类型 占空比扩展
返回
Slide
26
CCP2中断(换相)
CCP2 中断 换相
过零
BEMF标志?
非过零
消隐
Error = ZC_Time – CommTime/2 CommTime = CommTime + Error*EGain
CCPR2H:L = CommTime 锁相检测 允许比较器中断 CCPR2H:L = CommTime NextState = 过零 NextState = 换相 继续
Slide
40
参考资料
AN857——直流无刷电机的简单控制 AN1305 ——采用PIC16Fxxx器件的无 传感器三相直流无刷电机控制 DS41414——PIC16F1947数据手册 www.microchip.com/f1eval(然后点 击F1 Low Voltage Evaluation链接)
直流无刷电机激励
A
100
A
101
com
b
r
com
110
g C
N
S
g
N
S
C
B
001
B r
com
b
010
011
Slide
8
简化框图
电源 PIC16F1xxx 3 ECCP 3 I/O 定时器 驱动 3
电机
换算 3 3
Slide
9
BLDC控制器框图
输入复用 比较器
BEMF
计算中点误差
误差积分
计算换相时间
有 有 有 有 有 有 有
18 28 28 28 40 40 40
4k/384 4k/256 8k/512 16k/1k 4k/256 8k/512 16k/1k
256 256 256 256 256 256 256
32M
32M 32M 32M 32M 32M 32M
PIC16F1946
PIC16F1947
Hale Waihona Puke Baidu
ECCP
PWM周期由Timer2和PR2设定 速度由CCPR1L占空比控制
Slide 20
Timer1/ECCP2控制换相
Timer1 起始计数值为零 CCPR2H:L设置为消隐周期
ECCP2匹配 T60 预先设置CCPR2H:L, 以在自此点后的半个换相时间进行比较
Timer1
T30
C
ZC
电压
Slide
30
强制换相启动
RPM 带载
不稳定区域
稳定区域 可检测到的最小BEMF速度
电压 最小启动电压
Slide
31
开环换相爬坡
换相时间
预期 过零点
实际 过零点
锁定窗口
下一个换相时间 锁定区域内的换相时间
Slide
32
适用于本课程所探讨控制方案 的PIC16F1xxx外设
Slide Slide
Slide
41
Slide
3
课程安排
F1 LV评估板 直流无刷电机概述 无传感器位置检测 控制软件 电机启动 增强型外设
Slide 4
带电机控制附件的 F1 LV 评估板
Slide Slide 5
5
F1 LV评估板
BLDC附件
Slide
6
三相直流无刷电机控制
Slide Slide 7
7
C12L15 BLDC
轻松构建低成本的 直流无刷电机控制方案
Slide Slide 1 1
课程安排
F1 低电压(LV)评估板概述 采用F1 LV评估板进行BLDC控制 适用于电机控制的增强型中档单片 机内核
Slide
2
课程目标
本课程结束时,您将可以:
了解如何将F1 LV评估板用于开发 BLDC 了解控制BLDC电机所需的 PIC16F1xxx外设 针对具体应用优化所提供的F1 LV演 示代码
True
RUN? 是
False
否
加速完成?
加速 慢速启动 允许中断
堵转检测
速度管理: 设置PWM 占空比 (RUN = T/F) (STOP=U/T)
Slide
25
换相
换相
选择CommPhase
设置PWM输出 设置持续输出 设置比较器输入 设置BEMF标志T/F
CommPhase = 下一个CommPhase
Slide
27
比较器中断 (过零检测)
比较器中断 ZC_Time = Timer1
CCPR2H:L = CommTime/2
禁止比较器中断
NextState = 换相
继续
Slide
28
启动电机
Slide Slide
29 29
强制换相启动
RPM 自由运行 带载
理想 情况
可检测到的最小BEMF速度
DC
电机波形
Slide
14
40%占空比驱动BLDC
BLDC
(PWM at 40% Duty Cycle) 1.5
1
B
C
0.5
A
ABS(B-C)
ABS(C-A)
0
V
ABS(A-B) BEMF(drive on) BEMF (Drive off)
-0.5
-1 -30 30 90 电角度 150 210 270 330
Reset 扩展的捕捉/比较/PWM外设
Slide 37
独立比较器
CM1CON0寄存器 C1ON 使能 C1OUT C1OE C1POL 极性 C1R C1CH1 C1CH0 同相端输入 反相端输入选择
Slide
38
适合此类应用的PIC16F1xxx器件
部件编号 CCP /ECCP 比较器 A/D 8/16位 定时器 串口 引脚 数 Rom/Ram EEM Fosc
误差 提早换相
校正后的过零点
下一个换相时间 校正后的换相时间
Slide
22
控制软件
Slide Slide
23 23
电机驱动执行程序
系统服务
CCP2/Timer1 (换相)
比较器 (过零检测)
中断状态表
Slide
24
系统服务
上电
True
STOP?
False
系统初始化 STOP = False 禁止中断
R
V
L R
Slide
13
100%占空比驱动BLDC
BLDC
(PWM at 100% Duty Cycle) 1.5
1
B C A ABS(B-C) ABS(C-A)
0.5
0
V
ABS(A-B) BEMF(drive on) BEMF (Drive off)
-0.5
-1 -30 30 90 150 电角度 210 270 330
PIC16F1827 PIC16F1933 PIC16F1936 PIC16F1938 PIC16F1934 PIC16F1937 PIC16F1939
2/2 2/3 2/3 2/3 2/3 2/3 2/3
2 2 2 2 2 2 2
12 11 11 11 14 14 14
4/1 4/1 4/1 4/1 4/1 4/1 4/1
扩展的捕捉/比较//PWM外设
Slide 35
ECCP1输出转向
PSTRCON寄存器 SYNC 同步 STRD STRC STRB STRA 转向控制
Slide
36
ECCP2外设
CCP2CON寄存器 P2M1 P2M0 DC2B1 DC2B0 CCP2M3 CCP2M2 CCP2M1 CCP2M0 1011 = 特殊事件比较模式
ECCP2/Timer1 换相事件
可转向 PWM 输出
电机驱动器
Timer0 OS事件
消隐
ECCP1 PWM
Timer2
速度控制
ADC
Slide
10
无传感器控制: 通过BEMF过零检测 确定电机转子位置
Slide Slide
11 11
什么是反电动势(BEMF)
C R L BEMF
电机
当直流电机旋转时,永磁 转子转过定子绕组,在绕 组中感应出的电动势称为 反电动势(BEMF)。 BEMF与电机转速成正比。 BEMF(RMS) = RPM/KV 转矩 = KT * 电流 为检测反电动势,电机必 须处于旋转状态。
DC
电机波形
Slide
15
电机波形
100%占空比
40%占空比
Slide
16
续流电流路径
HI_A + Vmotor - LO_A
HI_B
HI_C
LO_B
LO_C
Slide
17
利用比较器检测BEMF
Vmotor A
R1
同相端输入
PIC16F1xxx
R3 = R2/2
A B C
+
R1*
C
B
相选择
-
R2*
C
ZC
C
ZC
C
时间
出现过零事件时读取Timer1计数 读取计数值和预期时间之间的误差用于调整 为下个周期预设的CCPR2H:L 值 过零点提早出现 误差用于调整下一个周期 消隐周期终止 CCPR2H:L 设置为换相周期
过零点延迟出现 误差用于调整下一个周期
Slide
21
换相校正
换相时间
预期过零点
实际过零点
* 选择用于分压的R1和R2,以将电压 降到比较器的共模电压范围内。
Slide
18
运行电机和转速控制
Slide Slide
19 19
只需Timer1、比较器和ECCP 即可实现所有功能
Timer1
测量和定时关键事件
消隐(通过ECCP2) 过零检测(通过比较器) 换相(通过ECCP2)