理论
1.输出比较简介
OC(Output Compare)输出比较 输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形 每个高级定时器和通用定时器都拥有4个输出比较通道 高级定时器的前3个通道额外拥有死区生成和互补输出的功能
2.PWM简介
PWM(Pulse Width Modulation)脉冲宽度调制 在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域 PWM参数:
频率 = 1 / Ts 占空比 = TON / Ts 分辨率 = 占空比变化步距
3.输出比较通道(通用)
有4个捕获/比较寄存器
假如输入一个高电平,先通过输出模式控制器后,可以直接通过主模式控制器,还可以继续往图右走,进入选择。在极性选择输出使能中选择为低电平,那么直接输出该高电平,如果极性选择输出使能中选择高电平,那么就会通过非门,会翻转电平,从高电平变为低电平,然后输出到使能电路
4.输出比较模式
在正常情况下使用PWM1与PWM2
5.PWM基本结构
注意:时基单元必须进行使能(运行控制)
6.参数计算
CCR:为高电平的时间
ARR:为总时间(一个周期)
6.输出比较通道(高级)----了解
7.舵机
简介
舵机是一种根据输入PWM信号占空比来控制输出角度的装置 输入PWM信号要求:周期为20ms,高电平宽度为0.5ms~2.5ms
工作准则
硬件电路
8.直流电机及驱动
直流电机简介
直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机属于大功率器件,GPIO口无法直接驱动,需要配合电机驱动电路来操作
直流电机驱动芯片
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速和方向
硬件电路
工作准则
API学习
void TIM_OCxInit
x为1 或 2 或 3 或 4
void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
/*
*输出比较单元(捕获/比较器)的选择
*/
void TIM_OCxPreloadConfig
x为1 或 2 或 3 或 4