四川工程职业技术学院
单片机应用技术课程电子教案
Copyright ? Http://mcu.scetc.net
第 讲 17
PWM的调速原理与应用 — 小车调速
Copyright ? Http:// mcu.scetc.net 2 SiChuan Engineering Technical College-1959
本讲主要内容,
17-1,PWM调速基本原理
17-2,P89V51RD2的 PWM功能模块结构与应用
17-3,智能小车电机调速案例分析
17-4,课后思考和实验准备
Copyright ? Http:// mcu.scetc.net 3 SiChuan Engineering Technical College-1959
17-1,PWM调速基本原理
? PWM
t/T:为 PWM脉冲的
占空比,决定平均
电压的大小!
T内平均电压 脉冲电压幅度
UP
高电平,1”
低电平,0”
T
t
Copyright ? Http:// mcu.scetc.net 4 SiChuan Engineering Technical College-1959
17-1,PWM调速基本原理
? PWM脉冲驱动电路
? 直流电机的速度控制中,需要对控制信号进行功率驱动或电气隔离,
以下为典型应用电路(负载为直流电机 M1)。
PWM脉冲的占空
比,决定电机 M1
的转速。
PWM信号输入 光电隔离处理 功率驱动级 负载电源
Copyright ? Http:// mcu.scetc.net 5 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? P89V51RD2的 PCA模块结构(共有 5个模组 CEX0-CEX4)
PCA的 5路模块 5路模块 I/O端口
PCA的时钟基准
Copyright ? Http:// mcu.scetc.net 6 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? P89V51RD2的 PCA模块功能
软件定时 捕获模式
8位 PWM 看门狗
PCA
Copyright ? Http:// mcu.scetc.net 7 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? PCA模块应用于 PWM时的内部结构
占空比设定单元
PWM比较 SFR
PCA自加计数器
PWM输出控制
PWM信号输出 PWM使能控制位
Copyright ? Http:// mcu.scetc.net 8 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? P89V51RD2的几个重要寄存器
? CMOD- PCA计数器方式寄存器
? CCON- PCON计数器控制寄存器
? CCAPMn- PCA模块比较 /捕获寄存器( n=1,2,3,4,5)
Copyright ? Http:// mcu.scetc.net 9 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? CMOD- PCA计数器方式寄存器
?CIDL:计数器空闲控制,CIDL=0时,空闲模式下 PCA计数器继续工作。 CIDL= 1时,
空闲模式下 PCA计数器禁能。
?WDTE:看门狗定时器使能,WDTE=0时,禁止模块 4的看门狗定时器功能。 WDTE=1
时使能看门狗定时器。
?CPS1,CPS0, PCA计数脉冲选择。
?00,fosc/6
?01,fosc/12
?10:定时器 0溢出
?11,ECI/P1.2脚的外部时钟
?ECF,PCA使能计数溢出中断,ECF=1时,使能寄存器 CCON CF位的中断。 ECF=0时,
禁止该功 N能。
位 D7 D6 D5 D4 D3 D2 D1 D0
符号 CIDL WDTE - - - CPS1 CPS0 ECF
Copyright ? Http:// mcu.scetc.net 10 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? CCON- PCON计数器控制寄存器
? CF,PCA计数器溢出标志。计数值翻转时该位由硬件置位。如果 CMOD寄存器的
ECF位置位,CF标志可用来产生中断。 CF位可通过硬件或软件置位,但只可通过软
件清零。
? CR,PCA计数器运行控制位。该位通过软件置位,用来起动 PCA计数器计数。该位
通过软件清零,用来关闭 PCA计数器。
? CCF0~CCF4,PCA模块 0~4中断标志。当出现匹配或捕获时该位由硬件置位。该位必
须通过软件清零。
位 D7 D6 D5 D4 D3 D2 D1 D0
符号 CF CR - CCF4 CCF3 CCF2 CCF1 CCF0
Copyright ? Http:// mcu.scetc.net 11 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? CCAPMn- PCA模块比较 /捕获寄存器( n=1,2,3,4,5)
? ECOMn 使能比较器。 ECOMn= 1时使能比较器功能。
? CAPPn 正捕获。 CAPPn= 1时使能上升沿捕获。
? CAPNn 负捕获。 CAPNn= 1时使能下降沿捕获。
? MATn 匹配。当 MATn= 1时,PCA计数值与模块的比较 /捕获寄存器的值的匹配将
置位 CCON寄存器的中断标志位 CCFn。
? TOGn 翻转。当 TOGn= 1时,PCA计数值与模块的比较 /捕获寄存器的值的匹配将
使 CEXn脚翻转。
? PWMn 脉宽调节模式。当 PWMn= 1时,使能 CEXn脚用作脉宽调节输出。
? ECCFn 使能 CCF中断。使能寄存器 CCON的比较 /捕获标志 CCFn,产生中断。
位 D7 D6 D5 D4 D3 D2 D1 D0
符号 - ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn
Copyright ? Http:// mcu.scetc.net 12 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? P89V51RD2的 PWM功能应用流程
T0工作方式设定
使用工作方式 2
CMOD初始化
PCA时钟源选择
T0运行,PWM使能、设定 PWM的占空比
启动 PCA计数器,输出 PWM脉冲
Copyright ? Http:// mcu.scetc.net 13 SiChuan Engineering Technical College-1959
17-2,P89V51RD2的 PWM功能模块结构与应用
? P89V51RD2的 PWM功能应用
利用 P89V51RD2的 PWM功能,在 P1.7口输出占空比为 50%的 PWM脉冲信
号。程序清单为,
MOV CMOD,#04H; ; PCA初始化,选择 T0作为 PCA阵列的计数脉冲来源
MOV TMOD,#02H ; T0初始化
MOV TL0,#20H ;设定 PWM的周期
MOV TH0,#20H
SETB TR0
MOV CCAPM4,#42H ;启用 PCA阵列的 CEX4的 PWM功能
MOV CCAP4H,#127 ;设定 PWM的占空比
MOV CCON,#40H ;启动 PCA计数器工作
“0”占空比为,
CCAPnH/256
Copyright ? Http:// mcu.scetc.net 14 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 在智能小车的硬件电路基础上,利用 P89V51RD2的 PWM功能实现小车的
转弯功能(左转和右转),下图为小车电机驱动电路原理。
Q4
D 88 2
Q3
D 88 2
Q1
B 77 2
Q2
B 77 2
Q5
9 0 14
Q6
9 0 14
G N D
+ 6 VR3
150
R4
150
M L +
M L -
L+
L-
C1
C A P
Q 10
D 88 2
Q9
D 88 2
Q7
B 77 2
Q8
B 77 2
Q 11
9 0 14
Q 12
2 N 2 2 2 2
G N D
+ 6 VR5
150
R6
150
M R+
M R-
R+
R-
C6
C A P
R8
R E S 2
R7
R E S 2
R 10
R E S 2
R9
R E S 2
34
U 8B
7 4 L S 0 4
56
U 8C
7 4 L S 0 4
98
U 8D
7 4 L S 0 4
1110
U 8E
7 4 L S 0 4
PWM输入信号
Copyright ? Http:// mcu.scetc.net 15 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 硬件电路分析
? 当左侧电机需要前进时,L-端保持为,1”,电机的转动速度由 L+端
的占空比决定 ;
? 当左侧电机需要后退时,L+端保持为,1”,电机的转动速度由 L-端
的占空比决定;
? 当右侧电机需要前进时,R-端保持为,1”,电机的转动速度由 R+端
的占空比决定 ;
? 当右侧电机需要后退时,R+端保持为,1”,电机的转动速度由 R-端
的占空比决定。
Copyright ? Http:// mcu.scetc.net 16 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 软件思路
? 智能小车左转的条件:左侧电机反转,同时右侧电机正转。
? 智能小车右转的条件:右侧电机反转,同时左侧电机正转。
? 智能小车加速的条件:减少 PWM脉冲的占空比。
? 智能小车减速的条件:增加 PWM脉冲的占空比。
Copyright ? Http:// mcu.scetc.net 17 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 单片机硬件资源分配
? 单片机 I/O口分配
左侧电机前进 PWM控制信号, P1.7(CEX4)
左侧电机后退 PWM控制信号, P1.6(CEX3)
右侧电机前进 PWM控制信号, P1.5(CEX2)
右侧电机后退 PWM控制信号, P1.4(CEX1)
Copyright ? Http:// mcu.scetc.net 18 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 程序关键点
智能小车 PWM初始化程序
PWM_INIT,MOV TMOD,#02H
MOV CMOD,#04H
MOV TH0,#20H
MOV TL0,#20H
SETB TR0
MOV CCON,#40H ;启动 PCA计数器工作
Copyright ? Http:// mcu.scetc.net 19 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 程序关键点
? 智能小车左转程序
CAR_LEFT,MOV CCON,#00H
SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7
MOV CCAPM1,#00H
MOV CCAPM4,#00H
MOV CCAPM2,#42H
MOV CCAP2H,#100
MOV CCAPM3,#42H
MOV CCAP3H,#100
MOV CCON,#40H
RET
先停车,防止
发生双向导通
开启左转驱动
的 PWM输出
关闭 CEX1和
CEX4的 PWM
Copyright ? Http:// mcu.scetc.net 20 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 程序关键点
? 智能小车右转程序
CAR_RIGHT,MOV CCON,#00H
SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7
MOV CCAPM2,#00H
MOV CCAPM3,#00H
MOV CCAPM1,#42H
MOV CCAP1H,#100
MOV CCAPM4,#42H
MOV CCAP4H,#100
MOV CCON,#40H
RET
先停车,防止
发生双向导通
开启右转驱动
的 PWM输出
关闭 CEX2和
CEX3的 PWM
Copyright ? Http:// mcu.scetc.net 21 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 程序关键点
? 智能小车前进程序
CAR_GO,MOV CCON,#00H
SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7
MOV CCAPM1,#00H
MOV CCAPM3,#00H
MOV CCAPM2,#42H
MOV CCAP2H,#100
MOV CCAPM4,#42H
MOV CCAP4H,#100
MOV CCON,#40H
RET
先停车,防止
发生双向导通
开启前进转驱
动的 PWM输出
关闭 CEX1和
CEX3的 PWM
Copyright ? Http:// mcu.scetc.net 22 SiChuan Engineering Technical College-1959
17-3,智能小车电机调速案例分析
? 程序关键点
? 智能小车后退程序
CAR_BACK,MOV CCON,#00H
SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7
MOV CCAPM2,#00H
MOV CCAPM4,#00H
MOV CCAPM1,#42H
MOV CCAP1H,#100
MOV CCAPM3,#42H
MOV CCAP3H,#100
MOV CCON,#40H
RET
先停车,防止
发生双向导通
开启后退驱动
的 PWM输出
关闭 CEX2和
CEX4的 PWM
Copyright ? Http:// mcu.scetc.net 23 SiChuan Engineering Technical College-1959
17-4,课后思考和实验准备
? 课后思考
? 电机驱动电路的工作原理;
? 智能小车转向原理;
? 智能小车转向的驱动程序编写方法。
? 实验准备
? 利用实验的电路图,找出 I/O口与电机的控制信号连接;
? 完成实验指导书中实验 7的各项预习任务。