PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brushless DC am PI



nixwisser
25.08.2016, 10:11
Hallo Leute,

nach einiger Zeit Pause hat mich das basteln doch wieder erwischt und zwar seit ich einen Raspberry PI 2 habe. :p
Die grundlegenden Sachen (wie DC mit L298N oder DHT22 etc...= hab ich schon ausprobiert und das funktioniert auch alles ohne Probleme.
Nun hab ich mir in meinen jugendlichen Leichtsinn gedacht ich könnte auch einen brushless DC über den PÍ steuern, da er ja ein PWM liefert. Doch hier versag ich auf kompletter Linie. Die Gurus aus dem Raspberry PI Forum waren mit den technischen Fragen wohl überfordert und dann hab ich mich an die technischen Gurus im RoboterNetz erinnert und siehe da hier gibt es auch ein PI Bereich. :p
So nun aber mal zu dem technischen Sachen. Ich hab die drei Drähte des BLDC mit einem ESC verbunden. Dann habe ich vom PI das PWM und die GND auf das ESC gelegt und einen 3S Lipo an das ESC angeschlossen. Soweit so gut. Sobald ich den Lipo anschließe piept der Motor und das war es. Es ist egal was ich als PWM mit dem PI abgebe es wird ignoriert. Ich hab schon verschiedene Webseiten gelesen die sich mit dieser Materie beschäftigen, doch alles hat irgendwie nicht weitergeholfen. Ich hab schon versucht den Initialisierungsweg durchzuspielen -> nix. Ich hab das PWM mit einer LED geprüft, alles in Ordnung. Nun meine Frage. Kann es sein das der ESC mehr als 3,3 V benötigt und ich einen Pegelwandler dazwischen bauen muss um auf 5V zu kommen?
Das ist das Set was ich mir zum experimentieren geholt habe.
https://www.amazon.de/XT-XINTE-Brushless-Outrunner-Flugzeuge-Quadcopter/dp/B00O7NZ8TO/ref=pd_nav_hcs_bia_t_2?ie=UTF8&psc=1&refRID=H15MXHDN65AZ4Q88QYT3

Ich hoffe ihr habt noch ein paar gute Ideen.

i_make_it
25.08.2016, 10:51
Das auf bem Bild bei Amazon ist ein Modellbau Servostecker.
Also ist der wohl zum Anschluß an einen RC Empfänger vorgesehen.
Empfängerspannung geht üblicherweise von 4,8V (4 Zellen) bis 7,2V (6 Zellen).
Analoge Servosignale haben eine Periodendauer von 20ms und gehen von einer Einzeit von rund 0,95ms bis rund 2,05ms am Anfang der Periode.
Hast Du das auch schon Probiert?
http://rn-wissen.de/wiki/index.php/Servos

morob
25.08.2016, 10:59
pigpio
wiringpi

und dann wie richtig schon gesagt nach servo signal schaun.

nixwisser
25.08.2016, 11:06
Also das ist mal ne komplett neue und interessant Aussage. Was ich ausprobiert habe ist ein 8Khz PWM für 2 Sekunden an den Motor zu Initialisierung bei 100% zu schicken und dann umzuschalten auf 0% für weitere 4 Sekunden. Das bzw. die Invertierung als erst 0% und dann 100% sollten die Initialisierung des ESCs bewirken und anschließend sollte man ihn über den PI normal anfahren können.
Wenn ich deinen Post richtig verstehe bedeutet das ich muss den ESC austauschen, da ich keine 4,8V über den PI zusammen bekomme. Hast du eine Empfehlung welcher ESC mit 30A gehen würde?

morob
25.08.2016, 11:14
rpi -> levelshifter (3,3V/5V) -> esc (servosignal)
der esc kann bis 6v.

i_make_it
25.08.2016, 11:25
Es reichen zwei Widerstände und einen Transistor sowie die 5V vom Pi um einen GPIO auf 5V zu bringen.
https://www.elektronik-kompendium.de/sites/raspberry-pi/bilder/20060311.gif
Der Signalpin kommt zwichen Rlast und den Transistor.

Über Rlast wird der Ausgang mit 5V versorgt.
Schaltet der Transistor, wird der Ausgang quasi (Innenwiederstand des Transitors) mit GND kurzgeschlossen und RLast sorgt Dafür das da kein zu großer Strom fließt.

RVorwiederstand schützt den Raspi vorm Durchbrennen, begrenzt also den Strom den der Transistor vom GPIO zieht.
Wenn beim ESC eine Initialisierungssequenz einzuhalten ist, dann mach das.
Ich bin jetzt ohen Daten vom ESC zu haben, nur vom Foto ausgegangen und daß das da ein üblicher Modellbau Servostecker ist.
Und die Randbedingungen bie RC Empfängern sind halt 4,8-7,2V und bei (Analog-) Servos 20ms Periodendauer bei der schon genannten Einzeit von rund 10-20% am Beginn der Periode.

Wenn Du einen Link zum Handbuch bzw. zum Datenblatt des ESC hast, dann könnte man sich das einmal ansehen.
Ansonsten kann man halt nur spekulieren, was ich aufgund des Steckers gemacht habe.

nixwisser
25.08.2016, 11:46
Datenblatt wäre schön. Das einzige was ich bis jetzt gefunden habe ist http://www.hobbyking.com/hobbyking/store/uploads/811103388X7478X20.pdf
Und beim nochmaligen lesen ist mir glaube ich auch direkt noch ein Fehler aufgefallen. Ich muss den ESC mit 16Khz ansteuern. 8 sind für Innenläufer aber ich hab ja einen Außenläufer. Ich glaub ich probier das mal mit 16Khz und versuch mal die Spannung hoch zubekommen mal sehen ob sich dann was zuckt. :p
Wie schon geschrieben tausche ich auch gern den ESC gegen einen der besser zum PI passt, wenn jemand ne gute Empfehlung hat. ;)

morob
25.08.2016, 13:20
es gibt nicht den esc für den rpi.

i_make_it
25.08.2016, 20:19
BLDC Motoren und stammen aus dem RC Modellbau und der Raspberry Pi aus einer Initiativer den Einstieg in Computersteuerungen für Geräte zu erleichtern.
Also zwei ganz verschiedene Welten.
Wie morob schon geschrieben hat gibt es nicht nur, nicht den ESC für den Raspi sondern gar keine ESCs für Raspi.
Es liegt in dem Fall also an Dir die beiden Welten zusammen zu bringen.

Das Hobbyking PDF bestätigt das es sich um RC-Servo Signale handelt.
Also entweder Pegelwandler kaufen oder wenn Deine Elektronik Kentnisse reichen um die Widerstandswerte zu berechnen, dann einfach einen Transistor als 5V Treiber an einen GPIO hängen.

Du kannst Dir auch einen einfachen Servotester holen und dem ESC erst mal damit ein Setup verpassen und testen.
Dann weißt Du schon mal daß das funktioniert.
Und mußt Dich nur noch um den Betrieb des Motros kümmern.

Klebwax
25.08.2016, 20:43
Datenblatt wäre schön. Das einzige was ich bis jetzt gefunden habe ist http://www.hobbyking.com/hobbyking/store/uploads/811103388X7478X20.pdf
Und beim nochmaligen lesen ist mir glaube ich auch direkt noch ein Fehler aufgefallen. Ich muss den ESC mit 16Khz ansteuern. 8 sind für Innenläufer aber ich hab ja einen Außenläufer. Ich glaub ich probier das mal mit 16Khz und versuch mal die Spannung hoch zubekommen mal sehen ob sich dann was zuckt

Das Steuersignal im RC-Umfeld wird zwar gerne PWM genannt, ist aber keine. Verlangt ist ein Signal, das zwischen 1ms und 2,5ms high ist. Die Länge dieses Pulses bestimmt den Winkel eines Servos oder die Drehzahl eines Motors. Die Wiederholrate dieses Signals war ursprünlich 20ms, 50Hz. Moderne Servos oder auch ESCs vertragen oft auch 5 bis 50ms. Wenn man das Signal mit einer PWM erzeugen will, muß man eine Frequenz von 50Hz einstellen. Dann rechnet man sich einen Dutycycle für die 1ms und für die 2,5ms aus. Das sind die Grenzwerte, die man verwenden kann. Verwendet man eine andere Frequenz (mit einer Periode zwischen diesen 5-50ms) muß man sich neue Dutycycle ausrechnen.

Das mit den 3,3V würd ich erstmal ignorieren. Die klassischen Servos arbeiteten nach TTL-Regeln. Da ist alles über 2V ein high. Aus kompatibilitätsgründen werden auch moderene Controler so funktionieren.

MfG Klebwax

morob
26.08.2016, 06:20
guck mal bei der datenkrake google nach "raspberry pi brushless esc"