RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBO 2 Spannungsanzeige

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Banner

Letzte Themen

  • Keine Beiträge vorhanden

Site-Statistic

  • 7433 private projects
  • 378 public projects
  • 16180353 lines compiled
  • 58212 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Spannungsanzeige

Spannungsanzeige 11 Jahre 2 Monate her #2213

  • BirgerT
  • BirgerTs Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 325
Hi Leute,
von einem alten PC-Lüfter die Anschlußstrippe verwendet, kann man den Nibo2 auch über ein Labornetzteil versorgen, wenn der NiBo2 Powerschalter auf "Aus" steht. Und ich habe festgestellt, dass der nach Formel berechnete Wert (Volt) nicht mit dem Messwert (Multimeter) übereinstimmt.
Also Anzeige der Rohdaten (bot_supply) und mit dem Labornetzgerät die Spannung zwischen 8,0 Volt und 10,4 Volt variiert und die Rohwerte notiert
-raschel raschel kram, irgendwo liegt hier doch noch der Zettel...- Also ich hatte diese Messreihe
{Uist = Multimeter; float = Anzeige mit Formel; bot-supply = Rohwert ohne Formel}
{8,0; 7,2; 505} {8,8; 8,1; 557} {9,0; 8,3; 572} {9,6; 8,95; 610/611} { 10,4; 9,8; 663}
Wenn man jetzt jeweils bot_supply durch gemessene Volt teilt, kommt überall ein Wert zwischen 63 und 64 raus-
Und dazwischen ist jetzt eine Aufzeichnungslücke-
Na jedenfalls entspricht ein Volt Spannungsunterschied ca. 60 Einheiten bot-supply, bei 8,0 Volt ist (BOT_SUPPLY_LOW_LIMIT) = 505.
Und da ich der Meinung bin, dass man einen 8-Bit Prozessor ohne Gleitkommacoprozessor auch nicht mit unsinnigen Floatberechnungen belasten sollte, bin ich auf die Idee gekommen die Spannung in deziVolt zu berechnen - 8,0V = 80 deziVolt. Für die Spannungsanzeige werden die deziVolt durch 10 geteilt = Volt, ein Punkt, und das Modulo 10 als Nachkommastelle. Meine Spannungsanzeige ist so mit dem Voltmeter am Labornetzteil synchron.

Aber das zitierte Beispiel aus HardwareCheck hat einen Fehler, lieber die Spannungsberechnung aus MyWorx verwenden.
Bei 10,4 Volt ist bot_supply = 663 und bei 8,0V 505, die Differenz beträgt also 158, und der Wert passt nicht mehr in einen int8, deshalb muss volt als int16_t definiert werden.

Und was ebenfalls zu beachten ist - die Batteriespannung hat direkten Einfluß auf die IR_Messung (Boden- / Liniensensoren). Die Calibration der Sensoren ist nur sinnvoll, wenn die Bordspannung immer dem Wert wie bei der Calibration entspricht. Oder andersherum, in der Calibration müsste auch bot_supply mit reingerechnet werden. Die Sensorwerte auf weiss bei fast leerem Akku entsprechen bei mir den Sensorwerten auf schwarz bei vollem Akku.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Spannungsanzeige 11 Jahre 2 Monate her #2220

Hallo,

da mir das Thema keine Ruhe gelassen hat habe ich heute ein wenig experimentiert ...

Ich habe die Widerstände des Spannungsteilers gemessen (da braucht man Geduld, da sich die Kondensatoren erst bis zur Sättigung laden) und für recht genau befunden (4,678 kOhm und 9,980 kOhm).

Dann habe ich den Spannungsabfall an der Diode gemessen - der variiert, je nach Stromfluss (wie vermutet und dann auch im Datenblatt bestätigt) zwischen 314 mV (bei 63 mA) und 328 mV (bei 94 mA). Mit laufenden Motoren habe ich nicht gemessen, da der Effekt klar ist und mir das auch nichts weiter bringt.

Dann habe ich genau 10 Volt (über ein Prozessor-gesteuertes Netzteil) in die Schaltung gegeben und mal Messen lassen. Der ADC-Wert lag bei allen Messungen zwischen 618 und 622. Kann bei dem gemessenen Spannungsabfall und den Widerstandswerten eigentlich gar nicht sein - oder?

Die Ursache liegt in der "stabilisierten" Versorgungsspannung von ca. 5V, welche als Referenz-Spannung für den ADC verwendet wird. Ca. muss hier wörtlich genommen werden, da die Spannung bei mir zwischen 5,06 und 5,1 V pendelte. Wenn man diesen Wert zusammen mit den gemittelten anderen Werten mit in die Berechnung einbezieht kommt man der "Mess-Wahrheit" ein ganzes Stück näher:

(1024/5,08) * ((10-0,35)/14,658) * 4,678 = 621

Bedeutet einen Faktor von 1/621 = 0,01615, mit dem man auf einem recht guten Weg ist. Die 5 habe ich wegen der Schankungen noch dazugepackt ...

Übrigens ist im Initializer2-Programm noch eine andere Formel enthalten: (adc_read(AN_VBAT)-24)*0.01734
Die ist aber auch nicht besser wie andere Formeln und liefert bei 10 Volt Versorgungsspannung 10,3 Volt Ausgabewert :-)

Immer einen genauen Wert zu haben ist, glaube ich, Illusorisch wegen des variierenden Spannungsabfalls an der Diode und der nur bedingt stabilen Versorgungs- (Referenz-) Spannung. Wenn beide Motoren mit Vollast laufen und die gesamte Beleuchtung (auch IR) aktiv ist, dann wird das Ganze geschätzt 600 - 800 mA verbraten. Lt. Datenblatt fallen dann an der Diode (bei 700 mA) ca. 420 mV ab.

Wenn's nicht ganz stimmt - O.K. ich bin halt nur ein "experimenteller Hobby-Elekroniker" :-) - ich lasse mich gerne korrigieren ...
Letzte Änderung: 11 Jahre 2 Monate her von jim_quakenbush.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Spannungsanzeige 11 Jahre 2 Monate her #2225

  • achim S.
  • achim S.s Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 441
Hallo Jim
kann deinen Worten nicht ganz folgen. Besonders das mit der Referenzspannung. Nach dem Datenblatt vonm 128 ist der PIN 62 AREF, Eingang Referenzspannung. Dort liegt ein C von 100nF nach Masse. Nach dem Datenblatt liegt dann eine Spannung von 2,56V an. Habe bei Googel schon gesucht, wie das Verhältnis zwischen Referenzspannung und Messwert ist. Auf einenigen Seiten wird gesagt, das die Messpannung nicht höher als die Referenzspannung sein kann. Auf anderen seiten gerade das Gegenteil. Wenn ich aber vom Verhältnis der Widerstände ausgehe 10k / 4,7k mit dem Spannungsabfall über die SB140, so ergibt sich ein relativer krummer Wert. Im Überschlag von ca. 10V * 1/3 - 400mV, so liegen wir bei ca. 2,8V (+/-). Ist den eine Messung über 2,56V möglich?
achim
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Spannungsanzeige 11 Jahre 2 Monate her #2226

  • BirgerT
  • BirgerTs Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 325
Habe gerade vom "nibo2_hardwarecheck" einen neuen Build mit Korrektur der volt Variable auf uint16_t erstellt.
Aber mal ehrlich - lohnt sich die Rechnerei der Widerstandsverhältnisse wirklich?
An den Widerständen könnt Ihr sowieso kaum was ändern, und für die Akkuüberwachung ist doch nur der Bereich >8 Volt interessant. Und wenn sowieso ein Messgerät vorhanden ist..
Also zum Ladepfostensteckverbinder - in Fahrtrichtung der vordere Pin ist GND (X7-3), der mittlere Pin (X7-2) ist ein externer Spannungseingang der wie die Akkus auf VPOW geht.
Also Nibo2 Ausschalten und über X7 ein Netzteil angeschlossen, und schon kann man mit verschiedenen Spannungen testen. Im hardwarecheck wird ja auch der Rohwert bot_supply angezeigt.
Jetzt kann man die Werte von 8,0 bis 10,4 Volt mal durchfahren, und der GAG dabei, der Spannungsabfall über der SB120 ist auch schon berücksichtigt..und alles ohne Taschenrechner und Fliesskomma Arithmetik.

Naja - vielleicht sollte man in seinen öffentlichen Projekten auch die Akku-Spannung angeben, bei der das Programm funktioniert - :lol:
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Spannungsanzeige 11 Jahre 2 Monate her #2227

Hallo Achim,

beim Nibo2 wird AVCC als Referenzspannung genommen - schau mal in die ADC-Source ...

uint16_t adc_read(uint8_t channel){
uint16_t result = 0x00;

// Reference voltage: AVCC (5V)
ADMUX= _BV(REFS0);

Man kann auch andere Spannungsreferenzen nehmen (wie die interne mit 2,56 V) aber nicht mit der vorliegenden Schaltung.

Gruß
Dieter
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Spannungsanzeige 11 Jahre 2 Monate her #2228

Hallo BirgerT,

gute Frage - lohnt sich ein Hobby? Lohnt es sicht, etwas verstehen zu wollen?

Muss jeder für sich entscheiden. Habe ja geschrieben, dass es verschiendene Ansätze gibt.
Wie der Spannungsabfall an der Diode durch den Netzteilanschluss "schon berücksichtigt" ist,
das verstehe ich allerdings nicht :-( ...

Gruß
Dieter
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Ladezeit der Seite: 0.044 Sekunden

Werbung