6.3 输出比较
1.简介(主要用于输出PWM波形控制电机)
OC(Output Compare)输出比较
输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形
每个高级定时器和通用定时器都拥有4个输出比较通道
高级定时器的前3个通道额外拥有死区生成和互补输出的功能
输出比较可以通过比较CNT和CCR寄存器值的关系,来对输出电平进行置1,置0或翻转的操作,用于输出一定频率和占空比的PWM波形
OC(OutPUT Compare)输出比较
IC(Input Capture)输入捕获
CC (Compare / Capture) 输出比较金额输入捕获得单元
CNT 计数器
CCR 捕获比较寄存器
每个高级定时器和通用定时器都拥有4个输出比较通道
高级定时器的前三个通道额外拥有死区生成和互补输出的功能(用于驱动三相无刷电机)
2.PWM简介
PWM(Pulse Width Modulation)脉冲宽度调制
在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域
PWM参数:
频率 = 1 / TS 占空比 = TON / TS 分辨率 = 占空比变化步距
输出比较通道(高级)
死区发生器是指在电路中加入一个控制逻辑,使得控制器可以在输出两个信号时控制两个信号的时间差,从而使得两路信号不存在交叉而产生的短路,称之为死区。
在电机控制中,死区发生器主要用于控制电机的相间开关,防止电机中两相之间的短路。在模拟控制中,死区发生器比较简单,可以采用RC延迟电路实现。但是在数字控制中,死区发生器一般采用硬件电路实现。
在STM32的定时器中,死区发生器一般是指死区时间发生器(DTGF),它可以控制两个PWM输出信号的相位差,并混合产生变换输出信号。其中,死区时间指的是两个PWM信号之间的时间间隔。
在STM32的定时器中,要使用DTGF,需要配置TIM_BDTR寄存器,在中断中设置TDT和TDTG寄存器,而TDT寄存器表示的就是死区时间值。同时,还需要通过TIM_CCER寄存器配置CCxNE和CCxE位,使得两个PWM输出信号的反向输出使能,并选择DTGF输出。配置完成后,即可使用DTGF对PWM信号进行控制,并防止输出信号信号交错,从而保证系统的可靠性和稳定性。
输出比较通道(通用)
1.输出比较模式(冻结,1,0,翻)
1.输出比较模式是STM32定时器提供的一种模式,在该模式下,定时器将根据比较寄存器中的值生成一个特定的输出信号。该模式下,有两种类型的比较输出,一种是PWM输出(已在前面回答中提到),另一种是脉冲输出,通常用于测量、计数等应用场合。
2.在输出比较模式中,一般通过TIMx_CCMRx寄存器来配置,其中CCxS和OCxM位用于指定比较输出的类型。CCxS用于确定是否启用定时器通道x的输入捕获功能,OCxM用于指定比较输出的类型,有多种模式可选,包括输出为低电平、高电平、反转电平等。
3.在使用输出比较模式时,我们需要根据具体需求配置相应的参数,包括比较寄存器的值、输出比较模式、时钟预分频系数等。然后再结合中断、DMA等技术对定时器进行进一步的处理,以满足复杂的应用需求。
需要注意的是,输出比较模式不同于PWM模式,它不会在计数器达到自动重载值时自动重新加载,而是需要手动指示计数器的重载操作。
2.强制输出模式
1.强制输出模式是一种通过软件控制硬件输出状态的模式,在该模式下,定时器将使用预定义的输出状态(一般是高或低电平),忽略与输出比较寄存器CCRx的比较结果,直接通过OCR寄存器强制改变PWM输出的电平。
2.在STM32的定时器中,强制输出模式一般通过配置TIM_CR2寄存器中的OISx位来实现,其中x表示要控制的PWM输出通道编号。当OISx置为1时,对应的PWM输出通道将强制输出对应的状态,不受比较结果的影响。反之,当OISx为0时,则恢复到正常工作模式。
3.强制输出模式的使用场景比较灵活,例如在电机驱动控制中,可以通过强制输出模式来实现电机刹车操作;在电源管理中,可以通过强制输出模式来实现快速关闭电源等操作。此外,在测试和调试中,也可以使用强制输出模式来简化测试任务,提高测试效率。
3.pwm模式
1.PWM模式是一种周期性地改变某一信号的占空比来控制输出信号平均电平的方法。在STM32的定时器中,PWM模式一般通过TIMx_CCMRx寄存器中的OCxM和OCxPE位来配置。
2.在PWM模式中,定时器的计数器CNT从0开始计数,当CNT计数值小于比较寄存器CCR1的值时,PWM输出信号为高电平,否则为低电平。当CNT计数值等于定时器自动重装载寄存器ARR的值时,定时器从0重新开始计数,即周期性地循环执行。
3.在STM32的定时器中,还可以通过配置PWM输出通道的互补输出模式,即CCPx和CCPxN的组合来实现增强型PWM输出,互补输出时,定时器可以同时控制两个输出PWM信号的相位差和占空比,从而实现更加精细的PWM输出控制,适用于要求较高的控制场合。
4.PWM模式具有周期固定、输出电平可控、输出精度高等特点,广泛应用于电机控制、LED控制、音频数字转换等领域。
PWM基本结构
舵机简介
舵机是一种根据输入PWM信号占空比来控制输出角度的装置
输入PWM信号要求:周期为20ms,高电平宽度为0.5ms~2.5ms
** 舵机硬件电路
直流电机及驱动简介
直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接时,电机正转,当电极反接时,电机反转
直流电机属于大功率器件,GPIO口无法直接驱动,需要配合电机驱动电路来操作
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速和方向
常用的电机驱动:TB6612、DRV8833、L9110、L298N
直流电机及驱动硬件电路