Hallo zusammen, ich wollte Fragen was die maximale Schaltfrequenz bei den Brushlessmotoren ist. Ich hab schon ein Programm für den Atmega geschrieben. Im Programm hab ich Timer usw. eingearbeitet. Die 3 Phasen des Brushlessmotoren müßen ja immer anderst geschaltet werden. Zur Umdrehungseinstellung des Brushlessmotoren sende ich über die serielle Schnittstelle einen neuen Variabelenwert. Muß man noch etwas beim Brushlessmotoren beachten? Achso...welche Fets könnte man hier verwenden?
Bauartbedingt. Maximale ummagnetisierungsfrequenz von Eisen beachten, es gibt aber auch "Eisenlose" Motoren.
> Muß man noch etwas beim Brushlessmotoren beachten? Du musst die unbestromte Phase auf rückinduzierte Spannungen untersuchen und somit den Kommutationszeitpunkt bestimmen. Die Umdrehungsgeschwindigkeit wird durch die Phasenspannung bestimmt! Danach muss sich die Kommutationsgeschwindigkeit richten! http://www.mikrokopter.de/ucwiki/BrushlessCtrl
Hm...die Ansichten zur Ansteuerung der Brushlessmotoren ist echt extrem unterschiedlich. Jedenfalls hat ein Brushlessmotor 3 Phasen. Diese 3 Phasen werden unterschiedlich geschaltet um eine Drehung des Rotors zu bewirken, da immer andere Spulen ein Magnetfeld beim Stator aufbauen. Ein Brushlessmotor hat etliche Spulen beim Stator verbaut. Sagen wir mal das der Brushlessmotor 12 Spulen besitzt. 12 Spulen / 3 Phasen = 4 Spulen Erklärung der 3 Phasen: 1 = high 2 = gnd 3 = hängt in der Luft Wiegesagt werden diese 3 Phasen immer anderst geschaltet, um die anderen Spulen mit Strom zu versorgen um damit ein Magnetfeld auf zu bauen. Die normale Theorie würde nun aber sagen, das durch eine höhere Schaltfrequenz eine höhere Umdrehung des Rotors entsteht. Dies aber auch nur, wenn der FET schnell schalten kann. Eine niedrigere Schaltfrequenz dürfte demzufolge den Rotor langsamer drehen lassen. Wie du gemeint hast muß man die unbestromte Phase auf rückinduzierte Spannung prüfen. Ok...hier könnte man die Spannung an den integrierten A/D Wandler weitergeben. Beim Atmega lege ich eine Referenzspannung für den A/D Wandler an. Ich nehm hier mal die Versorgungsspannung des Atmega...also 5 V. Da jedoch der Motor mit 12 V laufen kann, muß ich noch einen Widerstand einbauen, um die Spannung bei der rückinduzierten Phase herab zu setzen....sonst geht der Atmega kaputt. Nun hab ich die Eingangsspannung bei Phase 1 auf high...Phase 2 geht nach gnd, so dass Strom durch die Spulen des Motors fließt. Nun müßte ich bei Phase 3 denke ich mal die Spannung einlesen oder? Bsp.: Der Motor läuft mit 12 V und zieht dabei 20 A. Eingangsspannung = 12 V Phasenspannung bei Phase = x Differenz = Eingangsspanung - Phasenspannung bei Phase Aber wie berechnet man nun hieraus die Umdrehung? Ist es linear? Klar macht es Sinn die angelegte Spannung mit der rückinduzierten Spannung zu vergleichen..... Wenn sich jetzt z.b Kraft auf die Welle des Brushlessmotors einwirkt, kann der Rotor sich langsamer drehen, obwohl man selbst eine höhere Umdrehung eingestellt hat.
Achso...und wenn eine Phase geschaltet wird reicht eine Rechteckspannug aus...es wird laut wiki auch keine sinusförmige Spannung benötigt.
Ich finde in der Eingangspost des TO keinerlei Informationen, die bei der Beantwortung einer Frage helfen können. andy schrieb: > Muß man noch etwas beim Brushlessmotoren beachten? Ja - gib uns Informationen über den Motor - hat er Sensoren, hat er ein Datenblatt, hat er vllt. sogar eine Nenndrehzahl oder Angaben über Betriebsspannung und Ströme? > > Achso...welche Fets könnte man hier verwenden? Siehe oben. Es gibt Motoren, die du mit BF245 ansteuern könntest. Und es gibt solche, wo du mit 500 Ampere IGBTs nicht mal anfangen solltest.
Klar macht es Sinn die angelegte Spannung mit der rückinduzierten Spannung zu vergleichen..... Wenn sich jetzt z.b Kraft auf die Welle des Brushlessmotors einwirkt, kann der Rotor sich langsamer drehen, obwohl man selbst eine höhere Umdrehung eingestellt hat. Und natürlich auch anderst rum. Wenn jetzt z.b ein Propeller an der Welle ist und der Wind von hinten auf den Propeller drückt, dann wird natürlich die Umdrehung auch schneller u. demzufolge die Spannung bei der Phase 3 höher.
> Wiegesagt werden diese 3 Phasen immer anderst geschaltet, um die anderen > Spulen mit Strom zu versorgen um damit ein Magnetfeld auf zu bauen. Es gibt insgesamt 6 verschiedene Schaltzustände. > Die normale Theorie würde nun aber sagen, das durch eine höhere > Schaltfrequenz eine höhere Umdrehung des Rotors entsteht. Die Phasenspannung gibt aber vor wie hoch die Schaltfrequenz letztlich sein wird. Letztere muss sich nämlich danach richten. Du musst die Phasenspannung aber gar nicht kennen damit es klappt. Es gibt nämlich eine einfache Methode den Kommutationszeitpunkt zu bestimmen. > Da jedoch der Motor mit 12 V laufen kann, muß ich noch einen Widerstand > einbauen, um die Spannung bei der rückinduzierten Phase herab zu > setzen....sonst geht der Atmega kaputt. Ich weiß nicht wo ich anfangen soll, weil da einfach zu wenig Vorwissen besteht. Du musst die Signale nicht nur herabsetzen, sondern auch filtern, weil die PWM herausgefiltert werden muss. Ferner brauchst du einen virtuellen Sternpunkt. Mit diesem Sternpunkt werden die rückinduzierten, gefilterten Spannungen verglichen. Das macht man mit einem Komparator, der schon im ADC des Atmega verfügbar ist... die Liste der zu beachtenden Faktoren ist lang. Ich kann das aus eigener Erfahrung sagen. Hab selbst mal so ein Teil gebaut. Es ist nicht unbedingt trivial! Mein Tip: Mach dich erstmal schlau wie das Prinzip funktioniert. Die Seite habe ich dir genannt, wo das gut erklärt wird.
Ich finde folgende Animationen zum Thema sehr schön: http://de.nanotec.com/schrittmotor_animation.html
Motortyp: EMAX CF 2822 - 1200 Brushlessmotor mit 1200 KV Welle 3mm, gehärtet L x D : 28mm x 30mm Belastung: 15A / 60sek Gewicht ca. 39g RPM = 7700 RPM/V = 1200 hm....1200 Umdrehung in der Minute pro Volt? Aber wie hoch ist die Betriebsspannung...k.A
Alexander Völker schrieb: > Ich finde folgende Animationen zum Thema sehr schön: > > http://de.nanotec.com/schrittmotor_animation.html Es geht hier aber nicht um einen klassischen Schrittmotor, bei dem die Schrittgeschwindigkeit durch den Takt vorgegeben wird, sondern um einen BLCD-Motor, der ganz anders angesteuert werden muss!
andy schrieb: > Aber wie hoch ist die Betriebsspannung...k.A So hoch wie du die Drehzahl brauchst. Aber unter 50V (12s Lipo) bleiben da nicht mehr Schutzkleinspannung.
@Hansi-Bansi....was hatte ich vorhin gesagt? Es gibt etliche unterschiedliche Auffassungen zur Beschaltung der Brushlessmotoren. Kaufen ohne nach zu vollziehen wie solch eine Treiberstufe funktioniert kann wohl jeder oder? Für was bitte schön einen hardwareseitgen Filter? Wenn ich die Spannungen in den Atmega per A/D Wandler einlese, dann brauch man nur die Spannungen größer 0 Volt in die arrays einlesen. Ist die Spannung = 0, dann öffnet man eine Schleife und prüft das Array auf den höchsten Spannungswert. Da jedoch der Atmega wenig Speicher hat, muß man bei jedem neu eingelesen Wert die Prüfung auf den höchsten Wert durchführen. Entweder man öffnet ein Unterprogramm oder springt zu eine andere Stelle und kehrt dann wieder in das Hauptprogramm zurück. Man verlagert dann den höchsten Wert in das erste Array und löscht die andere Array-Werte. Meine Frage war wiegesagt nur, wie sich die rückinduzierte Spannung auf die angelegte Spannung auswirkt.... Ich muß ja dann den Timer immer selbst neu einstellen lassen. Mit dem Timer werden ja dann die PWM Signale erzeugt u. die Ausgänge des Atmega geschaltet.
Die Application Note AVR444 beschreibt recht gut, wie ein sensorenloser BLDC Motor mittels eines AVR angesteuert werden kann. Am besten lädt man sich dazu auch die Schaltpläne des MC100 MotorControl Kits. Da du das Dings vermutlich für irgendein Fluggerät benutzen willst, solltest du dich dann nach komplementären MOSFet Pärchen umschauen, die so ca.30 Ampere aushalten können, da dir ein echter Halbbrückentreiber vermutlich zu aufwendig wird. So wie ich die Daten lese, ist bei knapp über 6 Volt Betriebsspannung Feierabend, 100% PWM Pakete vorrausgesetzt. Bei Vollast darf man diesen Motor nicht länger als eine Minute laufen lassen. Die Geschwindigkeit wird über die PWM Breite geregelt, die Umschaltpunkte über die Auswertung der BEMF, das steht aber alles in AVR444.
hier steht für den Motor 3s 11,1V http://www.premium-modellbau.de/-EMAX-CF2822-39g-Brushless-Motor-1200kv-28-22-z-B--f--Quad---Hexacopter/a25662268_u2344/
> Für was bitte schön einen hardwareseitgen Filter? Die altbewärte Schaltung mit dem Atmega läuft über dessen Komparator. Und da wird die PWM rausgefiltert. Der wirtuelle Sternpunkt ergibt sich durch eine entsprechende Schaltung mit Widerständen. Man kann es sicherlich auch ohne Filter machen, aber ich würde dir nicht dazu raten. Auch in der von Matthias genannten Appnote (hier http://www.gaw.ru/pdf/Atmel/app/avr/AVR444.pdf) wird gefiltert Wie gesagt: Schau dir doch mal die Seite an die ich dir genannt habe + die Appnote vom Matthias. Da gibt es sogar Schaltpläne + Open Source Code. :-) > Ich muß ja dann den Timer immer selbst neu einstellen lassen. > Mit dem Timer werden ja dann die PWM Signale erzeugt u. die Ausgänge des > Atmega geschaltet. Richtig. Die PWM gibt die Phasenspannung letztlich vor und danach richtet sich dann auch die nötige Kommutationsgeschwindigkeit.
> ich wollte Fragen was die maximale Schaltfrequenz bei den > Brushlessmotoren ist. So eine Motorspule hat eine Induktivität, und in ihr muss der Strom ansteigen, möglichst auf Nennstrom (sogar doppelter Nennstrom, denn es ist ja eine Dreieckrampe) innerhalb der Zeit. Also hängt die maximale Schaltfrequenz und damit Drehzahl von der Spannung ab, die du an die Spule anlegen kannst, und diese wiederum von der maximalen Isolationsspannung der Spule und was deine Elektronik so aushält. Darüberhinaus musst du ja wissen, wann du den Spulenstrom umschalten sollst, also brauchst du eine Erkennung der Position des Motorankers, entweder per Hallsensor oder per Gegen-EMK-Erkennung, und da spielt es eine Rolle wie schnell diese Sensoren arbeiten.
Richtig. Die PWM gibt die Phasenspannung letztlich vor und danach richtet sich dann auch die nötige Kommutationsgeschwindigkeit. Und warum? Da wenn man Spannung über den Fet schaltet, sich der Strom erst einmal in den Spulen aufbauen muß. Ist die PWM sehr hoch, ist der Schaltzeitpunkt sehr hoch und demzufolge ist die Spannung niedriger die geschaltet wird. Ist die PWN niedriger, ist der Schaltzeitpunkt ja niedriger und demzufolge ist die Spannung höher die geschaltet wird. Beides hat ja mit dem Spannungsaufbau zu tun. Erst bei der Zeit x, hat er dann die tatsächliche Spannung erreicht, die vom x beliebigen Energieträger zur Verfügung gestellt wird. Lieg ich hiermit richtig? Aber könnte mir bitte jemand erklären, wie sich die Phasenspannung auf die rückinduzierte Spannung auswirkt? Gibt es hier denn keine Formel für? Achso....ich muß ja nicht nur die rückinduzierte Spannung einlesen, sondern auch die Spannung nach dem Fet einlesen.
Theorie: Schnelle Schaltfrequenz = niedrigere rückinduzierte Spannung, da ja auch weniger Spannung durchgeschaltet wird. Langsame Schaltfrequenz = höhere rückinduzierte Spannung, da ja mehr Spannung durchgeschaltet wird. Des dürfte ja linear sein..... Wie steht aber die durchgeschaltete mit der rückinduzierten Spannung im Verhältnis? Um die Umdrehung zu steigern, wird bei beiden die Spannung linear kleiner. Wenn sich also Kraft auf die Welle auswirkt, müßte die rückinduzierte Spannung höher werden. Wenn sich Kraft auf den Propellor von hinten auswirkt und die Umdrehung schneller wird, müßte die rückinduzierte Spannung niedriger werden.
Hi, sorry aber mit Deinem Kenntnisstand macht das hier wenig Sinn, Du hast da noch etwas falsche Vorstellungen. Lies Dir die Dokus nochmal durch, es wurden ja genug links gepostet. Vergiss die Idee, die Spannung der floatenden Phase zu messen, Du musst sie mit den anderen vergleichen. bei xkHz PWM wandeln, in Arrays herumsortieren - vergiss es. Wenn die offene Phase durch den virtuellen Sternpunkt saust (das Mittel aller Phasen), ist die Mitte des aktuellen States erreicht, 30° seit dem letzten State sind vergangen und 30° später ist das nächste State dran. Die Schaltfrequenz wird nicht durch den Motor bestimmt sondern es muß ein bester Kompromiss für die Mosfets und deren Ansteuerung gefunden werden. Mit wenigen kHz liegt man normalerweise richtig aber für die Kommutierung ist das ziemlich unerheblich. Das Glätten der PWM für die Mittelung muß man anpassen, bei höheren Frequenzen ist das einfacher. Ab 10-20kHz steigen aber die Schaltverluste der Mosfets, man braucht gute Treiber, bekommt steile Schaltflanken und damit eklige EMV-Probleme. Und tu Dir einen Gefallen und nehme einen Treiber für die Endstufe wie z.B. IR2130 oder drei einzelne Hi-Lo Treiber wie z.B IR2110. Gruß, Norbert
> Theorie: > Schnelle Schaltfrequenz = niedrigere rückinduzierte Spannung, da ja auch > weniger Spannung durchgeschaltet wird. > Langsame Schaltfrequenz = höhere rückinduzierte Spannung, da ja mehr > Spannung durchgeschaltet wird. > Des dürfte ja linear sein..... Vielleicht solltest du vorher mal gucken, wie andere das praktisch machen.
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.