-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: Per A/D Konverter Spannung anzeigen lassen.

  1. #1
    Murus
    Gast

    Per A/D Konverter Spannung anzeigen lassen.

    Anzeige

    Hallo zusammen.
    Ich habe einen Mega8 und als Spannungsreferenz nehme ich AVCC (5V)

    Ich schaffe es, den Wert des ADCs von einem ADC-Port auf einem LCD darstellen zu lassen, z.B. 1024 oder 485 etc.
    Diese Werte möchte ich nun in eine Spannung umrechnen. Doch ich habe ein Problem... Wie stelle ich Nachkommastellen dar??

    Ich habs bis jetzt so gemacht:
    1024 geteilt durch den Wert des Konverters (hier jetzt mal 512) macht 2.
    Dann teile ich 5 durch 2, macht 2.5.

    Diese 2.5V möchte ich auf dem LCD haben... Nur: Er kriegt nur ganze Zahlen hin...
    Wie muss ich das lösen?

    Herzliche Grüsse
    Mario

  2. #2
    Murus
    Gast
    Hmm, ich kriegs hin, dass er mir mV ausgibt... Bei ADC von 512 schreibt er 2500mV....
    Wie krieg ich das jetzt als Volt hin?
    Kann man diese Zahl mit einem Befehl zerlegen?

    Greets
    Mario

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099
    hi

    genau da bin ich auch dran.

    In welcher Sprache schreibst du deine Programme und kannste das vielleicht mal online stellen, möchte das mal vergleichen.



    gruß
    patrick

  4. #4
    Murus
    Gast
    Ich écris in Bascom.

    Hier mal le code:

    $regfile= "m8def.dat"
    $crystal=1000000

    DDRC.1=0 ' Ich verwende den AD Port 1. Also: Eingang.

    Config Adc=Single, Prescaler=Auto, Reference=Avcc ' Adc einstellen

    Config Lcd=20*2
    Config Lcdpin=pin, E= Portb etc. etc. ' LCD einstellen

    Start adc ' Adc anwerfen
    Dim W as Long

    Do
    cls ' Display leeren
    W= Getadc(1) ' den Wert vom Port 1 holen
    Locate 2,1
    lcd W 'Zur Kontrolle mal diesen Wert aufm LCD zeigen.

    W=5000*W
    W=W/1024

    locate 1, 1
    Lcd W

    Loop
    End

    So krieg ich 2500 aufm LCD... Jetzt bräuchte man noch ein Komma dazwischen und es wäre perfekt. Wie macht man das?


    Greets Mario

  5. #5

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    W=5000*W
    Lcd W
    So krieg ich 2500 aufm LCD...
    W ist als Word eingestellt. Word geht nur bis 1024. Somit sind die 2500 nur ein Anzeigefehler!
    Wenn 1000 auf's Display geschrieben wird, und danach 250, steht auf dem LCD 2500, weil die letzte 0 von 1000 ja nicht gelöscht wurde. Es wurde nur die 100 von der 1000 mit 250 überschrieben.
    Bevor ein neuer Wert geschrieben wird, sollte die Anzeige an der Stelle gelöscht werden. Oder der Wert so formatieren, das er immer die gleichen Stellen belegt. lso so das 250 als 0250 angezeigt wird.

    5000*W in einem Word erzeugt nur einen Überlauf und damit ein falsches Ergebnis.

  7. #7
    Murus
    Gast
    Ja, hab ich schon korrigiert, es muss ein Long sein...

    Wie kann ich das LCD an einer bestimmten stelle löschen??
    locate y, x
    cls??

    Damit man mit Kommas rechnen kann, muss man als single oder double deklarieren... Bis wohin gehen diese Dinger? (Wieviel Bit bringen sie?)
    Kann man das nicht eleganter über die Ausgabe lösen, so, dass z.B. die zweite Stelle ein Komma hat oder so?
    Nur: wie zerlegt man die Zahlen??

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Ja, hab ich schon korrigiert, es muss ein Long sein...
    Und jetzt klappt es mit dem Komma???

    Wie kann ich das LCD an einer bestimmten stelle löschen??
    locate y, x
    cls??
    Nein, CLS löscht das ganze Display.
    Locate y,x
    LCD " "
    So wäre es einfacher. Zumindest wenn der Rest auf dem LCD stehen bleiben soll.

  9. #9
    Murus
    Gast
    Ne, das mit dem Komma klappt doch auch net, wenn es ein Long ist....
    Man müsst eben single nehmen.
    Ich möchte es aber irgendwie mit einer Ausgaberoutine machen..

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Ganz zufällig habe ich noch einen anderen Beitrag gefunden, wo das gleiche Problem behandelt wird.
    http://www.mikrocontroller.net/forum...38.html#235072

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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