Hi Auf der Suche nach effektiven Anlaufmethoden habe ich im Web folgenden Auszug gefunden i write for start a car 1/8 1/10 scale the best method i have for starting 6 phase pwm on phase 1 240us phase 2 480us phase 3 960us X 2 the times and change phase each time to reach 0.0344s / 2 the times start at 0.0344 to reach 240us between each time you check if the phase is good two times and if the next phase is OK two times you put the next phase at 0.1s same as watchdog to check if motor turn if timer reach 0.1s restart at 240us the timming is made for 2000 kv to 8000 kv any load Ich hab n paar Probleme, das korrekt zu übersetzen, vllt kann ja wer helfen. 1. Frage phase 1 240us phase 2 480us meint der da die 6 kommutierungsschritte, oder bestromt er jeweils eine phase, in dem er diese auf HIGH stellt und die anderen beiden auf LOW? 2. Frage raise to reach 0.0344s wenn ich weiter verdopple, erhalte ich 240, 480, 960 1920, 3840, 7680, 15360 und 30720 us, addiere ich 240 + 480 + 960 + 1920 + 3840 + 7680 + 15360, kommt 30480 us heraus, aber ich komm nie auf 34400 us. Was ist damit gemeint? 3. frage check two times if the phase is good and if the next phase is OK two times usw usw Was ist mit check phase gemeint? Kontrollieren ob an der unbestromten Phase Spannung induziert wird? Anscheinend soll dieses Anlaufverhalten auch unter Last gut funktionieren, nur blick ich nich wie das genau gemeint ist. Kann jemand den Text nachvollziehen? Ursprung ist btw http://www.edaboard.com/thread143432.html
Morgy schrieb: > Anscheinend soll dieses Anlaufverhalten auch unter Last gut > funktionieren, Tja, man glaubt gerne Dinge die einfach erscheinen. Es hat schon seinen Grund, warum andere Leute dort lieber BLDC mit Sensoren verwenden. Er beginnt mit viel zu hoher Frequenz um zu folgen, reduziert die und erhöht sie wieder und hofft, daß sich der Rotor dadurch mitnehmen lässt. Es hängt nicht bloss vom Auto und konkreten Motor ab, sondern auch von der Steigung auf der das Auto gerade steht.
MaWin schrieb: > Es hat schon seinen Grund, warum andere Leute dort lieber BLDC mit > Sensoren verwenden. Quatsch, die sind quasi ausgestorben. Richtig ist daß es nicht so einfach ist und erhebliche Unterschiede zwischen den Herstellern bestehen, was das Anlaufverhalten betrifft. Der diesbezüglich "schlechteste" Steller in meinem Fundus stammt übrigens von einem (mitlerweile insolventen) deutschen Hersteller.
Mein Motor muss gar nicht unter Last starten, da er für Flugmodelle ausgelegt werden soll. Allerdings ist das Rastmoment bestimmter Motoren so hoch, dass diese sich von einem fest rotierendem Drehfeld nicht mitnehmen lassen. Deshalb würde es mich interessieren, wie du einen Brushless anlaufen lassen würdest, oder mir sagen könntest, wie man dieses oben genannte verbessert.
Hat jemand ne Idee wie das mit der S-Kurve umsetzbar wäre? Laut Antriebstechnik ist ein S-förmiger Wegverlauf ja das non-plus-ultra, vllt hat der typ es ja darauf übertragen?
Morgy schrieb: > Hat jemand ne Idee wie das mit der S-Kurve umsetzbar wäre? > Laut Antriebstechnik ist ein S-förmiger Wegverlauf ja das > non-plus-ultra, vllt hat der typ es ja darauf übertragen? Die S-Kurve wird für eine Positionsregelung verwendet um eine Last Ruckfrei zufahren, das hat mit dem Anlauf nichts zu tun. Morgy schrieb: > Allerdings ist das Rastmoment bestimmter Motoren so hoch, dass diese > sich von einem fest rotierendem Drehfeld nicht mitnehmen lassen. Überleg noch mal genau. Wenn der Motor mehr Rastmoment hat als er elektrisch selbst aufbringen kann, dann läuft der nie. Der wird einfach mit zu wenig Strom angefahren. Zu deinem Problem. Die sinnigste Variante ist recht ähnliche dem was ich glaube aus der kryptischen Beschreibung aus deinem Post zu lesen. Was der machen wird: >the best method i have for starting 6 phase >pwm on phase 1 240us Sektor 1 für 240us. mit dem PWM Duty den du durch dein Eingang vom Empfänger vorgibst. >phase 2 480us Sektor 2 für 240us. mit dem PWM Duty den du durch dein Eingang vom Empfänger vorgibst. >phase 3 960us Sektor 3 für 240us. mit dem PWM Duty den du durch dein Eingang vom Empfänger vorgibst. >X 2 the times and change phase each time to reach 0.0344s das ganze bis Sektor 6 (also ne Volle Umdrehung.) Und die Zeit erhöhen (*2) bis du ein maximum erreichst. (Drehfrequenz senken) >/ 2 the times start at 0.0344 to reach 240us das ganze bis Sektor 6 (also ne Volle Umdrehung.) Und die Zeit senken (/2) bis du ein minimum erreichst. (Drehfrequenz erhöhen) Und wenn du dann 2 mal hinter einander einen Bemf Nulldurchgang gesehen hast -> Drehzahl berechen und damit weiter auf Touren. Prinzip Drehfeld Frequenz mit Viel zuschnell Starten -> Maschine Vibriert. Drehfeldfrequenz senken irgend wann kommt die Maschine mit. Durchs senken fährst du durch den optimalen Arbeitspunkt durch. und erwischst ihn hoffendlich mit den BEMF Messungen. Wenn nicht das gleich noch mal mit steigender Frequenz. Gruß Tec
Danke TEC, genau das was ich wollte / brauchte, besser hätte ne Antwort nicht sein können ^^ Werds am WE vllt mal umsetzen, Prinzip ist jedenfalls vorstellbar. Zu dem einen noch: between each time you check if the phase is good two times and if the next phase is OK two times you put the next phase at 0.1s same as watchdog to check if motor turn if timer reach 0.1s restart at 240us Mit check phase vermut ich mal, dass er den Motor auf Rotation prüft oder? Wie stellt man das am blödsten an? Wenn ich den Text richtig deute, setzt er seinen Watchdog auf 0,1s zum Resetten. Ich versteh nicht, warum er da nicht n normalen Timer nimmt, beim Watchdog Reset muss mein Mikrocontroller ja erst mal wieder anfangen, den Sollwert vom Empfänger zu holen, es entsteht ein Lag. Außerdem hab ich dabei das Problem, dass wenn der Motor wegen zu hoher Frequenz vibriert, er deutlich mehr Rückinduktionen hat als bei normalem Lauf, was meinen Watchdog ja auch wieder resettet, der Motor vibriert schön vor sich hin und der uC denkt es ist alles in Ordnung, wird ja rückinduziert, passt ja. Momentan messe ich die Anzahl der Rückinduktionen innerhalb eines Zeitraums, ist dieser zu niedrig tut sich gar nix, ist dieser zu hoch vibriert der Motor, mittendrin dreht er sich (bei mir ca. 10000 Kommutierungen innerhalb 1s). Hab als akzeptablen Bereich zwischen 500 und 20.000 angenommen. Allerdings bin ich mit der Lösung unzufrieden, da diese Zahl ja bei jedem Motor schwanken kann. Wie kontrolliert man am besten die Rotation bzw. was meint der Zitierte mit seinem check phase?
Björn schrieb: > Mit check phase vermut ich mal, dass er den Motor auf Rotation prüft > oder? > Wie stellt man das am blödsten an? Moin Björn, der meint die BEMF messung auf der freien Phase. Also die früher übliche Weise auf den "Nulldurchgang" der freien Phase prüfen. Oder die schöne Variante: Prüfen auf Nulldurchgang mit nem ADC und die Spannung auf der Phase integrieren bis eine Schwellwert überschritten ist. Dann kommutieren. Über den Schwellwert kann man das "Timing" dann einstellen. Und das sauber über den gesamten Drehzahlbereich. Siehe InstaSpin BLDC von TI. Gruß Tec
zuio schrieb: > Quatsch, die sind quasi ausgestorben. So ein Unsinn, die werden massenweise eingesetzt eben weil sie mit dem Anlaufen unter Last keine Probleme haben. Es gibt mehr als das Dir bekannte, offenbar enge, Einsatzfeld.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.