Hallo zusammen, ich lese schon eine Weile im Forum mit, konnte aber auf folgende Frage keine Antwort finden: Interpretiere ich das Datenblatt (z.B. ATtiny 25) richtig, wenn ich annehme dass die Potentiale von negativen (V-) und positiven (V+) Eingängen des ADC im Diferentialmodus von Vcc und GND abweichen dürfen, solange die Spannungsdifferenz zwischen den Eingängen nicht größer als Vcc/GND ist? Beispiel: Vcc = 5V, die zweite Zelle eines LiPo Akkus soll gemessen werden. Dann wären die Potentiale bezogen auf GND V- ~ 3,3V bis 4,2V, V+ ~7,5V bis 8,4V. Danke und Gruß, Stefan
Nein. Du darfst nicht unter 0 V und nicht über die Versorgungsspannung gehen.
Darin, dass du die untere Grenze des Disgitalisierbereichs festlegen kannst? Beim single ended mode ist die fix (GND). Und du kannst eine Verstärkung hinzuschalten, um dein analoges (Differenz-)signal optimal auf den Digitalisierbereich abzubilden und größtmögliche Auflösung zu erhalten.
Hallo zusammen, > Darin, dass du die untere Grenze des Disgitalisierbereichs festlegen >kannst? Nochmal für mein Verständnis: Ich könnte also bei Vcc +5V z.B eine Spannung messen, deren negatives Potential bezogen auf GND +2V ist und deren positives Potential z.B +4,5V ist, aber nicht z.B +6V, obwohl die Differenzspannung nur 4V beträgt und damit kleiner als Vcc/GND ist. Habe ich das jetzt richtig verstanden? Danke und Gruß, Stefan
Also, ich empfehle mal einen Blick ins Datenblatt. Der Analogeingang, resp die Eingaenge muessen natuerlich zwischen GND und Vcc liegen. Dann erkennt man bri genauer Betrachtung, dass der Subtrahierer analog aufgebaut ist. Dh ein Differentialeingang kann benutzt werden bei stark schwankendem Signalbezugspotential. Zb um eine Brueckenspannung zu messen.
Kein Pin des AVR (außer Reset) darf unter 0V gehen und keiner über Vcc. Wie soll man das noch deutlicher sagen? (Ja, ich weiß, die Schutzdiodenspannung kommt dazu, aber die Funktion des Differenzverstärkers ist unter 0 und über Vcc nicht mehr gewährleistet.) Die Differenzmessung mit 2 ADC-Eingängen braucht man, wie soll ich das anders sagen, zur Messung der Differenz. Einer Spannung also zwischen 2 Punkten, eines Spannungsunterschieds. Das braucht man häufig, nicht nur für Brückenschaltungen. Der Messbereich ist dabei insgesamt so breit wie Vref, endet aber in jedem Fall unten bei 0 und oben bei Vcc. Der Nullpunkt ist in der Mitte, so dass man damit 1/2Vref nach oben (Differenz positiv) und genauso weit nach unten (Differenz negativ) messen kann. Zu beachten ist noch, dass das Bit 9 des ADC in dieser Betriebsart das Vorzeichenbit ist (runterwärts (um Null) ergibt sich die Folge ..., 3, 2, 1, 0, 0x3ff, 0x3fe, ...), so dass das Vorzeichen aus Bit 9 in die höheren Stellen erweitert werden sollte (oder man setzt ADLAR).
Hallo nochmal, mir ist klar, dass die Differentspannung niemals größer als Vcc sein darf. Zur Klarstellung ein Prinzipschaltbild, was ich messen will. Laut Eurer Aussagen geht das wohl nicht..... Ja ich weiss, der Pullup an Reset fehlt. Gruß, Stefan
> mir ist klar, dass die Differentspannung niemals größer als Vcc sein > darf. Argl ... Nein. Jede einzelne der Spannungen. Die Differenzspannung ist schnurz, ihr Betrag kann allerdings dadurch auch nie größer werden ...
Hallo zusammen,
>Vertausche die Zellen und miss die untere.
das will ich ja gerade nicht. Ich möchte jede einzelne Zelle messen
können, auch bei mehr als 2 Zellen.
Da mein Gedanke wohl nicht funktioniert, muss ich mir wohl was anderes
ausdenken.
Ich könnte natürlich über entsprechende Spannungsteiler GND - > +Zelle1
und GND -> +Zelle2 messen und dann die Spannungen voneinander abziehen.
Das ist mir aber nicht genau genug.
Gruß,
Stefan
So, ich habs jetzt auch gefunden: >Regardless of conversion mode, input voltages on any channel must stay >between GND and AVCC. Application Note AVR120. Gruß, Stefan
Wo ist das Problem, wenn Du jede einzelne Zelle messen willst. Dann leg halt den GND deiner Schaltung auf das untere Niveau der Zelle.
Hallo, >wenn Du jede einzelne Zelle messen willst. Dann leg >halt den GND deiner Schaltung auf das untere Niveau der Zelle. Dann muss ich das aber für jede Zelle einzeln machen, also z.B. ein Tiny pro Zelle und Ansteuerung per SPI via Optokoppler. Und dann noch einen Mega zum auswerten. Ich denke ich werde mir mal das Thema OPVs und Subtrahierer zu Gemüte führen. Auf jeden Fall vielen Dank für Eure Mühe mir das Thema ADC näher zu bringen. Gruß, Stefan
Stefan Weßels schrieb: > Ich könnte natürlich über entsprechende Spannungsteiler GND - > +Zelle1 > und GND -> +Zelle2 messen und dann die Spannungen voneinander abziehen. > Das ist mir aber nicht genau genug. > Wieso sollte dass nicht genau genug sein? Ich mache dass bei einem 3 Zellen Lipo zur Spannungsüberwachung. Mit dem 10 Bit ADC hat man eine Auflösung die für die Überwachung während dem Betrieb mehr als ausreichend genau ist. Aber ich weis ja nicht was du machen willst ;) Bei mir ist dass größere Problem dass bei neuen Lipos die Spannung während dem Betrieb auch unter Extrembelastung annähernd konstant bleibt und dann zum Schluß sehr schnell zusammenbricht.
>Wieso sollte dass nicht genau genug sein? Weil ich mit zunehmender Zellenzahl eine immer geringere Auflösung bekomme. Bei 3 Zellen mag das noch gehen, aber ich will zumindest 5 Zellen möglichst genau messen können. >Aber ich weis ja nicht was du machen willst. Ich möchte mir so etwas wie einen UniTest bauen, aber eben um die Möglichkeit zur Einzelzellenmessung an LiPos erweitert. (Ich mache das nicht, weil mir der UniTest zu teuer wäre, sondern weil ich interesse an der Materie habe und meine zugegebenermaßen verrosteten Elektronikkentnisse auffrischen bzw. erweitern möchte). Gruß, Stefan
>>Wieso sollte dass nicht genau genug sein? > > Weil ich mit zunehmender Zellenzahl eine immer geringere Auflösung > bekomme. Bei 3 Zellen mag das noch gehen, aber ich will zumindest 5 > Zellen möglichst genau messen können. Dann ist aber der ATtiny25 von dem du am Anfang geschrieben hast nichts für dich. Denn der hat nur 3 ADC's wenn du den Reset nicht opferst. Außerdem hast du am Anfang nur über einen 2-Zeller geschrieben ;) >>Aber ich weis ja nicht was du machen willst. > > Ich möchte mir so etwas wie einen UniTest bauen, aber eben um die > Möglichkeit zur Einzelzellenmessung an LiPos erweitert. > (Ich mache das nicht, weil mir der UniTest zu teuer wäre, sondern weil > ich interesse an der Materie habe und meine zugegebenermaßen verrosteten > Elektronikkentnisse auffrischen bzw. erweitern möchte). Wenn du die Spannung von > 3 Zellen genau messen willst, würde ich Instrumentenverstärker bzw. OPV's in Instrumentenverstärkerbeschaltung verwenden. Da würde ich aber hochgenaue Widerstandsnetzwerke verwenden bzw. thermisch gekoppelte Einzelwiderstände einsetzen.
>Dann ist aber der ATtiny25 von dem du am Anfang geschrieben hast >nichts für dich. Ich weiss, es war nur der einzige AVR mit Differential-ADC in meiner Bastelkiste, und zum grundsätzlichen probieren sollte der reichen. Mir geht es in Moment vor allem darum etwas Gefühl für die ganze Materie zu entwickeln. Da sollte am Ende natürlich etwas halbwegs nützliches bei herauskommen. Ich werde mal mit dem LM358 (liegt in der Bastelkiste) experimentieren. Für ein "Produktivgerät" wäre da dann eher OP07 o. ä. sowie 0,1% Widerstände angesagt. Auf jeden Fall: Danke für Deine Mühe! Gruß, Stefan
Hallo Stefan, vielleicht ist das auch was für Dich. Google mal mit "flying capacitors". Das sind ICs mit mehreren Analogschaltern. Die Schalten abwechseld einen Kondensator an eine Spannungsquelle (C lädt sich auf) trennen den Kondi von dieser Spannungsquelle und legen den dann z.B. an den Eingang Deines ATTiny. Für diesen Steuer-IC gilt natürlich auch keine Eingangsspannung < GND bzw. > dessen Versorgungsspannung. Schau mal das Datenblatt vom LTC6943 (Linear.com) an, das ist so ein Flying-Capacitor-Chip. Funktioniert sehr gut! Gruß James
Wie sich also herausstellt, will der Fragesteller jede einzelne Zellenspannung einer Reihenschaltung messen, deren Gesamtspannung die Betriebsspannung des Mikrocontrollers überschreitet. Dies ist, wie in der letzten Antwort angegeben, tatsächlich ein Fall für geschaltete Kondensatoren. Denn Analogsignalschalter gibt es bequem für 15 V und machen keine zusätzlichen Fehler wie Spannungsteiler. Außerdem bleibt die Lösung ruhestromfrei. Praktische Anwendung findet dieses Prinzip in allen anzeigenden Digitalmultimetern mit dem typischen IC ICL7136. Anstatt mit dem angegebenen LTC6943 mit Kanonen auf Spatzen zu schießen, macht man das Ganze als Bastler wie die Chinesen: Man nehme den billigsten Analogsignalschalter, etwa 4066 oder 4051, ggf. Digital-Pegelkonverter mit Transistoren, und bastelt daraus die Kondensator-Umschaltung. Will man auf die lästigen Pegelkonverter verzichten, kann man es auch so machen: http://www.tu-chemnitz.de/~heha/basteln/Haus/Akkuschrauber/#2. Der Trick ist, den Mikrocontroller auf Plus zu legen und die im 4051 / 4053 eingebauten Pegelkonverter zu nutzen. (Der dort verwendete Spannungsteiler verringert die Genauigkeit, spart jedoch die Hälfte der notwendigen Analogmultiplexer gegenüber einer Lösung mit Kondensatoren.) Zurück zur Differenzmessung: Richtig, kein Pin darf außerhalb [GND,Ucc] gespeist werden. Zu unterscheiden ist noch (unipolarer) Differenzbetrieb und bipolarer (Differenz-)Betrieb. Beim unipolaren Differenzbetrieb muss die messbare Differenz positiv sein. Unklar ist, wie bei Bipolarbetrieb die Referenzspannung verwendet wird. Bedeutet Uref = 2,56 V einen Messbereich ±2,56 V? Also Verdopplung der LSB-Schrittspannung? Vermutlich. Anscheinend gibt es keinen einzigen ATmega mit Differenzbetrieb.
Hallo, vielen Dank für die Antwort. Allerdings ist der Thread 9 Jahre alt :-) Gruß, Stefan
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.