找回密码
 立即注册
查看: 1268|回复: 2

跟陈老师学单片机,PWM篇【实验箱已收到】

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:486
  • 最近打卡:2025-05-04 00:27:57

1

主题

79

回帖

2342

积分

金牌会员

积分
2342
发表于 2023-9-12 09:25:43 | 显示全部楼层 |阅读模式
本帖最后由 独自等待 于 2023-10-2 22:00 编辑

以前是做模拟电路,现在想学数字电路,听了几节陈桂友老师的课,有空做了PWM的笔记如下:

PWM是脉冲宽度调制(Pulse Width Modulation)的缩写
PWM是数字信号
场景一
PWM可以控制舵机
PWM占空比来控制多级的轴转角
场景二
PWM可以控制电机的转速
单个继电器可以控制电机的转动和停止
4个继电器可以组成H桥可以控制电机制正反转,停止和制动
4个晶体管可以代替继电器组成H桥,有更快的开关速度
4个场效应组面的H桥电流更大
半桥驱动芯片BTN7971
2个电机需要2个芯片组成全桥
2个电机需要4个芯片
1、STC8H8K64U集成了8通道16位高级PWM定时器
PWM分成2组PWMA和PWMB,两组的周期可以分别设置
PWMA可以配置成4路带死区的互补对称PWM或捕捉外部信号
PWMB可以配置成4路PWM输出或捕捉外部信号。
STC8H8K64U单片机的PWM能捕获外部输入信号,可捕获上升沿、下降沿或者同时捕获上升沿和下降沿,测量外部波形时,可同时测量波形的周期值和占空比值。有正交编码功能、外部异常检测功能以及实时触发ADC转换功能。
2、STC8H8K64U单片机PWM模块的功能
(1)PWM波形的输出
当使用第一组PWM定时器输出PWM波形时,可单独使能PWM1P/PWM2P/PWM3P/PWM4P输出(称为P端输出),也可单独使能PWM1N/PWM2N/PWM3N/PWM4N输出(称为N端输出)。可选择的输出规则
如下:
1)P端输出和对应的N端输出不能同时独立输出。例如,若单独使能了PWM1P输出,则PWM1N就不能再独立输出,除非PWM1P和PWM1N组成一组互补对称输出。
2)PWMA的4路输出是可分别独立设置的,例如:可单独使能PWM1P和PWM2N输出,也可单独使能PWM2N和PWM3N输出。
2、STC8H8K64U单片机PWM模块的功能
(2)捕获功能或者脉宽测量
若需要使用第一组PWM定时器进行捕获功能或者测量脉宽时,输入信号只能从每路的正端输入,即只有PWM1PIPWM2PIPWM3P/PWM4P才有捕获功能和测量脉宽功能。
两组高级PWM定时器对外部信号进行捕获时,可选择上升沿捕获或者下降沿捕获。如果需要同时捕获上升沿和下降沿,则可将输入信号同时接入到两路PWM,使能其中一路捕获上升沿,另外一路捕获下降沿。将外部输入信号同时接入到两路PWM时,可同时捕获信号的周期值和占空比值。
3、STC8H8K64U单片机PWM模块的性能
(1)16位向上、向下、向上/下自动装载计数器。
(2)允许在指定数目的计数器周期之后更新定时器寄存器的重复计数器。
(3)16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值。
(4)同步电路,用于使用外部信号控制定时器以及定时器互联。
(5)多达4个独立通道可以配置成:
·输入捕获
·输出比较
·PWM输出(边缘或中间对齐模式)
·六步PWM输出(三相无刷电机控制换相)
·单脉冲模式输出
·PWMA支持4个死区时间可编程的通道上互补输出
(6)刹车输入信号(PWMFLT)可以将定时器输出信号置于复位状态或者一个确定状态。
(7)外部触发输入引脚(PWMETI)。
(8)PWMA/PWMB各有8个中断请求源:
·刹车中断(刹车信号输入)
·触发事件(计数器启动、停止、初始化或者由内部1外部触发计数)
·COM事件中断
·输入捕捉/输出比较1~4中断
·更新事件中断:计数器向上溢出/向下溢出或计数器初始化(通过软件或者内部/外部触发)
PWMA的时基单元包含:
16位向上/向下计数器
16位自动重载寄存器
重复计数器
预分频器

1、自动重载寄存器由预装载寄存器和影子寄存器组成。
可在下面两种模式下写自动重载寄存器:
(1)自动预装载已使能(PWMACR1寄存器的ARPE位为1)。在此模式下,写入自动重载寄存器的数据将被保存在预装载寄存器中,并在下一个更
新事件(UEV)时传送到影子寄存器。
(2)自动预装载已禁止(PWMA_CR1寄存器的ARPE位为0)。在此模式下,写入自动重载寄存器的数据将立即写入影子寄存器。
产生更新事件的条件有:
(1)计数器向上或向下溢出。
(2)软件置位了PWMA EGR寄存器的UG位。
(3)时钟/触发控制器产生了触发事件。
2、16位计数器的读写操作
写计数器的操作没有缓存,在任何时候都可以写PWMA_CNTRH和PWMA CNTRL寄存器,因此为避免写入了错误的数值,一般建议不要在计数器运行时写入新的数值。
读计数器的操作带有8位的缓存。用户必须先读定时器的高字节,在用户读了高字节后,低字节将被自动缓存,缓存的数据将会一直保持直到16位数据的读操作完成。
3.16位自动装载寄存器PWMA ARR寄存器的写操作预装载寄存器中的值将写入16位的PWMA ARR寄存器中,此操作由两条指令完成,每条指令写入1个字节。必须先写高字节,后写低字节。影子寄存器在写入高字节时被锁定,并保持到低字节写完。
2. 向下计数模式
在向下模式中,计数器从自动装载的值(PWMA_ARR寄存器的值)开始向下计数到0,然后再从自动装载的值重新开始计数,并产生一个计数器向下溢出事件(下溢)。如果PWMA CR1寄存器的UDIS位被清除,还会产生一个更新事件(UEV)。
3.中间对齐模式(向上/向下计数模式)
在中央对齐模式,计数器从0开始计数到PWMA ARR寄存器-1,产生一个计数器上溢事件,然后从PWMA ARR寄存器的值向下计数到1并且产生一个计数器下溢事件;然后再从0开始重新计数。在此模式下,不能写入PWMACR1中的DIR方向位。它由硬件更新并指示当前的计数方向。

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2023-12-18 15:13:58

4

主题

216

回帖

886

积分

高级会员

积分
886
发表于 2023-9-13 08:50:17 | 显示全部楼层
楼主可继续打卡学习,
优秀的打卡贴会获赠实验箱+包邮




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:486
  • 最近打卡:2025-05-04 00:27:57

1

主题

79

回帖

2342

积分

金牌会员

积分
2342
发表于 2023-10-2 22:02:31 | 显示全部楼层
最近忙,没有空做笔记,不忙时会继续更新学习笔记
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 00:34 , Processed in 0.125230 second(s), 60 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表