Guten Tag, ich bin derzeit in der 12. Klasse und wir(3 Jungs) programmieren als Seminararbeit den Flightcontroller eines Quadrocopters - zumindest ist das der Plan. Da wir mit dem Programmieren zwar Erfahrung haben, mit Mikrocontrollern aber nicht, wende ich mich an euch. Unsere 2 Hauptprobleme sind derzeit, dass wir nicht wissen welcher Mikrocontroller am besten geeignet ist und wie man die ESC'S(3 Kabel zum Controller, welches macht was?) anspricht. Wir haben 3 Mikrocontroller zur Auswahl: - Texas Instruments Launchpad Msp-exp430g2 (m430g2553) - CC3D EVO (überhaupt programmierbar??) - Arduino oder Ardupilot Am Anfang ist erstmal geplant, dass die Motoren laufen(ohne Fernsteuerung, rein Code-Technisch) und wir die Drehzahl per Code regulieren können. Dies sollte bis Ende Oktober funktionieren. Hier die restlichen relevanten Teile: - 4 Simonk 12A ESC's - 4 MT2204 2300kv Brushless Motoren (2x CW, 2x CCW) Könnt ihr uns etwas auf die Sprünge helfen?
Wollte ihr die komplette Software selber schreiben? Dann sucht euch ein anderes Projekt. Wenn das Ding nur irgendwann fliegen soll und ihr die Software irgendwoher kopiert würde ich zu einem Avr/Arduino basiertem System raten. Dafür gibts massig Software.
Unser Plan war es, erstmal die Motoren anzubekommen und dann weiterzugehen. Minimales Ziel ist es, dass der Quadrocopter per Code nach oben fliegt, dann rechts und links und wieder landet. Ist das wirklich zu viel?
Naja. Dazu bedarf es einer Fluglageregelung. Einfach nur die Motoren ansteuern wird nicht lange funktionieren. Man muss mittels eines 3-Achsen-Gyroskops und eines 3-Achsen-beschleunigungssensors das Das Ding regeln. So trivial ist das nicht, wenn man alles selbst machen will. mfg.
Frank Schweizer schrieb: > Minimales Ziel ist es, dass der Quadrocopter per Code nach oben fliegt, > dann rechts und links und wieder landet. Also auch noch quasi autonom. Ist euch klar dass es einfach wird wenn man einen Teil der Regelung nach außen lagert? Also auf einen Piloten
Jetzt lass mal das Kalman Filter. Der einfache Teil daran ist, dass es eine Matrix ist. Der andere, sind die einzelnen Koeffizienten. Die Mathematik dahinter ist derart angehoben, dass man gleich sein laesst. Also sag doch gleich : lass es sein, es wird eh nichts. Nach einem Studium dann wieder.
Ein CC3D hat zumindest die Hardware um alles machen zu können. Da gibts ja auch 2 Projekte die auf dieser Hardware Fluggeräte steuern können. Bei mindestens einem ist der Quellcode auch offen verfügbar. Da könnt Ihr ja mal nachsehen wie sowas gemacht wird. Als Grundlage solltet Ihr Euch mal ein wenig Theorie überlegen. 4 Motoren sind zu steuern, diese müssen via PID Regler gesteuert werden. Die Fluglage muss erfasst werden und gegebenenfalls durch eingreifen auf die Motorroutine nachgeregelt werden. Ein Fernsteuersender muss empfangen und interpretiert werden. Alles in allem ist es nicht ganz trivial was Ihr da vor habt. Anselm Einfach nur Motorleistung steuern wird nichts werden.
Stichwort ist: MultiWii Basiert in der allereinfachsten Version auf einem ATmega328. Dazu braucht Ihr dann einen Arduino ProMini 5V / 16 MHz (Das Board, wo der ATmega328p drauf ist.) und ein Sensorboard mit MPU6050 Gyro / Beschleunigungssensor. Die MultiWii Software ist gut kommentiert und der Arduino Sourcecode ist frei. Die Afro Controller: Am Stecker sind braun (5V Masse), Rot (Da kommen 5 Volt raus, wenn der Controller am Akku steckt.) und Orange (Signal In). Wenn Ihr an den Braunen und dem Orangen Anschluß am Servostecker ein Signal mit einer Impulslänge von 1000 µs bis 2000 µs anlegt, dann läuft der Motor zwischen 0 und Vollgas.
Wenn es nur um das programmieren geht wäre die Multiwii wirklich das einfachste. Ein unprogrammiertes Board mit allen Sensoren ist garnicht mal so teuer. CRIUS MWC MultiWii SE gibts ab 15€ .. in DE etwas überteuert. Der schon genannte Arducopter ist das gleiche mit einem Mega 2560 Prozessor und den gibts in China schon ab 30€ als "CRIUS AIOP".
Flieger schrieb: > Die MultiWii Software ist gut kommentiert und der Arduino Sourcecode ist > frei. Naja.. durch die vielen IFDEFs aber schon sehr schwer lesbar geworden. Das alles "nachzustricken" halte ich auch für zu ambitioniert, drin 'rumprogrammieren geht schon. Die Motoren kriegt man zum laufen, indem man eine PWM an das Signal-Pin der ESCs legt, das ist einfach. Aber dann gehen die Probleme erst richtig los ;-)
Hallo zusammen, ich bin seit vielen Jahren Modellbauer und fliege seit ca 5 Jahren Copter aller Art. Damals gab es kaum flugsteuerungen. Der Rolf Bakke hat damals kleine Sterungen entwickelt die mit einem Atmega48 bis Atmega168PA liefen. Kein schnickschnack. Nur 3 Gyros die nur die Aufgabe hatten die Drehzahl der Rotoren zu steuern so das der Copter überhaupt fliegen konnte.... Google mal nach KK Boards. ZB. KK Black 5.5. Wenn du lange genug suchst findest du auch einen Quellcode zu den Boards. Um die Fluglage zu regeln wurde ja schon gesagt das da sehr viel Reglungstechnik dahinter steckt. Die Begriffe wie PID, Gain... sollten absolut bekannt und verstanden sein. Ein Regelalgorithmus mus geschrieben werden und vieles vieles mehr. Um das ganze verstanden zu haben, müsstest du mindestens Transformation1 und Transformation2 Vorlesungen gehört und verstanden haben. Sprich mit der fourier bzw. LaPlace Transformation kann man solche Rechnungen durchführen. Also nicht ganz trivial wie schon gesagt. Die CC3D ist im grunde wie ZB. die Naze32 eine komplett fertige Flugsteuerung die mit der Cleanflight, Basefleight oder Openpilot Firmware/Software bespielt wird. Der Prozessor ist ein STM32 Bit Prozessor. Also macht es das ganze nicht gerade einfacher... Diese Board werden hauptsächlich in der FPV Szene zum FPV Racen genutzt. Ich selbe fliege die CC3D mit der Cleanfleight Firmware. Lange Rede kurzer Sinn. Wie schon ob des öffteren geschrieben, das ganze ist kein Projekt für zwischendurch. Allein an den einfachsten Flugsteuerungen wie die KK Boards haben Entwickler jahre lang entwickelt. Wenn Ihr aber einfach nur die Motoren zum laufen bringen wollt, braucht ihr nur mit dem Controller (Am besten Atmega328P) an den PWM Ausgängen ein PWM Signal mit einer Grundfrequenz von 50Hz und einer Pulsweite von 1 bis 2ms erzeugen. Dieses Signal müsst ihr nur auf den Regler (Weißes Signal Kabel) geben. Ist die Pulsweite 1ms so ist die Drehzahl = 0. Bei 1,5ms Pulsweite = halbe Drehzahl. Und 2ms PW Volle Drehzahl. Schau die dazu erstmal das RC PWM Signal mal genauer an... Hoffe ich konnte helfen. LG Digit-22
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.