Frequenzcounter per ext. Interrupt - merkwürdiges Verhalten

Gast #345422
Lesenswert?

Hallo,

ich bastel an einer Motorsteuerung(habe den vorläufigen Schaltplan
beigefügt)
Auf der rechten Seite sind die Treiberstufen für den Motor.
Ich habe mich für p-Mosfets entschieden, damit die Leistung durch PWM
des Pluspols geregelt wird und die GND Leitung des Lüfters dauerhaft
auf 0V liegt.
Mein Gedanke war, so sollte die Drehzahlmessung kein Problem sein.
Einfach INT0 Pin (mit aktivem Pullup) an die Signalleitung. Diese wird
vom Lüfter bei jeder halben Umdrehung zwischen 0 und 5V umgeschaltet(ja
ich weis, ist nicht ganz genau diese Beschreibung *g)
Die Drehzahl ergibt sich dann aus den gezählten Flanken pro Sekunde
geteilt durch 2.

Soweit so gut. Das funktioniert auch, wenn der Lüfter normal an die
Spannung angeklemmt ist, oder die PWM auf 100% eingestellt ist.

Sobald aber die Leistung verringert wird, liefert mir der Controller
Fantasiezahlen und ich kann mir nicht erklären, warum.

Ich habe zum testen schon einen Schmitttrigger zwischengeschaltet, weil
ich vermutet habe, dass sich das Signal "verformt" aber auch ein
Trigger ändert nichts am Verhalten.
Mein Messgerät(Voltcraft GDM704, hat ein Grafikdisplay/Minioszi und
kann Frequenzen in dem Bereich messen) zeigt mir auch an, dass sich die
Signalform nicht verändert. Die Flanken sind genauso steil, wie bei 100%
Leistung.

mein Source hab ich auch beigelegt.

Gruß
Christian
Gast #345425
Lesenswert?

Was mir bei Deiner Schaltung auffällt, du hast 2 10K Pullups
verbaut, die du nicht unbedingt brauchst.
Der Mega16 hat schon welche eingebaut, kann man durch DDR einschalten.
Da ich C nicht gerade sehr mächtig bin (bevorzuge andere Hochsprache)
stell ich die vermutlich doofste Frage. Haste auch den INT auf
Flankensteuerung (rising / faling (Edge)) eingestellt?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren