Facebook Twitter Instagram
    En tendencia:
    • Madera: tipos, calidades y aplicación.
    • Tipos de máquinas de llenado que se adaptan a su industria
    • Introducción y factores que influyen en ella
    • Precauciones para el procesamiento por chorro de agua (WJM)
    • Procesos de mecanizado no convencionales: clasificación y características.
    • Procesamiento ultrasónico (USM) – ME Mechanical
    • Tipos de uniones soldadas
    • Herramientas comúnmente utilizadas en fundiciones
    • Cómo la fabricación de herramientas influyó en la evolución humana
    • Alicates, destornilladores, llaves inglesas
    • Precauciones para la soldadura de termita
    • Soldadura por arco sumergido (SAW) – ME Mechanical
    • Notas sobre los tipos de estacas
    • Tiempo de solidificación de las piezas fundidas
    • Sobre el proceso de unión: soldadura, soldadura fuerte
    • Notas sobre las máquinas tragamonedas: piezas y funcionamiento.
    • Herramientas de corte de punto único: nomenclatura y firmas de herramientas
    • Precauciones para proteger el gas
    • Precauciones para la soldadura por arco metálico blindado (SMAW)
    • Proceso de fundición de moldes de carcasa – ME Mechanical
    Facebook YouTube LinkedIn
    Industry SurferIndustry Surfer
    • Blog Industrial
      1. Cadena de suministro
      2. CNC
      3. Construcción
      4. Energías Renovables
      5. Historia
      6. HVAC
      7. Industria 4.0
      8. View All

      Maersk integra las líneas de negocio de Damco en la principal unidad de servicios y logística

      05/12/2022

      Johnson & Johnson ocupa el primer lugar en la cadena de suministro de atención médica, dice Gartner

      05/12/2022

      Scan Global Logistics agrega TransGroup a las marcas

      05/12/2022

      Turquía actualiza el plan para construir un canal entre el Mar Negro y el Mediterráneo

      05/12/2022

      Consideraciones de costos en el mecanizado CNC: maximizar la eficiencia

      25/07/2023

      Cómo el mecanizado CNC transformará la industria de dispositivos médicos

      20/07/2023

      Revolucionando la fabricación aeroespacial con el mecanizado CNC

      18/07/2023

      El impacto del mecanizado CNC en la automatización industrial

      13/07/2023

      Vista general de las nervaduras de hormigón armado

      21/07/2023

      Pros y contras de las carreteras de hormigón de cemento: lo que necesita saber

      17/07/2023

      Importancia de la piedra triturada en la construcción de vías férreas

      17/07/2023

      Ventajas y desventajas de la construcción de carreteras WBM

      14/07/2023

      Costos de instalación de paneles solares por pie cuadrado y estado en 2023

      21/11/2022

      La diferencia entre la energía solar y la eólica

      21/11/2022

      Historia y Evolución de la Fábrica

      28/04/2022

      ¿Qué es la industria 4.0?

      18/02/2022

      Segunda revolución industrial

      17/02/2022

      Primera Revolución Industrial

      16/02/2022

      Partes, componentes y funciones de la torre de enfriamiento

      23/11/2022

      ¿Qué es un vaporizador? Tipos, repuestos y servicio

      23/11/2022

      La guía definitiva para el mantenimiento de calderas de vapor

      23/11/2022

      Una guía rápida para la torre de enfriamiento de flujo cruzado

      23/11/2022

      ¿Industria cárnica de EE. UU. con carniceros robot ?

      23/04/2022

      ¿Qué es la industria 4.0?

      18/02/2022

      Madera: tipos, calidades y aplicación.

      26/09/2023

      Tipos de máquinas de llenado que se adaptan a su industria

      25/09/2023

      Introducción y factores que influyen en ella

      25/09/2023

      Precauciones para el procesamiento por chorro de agua (WJM)

      25/09/2023
    • Noticias
      • Aeroespacial
      • Automatización
      • Automotriz
      • Aviación
      • Combustibles Fósiles
      • Médica
      • Metales
      • Energía
      • Electrónica
      • Fabricación Aditiva / 3D
      • Operaciones
      • Quimica
      • Software
      • Trabajo
    • Manuales

      CAT 308 CV Miniexcavadora hidráulica – Manual del propietario

      07/06/2022

      307.5 CAT Miniexcavadora hidráulica – Manual Ficha Informativa

      07/06/2022

      CASE SERIE CXCX75SR Excavadoras Hidráulicas – Manual Especificaciones

      07/06/2022

      Case CX330 TIER III Manual de servicio

      07/06/2022

      665H / 765H / 865H / 965H Bush Hog Excavadora compacta – Manual de usuario

      06/06/2022
    • Cursos GRATIS
    • Calculadoras

      Calculadora de Cargador de Batería

      12/08/2023

      Calculadora de Vida Útil de la Batería

      12/08/2023

      Calculadora de Capacitancia de una Superficie Casi Esférica

      12/08/2023

      Calculadora de Inductancia y Capacitancia a partir de la Reactancia

      12/08/2023

      Calculadora de Capacitancia de una Línea Trifásica Transpuesta Asimétrica

      12/08/2023
    • Idiomas
    Home»Cursos»Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico
    Cursos

    Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico

    10 Mins Read Cursos
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Tabla de contenido

    • resumen
    • Lista de materiales
    • Chip ADS1115
      • Características de ADS1115
      • Configuración de pines ADS1115
      • Diagrama de bloques funcionales ADS1115.
      • Conexión típica ADS1115
    • Módulo ADS1115 o placa de conexión
      • Pines del módulo ADS1115
      • Esquema del módulo ADS1115.
    • Cómo utilizar el módulo ADS1115 en Raspberry Pi Pico
    • Código/Programa Micropython
      • Descripción del código
    • Pruebas y demostraciones
    • Video Tutorial y Guía

    resumen

    Esta guía completa lo guía a través del proceso de integración del módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico, una placa de microcontrolador versátil desarrollada por Raspberry Pi Foundation. La placa de conexión ADS1115 es un convertidor analógico a digital (ADC) de alta resolución que se puede utilizar con microcontroladores como Arduino, ESP8266/32, STM32 y, por supuesto, Raspberry Pi Pico.

    Raspberry Pico Pico con microcontrolador RP2040 tiene un ADC de 12 bits La resolución máxima es 3.3V / 4096 = 0.0008V (800uV). Si bien esto es una mejora con respecto al ADC de 10 bits del Arduino, aún puede quedarse corto para proyectos que requieren lecturas analógicas más precisas. El módulo ADS1115 con resolución ADC de 16 bits se puede incorporar para mejorar significativamente la funcionalidad ADC de Pico. En el ADS1115, el voltaje mínimo medible es 5V / 65536 = 0.000076V (76uV), lo que mejora la precisión del proyecto.

    Las siguientes secciones describen las especificaciones y beneficios del módulo ADS1115, describen los componentes y conexiones necesarios para integrarse con Raspberry Pi Pi y proporcionan código MicroPython de ejemplo para ayudarlo a comenzar con esta poderosa actualización de ADC.


    Lista de materiales

    Para comprender completamente el módulo ADC ADS1115 con Raspberry Pi Pico, se requieren los siguientes componentes:


    Chip ADS1115

    El ADS1115 es un CI de conversión de analógico a digital de precisión, bajo consumo, de 16 bits, compatible con I2C.


    Características de ADS1115

    • Resolución de 16 bits
    • Entrada de un solo extremo de 4 canales o entrada diferencial de 2 canales
    • Yo2Protocolo C interfaz
    • Comparador programable
    • Amplio rango de tensión de alimentación
    • Bajo consumo de corriente
    • Modo de conversión continua
    • Velocidad de datos programable
    • Comparador programable
    • Asentamiento de ciclo único
    • Referencia interna de voltaje de baja deriva
    • Oscilador interno
    • Amplio rango de temperatura de funcionamiento
    • Disponible en paquete X2QFN ultrapequeño

    Configuración de pines ADS1115

    La siguiente figura muestra la configuración del pin del chip ADS1115.

    Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico

    • El pin 1 es el pin ADDR que selecciona la dirección I2C del chip.
    • El pin 2 es un pin de alerta/listo que actúa como una señal de alerta y lista para datos.
    • El pin 3 es el terminal GND.
    • Los pines 4, 5, 6 y 7 son los cuatro pines de entrada ADC. Estos pines se pueden utilizar como cuatro entradas de un solo extremo o dos entradas diferenciales.
    • El pin 8 es un pin de suministro positivo que acepta de 2.0V a 5.5V.
    • Los pines 9 y 10 son los pines de interfaz I2C, SDA y SCL, respectivamente.

    Diagrama de bloques funcionales ADS1115.

    A continuación se muestra un diagrama funcional del chip ADS1115.

    Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico

    En primer lugar, el multiplexor selecciona la señal de entrada. La señal seleccionada se alimenta a un amplificador de ganancia programable (PGA). El PGA se puede programar para amplificar pequeñas señales antes de la conversión.

    La entrada se convierte mediante un convertidor delta-sigma de 16 bits. El convertidor mide la señal de entrada utilizando su propia referencia de voltaje interno y oscilador en chip. Finalmente, el resultado de la conversión entrará en la interfaz I2C. El comparador también notifica a la interfaz externa que el resultado está listo para su obtención.


    Conexión típica ADS1115

    La conexión I2C del principio ADS1115 se muestra en la siguiente figura.

    Conexión típica ADS1115

    El ADS1115 interactúa directamente con los controladores I2C de modo estándar, modo de alta velocidad y modo de alta velocidad. Todos los periféricos I2C del microcontrolador, incluidos los periféricos I2C de solo maestro y de un solo maestro, funcionan con el ADS1115.

    Para obtener más información, consulte Hoja de datos de ADS1115


    Módulo ADS1115 o placa de conexión

    El ADS1115 se suministra con paquetes X2QFN y VSSOP, que no se pueden utilizar para la creación de prototipos. Por lo tanto, para usarlo con una Raspberry Pico Pico u otro microcontrolador, necesita el módulo ADS1115 o la placa de conexión.

    Módulo ADS1115

    Estos módulos están ampliamente disponibles de diferentes fabricantes y son muy económicos. Es fácil de usar para placas de pruebas y fácil de usar en aplicaciones de creación de prototipos y pruebas.


    Pines del módulo ADS1115

    El módulo ADS1115 tiene un total de 10 pines.

    Anclar. No.Nombre del PINDescripción del Pin
    1VDDFuente de alimentación: 2.0V-5.5V
    2Teletipotierra
    3TeletipoEntrada de reloj serie: datos de reloj en SDA (utilizados para la comunicación I2C)
    4TeletipoDatos en serie: Enviar y recibir datos (utilizados para la comunicación I2C)
    5AdolSelección de dirección I2C (esclavo)
    6Alerta/RDYSalida de comparador digital o soporte de conversión
    7AIN0Canal diferencial 1: entrada de canal 1 de un solo extremo o entrada negativa
    8Ain 1Canal diferencial 1: entrada de canal 2 de un solo extremo o entrada negativa
    9Ain 2Canal diferencial 2: entrada de canal 3 de un solo extremo o entrada positiva
    10Ain 3Canal diferencial 2: entrada de canal 4 de un solo extremo o entrada negativa

    Esquema del módulo ADS1115.

    El esquema anterior es una versión de Adafruit en el módulo ADS1115.

    Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico

    Sigue la conexión típica del chip ADS1115. Una resistencia pull-up de 10K ohmios está conectada al I2C y a los pines de alerta. Se instala un condensador de 1uF entre el pin VDD y GND que actúa como un condensador de desacoplamiento.


    Cómo utilizar el módulo ADS1115 en Raspberry Pi Pico

    Conectar el módulo ADS1115 con la Raspberry Pi Pico es sencillo porque ambos dispositivos utilizan el protocolo de comunicación I2C. Este tutorial le guía a través de los pasos para conectar y configurar el ADS1115 a la Raspberry Pi Pico.

    Interfaz del módulo ADC ADS1115 para Raspberry Pi Pico

    1. Conecte el pin VCC del ADS1115 al pin de 3.3V (pin 36) del Raspberry Pi Pico.
    2. Conecte el pin GND del ADS1115 a cualquier pin GND de la Raspberry Pico (por ejemplo, el pin 38).
    3. Conecte el pin SDA en el ADS1115 al pin SDA (GP14, pin 19) en el Raspberry Pi Pico.
    4. Conecte los pines SCL del ADS1115 a los pines SCL (GP15, pin 20) de la Raspberry Pico Pico.

    ADS1115 Frambuesa Pico

    Puede conectar los pines A0, A1, A2 y A3 del ADS1115 a un sensor o dispositivo que lea valores analógicos. En este ejemplo se utiliza un potenciómetro de 10K.


    Código/Programa Micropython

    A continuación, escribamos código MicroPython para leer el valor ADC del ADS1115 conectado a la Raspberry Pi Pico.

    No necesita una biblioteca en su código. Por lo tanto, puede copiar y pegar el siguiente código en el editor de Thonny. Guarde el archivo como main.py.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    importación Youtime

    remitente máquina importación I2C, anclar

    desarrollo = I2C(1, frecuencia=400000, Teletipo=anclar(15), Teletipo=anclar(14))

    dispositivo = desarrollo.escanear()

    para dispositivo Y dispositivo: Impresión(dispositivo)

    dirección = 72

    Def read_config():

    desarrollo.Escribir a(dirección, Matriz de bytes([1]))

    resultado = desarrollo.Leer de(dirección, 2)

    devolución resultado[0] << 8 | resultado[1]

    Def read_value():

    desarrollo.Escribir a(dirección, Matriz de bytes([0]))

    resultado = desarrollo.Leer de(dirección, 2)

    establecimiento = read_config()

    establecimiento &= ~(7 << 12) & ~(7 << 9)

    establecimiento |= (4 << 12) | (1 << 9) | (1 << 15)

    establecimiento = [int(config >> i & 0xff) for i in (8, 0)]

    desarrollo.Escribir a(dirección, Matriz de bytes([1] + establecimiento))

    devolución resultado[0] << 8 | resultado[1]

    Def val_to_voltage(Val, max_val=26100, voltage_ref=3.3):

    devolución Val / max_val * voltage_ref

    Impresión(…bin(read_config()))

    mientras verdadero:

    Val = read_value()

    voltaje = val_to_voltage(Val)

    Impresión(“Valor ADC:”, Val, “Voltaje: {:.3f} V”.formato(voltaje))

    Youtime.dormir(0.5)


    Descripción del código

    importación Youtime

    remitente máquina importación I2C, anclar

    Estas líneas son utime, I2CY Pin Módulo.

    desarrollo = I2C(1, frecuencia=400000, Teletipo=anclar(15), Teletipo=anclar(14))

    Esta línea es dev Cambie la variable a I2C La clase Communicate se utiliza para comunicarse con dispositivos I2C. Se inicializa con los siguientes parámetros: 1 Como número de autobús, 400000 Las frecuencias de comunicación incluyen: Pin(15) Como un pin de la línea del reloj (SCL), Pin(14) como un pin en la línea de datos (SDA).

    dispositivo = desarrollo.escanear()

    para dispositivo Y dispositivo: Impresión(dispositivo)

    Estas líneas son: scan() Métodos I2C Clasifique e imprima las direcciones de todos los dispositivos que responden.

    Esta línea es address Reemplace la variable por la dirección del ADC.

    Def read_config():

    desarrollo.Escribir a(dirección, Matriz de bytes([1]))

    resultado = desarrollo.Leer de(dirección, 2)

    devolución resultado[0] << 8 | resultado[1]

    Esta función se llama bytearray Incluido 1 Al ADC especificado addressEsto establece el ADC en modo de configuración y lo prepara para recibir datos de configuración. el dev.readfrom() El método lee dos bytes de datos de la misma dirección y realiza operaciones bit a bit (<< Y |Este entero representa los valores de configuración del ADC y se devuelve.

    Def read_value():

    desarrollo.Escribir a(dirección, Matriz de bytes([0]))

    resultado = desarrollo.Leer de(dirección, 2)

    establecimiento = read_config()

    establecimiento &= ~(7 << 12) & ~(7 << 9)

    establecimiento |= (4 << 12) | (1 << 9) | (1 << 15)

    establecimiento = [int(config >> i & 0xff) for i in (8, 0)]

    desarrollo.Escribir a(dirección, Matriz de bytes([1] + establecimiento))

    devolución resultado[0] << 8 | resultado[1]

    Esta función se utiliza para leer los datos de voltaje analógico reales. Al principio bytearray Incluido 0 Al ADC especificado addressPonga el ADC en modo de conversión para iniciar el proceso de conversión. A continuación, lee 2 bytes de datos de la misma dirección. dev.readfrom() Cree métodos y combínelos en un único entero de 16 bits. el read_config() Llame a la función para obtener los valores de configuración actuales del ADC y realizar operaciones bit a bit (& Y |) para establecer el modo de conversión en un solo extremo y seleccionar un canal de entrada. Los valores de configuración modificados se muestran en el cuadro bytearray Enviado al ADC usando dev.writeto() Método. A continuación, la función devuelve el valor de voltaje convertido.

    Def val_to_voltage(Val, max_val=26100, voltage_ref=3.3):

    devolución Val / max_val * voltage_ref

    Esta función convierte el valor ADC sin procesar en un valor de voltaje utilizando el valor máximo proporcionado y la referencia de voltaje.

    Impresión(…bin(read_config()))

    Esta línea imprime una representación binaria de los valores de configuración actuales del ADC.

    mientras verdadero:

    Val = read_value()

    voltaje = val_to_voltage(Val)

    Impresión(“Valor ADC:”, Val, “Voltaje: {:.3f}V”.formato(voltaje))

    Youtime.dormir(0.5)

    Este es el bucle principal que lee continuamente el valor ADC usando read_value() Use una función y úsela para convertir a un valor de voltaje val_to_voltage() Función. A continuación, imprima el valor convertido en la consola, utime.sleep() El bucle continúa indefinidamente hasta que el programa se detiene manualmente.


    Pruebas y demostraciones

    Ejecute el código. Si todas las conexiones son correctas, los pines muestran los valores de ADC y voltaje.

    Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico

    El voltaje mínimo observado es 0 V y el valor del ADC es 1-2 o casi 0.

    Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico

    El valor máximo mostrado es de aproximadamente 3.3V, lo que indica que el valor máximo del ADC es 26091.

    Módulo ADC ADS1115 de 16 bits con Raspberry Pi Pico

    Por lo tanto, podemos concluir que el módulo ADC ADS1115 de 16 bits tiene una alta precisión y se puede utilizar para aplicaciones versátiles.

    Según otras pruebas, esteLa precisión típica del dispositivo es del 0,01%, mientras que la precisión máxima es del 0,15%. Esta precisión incluye todas las fuentes de error, incluidas las referencias de voltaje, los errores de ganancia, las compensaciones y el ruido.


    Video Tutorial y Guía

    ADS1115 16-bit A/D Converter: Tutorial detallado usando Arduino, ESP8266 y ESP32

    El mismo módulo ADS1115 también se puede utilizar con otros microcontroladores, incluyendo:

    1. ADS1115 y Arduino
    2. ADS1115 y ESP32
    3. ADS1115 y ESP8266

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

    Entradas relacionadas

    ¿Cómo programo un ESP32 usando Arduino Labs para MicroPython?

    21/07/2023

    Bomba de agua impresa en 3D DIY con motor 775

    14/07/2023

    Cómo depurar proyectos Arduino: una mejor manera de escribir código Arduino

    14/07/2023
    Entradas recientes

    Madera: tipos, calidades y aplicación.

    26/09/2023

    Tipos de máquinas de llenado que se adaptan a su industria

    25/09/2023

    Introducción y factores que influyen en ella

    25/09/2023

    Precauciones para el procesamiento por chorro de agua (WJM)

    25/09/2023
    Noticias industrial
    Electrónica

    El controlador LED elimina el ruido audible PWM

    25/07/2023

    Allegro MicroSystems utiliza el control patentado Preemptive Boost (PEB) para eliminar el ruido audible durante…

    Electrónica

    Fusible PPTC reajustable con variantes de 10 mA, 20 mA y 30 mA

    25/07/2023

    Bel Fuse Circuit Protection ha anunciado una expansión de la serie 0ZCM de fusibles reajustables…

    Electrónica

    BMZ Group y VDE firman una asociación estratégica en tecnología de baterías

    25/07/2023

    BMZ Group y VDE Renewables firman una asociación estratégica para promover una plataforma de red…

    Electrónica

    SmartDV agrega compatibilidad con MIPI I3C 1.1 en toda la cartera de IP

    25/07/2023

    Verificación y diseño de IP, transacciones sintetizables, verificación posterior al silicio, SystemC TLM, ciclo de…

    Facebook YouTube LinkedIn
    © 2023 Hecho con ♥ desde México

    Type above and press Enter to search. Press Esc to cancel.