Hallo,
ich habe mir überlegt die MicroWii von flyduino als Motor-Steuerung meines Quadrocopter mit meinem FEZ Spider Gadgeteer zu verbinden, und diesen dann als Autopilot zu benutzen. Gadgeteer ist eine mit C# programmierbare und modulare MicroController Plattform, für die bereits einige nützliche Module und Treiber zur Verfügung stehen, wie ein GPS, Barometer oder GPRS-Modul (für Mobilen Internet Zugang). Wer mehr zu der Gadgeteer Plattform erfahren will, kann sich HIER einlesen. Mir steht dabei der FEZ Spider zur Verfügung. Dieser hat viele freien Sockets, sodass also die oben genannten Module alle angeschlossen werden können. Ansich ist der Spider also eine sehr feine Sache, und hat nicht nur sehr viele Anschlussmöglichkeiten sondern auch vergleichsweise ordentlich viel RAM (16MB) und Flash Speicher (4,5MB). Allerdings, wie wahrscheinlich die meisten wissen, die schon mit C# programmiert haben, ist diese Sprache & die ganze Gadgeteer Plattform nicht für Echtzeit Anwendungen gemacht & geeignet bei denen es auf jede Millisekunde ankommt. So hätte der FEZ Spider auch 6 PWM's, aber er kommt nie an eine konstante Update Rate von mehr als 50Hz heran, und bei Quadrocoptern sollen ja 500Hz wünschenswert sein (Und dass obwohl das Ding einen 72MHz ARM7 Prozessor hat )... Deshalb soll Arduino für die reine Motoren-Steuerung des Quads eingesetzt werden.
Die Kommunikation soll mit der MicroWii, soll über einen seriellen Port laufen. So kann dann der Gadgeteer diesem sowohl Flugkommandos geben, als auch Sensorwerte übermitteln, wie die aktuelle GPS Position oder den Luftdruck.
Nun einige Fragen:
1) Was haltet ihr von diesem Ansatz?
2) Ist er überhaupt (Schwer) Realisierbar?
3) Wie hoch ist der Programmieraufwand auf MicroWii Seite (Modifikation der MultiWii Firmware)? Ich hatte mir es so vorgestellt, dass im Prinzip die Fernsteuerungsinputs ersetzt werden mit den Kommandos vom Gadgeteer. Die Gadgeteer Seite sehe weniger problematisch, GPS und Barometer laufen bereits ordentlich, und die Internetkommunikation via GPRS habe ich auch schon hinbekommen. Außerdem habe ich den Gadgeteer schonmal mit einem Arduino via serieller Port kommunizieren lassen, das hat ganz gut geklappt.
4) In welchem zeitlichem Intervall müsste MicroWii mit Barometer Werten versorgt werden, um eine zuverlässige Höhenhalte - Steuerung möglich ist?
Danke für's Lesen schonmal
Viele Grüße
CokeViper
ich habe mir überlegt die MicroWii von flyduino als Motor-Steuerung meines Quadrocopter mit meinem FEZ Spider Gadgeteer zu verbinden, und diesen dann als Autopilot zu benutzen. Gadgeteer ist eine mit C# programmierbare und modulare MicroController Plattform, für die bereits einige nützliche Module und Treiber zur Verfügung stehen, wie ein GPS, Barometer oder GPRS-Modul (für Mobilen Internet Zugang). Wer mehr zu der Gadgeteer Plattform erfahren will, kann sich HIER einlesen. Mir steht dabei der FEZ Spider zur Verfügung. Dieser hat viele freien Sockets, sodass also die oben genannten Module alle angeschlossen werden können. Ansich ist der Spider also eine sehr feine Sache, und hat nicht nur sehr viele Anschlussmöglichkeiten sondern auch vergleichsweise ordentlich viel RAM (16MB) und Flash Speicher (4,5MB). Allerdings, wie wahrscheinlich die meisten wissen, die schon mit C# programmiert haben, ist diese Sprache & die ganze Gadgeteer Plattform nicht für Echtzeit Anwendungen gemacht & geeignet bei denen es auf jede Millisekunde ankommt. So hätte der FEZ Spider auch 6 PWM's, aber er kommt nie an eine konstante Update Rate von mehr als 50Hz heran, und bei Quadrocoptern sollen ja 500Hz wünschenswert sein (Und dass obwohl das Ding einen 72MHz ARM7 Prozessor hat )... Deshalb soll Arduino für die reine Motoren-Steuerung des Quads eingesetzt werden.
Die Kommunikation soll mit der MicroWii, soll über einen seriellen Port laufen. So kann dann der Gadgeteer diesem sowohl Flugkommandos geben, als auch Sensorwerte übermitteln, wie die aktuelle GPS Position oder den Luftdruck.
Nun einige Fragen:
1) Was haltet ihr von diesem Ansatz?
2) Ist er überhaupt (Schwer) Realisierbar?
3) Wie hoch ist der Programmieraufwand auf MicroWii Seite (Modifikation der MultiWii Firmware)? Ich hatte mir es so vorgestellt, dass im Prinzip die Fernsteuerungsinputs ersetzt werden mit den Kommandos vom Gadgeteer. Die Gadgeteer Seite sehe weniger problematisch, GPS und Barometer laufen bereits ordentlich, und die Internetkommunikation via GPRS habe ich auch schon hinbekommen. Außerdem habe ich den Gadgeteer schonmal mit einem Arduino via serieller Port kommunizieren lassen, das hat ganz gut geklappt.
4) In welchem zeitlichem Intervall müsste MicroWii mit Barometer Werten versorgt werden, um eine zuverlässige Höhenhalte - Steuerung möglich ist?
Danke für's Lesen schonmal
Viele Grüße
CokeViper