Forum: Analoge Elektronik und Schaltungstechnik 3-Phasen-/Brushless-Motorentreiber 12V Ratschläge


von Felix C. (felix_c13)


Lesenswert?

Hallo allerseits

Im Rahmen eines Schulprojektes habe ich mich mit dem Bau eines ROV´s 
beschäftigt und möchte da jetzt gerne ein wenig weiterarbeiten.

Verwendet wurden dabei unter anderem:

4 Roxxy BL Outrunner 2827-34
http://www.conrad.ch/ce/de/product/231423/Multiplex-315080-Roxxy-BL-Outrunner-2827-34-7-12-V-Umin-pro-Volt-760-Turns

mit folgendem ESC

BL Control 918
http://www.conrad.ch/ce/de/product/206275/Multiplex-318628-Roxxy-BL-Control-918-Betriebsspannung-72-144-V-Dauerstrom-18-A-Stecksystem-Futaba

ausserdem

2 BL Outrunner 3548/05
http://www.conrad.com/ce/de/product/387428/ROXXY-BL-OUTRUNNER-354805

mit folgendem ESC

Brushless-Controll 940-6
https://www.conrad.de/de/multiplex-318631-roxxy-brushless-controll-940-6-betriebsspannung-72-222-v-dauerstrom-40-a-stecksystem-futaba-206278.html


Die ESC`s wurden über ein PPM-Signal programmiert. Danach sollte das 
ganze etwa folgendermassen funktionieren:

Der Pin der am ESC liegt muss grob alle 20ms für 1000us bis 2000us High 
geschaltet werden. Dabei gilt:

1000us max. rückwarts
1500us Stillstand
2000us max. vorwärts

Das Problem bei der ganzen Sache war, dass das in der Praxis nicht ganz 
so funktioniert hat, bei manchen ESC´s besser bei manchen schlechter. 
Z.B ist der Maxspeed nicht immer bei 2ms/1ms, dass wäre ja noch 
verkraftbar (-->Kalibrierung mit Hilfe eines Stroboskops), aber n bissel 
ätzend war auch, dass wenn man z.B. vorwärts fährt und man stoppen will, 
und man z.B von 1750 kommt und dann auf 1500us geht, dreht er immer 
noch. Geht man dann -->1499-->1500 stoppt er. Software mässig umsetzbar 
aber einfach nervig.

Zugegebenermassen wurde das ganze mit Arduino realisiert aber ich 
glaube, dass mein Code i.O. war. Allerdings sind einige der ESC´s auch 
mal heiss geworden ;P. Ich weiss da jetzt halt nicht genau obs an meinem 
Code, an kaputten ESC´s liegt oder einfach, dass die Dinger sündhaft 
teuer sind...und trotzdem scheisse.


Da ich heute an nem zufällig an nem TI-Stand war und die mir dort 
InstaSpin bzw. ein F28027F + ein DRV8301 Booster Pack empfohlen haben, 
habe ich das mal gegoogelt.
https://store.ti.com/launch-f28027f-boost-drv8301.aspx

In Anbetracht dessen, dass mir der Motortreiber nicht mal reicht fande 
ich da die 66$ etwas heftig. Zugegebernmassen da ist das 
InstaSpin-Gedöns dabei und ich kann die Libarys etc. benutzen.

Nach kurzem Suchen fand ich das hier noch:
http://www.atmel.com/images/doc8012.pdf
Da steht welche Bestandteile man für einen 3-Phasen-Treiber braucht und 
da ist sogar ein Source-Code dabei,(zwar für einen uController den ich 
nicht will, aber dank himmlischer Dokumentation müsste ich da nur ein 
paar Register anpassen).

Nun zu meinen eigentlichen Fragen:

Man will es sich ja einfach machen, kurzerhand habe ich also nach 
Treiber-Shields geguckt, die scheinen ja echt sauteuer zu sein. Ich will 
da eigentlich nicht mehr als 15$ für ein Shield zahlen, also eigentlich 
noch viel weniger. Ist das realistisch kennt ihr da was?

Zu den Anforderungen überhaupt, auf der Conrad-Seite geben Sie 
beispielweise 37A Laststrom an (für den stärkeren der beiden Motoren) 
und 60A max. Laststrom. Aber ich blockier den Motor ja nie, der is ja im 
Wasser, das passiert doch eh nicht, sowieso sind die Motoren n bissel 
overpowered, ich treibe den also eh nicht an seine Grenzen, ein 40A 
reicht da oder? Wäre sonst ne Wasserkühlung ne Option?

Wäre das selberbauen des Treibers ne Option, habe ja quasi ne Anleitung 
oder noch besser kennt ihr Schaltungen? Einziger Kostenpunkt sind da 
doch die MOSFETS und die scheinen günstig zu sein.
http://uk.farnell.com/vishay-siliconix/sir492dp-t1-ge3/n-channel-mosfet-12v-40a-soic/dp/2478934

Oder sollte ich den ESC´s noch ne Chance geben? Wie gut sind die 
eigentlich? Ich bezweifle, dass die in der Wirtschaft verwendet werden, 
damit werden doch nur Privatpersonen abgezogen, oder nicht?

Oder habt ihr noch ganz andere Ideen.

Gruss und Dank

Felix

: Bearbeitet durch User
von Rainer U. (r-u)


Lesenswert?

Felix C. schrieb:
> 1000us max. rückwarts
> 1500us Stillstand
> 2000us max. vorwärts
>
> Das Problem bei der ganzen Sache war, dass das in der Praxis nicht ganz
> so funktioniert hat, bei manchen ESC´s besser bei manchen schlechter.
> Z.B ist der Maxspeed nicht immer bei 2ms/1ms, dass wäre ja noch
> verkraftbar (-->Kalibrierung mit Hilfe eines Stroboskops), aber n bissel
> ätzend war auch, dass wenn man z.B. vorwärts fährt und man stoppen will,
> und man z.B von 1750 kommt und dann auf 1500us geht, dreht er immer
> noch. Geht man dann -->1499-->1500 stoppt er. Software mässig umsetzbar
> aber einfach nervig.

Eigentlich sollte er bei 1500 dann immer stoppen. Vielleicht liegt es 
doch an Deiner Software? Probier doch mal mit einem Servotester.

von Felix C. (felix_c13)


Lesenswert?

Rainer U. schrieb:
> Eigentlich sollte er bei 1500 dann immer stoppen. Vielleicht liegt es
> doch an Deiner Software? Probier doch mal mit einem Servotester.

Habe leider keinen Servo-Tester. Vielleicht liegt es auch an meiner 
Software. Ich kann den COde sonst später mal noch hochladen.

Was noch interessant ist. Wenn ich jetzt mit nem 1500 Signal anfange 
steht er halt still wenn ich dann langsam hochgehe, fängt er so bei 
1520/1480 an zu drehen. Ist mir auch einigermassen logisch. Dreht er zu 
langsam kann die Motorensteuerung die Zero-Crossings nicht erkennen, 
deswegen fängt er auch sofort an sich etwas schneller zu drehen. Aber 
wieso hört er dann bei 1500us nicht auf wenn ich irgendwie z.B. von 1750 
direkt auf 1500 springe? Ich könnte dem ESC's auch einfach gar kein 
Singal mehr geben dann stoppt er auch, aber ich verwende eine 
3D-Ladesteuerung mit PD-Regler, das wäre einfach nervig so 
Zusatzbedingungen in den Code zu bringen.

von MaWin (Gast)


Lesenswert?

Felix C. schrieb:
> Oder sollte ich den ESC´s noch ne Chance geben? Wie gut sind die
> eigentlich? Ich bezweifle, dass die in der Wirtschaft verwendet werden,
> damit werden doch nur Privatpersonen abgezogen, oder nicht?

Das ist Modellbaukram ohne Hallsensoren nur geeignet für unbelastet 
anlaufende Motoren, also Luftschrauben, keine Räder.

> 1750 kommt und dann auf 1500us geht,
> dreht er immer noch. Geht man dann
> -->1499-->1500 stoppt es

Vergiss bei dem eine Auflösung von 1us. Sei froh, wenn es 10us 
unterscheidet und wundere dich nicht, wenn es bloss 100us sein sollten, 
also 10 Stufen. Zudem wird Pulsbreitenfilterung drin sein, um mit dem 
gestörten Signal einer Funkfernsteuerung klar zu kommen. It's nit a bug, 
it's a feature.

Felix C. schrieb:
> Bau eines ROV´s

Echt, ein autonomes Unterwasserfahrzeug

https://de.m.wikipedia.org/wiki/Remotely_Operated_Vehicle

von Felix C. (felix_c13)


Lesenswert?

MaWin schrieb:
> Echt, ein autonomes Unterwasserfahrzeug

Ja genau sowas, wir waren mal zu zweit, mein Kumpel studiert jetzt aber, 
arbeite deswegen gerade an ner Menge Baustellen :).


MaWin schrieb:
> Vergiss bei dem eine Auflösung von 1us.

So schlecht sind sie dann doch nicht ;). 3us kann er auf jeden Fall 
unterscheiden, jeden Fall hört man einen Unterschied am Motorgeräusch.

Hast du denn Empfehlungen für Motorentreiber? Was hälst du von der Idee 
die selber zu bauen?

: Bearbeitet durch User
von Henry P. (henrylexx)


Lesenswert?

Das nach zu bauen ist eine gute Übung, komplett zu machen kann schon 
sehr viel Zeit inanspruch nehmen aber eine hochinteressante 
Angelegenheit.
Gibt es in der Bucht nicht noch günstigere ESCs oder schau mal bei 
Hobbyking....

von Felix C. (felix_c13)


Lesenswert?

Henry P. schrieb:
> Gibt es in der Bucht nicht noch günstigere ESCs oder schau mal bei
> Hobbyking....

Bucht? Ich weiss halt nicht wieso die besser sein sollten, als die von 
Robbe.

von Martin S. (led_martin)


Lesenswert?

Das seltsame Verhalten beim Sprung in der Impulsbreite kann gewollt sein 
(Störungsunterdrückung), kann aber auch eine Macke in der Firmware sein, 
von einer normalen Fernsteuerung kommt so Etwas normalerweise nicht, die 
Firmware ist möglicherweise nie in diese Richtung getestet worden.

Die meisten Modellbau-ESCs sind nur Steller, keine Regler, die Drehzahl 
ist also nicht konstant.

Daß es, um den 0-Punkt, mit 1500us Puls, einen Bereich gibt, in dem sich 
der Motor nicht dreht, ist vermutlich gewollt, da das Signal einer 
Fernsteuerung ja gewisse Schwankungen hat, und man so trotzdem 
zuverlässig Stillstand erreicht.

ESCs selbst zu bauen, und die Firmware dazu zu schreiben, ist schon 
möglich, aber wenn man da ohne spezielle Vorkenntnisse rangeht, gibt es 
doch 'ne Menge Fallstricke, das ist dann als eigenständiges 
Bastelprojekt zu verstehen. Wenn man da Etwas selbst bastelt, merkt man 
schnell, wie gut es ist, Mosfets billig einkaufen zu können, denn man 
tötet ne ganze Menge davon, bis so ein ESC vernünftig läuft. Eine 
Möglichkeit ist auch, ESCs mit bekanntem Mikrocontroller zu kaufen, 
ATmegas sind da recht verbreitet, und nur die Frmware selbst zu machen. 
Viele billig China ESCs basieren auf Open-Source-Projekten, so daß sich 
auch die Beschaltung des Controllers in Erfahrung bringen lässt.

Für den Einsatz an Multikoptern gibt es auch ESCs, die über I²C, oder 
SPI, angesprochen werden, das wäre vielleicht auch noch 'ne Überlegung 
wert.

Mit freundlichen Grüßen - Martin

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.