Spannung vom Shunt mit Arduino messen

OP Persönliche Seite #5724420
Lesenswert?

Hallo Leute,

ich will am Shunt die Spannung über ARDUINO messen
die erstmal mit OP LM 358 verstärkt ist und mit A6 Pin verknüpft
als Last ist ein Blei gel Akku zum Aufladen

DC-DC, Shunt, Akku und dazu kommt OP LM358 und ARDUINO NANO V3

WIE SIEHT GENAU DIE sCHALTUNG AUS?
kann jemand mir helfen?
Gast #5724425
Lesenswert?

Hallo,

da gibt es die unterschiedlichsten Schaltungen und Anforderungen!

Ein LM358 ist hier keine gute Wahl, wenn man nicht nur einen Indikator 
haben möchte.

Siehe AN105 "Current Sense Circuit Collection"
https://www.analog.com/media/en/technical-documentation/application-notes/an105fa.pdf

Auch gibt es fertige I2C Mess ICs die man meistens passend Konfigurieren 
kann.

Alls Erstes solltest Du den Messbereich definieren, in etwas: 0-1000V, 
0-100A.
Gast #5724430
Lesenswert?

Azouz S. schrieb:
> Hallo Leute,
>
> ich will am Shunt die Spannung über ARDUINO messen
> die erstmal mit OP LM 358 verstärkt ist und mit A6 Pin verknüpft
> als Last ist ein Blei gel Akku zum Aufladen
>
> DC-DC, Shunt, Akku und dazu kommt OP LM358 und ARDUINO NANO V3
>
> WIE SIEHT GENAU DIE sCHALTUNG AUS?
> kann jemand mir helfen?

Prinzipiell sollte der Shunt einseitig auf Masse liegen (also nicht in 
der Plus-Leitung liegen). Die ADC-Eingänge des Arduino beziehen sich 
nämlich ebenfalls auf GND.
Und für den Rest der Schaltung zeichne mal deine ungefähren 
Vorstellungen auf, denn mit Prosa tun sich die meisten Leute unheimlich 
schwer...
Beitrag #5724454 wurde von einem Moderator gelöscht.
Beitrag #5724462 wurde von einem Moderator gelöscht.
#5724480
Lesenswert?

Azouz S. schrieb:
> ich will am Shunt die Spannung über ARDUINO messen
> die erstmal mit OP LM 358 verstärkt ist und mit A6 Pin verknüpft
> als Last ist ein Blei gel Akku zum Aufladen

Du möchtest einen Strom messen...der sich in welchem Bereich bewegt und 
mit welcher Genauigkeit gemessen werden soll?


Azouz S. schrieb:
> WIE SIEHT GENAU DIE sCHALTUNG AUS?

Schreien musst Du nicht. Und eine fertige Schaltung wird dir wohl kaum 
jemand liefern, zumal die genauen Anforderungen nicht bekannt sind. 
Vielleicht ist hier etwas für dich dabei:

https://eckstein-shop.de/Stromsensoren_1

#######

dshgktndflg schrieb im Beitrag #5724454:
> Florian S. schrieb:
>> denn mit Prosa tun sich die meisten Leute unheimlich
>> schwer...
>
> Und mit solcher zusammenhanglos dahingerotzten Prosa erst recht.
>
> dshgktndflg

...genauso wie Du deinen Nickname dahinrotzt und einen vollkommen 
sinnfreien Kommentar absonderst.
Gast #5724614
Lesenswert?

Azouz S.,

noch wurde keine Frage beantwortet, oder der Link auf das gesammelte 
Wissen gelesen, somit sehr ich kein Interesse an einer weiteren Hilfe.

Das eine LM358 nicht die beste Wahl ist, habe ich geschrieben.
Also was soll das werden?
Nur eine Anzeige dass da "ein" Strom fließt, messen gegen eine Referenz 
geht anders!
#5732948
Lesenswert?

Azouz S. schrieb:
> oh habe ich nicht drauf geachtet
> sorry

Gehe bloß nicht auf die Kommentare ein. Die haben die User nur zum Spaß 
und aus purer Langeweile geschrieben.


Azouz S. schrieb:
> Das ist der Schaltplan aber ich weiss nicht, ob das richtig ist..

Er ist vor allem etwas unübersichtlich gezeichnet. Es gibt heutzutage so 
viele kostenlose Programme um Schaltpläne zu zeichnen. Etwas mehr Mühe 
wäre daher wünschenswert. Zudem könntest Du Korrekturen viel schneller 
umsetzen.

Ich habe mir erlaubt den Plan noch etwas aufzuhellen.
Angehängte Dateien:
Gast #5732986
Lesenswert?

Azouz S. schrieb:
> Das ist der Schaltplan aber ich weiss nicht, ob das richtig ist

Hast du mal ins Datenblatt vom LM358 geguckt?

Als Common mode input voltage range ist dort (VCC-) to (VCC+ -2V) 
angegeben.
Dein OP wird mit +/-5V versorgt und dein Shunt liegt auf 13.7V, wenn ich 
jetzt mal unterstelle, dass du die Masseverbindung zwischen 
OP-Versorgung und deiner Akkuschaltung einfach nur vergessen hast.
Gast #5733055
Lesenswert?

Wenn du den Spannungsabfall am Shunt messen willst, genügt es nicht, nur 
ein Bein davon zu beobachten.

Außerdem liegst du damit warscheinlich außerhalb des funktionierenden 
Eingangs-Spannungs Bereiches. Vergleiche das mal mit dem Datenblatt.
Gast #5733062
Lesenswert?

Anderer Lösungansatz ohne OP-Amp:
1
Netzteil
2
                Shunt
3
13,7V o---+-----[===]-----+------------------o + Akku
4
          |               |
5
         |~|             |~|
6
         |_|             |_|
7
          |               |
8
          +---o ADC1      +---o ADC2
9
          |               |
10
         |~|             |~|
11
         |_|             |_|
12
          |               |
13
GND o-----+---------------+------------------o GND

ADC1 misst die Spannung vom Netzteil
ADC2 misst die Spannung vom Akku
Die Differenz dazwischen zeigt den ladestrom an.

(ADC1 - ADC2) / Shunt = Ladestrom
OP Persönliche Seite #5733513
Lesenswert?

Ich danke euch für die Vorschläge
das ist der Code zu dem Schaltplan
stimmt der Code ?


int analogInPin = A6;
int analogInput= A0;
float R1=20000;
float R2=10000;
double vin=0;
double vout=0;
double TeilerValue=0;
double OpVolt=0;
double OpValue=0;

void setup() {
Serial.begin(9600); // serielle Ausgabe
}

void loop() {

double OpValue=analogRead(analogInPin); // read the A6 pin value
double OpVolt=( OpValue*5.0)/ 1023.0;
double TeilerValue = analogRead(analogInput); //Messwerte am analogen 
Pin als "values" definieren
double vout = (TeilerValue * 5.0) / 1023.0; // Messwerte in Volt 
umrechnen = Spannung am Ausgang des spgT.

Serial.println(OpVolt,2);


   delay (1000);
}
Gast #5733526
Lesenswert?

Hallo,

double steht nicht zur Verfügung!

Die Formel /1023 ist nicht richtig, prtm:
1
double OpVolt=( OpValue*5.0)/ 1023.0;
2
double vout = (TeilerValue * 5.0) / 1023.0;

Also wird es nicht mehr als ein Indikator, dass das da Spannung und 
Strom fließt.

Mehr als 5-7Bit sind dann mit den Anmerkungen zum Datenblatt nicht drin!
OP Persönliche Seite #5733527
Lesenswert?

int analogInPin = A6;
int analogInput= A0;
float R1=20000;
float R2=10000;
double vin=0;
double vout=0;
double TeilerValue=0;
double OpVolt=0;
double OpValue=0;

void setup() {
Serial.begin(9600); // serielle Ausgabe
}

void loop() {

double OpValue=analogRead(analogInPin); // read the A6 pin value
double OpVolt=( OpValue*5.0)/ 1023.0;
double TeilerValue = analogRead(analogInput); //Messwerte am analogen 
Pin als "values" definieren
double vout = (TeilerValue * 5.0) / 1023.0; // Messwerte in Volt 
umrechnen = Spannung am Ausgang des spgT.

Serial.println(OpVolt,2);


   delay (1000);
}
Gast #5733550
Lesenswert?

Azouz S.,

so ein Atmel ADC Eingang mit keiner Referenzspannungsqulle ist eh nur 
ein Schätzeisen.
Ohne ADC Offset- und Linearitätsfehlerkorrektur, kann man keine 
belastbaren Ergebnisse erhalten.
Variiert man dann noch die Temperatur, ist an möglichen Werte ohne Bezug 
nur ein Hinweis auf: das sollte eine Spannung oder Strom anliegen.
Gast #5733553
Lesenswert?

Azouz S.,

du solltest wirklich verstehen lernen, was hier ein richtiges Problem 
beschrieben wurde.

Wolfgang schrieb:
> Azouz S. schrieb:
>> Das ist der Schaltplan aber ich weiss nicht, ob das richtig ist
>
> Hast du mal ins Datenblatt vom LM358 geguckt?
>
> Als Common mode input voltage range ist dort (VCC-) to (VCC+ -2V)
> angegeben.
> Dein OP wird mit +/-5V versorgt und dein Shunt liegt auf 13.7V, wenn ich
> jetzt mal unterstelle, dass du die Masseverbindung zwischen
> OP-Versorgung und deiner Akkuschaltung einfach nur vergessen hast.

Am besten wäre vielleicht, Du baust das mal auf und achtest auf Qualm 
und Rauch, dann könntest Du darüber nachdenken, was passiert ist.
Gast #5733890
Lesenswert?

Hi

>Oh, oh, oh...
>1/1000 Meßfehler (1023 statt 1024) bringt ihn sicher fast um....

Das ist mir auch klar. Auch wenn das hier keine Rolle spielt, kann man 
Fehler nicht unwidersprochen stehen lassen. Früher oder später stolpert 
jemand über diesen Treat und nimmt das für bare Münze.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren