一、序言
这是昨天制作的STM32单片机测试电路板。下面对于它输出PWM功能进行测试。利用RC低通滤波器对PWM旗子暗记进行滤波。这样可以得到一个由 PWM 占空比掌握的 DAC 输出。下面对于如何降落RC滤波之后的波纹进行实际丈量。

二、基本测试
设置单片机利用外部晶体,单片机事情的时钟频率为 72MHz。设置TIM4输出两个通道。它的16bit 计数器,周期为 0x10000 。
软件中启动 TIM4 的 PWM 功能。根据单片机的始终频率以及PWM定时器的设置。可以打算出PWM波形的频率。 对应 1098.6Hz。通过示波器不雅观察,可以看到输出的PWM波形频率正是 1.098kHz。展开波形,不雅观察 2000 对应的高电平时间, 根据PWM 设置参数,可以打算出对应的高电平的韶光为 27.78微秒。示波器光标丈量,对应PWM脉冲高电平为 27.85微秒,与参数打算结果符合。下面搭建RC低通滤波电路。
设置TIM4的 PWM 第二个通道输出极性取反,可以看到第二个通道输出极性反向了。利用 CCR 寄存器,分别设置两个通道占空比,这里设置两个通道 CCR 都是 0x2000,对应 八分之一的占空比。两个输出的PWM一正一反,这是由于它们的极性一个高电平,一个是低电平。
三、RC低通滤波
利用一个电阻和一个电容给输出PWM旗子暗记进行滤波。电阻为 10k欧姆,电容为 0.1微法。对应的韶光常数为 1ms。经由RC滤波之后,旗子暗记变成了直流旗子暗记 。不过还能够看到旗子暗记还存在着颠簸。在 八分之一占空比是,利用数字万用表的互换档丈量旗子暗记中的互换电压的有效值 102mV。互换分量的大小随着占空比不同发生变革。
测试不同占空比下,输出直流电压中的互换分量。可以看到在占空比为 50% 时,输出旗子暗记中的互换分量最大。
▲ 图1.3.1 PWM占空比对应的输出互换电压
四、反向补偿
为了降落RC滤波中的互换分量,可以利用两路PWM,它们输出极性相反。 这样在第一个输出低通滤波的根本上, 利用RC耦合到第一起输出,由于它的极性相反,以是可以中和前面输出旗子暗记中的互换分量。
这是没有补偿前,在 占空比50% 时,RC低通滤波输出的旗子暗记。加上反向补偿之后,输出旗子暗记中的互换分量大大降落了。
下面对于补偿RC回路中的电阻R2,通过可编程电阻箱进行电阻扫描,从 9kΩ,变革到 11kΩ,查看一下当 R2 变革到多少时,输出旗子暗记中的电压达到最小。通过丈量结果来看,当R2 达到 10kΩ时,补偿旗子暗记中的互换旗子暗记达到最小。其余,结果显示这个补偿电路无法将输出旗子暗记中的互换完备抵消。
▲ 图1.4.1 补偿电路中R的大小对付互换电压的影响
设置不同的占空比,利用数字万用表丈量RC滤波后中互换分量的有效值,同样,可以看到在 50%占空比的时候,输出互换分量达到最大。比拟没有补偿和有补偿情形下,可以看到经由补偿之后,旗子暗记中的互换分量降落到原来的 14% 旁边。
▲ 图1.4.2 经由补偿之后,在不同占空比下叔叔旗子暗记的互换分量
▲ 图1.4.3 没有补偿和有补偿下不同占空比对应的输出互换旗子暗记
※总 结 ※
本文通过实验测试了运用互补的两路PWM输出,有效抑制RC低通滤波之后直流分量中残余的互换分量。置于为什么没有能够完备肃清互换分量,后面还须要进行理论剖析。不过,能够将互换分量肃清 八倍以上,这种利用互补PWM抑制输出中颠簸的方法还是非常有效的。那么,是否有可能利用互补的PWM将输出旗子暗记中的互换分量完备肃清呢?
参考资料
[1]
STM32的IO口到底可以接管和开释多大的电流?: https://blog.csdn.net/zhuoqingjoking97298/article/details/135919408
[2]
STM32的单片机测试电路板: https://blog.csdn.net/zhuoqingjoking97298/article/details/135913547?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135913547%22%2C%22source%22%3A%22zhuoqingjoking97298%22%7D







