mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Drehzahlmessung


Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend !

Da ich nun mein Gleichstrommotor per PWM ansteuern kann, möchte ich auch 
gerne die aktuelle Drehzahl des Ankers/Welle ermitteln.

Ich würde dann einen magneten an die Welle befestigen und mit einem 
Hallsensor ebenhalt messen. Nur muss ich doch die Zeit berechnen, 
zwischen zwei Punkten wo der Hallsensor durchschaltet oder nicht ?

Ist das überhaupt möglich so schnell das mit der Software zu lösen ? 
Benutzt wird ein Attiny2313.

Ich wäre für Anregungen und Tipps sehr dankbar !

MfG,
Anfänger

Autor: yox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
evntuell ist dieses projekt für dich hilfreich:
http://www.zabex.de/frames/kugelmuehle.html (siehe abschnitt 
drehzahlreglelung)
der erbauer verwendet dabei allerdings keinen hall-sensor, sondern misst 
die spannung die der motor zwischen den impulsen induziert.

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fast alles mechanische ist langsam für einen MC :-)
Rechne mal selbst: 10.000/min sind gerade mal 166Hz...

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Danke für die Hilfe !

Ich habe mir das so vorgestellt:


Sobald der Hallsensor durchschaltet fängt der Timer am Attiny2313 sofort 
an zu "zählen" und beim nächsten Impuls vom Hallsensor hört er und fängt 
von vorne an usw...

Kann ich das ganze so pogrammieren, dass es quasi den anderen Code im 
Programm nicht blockiert ? Ich meine ebenhalt: Multi-Threading. Wäre ja 
schlecht wenn ich wegen dem Zählen etc.. immer im Code pause machen 
müsste.

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau dafür gibt es den Capturemode im Timer. Das läuft dann alles in 
Hardware ab. Du misst allerdings jetzt nicht direkt die Impulse/Minute 
sondern die Zeit zwischen 2 Impulsen. Eine kurze Rechnung und du hast 
deine Drehzahl.

Gruss Helmi

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kann ich das ganze so pogrammieren, dass es quasi den anderen Code im
>Programm nicht blockiert ?

Ja. Guck mal, ob der ATTiny auch einen Inputcapture-Mode hat.
Dann läuft die Aktion völlig autonom und meldet sich nur beim Erreichen 
einer Flanke.
Der ATmega8 hat die InputCapture-Unit auf jeden Fall.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du misst allerdings jetzt nicht direkt die Impulse/Minute
sondern die Zeit zwischen 2 Impulsen.

Ja genau das meine ich. Dann habe ich ja die Umdrehung pro der 
gemessenen Zeit ebenhalt die der AVR "misst". Das kann man dann auf 
Minute (dreisatz :D) rechnen und fertig ist die Laube !

Dann beschäftige ich mich mal jetzt mit dem TIMER vom Attiny2313. Ein 
paar Atmega8 hab ich auch rumstehen...

Eine Frage zum Schluss:
Welche Programmiersprache ich jetzt nehme ist doch egal oder ? Ich 
programmiere eigentlich gerne in BASCOM kann auch aber in C, wenn es 
sein muss. Aber ich habe doch keine "Verzögerung etc.." wenn ich mit 
BASCOM arbeite oder ?

Es ist ja bekannt, dass die Assember Programme ja schneller ablaufen als 
die C Programme...

Autor: doc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du es geschickt (per Hardware - also Timer) machst, spielt die 
Sprache keine Rolle. So viel langsamer als Assembler ist C auch nicht. 
Zu Basic sag ich jetzt mal nix...

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche es mit C und werde mich bei Problemen ggf. melden.

Vielen Dank erstmal für die Hinweise und Hilfe !

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Welche Programmiersprache ich jetzt nehme ist doch egal oder ?

Von einem notorischen Assemblerprogrammierer: Nimm die Sprache, die du 
am besten kannst. Erst wenn es damit nicht geht, solltest du umsatteln.

MfG Spess

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm C oder Assembler ,damit bekommst du hier die meiste Hilfe.

Autor: Weingut Pfalz (weinbauer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
geht auch in Bascom, keine Sorge.
Wie schon gesagt, nimm das, womit Du Dich auskennst
und klar kommst.

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.