Microcontroller flashen: Arduino Uno als In-System-Programmer

Seite 4: PICs programmieren

Inhaltsverzeichnis

Im Unterschied zu AVR-Controllern bieten PICs keine SPI-Schnittstelle zur Programmierung.

Ein Arduino Uno eignet sich auch für die Programmierung von Mikrocontrollern anderer Hersteller, beispielsweise der PIC-Serie von Microchip. Der Entwickler Rhys Weatherley hat die Sketches PIC_Program und PIC_Program_EEPROM für den Arduino entwickelt, mit denen sich jeweils Flash und EEPROM beispielsweise eines PIC 16F628A programmieren lassen.

Anders als bei AVR-Controllern erwarten PIC-Controller eine zusätzliche Programmierspannung, die zwischen 10,5V und 13,5V liegen sollte. Die Spannung lässt sich über ein Labornetzteil oder ein Steckernetzteil zuführen.

Die komplette Schaltung des PIC-Programmers ist mit einem Arduino schnell aufgebaut. Neben den Drahtbrücken benötigt man nur einen Widerstand von 330 Ohm.

Kompakter geht es mit Aufwärtswandlern, die aus den 5 Volt des Arduino 12 Volt machen. Traco bietet solche Wandler als fertige Module (TMA 0512D, ab 5 Euro) an, Bastler bauen sich aus einem Schmitt-Trigger-IC, ein paar Schottky-Dioden und Kondensatoren eine Ladungspumpe diskret auf (siehe Bild).

Mit einer Spannungsverdopplerschaltung lässt sich die 5V-Spannung des Arduinos bis auf 12V erhöhen. Maximal kann die Schaltung 10mA Strom liefern – zum Programmieren reicht das allemal.

Wie bei ArduinoISP benötigt man noch ein Programm zur Steuerung des Programmmers und zum Übertragen seiner Hex-Datei. Weatherly stellt dafür das Tool Ardpicprog für die Befehlszeile als Source-Code zur Verfügung. Unser Autor Ulrich Schmerold bietet für Windows alternativ das grafische Toll Arduino Pic Programmer (ArdPicProgHost) an, das ebenfalls im Quellcode, aber auch als bereits ausführbares Programm zum Download zur Verfügung steht.