-         

Ergebnis 1 bis 4 von 4

Thema: frage adc

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.12.2005
    Beiträge
    97

    frage adc

    Anzeige

    Hi

    Ich möchte mir einen "Treppenhausautomat" aufbauen.

    Dazu will ich einen at90s2313 mit 2 Tastern (EIN,AUS,beide gleichzeitig gedrückt Zeit einstellen) verwenden (Ist ja kein Problem) nur ich hab einen Haufen LCD Panelmeter und möchte eines dazu verwenden um mir die eingestellte bzw. im eingeschaltenen Zustand rest Zeit Anzuzeigen.

    Lcd ist - 4 Stellig zB.: 1922 => 19min 22s ...
    - liegt an 5V
    - Messbereich 0 - "5"V

    Frage kann man die Zeit umrechnen und als analog wert ausgeben das dann im LCD min s einzeln ausgegeben wird. zb.: 1min 20s eingestellt =>80s=> umrechnung AVR =>port=>Lcd auswertung=> Anzeige 0120 od 120?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2005
    Ort
    @FFM
    Alter
    41
    Beiträge
    402
    hi tom

    zur umrechnung müßte man erstmal wissen wie du deine ablaufzeit definiert
    hast.
    zb die Anzahl die sekunden in n byte oder als integer das du mit ner schleife und waitms anweisungen hochzählst
    oder ob deine ablaufende Zeit bestandteil des internen counters ist
    alles in allen kannst du die abzulaufende zeit ja zum verhältniss zu 50min (entspricht dann ja wohl der maximalen Zeit) setzen
    dann müßtest du deine zeit noch in minuten und sekunden teilen
    da es ja später nicht mehr wie xx59 als Anzeige geben darf
    also entspricht wenn du den hardware pwm nimmst im idealfall
    compare 0 den vollen 5V(50min) und compare 255 0V also (0sek)
    den pwm ausgang wirst du wahrscheinlich solange mit filtern bearbeiten müssen bis da ne einigermaßen geglättete spannung rauskommt
    der rest ist nur ne rechenaufgabe

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    25.12.2005
    Beiträge
    97
    servus

    ich hätte die Zeit in s def. und diese mit dem internen counter zählen lassen. Die max. Zeit solte bei 20min liegen also bei 1200s liegen. Ich spiel mich schon einige Zeit nur schaff ich die Sprünge von 1959(19min 59s) auf 2000 (20min 00s);1859 auf 1900;... nicht. das lcd läuft immer weiter 1959,1960,1961,...

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2005
    Ort
    @FFM
    Alter
    41
    Beiträge
    402
    erstmal wird es grundsätzlich schwer eine aufösung von 2000
    zu schaffen da der interne pwm ja nur mit max 10 bit arbeitet also 1024

    weiterhin mußt du die zeit aufteilen in sekunden und minuten

    mal angenommen 1 sekunde entspricht zb einem pwm compare von 1
    und der pwm könnte bis 2000 arbeiten die dann 2,000Volt entsprechen (Anzeige 2000)
    dann gilt pwmcompare=(min*100)+sek bei 10min 30 sek wäre dass
    10*100=1000 plus 30 also 1030 das gibt dann 1,03 Volt also ne anzeige von 1030

    da der timer das jedoch nicht macht kannst du zb bei ner Auflösung von
    1024 nen Teiler einrechnen und nen spannungsteiler an ausgang hängen der dir aus 4,882V (entspricht dann compare 1000) 2V macht die dann den 1000 entsprechen also compare 1 entspricht ner anzeige von 0002 (2 Sekunden)
    die neue Formel ist nun pwmcompare = (min*100)/2+(sek/2) also jetzt
    10*100 =1000 /2 = 500 +30/2 = 516
    wenn du den pwm nun mit comparea= 516 aktivierst erhältst du 2,52 volt
    die dann durch den spannungsteiler auf 1,03 Volt und den rest geteilt werden und schon hast du als Anzeige 1030

    Ich hoffe ich lieg ungefähr richtig und hab kein Denkfehler drin

    Gruß Daniel

Berechtigungen

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