Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Der Einstieg in die MobaLedLib:

Stammtische

aktuell verwendete Versionen


Python MobaLedLib

Workshops

Verwendung mit der MoBa-Zentrale

Steuerung der MobaLedLib-Effekte

Erste Hilfe

Bewegung mit der MLL

Servoplatine

Relaisplatine

WS2811-BiPol


Sound mit der MLL

JQ6500

MP3-TF-16P

Hauptplatine

Servoplatine

Sounddateien

Anwendungsbeispiele:

3D-Druck

Entwicklungen MoBa-Universum

Platinen van Theo

MobaLedLib Sonderplatinen

Drehscheibensteuerung LocoTurn V 1.4

Drehscheibe (V0.6)

Lok-Platinen

OLED Displays

Infrared to Z21 Bridge

Hilfereiche Themen

Wissen für Fortgeschrittene

Impressum & Datenschutz

Für Wiki-Editoren:

Faszination Modellbahn - wir sind 2025 dabei

wir sind dabei

anleitungen:bauanleitungen:locoturn_v10:150_locoturn_nano

Arduino Nano mit OPTIBOOT 8 Bootloader

Bei der Drehscheiben-Software haben wir zwei Probleme: einmal haben Hardi und Martin (domapi) wieder viel zu viele Funktionen eingebaut und zweitens ist der Speicher eines Nano leider begrenzt. Das erstere werden wir nicht mehr ändern können, aber dem Nano kann man zu etwas mehr Speicher verhelfen.

Sobald nach dem Kompilieren angezeigt wird „ … Das Maximum sind 30720 Bytes.“, gibt es akuten Handlungsbedarf!

Um zusätzlichen Programm-Speicher freizuschaufeln, muss man dem Nano einen neuen Bootloader aufspielen. Diesen kann man hier runterladen: Optiboot 8

Das Prozedere ist hier recht ausführlich beschrieben: Bootloader brennen

Am besten macht man das gleich für mehrere Nanos nacheinander, z.B. mit einen Uno als Programmer, an dem die Nanos als Target angeschlossen werden. Das baut man sich auf dem Steckbrett auf und macht das in einem Rutsch für mehrere Nanos.

Auf den Uno muss zunächst ein Sketch aufgespielt werden („ArduinoISP“), dann kann der Uno die Nanos mit dem Bootloader versorgen.

Auf wundersame Weise haben wir dann ca. 1,5 kByte Speicher zusätzlich zur Verfügung. Zudem funktioniert nun auch der sogenannte Watchdog des Nano endlich richtig …

32256 Bytes sind irre viel (die ersten Mondraketen lagen auch in diesem Bereich). Falls eine kleinere Anzahl Bytes beim Kompilieren/ Hochladen eines Sketches angezeigt wird, dann hat entweder das Brennen des Optiboot-Booloaders nicht geklappt oder das Optiboot-Board wurde nicht als Board ausgewählt.

Der Nano hat aber lediglich Programmspeicher dazu gewonnen. Der sogenannte SRAM-Speicher für die Variablen zur Laufzeit beträgt trotzdem nur 2048 Bytes. Das ist leider meistens zu wenig. Da muss man tricksen, um z.B. Konstanten in den Programmspeicher zu bringen und damit SRAM einzusparen. Das ist aber wieder eine neue Geschichte. Weiterhin bleibt es bei den 1024 Bytes EEPROM. Den nutzt der Sketch recht ausgiebig, um die DS-Positionen zu speichern, damit sie bei nächsten Einschalten wieder verfügbar sind und nicht neu definiert werden müssen.

Achtung: Falls ihr die Arduino-IDE irgendwann mal updated, muss der Optiboot Bootloader json-Link erneut in den Boardverwalter eintragen werden!

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
anleitungen/bauanleitungen/locoturn_v10/150_locoturn_nano.txt · Zuletzt geändert: 2024/08/25 08:01 von domapi