Forum: Mikrocontroller und Digitale Elektronik BLDC Prüfstand bauen und Messwerte auf den PC übertragen


von Jarrao (Gast)


Lesenswert?

Hallo,
ich würde gerne einen kleinen Prüfstand bauen, um Kennlinien meiner 
Propeller aufzunehmen. Mir wäre es wichtig den Test zu automatisieren. 
Also ich möchte, dass bestimmte Punkte angefahren werden oder eine 
bestimmte Kurve abgefahren wird und alle Messdaten zum einen dabei am PC 
in Form einer Kurve zu sehen sind und als Tabelle abgelegt werden, mit 
der ich weiter arbeiten kann.
Außerdem möchte ich die Schubkraft messen, wobei ich dies schon 
hinbekommen habe mit meinem Arduino. Die Darstelllung beschränkt sich 
aber leider auf den Seriellen Monitor, statt auf ein vernünftiges 
Diagramm. Zum anderen würde ich gerne den Strom Messen und die Spannung, 
welche ich auf den ESC gebe. Und natürlich die Drehzahl muss noch mit 
rein.
Hat Jemand eine Idee welche Schnittstelle, Software und Hardware dafür 
geeigent wären? Also die Genauigkeit und Auflösung können ruhig moderat 
sein für den Anfang.

von Felix U. (ubfx)


Lesenswert?

Hi,

Jarrao schrieb:
> Außerdem möchte ich die Schubkraft messen, wobei ich dies schon
> hinbekommen habe mit meinem Arduino. Die Darstelllung beschränkt sich
> aber leider auf den Seriellen Monitor, statt auf ein vernünftiges
> Diagramm.
Die einfachste Möglichkeit wäre es, die Daten aus dem Terminalprogramm 
in Excel oder so zu importieren und dort zu plotten. Wenn du es 
automatisiert haben willst, kannst du die Programmier- oder 
Skriptsprache deiner Wahl nehmen, dich zum seriellen Port verbinden und 
die Daten automasiert plotten.

> Zum anderen würde ich gerne den Strom Messen und die Spannung,
> welche ich auf den ESC gebe.
Für den Strom nimmst du einen kleinen Reihenwiderstand + simple 
Verstärkerschaltung an den Arduino ADC und für die Spannung einen 
Spannungsteiler und einen zweiten ADC Kanal.


> Und natürlich die Drehzahl muss noch mit
> rein.
Das würde wohl mit einer einfachen LED + Phototransistor oder 
Photodiode, die du an einen Timereingang hängst, gehen. Alternativ 
müsstest du je nach Motorcontroller auch an die Drehfeldfrequenz kommen 
und sparst dir dann einen zusätzlichen Drehzahlmesser.

> Hat Jemand eine Idee welche Schnittstelle, Software und Hardware dafür
> geeigent wären? Also die Genauigkeit und Auflösung können ruhig moderat
> sein für den Anfang.
Ich kenne die Specs vom Arduino jetzt nicht, für die Anforderungen 
dürfte aber so gut wie jeder Microcontroller ausreichen. Als 
Schnittstelle kannst du bei der unkritischen Anwendungen weiterhin einen 
(virtuellen) COM Port und für die Software z.B. C# nehmen, womit das 
Ansteuern und Plotten (mit entsprechender Lib für die Diagramme) 
ziemlich einfach geht.

Gruß

: Bearbeitet durch User
von nikstar (Gast)


Lesenswert?

Hallo,

soweit ich weiß hat die Arduino IDE (zumindest in den neueren Versionen) 
den Serial Plotter eingebaut, der recht einfach anzuwenden ist. Ist in 
der IDE unter "Tools" zu finden.

mfg

von Jarrao (Gast)


Lesenswert?

Hey Felix,
das mit Excel wäre für den Anfang vermutlich erst einmal das einfachste. 
Dafür müsste ich dann eine Datei mit allen Werten erstellen und als 
x-y-Diagramm einfügen. Muss ich mal gucken ob der Arduino so etwas 
übergeben kann.

Ach die ADC sind dann die Anlog in Pins vermutlich. Das ist natürlich 
praktisch. Also quasi über den Reihenwiderstand parallel die Spannung 
messen um auf den Strom zu schließen? Beim Spannungsteiler, dass macht 
natürlich sinn, wobei ich da mal gucken muss wie ich das ganze genau 
anschließe, aber gut zu wissen das es überhaupt geht.

Der Motorcontroller bekommt ja ein PWM Signal vom Mikrocontroller, dass 
müsste eigentlich synchron mit der Drehfelddrehzahl sein, denke ich mal. 
Das mit dem Phototransistor klingt gut, ich muss dann gucken wie ich es 
so befestige, dass die LED durch die Rotorblätter in den Sensor strahlt.

Mit C# bin ich nicht so bewandert und der Arduino Syntax ist ja auch nur 
so eine Art pseudo C# glaube ich. Ich werde versuchen das mit Matlab hin 
zu bekommen, ich glaube da gab es ein Plugin um Daten aus der seriellen 
Schnittstelle zu lesen. Wobei ich mich zu erinnern glaube, dass das sehr 
sehr langsam von statten ging und eine große Latenz besaß. Damit könnte 
man aber die Diagramme relativ einfach realisieren.

Aber das sind schon mal gute Stichpunkte die ich mir angucken werden, 
vielen Dank und über weitere Anmerkungen, Links oder Infosmaterial bin 
ich natürlich immer dankbar :)

von Jarrao (Gast)


Lesenswert?

@Nikstar
Ja, du hast Recht es gibt diesen Serialplotter. Ich finde den ziemlich 
nice, weil der sehr schnell ist und man gefühlt in Echtzeit die Signale 
erhält. Leider kann man das ganze nicht abspeichern, skalieren oder 
kontrolliert starten usw. Aber um mal die Signale zu untersuchen ist der 
echt praktisch.

von Stm M. (stmfresser)


Lesenswert?

Daten mit pyserial acquiren, dann mit pickle speichern, mit pyqtgraph 
anzeigen

von ... (Gast)


Lesenswert?

Mit Modellflug-Ambitionen würde ich dir empfehlen, dir LogView bzw. 
LogView Studio und Openformat anzusehen. Da hast du eine recht stabile 
Datenbank, ausreichende Exportfunktionen und gute Zoom und Analyse 
Funktionen.
Wenn du nicht alles selbst entwickeln willst (Steller, Stromsenoren, 
Drehzahlsensoren, Waage,... kann ich dir das UniLog 2 von SM-Modellbau 
empfehlen. Ein UniTest2 gibt idR leider niemand gebraucht ab.
Inzwischen bieten aber auch schon viele Hersteller Drehzahlsteller mit 
Telemetrieunterstützung an. Je nach System lassen sich diese Daten mit 
einem µC oft einfach weiterverarbeiten. Sonst gäbe es da auch noch das 
JLog-Projekt (aktuell das S32).

von Wolfgang B. (Firma: Wolftec GmbH) (wbeppler)


Lesenswert?

hi,
also ich hab fuer bldc mal nen pruefstand gebaut, drehzahl, temperatur, 
spannung, strom und so zeug. war ganz interessant und erstaunlich was 
alles aus den messwerten zu erkennen ist.

ich wuerde das mit nem selber erstellten programm tun da ich 
programmierer bin. das ist sicher die beste methode aber braucht halt 
viel erfahrung. dann ist datenbank und diagramme kein thema.

wenn du was primitives willst kannst du die diagramme mit excel oder 
besser calc (aus openoffice weil umsonst und genausogut oder besser) 
machen. die tabelle ausfuellen ist dann noch ne aufgabe.

nimm doch einfach nen arduino-uno (ich glaube der ist es) der kann dann 
an den analogen pins die messwerte holen und der kann als HID erkannt 
werden, also als tastatur am pc. baust nen schalter dran den du umlegst 
wenn du die messreihe startest und mit den befehlen 
keyboard.write(messwert) und keyboard.write(ENTER) oder so aehnlich.... 
beschreibt der arduino deine excel-tabelle. danach daraus ne kurve zu 
kriegen ist etwas gegoogel wegen dem programm als solches. taugt hier 
sicher genug.

gruss
wolfgang

von Horst Laschuetza (Gast)


Lesenswert?

Hallo,

schau doch mal auf der Seite Sinusleistungssteller.de. Die bieten einen 
Regler mit Tools an, die alle diese Messwerte zur Verfügung stellen.

von Felix U. (ubfx)


Lesenswert?

Jarrao schrieb:
> Dafür müsste ich dann eine Datei mit allen Werten erstellen und als
> x-y-Diagramm einfügen. Muss ich mal gucken ob der Arduino so etwas
> übergeben kann.
Wenn wir jetzt mal beim textbasierten Protokoll über den seriellen Port 
bleiben, dann würde ich das einfach als "[drehzahl] [schubkraft]\n" 
übertragen, das ist dann gut lesbar und lässt sich per Copy&Paste direkt 
in Excel übertragen. Die Alternative wäre natürlich, die Daten binär zu 
übertragen womit du dann noch ein paar Byte einsparen kannst.

> Ach die ADC sind dann die Anlog in Pins vermutlich. Das ist natürlich
> praktisch. Also quasi über den Reihenwiderstand parallel die Spannung
> messen um auf den Strom zu schließen?
Genau. Du musst aber bedenken, dass der Reihenwiderstand die Leistung 
I^2*R in Wärme umsetzt. Der sollte also relativ klein, im zwei- oder 
dreistelligen Milliohm Bereich, sein.

> Der Motorcontroller bekommt ja ein PWM Signal vom Mikrocontroller, dass
> müsste eigentlich synchron mit der Drehfelddrehzahl sein, denke ich mal.
Ich weiß nicht, was für einen Controller du benutzt, eventuell ist im 
Modellbau tatsächlich eine Drehzahlsteuerung üblich. Ansonsten würde ich 
vermuten, dass mit dem PWM Signal eher der Strom (also Drehmoment) oder 
Leistung geregelt wird.

> Ich werde versuchen das mit Matlab hin
> zu bekommen, ich glaube da gab es ein Plugin um Daten aus der seriellen
> Schnittstelle zu lesen. Wobei ich mich zu erinnern glaube, dass das sehr
> sehr langsam von statten ging und eine große Latenz besaß.
Mit MATLAB wirst du da keine Probleme haben, das eignet sich gut dafür.

von Walter T. (nicolas)


Lesenswert?

Felix U. schrieb:
> Mit MATLAB wirst du da keine Probleme haben, das eignet sich gut dafür.

+1

Wenn das Ergebnis dann doch Excel sein soll, gibt es unter Windows ein 
entsprechendes Excel-Export-Plugin. (Unter Linux muß es dann eben ein 
csv-Export sein - der geht immer.)

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.