Forum: Mikrocontroller und Digitale Elektronik Bascomanfänger - Zeitverzögerung


von Erich S. (ojojo)


Lesenswert?

Hallo, ich bin absoluter Anfänger und brauche ein wenig Starthilfe:
Es soll mit einem ATmega16 und Bascom folgende Steuerung realisiert 
werden:
Es gibt einen EIN-Taster, einen AUS-Taster und einen Endschalter. Damit 
soll ein zweistufiger Motor (SternDreick) geschaltet werden.
Taster EIN = Motor läuft auf Stufe 1
automatisch nach ca. 2 Sekunden: Motor läuft auf Stufe 2
Taster AUS = Motor geht aus, und zwar egal, ob er auf Stufe 1 oder 2 
läuft.
Außerdem soll der Motor nur anlaufen, wenn der Endschalter 
(Sicherheitsschalter) betätigt ist.
Die Motorstufen sollen zunächst nur durch LED's simuliert werden.
Das Problem mit dem Schalten der Last (5,5 kW) will ich später erst 
lösen.
Beim Erstellen des Programms habe ich Probleme mit der zeitverzögerten 
Umschaltung aus Stufe 2. Habe es mit "wait 2" probiert. Das funktioniert 
aber nicht. Dann lässt sich der Motor, wenn er auf Stufe 1 läuft nicht 
abschalten. Man muß wohl einen Timer einsetzen. Ich weiß aber nicht wie.
Kann mir jemand helfen? Danke!

von Kasperle (Gast)


Lesenswert?

Für dieses Problem braucht man aber keinen µC.
Etwas TTL Logik und fertig.

Gruß

PS.
Bei deinem Wait 2 ist der µC ja 2 Sekunden blockiert.

von Kasperle (Gast)


Lesenswert?

Du kannst aber auch den AUS-Taster auf einen Interrupteingang legen.
Dann tut's wieder wie gewünscht.

von Karl H. (kbuchegg)


Lesenswert?

> Man muß wohl einen Timer einsetzen.

Yep.
genau das ist der Weg zur Lösung.
Mit dem Timer baust du dir quasi eine interne Uhr, die eine Funktion 
alle paar Millieskunden aufruft. In dieser Funktion passiert dann alles 
weitere.

> Ich weiß aber nicht wie.
Sobald du den Basistakt hast, ist alles andere eine direkte Folge davon. 
Wie misst du eine Zeitdauer von 2 Minuten ab, wenn alles was du hast ein 
Zeitsignal ist, dass alle (hausnummer) 1 Sekunde ein Pfeifen auslöst. Du 
zählst mit und nach 120 Pfeiftönen sind 2 Minten vergangen. Genau das 
machst du auch in der Funktion, die vom Timer aufgerufen wird.


-> studieren wie man in BASCOM mit dem Timer regelmässig eine Funktion 
aufrufen lassen kann.

von Erich S. (ojojo)


Lesenswert?

Ok, danke für die Antwort. Ungefähr so hatte ich das schon vermutet. 
Aber wie sieht die entsprechende Programmsequenz aus? Mein Problem ist, 
dass ich nicht weiß welche Befehle und Parameter geschrieben werden 
müssen um so etwas zu erreichen.

von Karl H. (kbuchegg)


Lesenswert?

Dann such dir ein BASCOM Tutorial oder sieh in der Online Hilfe von 
BASCOM nach. Da sind bei jedem Befehl auch Beispiele dabei.

von ojojo (Gast)


Lesenswert?

Die Hilfetexte hab ich ausführlich gelesen. weil ich trotzdem nicht 
weiterkomme hab ich die Frage in dieses Forum geschrieben. Darum nochmal 
meine Bitte: Kann mir jemand sagen, wie eine solches Programm aussehen 
muß? Eventuell mit Beispieltext?
Danke Erich

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.