单片机学习日记

外设需要驱动的时候用复用推挽输出模式。

在使用时,根据时钟树中对应APB的定时器时钟线的频率,结合预分频器以及自动重装载寄存器,我们就可以设置出需要的PWM频率(周期),比较寄存器与自动重装载寄存器的比值就是PWM的占空比。当然如果换到PWM模式2或者修改输出极性情况会有所不同。

在代码中我们使用HALTIM_PWM_Start函数可以启动PWM输出,当然也有对应的HALTIM_PWM_Stop函数停止PWM输出;通过HAL TIMSETCOMPARE函数我们可以修改比较寄存器的值,也就修改了PWM的占空比

旋转编码器


它每360度输出20个脉冲,也就是每个脉冲代表18度,用脉冲数量乘以18度就可以得出真实的旋转角度

定时器:

编码器模式:

输入捕获只能进行直接捕获走TI1FP1和TI2FP2

代码里HAL_TIM_Encoder_Start编码器,随后获取计数器的值就好啦。

舵机

大于输出比较寄存器时输出另一种电平,修改定时器时钟源的速度以及预分频器等设置,可以修改计数器计数的速度。再加上修改自动重装载值,就可以调节PWM的周期频率。修改比较寄存器的大小,就可以调节PWM的占空比

实际上绝大多数的舵机控制的占空比范围都是2.5%~12.5%,因为绝大多数的航模遥控器也都是输出这个范围的信号,


DRV8833控制电机,需要熟悉PWM

相关推荐
准测仪器3 小时前
6项提高电机制造质量的电气测试方案
单片机·嵌入式硬件·制造·电机·电气·放电测试·局部放电测试
Chloeis Syntax4 小时前
MySQL初阶学习日记(1)--- 数据库的基本操作
数据库·学习·mysql
ACP广源盛139246256734 小时前
(ACP广源盛)GSV6172---MIPI/LVDS 信号转换为 Type-C/DisplayPort 1.4/HDMI 2.0 并集成嵌入式 MCU
c语言·开发语言·单片机·嵌入式硬件·音视频
hazy1k4 小时前
51单片机基础-IO扩展(并转串 74HC165)
stm32·单片机·嵌入式硬件·fpga开发·51单片机·1024程序员节
Tony小周4 小时前
使用QKeyEvent keyPress(QEvent::KeyPress, key模拟键盘发送事件,会导致主程序卡死
嵌入式硬件·qt
musenh5 小时前
css样式学习
css·学习·css3
Larry_Yanan5 小时前
QML学习笔记(五十)QML与C++交互:QML中单例C++对象
开发语言·c++·笔记·qt·学习·ui·交互
im_AMBER5 小时前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
Nan_Shu_6146 小时前
学习:JavaScript(5)
开发语言·javascript·学习
民乐团扒谱机6 小时前
实验室安全教育与管理平台学习记录(八)特种设备安全
学习·安全