Forum: Mikrocontroller und Digitale Elektronik BASCOM Mega8 Tachosignal von Lüfter


von Das Schnitzel (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade das Tachosignal von einem Lüfter mit BASCOM 
auszuwerten. Dazu habe ich testweise an PortD.2 die gelbe Signalleitung 
vom Lüfter über einen 10k Pull-Up und an PortB.1 eine LED angeschlossen. 
Die LED ist an, wenn PortB.1 auf GND zieht.

Hier mein Code:

$regfile = "M8def.dat"
$crystal = 8000000
$hwstack = 100
$swstack = 100
$framesize = 100

Config Pind.2 = Input
Config Portb.1 = Output

On Int0 On_int0
Config Int0 = Rising
Enable Int0
Enable Interrupts

Do
If Pind.2 = 1 Then
Portb.1 = 1
End If
Loop

On_int0:
Portb.1 = 0
Return

End

Das Tachosignal sieht so aus wie auf dem angehängten Bild.
Eigentlich sollte ich das Signal doch so auch an PortB.1 sehen können? 
Der AVR vergisst aber irgendwie manche Perioden des Signals. Was mache 
ich falsch?

Lg, Das Schnitzel
von Herr M. (herrmueller)


Lesenswert?

Ich verstehe nicht ganz, warum Du die Led bei steigender Flanke im IR 
auf 0 setzt und gleichzeitig im Programm auf 1.
Ist das eine Art Wettrennen?
von Weingut P. (weinbauer)


Lesenswert?

portb.1 = pind.2
von STK500-Besitzer (Gast)


Lesenswert?

Kannst du nicht beide Bilder auf dem Oszi abbilden?
von Das Schnitzel (Gast)


Angehängte Dateien:

Lesenswert?

Ich muss das Signal ja auch mal wieder irgendwie zurücksetzen? Sonst 
würde ja die LED bei der ersten steigenden Flanke eingeschaltet und dann 
nie wieder ausgeschaltet.
Sorry, dass die Flanken auf Kanal 2 nicht sauber sind, da hat mein Oszi 
einen Defekt. Die Ausfälle sind zufällig, ist nicht immer die erste 
Flanke.
von sBronco (Gast)


Lesenswert?

warum zählst du die Impulse nicht eine gewisse Zeit lang und
multiplizierst das ganze danach ?
So zeitkritisch wird das nicht sein, das du auf das Ergebnis nicht 1sec
warten kannst.

zB. 1sec lang Impulse zählen
bei 3000U/min = 6000 Impulse/min = 100 Pulse/sec
bei 600U/min = 1200 Impulse/min = 20 Pulse/sec

mußt nur aufpassen, falls du ein LCD verwendest, während der Anzeige
die Interrupts zu disablen, sonst flipt das LCD aus und zeigt nur noch 
Müll.
von Das Schnitzel (Gast)


Lesenswert?

Stimmt, danke :) und was ist wenn da dann auch Impulse "übersehen" 
werden? Eigentlich dürfte das doch auch mit meinem Beispiel nicht 
passieren, da ich den Interrupt verwende?
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.