INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
+/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
23.07.2020, 15:52 (Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2020 22:34 von Bitklopfer.)
Beitrag #1
+/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
Hi,

kürzlich hatte ich das Problem, daß ich den gerade programmierten Sleep-Modus eines HC-12 testen, und den Stromverbrauch messen wollte.
So ein HC-12 nimmt sich bei dem Modi mit der besten Reichweite ca. 100mA beim Senden, 16mA Ruhestrom, und im Sleep-Modus 22µA, laut
Datenblatt.
Das Messgerät was ich hier habe ist zwar nicht das aktuellste, will aber in der Preisklasse 150-200€ mitspielen, gibt es wohl auch noch zu
kaufen. Abgesehen von anderen Unzulänglichkeiten, werden im Strommessbereich 10A über 100mOhm, 400mA über 5Ohm, und im 400µA-
Bereich über einen 500 Ohm Shunt gemessen. Das steht natürlich in keinem Datenblatt, sondern ist über eine Verhältnisgleichung errechnet
worden.
Wo ist das Problem?
Misst man bei einer Betriebsspannung von 3,3V als Beispiel 100mA, dann kommen nach dem 5Ohm Shunt des Messgerätes noch 2,8V an der
Schaltung an. Noch schlimmer im µA-Messbereich, wo man vor dem Sleep-Modus eines Moduls erstmal durch den Ruhestrom-Modus muss.
Die Kurzfassung ist, ein direktes messen des Sleep-Stromes scheiterte, da der 400mA-Messbereich die erwarteten 22µA nicht mehr anzeigte,
und der µA-Messbereich das Modul gar nicht erst starten ließ, da der Shunt mit 500 Ohm zu groß ist. Ging also nur über Umwege.

Ein neues Mess-Dingens muss her, nach selbstgebauten R-L-C-Mess-Dingern also ein (DC) Ampere-Meter-Dings.
Ich mag die Dinger nicht Gerät nennen, dafür bräuchten die ein Gehäuse, und müssten universeller einsetzbar sein ...
Da ich dafür keine neue Bestellung aufgeben wollte, einfach mal geschaut, was sich so die letzten 3 Jahre bei mir angesammlt hat, und es sollte
auf Lochraster. Der ADC würde also ein MCP3421 (18Bit, I²C) werden und davor einen einfachen Level-Converter mit einem MCP6V31U (Auto-
Zero, Vos max. 8µV), gemessen über einen 100mOhm-Shunt. Noch ein TL431 für Ub/2, ein wenig SMD-Hühnerfutter, zum Teil in 0,1%
Genauigkeit, 2 Taster, ein SSD1306-OLED, alles auf eine 5x7cm Lochraster ...
Nach ein wenig rumrechnen in Excel habe ich mich auf den Messbereich plus/minus 200mA festgelegt, den brauche ich am meisten, dafür ohne
jede Messbereichsumschaltung. Darunter leidet zwar die Genauigkeit im µA-Bereich, aber es wird einfach, einfach ...
An ein paar Tagen die Leiterplatte (Lochraster) geplant, 2 Tage gelötet, 2 Tage am Sketch rumgespielt, wie ich gerade Lust hatte, geht ;-)
Der OPV MCP6V31U ist als Level-Shifter mit 102x Verstärkung geschaltet, und hat in Ruhelage 2,5V am Ausgang. Dieser gibt im Beispiel
+200mA Strom, 2,040 Volt mehr als in Ruhelage aus, die der MCP3421 digitalisiert. Dabei stehen über dem 100mOhm-Messshunt 20mV
Spannung. Das LSB hat eine Auflösung von ~ 1,5µA (200mA/131072). Der MCP3421 hat wie andere ADC auch einen PGA mit 1,2,4,8x
Verstärkung, so daß 0,256V am ADC noch einen Vollausschlag mit 18Bit ergeben. Bei mir ergibt sich eine nutzbare Auflösung von ca.
plus/minus 1µA, die erhofften 0,19µA erreiche ich auf Grund des einfachen Designs nicht.

Zur Genauigkeit: Ich hatte weniger erwartet, wenngleich mehr erhofft, bin aber sehr zufrieden.
Der Shunt hat nur eine Genauigkeit von 1%, nach einem Abgleich mit einem 0,1%-Messgerät kann ich also allerhöchstens diese 0,1%-
Genauigkeit erreichen. Diese wird nach (einfachen) Testmessungen via 0,1%-Messwiderständen an einem Akku bis etwa 1-2mA gehalten.
Bis etwa 150µA liegt die Genauigkeit besser 1% (sinkend ab 1-2mA). Darunter sind es nur noch Schätzwerte. Aber selbst 10µA plus/minus 15%
sind für mich eine ausreichende Aussage für so ein primitives Gerät. Der Umschlag in den negativen Messbereich hat etwa 1-2µA Versatz.
Der OPV MCP6V31U ist zwar ein Auto-Zero, also mit sehr geringem Offset, und er ist auch innerhalb der Spezifikation unterwegs, bastelt aber
trotzdem eine Offsetspannung für den ADC von ~ 0,77mV, den man softwareseitig kalibrieren muss. Der TL431, der die benötigten Ub/2 für die
Schaltung bastelt ist zwar temperaturabhängig, aber weit weniger als befürchtet! Vor dem messen die Taste für Kalibrieren drücken, kurz warten,
und man hat wieder eine ganze Weile (unter Büro-Bedingungen) Ruhe, bis der 0-Punkt um 2-3 µA wegwandert, wobei hier auch der OPV mit
50nV/C (x102!) beteiligt ist.
Die gesamte Schaltung habe ich ohne Schaltplan, nur mit dem Blick in Datenblätter zusammengeschustert, der Level-Converter ist erst
nachträglich zum Schaltplan geworden, ohne direkten Bezug zum Layout (Bezeichnungen). Im Layout ist alles bis auf die I²C-Verkabelung, das
Display, sowie die Taster eingezeichnet. Das sind die einzigen freifliegenden Drähte. An den 4 Ecken sind 5mm Abstandshalter angeklebt, damit
steht die Leiterplatte kippelfrei. Außer dem NANO und dem OLED ist alles gelötet.

Dieses Mess-Dingens betrachte ich als eine funktionierende Schaltung im Alpha-Status, mit der ich testen wollte, wie weit ich mit einfachen
Mitteln komme, und wenn sie funktioniert auch verwenden kann. Ein paar Änderungen habe ich bereits im Hinterkopf, so daß vermutlich eine
weitere, genauere Schaltung mit anderem OPV, anderer Signalfilterung, aber gleichem ADC entstehen wird. Sollte trotzdem jemand diese
Schaltung nachbauen wollen, reiche ich fehlende Informationen gern nach.

Und noch eine kurze Gegenüberstellung zu meinem oben erwähntem Messgerät:

____________________________Mess-Dingens___________Messgerät 200€

Spannung am Shunt @ 200 mA___20 mV_________________1000mV
Spannung am Shunt @ 400 µA___0,04 mV________________200mV
Genauigkeit__________________~ 0,1% (200mA-2mA)_____1% (400mA-Bereich)
Genauigkeit__________________~ 1% (2mA-150µA)_______0,7% (40mA & 400µA-Bereich)

Für mich war die geringe Spannung über dem Shunt wichtig, da es damit mein Messgerät eigenständig ergänzen kann.
Nur einen Vorschalt-Adapter für das Messgerät zu bauen erschien mir für mich nicht zielführend, wie etwa der bekannte µCurrent-Adapter.

Die Lib für den MCP3421 ist übrigens von Retian (in diesem Forum unterwegs), vielen Dank dafür.
Und als Anregung: Manchmal könnte man auch den 12-Bit-Modus für eine schnelle Qualifizierung des Messbereiches gebrauchen. :-)

Ansonsten sind Fragen und Anregungen willkommen, auch wenn es für mich erstmal nur Test-Hardware im Alpha-Status ist.

Gruß André

Code:
#include "SSD1306Ascii.h"
#include "SSD1306AsciiAvrI2c.h"
#define I2C_ADDRESS 0x3C
#define RST_PIN -1
SSD1306AsciiAvrI2c oled;

// Quelle: https://arduino-projekte.webnode.at/meine-libraries/adc-mcp3421/
#include <MyMCP3421.h>
MyMCP3421 Adc;

float Strom, Voltage, Offset;
bool L_Status, R_Status;
const byte L_Taster = 2;
const byte R_Taster = 3;
uint8_t rows;                 // Rows per line (OLED)

void setup()
{
#if RST_PIN >= 0
  oled.begin(&Adafruit128x32, I2C_ADDRESS, RST_PIN);
#else // RST_PIN >= 0
  oled.begin(&Adafruit128x32, I2C_ADDRESS);
#endif // RST_PIN >= 0

  oled.setFont(ZevvPeep8x16);
  oled.setContrast(32);           // reduzierte Helligkeit (0-255)

  pinMode(L_Taster, INPUT_PULLUP);
  pinMode(R_Taster, INPUT_PULLUP);

  Serial.begin(115200);
  if (Adc.isReady()) oled.println(F(" ADC ok! "));
  else
  {
    oled.println(F("  Fehler "));
    while (1);                    //sonst gehts hier nicht weiter
  }
  oled.println(F(" Kalibriere ... "));
  Adc.init();
  Offset = Offset_messen();       // erstmals Offset ermitteln
  delay(1000);
}

void loop()
{
  Adc.setGain(MCP3421_PGA_2P048);
  Adc.startSingleMeas();
  while (!Adc.conversionReady());
  Voltage = Adc.readVoltage() - Offset;

  if (abs(Voltage) < 0.92 && abs(Voltage) >= 0.46) Adc.setGain(MCP3421_PGA_1P024);
  if (abs(Voltage) < 0.46 && abs(Voltage) >= 0.23) Adc.setGain(MCP3421_PGA_0P512);
  if (abs(Voltage) < 0.23) Adc.setGain(MCP3421_PGA_0P256);

  Voltage = 0;
  for (int i = 0; i < 4; i++)
  {
    Adc.startSingleMeas();
    while (!Adc.conversionReady());
    Voltage += Adc.readVoltage();

    L_Status = digitalRead(L_Taster);
    if (L_Status == 0) break;
  }
  Voltage = Voltage / 4 - Offset;
  if (L_Status == 0)
  {
    oled.setFont(ZevvPeep8x16);
    oled.clear();
    oled.println(F(" Kalibriere ... "));
    delay(1000);
    Offset = Offset_messen();             // Offset vom OPV messen
    delay(2000);
    Voltage = 0;
  }

  Strom = Voltage / 102.0 / 0.101008;     // Spannung / Verstärkung OPV / 0.1 Ohm
  Serial.print(Strom, 4); Serial.print(F(" mA  |  "));
  Serial.print(Voltage / 102, 4); Serial.print(F(" mV @ Shunt  |  "));
  Serial.print(Voltage, 4); Serial.println(F(" mV @ ADC "));
  
  if (abs(Strom) > 199.5)                 // zu großer Strom!
  {
    oled.setFont(ZevvPeep8x16);
    oled.clear();
    oled.set2X();
    oled.setCursor(0, 0 * rows);          // Spalte, 1.Zeile
    oled.println(F("> 200 mA"));
    delay(1000);
    oled.clear();
    oled.set1X();
  }
  if (abs(Strom) >= 0.001 && abs(Strom) < 0.99995)  // µA-Bereich
  {
    oled.setFont(ZevvPeep8x16);           // Font für 1. Zeile
    oled.setCursor(5, 0 * rows);          // Spalte, 1.Zeile
    oled.print(F("  Strom in ")); oled.print(char(0x81)); oled.println(F("A "));
    oled.setFont(lcdnums12x16);           // Font für 2. Zeile
    rows = oled.fontRows();               // Font-Höhe lesen
    oled.setCursor(0, 1 * rows);          // Spalte, 2.Zeile
  }
  if (abs(Strom) >= 0.99995 && abs(Strom) < 199.5)  // mA-Bereich
  {
    oled.setFont(ZevvPeep8x16);           // Font für 1. Zeile
    oled.setCursor(5, 0 * rows);          // Spalte, 1.Zeile
    oled.println(F("  Strom in mA "));
    oled.setFont(lcdnums12x16);           // Font für 2. Zeile
    rows = oled.fontRows();               // Font-Höhe lesen
    oled.setCursor(0, 1 * rows);          // Spalte, 2.Zeile
  }

  if (Strom >= 0.001 && Strom < 0.00995)
  {
    oled.print(F(";;;;;;"));              // Font geändert = Leerzeichen! (6x)
    oled.print(Strom * 1000, 1);
  }
  if (Strom >= 0.00995 && Strom < 0.09995)
  {
    oled.print(F(";;;;;"));               // Font geändert = Leerzeichen! (5x)
    oled.print(Strom * 1000, 1);
  }
  if (Strom >= 0.09995 && Strom < 0.99995)
  {
    oled.print(F(";;;;"));                // Font geändert = Leerzeichen! (4x)
    oled.print(Strom * 1000, 1);
  }
  if (Strom >= 0.99995 && Strom < 9.9995)
  {
    oled.print(F(";;;;"));                // Font geändert = Leerzeichen! (4x)
    oled.print(Strom, 3);
  }
  if (Strom >= 9.9995 && Strom < 99.9995)
  {
    oled.print(F(";;;"));                 // Font geändert = Leerzeichen! (3x)
    oled.print(Strom, 3);
  }
  if (Strom >= 99.995 && Strom <= 199.5)
  {
    oled.print(F(";;"));                  // Font geändert = Leerzeichen! (2x)
    oled.print(Strom, 3);
  }
  ////////////////////////////////////////////////////////////////////////////
  if (Strom <= -0.001 && Strom > -0.00995)
  {
    oled.print(F(";;;;;"));               // Font geändert = Leerzeichen! (5x)
    oled.print(Strom * 1000, 1);
  }
  if (Strom <= -0.00995 && Strom > -0.09995)
  {
    oled.print(F(";;;;"));                // Font geändert = Leerzeichen! (4x)
    oled.print(Strom * 1000, 1);
  }
  if (Strom <= -0.09995 && Strom > -0.99995)
  {
    oled.print(F(";;;"));                 // Font geändert = Leerzeichen! (3x)
    oled.print(Strom * 1000, 1);
  }
  if (Strom <= -0.99995 && Strom > -9.9995)
  {
    oled.print(F(";;;"));                 // Font geändert = Leerzeichen! (3x)
    oled.print(Strom, 3);
  }
  if (Strom <= -9.9995 && Strom > -99.9995)
  {
    oled.print(F(";;"));                  // Font geändert = Leerzeichen! (2x)
    oled.print(Strom, 3);
  }
  if (Strom <= -99.9995 && Strom >= -199.5)
  {
    oled.print(F(";"));                   // Font geändert = Leerzeichen! (1x)
    oled.print(Strom, 3);
  }
  else if (abs(Strom) < 0.001) oled.clear();
  Strom = 0;
}
/////////////////////////////////////////////////////////////////////
//////  Funktionen  /////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////

float Offset_messen()
{
  Adc.setGain(MCP3421_PGA_0P256);
  Voltage = 0;
  for (int i = 0; i < 32; i++)
  {
    Adc.startSingleMeas();
    while (!Adc.conversionReady());
    Voltage += Adc.readVoltage();
  }
  Offset = Voltage / 32;
  oled.print(F(" "));
  oled.print(Offset, 5);
  oled.println(F(" mV        "));

  return Offset;
}
...nun auch mit lesbarem Sketch wie wir es hier wollen. lgbk Moderator

           
.ino  MCP3421_OLED_08.ino (Größe: 5,86 KB / Downloads: 6)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.07.2020, 20:10
Beitrag #2
RE: +/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
Hallo,
sehr interessantes Thema, nur leider sehr schwer zu lesen.
Du verwendest Zeilenumbrüche, wo sie eigentlich nicht hingehören. Dadurch wird das Lesen nicht einfacher. Auch Absätze zwischendurch, könnten helfen, wieder "Luft zu holen".

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.07.2020, 20:43
Beitrag #3
RE: +/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
Hallo,
Interessant, welche Version vom TL431 nimmst du?
Und welches 200 € Messgerät hast du?
Gruß, Markus

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.07.2020, 22:03
Beitrag #4
RE: +/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
Hallo,

sehr interessantes Thema, nur leider sehr schwer zu lesen.
Du verwendest Zeilenumbrüche, wo sie eigentlich nicht hingehören. Dadurch wird das Lesen nicht einfacher. Auch Absätze zwischendurch, könnten helfen, wieder "Luft zu holen".


Sorry, alles gut.
Das Problem besteht nur bei mir auf dem Tablet.

Hier am PC ist dein Text gut zu lesen und weiterhin interessant.

Danke dafür.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.07.2020, 08:55
Beitrag #5
RE: +/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
Hallo,

danke für das Interesse!
Ja, das kann schon passieren, daß die Formatierung nicht auf jedem Gerät passt. Ich weiß nicht, ob das Forum Geräte-sensitiv ist,
aber ich schreibe sowas immer am PC, auch wenn bei uns ein Tablet im Gebrauch ist. Kein Problm ...

Der TL431 ACLP (1% / 0-70 Grad) also eher ein Wald-&-Wiesen-Ding, vor 2 Jahren ein paar davon für 15cent bei Reichelt gekauft,
hat einen Temperaturgang kleiner 50ppm, und ist bei Raumtemperatur recht flach. Was teureres wollte ich hier (noch) nicht verbauen.
Genau so beim OPV, erstmal sehen wo man landet, was so geht ...

Ich habe hier ein (Conrad) Voltcraft VC870 in Benutzung, wenn ich es bewerten müsste, wäre es untere Mittelklasse.
Habe mir aber auch schon andere Multimeter angeschaut, die sind nur minimal besser, erst bei 500€ gibt es einen "Ruck" nach vorn.

Was noch erwähnt werden sollte, wenn das 200mA-Mess-Dingen nur am USB betrieben wird, kann man damit Elektronik, die ebenfalls
am USB hängt, nur LOW-Side messen, da der Shunt auch auf der LOW-Side hängt, sonst gibt es Rauch ...
Ich habe den OPV , den ADC und den TL431 über ein L-C-Filter und nochmal getrennt voneinander über ein R-C-Filter von der Stromversorgung
entkoppelt, damit ist ein DC-DC-Converter am Akku kein Problem.

Und falls es jemand interessiert mal ein Ausschnitt einer Messung im 100µA-Bereich (15 kOhm, Alkali-Batterie, alle 1,3s eine Messung)

Code:
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0971 mA  |  0.0098 mV @ Shunt  |  1.0000 mV @ ADC
0.0959 mA  |  0.0097 mV @ Shunt  |  0.9883 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0959 mA  |  0.0097 mV @ Shunt  |  0.9883 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0959 mA  |  0.0097 mV @ Shunt  |  0.9883 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0971 mA  |  0.0098 mV @ Shunt  |  1.0000 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0959 mA  |  0.0097 mV @ Shunt  |  0.9883 mV @ ADC
0.0971 mA  |  0.0098 mV @ Shunt  |  1.0000 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0959 mA  |  0.0097 mV @ Shunt  |  0.9883 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0959 mA  |  0.0097 mV @ Shunt  |  0.9883 mV @ ADC
0.0971 mA  |  0.0098 mV @ Shunt  |  1.0000 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0955 mA  |  0.0097 mV @ Shunt  |  0.9844 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0959 mA  |  0.0097 mV @ Shunt  |  0.9883 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0971 mA  |  0.0098 mV @ Shunt  |  1.0000 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0963 mA  |  0.0097 mV @ Shunt  |  0.9922 mV @ ADC
0.0967 mA  |  0.0098 mV @ Shunt  |  0.9961 mV @ ADC
0.0959 mA  |  0.0097 mV @ Shunt  |  0.9883 mV @ ADC
0.0971 mA  |  0.0098 mV @ Shunt  |  1.0000 mV @ ADC


Gruß André
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.07.2020, 14:40
Beitrag #6
RE: +/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
Hallo,
Ja, mit dem Tablet habe ich die selben probleme.

Den 431 als Typ A mit 1% setze ich auch gerne ein.
Zu den Voltcraft kann ich nichts sagen, habe ich noch nicht in den Fingern gehabt.

Aber ich habe erst gestern noch von einer Interresanten Schaltung für eine µA messung
mit einen LM741 aus dem "IC 741 Buch" gelesen.

Das ist das was ich selbst auch noch ausprobieren wollte.

Gruß, Markus

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.07.2020, 16:48
Beitrag #7
RE: +/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
(24.07.2020 08:55)SpaghettiCode schrieb:  ...
Was noch erwähnt werden sollte, wenn das 200mA-Mess-Dingen nur am USB betrieben wird, kann man damit Elektronik, die ebenfalls
am USB hängt, nur LOW-Side messen, da der Shunt auch auf der LOW-Side hängt, sonst gibt es Rauch ...
Ich habe den OPV , den ADC und den TL431 über ein L-C-Filter und nochmal getrennt voneinander über ein R-C-Filter von der Stromversorgung
entkoppelt, damit ist ein DC-DC-Converter am Akku kein Problem.
...

Hallo,
ich will deinen Euphorismus nicht ausbremsen...
Aber wenn du den Ardi über USB mit Strom versorgst dann schwankt auch deine 5V Versorgung auf dem Ardi und somit auch deine Referenzspannung vom ADC. Wenn du das verbessern willst mußt dich an die interen Referenz von 1,1V anpassen weil die ist stabiler als 5V VCC. Das Thema ist mir auch schon mal auf die Füße gefallen.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.07.2020, 17:11 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2020 17:11 von Tommy56.)
Beitrag #8
RE: +/- 200mA-Mess-Dingens mit MCP4321 (18Bit)
Die 1,1V sind zwar stabiler, unterliegen aber ebenfalls fertigungsbedingten Abweichungen. Die sollte man exemplarabhängig ausmessen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste