c't-Bot mit Arduino programmieren

Die Programmierung des c't-Bot
Antworten
marvin
Wiki Master
Wiki Master
Beiträge: 385
Registriert: 18 Jan 2006, 16:21
Wohnort: Berlin
Kontaktdaten:

c't-Bot mit Arduino programmieren

Beitrag von marvin » 29 Nov 2017, 22:03

Schon vor einiger Zeit habe ich damit begonnen, erste Versuche zur Programmierung des c't-Bots mit Arduino zu unternehmen. Hierzu mal ein paar Anmerkungen zum Stand der Dinge.

Arduino support für ATmega32 & Co:
Prinzipiell werden ja praktisch alle Atmel AVR 8-Bitter von der Arduino IDE unterstützt, auch wenn es dafür keine "offizielle" Board Definition gibt. So ist es z.B. auch bei der ATmega32, 644, 1284 Reihe. Es gibt zwar kein offizielles Arduino Board, wohl aber ein Board Support Package von Drittanbietern. In der Arduino IDE ab Version 1.5 lassen sich solche "inoffiziellen" Boards bequem über die Boardverwaltung dazuladen. Es gibt dazu auch eine Liste der unofficial 3rd party boards. Unter den vielen möglichen Kandidaten habe ich für meine Zwecke den Mighty-Core herausgesucht.

Arduino Bootloader:
will man die Features der Arduino IDE voll ausnutzen, bleibt es einem nicht erspart, einen Arduino kompatiblen Bootloader zu verwenden. Dann lassen sich die Programme direkt aus der Arduino IDE über einen USB-seriell Wandler direkt auf den c't-Bot laden. Dazu muss zunächsr der Bootloader erzeugt und per ISP auf das c't-Bot geladen werden. Wer keinen der unterstützten ISP Programmer besitzt, kann auch ein Arduino Board als ISP Flasher verwenden.

Die genaue Beschreibung zur Installation der Boardverwaltung und der Bootloader Programmierung findet sich hier:
https://github.com/robotfreak/ct-bot/wiki/Installation

c't-Bot Umbauten:
Eie Hardware Umbau an der c't-Bot Hauptplatine muss ebenfalls vorgenommen werden. Zum automatischen Lader der Programme auf die Zielplatform braucht man einen USB-seriell Wandler mit DTR oder RTS Steuerleitung, z.B. ein sogenanntes FTDI Kabel. Der c't-Bot -to-USB Adapter hat zwar auch einen FTDI-Chip, allerdings ist dort die Steuerleitung nicht auf den Steckverbinder geführt. Ließe sich aber mit etwas Aufwand sicher auch nachflicken. Für den Umbau auf der Hauptplatine wird lediglich ein 100nF Kondensator zwischen Reset vom Prozessor und einem der freien Pins auf J4 gelötet (z.B. Pin 5). Dann wird noch ein Adapterkabel FTDI zu c-t_Bot benötigt. Das war es dann auch schon

Die komplette Umbauanleitung findet man hier:
https://github.com/robotfreak/ct-bot/wiki/Auto-Reset

Arduino Beispielprogramme:
Noch gibt es keine komplette Bibliothek,nur ein paar Testprogramme zum Test der LEDs, der Sensoren und der Motoren. Der schwierigste Part dabei war das Ansteuerung der Schieberegister. Den Maussensor habe ich auch noch nicht drin.

Der Link zu meinem c't-Bot Repo mit den Testbeispielen auf Github:
https://github.com/robotfreak/ct-bot

Antworten