März 2016, WM-Team: Lowlevel fast fertig, Platinen bestellt, neue Dribblerrollen

Programmierung

Da die neuen Boards nun angekommen sind, konnten wir uns voll der Programmierung des Lowlevel widmen. Das heisst, dass wir die Boards so programmiert haben, dass sie Werte an das Mainboard geben, mit denen das Mainprogramm eine Strategie ausführen kann. Zudem konnten wir auch die Kommunikation zwischen den Boards zum Funktionieren bringen. Auch die Kommunikation zwischen den Bots konnten wir verbessern, sodass diese nun stabiler funktioniert. Auch bei den neuen Boards schalteten wir den WDT ein, da auch diese nicht immer ganz zuverlässig funktionieren. Im Grossen und Ganzen hatten wir grosse Fortschritte diesen Monat gemacht.

Zudem investierten wir relativ viel Zeit den anderen Teams zu helfen, da diese noch Probleme hatten.

Elektronik

Ende Februar bzw. Anfang März waren die Leiterplatten für die überarbeiteten Sensoren zur Erkennung des Balles bzw. der Begrenzungslinien angekommen. Diese hatten grosse Priorität, da noch ein wenig Lowlevel Code sowie Filter geschrieben werden mussten.

Die Lichtsensoren hatten im letzten Jahr grosse Probleme bereitet, da immer wieder manche Exemplare kaputt gegangen sind, jedoch niemand von uns einen Makel am Schaltplan ausfindig machen konnte. Wie sich erfreulicherweise herausgestellt hat, ist dies mit anderen OpAmps nicht mehr aufgetreten. Wir vermuten, die zuerst verwendeten Verstärker waren all zu anfällig auf ESD, oder sogar schlicht fehlerhaft, haben aber keinen Sinn darin gesehen dem noch näher nachzugehen.

Die Ballerkennung wurde völlig überarbeitet: Vorher hatten wir (wahrscheinlich für Fernbedienungen u.Ä. konzipierte) integrierte Schaltkreise verwendet, wodurch zwar das Interface zum Prozessor einfach, sowie die Erkennung der Richtung des Balles gut war, die Entfernung jedoch nur höchst ungenau abgeschätzt werden konnte. Weiterhin war die Form der Leitplatten eher mühselig.

Wir verwenden nun unverstärkte Photodioden und verstärken sie „selber“ mittels eines Fet-Operationsverstärkers (pragmatischerweise der selbe wie bei den Liniensensoren). Dieses Signal wird mittels des internen Analog/Digital-Konverters eines AtXmega5e gelesen.

Dies hat sich, bis jetzt, als eine gute Lösung für unsere Ansprüche herausgestellt.

Der Umstieg auf diesen anderen, aber recht ähnlichen Prozessor hatten wir als eher trivial eingeschätzt, wir begegneten aber einem schwierig zu findenden Bug: Wenn man den Timer auf Port C benutz, funktioniert dort fast nichts mehr. Wir sind natürlich erst nach erheblichem Aufwand bez. Fehlersuchen auf die Idee gekommen, einen Fehler im Microcontroller selbst zu vermuten.

Sobald wir uns von der Funktionalität der neuen Designs überzeugt hatten, wurden einige kleine Fehler im Layout der Platinen korrigiert und auch die „Slaves“ bestellt.

Des weiteren haben wir unsere Stromversorgung überarbeitet: Wir verwenden nun andere Gleichstromwandler und haben einige /quality of life improvements/ wie Sicherungen, Verpolungsschutz und dreistufigen LED-Indikator für den Akkuladestand.

Mechanik

Das CAD wurde komplett fertiggestellt. Die verschiedenen Teile wurden ausgesägt. Wir testen noch mit verschiedenen Malerrollen, um unseren neuen Dribbler herzustellen. Die ursprünglichen, welche wir bisher immer genutzt haben sind leider nicht mehr Verfügbar. Dennoch haben wir neue gefunden, welche sich sogar der neuen Grösse super anpassen kann. Nun bleibt noch die Frage, wie wir die Festigkeit dieser unterstützen können, damit der Motor nicht nur die Stange selbst sondern die ganze Rolle drehen kann. Wir haben gemerkt, dass wir durch die zusätzliche Platte sehr viel an Stabilität gewinnen können, dennoch bleibt es offen, wie wir in der Gewichtslimite bleiben können. Da wir eine ganze Platte hinzugefügt haben. Dennoch, wir bleiben optimistisch und versuchen so viel wie möglich aus der neuen Platte auszuschöpfen.

März 2016, Challenge-Team Rescue B: Endspurt

Das Rescue Team B steht in der Endphase. In Kürze kommt das Asutrian Open, bei dem sie ihre harte Arbeit veranschaulichen können.

Programmierung

Dieser Monat hat für uns sehr viel verändert. Durch Schwierigkeiten mit der Elektronik haben wir uns entschieden mit einem XMega-Prozessor eine Alternative zu finden. Dies hat sich als sehr gut erwiesen, welche wir dann auch beibehalten haben. Wir haben nun anstatt eines Boards, mehrere, miteinander vernetzte Boards benutzt. Durch diese Veränderung mussten wir uns mit SPI vertraut machen. Dies gelang uns auf Anhieb und wir konnten gut damit arbeiten. Dadurch haben wir mehrere Erfolgserlebnisse erlebt. Wir konnten plötzlich ohne gröbere Probleme die Sensoren auslesen, zudem konnten wir nun schön gerade fahren und unsere wir konnten an unserer Strategie weiterarbeiten. Im Grossen und Ganzen war dieser Monat für uns sehr fortschrittlich.

Elektronik

Die Boards sind ziemlich spät angekommen. Ich habe versucht einige zusammen zu löten, dabei ist mir aufgefallen, dass diese nicht wirklich funktionieren. Die LEDs flackerten, obwohl sie leuchten sollten. Da wir ziemlich unter Zeitmangel standen, mussten wir eine bessere, effizientere und schnellere Lösung finden. Wir haben uns mit den älteren abgesprochen, was die sinnvollste Lösung zu scheinen mag. Dabei haben wir intensiv uns mit der Situation auseinander gesetzt. Wir haben uns dann entschieden einige Boards des WM-Teams zu benutzen, welche sich auch gut für uns einigten. Durch das konnte die Programmierung an der Software arbeiten und ich konnte mich auf das nicht funktionale Board stürzen und die mich auf die Fehlersuche begehen, damit wir nächstes Jahr eine bessere Grundlage haben.

Mechanik

Ich habe die Drehscheibe nun mit Schrauben versehen. Den Touchsensor habe ich an der Drehscheibe mit einem Zweikomponenten Kleber noch besser befestigt, da dieser einem sehr hohen Druck ausgesetzt ist und somit sehr viel Stabilität benötigt. Ebenfalls konnte ich dadurch alle Boards an dem Roboter anmachen, damit diese nicht mehr herumschwirren. Eine unserer Aufgaben ist gewisse Rescue-Kits an den Stellen mit dem Wärmepolen abzulegen. Und habe ich noch 6 solche Rescue-Kits erstellt, damit wir diese auch auswerfen können. Ich konnte einen spannenden Einblick in die Elektronik dadurch erhalten.

März 2016, Challenge-Team Rescue A: Endspurt

Das Rescue-Team A steht kurz vor ihrem ersten internationalen Wettbewerb.

Programmierung

Durch Verzögerungen in der Elektronik in der letzten Wochen, haben wir uns den Bibliotheken gewidmet. Da die Elektronik wieder aufgeholt hatte, konnten wir uns nun dahinter setzen. Leider konnten wir unsere Idee nicht so gut umsetzten wie wir wollten und haben uns dann auf eine andere Lösung geeignet. Wir haben verschiedene Boards gleichzeitig benutzt, welche zusammen vernetzt waren. Durch diese schnelle Lösung konnten wir uns der High Level Strategie widmen. Wir hatten eine ziemlich genaue Vorstellung wie diese Aussehen sollte, durch das war die Strategie sehr schnell fertig zu stellen. Dennoch treten immer noch kleiner Probleme auf, welche wir versuchen zu lösen.

Mechanik

Diesen Monat haben wir die noch nicht ausgeschnittenen Teile ausgeschnitten und zu einem Roboter zusammengebaut. Erfolg zeigte sich beim Einbau der Sensoren, welcher grössten Teils reibungslos verlief. Dieser Erfolg stellte sich allerdings auch bald wieder ein, als die zuerst verbauten Servos sich als funktionsunfähig erwiesen und ausgetauscht werden mussten. Dabei zeigten sich einige Konstruktionsfehler, welche zur Folge hatten, dass einige Teile verändert werden mussten, um die auszutauschende Teile zu erreichen. Doch es gab auch einige Änderungen in dem Plan: Die Erste betraf die Sensoren, welche sich teils als überflüssig erwiesen; eine weitere Veränderung betraf der Auslademechanismus. Statt wie geplant die Ladefläche zu kippen, bauten wir eine Blockade, die nun ausgeklappt als Verlängerung für die Ladefläche dient. Durch diese Veränderungen konnten wir leichter unsere Ideen verfolgen.