mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frequenzcounter per ext. Interrupt - merkwürdiges Verhalten


Autor: Christian Schreiber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian Schreiber (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier der Schaltplan

Autor: Christian Schreiber (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und hier der source

PS: gibts keine Möglichkeit 2 Files anzuhängen?

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.