Arduino Pro Mini programmieren

Allgemeines

Wer sein Projekt fest in Draht und Lot verewigen möchte, macht das üblicherweise nicht mit einem Arduino UNO, sondern wählt entweder einen ATtiny oder ATmega Microcontroller oder ein kleines Board wie z.B. den Arduino Nano oder den hier beschriebenen Arduino Pro Mini. Ich werde zunächst etwas über die verschiedenen Ausführungen des Pro Mini schreiben, dann über den Sketch Upload mittels USB-zu-TTL Modul und mich schließlich dem Trouble Shooting widmen. Arduino Pro Mini Programmieren ist sehr bequem!

Verschiedene Ausführungen

Zunächst gibt es vier verschiedene Ausfertigungen hinsichtlich des verwendeten Microcontrollers, der Betriebsspannung und der Taktrate:

  •  ATmega 328P, 5 V, 16 MHz
  •  ATmega 328P,  3.3 V, 8 MHz
  •  ATmega 168, 5 V, 16 MHz
  •  ATmega 168, 3.3 V, 8 MHz

Hat man sein Projekt mit dem UNO entwickelt, dann bietet sich die 328P Variante mit 5 V an, da die volle Kompatibilität gewährleistet ist. Verwendet man 3.3 V Bauteile wie z.B. bestimmte Sensoren, kann auch die 3.3 V Variante interessant sein. Ich selbst habe nur 328P / 5 V Modelle probiert. Bei Amazon bekommt man die Boards ab 3 Euro. 

Darüber hinaus unterscheiden sich die Boards z.T. im Layout, insbesondere in der Lage der Pins A4 (SDA) und A5 (SCL), welche man für die I2C Kommunikation benötigt. Bei den oben abgebildeten Modellen liegen Sie am schmalen Ende neben dem Resetknopf (linkes Modell) und oberhalb A2 und A4 (rechtes Modell). Dummerweise kann man bei beiden Modellen A4 und A5 nicht nach unten ausführen wenn man eine Lochrasterplatine verwendet. Warum man sich nicht an das Rastermaß hält ist mir ein Rätsel. 

Praktische Stromversorgung

Sehr praktisch ist, dass man den Pro Mini über den Raw Eingang mit Spannungen zwischen 5 und 12 V betreiben kann. Unabhängig von der exakten Spannung habe ich saubere 5 V an VCC gemessen. Es bietet sich z.B. ein Betrieb mit einem 9 V Block an. Eine Versorgung mit 5 V über den VCC Pin ist natürlich auch möglich, man braucht dann aber eine geregelte Versorgung. 

Sketch Upload über die Arduino IDE

Für den Sketch Upload benötigt man ein USB-zu-TTL Konverter Modul wie eines der hier abgebildeten: 

Arduino Pro Mini programmieren

Man bekommt diese Module z.B. bei Amazon für 5 – 10 Euro. Sie unterscheiden sich im Wesentlichen im Format des USB-Anschlusses, in der Ausgabespannung (3.3 und / oder 5 V)  und im Vorhandensein oder Nichtvorhandensein eines DTR (Data Terminal Ready) Pins. Bequemer ist es mit DTR wie wir gleich sehen werden. Darüber hinaus verwenden die Module unterschiedliche Chips, man findet FT232, CP2102 oder CH340G. Geht alles, nur braucht man u.U. noch einen Treiber. Die findet man problemlos im Netz. Überprüfen kann man die Betriebsbereitschaft des Moduls bei Windows im Gerätemanager. Hier ist z.B. alles OK:

Upload mit DTR

Zunächst wird der Arduino Pro Mini wie abgebildet mit dem USB-zu-TTL Modul verbunden: 

Dann in der Arduino IDE:

  •  den richtigen Port mit dem USB-zu-TTL Modul wählen 
  •  als Board „Arduino Pro oder Pro Mini“ wählen
  •  die richtige Variante wählen
  •  den Sketch auswählen und hochladen – und das war’s auch schon.

Upload ohne DTR

Der Pro Mini muss vor dem Upload ein Reset bekommen. Genau das übernimmt der DTR Anschluss. Hat man keinen, muss man den Reset manuell über die Resettaste auf dem Pro Mini vornehmen. Wann man die Taste drückt ist nicht wichtig, entscheidend ist aber wann man sie loslässt. Dazu „Hochladen“ in der Arduino IDE wählen, warten bis die Kompilierung fertig ist und die Resettaste loslassen, wenn er hochladen will (wenn die weiße Schrift erscheint):

Und wenn ich kein USB-zu-TTL Modul habe?

Geht auch, wenn man einen Arduino UNO hat. Beschreibung gibt’s hier. Ich würde aber so oder so in ein USB-zu-TTL Modul investieren. Das gehört für mich zur Standardausrüstung. 

Hilfe! – Troubleshooting

Fehlermöglichkeiten gibt es unendlich viele. Die Ursache lässt sich natürlich besser eingrenzen, wenn man die Fehlermeldung kennt. Hier aber einige allgemeine Punkte, die man immer überprüfen kann:

  •  Installation des Moduls überprüfen
  •  Verkabelung prüfen, Kabel tauschen 
  •  RX und TX tauschen, ist manchmal falsch auf Modulen 
  •  Einstellungen in der IDE prüfen

Fehlender, falscher oder kaputter Bootloader

Bekommt ihr beim Hochladen von der Arduino IDE die folgende hässliche Meldung: „avrdude: stk500_getsync(): not in sync: resp=0x00“, dann könnte es mit dem Bootloader zusammenhängen. Keine Sorge, man kann ihn neu brennen und das geht folgendermaßen:

  •  Arduino UNO an den PC anschließen
  •  in der Arduino IDE wählen: Datei – Beispiele – ArduinoISP – ArduinoISP
  •  Board: Arduino UNO wählen, richtigen Port wählen
  •  Hochladen
  •  dann Arduino Pro Mini als Board wählen, richtige Variante aussuchen
  •  Programmer: „Arduino as ISP“ (nicht: ArduinoISP!)
  •  verkabeln wie auf diesem Schema:
  • Dann im Menü wählen: Werkzeuge – Booloader brennen. 

Wenn es immer noch nicht geht, dann hilft es vielleicht die Fehlermeldung zu googeln. Eine detailliertere Meldung beim Hochladen bekommt man übrigens, wenn man in den Einstellungen folgenden Haken setzt: 

Na dann, viel Spaß mit dem Pro Mini! Habt Ihr Anmerkungen, Ergänzungen, Verbesserungen oder Fragen? Immer raus damit, ich freue mich über jeden Kommentar. 

3 thoughts on “Arduino Pro Mini programmieren

  1. Das ist ja mal ein toller Artikel! Gut und sehr verständlich geschrieben, genau das, was man braucht – vielen Dank!

  2. Frage zur Abbildung von „Arduino Pro Mini wie abgebildet mit dem USB-zu-TTL Modul „??
    Die beiden „Verbindung“ RXI / TXO am Linken Bord und am rechten Modul RXI /TXO sind auf der „Zeichnung“ nicht an den selben Punkten “ Verbunden“. Li RXI-> Re TXO; Li TXO -> Re RXI ist das so richtig?? Sollten die nicht „über Kreuz“ (Li TXO -> Re TXO und Li RXI -> Re RXI) verbunden sein?? oder habe ich da was falsch verstanden in der Anleitung.
    Bitte um Info / Hilfe (bin noch Anfänger auf dem Gebiet)
    LG Mäx

    1. Hallo Mäx, es ist schon richtig, so wie es auf der Schaltung zu sehen ist. Über RXI und TXO läuft die serielle Kommunikation. „R“ steht dabei für „Receive“, „I“ für „In“ und „T“ für „Transmit“ und „O“ für Out. Die Benennung der Pins erfolgt aus Sichtweise des jeweiligen Moduls oder Controllers. Die Leitung, die aus Sicht des einen Bauteils ein Ausgang (Transmitter) ist, ist aus Sicht des anderen Bauteils ein Eingang (Receiver) und umgekehrt. Falls du die Anschlüsse mal vertauschst, nimmt übrigens keine Seite Schaden. Du bekommst lediglich eine Fehlermeldung, dass du deinen Sketch nicht hochladen kannst.
      Viel Spaß und Erfolg! LG, Wolle

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.