Ich habe einen kleinen Modellbau-Brushless-Motor geschenkt bekommen. Ich möchte ihn gerne einmal ausprobieren und dazu die 3 Anschlüsse mit 3 Widerständen (150 Ohm) an AVR-Pins anschließen. Zur Ansteuerung habe ich mir dies hier angesehen: https://de.nanotec.com/support/tutorials/animation-buerstenlose-dc-motoren/?tx_nanotec_animation%5Binitial%5D=motor_bldc_block_delta Kann ich den so zum Drehen bekommen, also mit diesen 6 "Phasen"? Also wenn ich nur 0V, 5V und Hochohmig (Input) schalten kann, oder brauche ich zwingend die Umpolung / negative Spannung?
sorry falscher Link, hier der richtige: https://de.nanotec.com/support/tutorials/animation-buerstenlose-dc-motoren/?tx_nanotec_animation%5Binitial%5D=motor_bldc_block_delta
Also auf der Seite muss man auf BLDC-Motoren / "Block-Delta" klicken..
Auch wenn ich nicht weis, welche Daten der BLDC hat, würde ich behaupten, daß mit den 150Ohm (30mA) sich wohl nix drehen wird. Ansonsten: solch ein Modellbaumotor braucht ein 3-Phase-Drehfeld (also wie bei Drehstrom). Du mußt also das entsprechende Impulsmuster an den Phasen erzeugen (120° Versatz). >Kann ich den so zum Drehen bekommen, also mit diesen 6 "Phasen"? Also >wenn ich nur 0V, 5V und Hochohmig (Input) schalten kann, oder brauche >ich zwingend die Umpolung / negative Spannung? Du brauchst eine Spannungsdifferenz. Ob das jetzt +/-2,5V sind, oder 0V/5V, ist egal.
Du musst halt jeden Anschluss des Motors zwischen positiver und negativer Versorgung umschalten können. Vorausgesetzt die 5V bzw. der Strom der AVR-Pins reicht, könnte man wohl schon erreichen, dass der BLDC irgendwie zuckt. Aber etwas was den Namen "Drehbewegung" verdient, wird da nicht so einfach heraus kommen.
Peter S. schrieb: > Du musst halt jeden Anschluss des Motors zwischen positiver und > negativer Versorgung umschalten können. also wenn das Bild da stimmt (so wie verlinkt), müsste ich doch 2 beliebige von den 3 Anschlüssen ansteuern können: wenn ich den einen auf HIGH 5V und den anderen auf LOW 0V schalte, und danach genau anders herum, müsste sich doch der Motor um 180° drehen, oder?
Ach und was ich nicht weiß: ist so ein Modellbaumotor intern "Delta" oder "Star" angeschlossen? (also siehe Animation)
BLDC schrieb: > müsste sich doch der Motor um 180° drehen, oder? Du hast das mit dem Strom aber schon gelesen?
Hinweiser schrieb: > Du hast das mit dem Strom aber schon gelesen? Ja. Ich habe mal am Netzteil probiert: mit 50mA schafft er es, sich 180° zu drehen beim umpolen. Ich müsste wohl 2 Pins zusammenschalten, dann käme ich auf max. 80mA, und ich müsste die Widerstände auf ca. 30 Ohm verringern.. Ich probiere mal morgen weiter. Sollten nicht 3 Takte reichen?: Anschlüsse 1 2 3 Takte (Z= hochohmig) H L Z Z H L L Z H H L Z Z H L L Z H H L Z Z H L L Z H usw?
>also wenn das Bild da stimmt (so wie verlinkt), müsste ich doch 2 >beliebige von den 3 Anschlüssen ansteuern können: wenn ich den einen auf Ich sehe in Deinem Liunk nur zwei Spulen-/Polpaare. Also kein 3-Phasenteil. >HIGH 5V und den anderen auf LOW 0V schalte, und danach genau anders >herum, müsste sich doch der Motor um 180° drehen, oder? Wenn Du Deinen BLDC meinst - nein. Der hat mehrere Magnetpolpaare, also nicht nur 2 N-S-Wechsel. Der würde da also nur paar Grad weiterschlüpfen. Nur wird der Motor unschlüssig sein, in welche Richtung. >Ach und was ich nicht weiß: ist so ein Modellbaumotor intern "Delta" >oder "Star" angeschlossen? (also siehe Animation) Beides möglich. >Ich probiere mal morgen weiter. Sollten nicht 3 Takte reichen?: >Anschlüsse >1 2 3 >Takte (Z= hochohmig) >H L Z >Z H L >L Z H >H L Z >Z H L >L Z H >H L Z >Z H L >L Z H >usw? Ja.
Jens G. schrieb: > Ich sehe in Deinem Liunk nur zwei Spulen-/Polpaare. Also kein > 3-Phasenteil. Ja, das lässt sich nicht direkt verlinken, Du musst noch auf auf BLDC-Motoren / "Block-Delta" klicken.. Jens G. schrieb: (Stern oder Dreieck) > Beides möglich. kann ich das ausmessen an den 3 Leitungen? War wohl mal in einem kleinen Multicopter..
Jens G. schrieb: > Nur wird der Motor unschlüssig sein, in welche > Richtung. Warum? in Richtung des nächsten Taktes, hoffe ich doch?
>(Stern oder Dreieck) >> Beides möglich. >kann ich das ausmessen an den 3 Leitungen? War wohl mal in einem kleinen >Multicopter.. Klar - anhand mehrerer R-Messungen an den Anschlüssen. Einmal einfach an zwei Anschlüssen, und einmal an drei Anschlüssen, wobei zwei davon gebrück werden. Das Verhältnis beider R-Messungen ist bei Dreieck und Stern unterschiedlich (0,5 bzw 0,75). Natürlich brauchst Du ein Messgerät für niedrige R's (also normalerweise 4-Leiter-Messung). >> Nur wird der Motor unschlüssig sein, in welche >> Richtung. >Warum? in Richtung des nächsten Taktes, hoffe ich doch? Die Drehrichtung ist ungewiss, denn er könnte ja in beide Richtungen um 180° wegdrehen. Allerdings wird ein BLDC nicht so radikal von H auf L umgepolt, sondern es sind eben auch die Tristate (Z)-Phasen dazwischen, damit eben das (180°) nicht passiert. Übrigens wird ein Modellbau-BLDC wie ein sensorless BLDC gesteuert, also die 4. Variante in deinem Link.
BLDC schrieb: > Ach und was ich nicht weiß: ist so ein Modellbaumotor intern > "Delta" > oder "Star" angeschlossen? (also siehe Animation) Das müsstest du dem Datenblatt entnehmen. Aber prinzipiell ist für dich erst mal egal, ob der Motor im Stern oder Dreieck verschaltet ist. Das hat keine Auswirkung auf die Ansteuerung. Abgesehen von ein paar Nebeneffekten, hat Stern oder Dreieck nur Auswirkung auf die Betriebsparameter (z. B. die maximale Drehzahl). Du musst einfach nur die Phasen in der Richtigen Reihenfolge bestromen, damit sich der Motor "dreht", bzw in 60°-Schritten (elektrisch gesehen) weiter hüpft. Das wäre dann so eine Art "gesteuerter Six-Step-Betrieb". Vielleicht googelst du einfach mal nach "BLDC Six-Step Kommutierung". Das ist im Endeffekt das was du machen musst.
Achja, das Thema "Freilaufdioden" könnte noch interessant sein. Es kann sein, dass dir deine AVR-Pins wegschmoren, wenn diese eine induktive Last schalten müssen. Das Thema ist in deinem Fall wahrscheinlich gar nicht so trivial zu lösen. Vielleicht versuchst du es zunächst einfach mal ohne, aber dann nicht wundern, wenn der AVR die Grätsche macht ;)
Peter S. schrieb: > Achja, das Thema "Freilaufdioden" könnte noch interessant sein. Ich hoffe, die Dioden im AVR reichen aus bei den relativ kleinen Induktivitäten.
Die sind bis 1mA spezifiziert. Wenn der Motor auch nur einigermaßen anständig dreht geht der avr wahrscheinlich kaputt.
neuer Stand: ich habe jetzt je 56 Ohm zwischen Motoranschluss und Pin. Der Motor bewegt sich, aber er dreht sich nicht: Ob ich ihn nun in 6 Schritten oder in 3 schritten ansteuere (der auskommentierte Teil) Bei 3 Schritten geht er auf eine Position im ersten Schritt, dann ein Stück weiter im 2. Schritt (wahrscheinlich aufs nächste Polpaar?) aber beim dritten schritt macht er nichts - dann dreht er wieder zurück zur ersten Position. Also Schritt-RückSchritt-Pause Bei 6 Schritten macht er 2 Schritte in die eine Richtung, dann nichts, dann 2 Schritte in die andere Richtung, dann nichts. Also Also Schritt-Schritt-Pause-RückSchritt-RückSchritt-Pause. Woran liegt das? Evtl. ist im Motor was kaputt? Ich habe die Ansteuerung durchgemessen und auch die Motoranschlüsse - sieht alles richtig aus.. hier mein Programm:
1 | #define L1 5 |
2 | #define L2 6 |
3 | #define L3 7 |
4 | int pause = 200; |
5 | |
6 | void setup() { |
7 | } |
8 | |
9 | void loop() { |
10 | // schritte nacheinander ausführen |
11 | p1(); delay(pause); |
12 | p2(); delay(pause); |
13 | p3(); delay(pause); |
14 | p4(); delay(pause); |
15 | p5(); delay(pause); |
16 | p6(); delay(pause); |
17 | |
18 | /* |
19 | pX(); delay(pause); |
20 | pY(); delay(pause); |
21 | pZ(); delay(pause); |
22 | */ |
23 | } |
24 | |
25 | //siehe https://www.daedalus.ei.tum.de/en/archiv/bldc-regler |
26 | |
27 | void p1() { //1-Z-3 |
28 | pinMode(L2, INPUT); |
29 | pinMode(L3, OUTPUT); digitalWrite(L3, LOW); |
30 | pinMode(L1, OUTPUT); digitalWrite(L1, HIGH); |
31 | } |
32 | |
33 | void p2() { //Z-2-3 |
34 | pinMode(L3, INPUT); |
35 | pinMode(L3, OUTPUT); digitalWrite(L3, LOW); |
36 | pinMode(L2, OUTPUT); digitalWrite(L2, HIGH); |
37 | } |
38 | |
39 | void p3() { //2-1-Z |
40 | pinMode(L3, INPUT); |
41 | pinMode(L1, OUTPUT); digitalWrite(L1, LOW); |
42 | pinMode(L2, OUTPUT); digitalWrite(L2, HIGH); |
43 | } |
44 | |
45 | void p4() { //3-Z-1 |
46 | pinMode(L2, INPUT); |
47 | pinMode(L1, OUTPUT); digitalWrite(L1, LOW); |
48 | pinMode(L3, OUTPUT); digitalWrite(L3, HIGH); |
49 | } |
50 | |
51 | void p5() { //3-2-Z |
52 | pinMode(L1, INPUT); |
53 | pinMode(L2, OUTPUT); digitalWrite(L2, LOW); |
54 | pinMode(L3, OUTPUT); digitalWrite(L3, HIGH); |
55 | } |
56 | |
57 | void p6() { //1-2-Z |
58 | pinMode(L3, INPUT); |
59 | pinMode(L2, OUTPUT); digitalWrite(L2, LOW); |
60 | pinMode(L1, OUTPUT); digitalWrite(L1, HIGH); |
61 | } |
62 | |
63 | |
64 | |
65 | void pX() { //1-2 |
66 | pinMode(L3, INPUT); |
67 | pinMode(L2, OUTPUT); digitalWrite(L2, LOW); |
68 | pinMode(L1, OUTPUT); digitalWrite(L1, HIGH); |
69 | } |
70 | |
71 | void pY() { //2-3 |
72 | pinMode(L1, INPUT); |
73 | pinMode(L3, OUTPUT); digitalWrite(L3, LOW); |
74 | pinMode(L2, OUTPUT); digitalWrite(L2, HIGH); |
75 | } |
76 | |
77 | void pZ() { //3-1 |
78 | pinMode(L2, INPUT); |
79 | pinMode(L1, OUTPUT); digitalWrite(L1, LOW); |
80 | pinMode(L3, OUTPUT); digitalWrite(L3, HIGH); |
81 | } |
ergänzend: Die Schritte liegen vielleicht so 5 Grad auseinander. Auffällig ist, dass wenn ich den Motor mit der Hand auf eine beliebige andere Position drehe, geht er dahin zurück. Als hätte er so eine "Lieblingsposition" über die er nicht hinweg kommt Vielleicht reicht ja wirklich einfach der Strom nicht.. schade,,
BLDC schrieb: > sorry falscher Link, hier der richtige: > > https://de.nanotec.com/support/tutorials/animation-buerstenlose-dc-motoren/?tx_nanotec_animation%5Binitial%5D=motor_bldc_block_delta Ich kann hier zwar leider inhaltlich nichts beitrage, wollte mich aber für den super Link bedanken. Er verweist auf eine geniale Animation, um die Funktionsweise von BLDC Motoren zu verstehen! Viele Grüße Igel1
> Die sind bis 1mA spezifiziert. Ich meine mich zu erinnern, dass die Belastbarkeit der ESD Dioden der AVR mC gar nicht spezifiziert sind. Lediglich eine ziemlich alte App Note weist darauf hin, dass man sie nicht über 1mA belasten soll. Doch eine App Note ist keine Spezifikation und gilt sicher auch nicht automatisch für alle neueren Modelle, die danach konstruiert wurden.
Stefan U. schrieb: > Doch eine App Note ist keine Spezifikation und gilt sicher auch nicht > automatisch für alle neueren Modelle, die danach konstruiert wurden. Kann sein, dafür hab ich zu lange nicht mehr mit den Teilen gearbeitet. Ich würde aber nicht davon ausgehen, dass es besser geworden ist.
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.