Arduino als AVR ISP zum Brennen des Bootloader

Arduino als AVR ISP zum Brennen des Bootloader

Erstmal noch ein frohes neues Jahr 2016! Es ist lange nichts mehr passiert hier in diesem Blog. Gründe, oder besser Ausreden dafür fallen mir genug ein. Ein Grund ist der Selbstbau einer Garage im letzten Sommer bzw. Herbst. Das hat mich einiges an Zeit und Nerven gekostet. Jetzt steht aber alles und das Auto im trockenen und somit ist wieder Zeit für andere Dinge. Daher heute etwas zum Thema Arduino und des darin benötigte Bootloader und wie man einen Arduino als AVR ISP zum Brennen des Bootloader nutzt. (ISP: In-System-Programmer).

An einem der letzten Wochenenden habe ich mit zwei Bekannten ein Wortuhr-Bau-Wochenende gemacht. Dabei sind an zwei Tagen 3 Wortuhren entstanden. Nach dem Bestücken der Platinen, dem Erstellen der LED-Matrix und der Verkabelung sollte der Sketch auf den Mikrocontroller geladen werden.

Bei dem Versuch wehrte sich die Arduino IDE allerdings den Sketch auf den Mikrocontroller zu spielen. Grund dafür war ein fehlender Bootloader. Da hatte ich bei der Bestellung der Platinen und der Bauteile wohl das entsprechende Häkchen für einen bereits vorprogrammierten Atmel vergessen.

Warum ein Bootloader?

Der Bootloader auf dem Atmel AVR wird benötigt um den Arduino mittels serieller Schnittstelle einfach mit Programmen (Sketch) z.B. mit der Arduino IDE programmieren zu können. Hierbei übernimmt der Bootloader zwei Dinge:

  1. Der Bootloader versucht beim Start festzustellen, ob ein neuer Sketch vom PC auf den Mikrocontroller geladen werden soll. Ist das der Fall, wird das Programm vom PC auf den Mikrocontroller geladen. Daher wird der Mikrocontroller beim Versuch neuen Code hoch zu laden, vorher immer durch die Arduino IDE resetet.
  2. Wenn nicht mittels PC versucht wird ein Sketch auf den Mikrocontroller zu laden, wird der der bereits installierte Code ausgeführt.

Eine Möglichkeit um den Bootloader auf den Atmel zu laden, ist einen anderen Arduino als Programmer zu nutzen. Da ich noch einen Arduino Nano hier rumliegen hatte, musste der dafür herhalten.

Einen Arduino Nano als AVR ISP (In-System Programmer)

Folgende Schritte sind zu befolgen um den Bootloader auf einen Atmel AVR zu spielen:

1. ArduinoISP-Sketch auf Arduino laden

In der Arduino IDE das Beispiel „ArduinoISP“ öffnen. Eine aktuelle Version ist auch auf GitHub zu finden.

isp1

Den Arduino Nano mittels USB an den Rechner anschliessen und ggf. unter „Werkzeuge->Port“ den entsprechenden Port einstellen. Den geladenen Sketch anschließend mit der „Pfeiltaste“ auf den Arduino Nano laden.

Mehr lesen

Wortuhr Bildschirmschoner – Update 2

Heute nochmal ein kleines Update für den Wortuhr Bildschirmschoner. Bei Geräten mit höheren Auflösungen gab es Probleme mit der Anzeigen der Umlaute. Die Buchstabenmatrix ist aufgrund der hohen Auflösung etwas zusammengeschoben worden, weshalb nicht alles korrekt dargestellt wurde. In den Bildschirmschoner-Einstellungen kann man nun die Schriftgröße und zusätzlich noch die Schriftart anpassen (dazu auf den Text hinter Schriftart klicken).

bildschirmschoner_einstellungen_neu

Download Wortuhr ScreenSaver (v1.1)

Gruß
Chris

Eclipse Uhr auf Basis der Liqiud-Clock

Neben den Wortuhren wollte ich auch mal eine Uhr bauen, die auf Basis von Christians Liquid-Clock basiert. Die Neopixel habe ich als 5m Rolle in der Bucht gekauft. Als Steuerplatine benutze ich das BBRTCAD von Christian.

Das BBRTCAD ist schnell aufgebaut. Wirklich etwas fisselig ist der Anschluss des Elkos und der Anschlusskabel an den LED-Stripe. Das ist aber etwas abhängig von der Größe der Anschluss-Pads des LED-Stripes die bei mir ziemlich winzig waren. Ich habe dann noch, anders wie in der Anleitung, nur einen Elko benutzt und den Stripe zu einem geschlossenen Ring zusammen gelötet. Das funktioniert auch tadellos anstelle der Nutzung von zwei Elkos wie in Christian´s Anleitung beschrieben. Der LED-Stripe und die Steuerplatine wurden dann auf einer rund ausgefräßten Leimholzplatte (~15mm Stärke) mit den entsprechenden Ausfräsungen für die Elektronik montiert. Nett ist, das der LED-Stripe mit doppelseitigem Klebeband daher kommt, was das Montieren des Stripes sehr einfach macht.

Die sichtbare Platte ist eine schwarze Acrylplatte von Evonik. Diese ist einigermaßen streuend und schön schwarz wo sie auf der Holplatte aufliegt. Befestigt ist die Acrylplatte mit doppelseitigem Klebeband. Das hält bombenfest und ich hatte echte Schwierigkeiten es nochmal ab zu bekommen weil ich die Platte im ersten Versuch etwas verdreht aufgesetzt hatte. Da ich vor dem Aufkleben leider keine Fotos gemacht hatte, gibt es daher auch keine weiteren Bilder vom Innenleben der Grundplatte.

In der Firmware habe ich alle der 60 Leds die aktuell nicht für die Anzeige von Stunde (blau), Minute (grün) und Sekunde (rot) benötigt werden, auf „Dauer an“ (weiß)  gesetzt. Das gibt einen schönen Korona-Effekt. Daher auch „Eclipse Uhr“. Dieser Effekt könnte allerdings noch etwas diffuser sein. Ich habe aktuell nur keinen weißen durchlässigen Schaumstoff zur Hand mit dem man das erreichen könnte. Sobald ich was passenden gefunden habe wird ein Bild nachgereicht.

Die fertige Uhr schaut dann im Dunkeln fotografiert so aus:

eklipse_liquid_clock
Eclipse Uhr

 

Gruß

Chris

20er Wortwecker

Heute nochmal was zum Thema Wortuhr. Ich habe schon seit längerer Zeit eine fertig gebaute Platine für einen 20×20 cm Wortwecker hier rum liegen. Dieser musste nun langsam mal mit Rahmen und Frontplatte fertig gestellt werden.

Zum Aufbau der Elektronik will ich gar nicht viel sagen, da es eine fertige Platine war die nur bestückt werden musste. Mehr oder weniger Fleißarbeit…

IMG_7937
Wortweckerplatine

Die Grundplatte mit dem Lichtgitter habe ich in QCAD als 2D-Model gezeichnet. Hier das DXF dazu.

wortuhr_klein
Grundplatte in QCAD

Die Platte hat mir dann Ingo mit dem Wasserschneider aus einer etwa 15mm starken Resopal-Platte geschnitten. Das war ein „Versuch“, da die >3000 Bar des Wasserschneiders sich nicht wirklich mit Holzplatten „vertragen“. Letztlich ist die Platte dann wirklich leicht aufgequollen was ich aber mit einem Schleifer korrigieren konnte. Ein anderer Versuch die Platte zu erstellen war die CNC-Fräse eines Schreiners. Leider sind dort beim Fräsen immer die recht dünnen Seitenwände gebrochen.

IMG_7938

Dann fehlte mir noch die Frontplatte. Dazu habe ich mir drei Acrylglasplatten und Buchstaben-Folien im Format 20×20 cm gekauft. Nach dem Folieren dann die erste „Anprobe“. Irgendwie passten aber die Buchstaben der Folie nicht auf das Raster meiner Grundplatte ??? Nach einigen Nachforschungen im Wortuhrforum stellte ich fest, das es mindestens zwei Version der 20er Wortwecker-Platine gibt. Ich hatte dann wohl die falsche Platine zur falschen Frontplatte. War ja klar…

Nachdem ich dann die richtige Frontplattengröße gefunden hatte (hier als DXF wortuhr_klein_wecker_frontplatte), wollte ich anstelle der Acrylscheibe mit Folierung lieber eine Metallplatte aus Edelstahl. Mit dem Wasserschneider konnte die Platte aufgrund der zu kleinen Buchstaben leider nicht geschnitten werden. Im Wortuhrforum bin ich dann auf geerscutting.com gestoßen. Eine Firma, die Bleche per Laser zuschneiden.

qcad_frontplatte
Frontplatte im QCAD

Dort im Shop habe ich mich für eine 0,8mm Edelstahlplatte entschieden. Die fertigen Platten waren dann schon nach drei!! Tagen im Briefkasten.

IMG_7935

Nachdem die Schutzfolie entfernt war, sah man um die ausgeschnittenen Buchstaben teilweise u.a. leichte Verfärbungen durch die Hitze beim Schneiden mit dem Laser und irgendwelche anderen Rückstände..

IMG_7939

Nach zwei Minuten Bearbeitung der Platte mit Nevr Dull sah das Ganze schon viel besser aus. Ein paar kleine Verfärbungen (beim „A“ und „R“) habe ich nicht entfernt bekommen. Diese fallen aber nur bei sehr genauem Hinsehen auf.

Auf der Rückseite ist bei einigen Buchstaben ein Grat entstanden, der teilweise auch in den Buchstaben zu sehen war. Auch hier war noch etwas Nacharbeit nötig. Alles in allem sind die Platten aber sehr gut geworden und waren m.E. mit 46€ inkl. Versand auch recht preiswert.

IMG_7941

Nachdem ich dann die Diffusionsfolie auf die Grundplatte geklebt hatte, stand ich vor dem Problem die Frontplatte am Rahmen zu befestigen. Ich war zu ungeduldig um noch Vertiefungen für Magnete in die Grundplatte zu Bohren und Eisenplättchen auf die Edelstahlplatte zu kleben und habe die Edelstahlplatte direkt mit „Pattex 100%“ auf das Resopal-Gehäuse geklebt. Das hält!

IMG_7945

Das fertige Ergebnis schaut dann wie folgt aus. Gut, ich hätte die Platte vor dem Foto nochmal polieren können. Nach dem Kleben sind dann doch einige Fingerabdrücke entstanden, die auf dem Foto deutlicher zu sehen sind als in natura.

Die Platte ist übrigens 23×23 cm groß da sie ursprünglich für den kleinen Ribba-Rahmen gedacht war. D.h. die Grundplatte könnte auch größer werden womit das Problem mit den schmalen Stegen an den Rändern gelöst wäre. Vielleicht klappt es dann auch auf der CNC. Werde das für die zweite Uhr die hier noch in Einzelteilen rumliegt mal versuchen.

IMG_7950

Gruß

Chris

Wortuhr – Stromverbrauch

Ich habe mal den Stromverbrauch meiner Wortuhr über einige Tage gemessen und das Ergebnis graphisch dargestellt.

Bei der gemessenen Wortuhr nutze ich die Platine von Elmotex, das Netzteil MW 3N06GS und die LED´s LED 5-05000 WS von Reichelt.

Stromverbrauch Wortuhr

Ich war überrascht, dass der Verbrauch doch relativ gering ist. Im Mittel etwa 0,45 Watt. Die LED´s schalte ich per Software zwischen 01:00 und 06:00 Uhr aus was auch in dem Graph zu sehen ist.

 

Gruß

Chris

Wortuhr Bildschirmschoner

Die Fa. BSH Bosch und Siemens Hausgeräte GmbH (Fabrik Giengen Kälte) projiziert nach ihrer Kantinenrenovierung meinen Wortuhr-Bildschirmschoner per Beamer an eine Wand.

Eine schöne Möglichkeit den manchmal stressigen Alltag etwas zu entschleunigen und mal nicht auf die Minuten zu schauen…

kantine

Download Wortuhr ScreenSaver

Weiterhin viel Spaß mit dem Bildschirmschoner!

Gruß
Chris

Rahmenlose Wortuhr

Heute habe ich es endlich geschafft die neue rahmenlose Wortuhr fertig zu bauen (die letzte war für den Bekannten der mir die Platten fräst). Als LED-Matrix-Treiber habe ich den Bausatz von Elmotex genutzt. Die Rost-Frontplatte kommt bei der neuen Uhr wieder zum Einsatz und wird von 7 Neodym-Magneten gehalten.

Der alte Prototyp mit dem klassischen Drei-Platinen-Aufbau und Ribba-Rahmen bekommt die ursprüngliche Glasplatte mit der schwarzen Folie und ziert jetzt unser Büro.

Wortuhr und die Abkehr vom Ribba-Rahmen

Wortuhr und die Abkehr vom Ribba-Rahmen

Die Wortuhr mit dem IKEA-Ribba-Rahmen sieht nett aus, aber das rahmenlose Original der Wortuhr ist auch nicht schlecht. Beim Ribba war das Anzeichnen und das Bohren der Löcher für die 114 LEDs schon recht aufwändig. Auch das Basteln des Lichtgitters zur Abgrenzung der LEDs dauert seine Zeit.

Ein befreundeter Schreiner mit CNC-Fräse hat mir den Rahmen freundlicherweise in 3D gezeichnet und anschliessend auch die Platte gefräst.

wortuhr_3d_ansicht

Ergebnis war eine 25 mm starke MDF-Platte in 500x500mm. Die MDF-Platte läßt sich einfach bearbeiten (falls doch noch irgendwas angepaßt werden muss) und gut lackieren. Für die LEDs sind separate Lichtkegel vorgesehen. Das Gleiche gilt für die Platine, die Schalter, den DCF-Empfänger, die Magnete und die Anschlusskabel für die Matrix und den DCF-Empfänger wo entsprechende Ausfräsungen vorgesehen sind. Die Platte paßt z.B. zu den Folien von plottflott.de.

In der Galerie sind neben der Zeichnung und dem 3D-Bild noch zwei Bilder einer fertig aufgebauten Uhr (ohne Lackierung und Frontplatte) zu sehen.

Die 3D-CAD Datei findet ihr hier als dwg oder hier als dxf zum Download.

Wortuhr Bildschirmschoner

Vor dem Bau meiner ersten Wortuhr hatte ich das Prinzip der Uhr als Bildschirmschoner programmiert. Den alten Code habe ich nun nochmal rausgekramt und etwas abgeändert. Vorlage für das neue „Ziffernblatt“ war die Wortuhr aus der c`t Hardware Hacks. Diese Version hat keine Minutenanzeige und keine Fünfminutenschritte wie in der Hardware-Version. Dafür aber die Worte „genau“, „gerade“, „gleich“ und „kurz“. Die Uhr ist somit im Minutenbereich ein Schätzeisen 🙂

wortuhr_screenshot

Der Bildschirmschoner läuft mindestens unter den Windows-Versionen Win XP, Win7 und Win8 mit installiertem .NET 4 Framework. Die Datei muss in den Ordner /Windows/System32/ kopiert werden oder rechte Maustaste -> Installieren. Danach erscheint er in der Bildschirmschonerauswahl.

Wortuhr ScreenSaver

Bei Fehlern und für Anregungen schreibt mir einfach. Viel Spaß damit!

Chris