Bootloader für den Arduino-Lokdecoder

Damit der Lokdekoder als „Arduino“ über die serielle Schnittstelle programmiert werden kann, braucht er einen „Bootloader“ (link zu arduino.cc)„Bootloader“. Das Programmieren des Bootloaders kann direkt in der Arduino-IDE gemacht werden, man braucht für diesen Schritt allerdings noch einenAVRISP mkII (oder ähnlich) und einen ISP Adapter für unser SMD Board oder einen „SMD TFQP32 pin auf DIL-28-Pin“-Adapter. (oder man bezieht einen mit einem Arduino Bootloader fertig programmierten ATmega328p).

Hier eine Beschreibung der Schritte, die notwendig sind, um den Lok-Dec-328 mit einem Bootloader zu versehen.

1. Auf der Lokdecoder-Platine werden zunächst einmal nur die Kondensatoren bestückt (auf der 5V Seite) und R.x und LED (0603 Gehäuse, dies ist die übliche Arduino-LED an Pin13, die für Diagnose-Zwecke recht nützlich ist)

lokdec-328 mit LEDs und C’s

2. Als nächstes wird der ATmega328p eingelötet. Dies ist eigentlich gar nicht so schwer, vorausgesetzt, man lötet erst einmal nur ein einzelnes Beinchen an und schiebt den Prozessor solange herum, bis alle Pin richtig auf den Pads liegen. Dann erst lötet man alle Pins an – wenn man 2 Pins durch zuviel Lötzinn zusammengelötet hat, so kann man mit Entlötdraht das überschüssige Lötzinn entfernen, dann sind sie wieder korrekt „einzeln an den PADs“.

Einlöten des SMD- ATmega328

3. Mit Einlöten des „reset“-R’s und der 6-poligen Stiftleiste (auf die dann das FTDI-Seriell-zu-USB Adapter geschoben werden kann) ist der „Rumpf-Arduino“ bereit zum Upload des Bootloaders.

Jetzt kann der Bootloader programmiert werden.

4. Hierzu kann man ein 6-pol-ICP-Adapter mit dem Atmel AVRISP-mkII verwenden.

mit aufgesetztem Programmier (ICP) Adapter, siehe ….

5. Damit der Prozessor mit 5Volt versorgt wird, muss man noch das FTDI-Adapter aufschieben und über USB mit Spannung versorgen.

Spannungsversorgung über FDTI (Seriell zu USB) Adapter.

6. Dann kann man nach Auswahl des richtigen Boards (!! ganz wichtig !! wir haben ja keinen Quartz auf dem Lokdekoder) „ATmega328 on a breadboard (8 MHz internal clock)“ (siehe „Arduino To Breadboard“) den Bootloader direkt aus der Arduino-IDE heraus brennen.

Bootloader brennen mit der Arduino IDE

Zum ersten Test spielen wir dann den „blink.ino“ Sketch auf den Arduino-Lokdekoder auf:

„Es blinkt!“ => super => jetzt nur noch schnell die restlichen Bauteile bestücken und natürlich die Lokdekoder Software entwickeln und aufspielen ……