同样是5V,为什么单片机输出的电流只有几毫安?
为了让大家彻底搞懂这个问题,首先我们需要知道单片机引脚的构成。
以Atmega328单片机为例,这是它的内部引脚原理图。
可以看出,单片机的引脚和内部电源之间并不是只有一个MOS管,他还有一个电阻。
因为有这个电阻的存在,单片机输出电流就会被限制,这就是单片机引脚驱动很小的原因。
阻值
那么这个电阻有多大呢?
接下来我们实际测试一下。
测试方法如下:
我们给单片机引脚外接一个阻值比较小的电阻,测量此时这个电阻的分压,这样就可以反推出来单片机内部电阻的大小。
为了方便直接在Arduino(Atmega328单片机)上外接一个47Ω的电阻。
接下来我们测量一下这个外接电阻的大小,最后测量这个外接电阻的分压为2.85V(此时已不能提供5V电压)。
由此可以推算出单片机内部的电阻约为35Ω(如下图)。
如果我们外接的阻值为1000Ω的话,能输出的电压值也仅仅为4.8V。这时候即使是在4.8v的情况下也才仅仅能提供5毫安的电流。
所以为了能让单片机更稳定的工作,尽量在引脚上外接大阻值的电阻!