Zurück zum Menü 5

5.1.8 Drehzahlschalter

Erste Fassung: 29.07.2009




Ein Leser schickte mir einen Sensor zu, aus dem ich einen Drehzahlschalter entwerfen soll. Er möchte diesen  Sensor als  Drehzahlaufnehmer in einem  Ottomotor benutzen.

Da schaute ich zunächst einmal, was das für ein Sensor-Modell ist:



Gut, das habe ich verstanden.

Was aber ist das für ein Sensor ?

Nun, das ist also ein Kurbelwellensensor.



Für Schlosser ==> Bekommt bloß keinen "Herzinfarkt", ich reinige die Drehbank sogar zwei mal im Jahr ... ;-) ;-)

Ok, Scherz beiseite, weiter gehts:

Mit der Drehbank möchte ich dann die Kurbelwelle simulieren. Der Leser sagte mir, dass seine Kurbelwelle 2 Nocken hat, anstatt eines Zahnrades, also nahm ich für den ersten Versuch ein altes Stückchen Gewindestange, bog sie um 90 Grad um und spannte sie in das Bohrfutter. So kann ich nun mit der stufenlosen Drehzahleinstellung der Drehbank die Kurbelwelle simulieren. Natürlich muss man später noch bedenken, das ich hier also nur einen Nocken simuliert habe, es später aber zwei Nocken in einem Ottomotor sein werden. Sowas spielt aber in der ersten Probephase keine Rolle.

Nun habe ich eine lange Litze an den Sensor gelötet und ihn mit dem Oszilloskop verbunden.

Da das Oszi (oder auch: "der Oskar" nicht jedoch: "der Ossi") aber noch ganz nagelneu ist, habe ich den Tastkopf erst einmal mit dem 1kHz-Signal kalibriert:



Wie das genau gemacht wird, steht in den meisten Fällen in der Bedienungsanleitung des Oszis.

Jetzt habe ich eine beliebige, mittelschnelle Drehzahl an der Drehbank eingestellt und die Gewindestange flitzte also immer an dem Sensor vorbei.

Daraufhin habe ich das Signal stabil eingestellt und hier einmal dokumentiert:



Wenn wir nur den "oberen, positiven Nippel" betrachten, kommen wir dabei schon auf "flotte", knappe 1,5 Volt !

-----------------------------------------------------------------------------------



Das Liest man so ab ==>

In Y-Richtung habe ich das Oszi so eingestellt, dass 1 Kästchen 0,5 Volt  entspricht.

Aber welche Frequenz habe ich zufällig an der Drehbank eingestellt ?

Nun, das Oszi ist so eingestellt, dass der Elektronenstrahl in X-Richtung 1 Kästchen in 20 ms durchläuft.

Nun zählen wir die Kästchen  pro komplette Schwingung. Also zählen wir irgendwo auf dem Bild von einem "oberen Zippel" zum nächsten.


Ich zähle hier ==> 2,2 Kästchen.
Das ergibt ==> 40,4 ms

Welche Drehfrequenz des Dreibackenfutters ergibt sich also ?

Nun, eine Umdrehung pro Sekunde wäre ==> 

1 U/s ==> also 1/s

Also berechnen wir die Umdrehungen pro Sekunde so ==>

1 / 40,4 ms  ==> 1 /  0,0404 s ==> 24,752475248 1/s (Umdrehungen pro Sekunde).

Das entspricht aber einer Drehzahl von  60  x 24,752475248 U/s ==> 1485 U / (s x 60) ==> 1450 U/min

Aha, da haben wir mal etwas Schönes gelernt.

----------------------------------------------------------------------------------------------

Aber es geht noch weiter ...

Es wurde gefordert, dass ein Schalter ab 700 Umdrehungen pro Minute einschaltet und unterhalb von 700 U/min wieder aus schaltet. Eine Hysterese war nicht gefordert.

Also überlegen wir nun einmal, wie wir das möglichst einfach und reproduzierbar hin bekommen. Ich nehme immer gern mal eine Picaxe zum Basteln, also soll solch ein Teil hier auch verbaut werden.

Aber zunächst müssen wir das Signal für die Picaxe aufbereiten. Ich dachte dabei an ein der Drehzahl  proportionales Rechtecksignal, dessen Länge der logischen "1" man dann sehr einfach und gut mit der Picaxe messen kann.



Mehr zu diesem Baustein auf dem strippenstrolch.de...

Damit das dann nicht ganz so "XP- oder VISTA-lastig" wird, will ich mal versuchen, das Programm für die Piaxe und die Versuche dazu unter Ubuntu-Linux zu machen. Den Weg zum VAG-Händler wegen des Sensors musst du dann selber finden. Der Sensor soll eine gute, langjährige Liefertreue haben.



Wer diesen Weg scheut, der kann sich auch bei Conrad Elektronik umschauen:


Induktiver Sensor --- Conrad-Shop



So der erste Tag ist vorüber und die Werkstatt muss gegen neugierige Finger gesichert werden.

Da fällt mir ein, dass mein Vater einmal zum Schluss als Industriemaler tätig war und mir für meine damalige Bastelwerkstatt zwei Schilder persönlich angefertigt hat. Wenn ich jetzt den Raum verlasse, muss ja schließlich alles seine

"ISO 9001- und VDE 0100 - Ordnung" haben:


Erstmal das Oszi absichern ...


Und die Drehbank nicht vergessen ...

----------------------------------------------

So, genug, des "Plausch's" ... ... weiter geht's !

Neuer Tag, neues Glück ...

----------------------------------------------

Zunächst muss man einmal das Sensorsignal auf einen ungefähren 5 Volt-TTL-Pegel bringen. Dazu verwendete ich eine ganz einfache Darlington-Emitterschaltung aus zwei 2N2222-Schalt-Transistoren:



Aus dieser Schaltung kam dann auch schon gleich ein Signal heraus, dass man vielleicht schon direkt an die Picaxe geben könnte:



Y1 (unten) ==> 1V/DIV
Y2 (oben) ==> 2V/DIV
X ==> 10 ms/DIV

Fertiges Signal
A ==> Aufbereitetes Signal am Ausgang der Schaltung
B ==> Signal am Eingang der Schaltung


Nun kann man bereits daran gehen, und das Ausgangs-Signal "logisch 1" (grün gekennzeichnet) auf die Picaxe 08M geben.

Es dürfte auch klar ersichtlich sein, dass dieses Signal in der Länge mit  der Drehzahl variiert und auch zur Drehzahl proportional ist. Ebenso ist es etwa 5 Volt groß. Mit einem Messbefehl "count" der Picaxe kann man nun die Frequenz des Signals in einen 16 Bit-Binärwert übersetzen lassen und das Ergebnis sehr leicht mit ein paar Befehlen im Picaxe-Porgramm weiter verarbeiten.


Zuvor jedoch der Schaltplan dazu:



Die Diode D1 lässt das aufbereitete Signal etwas sauberer rüber kommen.
Diode D2 dient als Freilaufdiode für die Induktivität der Relaisspule.

Jetzt fragt sich manch einer sicherlich mit Berechtigung:
"Wie wird denn dort nun der PC angeschlossen ?"

Nun, das sagt dir diese Schaltung:



Da habe ich mir mal schnell ein Adapterkabel gelötet:

Ich benötigte am einen ende ein "9-pol-SUB-D-Männchen und am anderen Ende habe ich einfach eine dreipolige Stiftleiste angelötet, die man gut in das Steckbrett einstecken kann. Falls der dreipolige Stecker mal in eine Platine gesteckt werden muss, so kann man in die Platine einfach die entsprechende dreipolige Sockellseite einlöten:



Mein etwas "kuddelmuddeliger" Versuchsaufbau sah dann so aus:



So, jetzt kommt zunächst noch ein Test-Programm für die Picaxe hinzu.

Nachdem ich also den oberen Plan gesteckt hatte, schrieb ich ein kleines Testprogramm mit dem LinAXE-Pad und meinem neuen Ubuntu und ließ die gebogene Gewindestange dabei von der Drehbank mittelschnell am Sensor vorbei sausen.




Wie wir sehen, habe ich eine ganz einfache Schleife geschrieben und dort den "count"-Befehl und den "debug"-Befehl eingebaut. Der Count-Befehl liest mir die Anzahle von logisch "1" pro 1000 ms vom IN-Port 3 (Pin 4) ein und der Debug-Befehl sendet das Ergebnis an den PC, so dass wir es hier in dem aktiven Fensterchen "Debugging 08M" sehen können.

Die Gewindestange flitzte bei dem Bildschirmfoto also 15 mal pro Sekunde am Sensor vorbei. Das entspricht 15 Hz oder einer Drehrzahl von

15 U/s x 60 ==> 900 U/min.

Also ist eine Picaxe locker in der Lage, als Drehzahlschalter für den Ultraleichtflieger mit Ottomotor zu dienen.

Jetzt ist es aber so, dass die Picaxe für diese Messung gern ein 50-50-Signal hätte. Also ein Signal, das 50% der Zeit logisch 1 ist und 50% der Zeit logisch 0. Das gibt unsere sehr einfache Darlington-Schaltung aber nicht her. Also müssen wir das Signal noch weiter aufbereiten.

Ich schaute in meine Bastelkisten und fand einige CD 4027. Das sind J-K-Master-Slave-Flip-Flops. Die kann man so beschalten, dass sie einen Frequenzteiler bilden. Nach diesem Frequenzteiler hat man dann ein schönes 50-50-Signal für die Picaxe und das sieht auf meinem Oszi so aus:



Wie wir sehen, hat das Signal an der Kurbelwelle eine Drehzahl von 1 Umdrehung pro 60 ms.
 
Das sind 1 / 0,06 s = 16,667 Hertz oder auch 16,667 Umdrehungen pro Sekunde.

Die Picaxe zählt dabei auf 8 oder 9, weil wir ja den Teiler durch 2 (CD 4027) zwischengeschaltet haben.

Im oberen Signal haben wir die "1" immer nach 120 ms .

Das sin 1 / 0,12 s = 8,33 Hertz oder auch 8,33 Umdrehungen pro Sekunde.

Jetzt aufgepasst:

Da wir aber am Ottomotor zwei Nocken haben, können wir die Picaxe gleich einfach berechnen,
das wir ja den Teiler durch 2 bereits eingebaut haben ( CD 4027).

Wir rechnen also:

Schaltdrehzahl soll 700 U / min sein.
Das sind 700 / 60 sec ==> 11,666 U/ sec

Das war's schon.

Wir programmieren die Picaxe also mit dem Wert "12" und haben dann
den gewünschten Drehzahlschalter mit der Schaltschwelle bei 2 Nocken und 700 U/ min entwickelt.

Prima, was ?

Doch jetzt noch die letzten zugehörigen Dokumente. Zunächst einmal der Schaltplan:



So, und zum Schluss folgt nun noch das Programm für die Picaxe, das ebenfalls sehr einfach gehalten ist:



In den Zeilen 3 und 4 kann man dann noch die individuellen Anpassungen für den Ottomotor vormehmen. Daher sollte man sich den Programmierstecker und die beiden Widerstände R5 und R6 ruhig gönnen und sie mit auf die fertige Platine bauen. So kann man dann später immer mal wieder schnell und unkompliziert eine Änderung durchführen, sogar "online" wenn der Motor läuft. Drehzahlmessungen am laufenden Motor kann man mit dem Befehl "Debug b1" machen, der dann vor Zeile 3 eingefügt werden muss. Dazu kann man einfach das Programmierkabel stecken lassen und die Daten in die andrere Richtung zum PC fließen lassen. Mit dem Debug-Fensterchen (haben wir weiter oben schon gesehen) wird dann der Wert des Bytes b1 dezimal und binär angezeigt. Der Rest erledigt dann schnell und unkompliziert der Taschenrechner, um die recht genaue Drehzahl zu ermitteln.

Wer es etwas genauer haben möchte der sollte ich einmal den Befehl "pulsin" anschauen, der dann eine Auflösung von 10µs bietet, jedoch anstatt der logischen 1-Pegel zu zählen die Länge dieser Pegel misst. Daher muss man in diesem Fall das Ergebnis auch anders umrechnen. Der geübte Programmierer macht das gleich in der Picaxe selber und gibt dann die errechnete Drehzahl als Wort (16 Bit) an den "Diagnose-Rechner" aus.

Wie man auf dem Schaltplan oben gut erkennen kann, sind noch ein paar Ein- und Ausgänge frei, so dass da der Fantasie kaum Grenzen gesetzt sind. So kann man beispielsweise bestimmte Drehzahlen noch zusätzlich mit LEDs anzeigen lassen oder auch per ADC und Spannungsteiler aus ohm'schem Widerstand und Heißleiter noch eine Temperaturüberwachung mit in die Messung einfließen lassen.

In diesem Beipiel jedoch soll eine elektronische Zündung ab einer bestimmten Drehzahl hinzu geschaltet werden.



--------------------------------------------------------------------------------------------------------------

Ich wünsche viel Vergnügen beim drehzahlabhängigen
Schalten von Lasten am Ottomotor,




Nach oben            Zurück zum Menü 5