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
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 ;-)
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.
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.
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.
Und wenn du tatsächlich ein Loch in der Welle hast, das Teilen durch 2 nicht vergessen!
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
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.
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?
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?
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
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.
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?
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
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.
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!
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.
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 ;-)
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, ....).
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.
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..
Ich würde einen Arduino nano verwenden. Zum Programmieren kann man die Arduino-sprache nehmen, oder Forth, oder C.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.