-         

Ergebnis 1 bis 6 von 6

Thema: max +15V mit ATMEGA8535 messen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Beiträge
    101

    max +15V mit ATMEGA8535 messen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen!
    Ich möchte mit einem ATMEGA8535 eine Batteriespannung von 12V messen.
    Das funktioniert auch schon so einigermaßen.
    Aber gerade im Bereich zwischen 10...14V ist das ganze sehr ungenau.
    Ich muß praktisch jedesmal einen anderen Faktor wählen um auf die richtige Spannung zu kommen.
    Wenn ich Ue und Uadc bei jedem Volt messe sieht man das Unlineare
    gerade in dem Bereich der mich interessiert.
    Ue Uadc
    [V] -> [V]
    15 ->3,998
    14 ->3,869
    13 ->3,717
    12 ->3,518
    11 ->3,296
    10 ->3,034
    9 ->2,751
    8 ->2,454
    7 ->2,150
    6 ->1,845
    5 ->1,540

    Die Eingangsspannung geht auf ein 5kOhm Poti, vom Schleifer geh ich an den ADC Kanal 0. Am Eingang des ADC K0 habe ich eine ZD4,7V.

    Kann das an der Z-Diode (4,7V) oder an der Referenzspannung AREF=4,0V liegen? Hat da jemand eine Idee?

    2.Frage:
    Wie macht man das im Forum wenn man den Code in ein zusätzliches Fenster schreiben möchte?

    Gruß
    Hans

    Ds ist das Programm:
    '************************************************* *********
    '* Liest den ADU-Channel-0 aus und zeigt ihn an der LCD-Anzeige an.
    '* Der ADU hat 10Bit Auflösung. d.h. 2 hoch 10 =1024 -1Bit = 1023
    '* ==> 4V/ 1023 =0,003910 d.h. 1Digit = 0,00391 V
    '* Anschluss am STK200:
    '* AREF auf 4V einstellen.
    '* Die interne AREF ist mit "Reference = Off" ausgeschaltet
    '* (Siehe Help "Config ADC")
    '*
    '************************************************* *********
    Umess:
    Dim Adu_wert As Word
    Dim U_an_adc0 As Single
    Dim Umes As Single
    Const Channel = 0 '

    Config Adc = Single , Prescaler = Auto , Reference = Off
    Start Adc

    '--- Auslesen Kanal 0--------------------------------------------------------
    Do
    Adu_wert = Getadc(channel)
    U_an_adc0 = Adu_wert * 0.00391 '///4 Volt AREF/ 1023=0,00391
    '// U_an_adc0 ist der Wert, der am ADC0 anliegt
    '// Da davor noch ein Spannungsteiler ist, an dem eine höhere
    '// Spannung anliegt, muss ein Faktor rein
    '// (hier im Beisp: 9,53V = 2,91V => 3,4237

    Umes = U_an_adc0 * 3.42378

    '---Spannung am ADC0 ------------------------------------
    Locate 1 , 1
    Lcd "UADC=" ; Fusing(u_an_adc0 , "##.#")
    Locate 1 , 10
    Lcd "V" ' Volt wird hinter Wert angezeigt
    Waitms 100

    '---Spannung am Eingang -----------------------------------
    Locate 2 , 1
    Lcd "UEin=" ; Fusing(umes , "##.#")
    Locate 2 , 10
    Lcd "V" ' Volt wird hinter Wert angezeigt
    Waitms 100

    Loop
    Return

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo Hans55,

    das einzige, was eine Unlinearität bringen könnte, ist die ZD. Die würde ich weglassen.
    Warum nimmst du nicht 5V als Referenz und einen Spannungsteiler mit dem Widerstandsverhältnis 1 : 2 ?
    Damit kannst du 15V gut messen!

    Code kannst du durch die Code-Tags [ Code ] einschließen.

    Gruß Dirk

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Beiträge
    101
    Hallo Dirk!
    Danke für die schnelle Antwort!
    Das werde ich gleich mal probieren.
    Gruß
    Hans

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Beiträge
    101
    Hallo Dirk!
    Das war die unlineare ZDiode. Wenn sie draußen ist, paßt alles.
    Wie kann ich aber den Eingang gegen Überspannung schützen falls doch mal von der Lichtmaschine etwas mehr kommen sollte? Evtl. eine ZD18 direkt am Eingang müsste doch funktionieren oder?
    Gruß
    Hans

  5. #5
    Hallo Hans55,

    steh vor dem gleichen Problem..
    Muss aber gleich dazusagen, dass ich mich mit µC auch noch nicht sehr lange befasse.
    Also das mit der ZD wird keine 100% Sicherheit sein. Sollte die Diode mal hops gehe,
    hast du keinen Schutz mehr gegen Überspannung.
    Evtl hilft ja ein C, der die Spitzen abfängt.

    Im Moment hab ich auch nur den Spannungsteiler.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Beiträge
    101
    Hallo Mikado!
    Ich hab vor einen 18V Varistor direkt an den Eingang anzuschließen.
    Zusätzlich hab ich noch ein L=330uH in der Plusleitung und dahinter ein C=100n. Ist besser als nix. Obs was hilft wird sich rausstellen.
    Die Spannungsmessung und die LCD-Anzeige funzt inzwischen recht gut.
    Im Moment bin ich bei der Stromanzeige.
    Gruß
    Hans

Berechtigungen

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