Um den beelogger-SMD in gewohnter Weise, wie beispielsweise einen Arduino Pro Mini, über die serielle Schnittstelle mit der Ardeuino-IDE programmieren zu können, muss zuvor einmalig ein Bootloader installiert werden. Der Arduino-Bootloader für den ATmega ist vergleichbar mit einer Firmware, ein kleines Programm, welches vor dem eigentlichen Programmcode den ATmega initialisiert und die Fusebits setzt, gestartet wird und zunächst auf Programmiereingaben auf der seriellen Schnittstelle wartet. Fusebits bestimmen einfach ausgedrückt die Eigenschaften bzw. Verhaltensweisen des Chips, beispielsweise ob der interne Taktgeber oder ein externer Quarz verwendet werden soll.
Weitergehende Information finden sich unter ArduinoISP.
In dieser Anleitung wird zum Aufspielen des Bootloaders ein Arduino-Uno oder Nano verwendet.
Alternativ kann auch ein Arduino MEGA (andere Pin-Belegung) verwendet werden.
Bootloader installieren
Schritt 1: Den Arduino-Uno/Nano zum ISP-Programmer umfunktionieren
Dazu wird zunächst der Arduino mit dem Rechner verbunden und die Programmer-Software geladen. In der Arduino-IDE finden Sie das entsprechende Programm unter Datei → Beispiele → ArduinoISP. Dieses wird in die IDE geladen. Falls nicht schon geschehen, unter Werkzeuge → Board → Arduino Uno oder Nano den Uno/Nano als aktuelles System festlegen und den richtigen seriellen Port oder die COM-Schnittstelle wählen (Werkzeuge → Port → COMxx). Dann das Programm compilieren und in den Uno/Nano laden.
Schritt 2: Anschluss des beelogger-SMD
Zunächst wird der Arduino vom Rechner abgesteckt (stromlos gemacht) und der beelogger-ISP-Port mit den entsprechenden Pins des Arduino gemäß der Tabelle verbunden sowie ein Kondensator 10µF am Arduino angeschlossen.
Der beelogger-SMD wird hierbei nicht mit dem Akku oder einer anderen Spannungsquelle versorgt.
Arduino UNO | beelogger-SMD |
GND | GND |
+5V | Bat+ / Batterie + |
PIN 10 | RST |
PIN 11 | MOSI |
PIN 12 | MISO |
PIN 13 | SCK |
GND – (Minus-Pol) Kondensator 10µF | |
Reset – (Plus-Pol) Kondensator 10uF |
Hinweis: Der 3,3V Ausgang des Uno/Nano eignet sich nicht für die Versorgung des beelogger.
Für die Verbindung der beiden Boards eignen sich die Dupont/Jumper-Kabel mit Stecker an einem und Buchse am anderen Ende.
In die Steckerleiste des Uno/Nano muss zwischen Reset-Pin und GND-Pin ein Kondensator 10µF/min. 10V eingesteckt werden. Siehe hierzu auch ArduinoISP.
Schritt 3: Bootloader programmieren
Den Arduino-Uno/Nano wieder am Rechner anschließen.
Nun den zu flashenden Board-Typ unter Werkzeuge → Board → Arduino Pro or Pro Mini sowie Prozessor ATmega 328 (3,3V 8MHz) auswählen und überprüfen, ob die Einstellungen des seriellen Ports für den Uno/Nano noch stimmen.
Dann unter Werkzeuge → Programmer → Arduino as ISP auswählen. Nun wird der Brennvorgang des Bootloaders mittels Werkzeuge → Board → „Bootloader brennen“ gestartet.
Ardunio IDE und FTDI-Adapter für den beelogger-SMD:
Der beelogger-SMD besitzt einen FTDI-Header, um den ATmega in gewohnter Weise, wie beispielsweise einen Arduino Pro Mini, über einen FTDI-Adapter programmieren zu können.
Damit die Programmierung des beelogger-SMD über die serielle Schnittstelle überhaupt möglich ist, muss zuvor der Arduino-Bootloader über die Arduino-Software und einen ISP-Programmer installiert worden sein.
Es kann erforderlich sein für den FTDI-Adapter notwendige Treiber zu installieren. Windows Anwender sollten die Gerätesteuerung kontrollieren, ob ein angeschlossener FTDI-Adapter erkannt wird.
In der Arduino IDE wird für den beelogger-SMD unter „Werkzeuge“, „Board“, „Pro Mini“ sowie Prozessor ATmega 328 (3,3V 8MHz) ausgewählt.
Wenn der FTDI-Adapter angeschlossen ist, kann unter „Werkzeuge“, „Port“ die Verbindung eingestellt werden.
Bezug
Tabelle 1: FTDI-Adapter
Achtung: Der Jumper oder Schalter auf dem FTDI-Adapter ist nicht zwangsläufig für die Umstellung der Spannung am VCC-Pin vorgesehen. Teilweise dienen diese Einsteller nur für die Pegelumstellung 3,3V/5V der Schnittstelle.
Der Einsteller muss auf 3,3V eingestellt werden.
Beschaltung FTDI-Adapter
Der FTDI-Adapter wird mit dem FTDI-Header des beeloggers verbunden. Wie die Anschlüsse miteinander verbunden werden, findet sich in nachstehender Tabelle.
Empfohlen wird der Anschluss des FTDI-Adapter über Jumper-Wire. Dabei ist der VCC-Anschluss nicht zu verdrahten.
Grundsätzlich ist der beelogger mit angeschlossenem Akku zu programmieren. Dazu sollte der Akku einen guten Ladezustand (min. 4,0V) aufweisen. Neue Akkus müssen vorher geladen werden. |
beelogger-SMD (FTDI-Header) |
FTDI-Adapter |
DTR | DTR |
TX | RX |
RX | TX |
VCC | (bei direktem Aufstecken VCC-PIN des Adapters wegbiegen) |
CTS | CTS |
GND | GND |
Tabelle 2: Verbindung beelogger-SMD an FTDI-Adapter
Empfohlen wird der Anschluss des FTDI-Adapter über Jumper-Wire.
Dabei ist der VCC-Anschluss nicht zu verdrahten.
Der beelogger-SMD wird über den geladenen Li-Ion Akku (min. 4,0V) versorgt.
Achtung:
Ein Betrieb des beelogger-SMD über den FTDI-Adapter ist nicht möglich und kann zu Schäden führen.
In jedem Fall den Akku hierbei abklemmen.
Den beelogger-SMD nur in Ausnahmefällen über den FTDI-Adapter beim Programmieren über den FTDI-Anschluss versorgen.
Nicht alle FTDI-Adapter stellen hinreichend Strom für die Versorgung des ATmega zur Verfügung.
Wenn der FTDI zur Spannungsversorgung verwendet wird, dann vor Anschluss des FTDI-Adapters prüfen, dass der VCC-Ausgang maximal 3,3V hat. Trotzdem kann der Betrieb des ATmega hiermit nicht garantiert werden.