[Home]   [Dia]   [Eisenbahn]   [Mikrocontroller]   [MoBa Protected]   [Privat]   [Impressum]   [Sitemap]  
 Zurück zu web   Mikrocontroller
Unterrubriken
Download
Software

Weitere Infos
Mikrocontroller

Mikrocontroller

Die Informationen auf dieser Seite beziehen sich auf die AVR-Mikrocontroller von ATMEL, da diese die Basis meiner Selbstbauprojekte darstellen.
Einen guten Einstieg, um etwas über die uCs zu erfahren findet man, wenn man dem Link AVR-Mikrocontroller folgt.

Allgemeines:

Gerade Neueinsteiger haben oft erst eine Hemmschwelle zu überwinden, bevor sie sich an Mikrocontroller herantrauen.
Viele schreckt auch der (vermeintliche) finanzielle Aufwand bei der Beschaffung von notwendiger Hard- und Software ab, die zur Programmierung von Mikrocontrollern nötig ist. Außerdem erscheint vielen Neulingen die Programmierung in einer Sprache wie ASSEMBLER als zu abstrakt.
Ich schreibe dies aus meinen eigenen "Berührungsängsten", die aber Dank eines Freundes recht schnell überwunden waren. Da die "AVR-Mikrocontroller" Familie von ATMEL gerade in Hobbybereich dermaßen vielseitig einsetzbar sind, kann ich jedem Interessierten diese Bausteine nur empfehlen.

Hardware:

Welche Hardware wird benötigt und wie teuer ist sie?
Zwei Klassen von Hardware sind zu unterscheiden:

  1. Externe Hardware, die zur Programmierung notwendig ist
  2. Hardware, die um den eigentlichen uC aufgebaut werden muss - also die Applikation selbst.


zu 1.

Ein einfacher Programmierstecker, der an die parallele Schnittstelle des Home-PCs angeschlossen wird reicht. Das Platinenlayout und den Schaltplan des von mir verwendeten ISP-Programmiersteckers habe ich im geschützten Bereich meiner Homepage hinterlegt. Interessierte wenden sich bitte direkt an mich, um die Zugangsdaten zu erhalten und die noetigen Dateien kostenfrei herunterladen zu können. Platinenlayout und Schematic habe ich mit dem Programm EAGLE der Firma cadsoft erstellt. Auf den Internetseiten der Firma cadsoft kann man sich eine kostenlose Version von EAGLE downladen.  In diesem Zusammenhang möchte ich auf die Internetseiten von Claudio Lanconelli verweisen, der in seinem Web ein Schematic für den Programmierstecker abgelegt hat. Dieses Schematic diente mir als Vorlage meines EAGLE-Platinenlayouts/Schematics. Die Schaltung selbst ist entweder von Herrn Lanconelli oder einem Dritten entwickelt worden. Gerne würde ich Herrn Lanconelli als Urheber dieser Schaltung hier erwähnen, habe aber bisher trotz wiederholter Anfragen keine Antwort erhalten.

Wie man dem Schaltplan entnehmen kann, werden an Bauteilen benötigt:
 

  • 74HC244
  • 1N4148
  • 100K
  • 100nF
  • 25 pol. Sub-D Stecker
  • 10 pol Stiftwanne
  • optional noch ein passendes Gehäuse (das Platinenlayout ist so ausgelegt, dass man ein Adaptergehäuse von 25pol Sub-D auf 9pol Sub-D verwenden kann. Ein solches Gehäuse findet man z.B. bei Distributoren wie Reichelt Elektronik oder Conrad Elektronik.


Die Kosten für diese Bauteile (inklusive eines Gehäuses) belaufen sich auf unter Euro 5,-. Ich setzte diesen Stecker bei meinen Anwendungen selbst ein.

Der Programmierstecker erlaubt das Programmieren der uCs im System (In-System-Programing = ISP). Der Programmierstecker wird dabei von der Applikation versorgt. Meine Anwendungen statte ich i.d.R. mit einer 10 poligen Stiftwanne aus, die als ISP-Schnittstelle dient. Zwischen Dongle und Anwendung verwende ich ein Stück 10poliges Flachbandkabel mit 10pol Aufquetschbuchsen. Der Dongle selbst wird an die parallele Schnittstelle des PCs angeschlossen. Achtung! Programme die auf die parallele Schnittsstelle zugreifen, müssen geschlossen werden.

Weitere Hardware wird nicht benötigt!

zu 2.

Die uCs werden typ. mit 5V versorgt (es gibt auch 3.3V-Typen). D.h. man braucht eine stabilisierte 5V-Gleichspannungsquelle.
Mittlerweile bieten eine Vielzahl von Mikrocontrollern bereits die Möglichkeit, ihren Betriebstakt aus einem internen RC-Oszillator zu beziehen. Damit erübrigt sich der Einsatz eines externen Quarz-Schwingkreis zur Taktgenerierung. Ansonsten wird lediglich nur der entsprechende Quarz und zwei Kondesatoren benötigt. Der Frequenzbereich liegt typischerweise zwischen 0 - 16MHz (je nach Mikrocontroller-Type).
Der uC verliert nach Abschalten der Versorgungsspannung nicht den programmierten Inhalt, so dass eine Pufferung ebenfalls entfällt.

Weitere Hardware wie EEPROM oder Peripheriemodule werden nicht benötigt!

Der Vollständigkeit halber seien hier noch diverse Entwicklungsboards (STK100/200/500) erwähnt, die z.B. bei ATMEL bzw. bei entsprechenden Distributoren bezogen werden können. Ich selber habe mir ein STK100 als Einstieg zugelegt. Damals noch für ca. DM 100,--. Dieses Board wird über die serielle Schnittstelle mit dem PC verbunden. Es ist dann vom STK200 abgelöst worden. Dieses wurde noch ein wenig erweitert. Auf ihm befinden sich neben verschiedenen Programmiersockeln für unterschiedliche Typen von AVR-uCs noch ein paar Taster und LEDs, sowie Sockel für externe Komponenten wie zusätzliches externes RAM, AD-Umsetzer etc.. Des weiteren sind alle Ports der uCs auf Stiftleisten geführt, die man über Jumper mit dem uC verbinden kann. Eine RS232 Schnittstelle ist ebenfalls vorhanden. Dieses Board wird im über den oben beschriebenen Programmierstecker betrieben, den man beim Kauf des Boards dann natürlich direkt dabei bekommt. Für kleine Testzwecke ganz nett; ob es sich lohnt, dieses Board zu kaufen, wenn man für unter Euro 5,-- den Programmierstecker selber bauen kann, muss aber jeder selbst entscheiden.
Mittlerweile nenne ich ein STK500 mein eigen, über das nahezu jede uC-Type von ATMEL programmiert werden kann.

Software:

Die Software kann man sich auf der Softwareseite bei ATMEL kostenlos downloaden. Sie ist weder durch einen Code zu aktivieren, noch wird ein Dongle benötigt. Auch muss nicht erst irgendein Formblatt ausgefüllt werden um den Download-Vorgang zu starten - ein vorbildlicher Service!
Bei der Software handelt es sich um das AVR-Studio. Dies ist eine komplette und hervorragende Entwicklungsumgebung, mit der man nicht nur aus dem Asemblercode die benötigten Dateien (.hex und .eep) erzeugen, sondern den erstellten Code modifizieren und umfangreich simulieren kann. Es würde an dieser Stelle zu weit gehen, alle Features der Software aufzulisten und zu erklären. Ich denke, dass nach einer kurzen intuitiven Einarbeitungszeit der Umgang erlernt ist.
Wie man aus dem Assemblerquellcode die zur Programmierung der uCs nötigen Dateien generiert, habe ich anhand einer Schritt-für-Schritt Anleitung auf meiner Softwareseite erklärt.

Ein weiteres Werkzeug ist die ISP-Software. Ist man Besitzer des STK500, so wird diese Software nicht benötigt; das AVR Studio kann direkt das STK500 ansprechen. Aber keine Angst: Es gibt verschiedene ISP-Software, die mit dem oben beschriebenen Programmierstecker zusammenarbeiten und mit denen man so die uCs programmieren kann. Weiter lässt sich mit dieser Software der uC auslesen, löschen, verifizieren und die sogenannten Fuse- und Security-Bits setzten.
Zwei Links zu ISP-Software, die ich selber mit dem oben beschriebenen Programmierstecker einsetze:
 


Distributoren:

Wo kann man die AVR-uCs bekommen und was kosten sie?
Zwei von vielen Beispielen sind die bekannten Elektronikhändler ...

  • Conrad Elektronik
  • Reichelt Elektronik
  • daneben gibt es aber noch viele mehr.

Über die Homepage von ATMEL kann man weiter Distributoren abfragen.

Das Preisniveau liegt bei wenigen Euros.

Leistungsspektrum der uCs:

Hier möchte ich den interessierten Leser dann doch auf die umfangreichen Datenblätter zu den Mikrocontrollern hinweisen, die ATMEL auf den eigenen Internetseiten abgelegt hat.

 Schlusswort:

Gerne bin ich bereit Hilfestellung beim Umgang mit der Software zu leisten, da die Programmierung der in meinen Projekten eingesetzten uCs nicht der Punkt sein soll, an dem alles scheitert. Natürlich kann dies kein 24h Support sein ;-)



Diese Seite unterliegt den Nutzungsbedingungen und der Datenschutzerklärung (siehe weiterführende Links im Impressum) dieser Internetpräsenz
Copyright by 
Patrick Urban