mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM-Generator für Brushless-Regler


Autor: Hendrik Köhler (henny)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Andi ... (xaos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja wäre es

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Hendrik Köhler (henny)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versucht haben wir wegen diesem Problem noch nichts. Wir können uns 
nicht entscheiden, ob wir jetzt billige Regler nehmen, die normalerweise 
an RC-Funkempfängern betrieben werden oder so sauteure mit I²C.
Unsere MCU ist ein ATmega128.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Hendrik Köhler (henny)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Axel R. (axelr) Flattr this
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.