PWM-Generator für Brushless-Regler

OP #1678691
Lesenswert?

Hallo µC-Community,

mein Kumpel und ich konzipieren grade einen experimentellen 
Quadrocopter, um zu sehen für wie wenig Geld man so ein Ding bauen kann, 
und sind bei der Motorsteuerung auf das Problem gestoßen, dass es 
natürlich nicht möglich ist, dass der Hauptprozessor, der ja schon mit 
Sensordatenauswertung beschäftigt ist, auch noch die 1-2ms-Pulse für die 
vier Brushless-Regler erzeugt. Wäre es schlau, wenn sich für jeden 
Regler ein ATtiny13 oder so die relevanten Daten per OneWire oder I²C 
bzw. TWI vom Hauptprozessor holt und dann die entsprechenden Pulse für 
die Regler erzeugt?
Gast #1678718
Lesenswert?

Ich denke ja, dass man das durchaus sehr gut noch mit dem Hauptprozessor 
erledigen kann.
Mit einem geschickten Datenstruktur und Timerinterrupt habe ich genau 
das letze Woche mit einem ARM gemacht. Rechenleistung die dafür 
verbraucht wird ist verschwindend.

Die Grundidee ist, die Servos/Regler nach der Zeit der fallenden Flanke 
zu sortieren und den Timer Interrupt so zu programmieren, dass er immer 
dann die ISR aufruft wenn das nächste Ereignis fällig ist. Die ISR 
programmiert den Timer Interrupt dann wieder für das nächste Ereignis.
Macht pro Servo/Regler einen ISR Aufruf alle 20ms. Die ISR selbst ist 
auch nicht lang.

Viele Grüße,
 Martin L.
Persönliche Seite #1678733
Lesenswert?

Hendrik Köhler schrieb:
> Hallo µC-Community,
>
> mein Kumpel und ich konzipieren grade einen experimentellen
> Quadrocopter, um zu sehen für wie wenig Geld man so ein Ding bauen kann,
> und sind bei der Motorsteuerung auf das Problem gestoßen, dass es
> natürlich nicht möglich ist, dass der Hauptprozessor, der ja schon mit
> Sensordatenauswertung beschäftigt ist, auch noch die 1-2ms-Pulse für die
> vier Brushless-Regler erzeugt.

Wieso sollte das nicht gehen? Welcher Prozessor, wie habt ihr das 
versucht? Hoffentlich ja nicht mit Verzögerungsschleifen ;)
Gast #1678842
Lesenswert?

Hallo Hendrik

Du schriebst:

>so sauteure mit I²C.

Was ist denn an I2C teurer, und warum??

Die Hardware ist doch die gleiche, nur die Software ist eine andere...
Klär uns doch bitte mal auf, wie du das meinst.
Wenn ich nicht schon etwas fertiges da hätte (den "Floh" Regler :-) )
würde ich mir so ein billiges China Set zulegen, wo der Motor gleich 
dabei ist.
Als ich die auf der vorletzten Bastelmess in Leipzig sah, beschloß ich, 
den "Floh" nicht weiter zu vermarkten, soo billlig waren die China 
Regler.

Die Erzeugung der Impulse bekommst Du locker im Hauprprozessor hin. 
schliesslich hast Du 20ms-(nKanäle x 2ms) Zeit zwischen jedem Impuls, 
also im schlimmsten Fall 10ms bei 5 Kanälen und "normaler" RC 
Fernsteuerung. In dieser Zeit sollte sich einiges mit einem 128er 
erledigen lassen, denke ich mal.
Die Sensorik (Beschleunigung, Drehratengeber, GPS) ans SPI, die 
Impulserzeugung läuft im Timer. Der Summenimpuls hängt am ICP.
Ich denke nicht, das es schwerwiegende Problem gibt. Ob man alles in 
Bascom programmieren kann, wie hier oft im Forum üblich, glaube ich 
diesmal allerdings nicht.

Man könnte auch einen Atmega1281 hernehmen und gleich die 3Phasensignale 
für die 4 Motore erzeugen, genug PWM Engines sind dort vorhanden. Spart 
man sich die China-Regler komplett.

Danke
Axelr.
Persönliche Seite #1678862
Lesenswert?

Die allerersten Versuche der Quadrokopter mit einem normalen 
Modellbauregler und den 20ms Frame-Raten haben nicht so gut gefruchtet, 
soweit ich weiß. Alle 20ms sind zu grob für eine anständige 
Lageregelung.

Der Mikrokopter verwendet I2C und der Armokopter verwendet UART. Beide 
mit einer Refreshrate von 1 oder 2 kHz (So in der Größenordnung).

Ich benutze bei mir I2C, wobei das auch eigentlich nur, weil ich die 
UARTs am ATxmega schon für andere Zwecke verplant habe ;)
Gast #1679119
Lesenswert?

Hendrik Köhler schrieb:
> Wow, 1kHz... Dann dürfte der ganze Vorgang nur eine Millisekunde dauern,
> wobei herkömmliche Regler gar nicht in Frage kommen. Gibt es irgendwo
> Baupläne für einfache Regler mit AVR? Man braucht ja im Großen und
> Ganzen nur einen AVR mit 3 Timern und drei FETs oder?
Na den Floh eben z.B. ;)

Einen aktuellen Link habe cih jetzt garnicht parat.

Goolge nach "flea"+ "konze", sollte klappen.

generell: BLMC, BLDC usw. sind gute Ansatzpunkte für eine google suche.

edit
http://home.versanet.de/~b-konze/blmc_bko/schematic.htm
/edit
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren