0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ATMEGA8单片机IO口的输入输出内阻的测量方法

h1654155282.3538 来源:与非网 作者:与非网 2020-10-26 15:34 次阅读

1背景

电子小帮手电路中电源开关电路分析中介绍测量模块电路实验原理的时候,对于ATmega系列的单片机的输出端口进行了内部描述。特别是对于端口做为IO输出口的时候,它可以等效为通过电阻19Ω和22Ω分别上拉到VCC,或者下拉的GND。

ATMEGA单片机IO口等效电路

那么就会出现一个新的问题,对于ATmega单片机,这个IO口的内阻究竟有多大呢?

通过实验来确定单片机输出IO口的实际电阻阻值,这为将来使用单片机进行测量工作提供数据基础。

利用在ATMEGA8DIP-28面包板实验中可以下载程序的实验方式,对于ATmega8单片机搭建在面包板上的测试芯片。通过实验来测量对应的IO端口在作为输出端时相对于GND,VCC的电阻阻抗。

2测量方案

1.测量端口电阻

测量电阻阻抗的方式可以通过以下三种方式来进行:

通过V-A方法检测,也就是通过测量IO口输入、输出电流一项相对应的IO口电压的变化,来获得端口的等效串联电阻。使用万用表直接测量;使用手持LCR表来测。

2.测量过程

通过软件编程,使得单片机的PB4,PB3,PB2,PB1分别处于输出高电平,和输出低电平的情况,然后按照上面三种方法来测量对于端口的内部等效阻抗。

ATMEGA8DIP-28封装

3测量数据

1.使用V-A方法测量IO内阻

(1)IO低电平内阻

测量电路图示意图

使用在低价电阻箱-阻值测试中的9999Ω电阻箱,分别改变IO端口的输出负载,记录不同电阻下输出端口的电压,进而可以进行获得内部电阻。

低价电阻箱-阻值测试:

https://zhuoqing.blog.csdn.net/article/details/17112157

Current(mA)3.6891.951.3761.787.8895.7549.6557.5795.5191

Voltage(V).86651.55485.41959.34435.29279.25946.23526.21161.19959

端口电流与电压

通过线性拟合,可以建立输入电流(i,单位mA)与端口电压之间的线性关系。

通过上述线性方程,可以得到端口的输入电阻为:

(2)IO高电平内阻

测量不同输出电流下输出电压的变化。

Current(mA)3.661.89771.37391.77.888.7535.6545.5784.5182

Voltage(V).77972.541.3825.3165.26657.2349.2116.19415.1824

端口电压与电流

对上述电压电流线性拟合:

由此可以得到单片机高电平下输出内阻大约为:

通过实际测量,可以看到ATmega的IO口在输出状态下,内阻分别是26.15Ω(低电平)以及23.56Ω(高电平)。

2.使用万用表测量IO内阻

使用DM368数字万用表,直接测量ATmega的输出低电平的IO对GND之间的电阻:

测量ATmega8输出高电平的IO对VCC(+5V)之间的直流电阻:

注意:由于存在输出静态电压,不能够测量输出高电平的IO对GND之间的电阻,或者输出低电平IO对VCC之间的电阻。

3.使用LCR表测量IO内阻

为了避免单片机端口的静态电压对于LCR表的测量影响,使用1uF的电解电容进行隔直之后,然后在使用SmartTweezers进行测量相应端口的内阻。

使用隔直电容之后测量端口的内阻

低电平IO内阻:

高电平IO内阻:

结论

单片机的IO如果作为输出端口,它可以等效一个内部穿有内阻的电压源。由于它内部是通过MOS管完成IO端口与VCC,GND的相连,所以内阻实际上是这些MOS管导通内阻。

通过对ATmega8单片机端口的内阻测量,可以看到这些内阻的大小在2欧姆到3欧姆之间。这与它的数据手册上相关的数值基本上是在同一数量级之内。

上文中使用了三种方法测量单片机IO口的内阻,它们的取值基本相似。因此上,在未来实际上应用中,可以根据具体情况来选择相应的测量方式。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ATmega8
    +关注

    关注

    4

    文章

    106

    浏览量

    49743
  • IO口
    +关注

    关注

    3

    文章

    164

    浏览量

    23756
收藏 人收藏

    评论

    相关推荐

    DS18B20与ATmega8单片机接口的C语言实现方法

    介绍了单总线测温器件DS18B20及其与ATmega8 单片机共同组成单总线测温系统的接口方法,并给出了其核心的μS级软件延时的C语言源程序和对DS18B20进行操作的程序框图,以及利用C语言实现接口软件的
    发表于 03-03 13:55

    基于ATMEGA8及MSM7512的嵌入式MODEM设计

    介绍了一种基于AVR单片机ATMEGA8和调制解调芯片MSM7512设计的嵌入式MODEM,详细地阐述了该MODEM的硬件及软件设计方法。在设计中,鉴于单片机串口资源匮乏的问题,采用
    发表于 03-07 12:38

    AVR高档性能低档价格的单片机ATmega8的开发与应用

    `ATmega8属于美国ATMEL公司AVR高档单片机成员之一,它具有AVR高档单片机的性能,且具有低档单片机的价格,深受广大单片机用户的喜
    发表于 03-09 12:31

    atmega8 单片机

    求一个atmega8单片机的无刷直流电机调速控制系统,原理图。求大神帮忙啊
    发表于 04-21 12:34

    Atmega8单片机温度采集与控制的C程序实例

    Atmega8单片机温度采集与控制的C程序实例
    发表于 08-05 11:44

    求基于ATmega8单片机的程序

    基于ATmega8单片机的火灾报警系统,在红外传感器的检测下,如果检测到火焰,就发生声音报警,求设计程序,这是流程图
    发表于 03-06 17:56

    请问atmega8单片机怎样产生us的延时?

    atmega8等时钟频率比较低的单片机怎样产生us的延时?
    发表于 03-27 00:58

    ATmega8单片机 全部功能特性介绍

    ATmega8单片机 全部功能特性介绍
    发表于 04-23 11:40

    如何去编写一种基于Atmega8单片机的串口收发程序?

    如何去编写一种基于Atmega8单片机的串口收发程序?有大神遇到过这个问题吗
    发表于 07-08 06:06

    为什么希望使用Arduino IDE对ATMEGA8进行编程?

    为什么希望使用Arduino IDE对ATMEGA8进行编程?如何利用Arduino IDE对ATMEGA8单片机进行编程?
    发表于 07-27 09:11

    小白求助,求大佬分享一个基于Atmega8单片机的串口收发程序

    小白求助,求大佬分享一个基于Atmega8单片机的串口收发程序
    发表于 11-02 07:21

    单片机基本输入输出(GPIO)实验

    AVR单片机实验一 单片机基本输入输出(GPIO)实验1实验目的掌握ICCAVR 集成开发环境的使用;了解ATmega16单片机管脚的
    发表于 11-23 07:17

    如何测量ATMEGA8单片机IO口的输入输出内阻

    ➤ 01背景 在电子小帮手电路中电源开关电路分析中介绍测量模块电路实验原理的时候,对于ATmega系列的单片机输出端口进行了内部描述。特别是对于端口做为
    的头像 发表于 11-14 10:05 2076次阅读
    如何<b class='flag-5'>测量</b><b class='flag-5'>ATMEGA8</b><b class='flag-5'>单片机</b><b class='flag-5'>IO</b>口的<b class='flag-5'>输入输出</b><b class='flag-5'>内阻</b>

    单片机IO输入输出模式判断

    要判断单片机IO输入输出模式,是要判断单片机IO口电平由谁决定的,看是由单片机决定还是外电路
    发表于 11-17 10:21 16次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>IO</b>口<b class='flag-5'>输入输出</b>模式判断

    基于ATmega8单片机IO口基本输出Proteus仿真源程序

    基于ATmega8单片机IO口基本输出Proteus仿真源程序
    发表于 05-05 09:37 0次下载