-         

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

Thema: ADC Batteriespannung messen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96

    ADC Batteriespannung messen

    Anzeige

    Hallo alle zusammen
    ich hab mal wider ne frage
    und zwar will ich zwei Spannungen überwachen die eine ist 9V die andere ist 36V, da man die meines wissen nicht direkt an den mega32 anschließen kan hab ich zwei Spannungsteiler, so das beide Spannungen auf 5V kommen. Meine Frage is jetzt ob man mit dem mega32 zwei Spannungen überwachen kan und wenn ja an welchen port man die Spannungen anschließen muss.
    und wie man des in Bascom dan fest legt.

    Danke schon mal
    Lg micha

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Hi,
    Du schließt die auf 5V geteilten Spannungen (vorher nochmal mit dem Multimeter kontrollieren!) and einen ADC Pin deiner Wahl an. Wie das dann in Bascom weitergeht findest du in der Hilfe, Stichwort ADC.
    Viele Grüße, William
    -> http://william.thielicke.org/

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hi
    sorry war mein fehler ich hätte die frage en bissel anderst stellen sollen, ich hab schon en Bascom code was mir noch nicht ganz schlüssig is wie weiß der microcontroller welchen adc port er auslesen soll.
    lg micha

    Code:
    'Spannung.bas
    $regfile = "m32def.dat"
    $crystal = 16000000
    
    'ADC einstellen, Vorteiler Automatisch wählen, Referenz Intern 5V
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    Start Adc                                                   'ADC starten
    
    Declare Sub _betriebsspannung()                             'Subroutine der Messung
    Const Ref = 5 / 1023                                        'Auflösung berechnen 0.005V = 5mV
    Dim Volt As Single
    Dim Betriebsspannung As Single
    
    Main:                                                       'Endlosschleife
    Do
    
    Call _betriebsspannung()                                    'Rutine aufrufen
    Print Volt ; "Volt"                                         'Spannung über RS232 ausgeben
    Waitms 500                                                  '500ms warten
    
    Loop
    End
    
    Sub _betriebsspannung()
    
       Local W As Word                                          'Variable die nur in der Sub benutzt wird
       W = Getadc(6)                                            'Rohwert einlesen 0 bis 1023
       Betriebsspannung = W * Ref                               'auf V umrechen
       Betriebsspannung = Betriebsspannung * 5.2941             'Spannungsteiler Verhältnis einbeziehen
       Volt = Betriebsspannung                                  'Ausgabe in Volt
    
    End Sub

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Dein Code liest den Pin 6 ein. GetADC(6). Dafür gibt es eigentlich eine sehr gute Bascom Hilfe. Wenn du die Spannung einer Batterie messen willst, sollte der Spannungsteiler recht hochohmig sein, sonst ist die Batterie schneller leer, als geplant.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hi
    danke für die Antwort... also ich hab bei dem Spannungsteiler für die 36V 15kohm und 2,4kohm und für die 9V 7,5kohm und 9,1kohm ist des groß genug

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Sieh Dir mal das Ohmsche Gesetz an. Dann noch die Daten der Batterien und du kannst ausrechnen, wie lange die Batterien die nötige Energie liefern können.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.04.2010
    Beiträge
    170
    Ich hab das eben mal durchgerechnet mit den angegebenen Werten.
    Du hättest bei 36V 4,965V am Abgriff und bei 9V 4,934V am Abgriff.
    Ich hätte da recht viel angst um den Chip, weil die Leerlaufspannung eines Akkus deutlich über der angegebenen liegen kann.
    Ausserdem haben Widerstände Toleranzen drin und wenn die ungünstig liegen kommst Du über die Betriebsspannung und dann gibt der Chip Rauchzeichen.

    MfG JoeBlack

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    938
    Zwar kenne ich die AVRs nicht, aber typischerweise kann man so vorgehen:
    Wenn die Analogeingänge des Controllers nicht geclamped sind, dann je eine Schottkydiode vom ADC-Eingang in Richtung AVcc bzw. Vcc. Da die Meßspannungen über einen Serienwiderstand an den Controller kommen, sind die möglichen Ableitströme hier auf Daumenwert 0,5 bzw. 2 mA begrenzt.
    Einzige Voraussetzung: Der fremd-eingespeiste Strom muß irgendwo hin fließen, also z.B. in der Schaltung verbraucht werden. Andernfalls baut sich doch eine Überspannung auf.

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hi
    allso ich hab jetzt mal die Spannug bei 9V mit den Widerständen gemessen die ich oben angegeben hatte und es ligen 5.10V an. Kann man den trotzdem an dem AVR anschließem oder tut des dem nicht gut ..?

  10. #10
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Beim AVR sind Clamp dioden an den ADC-Eingaängen, aber der Stromverbrauch ist sehr niedreig. Man braucht also auch den Widerstand nach GND, also ein vollständigen Spannungsteiler. Wenn der Spannungteiler hochohmig genug ist, hat man über die Dioden auch einen Schutz falls die Spannung nach dem Teiler noch mal über 5 V gehen würde. Oft kann man auch die interne Ref. nutzen und hat dann ohnehin noch eine Reserve von 2,5 V bis 5 V.

    Die oben genannten Widerstände sind recht klein: da vielt realtiv viel Strom aus der Batterie.
    Als grobe Fastregel kann man für den Widerstand nach GND 10-20 K nehmen, und den Widerstand zu zu messenden Spannung entsprechend anpassen. Für 9 V am Eingang wären 2 mal 22 K ganz brauchbar: Der Bereich wäre dann bis 10 V. Mit Hilfe eines Kondensators darf der Spannungsteiler auch noch deutlich hochohmiger werden.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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