ftDuino Bedienungsanleitung (PDF-Version)

10 Selbstbau

Es ist möglich, einen ftDuino manuell zu bauen. Die ersten Prototypen sind so entstanden. Bei manuellem Aufbau bietet es sich an, funktionsgruppenweise vorzugehen und jeweils die Funktionsfähigkeit schrittweise sicher zu stellen.

Basis für den Selbstbau ist die industriell gefertigte Platine aus den Anhängen B und C basierend auf dem Schaltplan entsprechend Anhang A.

10.1 Erste Baustufe " Spannungsversorgung"

Im ersten Schritt wird die Spannungsversorgung aufgebaut. Sie besteht aus den Kondensatoren C6 bis C11 sowie C14, den Dioden D1 und D3 bis D5 sowie dem Spannungsregler U2 und der Sicherung F1. Die Spannungsversorungs-Leuchtdiode (siehe Abschnitt 1.2.4) LED2 mit zugehörigem Vorwiderstand R35 werden ebenfalls montiert. Die Spule L1 sowie der Kondensator C1 können auch bereits installiert werden.

Abbildung 10.1: Komponenten der Spannungsversorgung

Die 9V-Steckbuchse 121 sowie die beiden Bundhülsen 9VIN+ und 9VIN- und die USB-Buchse J1 werden ebenfalls jetzt schon bestückt.

10.1.1 Bauteile-Polarität

Bei folgenden Bauteilen ist auf die Polarität zu achten: D1 und D3 bis D5, C6 bis C8 und C14 sowie LED2.

Der positive Anschluss der Kondensatoren ist durch einen aufgedruckten Balken oder Streifen gekennzeichnet. Im Bestückungsplan ist dieser Anschluss ebenfalls durch einen Balken und zusätzlich durch abgeschrägte Ecken markiert.

Die verschiedenen Dioden des ftDuino nutzen unterschiedliche Symbole beim Bestückungsdruck. Aber auch hier ist sowohl auf der Diode selbst als auch auf dem Bestückungssymbol ein Balken auf der Seite der Kathode vorhanden.

(a) Tantal-Kondensator
(b) Diode
(c) Leuchtdiode
Abbildung 10.2: Schaltplansymbol, Bauteilepolarität und Bestückungssymbol

Bei den Leuchtdioden (LEDs) ist es etwas schwieriger, die korrekte Polarität zu bestimmen. Auf der Unterseite der LED ist üblicherweise ein Dreieck oder ein "T" aufgedruckt, das jeweils in Richtung Kathode weist.

Die Polarität von Leuchtdioden kann man mit einem einfachen Multimeter im Dioden-Test-Modus überprüfen. Bringt man die Anode der LED mit dem roten Multimeterkabel und die Kathode mit dem schwarzen Kabel in Kontakt, so leuchtet die LED schwach.

Sind alle Komponenten der Spannungsversorgung bestückt, dann sollte die grüne LED leuchten, sobald der USB-Stecker eingesteckt wird oder sobald 9 Volt über die Bundhülsen oder den 9-V-Rundstecker eingespeist werden.

Leuchtet die LED in mindestens einem der Fälle nicht, so kann man mit Hilfe eines Multimeters leicht verfolgen, wo die Spannung noch vorhanden ist und wo nicht mehr. Wahrscheinlichste Fehler liegen in der Polarität der Dioden oder der LED.

10.1.2 Kontrollmessungen

Bei einer 9-Volt-Versorgung muss an den zwischen Pin 1 und 2 des I²C-Anschlusses am noch unbestückten Wannenstecker SV1 eine Spannung von 5 Volt (±0,4 Volt) messbar sein. Auf keinen Fall darf mit der Bestückung des Mikrocontrollers fortgefahren werden, wenn hier eine deutlich zu hohe Spannung gemessen wird.

Ebenfalls bei einer Versorgung aus einer 9-Volt-Quelle sollten an den bisher unbestückten beiden unteren 9-Volt-Ausgängen nahezu 9 Volt zu messen sein. Etwas Spannungsverlust gegenüber der Quelle tritt durch die Dioden D3 bzw. D4 und der Diode D5 auf.

Zwischen den Pads 14 und 7 am bisher unbestückten IC1 muss bei reiner USB-Versorgung eine Spannung von etwas unter 5 Volt zu messen sein. Ist das nicht der Fall, dann besitzt der Spannungsregler U2 keine sogenannte Body-Diode (der empfohlene MCP 1755S hat diese) und die Funktion dieser Diode muss durch D6 extern nachgerüstet werden. Bei Verwendung des empfohlenen MCP 1755S kann D6 ersatzlos entfallen.

Die Diode D5 verhindert, dass der Strom über die Body-Diode zu den Ausgangstreiber des ftDuino gelangt. Andernfalls würden die Ausgänge des ftDuino auch aus einer USB-5-Volt-Versorgung gespeist, was gegebenenfalls eine Überlastung des USB und/oder der Body-Diode zur Folge hätte.

10.2 Zweite Baustufe " Mikrocontroller"

Ist die Spannungsversorgung sichergestellt und vor allem liegen auch im 9-Volt-Betrieb am I²C-Anschluss stabile 5 Volt an, dann kann mit dem Mikrocontroller U1 fortgefahren werden.

Abbildung 10.3: Komponenten des Mikrocontrollers

Auch der Mikrocontroller darf nicht verpolt werden, was in diesem Fall bedeutet, dass er korrekt orientiert aufgelötet werden muss. Sowohl auf der Platine als auch auf dem Chip-Gehäuse findet sich in einer Ecke eine runde Markierung bzw. Vertiefung. Diese Markierung verweist auf den Pin 1 des Mikrocontrollers und bestimmt die korrekte Orientierung. Ist U1 verlötet werden direkt daneben C5 und R29 montiert.

Die übrigen in dieser Baustufe zu montierenden Komponenten beinhalten die Reset-Logik bestehend aus Taster PB1, sowie Diode D2 und Widerstand R9. Kondensator C4 und die Widerstände R5 und R6 vervollständigen die USB-Schaltung. Den 16-MHz-Systemtakt erzeugen der Quarz Q1 mit den Kondensatoren C2 und C3.

Der I²C-Anschluss SV1 mit seinen Pull-Up-Widerständen R30 und R31 kann ebenfalls jetzt bestückt werden.

Die Leuchtdiode LED1 mit ihrem Vorwiderstand R28 wird direkt vom Mikrocontroller angesteuert und wird ebenfalls jetzt montiert. Bei der Leuchtdiode muss wieder auf korrekte Polarität geachtet werden.

Der sogenannte ISP-Steckverbinder SV2 wird lediglich zum einmaligen Aufspielen des Bootloaders (siehe Abschnitt 1.2.1 benötigt und muss nicht unbedingt fest montiert werden, wenn das Standardgehäuse genutzt werden soll, da es im Gehäuse keinen Ausschnitt für diesen Steckverbinder gibt. Die frei verfügbare Druckvorlage1 hat einen entsprechenden Ausschnitt und kann auch bei fest montiertem SV2 genutzt werden.

10.2.1 Funktionstest des Mikrocontrollers

Der Mikrocontroller wird von Atmel (bzw. Microchip) mit einem USB-Bootloader2 ausgeliefert. Beim Anschluss an einen PC sollte der Mikrocontroller daher vom PC als Gerät namens ATm32U4DFU erkannt werden. Ist das der Fall, dann sind die wesentlichen Komponenten funktionsfähig. Dass Windows keinen Treiber für dieses Gerät hat kann ignoriert werden.

Der DFU-Bootloader ist nicht kompatibel zur Arduino-IDE und die Arduino-IDE bringt ihren eigenen Bootloader mit. Dieser wird einmalig mit einem Programmiergerät über den Steckverbinder SV2 eingespielt (" gebrannt").

Abbildung 10.4: Brennen des Bootloaders über die Arduino-IDE

Zum Brennen des Arduino-Bootloaders unterstützt die Arduino-IDE eine ganze Reihe von Programmiergeräten. Es reicht eine einfache Variante, wie der USBasp3 . Der USBasp wird per USB mit dem PC und über das 10-polige Flachbandkabel mit SV2 des ftDuino verbunden. Ist SV2 nicht bestückt, so kann man einen entsprechenden Stecker lose in die Platine stecken und leicht so verkannten, dass alle Kontakte hergestellt werden. Der eigentliche Flashvorgang dauert nur wenige Sekunden und man kann den Stecker problemlos so lange leicht verkanntet festhalten.

Nach dem Brennen sollte der ftDuino unter diesem Namen vom Betriebssystems des PC erkannt werden. Er sollte sich von der Arduino-IDE ansprechen und mit einem Sketch programmieren lassen. Es bietet sich für einen ersten Test der Blink-Sketch unter DateiBeispieleFtduinoSimpleBlink an, da die dafür nötige LED1 ebenfalls gerade montiert wurde.

10.3 Dritte Baustufe " Eingänge"

Die dritte Baustufe ist sehr einfach zu löten und besteht primär aus Widerständen, die zum Schutz der Eingänge verwendet werden.

Abbildung 10.5: Komponenten der Eingänge

Die Komponenten der Analogeingänge I1 bis I8 sowie der Zählereingänge C1 bis C4 werden gleichzeitig montiert.

Die Bestückung beginnt mit den Widerständen ganz links und IC1 nach deren Montage die Eingänge I1 bis I8 vollständig sind.

Im zweiten Schritt werden dann die Widerstände R36 bis R46 sowie der Transistor T1 bestückt, was die Zählereingänge vervollständigt. Die Triggerschaltung für den Ultraschall-Entfernungsmesser (siehe Abschnitt 1.2.6) ist damit auch vollständig.

Mit einem passenden Testprogramm sollte nun jeder Eingang einzeln getestet werden, um auch Kurzschlüsse zwischen den Eingängen zu erkennen. Sollte ein Eingang nicht wie gewünscht funktionieren, so kommt als Fehlerquelle auch der Mikrocontroller aus Baustufe 2 in Betracht.

10.4 Vierte Baustufe " Ausgänge"

In der vierten und letzten Baustufe werden die Komponenten montiert, die zum Betrieb der Ausgänge benötigt werden.

Abbildung 10.6: Komponenten der Ausgänge

Die Leistungstreiber U3 und U4 sollten zuerst bestückt werden, da sie nicht ganz einfach zu löten sind. Vor allem sollten die Bundhülsen nicht bestückt sein, da sie den Zugang zu den Anschlusspads der Treiber sehr erschweren. Ergänzt werden die Treiber durch nur wenige Widerstände und Kondensatoren.

10.4.1 Ausgangstests mit 5 Volt

Da die Treiber an der 9-Volt-Versorgung angeschlossen sind sind Kurzschlüsse zwischen 9 Volt und 5 Volt führenden Signalen potenziell bei Lötfehlern möglich.

Abbildung 10.7: Testweise Brücke zwischen 5V und 9V

Neben der sorgfältigen Kontrolle der Lötstellen ist es daher sinnvoll, den 9-Volt-Zweig für erste Funktionstests aus dem 5-Volt-Zweig zu versorgen. Kurzschlüsse zwischen 5 Volt führenden Signale führen in der Regel nicht zu Beschädigungen während Kurzschlüsse von 5-Volt-Komponenten mit höheren Spannungen sehr leicht größere Schäden nach sich ziehen.

Achtung: Dabei darf natürlich keine externe 9-Volt-Quelle angeschlossen sein, andernfalls würden die meisten Komponenten des ftDuino sofort Schaden nehmen!

Ist die Brücke gesetzt, so werden auch die Ausgänge des ftDuino mit den internen 5 Volt des ftDuino versorgt und Kurzschlüsse zwischen den Ausgängen und anderen Teilen des ftDuino sind weniger gefährlich. Nun können die Ausgänge mit einer Leuchtdiode auf korrekte Funktion getestet werden. Größere Lasten (Motoren oder Glühlampen) sollten für diesen Test nicht verwendet werden, da die interne 5-Volt-Versorgung nicht darauf ausgelegt ist, solche Lasten zu treiben.

Erst wenn alle Ausgänge bei 5 Volt korrekt funktionieren darf die Brücke entfernt und eine echte 9-Volt-Versorgung angeschlossen werden.

10.4.2 Platinenhistorie

Der ftDuino wird kontinuierlich weiterentwickelt. Daher ändert sich auch die Platine geringfügig. Bisher existieren folgenden Varianten:

0.1
Die Testversion des ftDuino basierte noch auf dem Atmega328 und verwendete auch für die Ein- und Ausgänge eine andere Hardware. Von dieser Version wurden 8 Prototypen aufgebaut.
1.0
Die erste Version der seriennahen Platine wurde wegen eines Design-Fehlers nur für zehn Prototypen verwendet.
1.1
Die erste Serienversion ist in diesem Kapitel abgebildet und die ersten Seriengeräte basierten auf dieser Version. Diese Version konnte optional mit Zenerdioden D10 bis D17 an den Eingängen bestückt werden, was aber in der Serie nicht genutzt wurde.
1.2
Die zweite Serienversion verzichtet auf die optionalen und in der Serie nicht genutzten Zenerdioden. Stattdessen erhält diese Version zusätzlich Kontakte für ein internes OLED-Display wie in Abschnitt 1.2.7 beschrieben.
1.3
Die dritte Serienversion kann optional mit einem internen Servoadapter wie in Abschnitt 6.13.9 beschrieben versehen werden. Außerdem enthält diese Version einen zusätzlichen ESD-Schutz in der Spannungsversorgung.

Alle Board-Versionen ab Version 1.0 sind logisch und elektrisch kompatibel und verhalten sich aus Anwendersicht identisch.


1) Gehäusedruckvorlage https://github.com/harbaum/ftduino/tree/master/case
2) DFU-Bootloader, http://www.atmel.com/Images/doc7618.pdf
3) USBasp - USB programmer for Atmel AVR controllers, http://www.fischl.de/usbasp/