-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: AAR04 Arexx Arduino Roboter - Batteriespannung ermitteln

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.09.2006
    Beiträge
    8

    AAR04 Arexx Arduino Roboter - Batteriespannung ermitteln

    Anzeige

    Hallo,

    ich Suche gerade nach einer Möglichkeit beim AAR04 die aktuelle Batteriespannung zu ermitteln. Meine erste Idee war, wie beim Asuro und beim NIBObee hierfür die interne Referenzspannung des Controllers zu verwenden. Die interne Referenzspannung beim ATmega 328P beträgt jedoch nur 1,1 V. Der Spannungsabfall an R31 ist jedoch deutlich größer. Wozu dann überhaupt dieser Spannungsteiler aus R31 und R32?
    Im Schaltplan ist eine externe Referenzspannung von 3,3 V angegeben. Allerdings verstehe ich nicht, wo diese Spannung herkommt und ob sich diese für die Ermittlung der Batteriespannung eignet. Hat jemand eine Idee?

    Gruß
    Fraggle
    Angehängte Dateien Angehängte Dateien
    Geändert von Fraggle (31.12.2012 um 14:32 Uhr)

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Pin 17 vom IC1. Das sollte sich als Referenz für die Batteriemessung eignen.

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    13.09.2006
    Beiträge
    8
    Ahhh, jetzt sehe ich auch wo die 3,3 V herkommen. Also versuche ich es mit der externen Referenzspannung. Vielen Dank!

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Kandel
    Alter
    29
    Beiträge
    1.220
    Du kannst auch auf anderem Wege direkt messen, die interne Spannungsreferenz dürfte genauer sein als die 3,3V vom FT232. Dazu musst du ARef auf VCC stellen und den Messkanal Vin auf VBG (interne 1,1V Spannungsreferenz) konfigurieren.

    Die Spannung berechnet sich dann wie folgend (ADC = Wert im ADC-Register nach der Wandlung, VCC = Versorgungsspannung, VBG = interne Referenzspannung):
    ADC = Vin / ARef * 1024 = VBG / VCC * 1024
    Nach Umformung: VCC = 1024 / ADC * VBG

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    13.09.2006
    Beiträge
    8
    ich habe selbst gerade feststellen müssen, dass die 3,3V vom FT232 völlig ungeeignet ist. Mit einem Multimeter gemessen beträgt diese 4,1 V im USB-Betrieb, bei Batteriebetrieb nochmals deutlich darüber. So kann es nicht gehen, ich werde jetzt die Idee von Markus umsetzen, vielen Dank dafür.

    Gruß
    Fraggle

    - - - Aktualisiert - - -

    @Markus: Wenn ich die interne Referenzspannung verwende, habe ich doch nur die Möglichkeiten a) Betriebsspannung als Referenz oder b) intern bereitgestellte Spannung (1,1V) als Referenz zu verwenden. Deinen Satz: "Dazu musst du ARef auf VCC stellen und den Messkanal Vin auf VBG (interne 1,1V Spannungsreferenz) konfigurieren" verstehe ich nicht. Wie geht das?

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Ein interessantes Thema. Schau mal ins Datenblatt unter "Table 24-4. Input Channel Selections" Um die internen 1.1V zu messen muss der Kanal 14 (0b1110) ausgewählt werden.

    Zur Formel: Ich würde es so ausrechnen:

    Vcc(=VREF)/1023 = 1.1V/ADC-Wert.

    Ich glaube, der R29 (1k) muss entfernt werden und REFS1:0 muss 0:1 sein: "AVCC with external capacitor at AREF pin"

    Gruß

    mic
    Geändert von radbruch (31.12.2012 um 17:42 Uhr)

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Kandel
    Alter
    29
    Beiträge
    1.220
    mic hat recht. Bei anderen AVRs gibt es noch AVCC ohne Entkoppelkondensator, es gibt dann keine Verbindung zum Pin AREF.

    Edit: mic, dir ist die 1023 bei der Umformung abhanden gekommen. 2,2V VCC ergäben ADC 511 oder 512, du würdest da einen seeeeehr kleinen Wert ermitteln.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    13.09.2006
    Beiträge
    8
    ja, die Tabelle 24-4 im Datenblatt habe ich auch schon betrachtet. Ich verstehe nur nicht, woher der Controller dann weis, dass er eigentlich die Spannung an Kanal 2 bestimmen soll und was meinst du mit "Um die internen 1.1V zu messen ...". Die 1,1V sind doch fest. Klar ist "AVCC with external capacitor at AREF pin" bezieht sich auf VCC als Referenzspannung. Nur die möchte ich ja gerade bestimmen. Das R29 entfernt werden muss glaube ich nicht, da die Liniensensoren mit VCC als Referenzspannung tadellos funktionieren. Ich muss jetzt noch etwas fürs Raclette vorbereiten. Morgen (oder Übermorgen) denke ich noch mal darüber nach. Guten Rutsch! Fraggle

  9. #9
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Für mich ist das auch Neuland, ich hatte bisher immer die 2,56V-Referenz verwendet.

    Hier muss man rückwärts denken: Welche Vcc müßte als Referenz anliegen damit die internen 1.1V als der vom ADC eingelesene Wert erscheint? Hier ein Rechnenbeispiel für 5V als Vcc (nach meiner Formel oben):

    Vcc = 1.1V*1023/ADC

    1023/5V = ADC/1.1V oder adc=1023/5V*1.1V

    Der ADC würde ca. 225 einlesen.

    Gegenprobe: Die Batteriespannung, und damit auch die Referenzspannung, sinkt und deshalb steigt der eingelesene Wert für die internen 1.1V (im Vergleich zu Vcc/VREF). Bei eingelesenen 250 würde die Batteriespannung auf 1.1V*1023/250 oder 4,5V abgesunken sein.

    Der R29 verbindet die externe Referenz mit 3.3V, Wir wollen aber Vcc als Referenz verwenden, deshalb muss diese Verbindung über R29 verschwinden. Dann bleibt nur noch C9 als "external capacitor at AREF pin".

    Was mich verwirrt: In dem von dir verlinkten Schaltplan ist ein Mega168-AU eingezeichnet, dessen Pinout ist unterschiedlich zu deinem 328P!

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    13.09.2006
    Beiträge
    8
    Frohes Neues,

    endlich habe ich es auch verstanden! Ich war die ganze Zeit so auf den Spannungsteiler aus R31 und R32 und damit auf Kanal 2 des AD-Wandlers fixiert, dass ich alles andere ausgeblendet habe. Es funktioniert mit der sogenannten Bandgap-Referenz des AVRs. Dazu
    - den Pin AVCC auf VCC legen (ist hardwaremäßig schon vorgegeben).
    - AVCC als Referenzspannung festlegen.
    - Kanal 14 als Eingangskanal (VBG) festlegen.
    - Berechnung vom aktuellem VCC-Wert wie von Markus beschrieben.
    Funktioniert bestens, vielen Dank für die Tipps!
    @radbruch: Laut Datenblatt sind die AVRs ATmega168A und ATmega328P doch Pinkompatibel. Finde den Schaltplan allgemein sehr unübersichtlich, insbesondere wenn man den Roboter in C und nicht im Arduino-Dialekt programmieren möchte.

    Gruß
    Fraggle
    Geändert von Fraggle (01.01.2013 um 14:26 Uhr)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. AAR04 Arexx Arduino Roboter - Erste Eindrücke
    Von m.a.r.v.i.n im Forum Asuro
    Antworten: 26
    Letzter Beitrag: 17.12.2014, 21:51
  2. Antworten: 6
    Letzter Beitrag: 30.12.2012, 21:38
  3. Lüfterdrehzahl ermitteln, Arduino...
    Von Steglo2 im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 2
    Letzter Beitrag: 22.12.2012, 17:56
  4. Arduino Roboter
    Von hammerhai im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 8
    Letzter Beitrag: 20.03.2012, 14:18
  5. Ronnie - Arduino Roboter!
    Von Torrentula im Forum Arduino -Plattform
    Antworten: 14
    Letzter Beitrag: 30.10.2011, 18:38

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •