Hardware - Mess-Chip ADS1115

Dieser Spannungs-Mess-Chip wird i.d. Regel auf einer Modulplatine geliefert. Er wird PARALLEL zur Spannungsquelle / zum Verbraucher angeschlossen und übermittelt seine Daten über die I2C-Schnittstelle (digital) an den Computer.

Er kann bis zu 4 Kanäle (Messkreise) bedienen...und bei entsprechender Ansteuerung auch Differenzspannungen zwischen den Kreisen ermitteln...

Die Platine hat folgende Anschlüsse:

VDD und GNDhiermit wird der Sensor mit Strom versorgt, aufgrund des geringen Stromverbrauchs könnt ihr ihn direkt von den 3.5V Anschlüssen des ESP aus betreiben, GND muss auch mit dem zu messenden Stromkreis verbunden sein....
SCL und SDAdie Anschlüsse für die I2C-Schnittstelle am Computer, hier gibt der Sensor ein digitales Signal aus, wenn er misst. SCL am ADS1115 wird mit ESP32-GPIO22  und SDA am ADS1115 mit 
ESP32-GPIO21 verbunden..
ADDR???? => Handbuch
A1 bis A4

hier kommen die POSITIVEN Pole eures Stromkreises dran - beachtet nachfolgende Hinweise !!!!

Ihr schaltet den Messchip PARALLEL zum Stromkreis..

ACHTUNG:

  • der Sensor misst NUR positive Spannungs-Signale, negative Spannungen kleiner -0.3 Volt auf diesem Pol zerstören ggf. den Sensor !!! Sichert euch ggf. mit einer Diode ab...
  • die Spannung auf der Mess-Eingangs-Seite darf maximal 0.3 Volt höher als die Versorgungsspannung ( hier 3.5V oder 5V vom ESP) sein, sonst wird der Sensor ebenfalls zerstört.  Ihr müsst für grössere Spannungen also einen Spannungsteiler vorsehen, ggf. auch eine Zener-Diode als zusätzlichen Schutz einbauen.

ZITAT........Hier ein kleines Programm für den ESP32..

(Achtung - der Text [code].....[/code] gehört NICHT zum Programm..)

[code]
/*   ursprünglicher Code aus Wolles Elektronik-Kiste, auch die
 *   Bibliothek ist von Wolle...
 *   
 *   Der ADS1115 wird vom ESP mit Spannung  !!!  3.3 Volt !!!!
 *   versorgt....die Spannung auf der Mess-Eingangs-Seite darf
 *   maximal 0.3 Volt höher und minimal -0.3 Volt sein sonst ist der
 *   ADS1115 Schrott
 *   
 *   SCL am ADS1115 wird mit ESP32-GPIO22  und SDA am ADS1115 mit 
 *   ESP32-GPIO21 verbunden..
 *   
 *   
 */

// Bibliotheken

#include<ADS1115_WE.h>              // für den Sensor
#include<Wire.h>                    // für I2C

// Definitionen

#define ADS1115_I2C_ADDRESS  0x48   // Zugriffsadresse I2C für PIN A am Sensor

ADS1115_WE adc = ADS1115_WE(ADS1115_I2C_ADDRESS);   // Definition als Variable...



// erste Einstellungen

void setup() {
  
 Serial.begin(115200);             // Verbindung zum seriellen Monitor
                                   // der Arduino-Oberfläche - der Wert muss passen)       
  Wire.begin();                    // I2C starten
  setupAdc();                      // den Sensor starten und konfigurieren - als eine seperate Prozedur s.u.

  } // ENDE setup


// Dauerschleife

void loop() {
  
  float voltage = 0.0;              // eine reele Variable  ( mit Komma ) definieren
  
  voltage = adc.getResult_V();      // ihr den Meswert zuweisen
  
  Serial.print("Voltage [V]: ");    // im seriellen Monitor ausgeben...
  Serial.println(voltage);

  delay(1000);  // 1 sek bis zur nächsten Messung warten
  
  }// ENDE loop




// seperate Unterprozeduren...  


void setupAdc(){
  
  if(!adc.init()){
      Serial.print("ADS1115 not connected!");
    }
    adc.setVoltageRange_mV(ADS1115_RANGE_6144);
    adc.setCompareChannels(ADS1115_COMP_0_GND); /// war 0
    adc.setMeasureMode(ADS1115_CONTINUOUS); 

  } // ENDE setupADC
[/code]

ENDE ZITAT

Probiert es doch einfach aus....

zurück zur Startseite