PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QuadVolucer - Just another Quadcopter



kounst
03.06.2011, 20:12
Nachdem ich inzwischen schon die 2. Version der Elektronik meines Quadkopters am Laufen habe(Die jetzt auch so funktioniert wie sie soll!) stelle ich hier endlich meinen QuadVolucer vorstellen.

Wer von der Copterschwemme genervt ist möge diesen Thread bitte ignorieren ;-)

Nachdem ich vor ca. 5Jahren zum ersten Mal einen Quadcopter gesehen hab der der eigene nur eine Frage der Zeit..
Ich wollte von von vornherein möglich viel selber machen. Da ich vom Modellbau komme hatte ich nie den Ehrgeiz den Kopter eigenstabil zu machen. Beschleunigungssensoren habe ich also nur schaltungstechnisch vorgesehen aber nie bestückt und implementiert. Als Microcontroller hab ich den STM32 von ST verwendet.

Der 1. Versuch:

18949
Als Gyro hab ich einen 2 achsen Gyro von ST und einen Marata Gyro(Yaw) eingesetzt. Vor allem der ST Gyro hat mich zum Neuanfang gebracht.
Durch Schwingungsempfindlichkeit hab ich einen extrem rechenintensiven FIR Filter implementieren müssen um überhaupt zu fliegen. Aber eine leichte Schwingneigung hab ich nicht weg wegbekommen.




Der 2. Versuch

18951
Die neue Elektronik hab ich dann gleich ganz in SMD gemacht und alles auf eine Platine integriert. Als Gyro hab ich den ITG-3200 von Invensense eingesetzt. Der hat 3 Achsen integriert und die internen Resonanzfrequenzen sind so hoch das er sich nicht vom Kopter stören lässt.

Die Schaltung enthält: QuadControl2_schematic.pdf (http://ubuntuone.com/p/xVJ/)

STM32 Microcontroller mit serial-wire debugging Interface
ITG-3200 3-achs Gyroskop
Footprint für 3-achs ACC
FTDI 232 virtuelle serielle Schnittstelle
I2C für Ansteuerung der Motorsteller
Footprint für CAN-Transceiver für Ansteuerung von Motorstellern
UART für Anschluss von RC Empfänger
Summer für Akkuwarnung



18947
Natürlich musste der Rahmen optisch nachziehen!!


18948
Er schwebt!

Video folgt sobald ich Gelegenheit hatte ein zu machen.

Die Regelung bedarf noch etwas tuning. Aber der Kopter liegt jetzt schon in der Luft wie ein Brett! Der ITG-3200 hat die erhoffte Verbesserung gebracht.

Freue mich über Fragen, Anregungen und (wenns sein muss ;-)) Kritik

holzi
04.06.2011, 07:40
Guten morgen,
Sieht ja gut aus das teil. Kannst du einen Film veröffentlichen?

Peter

kounst
06.06.2011, 17:07
Hallo,

hier wie versprochen das Video..

http://www.youtube.com/watch?v=G6SvRQwTCH8&feature=mfu_in_order&list=UL

Ist leider etwas unscharf aber ich danke man kann sehen das er schon recht ordentlich fliegt.

-
kounst

sandmen
09.06.2011, 10:41
Hallo kounst,
schönes Projekt. Fliegt schon richtig toll.
Ein paar Fragen habe ich dazu :-)
- Warum hast Du die Ansteuerung der Regler in I²C gemacht, hat das einen bestimmten Grund?
- Hast Du vor dein Projekt öffentlich zu machen (Sourcen)
- dieses (http://www.openpilot.org/) und dieses (http://www.rcgroups.com/forums/showthread.php?t=1392387&highlight=stm32) Projekt kennst Du?

Ich wünsche Dir noch viel Spaß mit deinem Projekt. Ich werde es im Auge behalten.
Gruß

kounst
09.06.2011, 14:35
Hallo sandmen,

Danke!

zu deinen Fragen:
- den I2C Bus hab ich nur sehr ungern eingesetzt. Der ist für diese störintensive Umgebung eigentlich völlig ungeeignet!
Im Mikrokopter Forum hab ich gelesen das die übliche PWM Datenübertragung aus dem Modellbau zu langsam sei. Und weils natürlich billig sein musste hab ich dann billige HongKong EMCs auf I2C umgeflasht.
Zwischenzeitlich habe ich selbst einen Regler entwickelt der über CAN ansprechbar ist. Deshalb habe ich auf meine QuadControl auch einen CAN-Transceiver vorgesehen. Ich bin nur noch nicht dazugekommen 4 davon aufzubauen. Außerdem: never change a running system!!

- zumindest die Hardware würde ich - bei entsprechender Resonanz hier - veröffentlichen. Dann auch als opensource. Die Software ist aber weit von einem vorzeigbaren Zustand entfernt.

Ich hab von meine Steuerplatine noch 6 Stück übrig. Sollte jemand interesse haben würde ich die für billigst + Versand abgeben. (PN)

- Von dem Openpilot hab ich erst gestern gelesen. Das ander kannte ich noch gar nicht. Muss ich mir gleich mal ansehen.


Jetzt, wo das Wetter mir das Fliegen vermiest bin ich an der Konstruktion eines neuen Rahmens für den Kopter. Der alte hat während der Softwareentwicklung etwas gelitten ;)
Ein erster Eindruck:
19012
Den Rahmen werde ich aus CFK-Rohren und CFK-Platten aufbauenbauen. Ich werde dann auch neue Motoren einsetzen: hacker Style Brushless Outrunner 20-28M (http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=4701) Wenn sie den mal wieder lieferbar sind..

kounst

sandmen
09.06.2011, 15:40
Kann ich mir nicht so richtig vorstellen das die PWM-Übertragung zu langsam ist.
Ich weiß nur, das nicht jeder Motorregler die 490Hz PWM vom Mikroproz. versteht bzw. richtig interpretiert.
Willas shrediquette macht zwar I²C, aber es gibt dann auch I²C zu PWM Wandler und ob mit oder ohne Wandler der Fliegt etwa gleich gut.

Sind die Steuerplatinen bestückt?
Könnte man an der Steuerplatine auch ein paar PWM-Ausgänge hinbekommen.
Habe keine I²C Regler, und möchte net unbedingt Willa's I²C-PWM Wandler dazu kaufen.
Kannst mir ja mal Info zukommen lassen.

Software muss nicht vorzeigbar sein, sondern funktionieren. :-)
Gruß

kounst
09.06.2011, 16:29
Hast recht. Inzwischen bin ich auch überzeugt das die 50Hz PWM schnell genug ist. Das langsamste ist eh der Motor. Wenn ich mich jetzt entscheiden müsste würde ich warscheinlich die normale PWM übertragung verwenden.

Nein die Platinen sind nicht bestückt. Sei sind doppelseitig und beidseitig mit Lötstopplack. blau

Ich hab gerade im Datenblatt vom STM32 nachgelesen:
Die Ausgänge wo SCL und SDA vom I2C und die UART für den Empfänger (RC_UART_TX, RC_UART_RX) lassen sich als PWM Ausgänge verwenden.
Falls du auch per UART deinen Empfänger anschließen willst könntest du den Summensignaleingang(PWM_CC) und den RC_UART_TX als PWM Ausgänge verwenden.
Es lassen sich auf jeden Fall 4 bestehende Ausgänge als PWM Ausgang verwenden. Klappt also ohne Layout-Operationen. :p

Ich hoffe das war verständlich. Die Bezeichnungen entsprechen denen im Schaltplan (http://ubuntuone.com/p/xVJ/)


Ok, ich hab inzwischen 10 Akkuladungen ohne technische Probleme leergeflogen- demnach funktioniert die Software hinreichend gut.

gruß,
kounst

sandmen
12.06.2011, 11:49
Vielen Dank kounst,
Für deine Info's.
Momentan fliege ich mit dem MultiWii-Copter, der auf Arduino und Atmega basiert.
Ich würde gerne mal etwas tiefer in die SW-Entwicklung gehen wollen.
In meinen Augen, ist halt die "beste" Lösung ein Basis-Board mit Prozessor, Spannungsversorgung und Schnittstellen.
Jetzt wäre ich halt frei für sämtliche Varianten.

Vielleicht hast Du mir ja einen Tip, ob es so etwas gibt, oder vielleicht hast Du irgendwo ein Layout in dieser Art gesehen.

Nochmals ich finde Dein Projekt wirklich toll.
Gruß

He, ich habe gerade dein erstes Bild gesehen bzw. dein ersten Versuch. Kannst Du mir davon etwas mehr erzählen.
Als Sensor:
Gyro: ITG-3200 3-achs oder WII-MP
ACC: BMA020

kounst
12.06.2011, 15:09
In meinen Augen, ist halt die "beste" Lösung ein Basis-Board mit Prozessor, Spannungsversorgung und Schnittstellen.
Du meinst ein µC-Board was möglichst alle Schnittstellen zur Verfügung stellt und die Sensoren angesteckt werden könne. Also modularer Aufbau.
Das hat natürlich was für sich wenn man Teile auswechseln will/muss. Grade zum experimentieren sehr praktisch.

Ich hab mich von diesem Konzept verabschiedet weil ich möglichst kompakt bauen wollte und schon genug experimentiert habe. An der Elektronik ist mir auch noch nie was Kaputt gegangen. Die steckt Abstürze immer am besten weg. Von daher erscheint mir die Auswechselbarkeit von Komponenten auch nicht besonders wichtig.

Ein derartiges Layout kenne ich nicht. Aber es gibt von ST ein interessantes EVAL-Board (http://www.st.com/internet/evalboard/product/250367.jsp)

Allerdings hatte ich mit den verbauten Sensoren probleme mit Schwingungen, die ich nie ganz in den Griff bekommen habe.
Ich hatte eben beim "1. Versuch":
- 2-achs Gyro LPR530AL (wie ST EVAL-board)
- 1-achs Gyro Murata ENC-03R (Hochachse)

Wegen der Schwingungsprobleme verwende ich jetzt eben:
- ITG-3200 (hat sich bisher sehr gut bewährt)
- ACC von ST: LIS3LV02DQ (nur als Footprint, nie eingesetzt)

Wenn du tiefer in die Software einsteigen willst warum brauchst du da ne neue/andere Elektronik? Kannst du das nicht auf der Arduino-Basis machen? Wo ist da für die die Einschränkung?

gruß,
kounst

sandmen
12.06.2011, 15:32
Du hast vollkommen Recht, wenn der Fokus auf kompaktheit liegt ist das naürlich wichtig.
Ich meinte eigentlich ob Du zu den Prozessorboard's (Header Board oder dein Board aus dem ersten Versuch) ein paar Hinweise geben kannst.
Die Sensorik hätte ich da. Mir fehlt sozusagen der 32-Bit Prozessor und ein passendes Board (Spannungsversorgung, quarz und viel Pin's raus):-)
Vielleicht sowas wie Du im Bild 1 bei deinem ersten Versuch.


Wenn du tiefer in die Software einsteigen willst warum brauchst du da ne neue/andere Elektronik? Kannst du das nicht auf der Arduino-Basis machen? Wo ist da für die die Einschränkung?

Tiefer in die ST32 SW-Entwicklung einsteigen. :-)

kounst
12.06.2011, 18:00
Das STM32 Stamp Modul aus dem 1. Bild ist diese hier: STM32 Modul (http://www.futurlec.com/ET-STM32_Stamp.shtml)
Ist mir damals nix negatives zu aufgefallen.
Drauf ist:
- Spannungsversorung
- Takterzeugung
- rs232 Pegelwandler für Bootloader
- fast alle Pins rausgeführt- inkl. SerialWire Debug-Interface

Aber da gibts Unmengen andere die warscheinlich die Anforderungen ähnlihc gut erfüllen.

Ja für die STM32 SW Entwicklung ist der STM32 wohl das richtige.. ;)

Gruß

kounst
19.06.2011, 12:02
Im CAD ist er jetzt fertig - der neue Rahmen!

19075

Statt CFK werde ich jetzt doch GFK verwenden. Ist einfach ein riesiger Preisunterschied. Von der Festigkeit her sollts ok sein. Nur optisch wäre des CFK natürlich schöner gewesen..

Die Sourcen und CAD Files (https://github.com/kounst/QuadVolucer) (eagle und catia) stehen jetzt auf github online.

Das ganze ist noch sehr mangelhaft dokumentiert. Da werd ich demnächst noch etwas nachbessern. Die Software ist bisher noch in einem recht frühem Stadium - bis sich daran etwas ändert wird wohl noch etwas länger dauern.

gruß,
kounst

fozzy
21.06.2011, 15:07
Ist echt ein super Projekt...
Wenn ich richtig gesehen habe sind die Motorregler nicht in den Sourcen drin oder ?
Welche Regler nimmst Du aktuell bzw. kannst Du das bitte noch ergänzen ?
Gruß fozzy

kounst
21.06.2011, 15:36
Hallo fozzy,

Danke!

Ja stimmt die Motorregler sind nicht in den Sourcen.
Die Regler sind billgst von HobbyCity.com: diese hier (http://www.hobbyking.com/hobbycity/store/uh_viewItem.asp?idProduct=658)
Das sind gewöhnliche BLDC Stelle aus dem Modellbau. Die habe ich dann auf I2C Protokoll umgebaut und umgeflasht. Infos dazu in diesem Thread (http://forum.mikrokopter.de/topic-830.html) im Mikrokopter Forum. Inzwischen finden sich da für eine ganze Reihe an BLDC Stellern solche Umbauanleitungen.

Die Kommunikation über I2C Bus gefällt mir allerdings eigentlich überhaupt nicht. Den I2C in einem Umfeld mit mehreren BLDC und entsprechend gepulsten Strömen über größere Entfernungen einzusetzen ist mutig ;)

Deshalb habe ich auch den CAN Bus vorgesehen. Allerdings hab ich momentan nicht das Geld und die Zeit 4 meiner selbstentwickelten BLDC Steller mit CAN Bus aufzubauen.

gruß,
kounst