BL Motor Drehzahlmessung mit Arduino

kalle123

User
Hallo, bin gerade dabei, auf meinem "Messstand" hier Kombinationen von BL-Motoren und Props zu vermessen.

Hier mal ein Bild.

KuVgUkHl.png


Waage zur Schubmessung, Watt's up für Spannung, Strom und Leistung.

Für die Drehzahlmessung hab ich bisher so ein Teil hier verwendet.

jjFff5el.png


Nur, wenn ein Versuch läuft, damit noch "herum zu fummeln" :eek: Nicht so ganz das wahre ...

Hab mir irgendwann mal eine kleine Frequenzanzeige gebastelt auf Basis Arduino

Yym70Hll.png


und vom Projekt https://github.com/openXsensor/openXsensor/wiki

auch noch einen kleinen Drehzahlsensor

T6txMbWl.png


Hab mich also daran gesetzt und, eine Taste an die Frequenzanzeige hinzugefügt, um die Polanzahl einstellen zu können und das Arduino Programm entsprechend erweitert.

Abgegriffen wird das Drehzahlsignal hier

8SvKTzMl.png


Drehzahlanzeige sieht so aus

ae4EIXsl.png


By default startet die Anzeige mit Polzahl 14, durch Tastendruck kann zwischen 2, 4, 6, 8, 10, 12, 14 und 16 umgeschaltet werden. Anzeige sollte (ich hab es noch nicht probiert ;)) bis 99.999 U/min gehen.

Ach so, ich würde heute einen Arduino Nano und ein LCD1602 mit I2C nehmen. Kosten aus Fernost so um die 4€. Widerstände usw. hab ich da, wenn man das zu kaufen muss, kommt man vielleicht auf 10€.

Was mich noch interessieren würde, wäre den Drehzahlsensor in SMD aufzubauen, aber da hab ich leider zu wenig Erfahrung mit dem Platinen Layout ....

Grüße KH
 

Ay3.14

User
Hallo KH,

tolle Idee und Umsetzung! :)

Beim Link zum Drehzahlsensor habe ich auf den ersten Blick leider keinen Schaltplan gefunden, würde mich aber interessieren. Könntest du bitte noch einen Link dazu posten?

Albert
 
HAllo Kalle

Ich möchte mal zwei Wünsche anmelden.

1. Zählung der Motorpole mittels Messstand. Da muss ich manchmal noch mit Optiksensor messen, um die richtige Polzahl Einzustellen.
(Herstellerangeben stimmen eher nicht)

z.B. Motor mit Hand drehen, ca 3 - 10 Umdrehungen und Impulse zählen.


2. Die Messwerte direkt in den S_Port eines X Empfängers einspeisen und über Telemetrie Anzeigen und Auswerten.
Das hat den Vorteil, das man die Ergebnisse direkt loggen kann und mit gleichem System Vergleichskurven im Flug aufnehmen kann.


mfg
Sigi
 

kalle123

User
Hallo Sigi. Erst mal Danke für dein Interesse.

Nur, wie so etwas zu realisieren wäre :confused:

Und da sich die übliche Polzahl im Bereich von 2, 4, 6, 8, 10, 12, 14 und 16 bewegt, hab ich da persönlich keine Probleme mit.

Ich log die Drehzahl auch nicht, hab den Sensor damals nur in Zusammenhang mit dem Konverter MPX -> FrSky "gebastelt".

Nix für ungut - Grüße KH
 
Aktuell läuft bei mir die Drehzahlmessung mit Unisense. Hat man nur nicht so viele von (ich habe 2) und die sind immer in irgend einem Modell vergraben.


Aktuell hadere ich wieder mit der Polzahl an einem neuen HP SK3 Motor in meinem reparierten Spacewalker.
Zählen kann ich 12 Windungen und geschätzt hab ich dann 14 Magnete (Pole). Der brachte dann tolle Leistungswerte und Drehzahlen.
Hat aber dann doch 16 Pole, damit liegt die Drehzahl dann wieder im Low Cost Bereich.

Zum übertragen in einen S-Port sollte sich die Routine aus Tangangos LostZähle als Vorlage anbieten. Sollte aber auch irgendwo universell verfügbar sein, dafür bist du ja viel dichter am Spielfeld als ich.

Sigi
 

kalle123

User
Sigi, einen Unisense E hab ich auch irgendwo hier. Dient aber nur als Referenz.

Wenn, dann nehm ich openXsensor. Solltest du dir vielleicht auch mal anschauen ... ;)

Gruß KH
 

kalle123

User
So, der RPM Sensor von Aliexpress ist gerade angekommen.

xte2yEkl.png


Hat 2.90€ gekostet. Funktioniert einwandfrei. (verwendet einen LM393)

UmI1GVKl.png


Damit entfällt schon mal der etwas "tiftelige" Bau des RPM Sensors.

Zur Anzeigeeinheit. Würde heute einen Arduino Nano und ein 1602 LCD I2C nehmen. Dazu noch eine Taste für die Polzahlvorwahl.

Wenn jemand Interesse hat, würde ich den Code ggfs. noch auf 1602 I2C umschreiben. Dann wird der Lötaufwand da auch recht überschaubar. ;)

Gruß KH

PS. Wäre vielleicht auch was für einen Wiki Artikel ....
 

Stoschek

User
Halllo KH

Das ist ja genau was ich brauche :-) Ich möchte nämlich meinen Teststand umbauen und unter anderem weg von dem optischen Sensor.
Hatte mir eigentlich gedacht das Signal für die Drehzahlmessung einfach an einem Gate abzugreifen, in der Hoffnung da nichts nachbearbeiten zu müssen. Leider sieht das Signal doch etwas anders aus als erwartet...
Wie funktioniert denn das ganze softwareseitig, oder anders gefragt, könnte ich das Programm bekommen?

Grüße Dirk
 

kalle123

User
Hi, gerne Stoschek ;)

Wir kennen uns ja aus nem anderen Forum.

Ich hatte mir mal einen kleinen Frequenzzähler gebaut und den halt mit der Funktion DREHZAHLMESSUNG aufgerüstet.

Den Sketch häng ich hier unten mal an. Da findet sich auch die Quelle, wo der Frequenzzähler her kommt.

Hab zwei digitale Eingänge hinzu gefügt. DI 2 ist die Steckbrücke (im Bild unten rechts), wenn die gesetzt ist, Drehzahl, offen Frequenz. Und DI 3 ist ein Taster, mit dem die Polzahl umgeschaltet werden kann (links daneben).

Das ist es.

Wenn Fragen, gerne.

Gruß KH
 

Anhänge

  • Frequenz_Drehzahl_Anzeige.ino.txt
    3,1 KB · Aufrufe: 826

Stoschek

User
Dankeschön, hilfsbereit wie immer :-)

Die genannte Quelle hatte ich auch schon ausgemacht. Wie ich Zeit habe, baue ich das mal zusammen, mit Ausgabe auf ein kleines OLED-Display.
Muss aber auch erst mal schauen, wie ich das Signal brauchbar kriege. Der LM358 ist scheinbar schnell genug? Davon habe ich noch welche...
 

Stoschek

User
So... jetzt habe ich es geschafft. Das Signal ist endlich passend umgebogen, meine Kenntnisse in analoger Schaltungstechnik waren etwas eingerostet.
Der Sketch läuft übrigens so leider nicht auf dem Mega, da musste ich eine andere Bibliothek verwenden, aber jetzt tut es.
Hier mal die Signale:
Drehzahlmessung2.jpg
Das grüne Signal ist das aus dem Regler, das gelbe nach dem Schmitt-Trigger,dazu Drehzahl und Polzahl im seriellen Monitor zum testen.
Damit kann ich dann demnächst weitermachen :-)
 
Ansicht hell / dunkel umschalten
Oben Unten