Forum: Mikrocontroller und Digitale Elektronik Quadrokopter mit ATMega32?


von Am K (Gast)


Lesenswert?

Hallo,

ich habe ein paar Fragen zum Quadrokopterbau von denen die Letzte 
vielleicht nicht zu hundert Prozent in dieses Forum passt. Ich stelle 
dennoch einfach mal alle meine Fragen ;)

1. Reichen 8-bit PWM Auflösung um einen Quadrokoptermotor zu steuern?
2. Oft wird empfohlen den PWM-Ausgang über eine H-Brücke mit dem Motor 
zu verbinden. Da sich die Motoren eines Quadrokopters aber immer nur in 
eine Richtung drehen sollte doch eigentlich ein einfacher MOSFET 
reichen?
3. Wo kauft man solche "simplen" Bauteile wie MOSFETS? Farnell z.B. 
wirft mir 4000 Ergebnisse entgegen, wie trifft man da eine Entscheidung?
4. Ich möchte einen ATMega32 benutzen. Für vier Motoren benötige ich 
vier PWM-Ausgänge. Damit wären alle Timer in Gebrauch. Ist es mir dann 
noch möglich das Signal eines RC Receivers zu lesen? Wenn ja, wie würdet 
ihr das machen?
5. Welche Fernsteuerung würdet ihr für einen Anfänger empfehlen? Die 
Teile gibt es ja von 10-1000€. In welcher Preisklasse muss ich mich 
ungefähr orientieren um am Ende nicht völligen Müll zu kaufen?

von Stm M. (stmfresser)


Lesenswert?

Am K schrieb:
> Hallo,
>
> ich habe ein paar Fragen zum Quadrokopterbau von denen die Letzte
> vielleicht nicht zu hundert Prozent in dieses Forum passt. Ich stelle
> dennoch einfach mal alle meine Fragen ;)
>
> 1. Reichen 8-bit PWM Auflösung um einen Quadrokoptermotor zu steuern?

Mit guter Vorsteuerung & Regelung kann 4 bit ausreichen.

> 2. Oft wird empfohlen den PWM-Ausgang über eine H-Brücke mit dem Motor
> zu verbinden. Da sich die Motoren eines Quadrokopters aber immer nur in
> eine Richtung drehen sollte doch eigentlich ein einfacher MOSFET
> reichen?

ein Mosfet reicht nicht. nein

> 3. Wo kauft man solche "simplen" Bauteile wie MOSFETS? Farnell z.B.
> wirft mir 4000 Ergebnisse entgegen, wie trifft man da eine Entscheidung?

conrad reichelt

> 4. Ich möchte einen ATMega32 benutzen. Für vier Motoren benötige ich
> vier PWM-Ausgänge. Damit wären alle Timer in Gebrauch. Ist es mir dann
> noch möglich das Signal eines RC Receivers zu lesen? Wenn ja, wie würdet
> ihr das machen?
> 5. Welche Fernsteuerung würdet ihr für einen Anfänger empfehlen? Die
> Teile gibt es ja von 10-1000€. In welcher Preisklasse muss ich mich
> ungefähr orientieren um am Ende nicht völligen Müll zu kaufen?

xbees

von Andreas R. (daybyter)


Lesenswert?

Schau Dir mal die Turnigy Sender an. Da gibt es alternative Firmware 
Versionen, die recht gut sind.

von Artjomka (Gast)


Lesenswert?

Mitdeinem Kentnisstand ist das noch nicht zu realisieren.Ich würde mir 
an deiner Stelle erst einmal ein paar Quadcopterprojekte anschauen 
undschauen wie die realisiert sind.
In der Regel werden bürstenlose Motoren verwendet, da diese leichter 
sind. Die Ansteuerung ist allerdings nicht trivial.

von Bussard (Gast)


Lesenswert?

Ein sehr ambitioniertes Projekt, wohl sicher eine Nummer zu groß für den 
Moment.
Schau Dir im Wiki mal die Brushless-Motoransteuerung an. Dabei ist die 
Hardware noch der leichtere Part. Die chinesischen Nachbauer von 
BL-Reglern haben es mindestens 5 Jahre lang nicht gepackt, eine halbwegs 
ruckelfreie und sanft anlaufende Software zu schreiben, erst seit sie 
die freie(?) SimonK-Software aufspielen, son die Regler vernünftig zu 
verwenden.

Für die Fluglagesteuerung brauchst Du fundierte mathematische Kenntnisse 
und Wissen über die Nutzung von diversen MEMS-Sensoren, 
Verbindungsprotokollen usw., von der perfekten Beherrschung einer 
modernen Programmiersprache mal abgesehen. Schau Dir dazu mal das 
quelloffene Projekt OpenPilot.org an. Dort stecken einige Mannjahre 
Entwicklungszeit drin.

Aber laß Dich nicht abhalten, wenn alle sagen, das geht nicht, findet 
sich immer einer, der das nicht hört und einfach macht - viel Erfolg!

von tom69 (Gast)


Lesenswert?

http://www.mikrokopter.de/de/startseite

vielleicht ein nützlicher Lesestoff

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Am K schrieb:
> 2. Oft wird empfohlen den PWM-Ausgang über eine H-Brücke mit dem Motor
> zu verbinden.

'Oft' ist gut, 'immer' ist wahrscheinlicher :-P Du darfst nicht 
vergessen, das es nicht reicht, eine der meistens drei Wicklungen des 
Motors mit Plus zu verbinden, der Strom muss ja irgendwie auch nach 
Masse abfliessen. Das ist nicht anders als z.B. bei einem 
Drehstrommotor.

Da hier rundherum ein Drehfeld erzeugt werden muss, muss also zyklisch 
auch rundherum wechselweise auf Masse und Plus geschaltet werden (etwas 
vereinfacht).
Die PWM ist nicht für das 'Drehmuster', sondern für die Regelung der 
Kraft und somit der Geschwindigkeit der Maschine.
Ein Mega32 würde von der Rechenleistung schon reichen, er bringt aber 
nicht sehr viel nützliche Peripherie zur Ansteuerung der Motore mit. Da 
gibt es mittlerweile doch MCs, die so gut wie alle Sächelchen an Bord 
haben, um 4 Motore direkt anzusteuern.

: Bearbeitet durch User
von Am K (Gast)


Lesenswert?

Bussard schrieb:
> Für die Fluglagesteuerung brauchst Du fundierte mathematische Kenntnisse
> und Wissen über die Nutzung von diversen MEMS-Sensoren,
> Verbindungsprotokollen usw., von der perfekten Beherrschung einer
> modernen Programmiersprache mal abgesehen.

Diese Voraussetzungen bringe ich natürlich mit. Wovon ich bisher keine 
Ahnung hatte ist Motorregelung, da habe ich zu naiv gedacht.
Die Regler zu bauen und zu programmieren soll also sehr schwer sein. 
Spricht denn was dagegen für den Anfang erstmal fertige Regler zu 
kaufen? Der erste Quadrokopter soll vorrangig erstmal fliegen können. 
Mögliche Komponenten mit Marke Eigenbau zu ersetzen geht später immer 
noch.

Matthias Sch. schrieb:
> Ein Mega32 würde von der Rechenleistung schon reichen, er bringt aber
> nicht sehr viel nützliche Peripherie zur Ansteuerung der Motore mit. Da
> gibt es mittlerweile doch MCs, die so gut wie alle Sächelchen an Bord
> haben, um 4 Motore direkt anzusteuern.

Ich habe an einen ATMega gedacht, da ich mit diesen MCs schon einige 
Erfahrung gemacht habe. Aber an welche MCs hast du denn gedacht?

Und obwohl ich schon einige Projekte mit einem ATMega umgesetzt habe, 
musste ich feststellen, dass ich von PWM und Timern noch nicht wirklich 
viel Ahnung habe. Ich habe das jetzt so verstanden, dass wenn ich alle 
Timer für PWM brauche, ich keine Resourcen mehr übrig habe um nebenher 
noch irgendwas mitzuzählen. Ist das so korrekt?

von Schnupf (Gast)


Lesenswert?

> Diese Voraussetzungen bringe ich natürlich mit. Wovon ich bisher keine
> Ahnung hatte ist Motorregelung

Da würde ich auf käufliche Brushlessregler zurückgreifen. Die gibt es 
mittlerweile für wenige Euro und werden so wie ein Servo angesteuert.

Ich habe mal Brushlessregler selber entwickelt und es hat länger 
gedauert als alles andere was sonst zu einem Quadrokopter gehört. Es 
bringt Erkenntnisse, aber es ist aufwändig.

von Bussard (Gast)


Lesenswert?

Am K schrieb:
> 5. Welche Fernsteuerung würdet ihr für einen Anfänger empfehlen? Die
> Teile gibt es ja von 10-1000€. In welcher Preisklasse muss ich mich
> ungefähr orientieren um am Ende nicht völligen Müll zu kaufen?

Andreas Rückert schrieb:
> Schau Dir mal die Turnigy Sender an. Da gibt es alternative
> Firmware
> Versionen, die recht gut sind.

Solch einen habe(hatte) ich schon seit etlichen Jahren in Benutzung, ist 
sehr preiswert, hat mit FrSky-Sendemodul und den passenen X4/6/8R 
Empfängern eine aktuelle europäische Zulassung und reicht sicherlich für 
die meisten Belange aus. Seit über einem Jahr habe ich eine 
Taranis-Anlage (FrSky) in Benutzung, bin vom Konzept und den 
Innovationen begeistert und -> seitdem liegt die Turnigy nur noch im 
Schrank.
http://fpv-community.de/forumdisplay.php?79-FrSky

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Am K schrieb:
> Die Regler zu bauen und zu programmieren soll also sehr schwer sein.
'sehr schwer' ist natürlich relativ, es lohnt sich aber, erstmal durch 
ein paar andere Open Source BLDC Projekte zu schauen, ob du dir sowas 
zutrauen würdest.
> Spricht denn was dagegen für den Anfang erstmal fertige Regler zu
> kaufen?
Nur der Verbrauch an Geld und evtl. Gewicht :-) Auch ein fertiges Kopter 
Chassis könnte eine Menge Ärger sparen. Du hast dir schon mit der 
Steuerung und der Stromversorgung ein paar nette Aufgaben eingetreten.

Am K schrieb:
> Ich habe an einen ATMega gedacht, da ich mit diesen MCs schon einige
> Erfahrung gemacht habe. Aber an welche MCs hast du denn gedacht?

Erfahrung ist natürlich nicht zu ersetzen, aber für solch ein Projekt 
würde ich heute einen ARM basierten a la STM32F4 oder LPC verwenden, 
einfach weil die Dinger durch ihren hohen Systemdurchsatz immer noch ein 
paar Reserven haben - und Pins bis zum Abwinken. Ein STM32F407 kann z.B. 
ohne jegliche Klimmzüge 2 BLCD Motoren ansteuern und wenn man sich ein 
wenig Mühe gibt, gehen sicher auch 4.
Du kannst natürlich die Jobs auch verteilen. Ein Tiny 461 könnte man pro 
Motor einsetzen und dann einen dickeren Mega für die Stuerung.

: Bearbeitet durch User
von Stm M. (stmfresser)


Lesenswert?

Quadrocopter zu regeln und steuern ist kein leichtes Spiel.

Es gibt ganze menge regelungstechnische Probleme die zu lösen sind.

hast du Ahnung von

1. Lagesensoren bzw. Beschleunigungssensor Gyroscope
2. Lageparametrierung
Quaternionen, Euelerparameter, Rotationsmatrizen.
2. Zustandsschätzer
Kalman Filter, EKF
3. Übertragunsfunktionen bzw. Zustandsraumdarstellung von Quadrocopter
4. Reglerauslegung
Kaskadenregelung,
5. Hardwareauswahl.

Wenn nein, deine Chance es zu bauen geht gegen null

von Schnupf (Gast)


Lesenswert?

Stm Mc schrieb:
> Quadrocopter zu regeln und steuern ist kein leichtes Spiel.
>
> Es gibt ganze menge regelungstechnische Probleme die zu lösen sind.
>
> hast du Ahnung von
>
> 1. Lagesensoren bzw. Beschleunigungssensor Gyroscope
> 2. Lageparametrierung
> Quaternionen, Euelerparameter, Rotationsmatrizen.
> 2. Zustandsschätzer
> Kalman Filter, EKF
> 3. Übertragunsfunktionen bzw. Zustandsraumdarstellung von Quadrocopter
> 4. Reglerauslegung
> Kaskadenregelung,
> 5. Hardwareauswahl.
>
> Wenn nein, deine Chance es zu bauen geht gegen null

Also ich habe meinen Copter damals mit einer simplen PID-Reglung 
realisiert und er steht in der Luft wie eine 1. Kalmanfilter, 
Zustandsschätzung etc.. waren nicht nötig.

Die Mathematik dahinter war simpel. Aufwändig war eher das Einstellen 
der richtigen Regelparameter und das ganze Drumherum...

von Stm M. (stmfresser)


Lesenswert?

Schnupf schrieb:
> Stm Mc schrieb:

> Also ich habe meinen Copter damals mit einer simplen PID-Reglung
> realisiert und er steht in der Luft wie eine 1. Kalmanfilter,
> Zustandsschätzung etc.. waren nicht nötig.
>
> Die Mathematik dahinter war simpel.
Wie simpel isses denn. Es handelt sich um einen 6DOF nichtholonomes 
System. Allein die nichtlinearen Bewegungsgleichungen könnte jemanden in 
wahnsinn treiben.


Aufwändig war eher das Einstellen
> der richtigen Regelparameter und das ganze Drumherum...
die richtigen Reglerparameter werden modellbasiert eingestellt.


Ich frag mich ob man mit solchen home made copter ordentliche 
Trajektorie vorgeben kann.

https://www.youtube.com/watch?v=w2itwFJCgFQ

: Bearbeitet durch User
von Am K (Gast)


Lesenswert?

Die im Video gezeigten Quadrokopter sind wirklich faszinierend aber fürs 
erste nicht mein Ziel. Ich habe auch anfänglich an eine PID-Regelung 
gedacht und sehe gerade nicht wieso das nicht funktionieren sollte.
Ich habe mich jetzt auch dafür entschieden vier fertige Motrorregler mit 
eingebauter MCU zu kaufen und als Hauptchip dann einen ATMega zu 
benutzen. Diese Motorregler gibt es aber in verschiedenen Ausführungen. 
Manche nehmen als Eingangssignal ein PWM-Signal, andere möchten über 
UART angesprochen werden und einige wenige Regler habe ich auch 
gefunden, welche I2C unterstützen. Welche Art der Kommunikation würdet 
ihr mir hier empfehlen?
Bezüglich der Fernsteuerung habe ich mich jetzt für einen Turnigy Sender 
entschieden. Die Taranis-Anlage sieht zwar auch sehr ansprechend aus, 
ist preislich aber nicht mehr ganz so attraktiv ;)

von Pete K. (pete77)


Lesenswert?

Ich empfehle Dir, ein fertiges Board mit ATMega zu kaufen, z.B. das 
KK-Board.
Kostet ca. 12€ und Du kannst vorhandene Firmware verwenden oder eben 
auch eigene aufspielen.

http://www.aliexpress.com/item/KK-V5-5-Flight-Control-Board-Multi-copter-Tripcopter-Quadcopter-Hexacopter-For-Multirotor-Quadcopter/32255274999.html

von Schnupf (Gast)


Lesenswert?

> Wie simpel isses denn. Es handelt sich um einen 6DOF nichtholonomes
> System. Allein die nichtlinearen Bewegungsgleichungen könnte jemanden in
> wahnsinn treiben.

Wie gesagt: Jede Achse bekommt ihren PID-Regler (also 3 Stück). Da 
steckt sonst nichts hinter (bis auf den Motormischer wo dann alles zu 
Motorwerten verknautscht wird). Man kann sogar jede Achse für sich 
genommen einstellen. Hierzu habe ich mir einen Teststand gebaut wo der 
Copter eingehängt werden kann und sich dann z.B. nur in Nick-Richtung 
bewegen kann. Anschließend probiert man mit den PID-Parametern so lange 
herum bis es sich ordentlich stabilisiert. Dann das ganze nochmal in 
Roll-Richtung + Drehachse.

> die richtigen Reglerparameter werden modellbasiert eingestellt.

Ich möchte mal sehen welcher Quadrocopterpilot modellbasiert irgendwas 
einstellt. Die PID-Werte werden durch Probieren bestimmt. Das geht 
relativ schnell. :-)

von Schnupf (Gast)


Lesenswert?

Nachtrag:

Mir hat damals diese Arbeit geholfen:

http://users.informatik.haw-hamburg.de/~kvl/rempel/OlafRempel.pdf

auf S.36 sieht man die Lagereglung. Wirklich nichts Dramatisches! Keine 
höhere Mathematik

von A. B. (funky)


Lesenswert?

In dem TED Video: Wie erfassen die denn die Position der Stange auf dem 
Quadcopter? Werden da noch Videokameras benutzt?
Hab hier leider keinen Sound...falls es im Video erklärt wird, dann 
schau ich es mir woanders nochmal an

von Rainer U. (r-u)


Lesenswert?

Am K schrieb:
> Ich habe mich jetzt auch dafür entschieden vier fertige Motrorregler mit
> eingebauter MCU zu kaufen und als Hauptchip dann einen ATMega zu
> benutzen. Diese Motorregler gibt es aber in verschiedenen Ausführungen.
> Manche nehmen als Eingangssignal ein PWM-Signal, andere möchten über
> UART angesprochen werden und einige wenige Regler habe ich auch
> gefunden, welche I2C unterstützen. Welche Art der Kommunikation würdet
> ihr mir hier empfehlen?
> Bezüglich der Fernsteuerung habe ich mich jetzt für einen Turnigy Sender
> entschieden. Die Taranis-Anlage sieht zwar auch sehr ansprechend aus,
> ist preislich aber nicht mehr ganz so attraktiv ;)

Du kannst auch alles fertig kaufen für kleines Geld, z.B. ein Micro MWC 
board. Da hast Du einen AVR-Controller drauf und Mosfets für die Motoren 
(Brushed). Klein und Fein. Software gibt es auch fertig und open source, 
Stichwort "Multiwii".

von Nils P. (ert)


Lesenswert?

der gefühlte 1000 Kopter Selbstbau-Thread hier... Wurde auch mal wieder 
Zeit, nur 7Tage zu spät. ;-)

Am K schrieb:
> Hallo,
>
> ich habe ein paar Fragen zum Quadrokopterbau von denen die Letzte
> vielleicht nicht zu hundert Prozent in dieses Forum passt. Ich stelle
> dennoch einfach mal alle meine Fragen ;)
>
> 1. Reichen 8-bit PWM Auflösung um einen Quadrokoptermotor zu steuern?
ja

> 2. Oft wird empfohlen den PWM-Ausgang über eine H-Brücke mit dem Motor
> zu verbinden. Da sich die Motoren eines Quadrokopters aber immer nur in
> eine Richtung drehen sollte doch eigentlich ein einfacher MOSFET
> reichen?
ja, bei einem DC-Motor

> 3. Wo kauft man solche "simplen" Bauteile wie MOSFETS? Farnell z.B.
> wirft mir 4000 Ergebnisse entgegen, wie trifft man da eine Entscheidung?
Motordetails könnten hilfreich sein

> 4. Ich möchte einen ATMega32 benutzen. Für vier Motoren benötige ich
> vier PWM-Ausgänge. Damit wären alle Timer in Gebrauch. Ist es mir dann
> noch möglich das Signal eines RC Receivers zu lesen? Wenn ja, wie würdet
> ihr das machen?
Mit einem besserm µC, oder geschickte Programmierung

> 5. Welche Fernsteuerung würdet ihr für einen Anfänger empfehlen? Die
> Teile gibt es ja von 10-1000€. In welcher Preisklasse muss ich mich
> ungefähr orientieren um am Ende nicht völligen Müll zu kaufen?
mind. 50€ ausgeben, 2,4Ghz würde ich nehmen. Mind 4Ch.

Fakt ist hier fehlen sehr viele Grundlagen! Es hilft nur lesen, lesen, 
lesen. Such nach Kopter-Projekten bei Google. Schau dir existierende 
Boards an, KK wurde schon angesprochen, Multiwii hat auch einen Atmega 
drauf. Kann man auch alles selber in C Programmieren. Man muss das Rad 
nicht neu erfinden. Hier gibts auch ein Projekt wo ein Billig-Minikopter 
gepimpt wurde. Es gibt auch sehr viele Kopterforen wo diese Fragen schon 
hunderte Male beantwortet wurden :-)

Viel Erfolg.
G Ert

von Schreiber (Gast)


Lesenswert?

Matthias Sch. schrieb:
> Am K schrieb:
>> 2. Oft wird empfohlen den PWM-Ausgang über eine H-Brücke mit dem Motor
>> zu verbinden.
>
> 'Oft' ist gut, 'immer' ist wahrscheinlicher :-P Du darfst nicht
> vergessen, das es nicht reicht, eine der meistens drei Wicklungen des
> Motors mit Plus zu verbinden, der Strom muss ja irgendwie auch nach
> Masse abfliessen. Das ist nicht anders als z.B. bei einem
> Drehstrommotor.

Bei preiswerten Quadrocoptern ist ein einfacher Mosfet zur 
Motorsteuerung ausreichend, da werden weiterhin Bürstenmotoren 
verwendet.

von M. K. (sylaina)


Lesenswert?

Am K schrieb:
> 1. Reichen 8-bit PWM Auflösung um einen Quadrokoptermotor zu steuern?

Kann reichen, der Atmega32 hat aber auch 16 bit PWM parat.

Am K schrieb:
> 2. Oft wird empfohlen den PWM-Ausgang über eine H-Brücke mit dem Motor
> zu verbinden. Da sich die Motoren eines Quadrokopters aber immer nur in
> eine Richtung drehen sollte doch eigentlich ein einfacher MOSFET
> reichen?

Wenn der Motor nur in eine Richtung drehen soll reicht auch ein Mosfet. 
Die Frage wäre halt noch ob du auch aktiv bremsen können willst, dann 
wirds wieder eng mit nur einem Mosfet.

Am K schrieb:
> 3. Wo kauft man solche "simplen" Bauteile wie MOSFETS? Farnell z.B.
> wirft mir 4000 Ergebnisse entgegen, wie trifft man da eine Entscheidung?

Bei dieser Frage solltest du dich fragen ob das Projekt das richtige für 
dich ist.

von M. K. (sylaina)


Lesenswert?

Am K schrieb:
> 4. Ich möchte einen ATMega32 benutzen. Für vier Motoren benötige ich
> vier PWM-Ausgänge. Damit wären alle Timer in Gebrauch.

Das glaube ich nicht. Mit einem Timer kann man mehrer PWM-Ausgänge 
unterschiedlich steuern. Du brauchst doch keine 4 unterschiedlichen 
PWM-Frequenzen.

von Am K (Gast)


Lesenswert?

Michael Köhler schrieb:
> Das glaube ich nicht. Mit einem Timer kann man mehrer PWM-Ausgänge
> unterschiedlich steuern. Du brauchst doch keine 4 unterschiedlichen
> PWM-Frequenzen.

Der ATMega32 hat 3 Timer von denen ein Timer 2 PWM-Ausgänge steuern 
kann. Da ich jeden Motor einzeln ansteuern will brauche ich 4 
PWM-Ausgänge. Soweit meine Theorie. Wie würdest du es denn mit weniger 
PWM-Signalen realisieren?

Vielen Dank das jetzt nochmal so viele auf die Eingangsfragen eingehen, 
diese haben sich im Laufe des Threads aber schon alle geklärt.

von spess53 (Gast)


Lesenswert?

Hi

Warum eigentlich so ein Oldtimer wie den ATMega32? Da das keine Serie 
wird wärst du mit einem ATMega1284 besser bedient. Ist pinkompatibel zum 
ATMega32 und du hättest sogar zwei 16-Bit-Timer.

MfG Spess

von M. K. (sylaina)


Lesenswert?

Am K schrieb:
> Der ATMega32 hat 3 Timer von denen ein Timer 2 PWM-Ausgänge steuern
> kann. Da ich jeden Motor einzeln ansteuern will brauche ich 4
> PWM-Ausgänge. Soweit meine Theorie. Wie würdest du es denn mit weniger
> PWM-Signalen realisieren?

OK, mein Fehler. Dachte der Atmega32 wäre ähnlich wie der Atmega328 & Co 
und könnte mit jedem Timer zwei PWM-Ausgänge steuern. Dass das beim 
Atmega32 anders ist war mir nicht bewusst.

von Am K (Gast)


Lesenswert?

spess53 schrieb:
> Hi
>
> Warum eigentlich so ein Oldtimer wie den ATMega32? Da das keine Serie
> wird wärst du mit einem ATMega1284 besser bedient. Ist pinkompatibel zum
> ATMega32 und du hättest sogar zwei 16-Bit-Timer.
>
> MfG Spess

Ich wollte anfangs versuchen den Quadrokopter mit einem möglichst 
kleinen MC zu bauen. Aber ich habe ich Laufe der Diskussion 
festgestellt, dass es mit einem ATMega32 sehr schwer wird. Der 
ATMega1284 ist da ein guter Vorschlag.
Dieser bietet mir zwei 8-bit und zwei 16-bit Timer mit je zwei 
PWM-Ausgängen. Die vier ESCs sollen per PWM (bzw. PPM) gesteuert werden. 
Wenn ich für die ESCs die 16-bit Timer verwende ist die Steuerung 
ziemlich einfach per Hardware PWM realisierbar. Allerdings habe ich dann 
nur noch einen 8-bit Timer übrig um das CPPM Signal des RC Receivers zu 
lesen. Nach einer kurzen Rechnung komme ich darauf, dass bei einem 20Mhz 
Chiptakt das CPPM Signal mit einer Genauigkeit 1,28% auflösen kann. Das 
ist nicht sehr genau. Wenn ich anderseits zum Lesen des CPPM Signals 
einen 16-bit Timer verwende muss ich für die ESC Ansteuerung die 8-bit 
Timer verwenden. Mit denen ist es allerdings deutlich schwerer den ESC 
genau zu steuern.
Welches Vorgehen würdet ihr mir da empfehlen?

von Martin S. (led_martin)


Lesenswert?

Ein 16 Bit Timer kann Dir 2 PWM-Signale zur Steuerung der ESCs erzeugen, 
und über die Input Capture Funktion das Signal von der Fernsteuerung 
auswerten, wenn man, bei der Programmierung, geschickt vorgeht. Da sind 
dann auch Auflösungen deutlich besser als die, von Dir berechneten, 
1,28% drin. Da Du dann das ICR-Register nicht mehr für den Timer-Endwert 
benutzen kannst hast Du zwei Möglichkeiten: Entweder Timer-Vorteiler und 
Prozessortakt so wählen, daß Du mit den, per Mode, auswählbaren 
Auflösungen 8, 9, oder 10 Bit auf eine passende PWM-Frequenz kommst, 
oder den Timer frei (Bis $FFFF) laufen lässt, und halt für jeden 
Peglewechsel die Compare-Register setzt. Zeit ist dafür genug, bei 
Mindest-Pulslänge von 1ms, und 20 MHz Takt, sind das 20000 Taktzyklen.

Mit freundlichen Grüßen - Martin

von Schnupf (Gast)


Lesenswert?

> Ich wollte anfangs versuchen den Quadrokopter mit einem möglichst
> kleinen MC zu bauen. Aber ich habe ich Laufe der Diskussion
> festgestellt, dass es mit einem ATMega32 sehr schwer wird. Der


Schonmal daran gedacht ganz von den langsamen, alten Atmegas wegzugehen? 
Wie wäre es mit einem CortexM3 oder M4? Die sind genauso teuer, aber 
leistungsfähiger. Die Programmierung der Reglung wird somit einfacher.

von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

Warum willst du unbedingt alles mit einem einzigen MC bauen? Ich baue 
jetzt auch schon eine ganze Weile an einem, aber durch Familien Zuwachs 
stockt das bei mir ziemlich. Ich habe irgendwann mal vor, einen 
hexakopter zum fliegen zu bekommen. Aber wenn du wirklich auch die Motor 
Regler selbst bauen willst mache diese extra. Du hast sonst zu viele 
Baustellen auf einmal. Lies dich dich mal ein wenig über Motoren ein, 
lass den Quatsch mit bürsten Motoren, nimm brushless, du wechselst bei 
den hohen Drehzahlen sehr oft die Kohlen, darauf hast du keine lust. 
Sehr zu empfehlen ist das wiki vom mikrokopter Projekt. Dort gibt es 
auch mal bisschen Theorie zu den Motoren. Und mit diesem wissen, welches 
du dann auf dein eigenes Projekt anwendest, wählst du erst mal geeignete 
Motoren aus. So einen besorgst du dir und baust erst mal einen Regler 
dafür. Das wird dich eine Weile beschäftigen, weil bei einem 
brushless-regler ist auch das layout entscheidend. Wenn du dort die Lust 
verlierst, hast su noch nicht zu viel Geld ausgegeben. Wenn du es 
hinbekommst, baust du den Regler 4mal auf, und kümmerst dich um ein 
grundgestell. Dann kannst du dir langsam über die fluglageregelung 
Gedanken machen.

Die Frage nach einer guten Kommunikation mit den Reglern, naja, lies 
doch einfach durch, zum Thema kopter gibts auch extra Foren, dort kannst 
du von den Erfahrungen der anderen lernen.


Dennis

von Am K (Gast)


Lesenswert?

Dennis H. schrieb:
> Warum willst du unbedingt alles mit einem einzigen MC bauen?

Ich bin doch schon längst davon abgegangen die Motorregelung selber zu 
lösen.
Auch wenn ich es nicht so praktisch finde habe ich mich nun doch dafür 
entschieden einen ARM zu benutzen. Was haltet ihr von dem LPC1114FN28? 
Dieser hat zwei 32-bit Timer, einer der beiden kann sogar bis zu vier 
PWM-Ausgänge steuern. Also genau das was ich brauche. Dazu ist der MC 
noch schön praktisch in einem DIP-Gehäuse, dadurch kann ich mir einfach 
auf dem Breadboard schonmal ein paar Testschaltungen zusammenstecken um 
ein bisschen Erfahrung mit dem MC zu sammeln.

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
Noch kein Account? Hier anmelden.