Forum: Mikrocontroller und Digitale Elektronik abschalten einer Schtg nach 1 min in BASCOM


von jacek kroczek (Gast)


Lesenswert?

Hallo
da ich schon bei meiner letzten Frage hier eine Kompetente Antwort
bekommen habe versuche ich es nochmal.
Ich beschäftige mich gerade seit 2 Wochen mit einem µC dem ATMEGA8 und
BASCOM nun würde ich gerne folgende Aufgabe meistern:
Eine Schaltung so abgeschaltet werden (Ein Ausgang auf 0) wenn am
Eingang des µC kein Signal mehr anliegt. Irgendwie hab ich bis jetzt in
der Hilfe nichts dazu gefunden und ich bin schon ein wenig ungeduldig .
Es wäre nett wenn mir jemand kurz ein Stichwort geben könnte .
Im voraus  VIELEN DANK
jacek

von Matthias (Gast)


Lesenswert?

Hi

was heißt abgeschaltet werden? Komplett von der Stromversorgung
getrennt?

Matthias

von Markus Kaufmann (Gast)


Lesenswert?

Du mußt den Eingang regelmäßig überprüfen (z.B. per Interrupt) und wenn
lange genug kein Signal mehr anlag den Ausgang auf 0 setzen.

Für eine konkretere Antwort solltest Du mehr Details nennen, z.B.
welcher Art Dein Eingangssignal ist, wie schnell usw.

Markus

von jacek kroczek (Gast)


Lesenswert?

abschalten bedeutet das ich einfach an einem Pin eine Veränderung
brauche.
Das anliegende Signal kommt von einem Hall Sensor und misst eine
Drehzahl diese liegt in normalfall zwischen 1000 - 10000 U/min . Wenn
die Drehzahl eine Minutelang 0 ist soll ein Pin auf 0 gehen und im
Endeffekt über einen Transistor die Nachfolgende Schaltung abschalten.
Ich weiß nur nicht mit was für einem Befehl bzw wie ich eine
Zeitmessung initialisieren kann , ich hab mir Syssecelapsed angeschaut
komm da aber auch nicht weiter .
Ich hoffe jetzt könnt ihr mehr mit meiner Frage anfangen auf alle Fälle
Vielen Dank für eure Mühe

jacek

von Markus Kaufmann (Gast)


Lesenswert?

Du könntest einfach einen Timer mit 400Hz laufen lassen und
mitprotokollieren, vor wie vielen Interrupts die letzte Änderung kam.
Ist das mehr als 400*60=24000 Interrupts her, dann ist der Motor aus.

Markus

von Tim (Gast)


Lesenswert?

Timer einrichten, der nach 1min den 'Pin' auf 0 schaltet. Damit er das
nicht vorzeitig tut, muss bei jedem Hall-Sensorsignal dieser
zurückgesetzt werden.
Statt dem 16Bit-Timer kannst Du auch den Watchdog nehmen - ist für
diesen Anwendungsfall evt. sogar noch besser. Lässt sich auch schneller
zurücksetzten. (1Taktzyklus)

von jacek kroczek (Gast)


Lesenswert?

Wie kann man so einen Timer in BASCOM einrichten ?

von ThomasB (Gast)


Lesenswert?

Hallo Jacek:
Z.B. timer1 in Bascom

$regfile = "2313def.dat"
Dim A As integer
Config Timer1 = Timer , Prescale = 64
On Timer1 Timer_isr         REM Bei jedem Timer1-überlauf.....
Enable Timer1
Enable Interrupts
Do
Rem Eine endlosschleife
Loop
Timer_isr:
Incr A           REM.......wird a um eins erhöht(a=a+1)
Print A
Return REM  Erzeugt ein Reti=Return from Interrupt


Mehr Infos in der Onlinehilfe von BASCOM AVR

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.