• 【雕爷学编程】Arduino动手做(89)---8位双向电平转换模块


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

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

    实验八十九: 8位 5V-3V IIC UART SPI TTL双向电平转换模块

    电平转换器

    是一个电压转换装置,电平转换分为单向转换和双向转换,还有单电源和双电源转换,双电源转换采用双轨方案具有满足各方面性能的要求。在新一代电子电路设计中, 随着低电压逻辑的引入,系统内部常常出现输入/ 输出逻辑不协调的问题, 从而提高了系统设计的复杂性。例如, 当1. 8V的数字电路与工作在3. 3V 的模拟电路进行通信时,需要首先解决两种电平的转换问题,这时就需要电平转换器。随着不同工作电压的数字IC 的不断涌现,逻辑电平转换的必要性更加突出, 电平转换方式也将随逻辑电压、数据总线的形式(例如4 线SPI、32 位并行数据总线等) 以及数据传输速率的不同而改变。现在虽然许多逻辑芯片都能实现较高的逻辑电平至较低逻辑电平的转换(如将5V 电平转换至3V 电平) ,但极少有逻辑电路芯片能够将较低的逻辑电平转换成较高的逻辑电平(如将3V逻辑转换至5V逻辑) 。另外,电平转换器虽然也可以用晶体管甚至电阻———二极管的组合来实现, 但因受寄生电容的影响,这些方法大大限制了数据的传输速率。尽管宽字节的电平转换器已经商用化, 但这些产品不是针对数据速率低于20Mbps 的串行总线(SPITM、I2CTM、USB 等) 优化的, 这些器件具有较大的封装尺寸、较多的引脚数和I/ O 方向控制引脚,因而不适合小型串行或外设接口和更高速率的总线(如以太网、LVDS、SCSI等) 。

    逻辑电平

    所谓电平,是指两功率或电压之比的对数,有时也可用来表示两电流之比的对数。电平的单位分贝用dB表示。常用的电平有功率电平和电压电平两类,它们各自又可分为绝对电平和相对电平两种。逻辑电平是指一种可以产生信号的状态,通常由信号与地线之间的电位差来体现。逻辑电平的浮动范围由逻辑家族中不同器件的特性所决定。

    关于逻辑高低电平

    1) 5V CMOS、 HC、 AHC、 AC中, 输入大于3.5V算高电平 | | 输入小于1.5V算低电平;

    2) 5V TTL 、ABT 、AHCT、 HCT、 ACT中 , 输入大于2V算高电平 | | 输入小于0.8V算低电平;

    3) 3.3V LVTTL 、LVT、 LVC 、ALVC、LV 、ALVT中 ,输入大于2V算高电平 | | 输入小于0.8V算低电平;

    4) 2.5V CMOS、 ALVC 、LV 、ALVT中 , 输入大于1.7V算高电平 | | 输入小于0.7V算低电平。

    场效应管

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

    场效应管干什么用的

    工作原理:场效应管工作原理用一句话说,就是“漏极-源极间流经沟道的ID,用以栅极与沟道间的pn结形成的反偏的栅极电压控制ID”。更正确地说,ID流经通路的宽度,即沟道截面积,它是由pn结反偏的变化,产生耗尽层扩展变化控制的缘故。在VGS=0的非饱和区域,表示的过渡层的扩展因为不很大,根据漏极-源极间所加VDS的电场,源极区域的某些电子被漏极拉去,即从漏极向源极有电流ID流动。从门极向漏极扩展的过度层将沟道的一部分构成堵塞型,ID饱和。将这种状态称为夹断。这意味着过渡层将沟道的一部分阻挡,并不是电流被切断。在过渡层由于没有电子、空穴的自由移动,在理想状态下几乎具有绝缘特性,通常电流也难流动。但是此时漏极-源极间的电场,实际上是两个过渡层接触漏极与门极下部附近,由于漂移电场拉去的高速电子通过过渡层。因漂移电场的强度几乎不变产生ID的饱和现象。其次,VGS向负的方向变化,让VGS=VGS(off),此时过渡层大致成为覆盖全区域的状态。而且VDS的电场大部分加到过渡层上,将电子拉向漂移方向的电场,只有靠近源极的很短部分,这更使电流不能流通。

    作用:

    1.场效应管可应用于放大。

    2.场效应管很高的输入阻抗非常适合作阻抗变换。

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

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

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

    八MOS管电平 实现八路3V和5V电平的双向转换模块

    如果你曾经试图将3.3V设备连接到5V系统,你知道什么是一个挑战。双向逻辑电平转换器是一种小型器件,可以将5V信号安全地降低到3.3V,同时将3.3V升压到5V。此电平转换器也适用于2.8V和1.8V器件。这个逻辑电平转换器与我们之前的版本真正的区别在于,您可以成功地设置高低电压,并在同一通道上安全地升降它们。每个电平转换器具有将高侧上的4个引脚转换为低侧上的4个引脚的能力,其中为每侧提供两个输入和两个输出。

    电平转换器非常容易使用。电路板需要由系统使用的两个电压源(高电压和低电压)供电。高电压(例如5V)到“HV”引脚,低电压(例如3.3V)到“LV”,接地从系统到“GND”引脚

      兼容5-3V系统

      VIN连接5V系统电源

      5A连接5V系统

      5B连接5V系统

      GND连接5V系统GND

      3V3连接3V系统电源

      3A连接3V系统

      3B连接3V系统

      GND连接3V系统GND

      尺寸:28×19mm / 1.1×0.74英寸

    双向传输原理:
    为了方便讲述,定义 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、电压型驱动,当然也需要一定的驱动电流,而且有的应用也许比三极管大。

    使用逻辑电平转换器将Arduino连接到模块的示意图
    在这个简单的图中,是把Arduino Uno连接到ESP8266 WIFI模块。在不确定所采用的模块输入输出脚所支持的电平时,采用电平转换模块也许是相对安全的选择。下图中,没有直接将ESP8266的TX和RX线连接到Arduino的GPIO引脚上,而是将它们与逻辑电平转换器连接起来:通过逻辑电平转换器连接ESP8266到Arduino uno,逻辑电平转换器是一个很小但非常有用的设备。它有助于连接使用不同电压等级的逻辑信号的设备。

    【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    实验八十九:1 x 8通道IIC I2C逻辑电平转换器模块
    项目:5V电平转换为3.3V电平,实验失败了,没整明白哦
    实验开源代码

    /*
    
    【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    
      实验八十九:1 x 8通道IIC I2C逻辑电平转换器模块
    
     项目:5V电平转换为3.3V电平,实验失败了,没整明白哦
    
    */
    
    void setup()
    
    {
    
      Serial.begin(9600);
    
      pinMode(A0,INPUT);
    
      pinMode(13,OUTPUT);
    
    }
    
    void loop()
    
    {
    
        digitalWrite(13, HIGH);
    
        delay(200);
    
        digitalWrite(13, LOW);
    
        delay(200);
    
        int val;
    
        float temp;
    
        val=analogRead(A0);
    
        temp=val/40.92;  
    
        val=(int)temp;
    
        Serial.println(val);
    
        delay(200);
    
    }
    

      实验串口返回情况

    实验场景图 

  • 相关阅读:
    Unity 小笔记
    UE4 Pure函数的特点
    C++ const总结
    配色问题lingo实现
    选址问题lingo求解
    迷宫问题python实现(靠右手摸墙)
    环形队列C++实现
    排队论的C实现
    递归实现全排列序列C语言实现
    双人贪吃蛇小游戏C++原创
  • 原文地址:https://www.cnblogs.com/eagler8/p/15175701.html
Copyright © 2020-2023  润新知