16-Bit-ADC an Elektor-Linux-Board(Gnublin)

Re: 16-Bit-ADC an Elektor-Linux-Board(Gnublin)

Postby ag » Sun Nov 30, 2014 5:05 pm

Hallo RoKo66,

heute habe ich mein 2. Platine fertig gestellt. Diesmal habe ich mehr Gluck mit dem Lötarbeit gehabt: alle 4 Kanäle funktionieren und die I2C Rückgabewerte stimmen perfekt mit den DVM Messwerte überein :D

Ich habe die Schaltung in LTspiceIV simuliert und festgestellt, das es normal ist, 0,51 Volt an AIN0 vorzufinden, wenn nichts angeschlossen ist. :)

Den ADS1115 werde ich am 1. Platine rausknipsen und versuchen mit eine neue zu ersetzten. ;)

Leider ist die von Elektor angekündigte 140169-91 ADS1115 Module noch immer nicht im Elektor Shop zu finden :(

Gruß,
Ag
ag
 
Posts: 529
Joined: Thu Jan 02, 2014 10:37 am

Re: 16-Bit-ADC an Elektor-Linux-Board(Gnublin)

Postby ag » Sat Dec 06, 2014 6:30 pm

Ein kurzes Update:

heute habe ich die defekte ADS1115 in meinem ersten Platine erfolgreich ausgetauscht. Nun funktionieren biede einwandfrei. Als nächstes werde ich eine Current Transformer an eine Platine anschließen und versuchen das Programm zunächst so zu erweitern, um damit die Kilowattstunden zu messen, die von meine PV Anlage erzeugt wird.
Ag
ag
 
Posts: 529
Joined: Thu Jan 02, 2014 10:37 am

Re: 16-Bit-ADC an Elektor-Linux-Board(Gnublin)

Postby ag » Tue Dec 16, 2014 1:52 pm

Da ich sehe, eine Menge Leser scheinen das Thema zu interessieren, werde ich hier meine Erfahrungen damit weiter berichten ;)

Als ich den Artikeltext zur Verwendung der 1,022 V Offset las, habe ich nicht sehr auf den Schaltplan geachtet. Intuitiv habe ich erwartet, dass mit JP1 eingestellt auf IC2, ein Positive Spannung auf K1 AIN0 zu eine Erhöhung der Spannung an Pin 4 von ADS1115 führen wurde. Beim testen stellt ich fest, dass es genau umgekehrt verhält. Da ich nicht wollte schon wieder eine defekte ADS1115 austauschen zu müssen, wollte ich vorsichtig vorgehen und wagte es zunächst nicht, eine negative Spannung an K1 AIN0 zu legen. Beim simulieren der Schaltung stellte ich aber fest, dass das Verhalten völlig richtig ist. Im nachhinein war es ja auch völlig klar, denn eine an K1 AIN0 gelegte Spannung führt zu der invertierende Eingang vom IC2 :oops: Da hätte ich das Verhalten gleich vorhersehen müssen.

Soll nur ein Tipp sein, damit andere nicht den gleichen Denkfehler machen wie ich.

Viele Grüße,
Ag
ag
 
Posts: 529
Joined: Thu Jan 02, 2014 10:37 am

Re: 16-Bit-ADC an Elektor-Linux-Board(Gnublin)

Postby ag » Sun Dec 21, 2014 1:56 pm

Noch ein kleiner Tipp (für alle die es noch nicht selbst herausgefunden haben ;) ): auch im MODE_CONTINUOUS muss einmal ein ADS1x1x_start_conversion erfolgen!

Ich möchte die Ausgabe meine Wechselrichter mit dem ADS1115 mindestens 10 mal pro Sinuswelle abtasten, und habe deshalb die Daterate auf 860 SPS eingestellt. Beim testen habe ich festgestellt, dass diese Datenrate in MODE_SINGLE_SHOT nicht erreichbar ist, wohl wegen der jedesmal eingelegte "power-down" Modus, die bei jeder Messung wieder aufgeweckt werden muss. Jedenfalls war ich gezwungen auf MODE_CONTINUOUS umzusteigen, um die benötigte Abtastrate zu erreichen. Beim ersten Versuch klappte das aber gar nicht, denn ich bin dummerweise davon ausgegangen, dass ich beim MODE_CONTINUOUS mir die ADS1x1x_start_conversion vor jeder ADS1x1x_read sparen könnte/müsste, denn im MODE_CONTINUOUS wird ja pausenlos konvertiert. Ja, aber 1 mal starten muss mann schon! Nach eltiche Fehlversuche am falschen Platz ist mir das gedämmert :oops: Dann habe ich das ADS1x1x_start_conversion ins Setup verlagert, und nun kann ich problemlos über 15 Abtastungen pro Sinuswelle durchführen :D
Ag
ag
 
Posts: 529
Joined: Thu Jan 02, 2014 10:37 am

Previous

Return to Elektor-Mikrocontroller-Forum

Who is online

Users browsing this forum: bing [bot] and 1 guest