- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 3 von 3

Thema: Wie am Besten Ein- und Ausschaltverzögerungen realisieren?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    18.07.2005
    Beiträge
    49

    Wie am Besten Ein- und Ausschaltverzögerungen realisieren?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    ich werde in nächster Zeit eine Steuerung bauen, mit der ich verschiedene Lampen und 230V-Verbraucher mit Relais schalten kann. U.a. mit der Fernbedienung (RC5).
    Ich habe schon so manches SPS Programm geschrieben (S5 und S7). Da ist eine Ein- bzw. Ausschaltverzögerung sehr einfach zu realisieren.

    Meine eigentliche Frage: Wie macht man das am Besten in Bascom?

    Das Problem bei waitms ist ja, dass der µC in dieser Zeit stillsteht und nichts "mitkriegt".

    Ein einfaches Beispiel:
    Wenn ein Eingang HIGH wird, soll nach 2s ein Ausgang HIGH werden.

    Wie würdet Ihr das machen?

    Gruß, Dane

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2005
    Ort
    Niederdorfelden / Hessen
    Alter
    56
    Beiträge
    368
    Hi Dane,

    wie wäre es, wenn Du Deinem Problem einen Interrupt spendierst, der z.B. auf 100ms eingestellt ist. In der Interruptserviceroutine kannst Du dann vorher gesetzte Variablen dekrementieren und auf 0 testen.

    Wenn zB. die Variable X mit dem Wert 20 initialisiert und im 100ms dekrementiert wird, hast Du nach (20 x 100ms = ) 2 Sekunden einen 0 - Durchgang. Der Vorteil dieses Verfahrens ist, das die restlichen Routinen weiter arbeiten können.

    Bevor Du jetzt Fragst, wie man einen Interrupt programmiert, dies habe ich bei AVR's selbst noch nicht gemacht, ich weis aber, das AVR's Hard - und Softwareinterrupts zur Verfügung stellen (-> siehe Datenblatt).

    Grüße Klaus
    Eine verrückte Idee ist besser als keine

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Moin


    Was Klaus meint ist das du dafür den Timer nutzen kannst.

    Vie Controller haben 2 oder mehr davon.

    Der Timer wird wie ne Eieruhr Programiert und wenn der Zähler abgelaufen ist dann löst er einen IRQ aus.
    Da das ganze unabhängig davon passiert was der Controller sonst noch alles veranstaltet kann man damit prima Zeit messen.
    Gruß
    Ratber

Berechtigungen

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

12V Akku bauen