Mobile Roboter | eine Jahresarbeit
7. Elektronik
7.1. Herstellen von Platinen
Stellt man sich vor, welch ein „Kabelsalat“ entstehen würde, wenn man versucht alle Elektronik auf dem Roboter frei zu verdrahten. Es wird einem schnell klar, dass man dem Fitz nur mit Hilfe von Leiterplatten Herr werden kann. Also fing ich gleich an mit Leiterplatten (Platinen) zu arbeiten. Da ich mich nicht mit den fertigen Experimentierplatinen anfreunden konnte, auf denen man mit Drahtbrücken die fertigen Leiterbahnen verbinden muss, blieb mir nur die Möglichkeit selbst Platinen zu entwerfen und herzustellen. Es gibt verschiede Verfahren Platinen herzustellen. Als erstes muss man natürlich einen Schaltplan besitzen, der dann in einen Platinenentwurf umgearbeitet werden muss. Man versucht alle Verbindungen so zu verlegen, dass sie sich nicht mehr kreuzen, wie es im Schaltplan normalerweise der Fall ist. Für diese Aufgabe gibt es Softwarelösungen. Ich benutzte aber meinen Kopf, der schon teilweise ganz schön ins Schwitzen kam, da es sehr viele Möglichkeiten gibt, sie sich aber nur schwer überschauen lassen. An den Stellen, wo ein Kreuzen nicht vermieden werden kann muss man eine Brücke schaffen. Der Platineentwurf wird anschließend spiegelverkehrt auf die Leiterplatte übertragen. Benutzt man photoempfindliche Rohplatinen, so kann man diese durch den Platineentwurf hindurch belichten und anschließend entwickeln. Ich entschied mich jedoch für die Variante mit einem Ätzmittelbeständigen Stift (edding 780) die Leiterbahnen direkt auf die Kupferoberfläche der Rohplatine (1,5 mm Epoxydharz- oder Hartpapierplatte mit 35
7.2. Sensoransteuerung
Ich besorgte IR-LED’s (LED = Leuchtemitterdiode) und spezielle IR-Empfängermodule. Es handelt sich um sehr kompakte Module, in denen die Empfängerdiode, ein Filter und der Vorverstärker integriert sind. Dadurch sind sie an eine Trägerfrequenz gebunden; ich entschied mich für Module welche mit 40 kHz arbeiten, es hätten aber auch Module mit anderen Frequenzen zum Einsatz kommen können. Als IR-Sendedioden dienen GaAIA-Dioden, deren Licht eine Wellenlänge von 940 nm hat.
1. Versuch
Wie schon erwähnt, benötigt man ein moduliertes IR-Licht. Die IR-Lichtsendedioden müssen für einen Takt von 40 kHz aller 25
Das IC NE 555 hat eine solche Schaltung integriert, die man durch externe Bauelemente konfigurieren muss. Der Kondensator C1 und die Widerstände RA und RB bestimmen durch ihre Größen die zu erzeugende Frequenz. Die Dimensionierung der externen Bauelemente für den NE555 lässt sich mit Hilfe folgender Formel berechnen (eine Groborientierung für C kann man auch einer Tabelle entnehmen):
F = 1,443 / RC mit R = Ra + 2Rb
R = 1,443 / FC
C = 4700pF = 4700^-12 F; F = 40 kHz = 40000 Hz
R = 1,443 / (40000 × 4700^-12)
R= 7675,5
Ra = 2,7 k
Der Ausgang des NE555 ist mit maximal 500 mA belastbar. Bei den 8 LED’s, die rund 90 mA benötigen und parallel geschaltet sind, muss man eine Leistungsstufe zwischenschalten, die eine Last von mehr als 720 mA schalten kann. Diese Aufgabe erledigt der Transistor T1 (Typ BC 875, bis max. 2 A belastbar), indem er gegen Masse durchschaltet, wenn er einen Ansteuerstrom von dem IC erhält. Zwischen Transistor und dem Ausgang des ICs befindet sich ein Spannungsteiler, der mit Hilfe eines Widerstandsnetzwerkes (R1 und R2) realisiert worden ist. Dadurch werden eventuelle Restspannungen zwischen den Signalen abgeleitet, sodass der Transistor nur eindeutige Signale bekommen kann; es ist aktiv auf null gesetzt. Der Signalstrom wird von dem Widerstand R3 auf 20 mA begrenzt. Die IR-LEDs sind jeweils mit einem strombegrenzenden Vorwiderstand in Reihe geschaltet. Die Empfängermodule sind ebenfalls an diesem Stromkreis angeschlossen. Die Versorgungsspannung beträgt 6 V. Die Empfängermodule geben ein High- und ein Low-Signal aus. Das Low-Signal wird beim Empfangen eines IR-Signals ausgegeben und ist rund 3 Vgeringer als das High-Signal.
Nach einer ersten Erprobung im Testaufbau fertigte ich die erste Platine (Leiterplatte) an. Wie ja nun fast nicht anders zu erwarten funktionierte gar nichts. Als Problem entpuppte sich die gemeinsame Versorgungsspannung von Sendedioden und Empfängermodulen. Durch das Modulieren entstanden Schwingungen mit 40 kHz und undefinierbare im MHz-Bereich, welche sich über den Weg der gemeinsamen Energiequelle ausbreiteten und so zu den Empfängermodulen gelangten. Dadurch erhalten die sehr sensiblen Empfängermodule eine leicht modulierte Versorgungsspannung, welche sie nicht von einem modulierten Lichtsignal unterscheiden können, und geben dadurch immer das Low-Signal aus.
Verschiedene Versuche den Stromkreis zu entstören und die Schwingungen zu dämpfen, scheiterten aufgrund der so empfindlichen Sensoren. Nach dieser recht bitteren Erfahrung, dass nicht alles so geht, wie man es sich im Vorfeld ausgemalt hatte, entschloss ich mich zwei verschiedene Stromquellen zu benutzen und somit den Stromkreis der Empfängermodule von dem der Sendedioden komplett zu trennen. Es folgte ein neuer Platineentwurf und dessen Herstellung.
2. Versuch
Um das oben beschriebene Problem zu lösen ist es notwendig zwei komplett getrennte Stromkreise für die Versorgung zu nutzen. Da nun eine neue Platine notwendig war, konnte ich auch gleich noch einige andere Korrekturen vornehmen. So sind im zweiten Entwurf immer drei bzw. zwei LEDs in Reihe geschaltet, was den Stromfluss erheblich minimiert, und somit Energie einspart.
Nun funktionierte es schon etwas besser, aber war noch immer sehr unzuverlässig und störanfällig. Noch während ich damit beschäftigt war, erhielt ich den Hinweis, das diese Empfängermodule, wider der Conrad-Elektronik-Beschreibung, gar nicht wirklich fremdlichtunempfindlich sind und auf alles mögliche, wie z.B. das Licht von Neon-Röhren reagieren, was sie für mich unbrauchbar machten.
Mir wurde aber im gleichen Atemzug Unterstützung für eine rein softwaregesteuerte Signalmodulierung und Signalauswertung angeboten.
Auf einen Schlag hatte sich für mich nun alles geändert. Die doch recht lange Arbeitsphase, in der ich in die Elektronik einstieg, konnte ich ab nun unter der Rubrik „Erfahrungen“ verbuchen.
3. Versuch
Wie auch schon oben aufgeführt, sind die Empfängermodule nicht fremdlichtunempfindlich und eine genauere digitale Sensordatenauswertung ist notwendig. Deswegen muss die oben beschriebene Schaltung fast komplett weichen, da nun das 40 kHz Signal von dem Microcontroller erzeugt wird. Da sich in diesem Zuge auch die Erhöhung der Versorgungsspannung für die IR-LEDs auf 12 V anbot, sind nun alle acht IR-LEDs in Reihe geschaltet was den Energieverbrauch nochmals minimiert, da man mit einem Vorwiderstand auskommt und so weniger Strom „verheizen“ muss.
7.3. Motorleistungstufe
Die Motorleistungsstufe ist notwendig, da die Ausgänge des Microcontrollers nicht mit größeren Lasten belastbar sind. Sie geben nur einen sehr kleinen Signalstrom aus, welcher ausreicht um Transistoren anzusteuern. Ich verwendete Power-Mosfet-Transistoren (N-Kanal, Typ IRLZ34N). Es sind spannungsgesteuerte Transistoren, d. h., sie lassen sich durch eine anliegende Spannung steuern ohne Strom aufzunehmen. Die Signale für das Ansteuern einzelner Motorspulen gibt der Microcontroller über einen Port aus, worauf die entsprechenden Mosfets diese Spule zu der Masse der Betriebsspannung durchschalten. In jedem Mosfet ist eine so genannte Freilaufdiode integriert, die die empfindlichen Mosfets vor den Induktionsspannungen der Motorspule schützt. Die Widerstände zwischen den Anschlüssen Gate und Source sind 10 kΩ groß und setzen den Signaleingang aktiv auf null, wenn kein Signal anliegt.
7.4. Tochterplatine für Microcontroller R167-JIF
Als Tochterplatine wird die Platine bezeichnet, welche unmittelbar mit dem Microcontroller verbunden ist und dessen Peripherie bildet. Auf der Tochterplatine, die ich anfertigte, ist das wesentliche Element die Schaltung zur Spannungsstabilisierung. Der Microcontroller Benötigt eine stabile Betriebsspannung von 5V (±5 %). Da die Akkupacks in vollem Zustand 12 V liefern, muss man diese auf stabile 5 V herunterregulieren. Dazu verwendet man einen Festspannungsregler (Typ MC7805CT, 5 V, 1 A, positiv) und 3 Kondensatoren. Die Kondensator C1 (100
Da der Spannungsregler nur eine Eingangsspannung von rund 7 V benötigt, kann die Betriebsspannung auch bei erschöpften Akkus gehalten werden, wodurch ein Programmabsturz während des Betriebes vermieden wird.
Zur besseren Handhabung des Ganzen sind alle Ports und andere Anschlüsse des Microcontrollers herausgeführt, was das weitere Hantieren an dem recht empfindlichen Microcontroller erleichtern soll. Zu erwähnen wäre noch der Anschluss für ein serielles Schnittstellenkabel. Die serielle Schnittstelle ist eine ziemlich universell einsetzbare Schnittstelle die jeder PC besitzt. Über sie überträgt man den Programmcode auf den Microcontroller. Es werden aber nur drei Leitungen benötigt: RxD, TxD und GND. Zusätzlich dient die Tochterplatine auch der mechanischen Befestigung des Microcontrollers.