Schlagwort-Archive: ATXmega

Der Quadcopter auf github

Es gibt tolle Neuigkeiten bezüglich des Quadcopter-Projekts. Den kompletten Programmcode kann man nun auf github finden. Der Code steht öffentlich zur Verfügung und wird immer weiter entwickelt. Mal kommt was neues dazu, mal werden bestehende Probleme beseitigt, mal werden ganze Klassen wieder umgekrempelt, weil man damit entweder Code sparen kann oder es anschließend einfacher komfortabler wird. Schaut es euch einfach in Ruhe an: Quadcopter auf github. Und wie immer: Bei Fragen, fragt.

AVR-Entwicklung in Eclipse und seine Tücken

Vielleicht ist es manchen von euch schon passiert, dass Eclipse in euren Quellcodes Fehler anzeigt, wo der Compiler keine sieht.

Das hat meistens den einfachen Grund, dass der Indexer von Eclipse nicht aktuell ist oder sogar Includes für den falschen AVR indiziert, sodass dann z.B. PORTC rot unterstrichen wird, obwohl euer ATMega16 den ja unterstützt.

Um das Problem zu lösen gibt es drei verschiedene Herangehensweisen vom einfachen MCU-Typ umstellen, über den Index neu zu generieren und die Holzhammermethode, die Eclipse anweist dann wirklich das Include zu verwenden. Dewegen will ich hier mal alle Möglichkeiten aufschlüsseln und zeigen wie man es nicht macht. Der Index wird übrigens erstellt, indem Eclipse alle Include-Pfade und die Includes, die ihr in eurem Code nutzt, durchscannt, damit es weiß welche Symbole, Konstanten, Variablen und Funktionen zur Verfügung stehen.

AVR-Entwicklung in Eclipse und seine Tücken weiterlesen

Erste Informationen zum Programmablauf im Quadcopter

Ich habe soeben eine erste Unterseite zum Quadcopter-Projekt angelegt, die euch den Aufbau und Inhalt des bisherigen Quellcodes vom Quadcopter näher bringen soll. Klickt dazu einfach im Menü auf Projekte -> Quadcopter -> Das Programm oder wählt den schnellen Weg über diesen Link.

Falls ihr Fragen oder Kritik dazu habt, nutzt am besten die Kommentarfunktion auf der entsprechenden Seite und nicht die unter diesem Beitrag.

AOYUE und Flux-Paste retten die Hauptplatine

Nach stundenlangem Suchen nach dem EINEN Fehler, haben wir ihn gefunden! Vielen Dank gilt der AOYUE Reflow Station und der wunderbaren Flux-Paste, die alle Kontaktschwierigkeiten auf dem ATXMega-Board unseres Quadrocopters beseitigt haben.

Dabei haben wir doch keine Zeit!

Aber jetzt kann es endlich beruhigt und ohne hässliche Ausfälle einzelner Sensoren und Debugging-Displays an die Programmierung des Lagereglers gehen, der eigentlich schon lange seinen Dienst leisten sollte. Nur dazu muss eben alles auch korrekt funktionieren.

Und wer den Livestream heute verpasst hat, darf unser neustes Mitglied Patrick begrüßen. Er wird sich um die Programmierung der Fernsteuerung auf einem ATMega8 kümmern und zunächst einmal alle Joystick-Tasten und -Achsen auslesen, mit denen der Quadcopter in Zukunft gesteuert werden soll. Aber dazu später mehr und mit Bildern.

Das war’s dann erst einmal für den heutigen Abend. Am nächsten Mittwoch geht es wieder weiter, wenn es wieder heißt: „ON AIR!“

Wie programmiere ich denn nun den XMega unter Linux?

Ich hatte ja schon vor kurzem auf unserer Facebook-Page versprochen einen Artikel darüber zu schreiben wie man einen ATXMega128A1 unter Linux Mint 13 programmieren kann und was dazu benötigt wird.

Also fange ich mal damit an, was ich softwareseitig so alles nutze. Auf meinem Laptop ist ein zur Zeit aktuelles Linux Mint 13 x64 (Maya) installiert mit Mate als Desktop und Compiz als Fenstermanager. Als IDE zur Programmierung für bisher alle von uns genutzten AVRs nutze ich Eclipse CDT mit dem AVR-Plugin. Dazu sind die folgenden Schritte notwendig:

Wie programmiere ich denn nun den XMega unter Linux? weiterlesen

Wie ist denn nun der Innenwiderstand???

Wie ihr aus dem vorausgegangenen Artikel entnehmen könnt, hat der Innenwiderstand des Ausgangspin am ATXmega wohl nicht so ganz zu Theorie und Simulation gepasst. Falsch gedacht! Mittels einfacher Bestimmung durch die halbe Klemmenspannung ergibt sich ein Innenwiderstand von knapp 60 Ohm, genug also um die Schaltung zu treiben.
Daher hab ich die Schaltung kurzerhand mal mit dem Funktionsgenerator befeuert und mir das Signal am Oszilloskop angesehen. Wieso zeigt der Funktionsgenerator denn keine Amplitude? Er wird doch sicherlich nicht kaputt sein. Nein, wenn ich ihn abschließe, zeigt er das eingestellte Signal. Einzige Lösung: En Kurzer!
Da hatte sich ne Litze auf dem weg zum Lötpunkt verirrt und schloss das Signal mit Masse kurz. Gut dass es jetzt wie simuliert funktioniert und Atmel einen Überlastungsschutz eingebaut hat 😉