【雕爷学编程】Arduino动手做(128)---2路I2C电平转换模块

news2024/11/17 8:43:54

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百二十八:IIC I2C电平转换模块 5-3v系统兼容 2路 传感器模块SUNLEPHANT

在这里插入图片描述
知识点:场效应管

Field Effect Transistor缩写(FET)简称场效应管。主要有两种类型:结型场效应管(junction FET—JFET)和金属 - 氧化物半导体场效应管(metal-oxide semiconductor FET,简称MOS-FET)。由多数载流子参与导电,也称为单极型晶体管。它属于电压控制型半导体器件。具有输入电阻高(107~1015Ω)、噪声小、功耗低、动态范围大、易于集成、没有二次击穿现象、安全工作区域宽等优点,现已成为双极型晶体管和功率晶体管的强大竞争者。场效应管(FET)是利用控制输入回路的电场效应来控制输出回路电流的一种半导体器件,并以此命名。由于它仅靠半导体中的多数载流子导电,又称单极型晶体管。

场效应管是电压控制元件,而晶体管是电流控制元件。在只允许从信号源取较少电流的情况下,应选用场效应管;而在信号电压较低,又允许从信号源取较多电流的条件下,应选用晶体管。场效应管是利用多数载流子导电,所以称之为单极型器件,而晶体管是既有多数载流子,也利用少数载流子导电,被称之为双极型器件。有些场效应管的源极和漏极可以互换使用,栅压也可正可负,灵活性比三极管好。场效应管能在很小电流和很低电压的条件下工作,而且它的制造工艺可以很方便地把很多场效应管集成在一块硅片上,因此场效应管在大规模集成电路中得到了广泛的应用。

在这里插入图片描述

场效应管作用

1.场效应管可应用于放大。由于场效应管放大器的输入阻抗很高,因此耦合电容可以容量较小,不必使用电解电容器。

2.场效应管很高的输入阻抗非常适合作阻抗变换。常用于多级放大器的输入级作阻抗变换。

3.场效应管可以用作可变电阻。

4.场效应管可以方便地用作恒流源。

5.场效应管可以用作电子开关。

在这里插入图片描述
模块使用的BSS138LT1贴片MOS场效应管

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一个IIC的5V和3.3V电平转换的经典电路

双向传输原理:

为了方便讲述,定义 3.3V 为 A 端,5.0V 为 B 端。

A端输出低电平时(0V) ,MOS管导通,B端输出是低电平(0V)

A端输出高电平时(3.3V),MOS管截至,B端输出是高电平(5V)

A端输出高阻时(OC) ,MOS管截至,B端输出是高电平(5V)

B端输出低电平时(0V) ,MOS管内的二极管导通,从而使MOS管导通,A端输出是低电平(0V)

B端输出高电平时(5V) ,MOS管截至,A端输出是高电平(3.3V)

B端输出高阻时(OC) ,MOS管截至,A端输出是高电平(3.3V)

优点:

1、适用于低频信号电平转换,价格低廉。

2、导通后,压降比三极管小。

3、正反向双向导通,相当于机械开关。

4、电压型驱动,当然也需要一定的驱动电流,而且有的应用也许比三极管大。

在这里插入图片描述
在这里插入图片描述
IIC I2C双路电平转换模块
由于部分单片机开发板和设备是3.3V工作的,而也有单片机开发板和设备、传感器等是的5.0V工作电源,所以当两者需要通讯时,就出现了工作电压不一致的情况,令用户使用起来不方便。这个模块就是针对这个问题和解决这个问题设计的,其在3.3V和5.0V的不同设备中提供了可行性,起了桥接的作用。

在这里插入图片描述
IIC I2C双路电平转换模块电原理示意图

在这里插入图片描述
IIC I2C双路电平转换模块特点

1、2个通道的高电压逻辑和低电压逻辑双向转换

2、2个通道的高电压逻辑转换成低电压逻辑的单向转换

3、模块兼容面包板,可以直接插在面包板上使用

4、实现串口直接的 5V与3.3V电平通讯。

5、最高稳定通信波特率28800bps。

6、UART、IIC、1-wire和SPI等总线信号3V-5V电平的双向转换。

7、可实现I2C双向总线系统中3.3V与5V电平的双向转换,且不需要方向选择信号,而且还能将掉电的总线部分和剩下的总线系统隔离开来,保护低压器件防止高电压器件的高电压毛刺。

在这里插入图片描述
IIC I2C双路电平转换接线说明与PCB

HV接5V电源

LV接3.3V电源

GND接电源负极,两个电源公地

RXI输入5v TTL,将在RXO输出3.3v TTL

TXI输入输出3.3V TTL ,TXO输入输出5V TTL, TXI与TXO双向互转

在这里插入图片描述
在这里插入图片描述
Arduino实验开源代码

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

 实验一百二十八:双路IIC I2C电平转换模块 5-3v系统兼容

  HV接5V电源

  LV接3.3V电源

  GND接电源负极

  RXO接A0

  RXI手动接5v

*/



void setup()

{

  Serial.begin(9600);

  pinMode(A0, INPUT);

}

void loop()

{

  int val = analogRead(A0);

  Serial.println(val/155);

  delay(300);

}

RXI手动接入5V,RXO转换输出3.3V(未接入时输出0V)

在这里插入图片描述
Arduino实验场景图

在这里插入图片描述
实验开源图形编程(Mind+)

在这里插入图片描述

模块应用范围

1、5V单片机与3.3V单片机串口通信。

2、3.3V串口下载器与5V单片机串口通信。

3、5V单片机与3.3V应用模块串口通信。

模块使用注意事项

1、如果高压区和低压区的电源已经共地,这模块中的GND只需接1根地即可。

2、该转换模块相当于一条直线,每个端口都一一对应,只是两边的电压不一样,从而实现了不同电平之间的通讯。

3、本模块不可以当做稳压器或者变压器的功能进行使用,只可以用于IO口电平之间的小电流的通讯。

主要优点

1、适用于低频信号电平转换,价格低廉。

2、导通后,压降比三极管小。

3、正反向双向导通,相当于机械开关。

4、电压型驱动,当然也需要一定的驱动电流,而且有的应用也许比三极管大。

备注:在I2C电平转换模块的操作中要考虑下面的三种状态——

1、 没有器件下拉总线线路。“低电压”部分的总线线路通过上拉电阻Rp 上拉至3.3V。 MOS-FET 管的门极和源极都是3.3V, 所以它的VGS 低于阀值电压,MOS-FET 管不导通。这就允许“高电压”部分的总线线路通过它的上拉电阻Rp 拉到5V。 此时两部分的总线线路都是高电平,只是电压电平不同。

2、 一个3.3V器件下拉总线线路到低电平。MOS-FET管的源极也变成低电平,而门极是3.3V。VGS上升高于阀值,MOS-FET管开始导通。然后“高电压”部分的总线线路通过导通的MOS-FET管被3.3V器件下拉到低电平。此时,两部分的总线线路都是低电平,而且电压电平相同。

3、 一个5V的器件下拉总线线路到低电平。MOS-FET管的漏极基底二极管“低电压”部分被下拉直到VGS超过阀值,MOS-FET管开始导通。“低电压”部分的总线线路通过导通的MOS-FET管被5V的器件进一步下拉到低电平。此时,两部分的总线线路都是低电平,而且电压电平相同。

这三种状态显示了逻辑电平在总线系统的两个方向上传输,与驱动的部分无关。状态1执行了电平转换功能。状态2和3按照I2C总线规范的要求在两部分的总线线路之间实现“线与”的功能。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/689588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VR虚拟现实技术为机械专业教学带来新思路

随着虚拟现实技术的发展,VR已经成为机械专业教学的一种新方式。它可以为学生提供更加生动、直观的学习体验,同时也可以帮助教师更好地进行教学和评估。以下是广州华锐互动总结的一些常见的应用场景: 模拟实验和操作:VR可以为学生提…

(UE4/5) PS中生成LUT进行UE4/5的色域颜色校正

整理自官方:使用虚幻引擎查找表(LUT)进行颜色校正 | 虚幻引擎5.2文档 (unrealengine.com) 一、Unreal Engine中截图 在UE4/5中截一张场景图(比较有代表性的) 然后,用这张图片:(不要…

Qt使用事件(event)与定时器实现字幕滚动

目录 1、效果展示2、实现思路3、滚动窗口部件3.1、成员变量3.2、事件重写3.3、成员方法3.3、方法实现 1、效果展示 我们经常能够在外面看到那种滚动字幕,那么就拿qt来做一个吧。 2、实现思路 实现一个窗口部件,这个窗口部件显示了一串文本标语,它会每…

H3C-HCL-SE-“01-路由备份与链路聚合实验“

实验拓扑图: 实验需求: 1、按照图示配置 IP 地址,R3 上连接 192.168.X.X/24 4个业务网段 2、配置 RIPv2 协议使全网互通,R1 和 R3 的直连链路不运行 RIP 3、R1 上配置静态路由直接经过 R3 到达所有业务网段 4、R1 和 R2 上不允…

第八十五天学习记录:C++核心:内存分区模型

内存分区模型 C程序在执行时,将内存大方向划分为4个区域 1、代码区:存放函数体的二进制代码,由操作系统进行管理 2、全局区:存放全局变量和静态变量以及常量 3、栈区:由编译器自动分配释放,存放函数的参数…

【雕爷学编程】Arduino动手做(129)---TTS文字转语音合成模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

python爬虫_requests入门指引

文章目录 ⭐前言⭐requests库💖 pip安装requests💖 requests get💖 requests post 结束 ⭐前言 大家好,我是yma16,本文分享关于python的requests库用法。 该系列文章: python爬虫_基本数据类型 python爬虫…

Edge浏览器可以多开吗?

问答链接:Edge浏览器可以多开吗? 可以。 如果你的edge浏览器是默认路径安装的,那么打开命令提示符窗口输入以下两条命令即可启动一个数据完全隔离的edge浏览器。 mkdir C:\logs001 "C:\Program Files (x86)\Microsoft\Edge\Applicati…

shell [[]] 语法错误解决方式

错误如图: /linux/install.sh:行15: if [[ $contrainsha e *$contrainsname* ]] /linux/install.sh:行15: 条件表达式中有语法错误 附近有语法错误/linux/install.sh:行15: ]] [[]]语法 当[[ ]]判断expr成立时,退出状态为0,否则为非0值。…

STM32F103使用USART3/UART4乱码问题

源程序为USART1的配置,更改USART3/4相应寄存器测试,测试一直显示有规律乱码,收发不符。 void uart_init(u32 pclk,u32 bound) { float temp;u16 mantissa;u16 fraction; temp(float)(pclk*1000000)/(bound*16);//得到USARTDIVmantissa…

labview 公式节点转换(U16->S16)

问题:在和测力计通讯时,需要把读出的裸数据转化有符号整数 其它网友的文章可以进行转换 (笔记)labview各种进制转换(通讯得到的负数补码转换成负数原码)_labview数字间的进制转换_是孑然呀的博客-CSDN博客…

chatgpt赋能python:用Python计算AIC:一种常用的信息标准

用Python计算AIC:一种常用的信息标准 介绍 AIC(赤池信息准则)是一种用于模型选择的信息理论标准,旨在平衡模型复杂度和拟合准确度的权衡。在统计学和机器学习中,模型选择是一项关键任务,因为正确选择模型…

QT使用问题记录

VS中无法直接打开QT的Ui界面 需要确保安装上这个VS的QT扩展插件 还需要把QT的path添加到VS里面 这是添加好的 运行编译好的QT软件报 应用程序无法正常启动(0xc000007b),需要把QT的路径添加到系统环境变量的path中哦 加上这个就可以了

【python 第三方库安装换源】

换源: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/其他国内第三方库的下载源地址: 阿里云:http://mirrors.aliyun.com/pypi/simple/ 科技大学:https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣&a…

4.用python写网络爬虫,并发下载

目录 前言 4.1 100万个网页 4.1.1 解析Alexa列表 4.2 串行爬虫 4.3 多 线程爬虫 4.3.1 线程和进程如何工作 4.3.2 实现 4.3.3 多进程爬虫 4.4性能 4.5 本章小结 前言 在之前的章节中,我们的爬虫都是串行下载网页的,只有前一次下载完成之后才会…

【Nginx】第一章 Nginx简介

内容概览 1、nginx简介 (1)介绍nginx的应用场景和具体可以做什么事情 (2)介绍什么是反向代理 (3)介绍什么是负载均衡 (4)介绍什么是动静分离 2、nginx安装 3、nginx常用的命…

GDPU C语言 番外篇

1. 冒泡排序 &#x1f351; 冒泡排序详解 &#x1f351; 测试地址 #include<stdio.h>int main() {int n;int a[1010];scanf("%d", &n);int i,j;for(i 0; i < n; i)scanf("%d", &a[i]);//冒泡排序for(i 0; i < n-1; i)//最多需要进…

文件系统考古 3:1994 - The SGI XFS Filesystem

在 1994 年&#xff0c;论文《XFS 文件系统的可扩展性》发表了。自 1984 年以来&#xff0c;计算机的发展速度变得更快&#xff0c;存储容量也增加了。值得注意的是&#xff0c;在这个时期出现了更多配备多个 CPU 的计算机&#xff0c;并且存储容量已经达到了 TB 级别。对于这些…

7.NVIC中断优先级管理

1.NVIC中断优先级分组&#xff1a; 分组就是确定系统初始化中断分组之后&#xff0c;确定系统是哪一个分组&#xff0c;从而确定好每一个中断到底有几位抢占优先级和响应优先级&#xff1b;CM3内核支持256个中断&#xff0c;其中包含了16个内核中断和240个外部中断&#xff0c…

@Validated 和 @Valid校验提示信息的双语化以及动态参数添加

对于国际性应用来说&#xff0c;提示信息的双语化是必须的&#xff0c;那么Validated 和 Valid校验提示信息怎么来进行双语化呢&#xff0c;下面我们一起学习一下。 Validated 和 Valid校验提示信息的双语化 SpringBoot项目双语化配置 因为这里是基于SpringBoot项目学习的&a…