1. Überarbeitung der Hardware:
Zunächst muss mit der zweiten Projektgruppe (Hardware groß) über das
bisherige Layout gesprochen werden, sich über die Verwendung der
Pins und der Software allgemein zu informieren. Im Sinne einer
einheitlichen Software müssen einige Pins gleich gewählt werden
(z.B. Motortreiber enable). Hierfür wurden die Portbelegungspläne
erstellt und ensprechend angepasst. Um eine Kompilität mit der
Hardware des bisherigen "kleinen" Controllers zu erhalten, wurden
auch hier die Pins abgeglichen.
Die Hardware soll eine neue
übersichtlichere Output-Pin Anordung erhalten, sowie eine
Beschriftung der jeweiligen Ein- und Ausgänge. Hierfür muss das
Board komplett umgestaltet werden. Zudem müssen auf Grund von einem
alten Layout-Stand alles gegenkontrolliert und angepasst werden.
Zusätzlich sollen die weiter unten genannten veränderungen
integriert werden.
2.
Verpolungsschutz/Überspannungsschutz:
Der
Verpolungsschutz betrifft die Teile, welche mit der
Eingangsspannung gespeist werden. Daher müsssen diese anhand des
Datenblatts auf negative Spannungseinflüsse überprüft werden und
gegenbenenfalls eine hardwaretechnische Lösung erarbeitet werden.
Der Überspannungsschutz betriftt die Eingänge und Ausgänge des
Fischertechnik-Boards, sodass Kinder die Hardware bei Fehlbenutzung
nicht zerstören. Die Schwierigkeit besteht darin, die Eingänge auch
für analoge Signale verwendbar zu machen. Für dieses Vorgehen werden
diverse Schutzschaltungen erarbeitet und evaluiert:
Möglichkeit 1 - Schutz mit 3.3V Zenerdiode
Möglichkeit 2 - Schutz durch Diodenschaltung und Kondensator
Möglichkeit 3 - Schutz durch Spannungsfolger
Beispiel eines Simulationsergebnisses:
Möglichkeit 1 - Simulation
Zur
Evaluation wurden alle drei Möglichkeiten auf einer
Lochrasterleiterplatte aufgelötet und mit einem Osziloskop getestet.
Aufbau zur Evaluation
Das Ergebnis ist, dass Möglichkeit 1
(Schutz durch Zenerdiode) die beste Wahl darstellt, da sie zum einen
am wenigsten Bauteile benötigt und zudem den kleinsten Spannungsbereich
durchlässt. Möglichkeit 2 (Diodenschaltung) würde eine weitere
Spannungsquelle benötigen, sodass der Mikrocontroller nicht durch
höhere Ströme (~100 mA) belastet wird. Möglichkeit 3 (OPV) scheidet
aus, da auch hier eine weitere Spannungsquelle zum Einsatz kommen
muss (4.4 V bei keinem Rail-to-rail Operationsverstärker).
3. Implementierung des Displays:
Das Display
ist bereits bei der alten Hardware vorhanden, jedoch noch nicht
implementiert. Der Anschluss über den I2C-Bus soll bestehen bleiben.
Die Implementierung soll ermöglichen die wichtige Informationen wie
der IP-Adresse, der SSID und des Passworts auszugeben.
4. Deaktivierung der Motortreiber beim Einschalten:
Für dieses Vorhaben wurden zunächst auch hardwaretechnische
Lösungsansätze erarbeitet. Dabei ist das Problem, dass der Motortreiber
über einen Pin eingeschaltet wird, wenn dieser auf HIGH liegt.
Startet der Mikrocontoller, dann sind meist die PullUps aktiv und
startet die Treiber. Sind Motoren angeschlossen, dann ziehen diese
einen Strom, welche die Spannung einbrechen lässt. Daher kann es
Vorkommen, dass der Mikrocontroller durch den Spannungseinbruch beim
Start nicht richtig booten kann. Ein Lösungsansatz ist, die Logik
zu invertieren, sodass der Treiber mit einem HIGH Signal
ausgeschaltet ist. Hierfür können Inverterbausteine oder
Inverterschaltungen zum Einsatz kommen:
Inverterschaltung mit Transisitor
Auf Wunsch von
Herrn Walter kommt diese Lösung nicht zum Einsatz. Die
Deaktivierung bleibt softwarebasiert. Die Pin-Abschaltung soll
jedoch noch früher stattfinden, in dem eine neue Funktion
implementiert werden soll.
5. Lebensdauer der
Batterien:
Die Lebensdauer der Batterien (9V Blocks)
ist meist nicht sehr lang. Fällt die Batterie aus, dann stürzt der
Mikrocontroller ab und das User-Programm geht unwiderruflich
verloren. Ein Lösungsansatz ist es, einfach Fischertechnik-Akkus
(oder vergleichbare) zu kaufen, diese verfügen über eine höhere
Kapazität. Außerdem wird eine LED angebracht, mit der man
erkennen kann, dass ein möglicher Absturz nur durch die
Spannungsversorgung hervorgerufen wurde. Damit das User-Programm
remanent bleibt, soll dieses nicht-flüchtig zwischengespeichert
werden (z.B. für SPIFFS).
6. Weiteres
- Einbau eines Tasteres zum manuellen starten und stoppen
des User-Programms. - Verbinden über einem Server anstatt direkt
mit dem Endgerät. - Software soll automatisch erkennen, welche
Hardware angeschlossen ist (Auslesen, ob Extension-Board
angeschlossen ist und die Pin-Konfiguration anpassen) -
Herstellen eines Gehäuses (3D-Druck)
|