-         

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

Thema: Knopfzelle am Analogport Spannung messen.

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.01.2006
    Ort
    Straubing
    Alter
    40
    Beiträge
    698

    Knopfzelle am Analogport Spannung messen.

    Anzeige

    Hallo Leute,
    ich habe mir ein RN-Control zu gelget um das Programmieren zu lernen.

    Nun versuche ich verschieden eingänge und Ausgänge zu schalten und zu Messen.

    Ich habe am Analogport Pin 0 und und GND 3 Knopfzellen (in Rehe) angeschlossen und möchte die Spannnug deren messen.

    Dazu habe ich folgenden Code:

    Code:
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    
    Config Adc = Single , Prescaler = Auto        'Für Spannungsmessung
    
    Config Pina.0 = Input                                       'Für Spannungsmessung Porta.0 = 1                                                 'Pullup Widerstand ein
    
    Const Ref = 5 / 1023                                        'Für Batteriespannungsberechnung
    Dim Volt As Single
    Dim W As Word
    
    Do
       W = Getadc(0)
       Volt = W * Ref
       Volt = Volt * 5.2941
       Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt"
    
       Waitms 100
    Loop
    
    End
    Leider bekomme ich dann in dem Terminal 0 Volt angezeigt.
    Wenn ich mit einem Multimeter die Spannung messe ist diese 2,5 Volt

    Weiß vielleicht jemand was ich falsch mache?
    Danke im voraus
    Gruß Eddie
    __________________________________________________ ___________________
    Habe keine Angst davor, etwas Neues auszuprobieren, ein Amateur hat die Arche gebaut, Profis die Titanic!

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Ich hätte den Verdacht, das die Konstante Ref als Integer berechent wird, und damit 0 rauskommt. Wenn schon könnte man auch 5*5.29/1023 gleich zusammenfassen als konstante oder gleich in den Text.

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    38
    Beiträge
    642
    Hi meddie,

    ich glaube das hier wird deine Frage beantworten:
    http://www.mikrocontroller.net/topic/88128
    du musst halt nur den LCD Befehl durch Print ersetzen.

    lg
    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.01.2006
    Ort
    Straubing
    Alter
    40
    Beiträge
    698
    Danke ja das hat geholfen!
    Aber eine Frage habe ich trotzdem noch, ich habe nun das Beispielprogramm von RN-Control, das von Haus aus dabei ist laufen lassen, da werden ja auch die A-Ports abgefragt, und da steigt die Spannung immer. In dem Beispiel von Roboternetz sinkt diese, (ich lasse in der Schleife einfch alle 500 ms die Werte ausgeben und diese veränderns ich. womit kann das zusammen hängen?

    EDIT: wenn ich den PullUp Widerstand einschalte dann steigt der gemessena ADC Wert langsam, schalte ich den Pullup Widerstand aus sinkt der Messwert.

    Wenn ich beim Config von Adc Reference=Aref eingebe steigt/sinkt der Messwert etwas langsamer. Brauche ich evtl einen Widerstand bei der Batterie um den Wert zu messen?
    Gruß Eddie
    __________________________________________________ ___________________
    Habe keine Angst davor, etwas Neues auszuprobieren, ein Amateur hat die Arche gebaut, Profis die Titanic!

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    38
    Beiträge
    642
    Ich denke das könnte an der hohen Taktfrequenz von 16MHz liegen.
    Vielleicht läd sich da im inneren des Controllers eine Kapazität auf die sich nicht schnell genug wieder entladen kann- ist aber nur eine Vermutung.
    Hast du den Pin AVCC des AVR auf +5V gelegt und dann noch zusätzlich
    einen 100nF gegen GND geschaltet? An einigen Stellen wird auch empfohlen
    noch eine Drossel in Reihe zu +5V zu schalten für AVCC.
    Vielleicht könte das noch Abhilfe schaffen.

    Mfg
    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.01.2006
    Ort
    Straubing
    Alter
    40
    Beiträge
    698
    Das ist ja das RN-Control Board von RN und da sind die beiden 100nF drin. Wenn ich das vom Schaltplan richtig entnommen habe.
    Gruß Eddie
    __________________________________________________ ___________________
    Habe keine Angst davor, etwas Neues auszuprobieren, ein Amateur hat die Arche gebaut, Profis die Titanic!

  7. #7
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    38
    Beiträge
    642
    Sorry, da weiß ich auch nicht weiter.

    Aber du könntest mal folgendes Versuchen:

    -was passiert wenn du nur einen ADC zyklisch abfragst?
    -was passiert wenn du den Intervall von 500ms auf einen größeren Wert einstellst?
    -die Taktfrequenz auf 4MHz intern runterschraubst (könnte dann evt. Probleme mit der Datenübertragung geben)

    lg
    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo meddie,
    ... das Beispielprogramm von RN-Control, ... da steigt die Spannung immer.
    Was heißt das? Da du ja die Spannung einer Batterie mißt, ist der Wert nicht konstant. Um wieviel steigt denn der Wert? Wenn das wenige Hundert mV sind, kann das auch realistisch sein, z.B. wenn die Batterie vor der Messung belastet wurde.

    ... wenn ich den PullUp Widerstand einschalte ...
    Bei der Spannungsmessung sollte man keinen Pullup einschalten.

    Brauche ich evtl einen Widerstand bei der Batterie um den Wert zu messen?
    Ohne eine "Last" (= Verbraucher) wird die Leerlaufspannung der Batterie gemessen. Wenn die Spannung unter Last gemessen werden soll, muss man den Verbraucher an der Batterie lassen.

    Gruß Dirk

  9. #9
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    2,5 V für 3 batterien kleingt nach sehr leeren Batterien. Könnte es sein, das die Batterien langsam über den Pullup geladen werden ?

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.01.2006
    Ort
    Straubing
    Alter
    40
    Beiträge
    698
    Der Wert ist von 1,72 Volt auf 3,3 Volt gestiegen in einem Zeitfenster von ca 30 Minuten. Das habe ich mir auch schon überlegt ob die nicht über den µC geladen werden. Ich habe die Batterien im Schub gefunden, die liegen dort schon ewig. Hatte kurz mit einem Multimeter gemessen, da zeigte er 2,5 Volt an, also dachte ich mir dass es zum experementieren reicht. Ich habe im 'Moment keinen Muktimeter zur Hand, rein theoretisch müßte ja der wert beim multimeter auch steigen oder?
    Gruß Eddie
    __________________________________________________ ___________________
    Habe keine Angst davor, etwas Neues auszuprobieren, ein Amateur hat die Arche gebaut, Profis die Titanic!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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