Forum: Mikrocontroller und Digitale Elektronik Drehzahlmessung bis 100.000 U/min für Anfänger


von Ert (Gast)


Lesenswert?

Hallo zusammen,
ich bin neu hier im Forum und leider auch ein absoluter Neuling in 
Sachen Microcontroller. Mein Problem ist folgendes:
Ich habe eine Modellgasturbine bei der ich gerne die Drehzahl (bis max. 
100.000 U/min) messen würde. Dafür habe ich eine Bohrung durch die Welle 
und eine Schaltung aus IR-Emitter und Fototransistor. Die Schaltung 
liefert mir wenn IR-Licht vom Emitter auf den Transistor trifft ca. 10V 
Spannung. Jetzt würde ich gerne Wissen wie man mit so eine 
Drehzahlmessung mit möglichst einfachen Mitteln umsetzen kann und ob so 
ein Projekt für einen Anfänger überhaupt realistisch ist.
Wichtig wäre vor allem die Überwachung der aktuellen Drehzahl über eine 
Anzeige. Zusätzlich wäre es super wenn ich die Werte an einen Computer 
ausgeben und speichern könnnte.
Ich hoffe Ihr könnt mir helfen! Zeit und Willen mich mit der Materie zu 
beschäftigen ist auf jeden Fall vorhanden!

Vielen Dank schonmal im Voraus!

Grüße Ert

von m.n. (Gast)


Lesenswert?

Klassisch mit Anzeige: Beitrag "einfache Drehzahlmessung mit ATmega88"
oder Arduino Uno mit USB:
http://www.mino-elektronik.de/fmeter/fm_software.htm#bsp7

Ert schrieb:
> Zeit und Willen mich mit der Materie zu
> beschäftigen ist auf jeden Fall vorhanden!

Wir werden sehen ;-)

von qwertzuiopü+ (Gast)


Lesenswert?

Sollte nicht so schwierig sein: Du brauchst einen Mikrocontroller (AVR 
dürfte reichen) und einen Spannungsteiler, um aus deinen 10 V was für 
den µC verträgliches zu machen.

Zum messen der Drezahl hängst du den Sensor an einen Interrupt und 
zählst dann im Programm schön mit. Alle xx ms misst du dann die Anzahl 
der Interrupts und gibst das ganz auf einem Display aus. Sollte für den 
Anfang erst mal reichen.

von Tobi (Gast)


Lesenswert?

Das ganze kannst du gut mit zwei Timern und einer seriellen 
Schnittstelle durchführen. Der erste Timer zählt die Impuse deiner 
Schaltung. Der zweite Timer wird von den interenen Takt des µC 
hochgezählt. Nach einen bestimmten Zeitintervall (Zähler 2 ereicht einen 
vorgegeben wert) wird der Timer 1 ausgelesen und zurückgesetzt. Aus den 
gezählten takten und den Zeitintervall kannst du deine Drehzahl 
berechnen. Die Übertragung kannst du relativ einfach über rs232 
durchführen.

von Purzel H. (hacky)


Lesenswert?

100'000 touren sind nur 1667 Hz. Das ist nicht so viel. zB eine Sekunde 
lang zaehlen sollte genuegen, sofern 1 Ergebnis pro sekunde genuegt.

von hinz (Gast)


Lesenswert?

Siebzehn Für Fuenfzehn schrieb:
> 100'000 touren sind nur 1667 Hz.

In seinem Fall sinds 3333 Hz.

von Wastl F. (rescuetigerchen)


Lesenswert?

Und wenn du tatsächlich ein Loch in der Welle hast, das Teilen durch 2 
nicht vergessen!

von Nase (Gast)


Lesenswert?

Multimeter mit Frequenz-Messbereich..?

von Ert (Gast)


Lesenswert?

Super schonmal vielen Dank für eure Antworten!
Diese Lösung erscheint mir bisher am einfachsten.

m.n. schrieb:
> Klassisch mit Anzeige: Beitrag "einfache Drehzahlmessung mit ATmega88"

Jetzt habe ich noch ein paar Fragen zum Vorgehen:

Was für eine Platine verwende ich um solche Teile zu verbinden?
Sind einfache Lochplatinen geeignet...der ATmega88 ist ja doch relativ 
klein?
Habt ihr Tipps wo es hier im Forum oder im Web geeignete Seiten gibt um 
sich in das Thema einzuarbeiten?

Vielen Dank nochmal für eure Hilfe

lg Ert

von Peter D. (peda)


Lesenswert?

Ert schrieb:
> der ATmega88 ist ja doch relativ
> klein?

Die Bauform bestimmt, was hinter dem ATmega88 steht.
Du mußt ja nicht den ATmega88A-MMH nehmen (4*4mm²).
Nimm den ATmega88A-PU.

von m.n. (Gast)


Lesenswert?

Ert schrieb:
> Was für eine Platine verwende ich um solche Teile zu verbinden?
> Sind einfache Lochplatinen geeignet...der ATmega88 ist ja doch relativ
> klein?

Eine Lochrasterplatine ist ausreichend. Der ATmega88 sollte eine 
DIL-Fassung bekommen und auch das LCD sollte steckbar sein. So läßt sich 
der Aufbau später noch gut ändern.
Man kann das Eingangssignal auch direkt an den PB0(ICP)-Eingang legen 
und damit die Bauteile R4, R5, R7, C3 und D1 sparen. Im Programm muß 
dazu folgende Zeile gelöscht werden:
  ACSR |= 1<<ACIC;  // analog Komparator verwenden
U.U. kann ich Dir auch einen µC passend programmieren.

Mit einem Arduino Uno brauchst Du nicht zu löten, wenn Du die Meßwerte 
direkt zum PC senden möchtest. Auch dort kann man ein LCD anschließen. 
Dafür gibt es das .ino-Programm oder, wenn Du BASCOM magst, auch ein 
.bas-Programm: 
http://www.mino-elektronik.de/fmeter/fm_software.htm#bsp12

> Habt ihr Tipps wo es hier im Forum oder im Web geeignete Seiten gibt um
> sich in das Thema einzuarbeiten?

Welches Thema? Löten oder Messen?

von Ert (Gast)


Lesenswert?

m.n. schrieb:
> Welches Thema? Löten oder Messen?

Eigentlich in die gesamte Thematik der Mikrokontroller. Ich weiß zum 
Beispiel nicht genau was im Schaltplan mit Eingang ST1 bezeichnet ist 
--> brauche ich dieses Bauteil noch wenn ich das Signal direkt an 
PB0(ICP) anlege?
Mir ist auch noch nicht klar wie ich das Programm an den Mikrocontroller 
übertrage.
Ich würde mich nur gerne schonmal ein bisschen Bilden damit ich euch 
nicht mit allzu banalen Fragen auf die Nerven gehe :)

ach ja: brauche ich wenn ich den ATmega88A-PU 
(http://www.reichelt.de/Atmel-ATMega-AVRs/ATMEGA-88A-PU/3/index.html?;ACTION=3;LA=2;ARTICLE=121833;)verwende 
noch eine extra DIL Fassung?

von m.n. (Gast)


Lesenswert?

Ert schrieb:
> Eigentlich in die gesamte Thematik der Mikrokontroller. Ich weiß zum
> Beispiel nicht genau was im Schaltplan mit Eingang ST1 bezeichnet ist
> --> brauche ich dieses Bauteil noch wenn ich das Signal direkt an
> PB0(ICP) anlege?

ST1 ist Stecker 1; es gibt allerdings nur diesen einen.

Vielleicht haben Andere hier bessere Vorschläge, aber ich würde Dir zu 
einem Arduino Uno raten, der zwar ein paar Euro kostest, Dir aber 
Probleme mit der Hardware abnimmt. Passend dazu gibt es eine Arduino IDE 
(kostenlos), mit der man Programme erstellen, ändern und in den µC 
schreiben kann.

Ansonsten hier nachlesen: http://www.mikrocontroller.net/articles/AVR

von m.n. (Gast)


Lesenswert?

m.n. schrieb:
> aber ich würde Dir zu
> einem Arduino Uno raten, der zwar ein paar Euro kostest,

Konkreter: Arduino Uno R3
Dieser hat einen steckbaren(!) ATmega328 im DIL-28 Gehäuse. Bei segor.de 
gibt es das Original zu gutem Preis.
http://www.segor.de/#Q%3DArduinoUnoRev.3%26M%3D1
aber auch schon billige Nachbauten.

von Ert (Gast)


Lesenswert?

Ok vielen Dank für die Antworten!

Wenn mir das die "Hardwareprobleme" erspart sollte ich vielleicht 
wirklich einen Arduino Uno verwenden.
Ist das hier das richtige?
http://www.conrad.de/ce/de/product/191789/Arduino-UNO-Platine-65139?ref=searchDetail

Gibt es für ein solches Board eventuell schon ein passendes Programm für 
mein Problem?

von Ert (Gast)


Lesenswert?

hab den letzten post gerade erst gesehen.
DER Arduino UNO R3 ist dieser hier oder?
http://www.conrad.de/ce/de/product/1275279/Arduino-Arduino-Uno-Rev3-DIP-Version-Arduino-Uno-R3-DIL-ATmega328?ref=searchDetail

von Axel S. (a-za-z0-9)


Lesenswert?

Ert schrieb:
> Ich habe eine Modellgasturbine bei der ich gerne die Drehzahl (bis max.
> 100.000 U/min) messen würde. Dafür habe ich eine Bohrung durch die Welle
> und eine Schaltung aus IR-Emitter und Fototransistor.
...
> Jetzt würde ich gerne Wissen wie man mit so eine
> Drehzahlmessung mit möglichst einfachen Mitteln umsetzen kann und ob so
> ein Projekt für einen Anfänger überhaupt realistisch ist.

100.000 rpm klingt nach viel. Am Ende sind es aber nur 1,6kHz, also 
mitten im Hörbereich. Das kriegt auch der popeligste µC noch 
ausgemessen. Als kritischer würde ich die Bohrung in der Welle ansehen. 
Bei 100.000 rpm sollte man jede Unwucht vermeiden und tragende Teile 
nicht unnötig schwächen. Eine optische Abtastung eines hellen bzw. 
dunklen (je nach Farbe des Untergrunds) Farbklecks mit einer 
Reflexlichtschranke wäre das Mittel der Wahl.

von Ert (Gast)


Lesenswert?

m.n. schrieb:
> Vielleicht haben Andere hier bessere Vorschläge, aber ich würde Dir zu
> einem Arduino Uno raten, der zwar ein paar Euro kostest, Dir aber
> Probleme mit der Hardware abnimmt. Passend dazu gibt es eine Arduino IDE
> (kostenlos), mit der man Programme erstellen, ändern und in den µC
> schreiben kann.

Wenn ich mich jetzt für den Arduino Uno R3 entscheide und dieses 
Programm verwende

m.n. schrieb:
> http://www.mino-elektronik.de/fmeter/fm_software.htm#bsp7

muss ich dann nur mein Signal an den PD7 anschließen und das Modul mit 
dem PC verbinden oder verstehe ich das jetzt komplett falsch?

Wie wird das Signal dann am PC ausgegeben zw mit welchem Programm zeige 
ich das an?

Tur mir wirklich leid dass ich hier so viel Fragen muss!

von lrep (Gast)


Lesenswert?

Ert schrieb:
> Tur mir wirklich leid dass ich hier so viel Fragen muss!

Willst du wirklich eine Digitalanzeige, oder doch lieber eine 
Analoganzeige?
Letztere ist zwar nicht so genau, aber dafür kann man Tendenzen viel 
besser erkennen als bei zappelnden Ziffern. Deshalb sind die 
Anzeigeinstrumente im Flugzeug auch vorwiegend analog. Auch in Autos 
haben sich Digitaltachos nicht behauptet.

Man braucht zwar ein paar Bauteile mehr als für den Digitalkram, aber 
dennoch wird ein Anfänger damit schneller zum Erfolg kommen, als wenn er 
erst noch programmieren lernen muss.

von m.n. (Gast)


Lesenswert?

Ert schrieb:
> muss ich dann nur mein Signal an den PD7 anschließen und das Modul mit
> dem PC verbinden oder verstehe ich das jetzt komplett falsch?

Ja, das steht doch überall! Die Stromversorgung kommt auch vom PC.

> Wie wird das Signal dann am PC ausgegeben zw mit welchem Programm zeige
> ich das an?

Die USB-Schnittstelle erscheint am PC als COM10. Damit stehen die Daten 
allen Programmen zur Verfügung, die COM10 wie eine serielle 
Schnittstelle ansprechen können. Es reichen ein Terminalprogramm oder 
der 'Serial Monitor' der Arduino IDE. Wenn man die Sachen auf dem Tisch 
hat, ist es ganz einfach erledigt.


lrep schrieb:
> Deshalb sind die
> Anzeigeinstrumente im Flugzeug auch vorwiegend analog. Auch in Autos
> haben sich Digitaltachos nicht behauptet.

Die A380 haben ja auch wieder Sanduhren zur Zeitanzeige!
Wer lieber mit analogen Spannungen arbeiten möchte: 
http://www.mino-elektronik.de/fmeter/fm_software.htm#bsp11
;-)

von Outi O. (outlaw)


Lesenswert?

lrep schrieb:
> Willst du wirklich eine Digitalanzeige, oder doch lieber eine
> Analoganzeige?
> Letztere ist zwar nicht so genau, aber dafür kann man Tendenzen viel
> besser erkennen als bei zappelnden Ziffern. Deshalb sind die
> Anzeigeinstrumente im Flugzeug auch vorwiegend analog. Auch in Autos
> haben sich Digitaltachos nicht behauptet.

Auweia, Fortschritt ade ....

Zappelnde Ziffern sollten ja nun wirklich kein Problem mehr sein.

Und Autos haben oft den "analogen" Tacho nicht wegen den "zappelnden 
Ziffern", sondern aus anderen Gründen (Ablenkung beim Fahren, Preis, 
Intelligenz des Fahrers, ....).

von Rene H. (ballibou)


Lesenswert?

Na dann fragt mal bei Renault nach ;)

Der Twingo hat nen digital Tacho OHNE "zappelnde Ziffern. Ganz einfach 
gelöst ;)

Man fährt z.B. 55, beschleunigt und erst 1 1/2 - 2 sekunden später 
aktualisiert sich das ganze dann.

"reicht" doch aus. ;) nur auf die Blitzer muss man selber achten. Auf 
die Geschwindigkeit darf man sich da digital nicht so verlassen ;) 
ähnlich wie bei Navis.

von <> (Gast)


Lesenswert?

Rene H. schrieb:
> Twingo

Rene H. schrieb:
> Man fährt z.B. 55, beschleunigt und erst 1 1/2 - 2 sekunden später
> aktualisiert sich das ganze dann.

Dann hat man wahrscheinlich 56 km/h erreicht ;)

PS: Ein Twingo beschleunigt nicht, er wird langsam schneller..

von Rene H. (ballibou)


Lesenswert?

Ne,

das Tacho hängt total nach. ;)

von Hier schauen (Gast)


Lesenswert?


von R. F. (rfr)


Lesenswert?

Ich würde einen Arduino nano verwenden.
Zum Programmieren kann man die Arduino-sprache nehmen, oder Forth, oder 
C.

von Whitespace (Gast)


Lesenswert?

Falls man die Drehzahldaten an einen PC übertragen will, ist die 
einfachste Lösung möglicherweise vollkommen ohne Mikrocontroller. Wie 
bereits weiter oben geschrieben wurde, liegt die zu verarbeitende 
Frequenz im hörbaren Bereich. Man könnte also das Signal (nach 
entsprechender Pegelanpassung) einfach in den Line-In oder 
Mikrofoneingang eines PCs einspeisen und dann eine beliebige 
Signalverarbeitung in irgend einer Programmiersprache, mit der man 
zumindest den Soundkarteneingang lesen kann, machen.
(Im simpelsten Fall nicht einmal das: Man kann dieFFT-Analyse eines 
Audioeditors verwenden oder gar Samples manuell zählen, wenn einem 
langweilig ist.)

Im Extremfall (falls sich das mit der Empfindlichkeit des IR-Empfängers 
so ausgeht) bräuchte man auf der Empfangsseite außer dem IR-Detektor 
überhaupt keine externen Bauteile, weil der Mikrofoneingang bereits eine 
Biasspannung für die normalerweise angeschlossenen Elektretmikrofone 
liefert (oft irgendwas in der Gegend von einigen kOhm gegen 3.3V), die 
sich auch für z.B. einen Fototransistor eigenen könnte.

Unter der Berücksichtigung der 2 Pulse pro Umdrehung durch das Querloch 
lässt sich so (rein theoretisch, bei einem angenommenem Frequenzgang von 
20Hz bis 20kHz) eine Drehzahl von 600U/min bis 600kU/min messen.

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.