电容充放电——PWM输出波形不是方波的解释

PWM输出波形不是方波的解释

前些天用STM32单片机输出PWM,意外的发现了PWM输出之后不是那种正经的方波,而是一种稍微有些圆润的波形,但是结果还是可以用来驱动电机。

这里是吐槽
看到了方波出不来,第一反应是IO口坏掉了,因为STM32单片机只能输出3.3V和0V。
于是尝试了无数个IO口来配置一个PWM。
然后绝望到开始怀疑自己是不是不会配置PWM。
最后决定心一横,直接接线吧!!(之前烧板子烧怕了,只敢每个口都测试之后再连线)
然后发现,竟然可以用!!!

TTL电平

虽然当时不理解,但是TTL电平是个电压范围,规定输出高电平>2.4V,输出低电平<0.4V,最小输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是0.4V。
(噪声容限:例如,规定的TTL电平高平是2.4V,低电平是0.4V。因为噪声容限的存在,2V也认为是高电平 0.8V也认为是低电平,噪声容限越大说明容许的噪声越大,电路的抗干扰性越好。)

后来学了电工学,我明白了,接下来,重点来了!!

电容充放电导致波形不是方波

因为当时用示波器测试PWM的时候并不是直接连接引脚,而是连在一个钽电容两边,于是我当时测试的并不是准确的PWM口和GND的电平,而是有一个电容放在PWM两边。
电容充放电——PWM输出波形不是方波的解释_第1张图片上面的图像是正常PWM的方波。
下面的图像是实际示波器测试到的波形,其实我测量到的不是PWM口的电压,而是电容两边的电压,因为电容两端的电压呈周期性的3.3V-0V的变化,于是出现了电容的不断充放电,所以才会出现这样的有些圆润的波形。

你可能感兴趣的:(STM32)