<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trekko</id>
		<title>RN-Wissen.de - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trekko"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Trekko"/>
		<updated>2026-04-11T22:39:41Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega8&amp;diff=22524</id>
		<title>ATmega8</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega8&amp;diff=22524"/>
				<updated>2013-04-18T17:45:52Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* praktisch identisch: ATmega8A (benötigt weniger Energie)&lt;br /&gt;
* ATMega AVR 8-16 PDIP&lt;br /&gt;
* Gehäuse: DIL-28&lt;br /&gt;
* MHz: 16&lt;br /&gt;
* Flash: 8&lt;br /&gt;
* EEProm: 512&lt;br /&gt;
* RAM: 1K&lt;br /&gt;
* I/ O: 23 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pinbelegungmega8.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der ATmega8 gilt in vielen Totorials als Standardtyp, obgleich seine Architektur nicht mehr dem Stand der Technik entspricht. Inzwischen gibt es von diesem Mikrocontroller die zweite weiterentwickelte Version, den ATmega88A. Dieser zeichnet sich durch neue und erweiterte Funktionen aus, wie zum Beispiel den Pin-Change-Interrupt, welcher die ereignisorientierte Verarbeitung von digitalen Signalen vereinfacht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Minimalbeschaltung eines Atmel ATmega8==&lt;br /&gt;
&lt;br /&gt;
[[Bild:avr8.jpg|thumb|400px|center|Schaltungsaufbau demonstriert einfachste Inbetriebnahme eines [[ATmega8]]. Den Reset-Widerstand von [[VCC]] nach RESET könnte man sich wegen internem Pullup-Widerstand auch noch einsparen.]]&lt;br /&gt;
&lt;br /&gt;
Solange der interne Oszillator benutzt wird, ist für den grundlegend funktionsfähigen Betrieb eines [[Microcontroller]]s kein externes Bauteil nötig. Es müssen lediglich zwei Pins für die Spannungsversorgung beschaltet werden. In diesem Beispiel wurde dennoch ein Pullup-Widerstand für einen einwandfreien Reset und drei kleine [[LED]]s für eine optische Rückmeldung an den Controller angeschlossen. &lt;br /&gt;
&lt;br /&gt;
{{FarbigerRahmen|&lt;br /&gt;
Man sollte allerdings generell eine LED nicht ohne geeigneten Vorwiderstand an einem Port anschliessen, da ansonsten der zulässige Höchststrom bei Chip und LED überschritten und diese Bauteile evtl. dadurch zerstört werden können. Diese Schaltung wurde lediglich für eine kurze Demonstration zusammengebaut. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, funktioniert die Schaltung schon bei einer Spannungsversorgung von 3V durch zwei 1,5V-Zellen einwandfrei. Der interne Oszillator schwingt an und die Programmierung funktioniert ohne Probleme (dieser Chip wurde allerdings zuerst mittels ISP vorher in einer anderen Schaltung programmiert). Anhand des eingeblendeten Softwarecodes [[Bascom]]-Basic kann man ebenfalls die sehr einfache Programmierung erahnen.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Atmel Controller Mega48 Mega88 Mega168]] - Mega8 Pinkompatibel&lt;br /&gt;
* [[Atmel]]&lt;br /&gt;
* [[AVR]]&lt;br /&gt;
* [[AVR-Einstieg leicht gemacht]]&lt;br /&gt;
* [[HEX Beispiel-Dateien für AVR]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=22523</id>
		<title>Mit welchem Controllerboard fang ich an</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=22523"/>
				<updated>2013-04-18T17:36:54Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: /* ATmega32, ein schöner Einstiegscontroller mit Reserven */ aktueller: ATmega324A&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welchen Controller, welches Controllerboard nehme ich?'''&lt;br /&gt;
&lt;br /&gt;
:'''Welches Controllerboard ist das beste?'''&lt;br /&gt;
&lt;br /&gt;
::'''Sollte man alles selbst bauen?'''&lt;br /&gt;
&lt;br /&gt;
Dies sind wohl die am häufigsten gestellten Fragen in der Community. Aus diesem Grund hier ein paar Ausführungen, die die Auswahl und Entscheidung erleichtern sollen. &lt;br /&gt;
&lt;br /&gt;
===Was ist ein Controller?===&lt;br /&gt;
Ein Controller ist ein programmierbarer Schaltkreis. Gewöhnlich benötigt er sehr wenig externe Bauelemente um zu arbeiten, ein Quarz und 2 Kondensatoren reichen im Prinzip z.B. für die Controller der Firma [[Atmel]] (auch [[AVR]]-Controller genannt). Programmiert wird er in der Regel über ein Adapterkabel (z.B. [[AVR-ISP Programmierkabel|ISP-Kabel]]), das an die RS232- oder Druckerschnittstelle am PC angeschlossen wird. Inzwischen gibt es auch einige Adapterkabel, die per USB angeschlossen werden.&lt;br /&gt;
Programmiert werden die meisten Controller gewöhnlich in Assembler. Für viele Controller gibt es zum Teil jedoch Compiler und Entwicklungsumgebungen für Sprachen wie Basic, C und teils sogar Pascal.&lt;br /&gt;
Über die Programmierung können sogenannte I/O-Leitungen, das sind Ein- und Ausgänge direkt am IC, auf High- oder Low-Pegel geschaltet werden. Zudem gibt es je nach Controller zusätzliche Pins um analoge Spannungen zu messen, Signalwechsel zu zählen, analoge Spannungen (genauer [[PWM]]) auszugeben und ähnliche Dinge.&lt;br /&gt;
&lt;br /&gt;
===Soll ich es selbst aufbauen?===&lt;br /&gt;
Bastler mit etwas mehr Erfahrung in diesem Bereich kaufen sich oft diese Controller-ICs einzeln und bauen sich über eine Experimentierplatine eine eigene Schaltung auf. Besonders einfach ist dies mit der schon genannten Controllerserie von Atmel. Zum einen, weil diese Firma sehr viele Controllertypen anbietet, die auch im anwenderfreundlichen DIP-Gehäuse (IC, das man in eine handelsübliche Fassung stecken kann) geliefert werden; zum anderen benötigt man nur wenig externe Bauelemente für eine Grundschaltung. Ein weiterer Vorteil der AVR-Serie ist, dass die meisten Controllertypen fast identisch programmiert werden. Sie unterscheiden sich lediglich in Bauform, Anzahl der I/O-Pins und einigen bestimmten Features (Anzahl der [[Timer]], [[PWM]], Ein- und Ausgänge usw.).&lt;br /&gt;
&lt;br /&gt;
Obwohl der Aufbau einer sogenannten &amp;quot;Grundschaltung&amp;quot; wegen der wenigen externen Teile sehr einfach ist und zum Teil sogar billige Bauteilesets für den Einstieg existieren, rate ich Einsteigern von diesem Einstiegsweg doch eher ab. Oft wird dabei nicht bedacht, dass man mit der Grundschaltung alleine noch nichts machen kann. Man würde noch nicht mal feststellen, ob ein Programm überhaupt ausgeführt oder nicht ausgeführt wird. Man benötigt eine Spannungsstabilisierung und mindestens eine LED (besser mehrere) an einem Port (I/O-Ausgang), um durch deren Blinken zu sehen, ob die Befehle überhaupt wie gewünscht ausgeführt werden. Zudem braucht man auch Stecker und Buchsen, um Programmierkabel und/oder RS232-Kabel, Stromquelle etc. anzuschließen. Auch ein paar Taster sind fast immer notwendig. &lt;br /&gt;
&lt;br /&gt;
Wenn man dann noch Motoren, Relais etc. schalten will, dann sind noch weitere Bauelemente notwendig. Wenn man das alles bedenkt, dann kommt doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich auch drastisch die Fehlerquellen. Funktioniert etwas nicht, weiß der Einsteiger oft noch nicht mal, ob er in der Programmierung einen Fehler gemacht hat, die Entwicklungsumgebung nicht richtig installiert hat oder aber beim Aufbau was falsch gemacht hat. Die Motivation wird durch einen solchen Fehlschlag schnell genommen. &lt;br /&gt;
Aus diesem Grund rate ich Einsteigern lieber mit einem Bausatz, oder noch besser mit einem fertigen Controllerboard und fertigen Programmieradaptern, zu beginnen. Ein sogenanntes Controllerboard beinhaltet bereits die wichtigsten Grundelemente (mal mehr, mal weniger, je nach Preis) und kann oft sehr schnell in Betrieb genommen werden. Klappt etwas nicht, so kann man sich zumindest bei sehr gängigen Controllerboards in Communities, wie in unserem [http://www.roboternetz.de Roboternetz], sehr schnell Hilfe holen. Je weiter ein Board verbreitet ist, desto besser klappt es gewöhnlich mit Hilfe und auch mit Anregungen, was man alles basteln könnte.&lt;br /&gt;
&lt;br /&gt;
===Welche Controllerboards sind für den Einstieg empfehlenswert?=== &lt;br /&gt;
Es gibt eine Unzahl von verschiedenen Controllerboards, Bauteilesätzen, Einsteigerkits und dergleichen. Viele sind jedoch kaum verbreitet und bei Problemen ist man auf den Support des Anbieters angewiesen. Zudem kommt hinzu, dass Anbieter in der Branche schon oft nach einiger Zeit wieder vom Markt verschwinden.&lt;br /&gt;
Es ist daher wirklich empfehlenswert, ein recht beliebtes und weit verbreitetes Controllerboard zu nehmen, um nicht irgendwann mit Problemen allein dazustehen.&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif&lt;br /&gt;
http://www.c-control.de/images/stories/startseitegruppe2.gif&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg&lt;br /&gt;
[[Bild:stk500.jpg|100px]]&lt;br /&gt;
&lt;br /&gt;
Recht beliebt und fast jedem ein Begriff sind daher vor allem folgende Boards:&lt;br /&gt;
&lt;br /&gt;
* C-Control / C-Control Pro-System &lt;br /&gt;
* C-Control II &lt;br /&gt;
* [[RN-Control]] &lt;br /&gt;
* STK500 (Entwicklungsboard von Atmel)&lt;br /&gt;
* [http://arduino.cc/ Arduino]&lt;br /&gt;
&lt;br /&gt;
Zu den oberen drei Boards findet man im Roboternetz reichlich Unterstützung, insbesondere auch zu dem Board [[RN-Control]], da dieses auf einem Atmel-Controller beruht und sogar im Roboternetz entstanden ist. &lt;br /&gt;
&lt;br /&gt;
Die abgebildete C-Control wurde lange Zeit oftmals in Robotern eingesetzt; heute ist sie jedoch bereits einige Jahre alt. Inzwischen wird sie für neue Roboter offenbar nur noch selten eingesetzt, vermutlich, weil die Rechenleistung doch sehr begrenzt ist. Bestimmte Dinge, wie Schrittmotoransteuerung, lassen sich mit der Rechenleistung nur schwer umsetzen. Die C-Control II ist zwar leistungsfähiger, aber fand bei den Roboter-Bastlern in den letzten Jahren auch nur wenig Zuspruch. Vor allem dürfte das daran liegen, dass man mit diesen beiden Controllerboards noch keinen Bot steuern kann - es sind immer noch zusätzliche Bauteile notwendig. Zwar gibt es diese in Form von sogenannten Applikations- und Starterboards, auf die das Controllermodul gesteckt wird, jedoch wird das Ganze dadurch natürlich vom Platzbedarf größer und natürlich auch teurer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''C-Control PRO:'''&lt;br /&gt;
&lt;br /&gt;
Seit 2005 wurde die C-Control Familie um die C-Control PRO Varianten erweitert. Diese Units sind wesentlich kompakter als ihre Vorgänger, zudem besitzen sie deutlich mehr Speicher und Rechenpower. Trotz ihrer kleinen Abmessungen werden die Units im gebräuchlichen 2.54mm Raster gefertigt. Die C-Control PRO basiert auf RISC-Mikrocontrollern der AVR-Familie von Atmel, die sich durch niedrigen Stromverbrauch auszeichnen. Diese leistungsfähigen Mikrocontroller haben sich mittlerweile in großen Stückzahlen in zahlreichen Anwendungen bewährt. Der Typ Mega 32 wie er auch bei dem [[RN-Control]]_Board eingesetzt wird, besteht aus einer 8-Bit-RISC-Recheneinheit (Reduced Instruction Set Computer) mit Flash-Speicher, EEPROM, S-RAM, Digitale Ports, Timer/Counter, Comparator, PWM-/DAC-Kanälen und serieller Schnittstelle. Die Typ Mega 128 bietet neben diesen Systembestandteilen mehr Speicherkapazität und eine größere Zahl von Ein-/Ausgabe-Schnittstellen. Im Roboternetz finden die C-Control Boards bislang allerdings er weniger Anhänger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Günstig für viele Projekte: Atmel Boards====&lt;br /&gt;
Günstiger und beliebter im Roboternetz sind für viele Projekte daher reine Atmel Boards in Verbindung mit einem guten Basic oder C-Compiler. Zum Beispiel das Board [[RN-Control]] oder das STK500 von Atmel. Da das STK500 jedoch vornehmlich zum Experimentieren mit verschiedenen Controllern entwickelt wurde, eignet es sich als Roboterboard oder als Board in einem späteren Projekt weniger gut. Das STK500 hat seine Stärke beim ausprobieren verschiedener Controller. Auch die englische Dokumentation des STK500 wendet sich daher nicht unbedingt an den Hobbybastler sondern vornehmlich an Entwickler mit etwas  Erfahrung in diesem Bereich. &lt;br /&gt;
Dagegen ist [[RN-Control]] speziel für Hobbybastler im Roboternetz konzipiert worden. Bei der Entwicklung sind viele Anregungen der Roboternetz-User berücksichtigt worden, das Board ist quasi im Roboternetz geboren worden – daher auch da  Kürzel &amp;quot;RN&amp;quot;. Es ist nicht das erste &amp;quot;RN&amp;quot; Board welches die Wünsche eines Roboterbastlers erfüllen sollte. Zuvor gab es das [[RNBFRA-Board]], das neben Controller auch noch CoController, Porterweiterungen, Schrittmotortreiber und vieles mehr beinhaltete. Obwohl auch die Features des [[RNBFRA-Board]] von den Usern zusammengestellt wurden, wird dieses Board vorwiegend von den erfahreneren Usern genutzt. Dies liegt wohl vornehmlich am Preis. Das Preis- Leistungsverhältnis ist zwar sicherlich sehr gut, aber für den ersten Einstieg ist ein Preis über 100 Euro doch auf den ersten Blick etwas abschreckend.&lt;br /&gt;
&lt;br /&gt;
Da [[RN-Control]] mit unter 50 Euro wesentlich preiswerter ist, hat sich dieses Board zu einer echten Beliebtheit entwickelt. Obwohl es das Board noch nicht lange gibt findet man bei den meisten neuen Projekten, die im Roboternetz vorgestellt werden, ein RN-Control - Board irgendwo drauf.&lt;br /&gt;
Die Beliebtheit liegt vornehmlich daran, das [[RN-Control]] bereits alle wichtigen Elemente auf direkt dem Board besitzt. Auch ohne zusätzliches Applikationsboard können bereits Sensoren, Schalter und sogar Motoren angeschlossen werden. Auch eine Spannungsstabilisierung, Piepser, Steckklemmen, fünf Taster, LED´s sind bereits auf dem Board zu finden. Bei anderen Boards ist das oft erst auf einem Zusatzboard vorhanden.&lt;br /&gt;
&lt;br /&gt;
 Dies alles macht das Board zu einem kompakten Controllerboard &lt;br /&gt;
 das ohne Zusatzkomponenten (außer Sensoren) einen kleinen &lt;br /&gt;
 Roboter steuern kann. Aber ebenso eignet sich das Board auch &lt;br /&gt;
 als optimales Experimentierboard. &lt;br /&gt;
&lt;br /&gt;
====ATmega32, ein schöner Einstiegscontroller mit Reserven====&lt;br /&gt;
&lt;br /&gt;
Dabei setzt [[RN-Control]] einen schon erwähnten Controller ein: den [[ATmega32]] von Atmel. Dieser [[Mikrocontroller]] besitzt bereits 32k Programmspeicher, 2k RAM, 1k [[EEPROM]] sowie 32 programmierbare I/O Pins, 8 AnalogDigital Ports, 3 Timer u.v.m.&lt;br /&gt;
 &lt;br /&gt;
Im Gegensatz zu vielen anderen kleinen Experimentierboards, die oft nur einen [[ATmega8]] einsetzen, hat man also bei RN-Control viel mehr Ports und Speicher für größere Anwendungen. Ein Vorteil, der von Anfängern oft unterschätzt wird, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Speicher, wie der des ATmega8, wäre da schneller am Ende, als man denkt. Auch die Portanzahl ist bei ATmega8-Boards recht mager, so dass man oft bei Verwendung eines [[LCD]] und wenigen Sensoren schon keine weiteren Anschlussmöglichkeiten mehr besitzt. Daher empfehle ich mit einem [[ATmega32]] zu beginnen. Das ist vielleicht ein paar Euro teurer, aber dafür erspart man sich oft den Kauf eines weiteren Boards, weil man doch vieles mehr anschließen kann.&lt;br /&gt;
&lt;br /&gt;
Tipp: Der ATmega32 ist nicht mehr ganz taufrisch, es existieren inzwischen zwei Nachfolgegenerationen: ATmega324 und ATmega324A. Für Neuentwicklungen ist es daher sinnvoll, gleich den aktuellen '''ATmega324A''' einzusetzen, da dieser mehr Funktionen bietet, weniger Strom verbraucht, eine höhere Rechenleistung besitzt und in der Regel deutlich weniger kostet.&lt;br /&gt;
&lt;br /&gt;
{{Ausbauwunsch|Vielleicht noch ein klein wenig über Arduino Boards}}&lt;br /&gt;
&lt;br /&gt;
====Auch an die Zukunft denken====&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Vorteil von [[RN-Control]] besteht darin, dass alle Stecker und Anschlüsse &amp;amp;ndash; ja sogar die Platinenmaße &amp;amp;ndash; nach den [[RN-Definitionen]] vereinheitlicht sind. Somit lassen sich Ergänzungen und Zusatzboards einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Boards.&lt;br /&gt;
&lt;br /&gt;
Machen Bastler mal einen Fehler und [[RN-Control]] wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch neue ersetzt werden. &lt;br /&gt;
Und da man RN-Control wahlweise in C, Assembler oder Basic ([[Bascom]]) programmieren kann, kann man je nach Wissensstand seine Lieblingssprache wählen. Je nach Wissensstand kann man RN-Control auch fertig aufgebaut, als Bausatz oder nur als Platine erwerben.&lt;br /&gt;
Durch die weite Verbreitung von [[RN-Control]] findet man im Roboternetz auch schnell erhebliche Unterstützung, ein Umstand der für Einsteiger sehr wichtig ist.&lt;br /&gt;
&lt;br /&gt;
==Wenn man sich für ein Board entscheiden will, sollte man also folgende Fragen stellen==&lt;br /&gt;
&lt;br /&gt;
[[RN-Control]] ist sicherlich ein empfehlenswertes Board für viele Aufgaben, sonst würde es nicht so oft eingesetzt. Aber natürlich gibt es auf dem Markt noch zahlreiche andere gute Boards. Entscheidend ist letztlich auch, wie gut das Board zur Aufgabenstellung passt. Dazu habe ich einige wichtige Kriterien als Fragen zusammengestellt. Wenn man sich diese Fragen zu jedem Board stellt, das man im Auge hat, wird man sicherlich das optimale finden. Je nach Situation können die Fragen durchaus zu ganz verschiedenen Lösungen führen. Hilfreich kann dazu auch das Linkverzeichis im Roboternetz sein. Dort findet man zahlreiche Bezugsquellen.&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|&lt;br /&gt;
# Reicht die Rechenleistung dieses Boards?&lt;br /&gt;
# Hat das Board genügend Speicher?&lt;br /&gt;
# Ist der Controller auswechselbar, vielleicht später durch einen größeren?&lt;br /&gt;
# Hat das Board genügend Ports (I/O) Leitungen?&lt;br /&gt;
# Welche Zusatzbauelemente brauche ich für mein Vorhaben, und was kostet es insgesamt?&lt;br /&gt;
# Lassen sich einzelne Teile des Boards selbst reparieren (bei Boards mit [[SMD]] oder ungesockelten ICs ist das kaum machbar)?&lt;br /&gt;
# Sind Klemmen für Sensoren und Aktoren vorhanden oder brauche ich weitere Adapter?&lt;br /&gt;
# In welchen Sprachen kann und will ich das Board programmieren?&lt;br /&gt;
# Sind die Entwicklungsumgebungen / Compiler kostenlos?&lt;br /&gt;
# Kann/Will ich das Board nur zum experimentieren oder auch für Anwendungen nutzen? &lt;br /&gt;
# Sind die Anschlüsse kompatibel zu Erweiterungen?&lt;br /&gt;
# Sind Schaltpläne und Bestückungspläne erhältlich?&lt;br /&gt;
# Gibt es für mein Projekt Akkus in der richtigen Größe, welche zur Betriebsspannung passen? &lt;br /&gt;
# Findet man in gängigen Foren und im Roboternetz genügend Unterstützung?&lt;br /&gt;
# Gibt es Literatur, die sich mit Board oder den Entwicklungssystemen befassen?&lt;br /&gt;
# Eignen sich die Maße des Boards für mein Projekt?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autor Frank&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Atmel]]&lt;br /&gt;
*[[AVR-ISP Programmierkabel]]&lt;br /&gt;
*[[RN-Control]]&lt;br /&gt;
*[[AVR-Einstieg leicht gemacht]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.youtube.com/watch?v=cGtC7e44abA&amp;amp;feature=plcp&amp;amp;context=C37e7441UDOEgsToPDskJmsEAf0l4u9UVXLqURe7ID Neu - Video zu AVR Experimentierboard RN-AVR Universal]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Programmer&amp;diff=21436</id>
		<title>Programmer</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Programmer&amp;diff=21436"/>
				<updated>2012-11-07T20:40:34Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: /* USB Programmer */ Format verbessert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Als '''Programmer''' wird die Hardwarekomponente bezeichnet, mit der das ausführbare Mikrocontrollerprogramm (Firmware, HEX-File) auf den Controller übertragen wird. Es gibt verschiedene Konzepte der Programmübertragung. Neben dem Konzept des Bootloaders, der Parallelprogrammierung und des [[JTAG]]-Interfaces, spielt bei [[Atmel]] Mikrocontrollern das Verfahren des &amp;quot;serial Download&amp;quot; eine große Rolle. Bekannt ist diese Variante der Programmierung als ISP (In System Programmierung). Dabei wird das [[SPI]] (Serial Processor Interface) genutzt, welches bei fast allen [[AVR]]-Controllern zu finden ist. ISP-Programmer zeichnen sich dadurch aus, dass der Hardwareaufwand für diese sehr gering ist. Das hat natürlich Auswirkungen auf den Preis. Für einen &amp;quot;Standard&amp;quot; [[ISP]] Parallel-Programmer liegen die Materialkosten im Cent-Bereich. Bei solchen &amp;quot;billig&amp;quot; Programmern werden die eigentlichen Programmierprotokolle (siehe Abschnitt Memory Programing in AVR Datenblättern) durch ein entsprechendes Programm auf dem PC erzeugt ([[AVR]]-Prog, PonyProg, YAAP, AVRDUDE, [[Bascom]] usw.) und die Programmerhardware ist bestenfalls zur Pegelanpassung da. Letztlich gibt es sogar derartige Programmer, die nur aus drei Schutzwiderständen bestehen. Meist wird aber ein kleiner preiswerter Treiberbaustein eingebaut, der für eine sichere Datenübertragung auch bei längeren Programmierkabeln sorgt. Damit ist ein extrem günstiger Einstieg in die Programmierung von [[Atmel]] AVR-Controllern möglich. Aufwendiger werden dann Programmer, die tatsächlich über eigene &amp;quot;Intelligenz&amp;quot; verfügen. Dabei handelt es sich in der Regel um so genannte Serial-Programmer. Hier erfolgt die Datenübertragung an den Programmer per serieller Schnittstelle oder über [[USB]]. Der Programmer selbst besitzt einen Controller, der die Daten empfängt und das Programmierprotokoll ausführt. Der weit verbreitete SI-Prog (siehe PonyProg) wird zwar an die Serielle Schnittstelle angeschlossen, ist dem Wesen nach aber den Parallelprogrammern äquivalent (einfache Pegelanpassung, keine eigene Intelligenz). Darin liegt auch die Ursache, warum der SI-Prog nie an einem handelsüblichen [[USB]] zu Serial-Adapter laufen wird.&lt;br /&gt;
&lt;br /&gt;
== Parallelport ISP Programmer ==&lt;br /&gt;
&lt;br /&gt;
=== STK 200 kompatible Programmer ===&lt;br /&gt;
Bei den Parallelportprogrammern handelt es sich oft um Nachbauten von Programmierinterfaces der ersten Starterkits von ATMEL dem STK200 oder STK300. Damit wird auch geworben in dem man diese als STK200 kompatibel oder als sogenannte Standard-ISP-Programmer bezeichnet. Der Vorteil dieser Programmer liegt tatsächlich darin, dass so ziemlich jede Programmersoftware diese unterstützt - nur direkt von AVRStudio geht es nicht. &lt;br /&gt;
Die Kompatibilität bezieht sich hier auf die Belegung der Leitungen am LPT-Port. Es hat nichts mit der Verwendung eines Treiberschaltkreises bei den meisten dieser Programmer zu tun. &lt;br /&gt;
&lt;br /&gt;
 LPT-Pinning des STK200&lt;br /&gt;
 SCK   = 6;&lt;br /&gt;
 MOSI  = 7;&lt;br /&gt;
 RESET = 9;&lt;br /&gt;
 MISO  = 10;&lt;br /&gt;
&lt;br /&gt;
=== SP12 kompatible Programmer ===&lt;br /&gt;
Bei dem SP12 (von Steve Bolt) Programmer handelt es sich ursprünglich um eine extrem einfache Lösung, bei der nur drei Schutzwiderstände und keine weitere Pegelanpassung benutzt wurde. Dieser Programmer, zum fast Nulltarif, erfreut sich großer Beliebtheit. Der Hauptgrund dafür liegt aber in seiner Schaltungslösung, die es erlaubt, das Zielsystem über den LPT-Port mit Spannung zu versorgen. Bei der STK200 Schaltung muss der Programmer vom Zielsystem versorgt werden. Es wird beim SP12 also zum Programieren kein zusätzliches Netzteil benötigt. Inzwischen werden ernsthafte SP12 Programmer auch mit einem Bustreiber versehen. &lt;br /&gt;
 &lt;br /&gt;
 LPT-Pinning des SP12&lt;br /&gt;
 VCC   = 4,5,6,7,8;&lt;br /&gt;
 RESET = 3;&lt;br /&gt;
 SCK   = 2;&lt;br /&gt;
 MOSI  = 9;&lt;br /&gt;
 MISO  = 11;&lt;br /&gt;
&lt;br /&gt;
== Pseudo serielle Programmer (SI-Prog) ==&lt;br /&gt;
Ein Programmer, der vor allem wegen seiner guten Unterstützung durch das beliebte PonyProg eine weite Verbreitung erfahren hat, ist der SI-Prog. Dieser wird oft als serieller Programmer bezeichnet. Richtig ist, dass er an den COM-Port des PCs angeschlossen wird. Aber die Schaltung verrät, daß hier die Steuerleitungen wie DTR, RTS und CTS des COM-Ports verwendet werden, um ein [[SPI]]-Protokoll zu fahren. Die eigentlichen Signalleitungen TxD und RxD sind bei diesem Adapter gar nicht angeschlossen. Damit ist es auch beim besten USB-RS232-Adapter nicht möglich, diesen Programmer an einem modernen Notebook anzuschließen, der nur noch über USB verfügt. Deshalb kann PonyProg dann nicht mehr als Programmiertool verwendet werden.&lt;br /&gt;
&lt;br /&gt;
== Echte serielle Programmer ==&lt;br /&gt;
Echte serielle Programmer basieren oft entweder auf dem Atmel Application-Note AN910 oder sind STK500 kompatible Programmer. Allen gemeinsam ist das Vorhandensein eines Controllers mit entsprechender AVR910 oder STK500 kompatibler Firmware. Diese kann meist über einen Bootloader aktualisiert werden. Da ein Controller und eine reguläre RS232 Pegelanpassung (z.B. mit einem MAX232) kostenintensiver als das Material für einen Parallelprogrammer ist, sind diese in der Regel auch teurer. Dafür ist aber eine kompatible Lösung erhältlich, die, wie der STK200, durch die meisten Flash-Tools unterstützt wird und auch mit handelsüblichen USB-Serial-Adaptern betrieben werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das alte Protokoll nach AN910 ist problematisch bei der Unterstützung neuer Controller, denn hier muß der Programmer die ID des Controllers kennen. Für neue Controller braucht man also ein Update der Software im Programmer.  Wichtige Weiterentwicklungen bei den Serialprogrammern ist das AVR911 und das STK500v2 Protokoll. Es sollte beim Neuerwerb darauf geachtet, dass eines dieser aktuellen Protokolle unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
== USB Programmer ==&lt;br /&gt;
[[Bild:USBasp_t85_aufbau.jpg|thumb|Aufbau eines einfachen USBasp]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;tright&amp;quot; style=&amp;quot;clear:none&amp;quot;&amp;gt;[[Bild:USBasp_t85_schaltung.png|thumb|Einfacher USBasp]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Bei USB-Programmern handelt es sich eigentlich nicht um eine eigenständige Gruppe von Programmern, sondern um AVR910- oder STK500-kompatible Lösungen. Das Besondere ist hier, dass der Programmer selbst über eine USB-Schnittstelle verfügt und deswegen ohne Weiteres an neuere PCs angeschlossen werden kann. Unter Windows muss in aller Regel ein entsprechender Treiber installiert werden, der im System einen virtuellen COM-Port zur Verfügung stellt, unter Linux hingegen ist dies normalerweise nicht notwendig, weil solche Geräte von Haus aus unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
Für langsame USB-Geschwindigkeiten kann ein AVR-Mikrocontroller das USB-Interface emulieren. Es gibt Baupläne für günstige Programmierer, die so auf den extra USB Controller verzichten (z.B. USB AVR-Lab, AVR-Doper, USBasp, siehe Weblinks). Das USB-Protokoll ist meistens nur minimalistisch und nicht vollständig umgesetzt, wodurch es theoretisch zu Inkompatibilitäten kommen kann.&lt;br /&gt;
&lt;br /&gt;
Nichts desto trotz hat die Nutzung der AVR als virtuelle USB-Controller den großen Vorteil, dass sich nun ohne SMD-Bauteile auch USB-Programmierer bauen lassen, die an modernen Laptops, ohne serielle Schnittstelle funktionieren.&lt;br /&gt;
&lt;br /&gt;
==JTAG &amp;amp; PDI Programmer==&lt;br /&gt;
Mit veröffentlichung der '''Xmegas''' hat sich ATMEL vom ISP Standard getrennt,&lt;br /&gt;
statt dessen komt '''PDI''' oder '''JTAG''' zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
Anbieter entsprechender Programmieradapter sind z.Zt. spärlich.&lt;br /&gt;
&lt;br /&gt;
Im Internet und auch hier im RN-Wissen stösst man auf der Suche nach JTAG-Programmern schnell auf eine Nachbauversion des JTAG ICE, dieser ist der vorläufer des mmt. aktuellen JTAG ICE MKII. Der JTAG ICE unterstützt nach meinen Recherchen jedoch nicht die aktuellen X-Megas.&lt;br /&gt;
&lt;br /&gt;
Auf der suche nach entsprechende Programmern bin ich, bis auf einen, auf die relativ teuerern und für Hobbyisten unerschwinglichen Programmer gestossen.&lt;br /&gt;
 JTAG ICE MKII [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353]&lt;br /&gt;
 AVR-ONE! [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4279]   &lt;br /&gt;
 AVR-Dragon [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891]&lt;br /&gt;
letzter unterstützt u.a. ISP, JTAG und PDI Programmierung, also alles was man benötigt. &lt;br /&gt;
&lt;br /&gt;
Der '''AVR-Dragon''' ist von den aufgeführten Geräte '''mmt. die günstigste variante''' (ca €50,-) soll allerdings etwas empfindlch sein und über keinerlei Schutzmechanismen verfügen und keinerlei Ausstattung (Kabel/Anleitung) bereit stellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ISP-Anschluss ==&lt;br /&gt;
&lt;br /&gt;
=== 10poliger ISP Anschluss ===&lt;br /&gt;
Die am meisten verwendete Steckerbelegung, nicht nur Im Roboternetz. Genauere Beschreibung unter [[RN-Definitionen]]. Nahezu alle RN-Bauanleitungen nutzen diese Belegung.&lt;br /&gt;
&lt;br /&gt;
 1 - MOSI&lt;br /&gt;
 2 - VCC&lt;br /&gt;
 3 - LED (oft auch unbelegt)&lt;br /&gt;
 4 - GND&lt;br /&gt;
 5 - RST&lt;br /&gt;
 6 - GND&lt;br /&gt;
 7 - SCK&lt;br /&gt;
 8 - GND&lt;br /&gt;
 9 - MISO&lt;br /&gt;
 10 - GND&lt;br /&gt;
&lt;br /&gt;
=== 6poliger ISP Anschluss ===&lt;br /&gt;
Nur in wenigen Roboternetz-Projekten gebräuchlich. Dieser Stecker spart etwas Platz, ist aber teurer als die zehnpolige Variante.  &lt;br /&gt;
 1 - MISO&lt;br /&gt;
 2 - VCC&lt;br /&gt;
 3 - SCK&lt;br /&gt;
 4 - MOSI&lt;br /&gt;
 5 - RST&lt;br /&gt;
 6 - GND&lt;br /&gt;
&lt;br /&gt;
=== Adapter 10polig &amp;lt;-&amp;gt; 6polig ===&lt;br /&gt;
Ein Adapter zur Verbindung der beiden Steckerarten lässt sich einfach auf einem Stück Lochrasterplatine aufbauen.&lt;br /&gt;
Hier ein mögliches Layout, mit dem ein sehr platzsparender Aufbau möglich ist.&lt;br /&gt;
&lt;br /&gt;
Am besten baut man die Schaltung auf einer Platine mit Punktraster auf, dann muss man keine Leiterbahnen auftrennen.&lt;br /&gt;
&lt;br /&gt;
Wichtig ist, dass Pin 3 des zehnpoligen Steckers '''vor dem Löten entfernt wird''' (lässt sich mit einer Zange herausziehen, ggf. vorher den Pin etwas mit dem Lötkolben erwärmen). Dann kann die Masseverbindung von Pin6/sechspol zu Pin4,6,8,10/zehnpol einfach auf der Unterseite durch diese Lücke geführt werden. So ergibt sich ein besonders einfaches Layout ohne Leitungskreuzungen.&lt;br /&gt;
&lt;br /&gt;
Nun werden die Stecker eingelötet, und alle Verbindungen auf der Unterseite der Platine hergestellt. Da sich dabei keine Leitungen überkreuzen, kann unisolierter Draht verwendet werden. Um ihn stabil zu befestigen, kann man ihn noch auf die unbelegten Lötaugen entlang des Drahtes anlöten.&lt;br /&gt;
&lt;br /&gt;
Schließlich empfiehlt es sich (nach erfolgreichem Funktionstest) die Unterseite der Platine zu isolieren (z.B. mit Klebeband), damit keine Kurzschlüsse mit anderen metallischen Gegenständen auftreten können.&lt;br /&gt;
{| border=1&lt;br /&gt;
 |[[Bild:Ispadapter.jpg]]&lt;br /&gt;
 |[[Bild:Ispadapter layout.png]]&lt;br /&gt;
 |-&lt;br /&gt;
 |ISP-Adapter&lt;br /&gt;
 |Lochraster-Layout&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
*[[Benutzer:Martin Fiedler|Martin Fiedler]]&lt;br /&gt;
*Kleinere Änderungen Frank&lt;br /&gt;
*JTAG &amp;amp; PDI Programmer [[Benutzer:Darwin.nuernberg|Darwin.nuernberg]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[AVR-ISP Programmierkabel]]- Bauanleitung Bauanleitung Parallel Programmer ISP&lt;br /&gt;
* [[ISP]]&lt;br /&gt;
* [[RN-Definitionen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.rowalt.de/mc/avr/progd.htm Rowalt Bauanleitung Parallel Programmer]&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF Atmel Serialprogrammer ]&lt;br /&gt;
* [http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html Klaus-Leidinger Serialprogrammer Bauanleitung ]&lt;br /&gt;
* [http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/ Bauanleitung Serialprogrammer Englisch Evertool]&lt;br /&gt;
* [http://www.fischl.de/usbasp/ USBasp von fischl.de: USB-Programmer für Atmel AVR Controller] - Bauanleitung, Weblinks zu Schaltplänen und Layouts (Eagle, PDF), Linux und Win32, Firmware mit Quelldateien, Win32-Treiber.&lt;br /&gt;
* [https://guloshop.de/shop/Mikrocontroller-Programmierung/guloboard-P-mit-Programmer::4.html USBasp mit einfachem Universaladapter für praktisch alle ATtiny und ATmega mit DIP-Gehäuse]&lt;br /&gt;
* [http://www.avr-projekte.de/isp.htm USB-Programmer Bauanleitung]&lt;br /&gt;
* [http://www.matwei.de/doku.php?id=de:elektronik:usbisp USB-Programmer Bauanleitung]&lt;br /&gt;
* [http://www.obdev.at/products/avrusb/avrdoper.html USB-Programmer Bauanleitung] - AVR Doper - High Voltage Programmierung&lt;br /&gt;
* [http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab USB AVR Lab]&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=161 Original Bascom Programmer (USB/Keine Firmware notwendig)]&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=201 original Atmel USB Programmer] &lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=190 Robotikhardware] - Bezugsquelle für Adapter 6 auf 10 und umgekehrt&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=88&amp;amp;products_id=241 ALL-AVR kompatibel zum Atmel MK2 USB Programmer] &lt;br /&gt;
* [http://www.mikrocontroller.net/articles/AVR_In_System_Programmer Übersicht verschiedener Programmierer] (Mikrocontroller.net)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Programmer&amp;diff=21435</id>
		<title>Programmer</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Programmer&amp;diff=21435"/>
				<updated>2012-11-07T20:20:07Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: /* USB Programmer */ Abschnitt aktualisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Als '''Programmer''' wird die Hardwarekomponente bezeichnet, mit der das ausführbare Mikrocontrollerprogramm (Firmware, HEX-File) auf den Controller übertragen wird. Es gibt verschiedene Konzepte der Programmübertragung. Neben dem Konzept des Bootloaders, der Parallelprogrammierung und des [[JTAG]]-Interfaces, spielt bei [[Atmel]] Mikrocontrollern das Verfahren des &amp;quot;serial Download&amp;quot; eine große Rolle. Bekannt ist diese Variante der Programmierung als ISP (In System Programmierung). Dabei wird das [[SPI]] (Serial Processor Interface) genutzt, welches bei fast allen [[AVR]]-Controllern zu finden ist. ISP-Programmer zeichnen sich dadurch aus, dass der Hardwareaufwand für diese sehr gering ist. Das hat natürlich Auswirkungen auf den Preis. Für einen &amp;quot;Standard&amp;quot; [[ISP]] Parallel-Programmer liegen die Materialkosten im Cent-Bereich. Bei solchen &amp;quot;billig&amp;quot; Programmern werden die eigentlichen Programmierprotokolle (siehe Abschnitt Memory Programing in AVR Datenblättern) durch ein entsprechendes Programm auf dem PC erzeugt ([[AVR]]-Prog, PonyProg, YAAP, AVRDUDE, [[Bascom]] usw.) und die Programmerhardware ist bestenfalls zur Pegelanpassung da. Letztlich gibt es sogar derartige Programmer, die nur aus drei Schutzwiderständen bestehen. Meist wird aber ein kleiner preiswerter Treiberbaustein eingebaut, der für eine sichere Datenübertragung auch bei längeren Programmierkabeln sorgt. Damit ist ein extrem günstiger Einstieg in die Programmierung von [[Atmel]] AVR-Controllern möglich. Aufwendiger werden dann Programmer, die tatsächlich über eigene &amp;quot;Intelligenz&amp;quot; verfügen. Dabei handelt es sich in der Regel um so genannte Serial-Programmer. Hier erfolgt die Datenübertragung an den Programmer per serieller Schnittstelle oder über [[USB]]. Der Programmer selbst besitzt einen Controller, der die Daten empfängt und das Programmierprotokoll ausführt. Der weit verbreitete SI-Prog (siehe PonyProg) wird zwar an die Serielle Schnittstelle angeschlossen, ist dem Wesen nach aber den Parallelprogrammern äquivalent (einfache Pegelanpassung, keine eigene Intelligenz). Darin liegt auch die Ursache, warum der SI-Prog nie an einem handelsüblichen [[USB]] zu Serial-Adapter laufen wird.&lt;br /&gt;
&lt;br /&gt;
== Parallelport ISP Programmer ==&lt;br /&gt;
&lt;br /&gt;
=== STK 200 kompatible Programmer ===&lt;br /&gt;
Bei den Parallelportprogrammern handelt es sich oft um Nachbauten von Programmierinterfaces der ersten Starterkits von ATMEL dem STK200 oder STK300. Damit wird auch geworben in dem man diese als STK200 kompatibel oder als sogenannte Standard-ISP-Programmer bezeichnet. Der Vorteil dieser Programmer liegt tatsächlich darin, dass so ziemlich jede Programmersoftware diese unterstützt - nur direkt von AVRStudio geht es nicht. &lt;br /&gt;
Die Kompatibilität bezieht sich hier auf die Belegung der Leitungen am LPT-Port. Es hat nichts mit der Verwendung eines Treiberschaltkreises bei den meisten dieser Programmer zu tun. &lt;br /&gt;
&lt;br /&gt;
 LPT-Pinning des STK200&lt;br /&gt;
 SCK   = 6;&lt;br /&gt;
 MOSI  = 7;&lt;br /&gt;
 RESET = 9;&lt;br /&gt;
 MISO  = 10;&lt;br /&gt;
&lt;br /&gt;
=== SP12 kompatible Programmer ===&lt;br /&gt;
Bei dem SP12 (von Steve Bolt) Programmer handelt es sich ursprünglich um eine extrem einfache Lösung, bei der nur drei Schutzwiderstände und keine weitere Pegelanpassung benutzt wurde. Dieser Programmer, zum fast Nulltarif, erfreut sich großer Beliebtheit. Der Hauptgrund dafür liegt aber in seiner Schaltungslösung, die es erlaubt, das Zielsystem über den LPT-Port mit Spannung zu versorgen. Bei der STK200 Schaltung muss der Programmer vom Zielsystem versorgt werden. Es wird beim SP12 also zum Programieren kein zusätzliches Netzteil benötigt. Inzwischen werden ernsthafte SP12 Programmer auch mit einem Bustreiber versehen. &lt;br /&gt;
 &lt;br /&gt;
 LPT-Pinning des SP12&lt;br /&gt;
 VCC   = 4,5,6,7,8;&lt;br /&gt;
 RESET = 3;&lt;br /&gt;
 SCK   = 2;&lt;br /&gt;
 MOSI  = 9;&lt;br /&gt;
 MISO  = 11;&lt;br /&gt;
&lt;br /&gt;
== Pseudo serielle Programmer (SI-Prog) ==&lt;br /&gt;
Ein Programmer, der vor allem wegen seiner guten Unterstützung durch das beliebte PonyProg eine weite Verbreitung erfahren hat, ist der SI-Prog. Dieser wird oft als serieller Programmer bezeichnet. Richtig ist, dass er an den COM-Port des PCs angeschlossen wird. Aber die Schaltung verrät, daß hier die Steuerleitungen wie DTR, RTS und CTS des COM-Ports verwendet werden, um ein [[SPI]]-Protokoll zu fahren. Die eigentlichen Signalleitungen TxD und RxD sind bei diesem Adapter gar nicht angeschlossen. Damit ist es auch beim besten USB-RS232-Adapter nicht möglich, diesen Programmer an einem modernen Notebook anzuschließen, der nur noch über USB verfügt. Deshalb kann PonyProg dann nicht mehr als Programmiertool verwendet werden.&lt;br /&gt;
&lt;br /&gt;
== Echte serielle Programmer ==&lt;br /&gt;
Echte serielle Programmer basieren oft entweder auf dem Atmel Application-Note AN910 oder sind STK500 kompatible Programmer. Allen gemeinsam ist das Vorhandensein eines Controllers mit entsprechender AVR910 oder STK500 kompatibler Firmware. Diese kann meist über einen Bootloader aktualisiert werden. Da ein Controller und eine reguläre RS232 Pegelanpassung (z.B. mit einem MAX232) kostenintensiver als das Material für einen Parallelprogrammer ist, sind diese in der Regel auch teurer. Dafür ist aber eine kompatible Lösung erhältlich, die, wie der STK200, durch die meisten Flash-Tools unterstützt wird und auch mit handelsüblichen USB-Serial-Adaptern betrieben werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das alte Protokoll nach AN910 ist problematisch bei der Unterstützung neuer Controller, denn hier muß der Programmer die ID des Controllers kennen. Für neue Controller braucht man also ein Update der Software im Programmer.  Wichtige Weiterentwicklungen bei den Serialprogrammern ist das AVR911 und das STK500v2 Protokoll. Es sollte beim Neuerwerb darauf geachtet, dass eines dieser aktuellen Protokolle unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
== USB Programmer ==&lt;br /&gt;
[[Bild:USBasp_t85_schaltung.png|thumb|Einfacher USBasp]][[Bild:USBasp_t85_aufbau.jpg|thumb|Einfacher USBasp, Aufbau]]&lt;br /&gt;
Bei USB-Programmern handelt es sich eigentlich nicht um eine eigenständige Gruppe von Programmern, sondern um AVR910- oder STK500-kompatible Lösungen. Das Besondere ist hier, dass der Programmer selbst über eine USB-Schnittstelle verfügt und deswegen ohne Weiteres an neuere PCs angeschlossen werden kann. Unter Windows muss in aller Regel ein entsprechender Treiber installiert werden, der im System einen virtuellen COM-Port zur Verfügung stellt, unter Linux hingegen ist dies normalerweise nicht notwendig, weil solche Geräte von Haus aus unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
Für langsame USB-Geschwindigkeiten kann ein AVR-Mikrocontroller das USB-Interface emulieren. Es gibt Baupläne für günstige Programmierer, die so auf den extra USB Controller verzichten (z.B. USB AVR-Lab, AVR-Doper, USBasp, siehe Weblinks). Das USB-Protokoll ist meistens nur minimalistisch und nicht vollständig umgesetzt, wodurch es theoretisch zu Inkompatibilitäten kommen kann.&lt;br /&gt;
&lt;br /&gt;
Nichts desto trotz hat die Nutzung der AVR als virtuelle USB-Controller den großen Vorteil, dass sich nun ohne SMD-Bauteile auch USB-Programmierer bauen lassen, die an modernen Laptops, ohne serielle Schnittstelle funktionieren.&lt;br /&gt;
&lt;br /&gt;
==JTAG &amp;amp; PDI Programmer==&lt;br /&gt;
Mit veröffentlichung der '''Xmegas''' hat sich ATMEL vom ISP Standard getrennt,&lt;br /&gt;
statt dessen komt '''PDI''' oder '''JTAG''' zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
Anbieter entsprechender Programmieradapter sind z.Zt. spärlich.&lt;br /&gt;
&lt;br /&gt;
Im Internet und auch hier im RN-Wissen stösst man auf der Suche nach JTAG-Programmern schnell auf eine Nachbauversion des JTAG ICE, dieser ist der vorläufer des mmt. aktuellen JTAG ICE MKII. Der JTAG ICE unterstützt nach meinen Recherchen jedoch nicht die aktuellen X-Megas.&lt;br /&gt;
&lt;br /&gt;
Auf der suche nach entsprechende Programmern bin ich, bis auf einen, auf die relativ teuerern und für Hobbyisten unerschwinglichen Programmer gestossen.&lt;br /&gt;
 JTAG ICE MKII [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353]&lt;br /&gt;
 AVR-ONE! [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4279]   &lt;br /&gt;
 AVR-Dragon [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891]&lt;br /&gt;
letzter unterstützt u.a. ISP, JTAG und PDI Programmierung, also alles was man benötigt. &lt;br /&gt;
&lt;br /&gt;
Der '''AVR-Dragon''' ist von den aufgeführten Geräte '''mmt. die günstigste variante''' (ca €50,-) soll allerdings etwas empfindlch sein und über keinerlei Schutzmechanismen verfügen und keinerlei Ausstattung (Kabel/Anleitung) bereit stellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ISP-Anschluss ==&lt;br /&gt;
&lt;br /&gt;
=== 10poliger ISP Anschluss ===&lt;br /&gt;
Die am meisten verwendete Steckerbelegung, nicht nur Im Roboternetz. Genauere Beschreibung unter [[RN-Definitionen]]. Nahezu alle RN-Bauanleitungen nutzen diese Belegung.&lt;br /&gt;
&lt;br /&gt;
 1 - MOSI&lt;br /&gt;
 2 - VCC&lt;br /&gt;
 3 - LED (oft auch unbelegt)&lt;br /&gt;
 4 - GND&lt;br /&gt;
 5 - RST&lt;br /&gt;
 6 - GND&lt;br /&gt;
 7 - SCK&lt;br /&gt;
 8 - GND&lt;br /&gt;
 9 - MISO&lt;br /&gt;
 10 - GND&lt;br /&gt;
&lt;br /&gt;
=== 6poliger ISP Anschluss ===&lt;br /&gt;
Nur in wenigen Roboternetz-Projekten gebräuchlich. Dieser Stecker spart etwas Platz, ist aber teurer als die zehnpolige Variante.  &lt;br /&gt;
 1 - MISO&lt;br /&gt;
 2 - VCC&lt;br /&gt;
 3 - SCK&lt;br /&gt;
 4 - MOSI&lt;br /&gt;
 5 - RST&lt;br /&gt;
 6 - GND&lt;br /&gt;
&lt;br /&gt;
=== Adapter 10polig &amp;lt;-&amp;gt; 6polig ===&lt;br /&gt;
Ein Adapter zur Verbindung der beiden Steckerarten lässt sich einfach auf einem Stück Lochrasterplatine aufbauen.&lt;br /&gt;
Hier ein mögliches Layout, mit dem ein sehr platzsparender Aufbau möglich ist.&lt;br /&gt;
&lt;br /&gt;
Am besten baut man die Schaltung auf einer Platine mit Punktraster auf, dann muss man keine Leiterbahnen auftrennen.&lt;br /&gt;
&lt;br /&gt;
Wichtig ist, dass Pin 3 des zehnpoligen Steckers '''vor dem Löten entfernt wird''' (lässt sich mit einer Zange herausziehen, ggf. vorher den Pin etwas mit dem Lötkolben erwärmen). Dann kann die Masseverbindung von Pin6/sechspol zu Pin4,6,8,10/zehnpol einfach auf der Unterseite durch diese Lücke geführt werden. So ergibt sich ein besonders einfaches Layout ohne Leitungskreuzungen.&lt;br /&gt;
&lt;br /&gt;
Nun werden die Stecker eingelötet, und alle Verbindungen auf der Unterseite der Platine hergestellt. Da sich dabei keine Leitungen überkreuzen, kann unisolierter Draht verwendet werden. Um ihn stabil zu befestigen, kann man ihn noch auf die unbelegten Lötaugen entlang des Drahtes anlöten.&lt;br /&gt;
&lt;br /&gt;
Schließlich empfiehlt es sich (nach erfolgreichem Funktionstest) die Unterseite der Platine zu isolieren (z.B. mit Klebeband), damit keine Kurzschlüsse mit anderen metallischen Gegenständen auftreten können.&lt;br /&gt;
{| border=1&lt;br /&gt;
 |[[Bild:Ispadapter.jpg]]&lt;br /&gt;
 |[[Bild:Ispadapter layout.png]]&lt;br /&gt;
 |-&lt;br /&gt;
 |ISP-Adapter&lt;br /&gt;
 |Lochraster-Layout&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
*[[Benutzer:Martin Fiedler|Martin Fiedler]]&lt;br /&gt;
*Kleinere Änderungen Frank&lt;br /&gt;
*JTAG &amp;amp; PDI Programmer [[Benutzer:Darwin.nuernberg|Darwin.nuernberg]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[AVR-ISP Programmierkabel]]- Bauanleitung Bauanleitung Parallel Programmer ISP&lt;br /&gt;
* [[ISP]]&lt;br /&gt;
* [[RN-Definitionen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.rowalt.de/mc/avr/progd.htm Rowalt Bauanleitung Parallel Programmer]&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF Atmel Serialprogrammer ]&lt;br /&gt;
* [http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html Klaus-Leidinger Serialprogrammer Bauanleitung ]&lt;br /&gt;
* [http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/ Bauanleitung Serialprogrammer Englisch Evertool]&lt;br /&gt;
* [http://www.fischl.de/usbasp/ USBasp von fischl.de: USB-Programmer für Atmel AVR Controller] - Bauanleitung, Weblinks zu Schaltplänen und Layouts (Eagle, PDF), Linux und Win32, Firmware mit Quelldateien, Win32-Treiber.&lt;br /&gt;
* [https://guloshop.de/shop/Mikrocontroller-Programmierung/guloboard-P-mit-Programmer::4.html USBasp mit einfachem Universaladapter für praktisch alle ATtiny und ATmega mit DIP-Gehäuse]&lt;br /&gt;
* [http://www.avr-projekte.de/isp.htm USB-Programmer Bauanleitung]&lt;br /&gt;
* [http://www.matwei.de/doku.php?id=de:elektronik:usbisp USB-Programmer Bauanleitung]&lt;br /&gt;
* [http://www.obdev.at/products/avrusb/avrdoper.html USB-Programmer Bauanleitung] - AVR Doper - High Voltage Programmierung&lt;br /&gt;
* [http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab USB AVR Lab]&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=161 Original Bascom Programmer (USB/Keine Firmware notwendig)]&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=201 original Atmel USB Programmer] &lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=190 Robotikhardware] - Bezugsquelle für Adapter 6 auf 10 und umgekehrt&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=88&amp;amp;products_id=241 ALL-AVR kompatibel zum Atmel MK2 USB Programmer] &lt;br /&gt;
* [http://www.mikrocontroller.net/articles/AVR_In_System_Programmer Übersicht verschiedener Programmierer] (Mikrocontroller.net)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:USBasp_t85_aufbau.jpg&amp;diff=21434</id>
		<title>Datei:USBasp t85 aufbau.jpg</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:USBasp_t85_aufbau.jpg&amp;diff=21434"/>
				<updated>2012-11-07T19:58:58Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Breadboard-Aufbau eines sehr einfachen Programmers für die USB-Schnittstelle. Basis: Open-Source-Software von fischl.de und obdev.at.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Breadboard-Aufbau eines sehr einfachen Programmers für die USB-Schnittstelle. Basis: Open-Source-Software von fischl.de und obdev.at.&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:USBasp_t85_schaltung.png&amp;diff=21433</id>
		<title>Datei:USBasp t85 schaltung.png</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:USBasp_t85_schaltung.png&amp;diff=21433"/>
				<updated>2012-11-07T19:57:58Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Schaltung eines sehr einfachen Programmers für die USB-Schnittstelle. Basis: Open-Source-Software von fischl.de und obdev.at.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schaltung eines sehr einfachen Programmers für die USB-Schnittstelle. Basis: Open-Source-Software von fischl.de und obdev.at.&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega168&amp;diff=19847</id>
		<title>ATmega168</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega168&amp;diff=19847"/>
				<updated>2012-06-01T19:02:14Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: ATMega168 wurde nach ATmega168 verschoben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ATmega48 ATmega88 ATmega168 ATmega328]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATMega168&amp;diff=19848</id>
		<title>ATMega168</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATMega168&amp;diff=19848"/>
				<updated>2012-06-01T19:02:14Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: ATMega168 wurde nach ATmega168 verschoben: Schreibfehler korrigiert (großes M im Titel)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[ATmega168]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega168&amp;diff=19846</id>
		<title>ATmega168</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega168&amp;diff=19846"/>
				<updated>2012-06-01T19:00:38Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: aktualisiert wegen Seiten-Verschiebung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ATmega48 ATmega88 ATmega168 ATmega328]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:ATmega8&amp;diff=19845</id>
		<title>Diskussion:ATmega8</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:ATmega8&amp;diff=19845"/>
				<updated>2012-06-01T18:57:30Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: /* Verschieben nach &amp;quot;ATmega8&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Widerstand am RESET=&lt;br /&gt;
Der Widerstand von VCC nach RESET ist bei einer Minimalschaltung überflüssig, da AVRs intern einen Pullup am Reset-Pin haben von ca 50k&amp;amp;Omega;. --[[Benutzer:SprinterSB|SprinterSB]] 11:44, 4. Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Verschieben nach &amp;quot;ATmega8&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Hallo! Könnte man den komplizierten Artikel-Titel nicht eindampfen und einfach &amp;quot;ATmega8&amp;quot; schreiben? Auch der Name des Artikels &amp;quot;Atmel Controller Mega48 Mega88 Mega168&amp;quot; ist unnötig lang. Mein Vorschlag wäre: &amp;quot;ATmega48 ATmega88 ATmega168 ATmega328&amp;quot;. Das wäre außerdem aktueller, weil der ATmega328 bisher im Titel fehlt. --[[Benutzer:Trekko|Trekko]] 01:06, 27. Mai 2012 (CEST)&lt;br /&gt;
:OK, hab die Titel vereinheitlicht und um die neu aufgenommenen Typen ergänzt. --[[Benutzer:Trekko|Trekko]] 20:57, 1. Jun 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Programmer&amp;diff=19844</id>
		<title>Programmer</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Programmer&amp;diff=19844"/>
				<updated>2012-06-01T18:54:58Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: /* Weblinks */ USBasp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Als '''Programmer''' wird die Hardwarekomponente bezeichnet, mit der das ausführbare Mikrocontrollerprogramm (Firmware, HEX-File) auf den Controller übertragen wird. Es gibt verschiedene Konzepte der Programmübertragung. Neben dem Konzept des Bootloaders, der Parallelprogrammierung und des [[JTAG]]-Interfaces, spielt bei [[Atmel]] Mikrocontrollern das Verfahren des &amp;quot;serial Download&amp;quot; eine große Rolle. Bekannt ist diese Variante der Programmierung als ISP (In System Programmierung). Dabei wird das [[SPI]] (Serial Processor Interface) genutzt, welches bei fast allen [[AVR]]-Controllern zu finden ist. ISP-Programmer zeichnen sich dadurch aus, dass der Hardwareaufwand für diese sehr gering ist. Das hat natürlich Auswirkungen auf den Preis. Für einen &amp;quot;Standard&amp;quot; [[ISP]] Parallel-Programmer liegen die Materialkosten im Cent-Bereich. Bei solchen &amp;quot;billig&amp;quot; Programmern werden die eigentlichen Programmierprotokolle (siehe Abschnitt Memory Programing in AVR Datenblättern) durch ein entsprechendes Programm auf dem PC erzeugt ([[AVR]]-Prog, PonyProg, YAAP, AVRDUDE, [[Bascom]] usw.) und die Programmerhardware ist bestenfalls zur Pegelanpassung da. Letztlich gibt es sogar derartige Programmer, die nur aus drei Schutzwiderständen bestehen. Meist wird aber ein kleiner preiswerter Treiberbaustein eingebaut, der für eine sichere Datenübertragung auch bei längeren Programmierkabeln sorgt. Damit ist ein extrem günstiger Einstieg in die Programmierung von [[Atmel]] AVR-Controllern möglich. Aufwendiger werden dann Programmer, die tatsächlich über eigene &amp;quot;Intelligenz&amp;quot; verfügen. Dabei handelt es sich in der Regel um so genannte Serial-Programmer. Hier erfolgt die Datenübertragung an den Programmer per serieller Schnittstelle oder über [[USB]]. Der Programmer selbst besitzt einen Controller, der die Daten empfängt und das Programmierprotokoll ausführt. Der weit verbreitete SI-Prog (siehe PonyProg) wird zwar an die Serielle Schnittstelle angeschlossen, ist dem Wesen nach aber den Parallelprogrammern äquivalent (einfache Pegelanpassung, keine eigene Intelligenz). Darin liegt auch die Ursache, warum der SI-Prog nie an einem handelsüblichen [[USB]] zu Serial-Adapter laufen wird.&lt;br /&gt;
&lt;br /&gt;
== Parallelport ISP Programmer ==&lt;br /&gt;
&lt;br /&gt;
=== STK 200 kompatible Programmer ===&lt;br /&gt;
Bei den Parallelportprogrammern handelt es sich oft um Nachbauten von Programmierinterfaces der ersten Starterkits von ATMEL dem STK200 oder STK300. Damit wird auch geworben in dem man diese als STK200 kompatibel oder als sogenannte Standard-ISP-Programmer bezeichnet. Der Vorteil dieser Programmer liegt tatsächlich darin, dass so ziemlich jede Programmersoftware diese unterstützt - nur direkt von AVRStudio geht es nicht. &lt;br /&gt;
Die Kompatibilität bezieht sich hier auf die Belegung der Leitungen am LPT-Port. Es hat nichts mit der Verwendung eines Treiberschaltkreises bei den meisten dieser Programmer zu tun. &lt;br /&gt;
&lt;br /&gt;
 LPT-Pinning des STK200&lt;br /&gt;
 SCK   = 6;&lt;br /&gt;
 MOSI  = 7;&lt;br /&gt;
 RESET = 9;&lt;br /&gt;
 MISO  = 10;&lt;br /&gt;
&lt;br /&gt;
=== SP12 kompatible Programmer ===&lt;br /&gt;
Bei dem SP12 (von Steve Bolt) Programmer handelt es sich ursprünglich um eine extrem einfache Lösung, bei der nur drei Schutzwiderstände und keine weitere Pegelanpassung benutzt wurde. Dieser Programmer, zum fast Nulltarif, erfreut sich großer Beliebtheit. Der Hauptgrund dafür liegt aber in seiner Schaltungslösung, die es erlaubt, das Zielsystem über den LPT-Port mit Spannung zu versorgen. Bei der STK200 Schaltung muss der Programmer vom Zielsystem versorgt werden. Es wird beim SP12 also zum Programieren kein zusätzliches Netzteil benötigt. Inzwischen werden ernsthafte SP12 Programmer auch mit einem Bustreiber versehen. &lt;br /&gt;
 &lt;br /&gt;
 LPT-Pinning des SP12&lt;br /&gt;
 VCC   = 4,5,6,7,8;&lt;br /&gt;
 RESET = 3;&lt;br /&gt;
 SCK   = 2;&lt;br /&gt;
 MOSI  = 9;&lt;br /&gt;
 MISO  = 11;&lt;br /&gt;
&lt;br /&gt;
== Pseudo serielle Programmer (SI-Prog) ==&lt;br /&gt;
Ein Programmer, der vor allem wegen seiner guten Unterstützung durch das beliebte PonyProg eine weite Verbreitung erfahren hat, ist der SI-Prog. Dieser wird oft als serieller Programmer bezeichnet. Richtig ist, dass er an den COM-Port des PCs angeschlossen wird. Aber die Schaltung verrät, daß hier die Steuerleitungen wie DTR, RTS und CTS des COM-Ports verwendet werden, um ein [[SPI]]-Protokoll zu fahren. Die eigentlichen Signalleitungen TxD und RxD sind bei diesem Adapter gar nicht angeschlossen. Damit ist es auch beim besten USB-RS232-Adapter nicht möglich, diesen Programmer an einem modernen Notebook anzuschließen, der nur noch über USB verfügt. Deshalb kann PonyProg dann nicht mehr als Programmiertool verwendet werden.&lt;br /&gt;
&lt;br /&gt;
== Echte serielle Programmer ==&lt;br /&gt;
Echte serielle Programmer basieren oft entweder auf dem Atmel Application-Note AN910 oder sind STK500 kompatible Programmer. Allen gemeinsam ist das Vorhandensein eines Controllers mit entsprechender AVR910 oder STK500 kompatibler Firmware. Diese kann meist über einen Bootloader aktualisiert werden. Da ein Controller und eine reguläre RS232 Pegelanpassung (z.B. mit einem MAX232) kostenintensiver als das Material für einen Parallelprogrammer ist, sind diese in der Regel auch teurer. Dafür ist aber eine kompatible Lösung erhältlich, die, wie der STK200, durch die meisten Flash-Tools unterstützt wird und auch mit handelsüblichen USB-Serial-Adaptern betrieben werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das alte Protokoll nach AN910 ist problematisch bei der Unterstützung neuer Controller, denn hier muß der Programmer die ID des Controllers kennen. Für neue Controller braucht man also ein Update der Software im Programmer.  Wichtige Weiterentwicklungen bei den Serialprogrammern ist das AVR911 und das STK500v2 Protokoll. Es sollte beim Neuerwerb darauf geachtet, dass eines dieser aktuellen Protokolle unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
== USB Programmer ==&lt;br /&gt;
Bei USB-Programmern handelt es sich eigentlich nicht um eine eigenständige Gruppe von Programmern, sondern um AVR910 oder STK500 kompatible Lösungen. Das besondere ist hier, dass der Programmer selbst über einen USB-Controller verfügt. Dabei muss ein Treiber für diesen Controller installiert werden, der im System einen virtuellen COM-Port zur Verfügung stellt. Beim Betrieb dieser Programmer gibt es keine Unterschiede zu den seriellen Programmern. Leider sind USB Programmer dadurch, dass die USB Controller recht teuer und ausschließlich in SMD verfügbar sind, als Selbstbauprojekte für Anfänger ungeeignet.&lt;br /&gt;
&lt;br /&gt;
Für die langsamste USB-Geschwindigkeit kann ein AVR Controller das USB Interface auch emulieren. Es gibt Baupläne für günstige Programmierer, die so auf den extra USB Controller verzichten (z.B. USB AVR-Lab, AVR-Doper, siehe Weblinks).  Das USB-Protokoll ist meistens nur minimalistisch und nicht vollständig umgesetzt, wodurch es zu Inkompatibilitäten kommen kann.&lt;br /&gt;
&lt;br /&gt;
Nichts desto trotz hat die Nutzung der AVR-Controller den großen Vorteil, dass sich nun ohne SMD-Bauteile auch USB-Programmierer bauen lassen, die an modernen Laptops, ohne serielle Schnittstelle funktionieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JTAG &amp;amp; PDI Programmer==&lt;br /&gt;
Mit veröffentlichung der '''Xmegas''' hat sich ATMEL vom ISP Standard getrennt,&lt;br /&gt;
statt dessen komt '''PDI''' oder '''JTAG''' zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
Anbieter entsprechender Programmieradapter sind z.Zt. spärlich.&lt;br /&gt;
&lt;br /&gt;
Im Internet und auch hier im RN-Wissen stösst man auf der Suche nach JTAG-Programmern schnell auf eine Nachbauversion des JTAG ICE, dieser ist der vorläufer des mmt. aktuellen JTAG ICE MKII. Der JTAG ICE unterstützt nach meinen Recherchen jedoch nicht die aktuellen X-Megas.&lt;br /&gt;
&lt;br /&gt;
Auf der suche nach entsprechende Programmern bin ich, bis auf einen, auf die relativ teuerern und für Hobbyisten unerschwinglichen Programmer gestossen.&lt;br /&gt;
 JTAG ICE MKII [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353]&lt;br /&gt;
 AVR-ONE! [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4279]   &lt;br /&gt;
 AVR-Dragon [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891]&lt;br /&gt;
letzter unterstützt u.a. ISP, JTAG und PDI Programmierung, also alles was man benötigt. &lt;br /&gt;
&lt;br /&gt;
Der '''AVR-Dragon''' ist von den aufgeführten Geräte '''mmt. die günstigste variante''' (ca €50,-) soll allerdings etwas empfindlch sein und über keinerlei Schutzmechanismen verfügen und keinerlei Ausstattung (Kabel/Anleitung) bereit stellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ISP-Anschluss ==&lt;br /&gt;
&lt;br /&gt;
=== 10poliger ISP Anschluss ===&lt;br /&gt;
Die am meisten verwendete Steckerbelegung, nicht nur Im Roboternetz. Genauere Beschreibung unter [[RN-Definitionen]]. Nahezu alle RN-Bauanleitungen nutzen diese Belegung.&lt;br /&gt;
&lt;br /&gt;
 1 - MOSI&lt;br /&gt;
 2 - VCC&lt;br /&gt;
 3 - LED (oft auch unbelegt)&lt;br /&gt;
 4 - GND&lt;br /&gt;
 5 - RST&lt;br /&gt;
 6 - GND&lt;br /&gt;
 7 - SCK&lt;br /&gt;
 8 - GND&lt;br /&gt;
 9 - MISO&lt;br /&gt;
 10 - GND&lt;br /&gt;
&lt;br /&gt;
=== 6poliger ISP Anschluss ===&lt;br /&gt;
Nur in wenigen Roboternetz-Projekten gebräuchlich. Dieser Stecker spart etwas Platz, ist aber teurer als die zehnpolige Variante.  &lt;br /&gt;
 1 - MISO&lt;br /&gt;
 2 - VCC&lt;br /&gt;
 3 - SCK&lt;br /&gt;
 4 - MOSI&lt;br /&gt;
 5 - RST&lt;br /&gt;
 6 - GND&lt;br /&gt;
&lt;br /&gt;
=== Adapter 10polig &amp;lt;-&amp;gt; 6polig ===&lt;br /&gt;
Ein Adapter zur Verbindung der beiden Steckerarten lässt sich einfach auf einem Stück Lochrasterplatine aufbauen.&lt;br /&gt;
Hier ein mögliches Layout, mit dem ein sehr platzsparender Aufbau möglich ist.&lt;br /&gt;
&lt;br /&gt;
Am besten baut man die Schaltung auf einer Platine mit Punktraster auf, dann muss man keine Leiterbahnen auftrennen.&lt;br /&gt;
&lt;br /&gt;
Wichtig ist, dass Pin 3 des zehnpoligen Steckers '''vor dem Löten entfernt wird''' (lässt sich mit einer Zange herausziehen, ggf. vorher den Pin etwas mit dem Lötkolben erwärmen). Dann kann die Masseverbindung von Pin6/sechspol zu Pin4,6,8,10/zehnpol einfach auf der Unterseite durch diese Lücke geführt werden. So ergibt sich ein besonders einfaches Layout ohne Leitungskreuzungen.&lt;br /&gt;
&lt;br /&gt;
Nun werden die Stecker eingelötet, und alle Verbindungen auf der Unterseite der Platine hergestellt. Da sich dabei keine Leitungen überkreuzen, kann unisolierter Draht verwendet werden. Um ihn stabil zu befestigen, kann man ihn noch auf die unbelegten Lötaugen entlang des Drahtes anlöten.&lt;br /&gt;
&lt;br /&gt;
Schließlich empfiehlt es sich (nach erfolgreichem Funktionstest) die Unterseite der Platine zu isolieren (z.B. mit Klebeband), damit keine Kurzschlüsse mit anderen metallischen Gegenständen auftreten können.&lt;br /&gt;
{| border=1&lt;br /&gt;
 |[[Bild:Ispadapter.jpg]]&lt;br /&gt;
 |[[Bild:Ispadapter layout.png]]&lt;br /&gt;
 |-&lt;br /&gt;
 |ISP-Adapter&lt;br /&gt;
 |Lochraster-Layout&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
*[[Benutzer:Martin Fiedler|Martin Fiedler]]&lt;br /&gt;
*Kleinere Änderungen Frank&lt;br /&gt;
*JTAG &amp;amp; PDI Programmer [[Benutzer:Darwin.nuernberg|Darwin.nuernberg]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[AVR-ISP Programmierkabel]]- Bauanleitung Bauanleitung Parallel Programmer ISP&lt;br /&gt;
* [[ISP]]&lt;br /&gt;
* [[RN-Definitionen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.rowalt.de/mc/avr/progd.htm Rowalt Bauanleitung Parallel Programmer]&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF Atmel Serialprogrammer ]&lt;br /&gt;
* [http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html Klaus-Leidinger Serialprogrammer Bauanleitung ]&lt;br /&gt;
* [http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/ Bauanleitung Serialprogrammer Englisch Evertool]&lt;br /&gt;
* [http://www.fischl.de/usbasp/ USBasp von fischl.de: USB-Programmer für Atmel AVR Controller] - Bauanleitung, Weblinks zu Schaltplänen und Layouts (Eagle, PDF), Linux und Win32, Firmware mit Quelldateien, Win32-Treiber.&lt;br /&gt;
* [https://guloshop.de/shop/Mikrocontroller-Programmierung/guloboard-P-mit-Programmer::4.html USBasp mit einfachem Universaladapter für praktisch alle ATtiny und ATmega mit DIP-Gehäuse]&lt;br /&gt;
* [http://www.avr-projekte.de/isp.htm USB-Programmer Bauanleitung]&lt;br /&gt;
* [http://www.matwei.de/doku.php?id=de:elektronik:usbisp USB-Programmer Bauanleitung]&lt;br /&gt;
* [http://www.obdev.at/products/avrusb/avrdoper.html USB-Programmer Bauanleitung] - AVR Doper - High Voltage Programmierung&lt;br /&gt;
* [http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab USB AVR Lab]&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=161 Original Bascom Programmer (USB/Keine Firmware notwendig)]&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=201 original Atmel USB Programmer] &lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=190 Robotikhardware] - Bezugsquelle für Adapter 6 auf 10 und umgekehrt&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=88&amp;amp;products_id=241 ALL-AVR kompatibel zum Atmel MK2 USB Programmer] &lt;br /&gt;
* [http://www.mikrocontroller.net/articles/AVR_In_System_Programmer Übersicht verschiedener Programmierer] (Mikrocontroller.net)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega16_ATmega32_ATmega644&amp;diff=19842</id>
		<title>ATmega16 ATmega32 ATmega644</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega16_ATmega32_ATmega644&amp;diff=19842"/>
				<updated>2012-06-01T18:35:55Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Atmel Controller Mega16 und Mega32 wurde nach ATmega16 ATmega32 ATmega644 verschoben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Merkmale und Pinbelegung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|{{Blauetabelle_Felder_zentriert}} width=50%&lt;br /&gt;
 |&lt;br /&gt;
 |'''Mega 16'''&lt;br /&gt;
 |'''Mega 32'''&lt;br /&gt;
 |'''Mega 644'''&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Gehäuse'''&lt;br /&gt;
 |DIL-40&lt;br /&gt;
 |DIL-40&lt;br /&gt;
 |DIL-40&lt;br /&gt;
 |-&lt;br /&gt;
 |'''MHz'''&lt;br /&gt;
 |max. 16&lt;br /&gt;
 |max. 16&lt;br /&gt;
 |max. 20&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Flash'''&lt;br /&gt;
 |16 KB&lt;br /&gt;
 |32 KB&lt;br /&gt;
 |64 KB&lt;br /&gt;
 |-&lt;br /&gt;
 |'''EEProm'''&lt;br /&gt;
 |512 Byte&lt;br /&gt;
 |1 KB&lt;br /&gt;
 |2 KB&lt;br /&gt;
 |-&lt;br /&gt;
 |'''RAM'''&lt;br /&gt;
 |1 KB&lt;br /&gt;
 |2 KB&lt;br /&gt;
 |4 KB&lt;br /&gt;
 |-&lt;br /&gt;
 |'''I/O'''&lt;br /&gt;
 |32&lt;br /&gt;
 |32&lt;br /&gt;
 |32&lt;br /&gt;
 |-&lt;br /&gt;
 |'''PWM'''&lt;br /&gt;
 |4&lt;br /&gt;
 |4&lt;br /&gt;
 |6&lt;br /&gt;
 |-&lt;br /&gt;
 |'''ext. INT'''&lt;br /&gt;
 |3&lt;br /&gt;
 |3&lt;br /&gt;
 |32&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Ähnlich dem Mega644 gibt es mit Mega164, Mega324 und Mega1284 auch noch Versionen mit weniger und mehr Speicher. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Mega1632.gif|center]]&lt;br /&gt;
[[Bild:PinoutATMega644.gif|center]]&lt;br /&gt;
&lt;br /&gt;
== Einfache Grundschaltung ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:avrtutorial_grundschaltung_mitquarz.gif|center|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weitere Grundschaltungen im Artikel [[AVR-Einstieg leicht gemacht]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Internes zum Atmega32==&lt;br /&gt;
&lt;br /&gt;
Wenn man das erste Mal mit solchen komplizierten Geräten wie Micro-Controllern konfrontiert wird, kann es schon sein, daß man vor Ehrfurcht erschaudert. Und auch wenn man von Bits und Bytes durchaus eine Ahnung hat, ist allein schon der Umfang des Datasheets möglicherweise abschreckend. &lt;br /&gt;
Es soll hier versucht werden darzustellen, daß die ganze Sache nun so schlimm auch wieder nicht ist, wenn man sich den Aufbau eines typischen Vertreters der ATMEL Microcontroller etwas näher betrachtet.&lt;br /&gt;
&lt;br /&gt;
===Architektur Überblick===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Avr.jpg]]Quelle:www.atmel.com&lt;br /&gt;
&lt;br /&gt;
Dieses Bild stammt aus dem Datasheet. Das haben wir wohl schon alle mal gesehen, und vermittelt dem Anfänger eigentlich nur, daß in dem Chip offenbar eine Menge Zeugs drinnen ist. Und da die meisten Pfeile in beide Richtungen zeigen, kann man sich auch nicht recht vorstellen, was da eigentlich in welcher Folge abläuft.  &lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
Das &amp;quot;Herz&amp;quot; des Controllers ist im mittleren Bereich links, das ist die &amp;quot;CPU&amp;quot; (= Zentral-Processor). Von hier aus wird all das Drumherum gesteuert, hier landet das Programm, das wir mit mit irgendeinem Compiler erstellt haben. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Avrcpu.jpg]]Quelle:www.atmel.com&lt;br /&gt;
&lt;br /&gt;
Der Rest von dem ganzen Atmega32 ist die &amp;quot;Peripherie&amp;quot;, das sind eine Reihe von Einzelgeräten, die alle ihre speziellen Funktionen und Aufgaben haben. Da liegen auch hauptsächlich die Unterschiede zwischen den verschiedenen Micro-Controllern, denn ein kleiner (Tiny) hat weniger solche Geräte und braucht dadurch natürlich auch weniger Pins. &lt;br /&gt;
&lt;br /&gt;
Sehr ähnlich, wenn nicht identisch, ist bei allen AVR-Controllern diese CPU aufgebaut, daher ist es zum Verständnis unerlässlich, sich damit näher zu beschäftigen. &lt;br /&gt;
&lt;br /&gt;
====Program Flash====&lt;br /&gt;
Was da so ein kleines Kästchen ist, das ist der Programmspeicher, der beim Atmega32 immerhin 32k groß ist.&lt;br /&gt;
====Program Counter====&lt;br /&gt;
(=Befehlszähler) beinhaltet IMMER die Adresse des nächsten Befehls im Programmspeicher&lt;br /&gt;
====Instruction Register====&lt;br /&gt;
hier landet der Inhalt des Programmspeichers von der Adresse &amp;quot;Befehlszähler&amp;quot; immer zuerst, da ja der AVR erstmal selber gucken muß, was für ein Befehl das wohl ist.&lt;br /&gt;
Jedes Befehlswort beinhaltet (kodiert) drei Dinge: &amp;quot;WAS&amp;quot;, &amp;quot;WOHER&amp;quot; und &amp;quot;WOHIN&amp;quot;. &lt;br /&gt;
Einiges kann direkt im SRAM oder in den Register eine Auswahl treffen, einiges muß weiter zum&lt;br /&gt;
====Instruction Decoder====&lt;br /&gt;
Je nach Befehl müssen Datenrichtungen eingestellt werden, und etliche Schalter bedient werden. (CONTROL-LINES)&lt;br /&gt;
====SRAM====&lt;br /&gt;
Das ist der frei verwendbare Schreib- und Lesespeicher, beim Atmeg32 2k (2048 Byte)&lt;br /&gt;
====Stack Pointer====&lt;br /&gt;
Der &amp;quot;Stapel-Zeiger&amp;quot; kann ausschließlich den SRAM adressieren. Aber dazu kommen wir noch&lt;br /&gt;
&lt;br /&gt;
====General Purpose Register (GPR)====&lt;br /&gt;
Wie der Name sagt, das sind 32 Bytes für den allgemeinen Gebrauch. Bezeichnet werden sie als R0 (Addresse $0000) bis R31 (Addresse $001F). Die meisten Maschinenbefehle des AVR beziehen sich darauf, wobei einige Unterschiede zwischen R0 - R15 und R16 - R31 gemacht werden. Für die Register R0-R15 besteht die Einschränkung, das die Befehle mit einer 8 Bit Konstante (z.B. ANDI  für die UND-Verknüpfung mit einer Konstante) nicht zur Verfügung stehen. R26 bis R31 können auch als Pointer-Register X, Y u. Z mit ein paar Extras verwendet werden. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Avrgpr.jpg]]Quelle:www.atmel.com&lt;br /&gt;
&lt;br /&gt;
====ALU====&lt;br /&gt;
Arithmetische-Logische-Einheit. Die Register R0 - R31 können ihre Werte da anlegen, die ALU macht dann den eigentlichen Befehl damit. Also Addieren, Subtrahieren, usw.  &lt;br /&gt;
Das Ergebnis landet dann wieder in einen der Register R0 - R31. &lt;br /&gt;
Als Nebenprodukt gibt es zusätzlich ein paar Bits, die im&lt;br /&gt;
&lt;br /&gt;
====STATUS REGISTER====&lt;br /&gt;
landen, wie eben das &amp;quot;ZERO&amp;quot;-Bit, das &amp;quot;CARRY&amp;quot;-Bit usw. &lt;br /&gt;
&lt;br /&gt;
====Adressen Mapping====&lt;br /&gt;
Damit es einfacher ist, Input- und Output-Daten immer ins richtige Kästchen reinzutun oder zu holen, gibt das &amp;quot;Address-Mapping&amp;quot;. Es wird einfach eine fortlaufende Adresse angegeben, aber je nach Werte-Bereich landet man ganz woanders. &lt;br /&gt;
[[Bild:Adrmap.jpg]]&lt;br /&gt;
=====REGISTER=====&lt;br /&gt;
Das sind die bereits oben erwähnten &amp;quot;Allgemeinen Register&amp;quot; (GPR)&lt;br /&gt;
=====I/O=====&lt;br /&gt;
Wenn man hier schreibt oder liest, landet man in Wirklichkeit bei den Kontroll-Schaltern von einem der &amp;quot;Peripheriegeräte&amp;quot;. Da gibt es zum Beispiel Stellen, wenn man da reinschreibt, verändert man irgendeinen PIN aussen am Controller. Auch der Stack-pointer und das Status-Register haben hier einen Platz.&lt;br /&gt;
&lt;br /&gt;
=====SRAM=====&lt;br /&gt;
ist der auch schon erwähnte frei verfügbare Schreib-und Lesespeicher. Beim einigen neueren µCs beginnt das SRAM erst bei einer etwas höheren Adresse, beim Mega644 z.B. erst bei $0100. Davor sind dann noch SFRs, die wie SRAM angesprochen werden müssen.&lt;br /&gt;
&lt;br /&gt;
===Maschinen-Code===&lt;br /&gt;
&lt;br /&gt;
====Aufbau====&lt;br /&gt;
Eine Assembler Source-Zeile, schematisch:&lt;br /&gt;
 '''Command   Argument1 , Argument2'''     ; die Argumente sind optionell, je nach Befehl&lt;br /&gt;
&lt;br /&gt;
Jede Instruktion ist (mindestens) 16 Bit (zwei Bytes) breit. Hier ein paar Befehle, die Bits in den Spalten von Bit 15 (MSB)  bis Bit  0 (LSB), links nach rechts&lt;br /&gt;
&lt;br /&gt;
[[Bild:Code1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Der Befehle haben nicht einfach eine Nummer von 0 - 65535, wie man vielleicht erwarten würde, sondern die Befehl-Bits sind mit den Argumenten in recht seltsamer Weise gemischt in diese beiden Bytes hineincodiert.&lt;br /&gt;
Der Grund ist der, daß die Argumente ja mal mehr, mal weniger Platz beanspruchen, das heißt, für den eigentlichen Befehlscode bleiben u.U. recht wenig Bits übrig. &lt;br /&gt;
&lt;br /&gt;
* Die erste Command-Selektion erfolgt mit den Bits A u. B (s.o.): Im obigen Beispiel steht dort immer &amp;quot;10&amp;quot;.&lt;br /&gt;
* Dann ist &amp;quot;C&amp;quot; zu prüfen: &lt;br /&gt;
Steht dort &amp;quot;0&amp;quot;, ist es einer der vier LD/ST Befehle&lt;br /&gt;
Ist dort aber &amp;quot;1&amp;quot;, &lt;br /&gt;
* geht es weiter mit den Bits in den Spalten &amp;quot;D&amp;quot; und &amp;quot;E&amp;quot;  (und so fort)&lt;br /&gt;
&lt;br /&gt;
Die beiden Befehle &amp;quot;JMP&amp;quot; und &amp;quot;CALL&amp;quot; kommen mit den 16 Bits garnicht aus, da wird auch das nächste Wort gelesen, das den restlichen Teil der Zieladresse beinhaltet. (Dadurch brauchen sie auch einen Clock-Cycle mehr)&lt;br /&gt;
&lt;br /&gt;
=====Details=====&lt;br /&gt;
Schauen wir uns noch ein paar Bits genauer an. &lt;br /&gt;
======LD / ST======&lt;br /&gt;
Die Bits A, B u. C dienen zu Identifizierung. Zur weiteren Unterscheidung bleiben noch die beiden anderen farbig unterlegten Bits&lt;br /&gt;
* 2&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt;  ==&amp;gt; LD (SRAM --&amp;gt; Register) oder ST (Register --&amp;gt; SRAM)&lt;br /&gt;
* 2&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;  ==&amp;gt; Pointer-Register Z  oder  Y&lt;br /&gt;
======IN / OUT======&lt;br /&gt;
Ob IN oder OUT, entscheidet das Bit 2&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt;&lt;br /&gt;
======JMP / CALL======&lt;br /&gt;
Der einzige Unterschied ist der, ob der aktuelle PC (Program-Count) vor dem Sprung auf den Stack gepusht wird oder nicht (2&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
====Mehrere Namen für einen Befehl====&lt;br /&gt;
Bei einer Reihe von Befehlen gibt es mehrere Namen für ein und denselben Maschinenbefehl. &lt;br /&gt;
Ein Beispiel: &lt;br /&gt;
 CLR R1     ; (Setze Register 1 auf  $00 )&lt;br /&gt;
bringt den gleichen Maschinencode wie&lt;br /&gt;
 EOR R1, R1 ; Register 1 =   Register1  &amp;quot;exclusive or&amp;quot; Register1&lt;br /&gt;
&lt;br /&gt;
Besonders im Umfeld des Stausregisters (SREG) kann man fast von einer &amp;quot;Befehlsvermehrung&amp;quot; sprechen. Obwohl es für Setzen, Löschen und Abfragen der Status-Bits entspechenden Maschinencode gibt, tauchen im &amp;quot;Instruction Set&amp;quot; diese Befehle für jedes der Bits einzeln nochmals auf. &lt;br /&gt;
&lt;br /&gt;
==Instruction Cycles==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Avrcyc1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Avrcyc2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Sramcyc1.jpg]]&lt;br /&gt;
&lt;br /&gt;
''Artikel: PicNick / ergänzt Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Atmel]]&lt;br /&gt;
* [[AVR]]&lt;br /&gt;
* [[RN-Control]]&lt;br /&gt;
* [[AVR-Einstieg leicht gemacht]]&lt;br /&gt;
* [[HEX Beispiel-Dateien für AVR]]&lt;br /&gt;
* [[AVR_Assembler_Einf%C3%BChrung|AVR Assembler Einführung]]&lt;br /&gt;
* [[Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User|Assembler-Einführung für Bascom-User]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Atmel_Controller_Mega16_und_Mega32&amp;diff=19843</id>
		<title>Atmel Controller Mega16 und Mega32</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Atmel_Controller_Mega16_und_Mega32&amp;diff=19843"/>
				<updated>2012-06-01T18:35:55Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Atmel Controller Mega16 und Mega32 wurde nach ATmega16 ATmega32 ATmega644 verschoben: Vereinheitlichung, siehe ATmega8, Aufnahme ATmega644 in den Titel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[ATmega16 ATmega32 ATmega644]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega128&amp;diff=19840</id>
		<title>ATmega128</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega128&amp;diff=19840"/>
				<updated>2012-06-01T18:33:57Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Atmel Controller Mega128 wurde nach ATmega128 verschoben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sehr umfangreich ausgestatteter Atmel Controller. Da jedoch nur als [[SMD]]-Ausführung erhältlich, ist er für Hobbybastler schwierig zu löten bzw. zu entlöten, da man immer eine passende Platine dazu benötigt, die nicht jeder herstellen kann. Daher ist er noch relativ wenig unter Bastlern verbreitet.&lt;br /&gt;
&lt;br /&gt;
*ATMega AVR 128&lt;br /&gt;
*Gehäuse: TQFP-64&lt;br /&gt;
*MHz: max. 16&lt;br /&gt;
*Flash: 128K&lt;br /&gt;
*EEProm: 4K&lt;br /&gt;
*RAM: 4K&lt;br /&gt;
*I/O: 53&lt;br /&gt;
*extern RAM: max. 64K&lt;br /&gt;
&lt;br /&gt;
[[Bild:mega128pin.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[AVR]]&lt;br /&gt;
* [[Atmel]]&lt;br /&gt;
* [[HEX Beispiel-Dateien für AVR]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Atmel_Controller_Mega128&amp;diff=19841</id>
		<title>Atmel Controller Mega128</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Atmel_Controller_Mega128&amp;diff=19841"/>
				<updated>2012-06-01T18:33:57Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Atmel Controller Mega128 wurde nach ATmega128 verschoben: Vereinheitlichung, wie ATmega8&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[ATmega128]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega48_ATmega88_ATmega168_ATmega328&amp;diff=19838</id>
		<title>ATmega48 ATmega88 ATmega168 ATmega328</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega48_ATmega88_ATmega168_ATmega328&amp;diff=19838"/>
				<updated>2012-06-01T18:33:01Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Atmel Controller Mega48 Mega88 Mega168 wurde nach ATmega48 ATmega88 ATmega168 ATmega328 verschoben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Controllertypen sind bis auf einige spezielle Funktionen pinkompatibel&lt;br /&gt;
&lt;br /&gt;
===ATmega8===&lt;br /&gt;
*ATMega AVR 8-16 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 16&lt;br /&gt;
*Flash: 8&lt;br /&gt;
*EEProm: 512&lt;br /&gt;
*RAM: 1K&lt;br /&gt;
*I/ O: 23 &lt;br /&gt;
*Betriebsspannung: 4.5 - 5.5V, bzw. 2,7 - 5.5V in L Version (max. 8 MHz)&lt;br /&gt;
&lt;br /&gt;
===ATmega48===&lt;br /&gt;
*ATMega AVR 48-20 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 20&lt;br /&gt;
*Flash: 4 kByte&lt;br /&gt;
*EEProm: 256 Byte&lt;br /&gt;
*RAM: 512 Byte&lt;br /&gt;
*I/ O: 23&lt;br /&gt;
*Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in &amp;quot;V&amp;quot; Version&lt;br /&gt;
&lt;br /&gt;
===ATmega88===&lt;br /&gt;
*ATMega AVR 88-20 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 20&lt;br /&gt;
*Flash: 8 kByte&lt;br /&gt;
*EEProm: 512 Byte&lt;br /&gt;
*RAM: 1024 Byte&lt;br /&gt;
*I/ O: 23&lt;br /&gt;
*Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in &amp;quot;V&amp;quot; Version&lt;br /&gt;
&lt;br /&gt;
===ATmega168===&lt;br /&gt;
*ATMega AVR 168-20 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 20&lt;br /&gt;
*Flash: 16 kByte&lt;br /&gt;
*EEProm: 512 Byte&lt;br /&gt;
*RAM: 1 kByte&lt;br /&gt;
*I/ O: 23&lt;br /&gt;
*Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in &amp;quot;V&amp;quot; Version&lt;br /&gt;
&lt;br /&gt;
===ATmega328===&lt;br /&gt;
*ATMega AVR 168-20 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 20&lt;br /&gt;
*Flash: 32 kByte&lt;br /&gt;
*EEProm: 1 kByte&lt;br /&gt;
*RAM: 2 kByte&lt;br /&gt;
*I/ O: 23&lt;br /&gt;
*Betriebsspannung: 1.8 - 5.5V&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/pinbelegungmega8_168.gif&lt;br /&gt;
&lt;br /&gt;
=== Unterschiede zwischen ATmega8 und ATmega88 ===&lt;br /&gt;
&lt;br /&gt;
Der Mega88 ist zwar nicht als Ersatz für den Mega8 entwickelt worden, kann aber auf Grund der &lt;br /&gt;
Pin-Kompatibilität sehr leicht in bestehenden Schaltungen ersetzt werden.&lt;br /&gt;
Einige Besonderheiten müssen dabei bei der Programmierung berücksichtigt werden, denn die Lage vieler IO-Register, und teils der offizielle Name, hat sich geändert. Einige der IO-Register sind nicht mehr per In/OUT ansprechbar, so dass ggf. etwas längerer Code entsteht.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Verbesserungen des ATmega88 gegenüber dem ATmega8 im Überblick:&lt;br /&gt;
&lt;br /&gt;
*Schnellere Taktfrequenz bis 20MHz&lt;br /&gt;
*Geringerer Energieverbrauch&lt;br /&gt;
*Schnellere EEPROM Schreibzugriffe&lt;br /&gt;
*On-Chip Deggugging möglich mit DebugWire (über den RESET Pin)&lt;br /&gt;
*Pin Change Interrupt auf allen Eingangs Pins&lt;br /&gt;
*1.1V kalibrierte Referenzspannung im ADC gegenüber 2.56V beim Mega8; (Signalspannungen sind leichter teilbar als multiplizierbar)&lt;br /&gt;
*Timer 0,2 erweitert um PWM und Compare Einheit&lt;br /&gt;
*Ausgabe des Systemtaktes auf einen I/O Pin möglich&lt;br /&gt;
*USART statt UART&lt;br /&gt;
*Programmierbarer Teiler für den Takt&lt;br /&gt;
&lt;br /&gt;
=== ATmega88A, ATmega88PA ===&lt;br /&gt;
Dies sind neue leicht verbesserte Versionen: &lt;br /&gt;
* noch geringerer Stromverbrauch&lt;br /&gt;
* 32 kHz Oszillator Mode mit weniger Amplitude&lt;br /&gt;
* keine separate Version für niedrige Spannung mehr&lt;br /&gt;
Für den ATmega168 existieren ebenfalls verbesserte Versionen. Der ATmega328 hingegen entspricht bereits dem Entwicklungsstand des ATmega168A, so dass hiervon keine A-Version existiert.&lt;br /&gt;
&lt;br /&gt;
=== Unterschiede zwischen ATmega48, ATmega88, ATmega168 und ATmega328 ===&lt;br /&gt;
&lt;br /&gt;
Die Unterschiede beschränken sich im wesentlichen auf den internen Speicher:&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |&lt;br /&gt;
 |'''ATmega48'''&lt;br /&gt;
 |'''ATmega88'''&lt;br /&gt;
 |'''ATmega168'''&lt;br /&gt;
 |'''ATmega328'''&lt;br /&gt;
 |-&lt;br /&gt;
 |FLASH(bytes)&lt;br /&gt;
 |4096&lt;br /&gt;
 |8192&lt;br /&gt;
 |16384&lt;br /&gt;
 |32768&lt;br /&gt;
 |-&lt;br /&gt;
 |EEPROM(bytes)&lt;br /&gt;
 |256&lt;br /&gt;
 |512&lt;br /&gt;
 |512&lt;br /&gt;
 |1024&lt;br /&gt;
 |-&lt;br /&gt;
 |SRAM(bytes)&lt;br /&gt;
 |512&lt;br /&gt;
 |1024&lt;br /&gt;
 |1024&lt;br /&gt;
 |2048&lt;br /&gt;
 |-&lt;br /&gt;
 |Boot Sector Größe(bytes)&lt;br /&gt;
 |n.v&lt;br /&gt;
 |256..2048&lt;br /&gt;
 |256..2048&lt;br /&gt;
 |256..2048&lt;br /&gt;
 |-&lt;br /&gt;
 |FLASH Page Größe(bytes) &lt;br /&gt;
 |64&lt;br /&gt;
 |64&lt;br /&gt;
 |128&lt;br /&gt;
 |256&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Atmel]]&lt;br /&gt;
* [[AVR]]&lt;br /&gt;
* [[HEX Beispiel-Dateien für AVR]]&lt;br /&gt;
* [[RN-Mega8]] - Bauanleitung für geeignetes Entwicklungsboard &lt;br /&gt;
* [[RN-MiniControl]] - Bauanleitung für geeignetes Entwicklungsboard &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Atmel_Controller_Mega48_Mega88_Mega168&amp;diff=19839</id>
		<title>Atmel Controller Mega48 Mega88 Mega168</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Atmel_Controller_Mega48_Mega88_Mega168&amp;diff=19839"/>
				<updated>2012-06-01T18:33:01Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Atmel Controller Mega48 Mega88 Mega168 wurde nach ATmega48 ATmega88 ATmega168 ATmega328 verschoben: Vereinheitlichung, siehe Diskussion bei ATmega8&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[ATmega48 ATmega88 ATmega168 ATmega328]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Atmel_Controller_Mega8&amp;diff=19835</id>
		<title>Atmel Controller Mega8</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Atmel_Controller_Mega8&amp;diff=19835"/>
				<updated>2012-06-01T18:31:31Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Atmel Controller Mega8 wurde nach ATmega8 verschoben: Vereinheitlichung, siehe Diskussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[ATmega8]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:ATmega8&amp;diff=19836</id>
		<title>Diskussion:ATmega8</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:ATmega8&amp;diff=19836"/>
				<updated>2012-06-01T18:31:31Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Diskussion:Atmel Controller Mega8 wurde nach Diskussion:ATmega8 verschoben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Widerstand am RESET=&lt;br /&gt;
Der Widerstand von VCC nach RESET ist bei einer Minimalschaltung überflüssig, da AVRs intern einen Pullup am Reset-Pin haben von ca 50k&amp;amp;Omega;. --[[Benutzer:SprinterSB|SprinterSB]] 11:44, 4. Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Verschieben nach &amp;quot;ATmega8&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Hallo! Könnte man den komplizierten Artikel-Titel nicht eindampfen und einfach &amp;quot;ATmega8&amp;quot; schreiben? Auch der Name des Artikels &amp;quot;Atmel Controller Mega48 Mega88 Mega168&amp;quot; ist unnötig lang. Mein Vorschlag wäre: &amp;quot;ATmega48 ATmega88 ATmega168 ATmega328&amp;quot;. Das wäre außerdem aktueller, weil der ATmega328 bisher im Titel fehlt. --[[Benutzer:Trekko|Trekko]] 01:06, 27. Mai 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Atmel_Controller_Mega8&amp;diff=19837</id>
		<title>Diskussion:Atmel Controller Mega8</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Atmel_Controller_Mega8&amp;diff=19837"/>
				<updated>2012-06-01T18:31:31Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Diskussion:Atmel Controller Mega8 wurde nach Diskussion:ATmega8 verschoben: Vereinheitlichung, siehe Diskussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Diskussion:ATmega8]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega8&amp;diff=19834</id>
		<title>ATmega8</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega8&amp;diff=19834"/>
				<updated>2012-06-01T18:31:30Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Atmel Controller Mega8 wurde nach ATmega8 verschoben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* ATMega AVR 8-16 PDIP&lt;br /&gt;
* Gehäuse: DIL-28&lt;br /&gt;
* MHz: 16&lt;br /&gt;
* Flash: 8&lt;br /&gt;
* EEProm: 512&lt;br /&gt;
* RAM: 1K&lt;br /&gt;
* I/ O: 23 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pinbelegungmega8.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der ATmega8 gilt in vielen Totorials als Standardtyp, obgleich seine Architektur nicht mehr dem Stand der Technik entspricht. Inzwischen gibt es von diesem Mikrocontroller die zweite weiterentwickelte Version, den ATmega88A. Dieser zeichnet sich durch neue und erweiterte Funktionen aus, wie zum Beispiel den Pin-Change-Interrupt, welcher die ereignisorientierte Verarbeitung von digitalen Signalen vereinfacht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Minimalbeschaltung eines Atmel ATmega8==&lt;br /&gt;
&lt;br /&gt;
[[Bild:avr8.jpg|thumb|400px|center|Schaltungsaufbau demonstriert einfachste Inbetriebnahme eines [[ATmega8]]. Den Reset-Widerstand von [[VCC]] nach RESET könnte man sich wegen internem Pullup-Widerstand auch noch einsparen.]]&lt;br /&gt;
&lt;br /&gt;
Solange der interne Oszillator benutzt wird, ist für den grundlegend funktionsfähigen Betrieb eines [[Microcontroller]]s kein externes Bauteil nötig. Es müssen lediglich zwei Pins für die Spannungsversorgung beschaltet werden. In diesem Beispiel wurde dennoch ein Pullup-Widerstand für einen einwandfreien Reset und drei kleine [[LED]]s für eine optische Rückmeldung an den Controller angeschlossen. &lt;br /&gt;
&lt;br /&gt;
{{FarbigerRahmen|&lt;br /&gt;
Man sollte allerdings generell eine LED nicht ohne geeigneten Vorwiderstand an einem Port anschliessen, da ansonsten der zulässige Höchststrom bei Chip und LED überschritten und diese Bauteile evtl. dadurch zerstört werden können. Diese Schaltung wurde lediglich für eine kurze Demonstration zusammengebaut. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, funktioniert die Schaltung schon bei einer Spannungsversorgung von 3V durch zwei 1,5V-Zellen einwandfrei. Der interne Oszillator schwingt an und die Programmierung funktioniert ohne Probleme (dieser Chip wurde allerdings zuerst mittels ISP vorher in einer anderen Schaltung programmiert). Anhand des eingeblendeten Softwarecodes [[Bascom]]-Basic kann man ebenfalls die sehr einfache Programmierung erahnen.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Atmel Controller Mega48 Mega88 Mega168]] - Mega8 Pinkompatibel&lt;br /&gt;
* [[Atmel]]&lt;br /&gt;
* [[AVR]]&lt;br /&gt;
* [[AVR-Einstieg leicht gemacht]]&lt;br /&gt;
* [[HEX Beispiel-Dateien für AVR]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:ATmega8&amp;diff=19790</id>
		<title>Diskussion:ATmega8</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:ATmega8&amp;diff=19790"/>
				<updated>2012-05-26T23:06:35Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: Verschieben nach &amp;quot;ATmega8&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Widerstand am RESET=&lt;br /&gt;
Der Widerstand von VCC nach RESET ist bei einer Minimalschaltung überflüssig, da AVRs intern einen Pullup am Reset-Pin haben von ca 50k&amp;amp;Omega;. --[[Benutzer:SprinterSB|SprinterSB]] 11:44, 4. Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Verschieben nach &amp;quot;ATmega8&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Hallo! Könnte man den komplizierten Artikel-Titel nicht eindampfen und einfach &amp;quot;ATmega8&amp;quot; schreiben? Auch der Name des Artikels &amp;quot;Atmel Controller Mega48 Mega88 Mega168&amp;quot; ist unnötig lang. Mein Vorschlag wäre: &amp;quot;ATmega48 ATmega88 ATmega168 ATmega328&amp;quot;. Das wäre außerdem aktueller, weil der ATmega328 bisher im Titel fehlt. --[[Benutzer:Trekko|Trekko]] 01:06, 27. Mai 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega48_ATmega88_ATmega168_ATmega328&amp;diff=19789</id>
		<title>ATmega48 ATmega88 ATmega168 ATmega328</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega48_ATmega88_ATmega168_ATmega328&amp;diff=19789"/>
				<updated>2012-05-26T23:00:10Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: aktualisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Controllertypen sind bis auf einige spezielle Funktionen pinkompatibel&lt;br /&gt;
&lt;br /&gt;
===ATmega8===&lt;br /&gt;
*ATMega AVR 8-16 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 16&lt;br /&gt;
*Flash: 8&lt;br /&gt;
*EEProm: 512&lt;br /&gt;
*RAM: 1K&lt;br /&gt;
*I/ O: 23 &lt;br /&gt;
*Betriebsspannung: 4.5 - 5.5V, bzw. 2,7 - 5.5V in L Version (max. 8 MHz)&lt;br /&gt;
&lt;br /&gt;
===ATmega48===&lt;br /&gt;
*ATMega AVR 48-20 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 20&lt;br /&gt;
*Flash: 4 kByte&lt;br /&gt;
*EEProm: 256 Byte&lt;br /&gt;
*RAM: 512 Byte&lt;br /&gt;
*I/ O: 23&lt;br /&gt;
*Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in &amp;quot;V&amp;quot; Version&lt;br /&gt;
&lt;br /&gt;
===ATmega88===&lt;br /&gt;
*ATMega AVR 88-20 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 20&lt;br /&gt;
*Flash: 8 kByte&lt;br /&gt;
*EEProm: 512 Byte&lt;br /&gt;
*RAM: 1024 Byte&lt;br /&gt;
*I/ O: 23&lt;br /&gt;
*Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in &amp;quot;V&amp;quot; Version&lt;br /&gt;
&lt;br /&gt;
===ATmega168===&lt;br /&gt;
*ATMega AVR 168-20 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 20&lt;br /&gt;
*Flash: 16 kByte&lt;br /&gt;
*EEProm: 512 Byte&lt;br /&gt;
*RAM: 1 kByte&lt;br /&gt;
*I/ O: 23&lt;br /&gt;
*Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in &amp;quot;V&amp;quot; Version&lt;br /&gt;
&lt;br /&gt;
===ATmega328===&lt;br /&gt;
*ATMega AVR 168-20 PDIP&lt;br /&gt;
*Gehäuse: DIL-28&lt;br /&gt;
*MHz: 20&lt;br /&gt;
*Flash: 32 kByte&lt;br /&gt;
*EEProm: 1 kByte&lt;br /&gt;
*RAM: 2 kByte&lt;br /&gt;
*I/ O: 23&lt;br /&gt;
*Betriebsspannung: 1.8 - 5.5V&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/pinbelegungmega8_168.gif&lt;br /&gt;
&lt;br /&gt;
=== Unterschiede zwischen ATmega8 und ATmega88 ===&lt;br /&gt;
&lt;br /&gt;
Der Mega88 ist zwar nicht als Ersatz für den Mega8 entwickelt worden, kann aber auf Grund der &lt;br /&gt;
Pin-Kompatibilität sehr leicht in bestehenden Schaltungen ersetzt werden.&lt;br /&gt;
Einige Besonderheiten müssen dabei bei der Programmierung berücksichtigt werden, denn die Lage vieler IO-Register, und teils der offizielle Name, hat sich geändert. Einige der IO-Register sind nicht mehr per In/OUT ansprechbar, so dass ggf. etwas längerer Code entsteht.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Verbesserungen des ATmega88 gegenüber dem ATmega8 im Überblick:&lt;br /&gt;
&lt;br /&gt;
*Schnellere Taktfrequenz bis 20MHz&lt;br /&gt;
*Geringerer Energieverbrauch&lt;br /&gt;
*Schnellere EEPROM Schreibzugriffe&lt;br /&gt;
*On-Chip Deggugging möglich mit DebugWire (über den RESET Pin)&lt;br /&gt;
*Pin Change Interrupt auf allen Eingangs Pins&lt;br /&gt;
*1.1V kalibrierte Referenzspannung im ADC gegenüber 2.56V beim Mega8; (Signalspannungen sind leichter teilbar als multiplizierbar)&lt;br /&gt;
*Timer 0,2 erweitert um PWM und Compare Einheit&lt;br /&gt;
*Ausgabe des Systemtaktes auf einen I/O Pin möglich&lt;br /&gt;
*USART statt UART&lt;br /&gt;
*Programmierbarer Teiler für den Takt&lt;br /&gt;
&lt;br /&gt;
=== ATmega88A, ATmega88PA ===&lt;br /&gt;
Dies sind neue leicht verbesserte Versionen: &lt;br /&gt;
* noch geringerer Stromverbrauch&lt;br /&gt;
* 32 kHz Oszillator Mode mit weniger Amplitude&lt;br /&gt;
* keine separate Version für niedrige Spannung mehr&lt;br /&gt;
Für den ATmega168 existieren ebenfalls verbesserte Versionen. Der ATmega328 hingegen entspricht bereits dem Entwicklungsstand des ATmega168A, so dass hiervon keine A-Version existiert.&lt;br /&gt;
&lt;br /&gt;
=== Unterschiede zwischen ATmega48, ATmega88, ATmega168 und ATmega328 ===&lt;br /&gt;
&lt;br /&gt;
Die Unterschiede beschränken sich im wesentlichen auf den internen Speicher:&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |&lt;br /&gt;
 |'''ATmega48'''&lt;br /&gt;
 |'''ATmega88'''&lt;br /&gt;
 |'''ATmega168'''&lt;br /&gt;
 |'''ATmega328'''&lt;br /&gt;
 |-&lt;br /&gt;
 |FLASH(bytes)&lt;br /&gt;
 |4096&lt;br /&gt;
 |8192&lt;br /&gt;
 |16384&lt;br /&gt;
 |32768&lt;br /&gt;
 |-&lt;br /&gt;
 |EEPROM(bytes)&lt;br /&gt;
 |256&lt;br /&gt;
 |512&lt;br /&gt;
 |512&lt;br /&gt;
 |1024&lt;br /&gt;
 |-&lt;br /&gt;
 |SRAM(bytes)&lt;br /&gt;
 |512&lt;br /&gt;
 |1024&lt;br /&gt;
 |1024&lt;br /&gt;
 |2048&lt;br /&gt;
 |-&lt;br /&gt;
 |Boot Sector Größe(bytes)&lt;br /&gt;
 |n.v&lt;br /&gt;
 |256..2048&lt;br /&gt;
 |256..2048&lt;br /&gt;
 |256..2048&lt;br /&gt;
 |-&lt;br /&gt;
 |FLASH Page Größe(bytes) &lt;br /&gt;
 |64&lt;br /&gt;
 |64&lt;br /&gt;
 |128&lt;br /&gt;
 |256&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Atmel]]&lt;br /&gt;
* [[AVR]]&lt;br /&gt;
* [[HEX Beispiel-Dateien für AVR]]&lt;br /&gt;
* [[RN-Mega8]] - Bauanleitung für geeignetes Entwicklungsboard &lt;br /&gt;
* [[RN-MiniControl]] - Bauanleitung für geeignetes Entwicklungsboard &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ATmega8&amp;diff=19788</id>
		<title>ATmega8</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ATmega8&amp;diff=19788"/>
				<updated>2012-05-26T22:45:25Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: + Hinweis auf Weiterentwicklungen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* ATMega AVR 8-16 PDIP&lt;br /&gt;
* Gehäuse: DIL-28&lt;br /&gt;
* MHz: 16&lt;br /&gt;
* Flash: 8&lt;br /&gt;
* EEProm: 512&lt;br /&gt;
* RAM: 1K&lt;br /&gt;
* I/ O: 23 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pinbelegungmega8.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der ATmega8 gilt in vielen Totorials als Standardtyp, obgleich seine Architektur nicht mehr dem Stand der Technik entspricht. Inzwischen gibt es von diesem Mikrocontroller die zweite weiterentwickelte Version, den ATmega88A. Dieser zeichnet sich durch neue und erweiterte Funktionen aus, wie zum Beispiel den Pin-Change-Interrupt, welcher die ereignisorientierte Verarbeitung von digitalen Signalen vereinfacht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Minimalbeschaltung eines Atmel ATmega8==&lt;br /&gt;
&lt;br /&gt;
[[Bild:avr8.jpg|thumb|400px|center|Schaltungsaufbau demonstriert einfachste Inbetriebnahme eines [[ATmega8]]. Den Reset-Widerstand von [[VCC]] nach RESET könnte man sich wegen internem Pullup-Widerstand auch noch einsparen.]]&lt;br /&gt;
&lt;br /&gt;
Solange der interne Oszillator benutzt wird, ist für den grundlegend funktionsfähigen Betrieb eines [[Microcontroller]]s kein externes Bauteil nötig. Es müssen lediglich zwei Pins für die Spannungsversorgung beschaltet werden. In diesem Beispiel wurde dennoch ein Pullup-Widerstand für einen einwandfreien Reset und drei kleine [[LED]]s für eine optische Rückmeldung an den Controller angeschlossen. &lt;br /&gt;
&lt;br /&gt;
{{FarbigerRahmen|&lt;br /&gt;
Man sollte allerdings generell eine LED nicht ohne geeigneten Vorwiderstand an einem Port anschliessen, da ansonsten der zulässige Höchststrom bei Chip und LED überschritten und diese Bauteile evtl. dadurch zerstört werden können. Diese Schaltung wurde lediglich für eine kurze Demonstration zusammengebaut. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, funktioniert die Schaltung schon bei einer Spannungsversorgung von 3V durch zwei 1,5V-Zellen einwandfrei. Der interne Oszillator schwingt an und die Programmierung funktioniert ohne Probleme (dieser Chip wurde allerdings zuerst mittels ISP vorher in einer anderen Schaltung programmiert). Anhand des eingeblendeten Softwarecodes [[Bascom]]-Basic kann man ebenfalls die sehr einfache Programmierung erahnen.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Atmel Controller Mega48 Mega88 Mega168]] - Mega8 Pinkompatibel&lt;br /&gt;
* [[Atmel]]&lt;br /&gt;
* [[AVR]]&lt;br /&gt;
* [[AVR-Einstieg leicht gemacht]]&lt;br /&gt;
* [[HEX Beispiel-Dateien für AVR]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Bezugsquellen&amp;diff=19434</id>
		<title>Bezugsquellen</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Bezugsquellen&amp;diff=19434"/>
				<updated>2012-04-13T16:54:18Z</updated>
		
		<summary type="html">&lt;p&gt;Trekko: /* Elektronikbauteile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| {{Blaueschmaltabelle}}&lt;br /&gt;
|Hier können Bezugsquellen eingetragen werden! Bitte aber pro Eintrag nicht mehr als '''2 bis 3 Zeilen''', ansonsten muss es ein Moderator kürzen! Dieser Artikel soll nicht als Werbeplattform mißbraucht werden, für Werbung gibts andere [[RN-Wissen:Site_support|Möglichkeiten]]. Er soll eine Hilfe für Bastler sein. '''Daher sollen hier auch nur Firmen eingetragen werden, welche eine Bestellmöglichkeit Webformular oder Online-Shop bereitstellen'''.&lt;br /&gt;
Bitte auch keine Bewertungen der Lieferanten vornehmen, das ist Sache der Leser &amp;amp; Bastler indem Sie vergleichen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Elektronikbauteile==&lt;br /&gt;
&lt;br /&gt;
;Rehag - http://www.rehag.de: Optoelektronische Bauteile für Groß- und Kleinkunden.&lt;br /&gt;
&lt;br /&gt;
;Conrad - http://www.conrad.de: Fast alle Standardelektronikbauteile&lt;br /&gt;
&lt;br /&gt;
;CSD-Electronic - http://www.csd-electronics.de/: Elektronik&lt;br /&gt;
&lt;br /&gt;
;Digi-Key Corporation - http://de.digikey.com/: Diverse Bauelemente, Microcontroller, Sensoren, auch 'exotische' Bauteile, sehr umfangreiches Sortiment, kostenloser Katalog, Suchfunktion nach Parametern&lt;br /&gt;
&lt;br /&gt;
;Distrelec Gruppe - http://www.distrelec.com: Ableger in vielen Ländern, Diverse Bauelemente (aktiv, passiv, Microcontroller), Literatur, PC-Komponenten, usw.&lt;br /&gt;
&lt;br /&gt;
;Farnell In One - http://de.farnell.com/: elektronische Bauelemente (aktiv, passiv, Microcontroller), Sensoren, Literatur, Entwicklungskits, Kabel, Steckverbinder, Werkstattbedarf. Beliefert nur (bel.) angemeldete '''Gewerbe und Stud.''' (mit Nachweis) Nicht für privat. Sehr schnell. Sehr gut Sortiert (auch &amp;quot;exotische&amp;quot; Bauelemente)&lt;br /&gt;
&lt;br /&gt;
;HBE-Shop Farnell auch für Privat - http://www.hbe-shop.de: HBE Fachhändler für FARNELL, Ab einem Warenwert von 50,00 € (netto) Standardpakete versandkostenfrei.&lt;br /&gt;
&lt;br /&gt;
;Robotik-Teile.de - http://www.robotik-teile.de: Aktive und Passive Bauelemente, Microcontroller, Controllerboards, etc. Versandkosten pauschal: 4,90 €&lt;br /&gt;
&lt;br /&gt;
;Robotikhardware - http://www.robotikhardware.de: Microcontroller, spezielle Controller und einige schwer erhältliche Bauteile (auch SMD)&lt;br /&gt;
&lt;br /&gt;
;Kessler-Electronic - http://www.kessler-electronic.de/: ( ehemals Simons ) Diverse Bauelemente (aktiv, passiv, Microcontroller), Literatur, PC-Komponenten, Messgeräte, Hifi, usw. Preisstaffelung für größere Mengen, Mindestbestellwert: 10 Euro&lt;br /&gt;
&lt;br /&gt;
;marsch-elektronik - http://www.marsch-elektronik.de/: Diverse Bauelemente (aktiv, passiv, Mikrocontroller, LEDs), kein Mindestbestellwert, niedrige Versandkosten (ab 40 Euro versandkostenfrei). Es werden auch sogenannte &amp;quot;Einsteigersortimente&amp;quot; und Widerstandssortimente (auch SMD) angeboten. Nicht gelistete Bauelemente können angefragt werden.&lt;br /&gt;
&lt;br /&gt;
;Neuhold Electronik - http://www.neuhold-elektronik.at: Restposten&lt;br /&gt;
&lt;br /&gt;
;no DNA - http://www.nodna.com/: Diverse Roboterbauteile, Sensoren und komplette Roboter; keine Bauelemente wie Widerstände, Transistoren etc. Viel Zubehör vom amerikanischen Markt. Keine Mindestbestellmenge.&lt;br /&gt;
&lt;br /&gt;
;Pollin Electronic - http://www.pollin.de/: Diverse Bauelemente und Sortimente zu Spottpreisen, fast alles Restposten oder Gebrauchte Teile, daher kein beständiges Sortiment&lt;br /&gt;
&lt;br /&gt;
;Reichelt - http://www.reichelt.de: Diverse Bauelemente (aktiv, passiv, Microcontroller), Literatur, PC-Komponenten, Lichttechnik, Messtechnik, Software,  Kabel, Steckverbinder, Werkstattbedarf, Werkzeug,  Mindestbestellwert: 10 Euro&lt;br /&gt;
&lt;br /&gt;
;RS-Components - http://www.rsonline.de: Bauelemente: (aktiv, passiv, Microcontroller), Literatur, PC-Komponenten, Lichttechnik, Messtechnik, Software, Kabel, Steckverbinder, Werkzeug&lt;br /&gt;
&lt;br /&gt;
;Ribu Elektronik - http://www.ribu.at: Diverse Bauelemente, ICs, österreichische Seite&lt;br /&gt;
&lt;br /&gt;
;guloshop.de - http://guloshop.de: nur wenige Standard-Mikrocontroller, diese aber zu sehr niedrigen Preisen (Mikrocontroller-Discounter). Versandkosten bei Bestellungen bis 10 Euro: 2,40 Euro, sonst 4,40 Euro.&lt;br /&gt;
&lt;br /&gt;
==Sensoren==&lt;br /&gt;
&lt;br /&gt;
;Robotik-Teile.de - http://www.robotik-teile.de: Beschleunigungssensoren, Gyros &amp;amp; Komapsse, Gas-Sensoren, Infrarotsensoren, Stromsensoren und Ultraschallsensoren. Versandkosten pauschal: 4,90 €&lt;br /&gt;
&lt;br /&gt;
;Robotikhardware - http://www.robotikhardware.de: Drehgeber, Sharp-Entfernungssensoren, Ultraschallsensoren, Neigungssensoren, Temperatursensoren, Hallsensoren, Beschleunigungssensoren Magnete usw. speziell für Robotik-Bastler&lt;br /&gt;
&lt;br /&gt;
;MANU SYSTEMS - http://de.manu-systems.com/ROBOT_ELECTRONICS.shtml: Ultraschallsensoren, Kompassmodule, Temperatursensor Array&lt;br /&gt;
&lt;br /&gt;
;Micromaus - http://www.micromaus.de: Sharp-Entfernungssensoren, Farbsensoren, Feuchtesensoren, Flexsensoren, Beschleunigungssensoren, Drucksensoren usw.&lt;br /&gt;
&lt;br /&gt;
;Roboter-Teile - http://www.roboter-teile.de/ : Lynxmotion Hexapot, Sensoren, CMU-Cam, AVR, PIC u.v.a.&lt;br /&gt;
&lt;br /&gt;
;Conrad - http://www.conrad.de: Fast alle Standardelektronikbauteile&lt;br /&gt;
&lt;br /&gt;
;Digi-Key Corporation - http://de.digikey.com/: Diverse Bauelemente, Microcontroller, Sensoren, auch 'exotische' Bauteile, sehr umfangreiches Sortiment, kostenloser Katalog. Hohe Versandkosten (über 30 Euro selbst bei Kleinteilen)&lt;br /&gt;
&lt;br /&gt;
;Krause Robotik - http://www.krause-robotik.de/Shop/: Diverse Sensoren und Mikrocontrollerboards. 4,65 € Versand&lt;br /&gt;
&lt;br /&gt;
;austriamicrosystems - http://www.austriamicrosystems.com/: Winkelencoder auf magnetischer Hallbasis, diverse analoge Komponenten, bsp. A/D converter, LDOs, Watchdog, I/O Expanderchips. Muster und kleine Stückzahlen koennen direkt ueber https://shop.austriamicrosystems.com/ bestellt werden.&lt;br /&gt;
&lt;br /&gt;
;WayCon Positionsmesstechnik - http://www.waycon.de : Seilzugsensor, Induktiver Sensor LVDT, Wirbelstrom, Lasersensor, Digitales Magnetband, Digitaler Messtaster, Digitaler Maßstab, Linearpotentiometer, Magnetostriktive Geber, Ultraschall, Anzeigen u Displays, Endocder u Winkelgeber&lt;br /&gt;
&lt;br /&gt;
==Motoren und Schrittmotoren== &lt;br /&gt;
;Siebert-Industrie - http://shop.siebert-industrie.de: Schrittmotoren, Steuerungen, Logik-Controller, antriebstechnische Komponenten und Baugruppen für die Automatisierung. Bauteile auch für Extrembedingungen (Weltraum, Vakuum, Reinraum, Temperaturen)&lt;br /&gt;
&lt;br /&gt;
;mir-elektronik - http://www.mir-elektronik.de: Schrittmotoren, Endstufen, Bauteile, Literatur und Sonderposten&lt;br /&gt;
;Lemo-Solar - http://lemo-solar.de/: Motoren, Getriebe, Elektronik-Bausätze, Sonderposten u.v.a.&lt;br /&gt;
&lt;br /&gt;
;Robotik-Teile.de - http://www.robotik-teile.de: Metall-Getriebemotoren, Plastik-Getriebemotoren, Schrittmotoren, Servos, Solarbotics Getriebe und Tamiya Motoren und Getriebe. Versandkosten pauschal: 4,90 €&lt;br /&gt;
&lt;br /&gt;
;Robotikhardware - http://www.robotikhardware.de: Schrittmotor-Angebote, Tamiya Modellbau Getriebemotoren, Devantech Getriebemotoren mit eingebauten Drehgeber&lt;br /&gt;
&lt;br /&gt;
;Conrad - http://www.conrad.de: Fast alle Standardelektronikbauteile&lt;br /&gt;
&lt;br /&gt;
;Nanotec - http://www.nanotec.de: Schrittmotoren für Industrieeinsatz, aber Einzelabnahme möglich&lt;br /&gt;
&lt;br /&gt;
;seacontrol - http://www.seacontrol.de: Ist komischerweise ein Aquaristikshop, hat aber auch Schrittmotoren (aus der eigenen Entwicklungsapteilung, oder so) von der Startseite in den online-shop, im shop unten links findet mann die Motoren&lt;br /&gt;
&lt;br /&gt;
;Farnell In One - http://de.farnell.com/: elektronische Bauelemente (aktiv, passiv, Microcontroller), Motoren, Schrittmotoren, Linearmotoren, Sensoren, Literatur, Entwicklungskits, Kabel, Steckverbinder, Werkstattbedarf. Beliefert nur (bel.) angemeldete '''Gewerbe und Stud'''. (mit Nachweis) Nicht für privat. Sehr schnell. Sehr gut Sortiert (auch &amp;quot;exotische&amp;quot; Bauelemente)&lt;br /&gt;
&lt;br /&gt;
==Platinen==&lt;br /&gt;
&lt;br /&gt;
;Multi PCB Ltd. - Leiterplatten - http://www.multipcb.de: Leiterplatten-Discount mit 1-48 Lagen im Online-Kalkulator. Ab 48h Express. Service nur für gewerbliche Kunden.&lt;br /&gt;
&lt;br /&gt;
;PCB-Pool - http://pcb-pool.com: Platinenservice für private und gewerbliche Kunden.&lt;br /&gt;
&lt;br /&gt;
;ANDUS ELECTRONIC GmbH - www.andus.de http://www.andus.de: High-End Leiterplatten und Express-Prototypen in allen Technologien (Multilayer, flexible Leiterplatten, Starrflex,...). Persönliche Technologieberatung für Aufbau und Design von Leiterplatten.&lt;br /&gt;
&lt;br /&gt;
;Robotikhardware.de - http://www.robotikhardware.de: Preiswerte Standard Platinen (beste Industriequalität mit E-Prüfung) zu sehr vielen Robotik- und Microcontrollerschaltungen, inkl. Bauanleitung und Beispielprogrammen.&lt;br /&gt;
&lt;br /&gt;
;LeitOn GmbH - www.leiton.de - http://www.leiton.de: Leiterplatten sofort online kalkulieren und bestellen. Expressdienste von 1 bis 10 Lagen Multilayer in deutscher Industriequalität. Flexible Leiterplatten online kalkulieren. Für Privat und Firmen! Ab 12h.&lt;br /&gt;
&lt;br /&gt;
;Top Tec PCB Ltd. - http://www.top-tec-pcb.de: Günstige Leiterplatten vom Prototyp bis zur Groß-Serie. Viele High-Tech-Optionen sind schon Inklusive.&lt;br /&gt;
&lt;br /&gt;
;Basista Leiterplatten GmbH - http://www.basista.de: Leiterplatten ab 8 Stunden Express-Service. RoHS-konforme Profi-Qualität, mit Onlinekalkulation. Für private und gewerbliche Kunden.&lt;br /&gt;
&lt;br /&gt;
;LFG Oertel - http://www.lfg-oertel.de: Leiterplattenherstellung und Bestückung aus einer Hand. Fertigung und Bestückung ab 1 Stück. Für gewerbliche Kunden.&lt;br /&gt;
&lt;br /&gt;
;GLS Leiterplatten-Service GmbH - http://www.leiterplattenprototypen.de: Prototypenfertigung für Leiterplatten bei Chemnitz bietet zusätzlich viele Serviceleistungen rund um die Leiterplatte (z.B. Scannen/Digitalisieren von Leiterplatten und Leiterplattenlayouts)&lt;br /&gt;
&lt;br /&gt;
;D-E-K Dischereit - http://www.dischereit.de: Preiswerter Komplettservice für die Leiterplattenbestückung von Prototypen und Kleinserien.&lt;br /&gt;
&lt;br /&gt;
==Anzeigen / LCD's==&lt;br /&gt;
;Display3000 - http://www.shop.display3000.de: Farbdisplays, TFTs, Touchscreens, Mikrocontrollermodule&lt;br /&gt;
&lt;br /&gt;
;Siebert-Industrie - http://shop.siebert-industrie.de: Schrittmotoren, Steuerungen, Logik-Controller, antriebstechnische Komponenten und Baugruppen für die Automatisierung. Bauteile auch für Extrembedingungen (Weltraum, Vakuum, Reinraum, Temperaturen)&lt;br /&gt;
&lt;br /&gt;
;IbS Sperling - http://www.ibs-display.de: LCD-Module, Grafik-LCD, TouchScreens&lt;br /&gt;
&lt;br /&gt;
;Conrad - http://www.conrad.de: Fast alle Standardelektronikbauteile&lt;br /&gt;
&lt;br /&gt;
;Electronic Assembly - http://www.lcdmodule.de: LCD-Module, Grafik-LCD, dog&lt;br /&gt;
&lt;br /&gt;
;LEDsee - http://www.ledsee.com: LED's, Lumeon, LCD's Grafik-LCD, pLED, oLED, Zubehör (Direktversand aus Japan, relativ schnell ca. 1 Woche)&lt;br /&gt;
&lt;br /&gt;
;Robotikhardware - http://www.robotikhardware.de: Verschiedene LCD´s sowie Adapter zum Anschluss an Boards nach Roboternetz-Definition (passend zu [[RN-Control]], [[RN-MiniControl]] usw.)&lt;br /&gt;
&lt;br /&gt;
==Materialien==&lt;br /&gt;
;TECHNOPLAST - http://www.technoplast-onlineshop.de/: Technische Kunststoff Halbzeuge Polycarbonat Platten Plexiglas Acrylglas Rundstäbe Rohre ...&lt;br /&gt;
&lt;br /&gt;
;Opitec - http://www.opitec.de/: Elektromotoren, zahlreiche Zahnräder, Werkzeuge, Räder, diverse Materialien (Kunststoff, Gummi, Papier, Pappe, Holz, Metall, Textilien, Plexiglas ...)&lt;br /&gt;
&lt;br /&gt;
;Metall Store - http://www.metallstore.de/: Schrittmotoren, (Kugel-)Lager, diverse Bauelemente aus Alu, VA, Messing, Bronze, Kupfer, Werkzeuge, Spezialschrauben&lt;br /&gt;
&lt;br /&gt;
;Modulor - http://www.modulor.de/: Diverse Materialien Kunststoff, Gummi, Papier, Pappe, Holz, Metall, Textilien, Plexiglas ...&lt;br /&gt;
&lt;br /&gt;
;Igus - http://www.igus.de/: Gleitlager, Lineargleitlager, Kabelschleppen, Gelenklager, Polymergleitlager, Wellen ...&lt;br /&gt;
&lt;br /&gt;
;Kienzle Plexiglas - http://www.ernst-kienzle.de/: Acrylglas, Polycarbonat, Polyethylenterephtalatglycol (in vielen Farben, auch Formen machbar)&lt;br /&gt;
&lt;br /&gt;
;Maedler - http://www.maedler.de/: Antriebselemente und Normteile, Getriebe und Getriebemotoren, Pneumatikelemente, Zahnriemen, Zahnriemenräder, div. Lager ...&lt;br /&gt;
&lt;br /&gt;
;Octamex - http://www.octamex.de/: Leiterplatten (in versch. Dicken), Chemikalien zum Ätzen und Veredeln, Elektronikbauteile, Lötstop- und Bestückungsdruck-Laminate, Gehäusetechnik&lt;br /&gt;
&lt;br /&gt;
;Lelebeck - http://www.lelebeck.de/index.htm : Verbindungselemente, Mech. Sicherungselemente, Dichtungselemente, Sicherungen, Batterien, Schmiernippel, Druckverschlußbeutel. Mindestbestellwert 1 Euro, Versand ab 1 Euro, Rabattstaffel bis 30%&lt;br /&gt;
&lt;br /&gt;
;Aluminium Eloxieren - http://www.electronic-thingks.de/download/index.php#1 : Anleitung (runterscrollen, PDF &amp;quot;A-1 - Eloxieren von Aluminium&amp;quot;) 307 KB runterladen.Lesenswert! Alle benötigten Farben u. Zubehör im Shop&lt;br /&gt;
&lt;br /&gt;
'''Voltmaster''' '''- http://www.voltmaster.de''' :&lt;br /&gt;
Modellbaushop, Kugel- und Gabelgelenke&lt;br /&gt;
&lt;br /&gt;
==Roboterboards==&lt;br /&gt;
;Robotikhardware - http://www.robotikhardware.de: Roboterboards, universelle Microcontrollerboards, Sprachboards, Bausätze, Platinen, Schrittmotoren, Sensoren etc. Berücksichtigt [[RN-Definitionen]]&lt;br /&gt;
&lt;br /&gt;
;Krause-Robotik - http://krause-robotik.de/Shop: einige Mikrocontrollerboards&lt;br /&gt;
&lt;br /&gt;
;PhysicalComputing - [http://physicalcomputing.at/shop/catalog/browse?sessid=THRRUckuwLLjVHbs8mUdmyO6XIdz154EyCCW5lxpo0T306pK4ppxBztdrTySkAY9&amp;amp;shop_param= http://physicalcomputing.at/shop]: Boards, Shields, Displays, LilyPad, Kit's [ideal für Einmsteiger], Sensoren, Antriebe, Elektronische Bauteile, Bücher &amp;amp; Wireless-Stuff. Österreichischer Anbieter&lt;br /&gt;
&lt;br /&gt;
==Schnittstellen und Module für Mikrocontroller==&lt;br /&gt;
&lt;br /&gt;
===LAN-Module===&lt;br /&gt;
;Wiznet WIZ812MJ Ethernet Modul - http://www.shop.display3000.com/elektronikmodule/index.html: handliche Ethernet-Modul, 3,3 bis 5 Volt&lt;br /&gt;
;ENC28J60-H  - http://olimex.com/dev/index.html: Lieferung aus Bulgarien, sehr klein&lt;br /&gt;
;Z-LAN - http://rz-robotics.de/z-lan.html: braucht nur 5V Versorgungspannung, da 3,3V-Spannungsregler onboard&lt;br /&gt;
&lt;br /&gt;
===Funkmodule===&lt;br /&gt;
;RFM12 -  http://www.pollin.de : Preisgüstiges Funkmodul ohne Eigenintelligenz, bei Pollin gibt es auch ein passendes &amp;quot;Funk-AVR-Evaluations-Board&amp;quot;&lt;br /&gt;
;XTR-7020A-8 - http://www.conrad.de: (Artikel: 191215-62), hat RS232-Schnittstelle zur Ansteuerung&lt;br /&gt;
;Robotikhardware - http://www.robotikhardware.de: mehrere Funkmodule u.a. EasyRadio und RT868FM mit mehreren Kanälen. Sowie passende Controllerboards und PC-Anbindungen. Berücksichtigt [[RN-Definitionen]]&lt;br /&gt;
;Avisaro WLAN Modul 2.0 -  http://shop.avisaro.com/ : WLAN Modul mit RS232, CAN, SPI oder I2C Schnittstelle (TTL Pegel). Ethernet optional.&lt;br /&gt;
&lt;br /&gt;
===Kameramodul===&lt;br /&gt;
;Artikel 150001-62 - http://www.conrad.de: Schwarz-Weiß Kamera für 5V Versorgungsspannung&lt;br /&gt;
&lt;br /&gt;
===USB-Host===&lt;br /&gt;
;STI 100 - http://www.elv.de/output/controller.aspx?cid=74&amp;amp;detail=10&amp;amp;detail2=20659:  &lt;br /&gt;
;Z-USB - http://rz-robotics.de/z-usb.html: hat auch andere Module im Angebot&lt;br /&gt;
;VDIP1 - http://www.vinculum.com/prd_vdip1.html: Demoboard von FTDI&lt;br /&gt;
&lt;br /&gt;
===Lasermodul===&lt;br /&gt;
;Artikel 158550-62 - http://www.conrad.de: Lasermodul mit 3V Versorgungsspannung und 30mA Stromverbrauch&lt;br /&gt;
&lt;br /&gt;
===Voice-Modul===&lt;br /&gt;
;Artikel 130017-62 - http://www.conrad.de: Sprachaufzeichnungsmodul mit 20 Sekunden Aufnahmedauer&lt;br /&gt;
;Robotikhardware - http://www.robotikhardware.de: Bietet RN-Speak an. Mehrere Minuten Sprachaufzeichnung wobei einzelne Abschnitte/Sätze und Wörter per Controller angesteuert und ausgesprochen werden&lt;br /&gt;
&lt;br /&gt;
==Starterkits und universelle Mikrocontrollerboards==&lt;br /&gt;
;Siebert-Industrie - http://shop.siebert-industrie.de: Schrittmotoren, Steuerungen, Logik-Controller, antriebstechnische Komponenten und Baugruppen für die Automatisierung. Bauteile auch für Extrembedingungen (Weltraum, Vakuum, Reinraum, Temperaturen)&lt;br /&gt;
;brazer.net - http://www.brazer.net: Roboter- und Elektronikbausätze&lt;br /&gt;
;Robotikhardware - http://www.robotikhardware.de: Diverse Microcontrollerboards und Module(auch mit Funkmodul) für Einsteiger und Fortgeschrittene. Vom ATmega8, Atmega168, ATmega32, ATmega128 bis Mega2560. Bausätze, Platinen, Fertigmodule. Berückichtigt [[RN-Definitionen]] und sind somit kompatibel untereinander. Zubehör etc.&lt;br /&gt;
;Mikrocontrollernet Shop - http://shop.mikrocontroller.net/: verschiedene AVR Microcontrollerboards, Bausätze, Zubehör &lt;br /&gt;
;myAVR - http://www.myAVR.de: AVR Microcontrollerboards, Bausätze, Zubehör&lt;br /&gt;
;Elektronikladen - http://elmicro.com/de/index.html: Evaluation Boards, Starter Kits, Controller Module &amp;amp; Software, Programmiergeräte &amp;amp; Tools, Robotik u.v.a.m.&lt;br /&gt;
;C-Control - http://www.c-control.de: Evaluation Boards, Starter Kits, Controller Module &amp;amp; Software, Programmiergeräte &amp;amp; Tools, Robotik&lt;br /&gt;
;ELO - http://www.elo-web.de: Einsteiger Lernpakete, Software&lt;br /&gt;
;Franzis - http://www.franzis.de: Einsteiger Lernpakete, Elektronik und Computer Bücher, Software&lt;br /&gt;
&lt;br /&gt;
==CNC Protalfräsen Bausätze und Zubehör==&lt;br /&gt;
;EMS-Möderl CNC - http://www.mixware.de: CNC Hardware, Spindeln, Profile, Antriebe, Bausätze, '''Forum'''&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Praxis]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;/div&gt;</summary>
		<author><name>Trekko</name></author>	</entry>

	</feed>