测量ATMEGA8单片机IO口的输入输出内阻
➤ 01背景
在 电子小帮手电路中电源开关电路分析 中介绍测量模块电路实验原理的时候,对于ATmega系列的 单片机的输出端口进行了内部描述 。特别是对于端口做为IO输出口的时候,它可以等效为通过电阻19Ω和22Ω分别上拉到VCC,或者下拉的GND。
▲ ATMEGA单片机IO口等效电路
那么就会出现一个新的问题,对于ATmega单片机,这个IO口的内阻究竟有多大呢?
通过实验来确定单片机输出IO口的实际电阻阻值,这为将来使用单片机进行测量工作提供数据基础。
利用在 ATMEGA8 DIP-28面包板实验 中可以下载程序的实验方式,对于ATmega8单片机搭建在面包板上的测试芯片。通过实验来测量对应的IO端口在作为输出端时相对于GND,VCC的电阻阻抗。
➤ 02测量方案
1.测量端口电阻
测量电阻阻抗的方式可以通过以下三种方式来进行:
- 通过V-A方法检测,也就是通过测量IO口输入、输出电流一项相对应的IO口电压的变化,来获得端口的等效串联点租。
- 使用万用表直接测量;
- 使用手持LCR表来测。
2.测量过程
通过软件编程,使得单片机的PB4,PB3,PB2,PB1分别处于输出高电平,和输出低电平的情况,然后按照上面三种方法来测量对于端口的内部等效阻抗。
▲ ATMEGA8 DIP-28封装
➤ 03测量数据
1.使用V-A方法测量IO内阻
(1) IO低电平内阻
▲ 测量电路图示意图
使用在 低价电阻箱-阻值测试 中的9999Ω电阻箱,分别改变IO端口的输出负载,记录不同电阻下输出端口的电压,进而可以进行获得内部电阻。
Current(mA) | 3.068900 | 1.900500 | 1.376000 | 1.078700 | 0.889500 | 0.754900 | 0.655700 | 0.579500 | 0.519100 |
---|---|---|---|---|---|---|---|---|---|
Voltage(V) | 0.086651 | 0.055485 | 0.041959 | 0.034435 | 0.029279 | 0.025946 | 0.023526 | 0.021161 | 0.019959 |
X▲ 端口电流与电压
通过线性拟合,可以建立输入电流(i,单位mA)与端口电压 U I O ( I ) U_{IO} \left( I \right) UIO(I)之间的线性关系。
U I O ( i ) = 0.02615 ⋅ i + 0.0062 U_{IO} \left( i \right) = 0.02615 \cdot i + 0.0062 UIO(i)=0.02615⋅i+0.0062
通过上述线性方程,可以得到端口的输入电阻为: R s − L O W = 26.15 Ω R_{s - LOW} = 26.15\Omega Rs−LOW=26.15Ω
(2) IO高电平内阻
测量不同输出电流下输出电压的变化。
Current(mA) | 3.066000 | 1.897700 | 1.373900 | 1.077000 | 0.888000 | 0.753500 | 0.654500 | 0.578400 | 0.518200 |
---|---|---|---|---|---|---|---|---|---|
Voltage(V) | 0.077972 | 0.050410 | 0.038025 | 0.031065 | 0.026657 | 0.023490 | 0.021160 | 0.019415 | 0.018024 |
▲ 端口电压与电流
对上述电压电流线性拟合:
U Δ − H i g h ( i ) = 0.02354 ⋅ i + 0.00576 U_{\Delta - High} \left( i \right) = 0.02354 \cdot i + 0.00576 UΔ−High(i)=0.02354⋅i+0.00576
由此可以得到单片机高电平下输出内阻大约为: R H i g h = 23.54 Ω R_{High} = 23.54\Omega RHigh=23.54Ω
通过实际测量,可以看到ATmega的IO口在输出状态下,内阻分别是26.15Ω(低电平)以及23.56Ω(高电平)。
2.使用万用表测量IO内阻
使用DM3068数字万用表,直接测量ATmega的输出低电平的IO对GND之间的电阻:
R L o w = 26.8 Ω R_{Low} = 26.8\Omega RLow=26.8Ω
测量ATmega8输出高电平的IO对VCC(+5V)之间的直流电阻:
R H i g h = 17.64 Ω R_{High} = 17.64\Omega RHigh=17.64Ω
注意:由于存在输出静态电压,不能够测量输出高电平的IO对GND之间的电阻,或者输出低电平IO对VCC之间的电阻。
3.使用LCR表测量IO内阻
为了避免单片机端口的静态电压对于LCR表的测量影响,使用100uF的电解电容进行隔直之后,然后在使用Smart Tweezers进行测量相应端口的内阻。
▲ 使用隔直电容之后测量端口的内阻
低电平IO内阻: R L o w = 23.10 Ω R_{Low} = 23.10\Omega RLow=23.10Ω
高电平IO内阻: R L o w = 23.92 Ω R_{Low} = 23.92\Omega RLow=23.92Ω
➤ ※ 结论
单片机的IO如果作为输出端口,它可以等效一个内部穿有内阻的电压源。由于它内部是通过MOS管完成IO端口与VCC,GND的相连,所以内阻实际上是这些MOS管导通内阻。
通过对ATmega8单片机端口的内阻测量,可以看到这些内阻的大小在20欧姆到30欧姆之间。这与它的数据手册上相关的数值基本上是在同一数量级之内。
上文中使用了三种方法测量单片机IO口的内阻,它们的取值基本相似。因此上,在未来实际上应用中,可以根据具体情况来选择相应的测量方式。
■ 相关文献链接:
文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuoqing.blog.csdn.net/article/details/109263176
- 点赞
- 收藏
- 关注作者
评论(0)