<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=82.82.163.137</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=82.82.163.137"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/82.82.163.137"/>
	<updated>2026-04-10T21:47:28Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Lichtsensor_/_Helligkeitssensor&amp;diff=40538</id>
		<title>Lichtsensor / Helligkeitssensor</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Lichtsensor_/_Helligkeitssensor&amp;diff=40538"/>
		<updated>2009-11-07T20:56:07Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lichtsensoren wandeln Licht in eine Spannung, Strom oder Frequenz, welche dann weiterverarbeitet werden kann.&lt;br /&gt;
&lt;br /&gt;
== Photowiderstand == &lt;br /&gt;
&lt;br /&gt;
Im Englischen &#039;&#039;&#039;L&#039;&#039;&#039;ight &#039;&#039;&#039;D&#039;&#039;&#039;ependent &#039;&#039;&#039;R&#039;&#039;&#039;esistor genannt (LDR, lichtabhängiger Widerstand). Diese gibt es in verschiedensten Bauformen und  Materialien. Einige bekannte und beliebte Typen basieren auf Cadmium, einem giftigen Schwermetall, welches nach den neusten Elektronikrichtlinien (RoHS) verboten ist.&lt;br /&gt;
Vorteile der LDRs sind ihre Einfachheit, Robustheit und der recht große Dynamikbereich (k&amp;amp;Omega; bis M&amp;amp;Omega;). Wesentlicher Nachteil ist die sehr geringe Reaktionsgeschwindigkeit (einige Millisekunden bis Minuten). Die Auswertung erfolgt über einen einfachen [[Spannungsteiler]].&lt;br /&gt;
&lt;br /&gt;
[[bild:photo_ldr.png]]&lt;br /&gt;
&lt;br /&gt;
== Photohalbleiter == &lt;br /&gt;
&lt;br /&gt;
Photohalbleiter sind Bauelemente, bei denen in einer PN-Sperrschicht durch Lichteinfall freie Ladungsträger erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
=== Photodiode ===&lt;br /&gt;
&lt;br /&gt;
Photodioden sind sehr schnell (Schaltzeiten im Nanosekundenbereich), liefern aber nur sehr kleine Photoströme (nA..µA). Es gibt zur Nutzung für Photodioden drei prinzipielle Schaltungen:&lt;br /&gt;
&lt;br /&gt;
==== Photospannungsbetrieb ====&lt;br /&gt;
&lt;br /&gt;
[[bild:photo_diode_blank.png]]&lt;br /&gt;
&lt;br /&gt;
Hier arbeitet die Photodiode als Solarzelle, was sie ja im Prinzip ist. Allerdings bringt sie aufgrund der kleinen Fläche (meist weniger als 1mm^2) keine nennenswerte Leistung. Die Ausgangsspannung ist logarithmisch von der einfallenden Lichtleistung abhängig und entspricht der umgedrehten Diodenkennlinie (~0,7V). Allerdings ist diese Kennlinie auch sehr temperaturabhängig. Diese Schaltung wird nur selten angewendet.&lt;br /&gt;
&lt;br /&gt;
==== Konstantstromquelle mit Arbeitswiderstand ====&lt;br /&gt;
&lt;br /&gt;
Das ist die einfachste Schaltung zur Auswertung einer Photodiode. Über einen [[Spannungsteiler]] mit einem relativ hochohmigen Widerstand kann eine lichtabhängige Spannung über dem Arbeitswiderstand abgegriffen werden. Die Ausgangsspannung ist linear proportional zur Lichtleistung.&lt;br /&gt;
&lt;br /&gt;
[[bild:photo_diode.png]]&lt;br /&gt;
&lt;br /&gt;
Diese Schaltung ist jedoch ziemlich langsam. Als Näherung gilt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_{3dB}=\frac{1}{2 \pi R1 C_D}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;math&amp;gt;C_D&amp;lt;/math&amp;gt; : Sperrschichtkapazität der Diode&lt;br /&gt;
&lt;br /&gt;
Bei angenommenen 20pF ergibt sie hier eine Grenzfrequenz von ca. 8kHz.&lt;br /&gt;
&lt;br /&gt;
==== Konstantstromquelle mit Transimpedanzverstärker ====&lt;br /&gt;
&lt;br /&gt;
Hier wird die Photodiode nahezu im Kurzschluss als lichtabhängige Stromquelle betrieben. Der Kurzschluss sorgt dafür, dass die Sperrschichtkapazität nicht umgeladen werden muss, das macht die Schaltung sehr schnell. Der Aufbau wird Transimpedanzverstärker genannt (engl. &#039;&#039;&#039;T&#039;&#039;&#039;rans&#039;&#039;&#039;I&#039;&#039;&#039;mpedance &#039;&#039;&#039;A&#039;&#039;&#039;mplifier, TIA). Einen guten [http://electronicdesign.com/Articles/Index.cfm?AD=1&amp;amp;AD=1&amp;amp;ArticleID=4346 Grundlagenartikel] zum TIA gibt es beim Analog-Guru Bob Pease bei [http://www.national.com National Semiconductor].&lt;br /&gt;
&lt;br /&gt;
[[bild:photo_diode_tia.png]]&lt;br /&gt;
&lt;br /&gt;
Vorteil dieser Schaltung ist die hohe Grenzfrequenz. Sie berechnet sich durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_{3dB}=\sqrt{\frac{GBP}{2 \pi R1 C_I}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*GBP : Verstärkungs-Bandbreite-Produkt des Operationsverstärkers (engl. &#039;&#039;&#039;G&#039;&#039;&#039;ain &#039;&#039;&#039;B&#039;&#039;&#039;andwidth &#039;&#039;&#039;P&#039;&#039;&#039;roduct), hier 1 MHz für den LM358&lt;br /&gt;
*&amp;lt;math&amp;gt;C_I&amp;lt;/math&amp;gt; : Summe aus Sperrschichtkapazität der Photodiode + Eingangskapazität des OPVs, hier mit 30pF angenommen.&lt;br /&gt;
&lt;br /&gt;
Selbst mit diesem eher langsamen OPV und schon sehr großen Rückkopplungswiderstand von 1M&amp;amp;Omega; erreichen wir schon eine Bandbreite von sagenhaften 72kHz! Wichtig ist hier C1, die Kompensationskapazität. Ist sie zu klein oder fehlt sie gar, schwingt der TIA. Die Berechnung von C1 erfolgt klassich gemäß&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C1=\frac{R_D}{R1} \cdot C_I&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;math&amp;gt;R_D&amp;lt;/math&amp;gt; : Sperrschichtwiderstand der Photodiode. Dieser ist selten in den Datenblättern angegeben, liegt aber meist im Bereich 1..100M&amp;amp;Omega;.&lt;br /&gt;
&lt;br /&gt;
Hier muss man mit C1 experimentieren, vor allem weil er meist sehr klein ist (einstelliger Picofaradbereich) und hier das Layout eine wesentlichen Rolle spielt. Eine verbessere Formel für C1 ergibt kleinere Werte, wobei allerdings ein geringfügiges Überschwingen des Verstärkers in Kauf genommen wird. Der Vorteil ist die bis zu zehnfach(!) höhere Bandbreite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C1=\sqrt{\frac{C_I}{R1 \cdot GBP}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Sperrschichtkapazität &amp;lt;math&amp;gt;C_D&amp;lt;/math&amp;gt; der Diode kann man verkleinern, indem man die Anode nicht auf GND, sondern eine negative Spannung legt, je nach Typ zwischen -5..-100V. Dadurch kann man &amp;lt;math&amp;gt;C_D&amp;lt;/math&amp;gt; um den Faktor 2..10 verkleinern und somit die Schaltung schneller machen.&lt;br /&gt;
&lt;br /&gt;
=== Phototransistor ===&lt;br /&gt;
&lt;br /&gt;
Phototransistoren sind wesentlich langsamer als Photodioden (Schaltzeiten im Mikrosekundenbereich), liefern dafür aber recht große Photoströme (&amp;amp;mu;A..mA). Je nach Schaltung erreicht man Grenzfrequenzen von einigen Dutzend Kilohertz. Benutzt werden sie wie Photodioden mit Arbeitswiderstand. Eine Verschaltung mit TIA ist nicht möglich, da Phototransistoren aktiv keinen Strom liefern.&lt;br /&gt;
&lt;br /&gt;
[[bild:photo_transistor.png]]&lt;br /&gt;
&lt;br /&gt;
Auf grund des relativ großen Photostroms kann man hier mit relativ kleinen Widerständen arbeiten und erhält eine hohe Bandbreite. Diese wird aber nach oben vor allem durch die Millerkapazität des Phototransistors sowie dessen Sättigungsverhalten der Basis-Emitter-Strecke begrenzt. Die Basis von Phototransistoren ist meist nicht zugänglich und bleibt offen. Bei einigen Typen ist sie als Pin am Bauteil herausgeführt. Mit einem hochohmigen Widerstand im Bereich 100k&amp;amp;Omega; bis 10M&amp;amp;Omega; von der Basis zum Emitter kann man die Schaltgeschwindigkeit des Phototransistors erhöhen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
* [http://www.evilmadscientist.com/article.php/nightlight A Simple and Cheap Dark-Detecting LED Circuit] - Nachtaktives LED-Throwie, aber hoher Knopfzellen-Ruhestrom 3mA !&lt;br /&gt;
* [http://www.datasheetcatalog.org/cgi-bin/helo.pl?field=Nume&amp;amp;type=C&amp;amp;text=sfh300&amp;amp;producedby=&amp;amp;action=Search SFH 300 FA-3/4 mit integriertem Infrarotfilter]&lt;br /&gt;
&lt;br /&gt;
=== LED ===&lt;br /&gt;
&lt;br /&gt;
[[LED]]s kann man auch als Photodiode betreiben, wenngleich der Wirkungsgrad bescheiden ist.&lt;br /&gt;
&lt;br /&gt;
* [http://www.merl.com/reports/docs/TR2003-35.pdf] Paper (die Theorie und Möglichkeiten)&lt;br /&gt;
* [http://www.geoclub.de/ftopic5753.html Reaktives Licht fürs Geocaching] - Doppelnutzung einer LED als Lichtsensor und als Lichtquelle von Sir Vivor. ([[AVR]])&lt;br /&gt;
* [http://www.ti.com/litv/zip/slac136c] - MSP430 Demo Code&lt;br /&gt;
* [http://mrl.nyu.edu/~jhan/ledtouch/index.html] - LED Matrix als Touch-Sensor&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/73776] - LED Matrix als Touch-Sensor&lt;br /&gt;
&lt;br /&gt;
== Integrierte Photosensoren ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.taosinc.com Texas Advanced Optoelectronic Solutions]&lt;br /&gt;
*[http://www.micromaus.de Micromaus: Sensoren, AVRs, PICs und mehr]&lt;br /&gt;
*Light-to-Voltage Converters&lt;br /&gt;
*Light-to-Frequency Converters (z.B. TSL230R, tageslichttauglich)&lt;br /&gt;
*Linear Sensor Arrays&lt;br /&gt;
*Light-to-Digital Converters&lt;br /&gt;
*Color Sensors&lt;br /&gt;
&lt;br /&gt;
Texas Instruments&lt;br /&gt;
* [http://focus.ti.com/lit/ds/symlink/opt101.pdf OPT101, Photodiode mit integriertem TIA]&lt;br /&gt;
* [http://www.ti.com/lit/gpn/opt301 OPT301, Photodiode mit integriertem TIA]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.lichtsprechen.de/ Webseite zu Amateurfunk mit Lichtwellen, Tips zur Schaltungstechnik und Optik]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Photowiderstand Wikipedia:Photowiderstand]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Photohalbleiter Wikipedia:Photohalbleiter]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Sensorik]]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LED&amp;diff=40537</id>
		<title>LED</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LED&amp;diff=40537"/>
		<updated>2009-11-07T20:51:52Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung == &lt;br /&gt;
&lt;br /&gt;
[[Bild:Ledrgb.jpg|thumb|right|246px|Detailfoto einer RGB-LED [http://www.mikrocontroller.net/topic/109784#990685]]]&lt;br /&gt;
&lt;br /&gt;
Eine LED (engl. &amp;lt;B&amp;gt;L&amp;lt;/B&amp;gt;ight &amp;lt;B&amp;gt;E&amp;lt;/B&amp;gt;mitting &amp;lt;B&amp;gt;D&amp;lt;/B&amp;gt;iode, &#039;&#039;Leuchtdiode&#039;&#039;) besteht aus einem [[Halbleiter]]-PN-Übergang, der durch seine Zusammensetzung Licht eines stark begrenzten Wellenbereiches emittiert, wenn er in Durchlassrichtung von Strom durchflossen wird. Die Helligkeit einer LED ist in erster Näherung proportional zum Strom.&lt;br /&gt;
&lt;br /&gt;
Die Farbe des emittierten Lichts hängt vom verwendeten Halbleitermaterial ab. Es existieren [[Halbleiter | Halbleitermaterialien]] für den gesamten sichtbaren Bereich als auch für den Infrarotbereich und den nahen Ultraviolettbereich. Für kurze Wellenlängen (Blau bis Ultraviolett) ist ein Halbleitermaterial wie z.B. InGaN oder GaN erforderlich. Für die ersten blauen LEDs wurde SiC verwendet, welche aber eine schlechte Effizienz hat (Quelle:Wikipedia).&lt;br /&gt;
&lt;br /&gt;
Weißes Licht oder andere Farbmischungen können erzeugt werden, indem man eine Blau- oder Ultraviolett-LED mit einem Phosphormaterial beschichtet, welches durch das Licht der LED zur Emission angeregt wird. Die entstehende Farbe wird dabei von der Beschichtung bestimmt.&lt;br /&gt;
&lt;br /&gt;
== Durchlassspannung ==&lt;br /&gt;
&lt;br /&gt;
LEDs haben im Vergleich zu gewöhnlichen [[Diode|Dioden]] eine vergleichsweise hohe, vom Halbleitermaterial abhängige [[Durchlass-Spannung]]. Bevor diese erreicht wird, fließt nur sehr wenig Strom und die LED leuchtet fast nicht. Oberhalb der Durchlassspannung steigt der Strom schnell an (Diodenkennlinie). Die Durchlass-Spannung reicht von ca. 1,2 V bei Infrarot-LEDs bis zu etwa 4 V bei Ultraviolett-LEDs. &lt;br /&gt;
&lt;br /&gt;
== Durchlassstrom == &lt;br /&gt;
&lt;br /&gt;
Da LEDs durch einen zu hohen Strom zerstört werden, muss der Strom begrenzt werden. Typische Maximalwerte liegen abhängig von der LED z.B. bei 2 mA (low current) oder 20 mA. Genaue Angaben dazu finden sich in entsprechenden Datenblättern.&lt;br /&gt;
&lt;br /&gt;
=== Vorwiderstand ===&lt;br /&gt;
&lt;br /&gt;
Im einfachsten Fall und bei relativ geringfügig variierender Betriebsspannung kann man dazu einen Widerstand einsetzen.&lt;br /&gt;
&lt;br /&gt;
[[bild:led_rv.png|right]]&lt;br /&gt;
Bei 6 V Betriebsspannung, einer Durchlassspannung der LED von 2,4 V und einem gewünschten Strom von 20 mA braucht man nach dem ohmschen Gesetz einen Widerstand von 180 Ohm, bei 12 V Betriebsspannung sind es 480 Ohm. In der Praxis wird jeweils der nächstgrößere Standardwert gewählt (E-Reihen).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;RV=\frac{Vcc-U_\text{LED}}{I_\text{LED}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* RV: Vorwiderstand in Ohm&lt;br /&gt;
* Vcc: Betriebsspannung in Volt&lt;br /&gt;
* &amp;lt;math&amp;gt;U_{LED}&amp;lt;/math&amp;gt;: Durchlassspannung der LED in Volt&lt;br /&gt;
* &amp;lt;math&amp;gt;I_{LED}&amp;lt;/math&amp;gt;: Strom durch die LED in Ampere&lt;br /&gt;
&lt;br /&gt;
Mit einem 480 Ohm Widerstand, welcher für 12 V Betriebsspannung passend ist, würden bei 6 Volt statt 20 mA nur noch 7,5 mA fließen. Mit einem 180-Ohm-Widerstand, welcher für 6 V Betriebsspannung passend ist, würden bei 12 V statt der gewünschten 20 mA allerdings schon 53 mA fließen. &lt;br /&gt;
&lt;br /&gt;
Beachten muss man auch die als Wärme abgegebene &#039;&#039;&#039;Verlustleistung&#039;&#039;&#039; über dem Vorwiderstand, vor allem wenn man LEDs an eine recht hohe Betriebsspannung von 12 V oder gar 24 V anschließt. Die Verlustleistung berechnet sich einfach aus&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P_{RV} = (Vcc-U_\text{LED}) \cdot I_\text{LED} = I_\text{LED}^2 \cdot RV&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel mit der 2,4 V LED und einem Strom von 20 mA heißt das, dass an dem 480-Ohm-Widerstand eine Verlustleistung von 192 mW abfällt. Ein kleiner SMD-Widerstand der Größe 0805 hält das nicht mehr aus (1/8 W = 125 mW maximal).&lt;br /&gt;
&lt;br /&gt;
Wie man aus dem Beispiel erkennt, ist bei stark variierender Betriebsspannung ein Vorwiderstand weniger geeignet. Es sei denn, man nimmt sehr unterschiedliche LED-Ströme und damit LED-Helligkeiten oder möglicherweise die Zerstörung der LED in Kauf.&lt;br /&gt;
&lt;br /&gt;
=== Konstantstromquelle ===&lt;br /&gt;
&lt;br /&gt;
Bei stark schwankender Versorgungsspannung oder Umgebungstemperatur heißt der Ausweg [[Konstantstromquelle]]. Kriterien für die Auswahl einer Schaltung für die Konstantstromquelle sind hierbei z.B. Betriebsspannungsbereich, erforderliche Genauigkeit und Kosten. Auch hier ist zu beachten, daß die Verlustleistung der Konstantstromquelle von den Bauteilen abgeführt werden muss, mit einer gewissen Ausnahme der Lösungen mit Schaltregler.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Tutorial: IO-Grundlagen#Hardware]]&lt;br /&gt;
* [[LED-Matrix]]&lt;br /&gt;
* [[LED-Fading]]&lt;br /&gt;
* [[Lichtsensor / Helligkeitssensor#LED]]&lt;br /&gt;
* [[Ambilight in Hardware]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.theledlight.com/technical.html www.theledlight.com] - LED Information and Technical Data (englisch)&lt;br /&gt;
* [http://forum.electronicwerkstatt.de/phpBB/faq/led/ LED FAQ für Anfänger]&lt;br /&gt;
* [http://www2.whidbey.net/opto/LEDFAQ/The%20LED%20FAQ%20Pages.html LED FAQ (engl.)]&lt;br /&gt;
* [http://members.misty.com/don/ledx.html Don Klipstein&#039;s LED Main Page (engl.)]&lt;br /&gt;
* [http://www.robotroom.com/LEDTester.html Selecting a LED] - LED Tester von David Cook (Beginnerprojekt)&lt;br /&gt;
* [http://www.evilmadscientist.com/article.php/throw Some thoughts on throwies] von Windell H. Oskay von www.evilmadscientist.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Displays und Anzeigen| ]]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40536</id>
		<title>AVR-Tutorial: Equipment</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40536"/>
		<updated>2009-11-07T20:44:56Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Stromversorgung */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AVR-Tutorial - Benötigte Ausrüstung =&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller alleine ist noch zu nichts nützlich. Damit man etwas damit anfangen kann, braucht man eine Schaltung, in die der Controller eingesetzt wird. Dazu werden bei Elektronikhändlern Platinen angeboten, die alles nötige (Taster, LEDs, Steckverbinder...) enthalten. Häufig enthalten diese Platinen nicht nur Platz für den Mikroprozessor, sondern auch einen ISP-Programmierer (Näheres dazu später).&lt;br /&gt;
&lt;br /&gt;
=== Fertige Evaluations-Boards und Starterkits ===&lt;br /&gt;
&lt;br /&gt;
==== AVR Starterkit aus dem Mikrocontroller.net-Shop ====&lt;br /&gt;
&lt;br /&gt;
Sehr gut für dieses Tutorial geeignet ist das [http://shop.mikrocontroller.net/?product_id=67 AVR-Starterkit aus dem Mikrocontroller.net-Shop]. Das Kit enthält eine Platine mit dem Controller ATmega8, einen USB-ISP-Programmieradapter und ein Steckernetzteil.&lt;br /&gt;
&lt;br /&gt;
==== STK500 ====&lt;br /&gt;
[[Bild:Stk500.jpg|right]]&lt;br /&gt;
Das STK500 ist das Standard-Board für AVR Entwicklung, direkt von Atmel. Es enthält auch einen ISP-Programmer und ist fertig aufgebaut. Es ist unter Entwicklern sehr beliebt und wird natürlich von Atmel unterstützt. Es gilt allgemein als gute Investition, wenn man ernsthaft in das Thema einsteigen möchte.&lt;br /&gt;
&lt;br /&gt;
Das STK500 kostet bei Reichelt ca. 80 Euro (ein geeignetes Netzteil muss zusätzlich erworben werden).&lt;br /&gt;
&lt;br /&gt;
==== Pollin Eval.-Board v2.x ====&lt;br /&gt;
&lt;br /&gt;
Bei Pollin Elektronik gibt es für 15 Euro ein Evaluation Board zum Selbstlöten (mit Platine und Bauteilen, aber ohne Mikrocontroller). Auch dieses Board enthält einen ISP-Programmer, allerdings der einfacheren Sorte. Im Vergleich zum STK500 ist das Board recht unflexibel und hat weniger Features. Die Beschreibung zum Zusammenlöten des Boards ist ausreichend, zur Benutzung des Boards erfährt man außer dem Schaltplan praktisch nichts. Der Schaltplan und dieses AVR-Tutorial zusammen sind allerdings ausreichend. &lt;br /&gt;
&lt;br /&gt;
Siehe: [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== Pollin Funk-AVR-Evaluationsboard v1.x ====&lt;br /&gt;
&lt;br /&gt;
Bei diesem Board besteht die Möglichkeit, Funkmodule wie das [[RFM12]], RFM01 oder RFM02 auf dem Board aufzulöten.&lt;br /&gt;
&lt;br /&gt;
Siehe: &lt;br /&gt;
* [[Pollin Funk-AVR-Evaluationsboard]]&lt;br /&gt;
* [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== ATmega8-Entwicklungsplatine ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist die [http://shop.mikrocontroller.net/?product_id=43 ATmega8-Entwicklungsplatine von shop.mikrocontroller.net]. Diese enthält eine Fassung für den Controller, einen Spannungswandler, die Beschaltung für die serielle Schnittstelle und einen Anschluss für den Programmieradapter. Die restliche Hardware wie LEDs und Taster kann man sich selber nach Belieben auf das Lochrasterfeld löten.&lt;br /&gt;
&lt;br /&gt;
==== Rumpus Board von lochraster.org ====&lt;br /&gt;
&lt;br /&gt;
Lochraster.org bietet ein Entwicklungsboard namens Rumpus an. Es kommt als Bausatz mit allen Teilen und Microcontroller (Atmega 168), auf dem Microcontroller ist bereits ein USB Bootloader installiert so dass man nach dem Zusammenbau sofort starten kann. Das Board wird direkt über USB mit Strom versorgt und auch über USB programmiert, es kann auch selbst als Programmer für AVR Microcontroller benutzt  werden. Das Board ist mit recht umfangreicher Peripherie ausgestattet, so das sich von sehr einfachen Anwendungen wie dem Blinken einer LED bis hin zu komplexen Aufgaben wie senden und empfangen von Infrarot Signalen eine Vielzahl von Anwendungen realisieren lassen. Mit 45 Euro gehört es sicher nicht zu den ganz billigen Einsteigerboards, für den ambitionierten Amateur bietet die reichhaltige Periperie den Vorteil das Board während des gesamten Lernprzesses zu nutzen ohne für die Realisierung komplexerer Aufgaben neue Hardware auflöten zu müssen. Weitere Infos unter http://www.lochraster.org/ und http://wiki.lochraster.org/&lt;br /&gt;
&lt;br /&gt;
==== Andere ====&lt;br /&gt;
&lt;br /&gt;
Das Angebot an AVR-Evaluationboards, -Experimentierplatinen, -Entwicklerplatinen oder wie die jeweiligen Hersteller ihre Produkte auch immer bezeichnen, ist mittlerweile recht groß geworden. Sie alle zu bewerten ist unmöglich geworden.&lt;br /&gt;
&lt;br /&gt;
===Selbstbau===&lt;br /&gt;
&lt;br /&gt;
Ein fertiges Board ist gar nicht nötig, man kann die benötigte Schaltung auch selbst auf einem kleinen Steckbrett oder einer Lochrasterplatine aufbauen. So kompliziert wie das STK500 wird es nicht, es reichen eine Handvoll Bauteile. Wie man das macht, wird im Folgenden beschrieben.&lt;br /&gt;
Steckbretter (Breadboards) gibt&#039;s z.B. bei [http://www.reichelt.de Reichelt],  [http://www.conelek.com/Steckplatinen ConeleK], [http://www.elv.de/ ELV] oder [http://www.conrad.de/ Conrad]. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Mega8_Tutorial.png|center|framed| Die Grundschaltung eines Mega8]]&lt;br /&gt;
&lt;br /&gt;
Über den Takteingang &#039;&#039;&#039;XTAL1&#039;&#039;&#039; ist der Mikrocontroller mit dem &#039;&#039;&#039;Quarzoszillator&#039;&#039;&#039; verbunden, der den benötigten Takt von 4 MHz liefert (siehe unten). Achtung: die Pins werden, wenn man den Oszillator mit der Schrift nach oben vor sich liegen hat, von unten links aus abgezählt. Unten links ist Pin 1, unten rechts Pin 7, oben rechts Pin 8 und oben links Pin 14 (natürlich hat der Oszillator nur 4 Pins. Die Nummerierung kommt daher, dass bei einem normalen IC dieser Größe an den gleichen Positionen die Pins Nr. 1, 7, 8 und 14 wären). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PD0-PD7&#039;&#039;&#039; und &#039;&#039;&#039;PB0-PB5&#039;&#039;&#039; sind die &#039;&#039;&#039;IO-Ports&#039;&#039;&#039; des Mikrocontrollers. Hier können Bauteile wie LEDs, Taster oder LCDs angeschlossen werden.&lt;br /&gt;
Der &#039;&#039;&#039;Port C (PC0-PC5)&#039;&#039;&#039; spielt beim Atmega8/AT90S4433 eine Sonderrolle: mit diesem Port können Analog-Spannungen gemessen werden. Aber dazu später mehr!&lt;br /&gt;
An &#039;&#039;&#039;Pin 17-19&#039;&#039;&#039; ist die Stiftleiste zur Verbindung mit dem ISP-Programmer angeschlossen, über den der AVR vom PC programmiert wird (Achtung: Pins in Abbildung entsprechen nicht der Belegung des AVRISP mkII. Die korrekte Pin-Belegung kann im Handbuch des AVRISP mkII eingesehen werden).&lt;br /&gt;
Die Resetschaltung, bestehend aus &#039;&#039;&#039;R1&#039;&#039;&#039; und &#039;&#039;&#039;C1&#039;&#039;&#039;, sorgt dafür, dass der Reseteingang des Controllers standardmäßig auf Vcc=5V liegt.&lt;br /&gt;
Zum Programmieren zieht der ISP-Adapter die Resetleitung auf Masse (GND), die Programmausführung wird dadurch unterbrochen und der interne Speicher des Controllers kann neu programmiert werden.&lt;br /&gt;
Zwischen Vcc und GND kommen noch jeweils ein 100nF Keramik- oder Folienkondensator C3 und C4, um Störungen in der Versorgungsspannung zu unterdrücken. Diese [[Abblockkondensator|Abblockkondensatoren]] sollten so nah wie möglich am Controller plaziert werden. An den Ausgang ARef wird ebenfalls ein 100nF Kondensator angeschlossen. Dieser wird allerdings erst benötigt, wenn der Analog/Digital Konverter des µC in Betrieb genommen wird.&lt;br /&gt;
&lt;br /&gt;
Für den Anschluss des ISP-Programmiergerätes kann man im Grunde jede beliebige Pin-Belegung des ISP Steckers benutzen, solange nur alle benötigten Leitungen mit dem Programmiergerät verbunden sind. In der Praxis haben sich allerdings bestimmte Belegungen durchgesetzt. Im Schaltbild ist eine eigene Belegung des 6-poligen Steckers gezeigt. Die alternative Pinbelegung eines 2-reihigen/10-poligen Steckers ist eine übliche Belegung. Benutzt man so eine übliche Belegung, so reicht normalerweise ein 10-poliges Flachbandkabel, um den vorhandenen ISP-Programmer so mit der Schaltung zu verbinden, dass alle Signale am richtigen Prozessorpin ankommen. Siehe auch [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Hier die Liste der benötigten Bauteile: &lt;br /&gt;
&lt;br /&gt;
* R1         Widerstand 10 kOhm&lt;br /&gt;
* C1         Keramikkondensator 47 nF&lt;br /&gt;
* C2, C3, C4 Keramik- oder Folienkondensator 100 nF&lt;br /&gt;
*            Stiftleiste 6-polig&lt;br /&gt;
*            Mikrocontroller ATmega8 (kann auf [http://shop.mikrocontroller.net/ http://shop.mikrocontroller.net/] bestellt werden)&lt;br /&gt;
*            Quarzoszillator 4 MHz&lt;br /&gt;
&lt;br /&gt;
Beim Steckbrett ist darauf zu achten, dass man die parallellaufenden Schienen für GND (blau) und Vcc (rot) jeweils mit Drähten verbindet (nicht Vcc und GND miteinander!).&lt;br /&gt;
&lt;br /&gt;
Eine Zusammenstellung der benötigten Bauteile befindet sich in der [[AVR-Tutorial_Bestellliste|Bestellliste]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid grey; padding: 1ex; font-size: 90%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ergänzende Hinweise zur Taktversorgung (kann übersprungen werden) ===&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller benötigt, wie jeder Computer, eine Taktversorgung. Der Takt ist notwendig, um die internen Abläufe im Prozessor in einer geordneten Reihenfolge ausführen zu können. Die Frequenz des Taktes bestimmt im Wesentlichen, wie schnell ein Computer arbeitet.&lt;br /&gt;
&lt;br /&gt;
Bei einem ATMega8 gibt es 2 Möglichkeiten zur Taktversorgung&lt;br /&gt;
* interner Takt&lt;br /&gt;
* externer Takt&lt;br /&gt;
&lt;br /&gt;
====interner Takt====&lt;br /&gt;
Dies ist der Auslieferungszustand bei einem Mega8. Dabei wird der Takt von einem internen RC-Glied geliefert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Keine externe Beschaltung notwendig. Die Pins, an denen ansonsten ein Quarz oder ein Quarzoszillator angeschlossen wird, sind daher als normale Portpins für Ein/Ausgaben verwendbar.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Das RC-Glied ist nicht sehr genau. Bei Temperaturänderungen verändert es seine Frequenz. Nur 4 Frequenzen (1MHz, 2MHz, 4MHz und 8MHz) sind bei einem Mega8 realisierbar. Es gibt zwar die Möglichkeit, die interne Frequenz in Grenzen noch zu verändern, dies ist aber aufwändig und erfordert mindestens einen Frequenzzähler, wenn man eine bestimmte Frequenz erreichen will.&lt;br /&gt;
&lt;br /&gt;
====externer Takt====&lt;br /&gt;
Hier gibt es diesmal drei Möglichkeiten:&lt;br /&gt;
* Quarz&lt;br /&gt;
* Quarzoszillator&lt;br /&gt;
* Keramikschwinger/Resonator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Die Taktfrequenz ist so stabil, wie es der Quarz, Oszillator oder Keramikschwinger vorgibt. Und das ist wesentlich genauer als der interne Oszillator. Kein Abgleich notwendig, wenn eine bestimmte Frequenz erreicht werden soll, solange es einen Quarz bzw. Oszillator oder Keramikschwinger in dieser Frequenz gibt.&lt;br /&gt;
Ein spezieller Vorteil des Keramikschwingers ist, dass dieser keine Kondensatoren nach Masse braucht, weil er die schon eingebaut hat.&lt;br /&gt;
Es muss lediglich ein dritter Pin mit Masse verbunden werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Die Pins an denen der Quarz bzw. Oszillator oder Keramikschwinger angeschlossen wird, sind nicht mehr als I/O Pins nutzbar.&lt;br /&gt;
&lt;br /&gt;
Spätestens dann, wenn eine RS232-Verbindung zu einem anderen Computer aufgebaut werden soll, ist eine exakte Taktversorgung einer der Schlüssel, um diese Verbindung auch stabil halten zu können. Aus diesem Grund wird in diesem Tutorial von vornherein mit einem externen Takt gearbeitet. Es spielt dabei keine Rolle, ob dafür ein Quarzoszillator, ein Quarz oder ein Keramikschwinger benutzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;FF0000&amp;quot;&amp;gt;Achtung: Ein ATMega8 wird mit aktiviertem internen Takt ausgeliefert. Um einen Quarzoszillator oder einen Quarz zu aktivieren, müssen die Fuse-Bits des Prozessors verändert werden. Details dazu finden sich [[AVR_Fuses|hier]].&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Quarz statt Quarzoszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarzoszillators ein Quarz eingesetzt, so sieht die Anbindung des Quarzes so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:tutorial-quarz-schaltplan.png|center|framed| Quarz Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Die beiden Kondensatoren &#039;&#039;&#039;C3&#039;&#039;&#039; und &#039;&#039;&#039;C4&#039;&#039;&#039; sind zum Betrieb des Quarzes notwendig. Ihre Größe ist abhängig von den Daten des Quarzes. 22pF sind ein Wert, der bei den meisten Quarzen funktionieren sollte.&lt;br /&gt;
&lt;br /&gt;
==== Keramikschwinger/Resonator- statt Quarz/Oszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarz/Oszillators ein Keramikschwinger eingesetzt, so sieht die Anbindung des Keramikschwingers so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Resonator.png|framed|center| Resonator Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Es werden keine Kondensatoren benötigt, daher ist der Anschluss eines Keramikschwingers kinderleicht.&lt;br /&gt;
Zu beachten ist, dass ein Keramikschwinger eine höhere Toleranz als ein Quarz aufweist, die aufgedruckte Frequenz also nicht so genau liefert wie ein Quarz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung ===&lt;br /&gt;
&lt;br /&gt;
Die Versorgungsspannung &#039;&#039;&#039;Vcc&#039;&#039;&#039; beträgt 5V und kann z.B. mit folgender Schaltung erzeugt werden:&lt;br /&gt;
&lt;br /&gt;
[[Bild:V_Regler.gif|framed|center|Standard-Netzteilbeschaltung eines 7805]]&lt;br /&gt;
&lt;br /&gt;
Bauteile:&lt;br /&gt;
* IC1: 5V-Spannungsregler 7805&lt;br /&gt;
* C1: Elko 10µF (Polung beachten!)&lt;br /&gt;
* C2,C3: 2x Kondensator 100nF (kein Elektrolyt)&lt;br /&gt;
* D1: Diode 1N4001&lt;br /&gt;
&lt;br /&gt;
Hauptelement der Schaltung ist das IC 7805. Seine Aufgabe ist es aus der Versorgungsspannung stabile 5V zu erzeugen. Dieses IC gibt es seit vielen Jahren und wird von vielen Chipherstellern produziert. Er stellt die einfachste und simpelste Möglichkeit dar, aus einer vorhandenen Gleichspannung definierte 5V zu erzeugen. Den 7805 gibt es in verschiedenen Ausführungen, was seine maximale Strombelastung angeht. Für die Zwecke dieses Tutorials ist die Standard-Variante, welche maximal 1A abgeben kann, völlig ausreichend. Der 7805 enthält eine Übertemperatursicherung, so dass er abschaltet, wenn es ihm zu heiß wird.&lt;br /&gt;
&lt;br /&gt;
Die beiden 100nF Kondensatoren haben die Aufgabe, eine mögliche Schwingneigung des 7805 zu unterdrücken. Sie müssen so nahe wie möglich an den Anschlusspins des 7805 angeschlossen werden, um ihre Wirkung zu entfalten.&lt;br /&gt;
&lt;br /&gt;
An den Eingang (+ und - im Schaltplan) wird ein Steckernetzteil mit einer Spannung von 9 - 12V angeschlossen. Der 7805 benötigt an seinem Eingang eine Gleichspannung, die mindestens 8V beträgt. Mit einem 6V oder 7V Netzteil wird der 7805 keine stabilen 5V erzeugen können. Auf der anderen Seite macht es auch keinen Sinn, wesentlich über 12V Eingangsspannung hinauszugehen. Der 7805 ist ein Linearregler. Salopp gesagt, wird die überschüssige Spannung in Form von Wärme vernichtet. Liegt die Eingangsspannung weit über 12V, so wird schon wesentlich mehr Energie in Form von Wärme umgesetzt, als am Ausgang entnommen werden kann. Mal ganz davon abgesehen, dass der 7805 davon brennheiß werden wird.&lt;br /&gt;
&lt;br /&gt;
Eine Stromversorgung mit Batterien ist grundsätzlich auch möglich, wenn die elektrischen Grenzdaten des µC eingehalten werden (max. Spannung, min. Spannung). Bei der geregelten Stromversorgung oben sollte die Batteriespannung ca. 1.5 - 2.5V (Dropout-Spannung des Linearreglers) größer sein als die Versorgungsspannung des µC. Die [[Versorgung aus einer Zelle]] ist ein Thema für Fortgeschrittene.&lt;br /&gt;
&lt;br /&gt;
=== Der ISP-Programmierer (In-System-Programmer)===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Mikrocontroller.gif|framed|right|ISP Programmierer]]&lt;br /&gt;
Dann braucht man nur noch den &#039;&#039;&#039;ISP-Programmieradapter&#039;&#039;&#039;, über den man die Programme vom PC in den Controller übertragen kann. Eine Übersicht über mögliche ISP-Programmer Varianten findet sich im Artikel [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Fertige ISP-Programmer zum Anschluss an den Parallelport oder USB gibt es z.B. auf http://shop.mikrocontroller.net/. &lt;br /&gt;
&lt;br /&gt;
Eine Bauanleitung gibt es u.a. auf [http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel] oder [http://rumil.de/hardware/avrisp.html http://rumil.de/hardware/avrisp.html].&lt;br /&gt;
&lt;br /&gt;
Den ISP-Adapter schließt man an den Parallelport an und verbindet ihn mit der Stiftleiste SV1 über ein 6-adriges Kabel (siehe Schaltplan).&lt;br /&gt;
&lt;br /&gt;
=== Sonstiges ===&lt;br /&gt;
&lt;br /&gt;
Wer vorausschauend kauft, kauft mehr als einen Mikrocontroller. Bis der erste Controller defekt ist oder man durch Austauschen sicher gehen möchte, ob der Fehler im Programm oder im Controller ist, vergeht nur wenig Zeit.&lt;br /&gt;
&lt;br /&gt;
Für die anderen Teile des Tutorials sollte man sich noch die folgenden Bauteile besorgen: &lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 2 (I/O-Grundlagen)&lt;br /&gt;
* 5 LEDs 5mm&lt;br /&gt;
* 5 Taster&lt;br /&gt;
* 5 Widerstände 1k&lt;br /&gt;
* 5 Widerstände 10k&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 6 (LC-Display)&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* 1 HD44780-kompatibles LCD, z.B. 4x20 oder 2x16 Zeichen&lt;br /&gt;
*   besitzt das LCD eine Hintergrundbeleuchtung, dann noch einen Vorwiderstand dafür. Details dazu stehen im Datenblatt des LCD. Ein Wert von 50 Ohm sollte aber in jedem Fall passen. Schlimmstenfalls ist die Hintergrundbeleuchtung dann etwas zu dunkel.&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 10 (Der UART)&lt;br /&gt;
* 1 Pegelwandler MAX232, MAX232&#039;&#039;&#039;A&#039;&#039;&#039; oder MAX202&lt;br /&gt;
* 5 Kondensatoren&lt;br /&gt;
** Bei einem MAX232: je 1µF Elektrolytkondensator&lt;br /&gt;
** Bei einem MAX202 oder MAX232&#039;&#039;&#039;A&#039;&#039;&#039;: je  100nF Keramik- oder Elektrolytkondensator&lt;br /&gt;
:Die Kondensatoren dürfen auch größer sein. Ist man sich nicht sicher, welchen MAX232 man hat (A oder nicht A), dann die größeren Kondensatoren 1µF nehmen, die funktionieren auch beim MAX232A oder MAX202.&lt;br /&gt;
* 1 9-polige SUBD-Buchse (female)&lt;br /&gt;
* 1 dazu passendes Modem(nicht Nullmodem!)-Kabel&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 14 (ADC)&lt;br /&gt;
* 1 Kondensator 100n&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* nach Lust und Laune temperatur- oder lichtabhängige Widerstände und jeweils einen Widerstand in der gleichen Größenordnung wie der Sensor&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 17 (Schieberegister)&lt;br /&gt;
* 2 Schieberegister 74HC595&lt;br /&gt;
* einige LED, damit man an die Schieberegister auch etwas anschliessen kann, samt passenden Vorwiderständen&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 19 (7-Segmentanzeige)&lt;br /&gt;
* 4 7-Segmentanzeigen mit gemeinsamer Anode&lt;br /&gt;
* 4 PNP Transistoren BC338&lt;br /&gt;
* 4 Widerstände 1k&lt;br /&gt;
* 7 Widerstände 100Ohm&lt;br /&gt;
&lt;br /&gt;
Für weitere Bauteile, die man als angehender µC Bastler auch des Öfteren mal benötigt, empfiehlt sich ein Blick in die Liste der [[Standardbauelemente]] bzw. in die [[Absolute_beginner|Grundausstattung]]. Wenn ihr Händler Großpackungen (zb. 100 Stück) von 100n Kondensatoren, 10k, 1k oder 100Ohm Widerständen anbietet, sollten sie deren Erwerb in Erwägung ziehen. Diese Bauteile benötigt man oft und derartige Großpackungen sind oft nicht teurer, als wennn man einige wenige Exemplare einzeln kauft. Dies hängt damit zusammen, daß das Herauszählen von 9 Bauteilen für den Verkäufer teurer kommt, als 100 Bauteile abgepackt aus dem Regal zu nehmen.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial wird nur auf die Programmierung in Assembler eingegangen, da Assembler für das Verständnis der Hardware am besten geeignet ist.&lt;br /&gt;
&lt;br /&gt;
=== Assembler ===&lt;br /&gt;
&lt;br /&gt;
Zuerst braucht man einen &#039;&#039;&#039;Assembler&#039;&#039;&#039;, der in Assemblersprache geschriebene Programme in Maschinencode übersetzt. Windows-User können das [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR-Studio] von Atmel verwenden, das neben dem Assembler auch einen Simulator enthält, mit dem sich die Programme vor der Übertragung in den Controller testen lassen; für Linux gibt es [http://www.tavrasm.org/ tavrasm], [http://avra.sourceforge.net/ avra] und [http://avr-asm-tutorial.net/gavrasm/index_de.html gavrasm]. &lt;br /&gt;
&lt;br /&gt;
Um die vom Assembler erzeugte &amp;quot;.hex&amp;quot;-Datei über den ISP-Adapter in den Mikrocontroller zu programmieren, kann man unter Windows z.B. das Programm [http://www.myplace.nu/avr/yaap/ yaap] verwenden, für Linux gibt es [http://savannah.nongnu.org/projects/uisp/ uisp], für beide avrdude.&lt;br /&gt;
&lt;br /&gt;
=== C ===&lt;br /&gt;
Wer in C programmieren möchte, kann den kostenlosen GNU-C-Compiler AVR-GCC (unter Windows &amp;quot;WinAVR&amp;quot;) ausprobieren. Dieser C-Compiler kann auch in das für Assembler-Programmierung notwendige AVR-Studio integriert werden. In der Artikelsammlung gibt es ein umfangreiches [[AVR-GCC-Tutorial|Tutorial]] zu diesem Compiler;&lt;br /&gt;
&lt;br /&gt;
Wer unter Windows und Linux gleichermassen kostenlos entwickeln will, der sollte sich die [http://www.eclipse.org/ IDE Eclipse for C/C++ Developers] und das [http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR-Eclipse Plugin ] ansehen, beide sind unter Windows und Linux einfach zu installieren. Hier wird auch der AVR-GCC benutzt. In der Artikelsammlung gibt es ein umfangreiches [[AVR Eclipse|AVR Eclipse Tutorial]] zu dieser IDE.&lt;br /&gt;
Ebenfalls unter Linux und Windows verfügbar ist die Entwicklungsumgebung [http://www.codeblocks.org/ Code::Blocks] (aktuelle, stabile Versionen sind als Nightly Builds regelmäßig im [http://forums.codeblocks.org/ Forum] verfügbar). Innerhalb dieser Entwicklungsumgebung können ohne die Installation zusätzlicher Plugins &amp;quot;AVR-Projekte&amp;quot; angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Fragen dazu stellt man am besten hier im [http://www.mikrocontroller.net/forum/list-2-1.html GCC-Forum].&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
Wer in Pascal programmieren muss, kann [http://www.e-lab.de AVRPascal] ausprobieren.&amp;lt;br&amp;gt; &lt;br /&gt;
Dieser Pascalcompiler ist kostenfrei bis 4kb Code und bietet viele ausgereifte Bibliotheken für Servoansteuerung, Serielle Schnittstellen (COM, TWI, SPI), PWM, Timernutzung, LCD-Displays usw.&amp;lt;br&amp;gt; &lt;br /&gt;
Außerdem gibt es eine kostenfreie Version für den Mega8 und den Mega88.&lt;br /&gt;
[http://www.e-lab.de E-LAB].&lt;br /&gt;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
Auch Basic-Fans kommen nicht zu kurz, für die gibt es z.B. [[Bascom AVR]] ($69, Demo verfügbar).&lt;br /&gt;
&lt;br /&gt;
=== Forth ===&lt;br /&gt;
Wer einen direkten und interaktiven Zugang zum Controller haben will, sollte sich [http://amforth.sourceforge.net Forth] anschauen. Voraussetzung ist ein serieller Anschluß (Max232), also etwas mehr als die Minimalbeschaltung.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
Bevor man anfängt, sollte man sich die folgenden PDF-Dateien runterladen und zumindest mal reinschauen:&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf Datenblatt des ATmega8 (4,54 MB)]&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf Befehlssatz der AVRs (1,27 MB)]&lt;br /&gt;
* oder [http://www.avr-roboter.de/controller/befehle/befehle.html Befehlssatz in deutscher Übersetzung online]&lt;br /&gt;
&lt;br /&gt;
Das Datenblatt eines Controllers ist das wichtigste Dokument für einen Entwickler. Es enthält Informationen über die Pinbelegung, Versorgungsspannung, Beschaltung, Speicher, die Verwendung der IO-Komponenten und vieles mehr.&lt;br /&gt;
&lt;br /&gt;
Im Befehlssatz sind alle Assemblerbefehle der AVR-Controllerfamilie aufgelistet und erklärt.&lt;br /&gt;
 &lt;br /&gt;
{{Navigation_hochvor|	 &lt;br /&gt;
hochtext=Inhaltsverzeichnis|	 &lt;br /&gt;
hochlink=AVR-Tutorial|	 &lt;br /&gt;
vortext=I/O Grundlagen|	 &lt;br /&gt;
vorlink=AVR-Tutorial: IO-Grundlagen}}	 &lt;br /&gt;
 &lt;br /&gt;
[[Category:AVR-Tutorial]]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40535</id>
		<title>AVR-Tutorial: Equipment</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40535"/>
		<updated>2009-11-07T20:39:46Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Stromversorgung */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AVR-Tutorial - Benötigte Ausrüstung =&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller alleine ist noch zu nichts nützlich. Damit man etwas damit anfangen kann, braucht man eine Schaltung, in die der Controller eingesetzt wird. Dazu werden bei Elektronikhändlern Platinen angeboten, die alles nötige (Taster, LEDs, Steckverbinder...) enthalten. Häufig enthalten diese Platinen nicht nur Platz für den Mikroprozessor, sondern auch einen ISP-Programmierer (Näheres dazu später).&lt;br /&gt;
&lt;br /&gt;
=== Fertige Evaluations-Boards und Starterkits ===&lt;br /&gt;
&lt;br /&gt;
==== AVR Starterkit aus dem Mikrocontroller.net-Shop ====&lt;br /&gt;
&lt;br /&gt;
Sehr gut für dieses Tutorial geeignet ist das [http://shop.mikrocontroller.net/?product_id=67 AVR-Starterkit aus dem Mikrocontroller.net-Shop]. Das Kit enthält eine Platine mit dem Controller ATmega8, einen USB-ISP-Programmieradapter und ein Steckernetzteil.&lt;br /&gt;
&lt;br /&gt;
==== STK500 ====&lt;br /&gt;
[[Bild:Stk500.jpg|right]]&lt;br /&gt;
Das STK500 ist das Standard-Board für AVR Entwicklung, direkt von Atmel. Es enthält auch einen ISP-Programmer und ist fertig aufgebaut. Es ist unter Entwicklern sehr beliebt und wird natürlich von Atmel unterstützt. Es gilt allgemein als gute Investition, wenn man ernsthaft in das Thema einsteigen möchte.&lt;br /&gt;
&lt;br /&gt;
Das STK500 kostet bei Reichelt ca. 80 Euro (ein geeignetes Netzteil muss zusätzlich erworben werden).&lt;br /&gt;
&lt;br /&gt;
==== Pollin Eval.-Board v2.x ====&lt;br /&gt;
&lt;br /&gt;
Bei Pollin Elektronik gibt es für 15 Euro ein Evaluation Board zum Selbstlöten (mit Platine und Bauteilen, aber ohne Mikrocontroller). Auch dieses Board enthält einen ISP-Programmer, allerdings der einfacheren Sorte. Im Vergleich zum STK500 ist das Board recht unflexibel und hat weniger Features. Die Beschreibung zum Zusammenlöten des Boards ist ausreichend, zur Benutzung des Boards erfährt man außer dem Schaltplan praktisch nichts. Der Schaltplan und dieses AVR-Tutorial zusammen sind allerdings ausreichend. &lt;br /&gt;
&lt;br /&gt;
Siehe: [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== Pollin Funk-AVR-Evaluationsboard v1.x ====&lt;br /&gt;
&lt;br /&gt;
Bei diesem Board besteht die Möglichkeit, Funkmodule wie das [[RFM12]], RFM01 oder RFM02 auf dem Board aufzulöten.&lt;br /&gt;
&lt;br /&gt;
Siehe: &lt;br /&gt;
* [[Pollin Funk-AVR-Evaluationsboard]]&lt;br /&gt;
* [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== ATmega8-Entwicklungsplatine ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist die [http://shop.mikrocontroller.net/?product_id=43 ATmega8-Entwicklungsplatine von shop.mikrocontroller.net]. Diese enthält eine Fassung für den Controller, einen Spannungswandler, die Beschaltung für die serielle Schnittstelle und einen Anschluss für den Programmieradapter. Die restliche Hardware wie LEDs und Taster kann man sich selber nach Belieben auf das Lochrasterfeld löten.&lt;br /&gt;
&lt;br /&gt;
==== Rumpus Board von lochraster.org ====&lt;br /&gt;
&lt;br /&gt;
Lochraster.org bietet ein Entwicklungsboard namens Rumpus an. Es kommt als Bausatz mit allen Teilen und Microcontroller (Atmega 168), auf dem Microcontroller ist bereits ein USB Bootloader installiert so dass man nach dem Zusammenbau sofort starten kann. Das Board wird direkt über USB mit Strom versorgt und auch über USB programmiert, es kann auch selbst als Programmer für AVR Microcontroller benutzt  werden. Das Board ist mit recht umfangreicher Peripherie ausgestattet, so das sich von sehr einfachen Anwendungen wie dem Blinken einer LED bis hin zu komplexen Aufgaben wie senden und empfangen von Infrarot Signalen eine Vielzahl von Anwendungen realisieren lassen. Mit 45 Euro gehört es sicher nicht zu den ganz billigen Einsteigerboards, für den ambitionierten Amateur bietet die reichhaltige Periperie den Vorteil das Board während des gesamten Lernprzesses zu nutzen ohne für die Realisierung komplexerer Aufgaben neue Hardware auflöten zu müssen. Weitere Infos unter http://www.lochraster.org/ und http://wiki.lochraster.org/&lt;br /&gt;
&lt;br /&gt;
==== Andere ====&lt;br /&gt;
&lt;br /&gt;
Das Angebot an AVR-Evaluationboards, -Experimentierplatinen, -Entwicklerplatinen oder wie die jeweiligen Hersteller ihre Produkte auch immer bezeichnen, ist mittlerweile recht groß geworden. Sie alle zu bewerten ist unmöglich geworden.&lt;br /&gt;
&lt;br /&gt;
===Selbstbau===&lt;br /&gt;
&lt;br /&gt;
Ein fertiges Board ist gar nicht nötig, man kann die benötigte Schaltung auch selbst auf einem kleinen Steckbrett oder einer Lochrasterplatine aufbauen. So kompliziert wie das STK500 wird es nicht, es reichen eine Handvoll Bauteile. Wie man das macht, wird im Folgenden beschrieben.&lt;br /&gt;
Steckbretter (Breadboards) gibt&#039;s z.B. bei [http://www.reichelt.de Reichelt],  [http://www.conelek.com/Steckplatinen ConeleK], [http://www.elv.de/ ELV] oder [http://www.conrad.de/ Conrad]. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Mega8_Tutorial.png|center|framed| Die Grundschaltung eines Mega8]]&lt;br /&gt;
&lt;br /&gt;
Über den Takteingang &#039;&#039;&#039;XTAL1&#039;&#039;&#039; ist der Mikrocontroller mit dem &#039;&#039;&#039;Quarzoszillator&#039;&#039;&#039; verbunden, der den benötigten Takt von 4 MHz liefert (siehe unten). Achtung: die Pins werden, wenn man den Oszillator mit der Schrift nach oben vor sich liegen hat, von unten links aus abgezählt. Unten links ist Pin 1, unten rechts Pin 7, oben rechts Pin 8 und oben links Pin 14 (natürlich hat der Oszillator nur 4 Pins. Die Nummerierung kommt daher, dass bei einem normalen IC dieser Größe an den gleichen Positionen die Pins Nr. 1, 7, 8 und 14 wären). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PD0-PD7&#039;&#039;&#039; und &#039;&#039;&#039;PB0-PB5&#039;&#039;&#039; sind die &#039;&#039;&#039;IO-Ports&#039;&#039;&#039; des Mikrocontrollers. Hier können Bauteile wie LEDs, Taster oder LCDs angeschlossen werden.&lt;br /&gt;
Der &#039;&#039;&#039;Port C (PC0-PC5)&#039;&#039;&#039; spielt beim Atmega8/AT90S4433 eine Sonderrolle: mit diesem Port können Analog-Spannungen gemessen werden. Aber dazu später mehr!&lt;br /&gt;
An &#039;&#039;&#039;Pin 17-19&#039;&#039;&#039; ist die Stiftleiste zur Verbindung mit dem ISP-Programmer angeschlossen, über den der AVR vom PC programmiert wird (Achtung: Pins in Abbildung entsprechen nicht der Belegung des AVRISP mkII. Die korrekte Pin-Belegung kann im Handbuch des AVRISP mkII eingesehen werden).&lt;br /&gt;
Die Resetschaltung, bestehend aus &#039;&#039;&#039;R1&#039;&#039;&#039; und &#039;&#039;&#039;C1&#039;&#039;&#039;, sorgt dafür, dass der Reseteingang des Controllers standardmäßig auf Vcc=5V liegt.&lt;br /&gt;
Zum Programmieren zieht der ISP-Adapter die Resetleitung auf Masse (GND), die Programmausführung wird dadurch unterbrochen und der interne Speicher des Controllers kann neu programmiert werden.&lt;br /&gt;
Zwischen Vcc und GND kommen noch jeweils ein 100nF Keramik- oder Folienkondensator C3 und C4, um Störungen in der Versorgungsspannung zu unterdrücken. Diese [[Abblockkondensator|Abblockkondensatoren]] sollten so nah wie möglich am Controller plaziert werden. An den Ausgang ARef wird ebenfalls ein 100nF Kondensator angeschlossen. Dieser wird allerdings erst benötigt, wenn der Analog/Digital Konverter des µC in Betrieb genommen wird.&lt;br /&gt;
&lt;br /&gt;
Für den Anschluss des ISP-Programmiergerätes kann man im Grunde jede beliebige Pin-Belegung des ISP Steckers benutzen, solange nur alle benötigten Leitungen mit dem Programmiergerät verbunden sind. In der Praxis haben sich allerdings bestimmte Belegungen durchgesetzt. Im Schaltbild ist eine eigene Belegung des 6-poligen Steckers gezeigt. Die alternative Pinbelegung eines 2-reihigen/10-poligen Steckers ist eine übliche Belegung. Benutzt man so eine übliche Belegung, so reicht normalerweise ein 10-poliges Flachbandkabel, um den vorhandenen ISP-Programmer so mit der Schaltung zu verbinden, dass alle Signale am richtigen Prozessorpin ankommen. Siehe auch [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Hier die Liste der benötigten Bauteile: &lt;br /&gt;
&lt;br /&gt;
* R1         Widerstand 10 kOhm&lt;br /&gt;
* C1         Keramikkondensator 47 nF&lt;br /&gt;
* C2, C3, C4 Keramik- oder Folienkondensator 100 nF&lt;br /&gt;
*            Stiftleiste 6-polig&lt;br /&gt;
*            Mikrocontroller ATmega8 (kann auf [http://shop.mikrocontroller.net/ http://shop.mikrocontroller.net/] bestellt werden)&lt;br /&gt;
*            Quarzoszillator 4 MHz&lt;br /&gt;
&lt;br /&gt;
Beim Steckbrett ist darauf zu achten, dass man die parallellaufenden Schienen für GND (blau) und Vcc (rot) jeweils mit Drähten verbindet (nicht Vcc und GND miteinander!).&lt;br /&gt;
&lt;br /&gt;
Eine Zusammenstellung der benötigten Bauteile befindet sich in der [[AVR-Tutorial_Bestellliste|Bestellliste]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid grey; padding: 1ex; font-size: 90%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ergänzende Hinweise zur Taktversorgung (kann übersprungen werden) ===&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller benötigt, wie jeder Computer, eine Taktversorgung. Der Takt ist notwendig, um die internen Abläufe im Prozessor in einer geordneten Reihenfolge ausführen zu können. Die Frequenz des Taktes bestimmt im Wesentlichen, wie schnell ein Computer arbeitet.&lt;br /&gt;
&lt;br /&gt;
Bei einem ATMega8 gibt es 2 Möglichkeiten zur Taktversorgung&lt;br /&gt;
* interner Takt&lt;br /&gt;
* externer Takt&lt;br /&gt;
&lt;br /&gt;
====interner Takt====&lt;br /&gt;
Dies ist der Auslieferungszustand bei einem Mega8. Dabei wird der Takt von einem internen RC-Glied geliefert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Keine externe Beschaltung notwendig. Die Pins, an denen ansonsten ein Quarz oder ein Quarzoszillator angeschlossen wird, sind daher als normale Portpins für Ein/Ausgaben verwendbar.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Das RC-Glied ist nicht sehr genau. Bei Temperaturänderungen verändert es seine Frequenz. Nur 4 Frequenzen (1MHz, 2MHz, 4MHz und 8MHz) sind bei einem Mega8 realisierbar. Es gibt zwar die Möglichkeit, die interne Frequenz in Grenzen noch zu verändern, dies ist aber aufwändig und erfordert mindestens einen Frequenzzähler, wenn man eine bestimmte Frequenz erreichen will.&lt;br /&gt;
&lt;br /&gt;
====externer Takt====&lt;br /&gt;
Hier gibt es diesmal drei Möglichkeiten:&lt;br /&gt;
* Quarz&lt;br /&gt;
* Quarzoszillator&lt;br /&gt;
* Keramikschwinger/Resonator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Die Taktfrequenz ist so stabil, wie es der Quarz, Oszillator oder Keramikschwinger vorgibt. Und das ist wesentlich genauer als der interne Oszillator. Kein Abgleich notwendig, wenn eine bestimmte Frequenz erreicht werden soll, solange es einen Quarz bzw. Oszillator oder Keramikschwinger in dieser Frequenz gibt.&lt;br /&gt;
Ein spezieller Vorteil des Keramikschwingers ist, dass dieser keine Kondensatoren nach Masse braucht, weil er die schon eingebaut hat.&lt;br /&gt;
Es muss lediglich ein dritter Pin mit Masse verbunden werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Die Pins an denen der Quarz bzw. Oszillator oder Keramikschwinger angeschlossen wird, sind nicht mehr als I/O Pins nutzbar.&lt;br /&gt;
&lt;br /&gt;
Spätestens dann, wenn eine RS232-Verbindung zu einem anderen Computer aufgebaut werden soll, ist eine exakte Taktversorgung einer der Schlüssel, um diese Verbindung auch stabil halten zu können. Aus diesem Grund wird in diesem Tutorial von vornherein mit einem externen Takt gearbeitet. Es spielt dabei keine Rolle, ob dafür ein Quarzoszillator, ein Quarz oder ein Keramikschwinger benutzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;FF0000&amp;quot;&amp;gt;Achtung: Ein ATMega8 wird mit aktiviertem internen Takt ausgeliefert. Um einen Quarzoszillator oder einen Quarz zu aktivieren, müssen die Fuse-Bits des Prozessors verändert werden. Details dazu finden sich [[AVR_Fuses|hier]].&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Quarz statt Quarzoszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarzoszillators ein Quarz eingesetzt, so sieht die Anbindung des Quarzes so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:tutorial-quarz-schaltplan.png|center|framed| Quarz Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Die beiden Kondensatoren &#039;&#039;&#039;C3&#039;&#039;&#039; und &#039;&#039;&#039;C4&#039;&#039;&#039; sind zum Betrieb des Quarzes notwendig. Ihre Größe ist abhängig von den Daten des Quarzes. 22pF sind ein Wert, der bei den meisten Quarzen funktionieren sollte.&lt;br /&gt;
&lt;br /&gt;
==== Keramikschwinger/Resonator- statt Quarz/Oszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarz/Oszillators ein Keramikschwinger eingesetzt, so sieht die Anbindung des Keramikschwingers so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Resonator.png|framed|center| Resonator Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Es werden keine Kondensatoren benötigt, daher ist der Anschluss eines Keramikschwingers kinderleicht.&lt;br /&gt;
Zu beachten ist, dass ein Keramikschwinger eine höhere Toleranz als ein Quarz aufweist, die aufgedruckte Frequenz also nicht so genau liefert wie ein Quarz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung ===&lt;br /&gt;
&lt;br /&gt;
Die Versorgungsspannung &#039;&#039;&#039;Vcc&#039;&#039;&#039; beträgt 5V und kann z.B. mit folgender Schaltung erzeugt werden:&lt;br /&gt;
&lt;br /&gt;
[[Bild:V_Regler.gif|framed|center|Standardnetzteil: Beschaltung eines 7805]]&lt;br /&gt;
&lt;br /&gt;
Bauteile:&lt;br /&gt;
* IC1: 5V-Spannungsregler 7805&lt;br /&gt;
* C1: Elko 10µF (Polung beachten!)&lt;br /&gt;
* C2,C3: 2x Kondensator 100nF (kein Elektrolyt)&lt;br /&gt;
* D1: Diode 1N4001&lt;br /&gt;
&lt;br /&gt;
Hauptelement der Schaltung ist das IC 7805. Seine Aufgabe ist es aus der Versorgungsspannung stabile 5V zu erzeugen. Dieses IC gibt es seit vielen Jahren und wird von vielen Chipherstellern produziert. Er stellt die einfachste und simpelste Möglichkeit dar, aus einer vorhandenen Gleichspannung definierte 5V zu erzeugen. Den 7805 gibt es in verschiedenen Ausführungen, was seine maximale Strombelastung angeht. Für die Zwecke dieses Tutorials ist die Standard-Variante, welche maximal 1A abgeben kann, völlig ausreichend. Der 7805 enthält eine Übertemperatursicherung, so dass er abschaltet, wenn es ihm zu heiß wird.&lt;br /&gt;
&lt;br /&gt;
Die beiden 100nF Kondensatoren haben die Aufgabe, eine mögliche Schwingneigung des 7805 zu unterdrücken. Sie müssen so nahe wie möglich an den Anschlusspins des 7805 angeschlossen werden, um ihre Wirkung zu entfalten.&lt;br /&gt;
&lt;br /&gt;
An den Eingang (+ und - im Schaltplan) wird ein Steckernetzteil mit einer Spannung von 9 - 12V angeschlossen. Der 7805 benötigt an seinem Eingang eine Gleichspannung, die mindestens 8V beträgt. Mit einem 6V oder 7V Netzteil wird der 7805 keine stabilen 5V erzeugen können. Auf der anderen Seite macht es auch keinen Sinn, wesentlich über 12V Eingangsspannung hinauszugehen. Der 7805 ist ein Linearregler. Salopp gesagt, wird die überschüssige Spannung in Form von Wärme vernichtet. Liegt die Eingangsspannung weit über 12V, so wird schon wesentlich mehr Energie in Form von Wärme umgesetzt, als am Ausgang entnommen werden kann. Mal ganz davon abgesehen, dass der 7805 davon brennheiß werden wird.&lt;br /&gt;
&lt;br /&gt;
Eine Stromversorgung mit Batterien ist grundsätzlich auch möglich, wenn die elektrischen Grenzdaten des µC eingehalten werden (max. Spannung, min. Spannung). Bei der geregelten Stromversorgung oben sollte die Batteriespannung ca. 1.5 - 2.5V (Dropout-Spannung des Linearreglers) größer sein als die Versorgungsspannung des µC. Die [[Versorgung aus einer Zelle]] ist ein Thema für Fortgeschrittene.&lt;br /&gt;
&lt;br /&gt;
=== Der ISP-Programmierer (In-System-Programmer)===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Mikrocontroller.gif|framed|right|ISP Programmierer]]&lt;br /&gt;
Dann braucht man nur noch den &#039;&#039;&#039;ISP-Programmieradapter&#039;&#039;&#039;, über den man die Programme vom PC in den Controller übertragen kann. Eine Übersicht über mögliche ISP-Programmer Varianten findet sich im Artikel [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Fertige ISP-Programmer zum Anschluss an den Parallelport oder USB gibt es z.B. auf http://shop.mikrocontroller.net/. &lt;br /&gt;
&lt;br /&gt;
Eine Bauanleitung gibt es u.a. auf [http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel] oder [http://rumil.de/hardware/avrisp.html http://rumil.de/hardware/avrisp.html].&lt;br /&gt;
&lt;br /&gt;
Den ISP-Adapter schließt man an den Parallelport an und verbindet ihn mit der Stiftleiste SV1 über ein 6-adriges Kabel (siehe Schaltplan).&lt;br /&gt;
&lt;br /&gt;
=== Sonstiges ===&lt;br /&gt;
&lt;br /&gt;
Wer vorausschauend kauft, kauft mehr als einen Mikrocontroller. Bis der erste Controller defekt ist oder man durch Austauschen sicher gehen möchte, ob der Fehler im Programm oder im Controller ist, vergeht nur wenig Zeit.&lt;br /&gt;
&lt;br /&gt;
Für die anderen Teile des Tutorials sollte man sich noch die folgenden Bauteile besorgen: &lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 2 (I/O-Grundlagen)&lt;br /&gt;
* 5 LEDs 5mm&lt;br /&gt;
* 5 Taster&lt;br /&gt;
* 5 Widerstände 1k&lt;br /&gt;
* 5 Widerstände 10k&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 6 (LC-Display)&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* 1 HD44780-kompatibles LCD, z.B. 4x20 oder 2x16 Zeichen&lt;br /&gt;
*   besitzt das LCD eine Hintergrundbeleuchtung, dann noch einen Vorwiderstand dafür. Details dazu stehen im Datenblatt des LCD. Ein Wert von 50 Ohm sollte aber in jedem Fall passen. Schlimmstenfalls ist die Hintergrundbeleuchtung dann etwas zu dunkel.&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 10 (Der UART)&lt;br /&gt;
* 1 Pegelwandler MAX232, MAX232&#039;&#039;&#039;A&#039;&#039;&#039; oder MAX202&lt;br /&gt;
* 5 Kondensatoren&lt;br /&gt;
** Bei einem MAX232: je 1µF Elektrolytkondensator&lt;br /&gt;
** Bei einem MAX202 oder MAX232&#039;&#039;&#039;A&#039;&#039;&#039;: je  100nF Keramik- oder Elektrolytkondensator&lt;br /&gt;
:Die Kondensatoren dürfen auch größer sein. Ist man sich nicht sicher, welchen MAX232 man hat (A oder nicht A), dann die größeren Kondensatoren 1µF nehmen, die funktionieren auch beim MAX232A oder MAX202.&lt;br /&gt;
* 1 9-polige SUBD-Buchse (female)&lt;br /&gt;
* 1 dazu passendes Modem(nicht Nullmodem!)-Kabel&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 14 (ADC)&lt;br /&gt;
* 1 Kondensator 100n&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* nach Lust und Laune temperatur- oder lichtabhängige Widerstände und jeweils einen Widerstand in der gleichen Größenordnung wie der Sensor&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 17 (Schieberegister)&lt;br /&gt;
* 2 Schieberegister 74HC595&lt;br /&gt;
* einige LED, damit man an die Schieberegister auch etwas anschliessen kann, samt passenden Vorwiderständen&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 19 (7-Segmentanzeige)&lt;br /&gt;
* 4 7-Segmentanzeigen mit gemeinsamer Anode&lt;br /&gt;
* 4 PNP Transistoren BC338&lt;br /&gt;
* 4 Widerstände 1k&lt;br /&gt;
* 7 Widerstände 100Ohm&lt;br /&gt;
&lt;br /&gt;
Für weitere Bauteile, die man als angehender µC Bastler auch des Öfteren mal benötigt, empfiehlt sich ein Blick in die Liste der [[Standardbauelemente]] bzw. in die [[Absolute_beginner|Grundausstattung]]. Wenn ihr Händler Großpackungen (zb. 100 Stück) von 100n Kondensatoren, 10k, 1k oder 100Ohm Widerständen anbietet, sollten sie deren Erwerb in Erwägung ziehen. Diese Bauteile benötigt man oft und derartige Großpackungen sind oft nicht teurer, als wennn man einige wenige Exemplare einzeln kauft. Dies hängt damit zusammen, daß das Herauszählen von 9 Bauteilen für den Verkäufer teurer kommt, als 100 Bauteile abgepackt aus dem Regal zu nehmen.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial wird nur auf die Programmierung in Assembler eingegangen, da Assembler für das Verständnis der Hardware am besten geeignet ist.&lt;br /&gt;
&lt;br /&gt;
=== Assembler ===&lt;br /&gt;
&lt;br /&gt;
Zuerst braucht man einen &#039;&#039;&#039;Assembler&#039;&#039;&#039;, der in Assemblersprache geschriebene Programme in Maschinencode übersetzt. Windows-User können das [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR-Studio] von Atmel verwenden, das neben dem Assembler auch einen Simulator enthält, mit dem sich die Programme vor der Übertragung in den Controller testen lassen; für Linux gibt es [http://www.tavrasm.org/ tavrasm], [http://avra.sourceforge.net/ avra] und [http://avr-asm-tutorial.net/gavrasm/index_de.html gavrasm]. &lt;br /&gt;
&lt;br /&gt;
Um die vom Assembler erzeugte &amp;quot;.hex&amp;quot;-Datei über den ISP-Adapter in den Mikrocontroller zu programmieren, kann man unter Windows z.B. das Programm [http://www.myplace.nu/avr/yaap/ yaap] verwenden, für Linux gibt es [http://savannah.nongnu.org/projects/uisp/ uisp], für beide avrdude.&lt;br /&gt;
&lt;br /&gt;
=== C ===&lt;br /&gt;
Wer in C programmieren möchte, kann den kostenlosen GNU-C-Compiler AVR-GCC (unter Windows &amp;quot;WinAVR&amp;quot;) ausprobieren. Dieser C-Compiler kann auch in das für Assembler-Programmierung notwendige AVR-Studio integriert werden. In der Artikelsammlung gibt es ein umfangreiches [[AVR-GCC-Tutorial|Tutorial]] zu diesem Compiler;&lt;br /&gt;
&lt;br /&gt;
Wer unter Windows und Linux gleichermassen kostenlos entwickeln will, der sollte sich die [http://www.eclipse.org/ IDE Eclipse for C/C++ Developers] und das [http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR-Eclipse Plugin ] ansehen, beide sind unter Windows und Linux einfach zu installieren. Hier wird auch der AVR-GCC benutzt. In der Artikelsammlung gibt es ein umfangreiches [[AVR Eclipse|AVR Eclipse Tutorial]] zu dieser IDE.&lt;br /&gt;
Ebenfalls unter Linux und Windows verfügbar ist die Entwicklungsumgebung [http://www.codeblocks.org/ Code::Blocks] (aktuelle, stabile Versionen sind als Nightly Builds regelmäßig im [http://forums.codeblocks.org/ Forum] verfügbar). Innerhalb dieser Entwicklungsumgebung können ohne die Installation zusätzlicher Plugins &amp;quot;AVR-Projekte&amp;quot; angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Fragen dazu stellt man am besten hier im [http://www.mikrocontroller.net/forum/list-2-1.html GCC-Forum].&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
Wer in Pascal programmieren muss, kann [http://www.e-lab.de AVRPascal] ausprobieren.&amp;lt;br&amp;gt; &lt;br /&gt;
Dieser Pascalcompiler ist kostenfrei bis 4kb Code und bietet viele ausgereifte Bibliotheken für Servoansteuerung, Serielle Schnittstellen (COM, TWI, SPI), PWM, Timernutzung, LCD-Displays usw.&amp;lt;br&amp;gt; &lt;br /&gt;
Außerdem gibt es eine kostenfreie Version für den Mega8 und den Mega88.&lt;br /&gt;
[http://www.e-lab.de E-LAB].&lt;br /&gt;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
Auch Basic-Fans kommen nicht zu kurz, für die gibt es z.B. [[Bascom AVR]] ($69, Demo verfügbar).&lt;br /&gt;
&lt;br /&gt;
=== Forth ===&lt;br /&gt;
Wer einen direkten und interaktiven Zugang zum Controller haben will, sollte sich [http://amforth.sourceforge.net Forth] anschauen. Voraussetzung ist ein serieller Anschluß (Max232), also etwas mehr als die Minimalbeschaltung.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
Bevor man anfängt, sollte man sich die folgenden PDF-Dateien runterladen und zumindest mal reinschauen:&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf Datenblatt des ATmega8 (4,54 MB)]&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf Befehlssatz der AVRs (1,27 MB)]&lt;br /&gt;
* oder [http://www.avr-roboter.de/controller/befehle/befehle.html Befehlssatz in deutscher Übersetzung online]&lt;br /&gt;
&lt;br /&gt;
Das Datenblatt eines Controllers ist das wichtigste Dokument für einen Entwickler. Es enthält Informationen über die Pinbelegung, Versorgungsspannung, Beschaltung, Speicher, die Verwendung der IO-Komponenten und vieles mehr.&lt;br /&gt;
&lt;br /&gt;
Im Befehlssatz sind alle Assemblerbefehle der AVR-Controllerfamilie aufgelistet und erklärt.&lt;br /&gt;
 &lt;br /&gt;
{{Navigation_hochvor|	 &lt;br /&gt;
hochtext=Inhaltsverzeichnis|	 &lt;br /&gt;
hochlink=AVR-Tutorial|	 &lt;br /&gt;
vortext=I/O Grundlagen|	 &lt;br /&gt;
vorlink=AVR-Tutorial: IO-Grundlagen}}	 &lt;br /&gt;
 &lt;br /&gt;
[[Category:AVR-Tutorial]]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40534</id>
		<title>AVR-Tutorial: Equipment</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40534"/>
		<updated>2009-11-07T20:37:46Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Keramikschwinger/Resonator- statt Quarz/Oszillator */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AVR-Tutorial - Benötigte Ausrüstung =&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller alleine ist noch zu nichts nützlich. Damit man etwas damit anfangen kann, braucht man eine Schaltung, in die der Controller eingesetzt wird. Dazu werden bei Elektronikhändlern Platinen angeboten, die alles nötige (Taster, LEDs, Steckverbinder...) enthalten. Häufig enthalten diese Platinen nicht nur Platz für den Mikroprozessor, sondern auch einen ISP-Programmierer (Näheres dazu später).&lt;br /&gt;
&lt;br /&gt;
=== Fertige Evaluations-Boards und Starterkits ===&lt;br /&gt;
&lt;br /&gt;
==== AVR Starterkit aus dem Mikrocontroller.net-Shop ====&lt;br /&gt;
&lt;br /&gt;
Sehr gut für dieses Tutorial geeignet ist das [http://shop.mikrocontroller.net/?product_id=67 AVR-Starterkit aus dem Mikrocontroller.net-Shop]. Das Kit enthält eine Platine mit dem Controller ATmega8, einen USB-ISP-Programmieradapter und ein Steckernetzteil.&lt;br /&gt;
&lt;br /&gt;
==== STK500 ====&lt;br /&gt;
[[Bild:Stk500.jpg|right]]&lt;br /&gt;
Das STK500 ist das Standard-Board für AVR Entwicklung, direkt von Atmel. Es enthält auch einen ISP-Programmer und ist fertig aufgebaut. Es ist unter Entwicklern sehr beliebt und wird natürlich von Atmel unterstützt. Es gilt allgemein als gute Investition, wenn man ernsthaft in das Thema einsteigen möchte.&lt;br /&gt;
&lt;br /&gt;
Das STK500 kostet bei Reichelt ca. 80 Euro (ein geeignetes Netzteil muss zusätzlich erworben werden).&lt;br /&gt;
&lt;br /&gt;
==== Pollin Eval.-Board v2.x ====&lt;br /&gt;
&lt;br /&gt;
Bei Pollin Elektronik gibt es für 15 Euro ein Evaluation Board zum Selbstlöten (mit Platine und Bauteilen, aber ohne Mikrocontroller). Auch dieses Board enthält einen ISP-Programmer, allerdings der einfacheren Sorte. Im Vergleich zum STK500 ist das Board recht unflexibel und hat weniger Features. Die Beschreibung zum Zusammenlöten des Boards ist ausreichend, zur Benutzung des Boards erfährt man außer dem Schaltplan praktisch nichts. Der Schaltplan und dieses AVR-Tutorial zusammen sind allerdings ausreichend. &lt;br /&gt;
&lt;br /&gt;
Siehe: [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== Pollin Funk-AVR-Evaluationsboard v1.x ====&lt;br /&gt;
&lt;br /&gt;
Bei diesem Board besteht die Möglichkeit, Funkmodule wie das [[RFM12]], RFM01 oder RFM02 auf dem Board aufzulöten.&lt;br /&gt;
&lt;br /&gt;
Siehe: &lt;br /&gt;
* [[Pollin Funk-AVR-Evaluationsboard]]&lt;br /&gt;
* [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== ATmega8-Entwicklungsplatine ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist die [http://shop.mikrocontroller.net/?product_id=43 ATmega8-Entwicklungsplatine von shop.mikrocontroller.net]. Diese enthält eine Fassung für den Controller, einen Spannungswandler, die Beschaltung für die serielle Schnittstelle und einen Anschluss für den Programmieradapter. Die restliche Hardware wie LEDs und Taster kann man sich selber nach Belieben auf das Lochrasterfeld löten.&lt;br /&gt;
&lt;br /&gt;
==== Rumpus Board von lochraster.org ====&lt;br /&gt;
&lt;br /&gt;
Lochraster.org bietet ein Entwicklungsboard namens Rumpus an. Es kommt als Bausatz mit allen Teilen und Microcontroller (Atmega 168), auf dem Microcontroller ist bereits ein USB Bootloader installiert so dass man nach dem Zusammenbau sofort starten kann. Das Board wird direkt über USB mit Strom versorgt und auch über USB programmiert, es kann auch selbst als Programmer für AVR Microcontroller benutzt  werden. Das Board ist mit recht umfangreicher Peripherie ausgestattet, so das sich von sehr einfachen Anwendungen wie dem Blinken einer LED bis hin zu komplexen Aufgaben wie senden und empfangen von Infrarot Signalen eine Vielzahl von Anwendungen realisieren lassen. Mit 45 Euro gehört es sicher nicht zu den ganz billigen Einsteigerboards, für den ambitionierten Amateur bietet die reichhaltige Periperie den Vorteil das Board während des gesamten Lernprzesses zu nutzen ohne für die Realisierung komplexerer Aufgaben neue Hardware auflöten zu müssen. Weitere Infos unter http://www.lochraster.org/ und http://wiki.lochraster.org/&lt;br /&gt;
&lt;br /&gt;
==== Andere ====&lt;br /&gt;
&lt;br /&gt;
Das Angebot an AVR-Evaluationboards, -Experimentierplatinen, -Entwicklerplatinen oder wie die jeweiligen Hersteller ihre Produkte auch immer bezeichnen, ist mittlerweile recht groß geworden. Sie alle zu bewerten ist unmöglich geworden.&lt;br /&gt;
&lt;br /&gt;
===Selbstbau===&lt;br /&gt;
&lt;br /&gt;
Ein fertiges Board ist gar nicht nötig, man kann die benötigte Schaltung auch selbst auf einem kleinen Steckbrett oder einer Lochrasterplatine aufbauen. So kompliziert wie das STK500 wird es nicht, es reichen eine Handvoll Bauteile. Wie man das macht, wird im Folgenden beschrieben.&lt;br /&gt;
Steckbretter (Breadboards) gibt&#039;s z.B. bei [http://www.reichelt.de Reichelt],  [http://www.conelek.com/Steckplatinen ConeleK], [http://www.elv.de/ ELV] oder [http://www.conrad.de/ Conrad]. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Mega8_Tutorial.png|center|framed| Die Grundschaltung eines Mega8]]&lt;br /&gt;
&lt;br /&gt;
Über den Takteingang &#039;&#039;&#039;XTAL1&#039;&#039;&#039; ist der Mikrocontroller mit dem &#039;&#039;&#039;Quarzoszillator&#039;&#039;&#039; verbunden, der den benötigten Takt von 4 MHz liefert (siehe unten). Achtung: die Pins werden, wenn man den Oszillator mit der Schrift nach oben vor sich liegen hat, von unten links aus abgezählt. Unten links ist Pin 1, unten rechts Pin 7, oben rechts Pin 8 und oben links Pin 14 (natürlich hat der Oszillator nur 4 Pins. Die Nummerierung kommt daher, dass bei einem normalen IC dieser Größe an den gleichen Positionen die Pins Nr. 1, 7, 8 und 14 wären). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PD0-PD7&#039;&#039;&#039; und &#039;&#039;&#039;PB0-PB5&#039;&#039;&#039; sind die &#039;&#039;&#039;IO-Ports&#039;&#039;&#039; des Mikrocontrollers. Hier können Bauteile wie LEDs, Taster oder LCDs angeschlossen werden.&lt;br /&gt;
Der &#039;&#039;&#039;Port C (PC0-PC5)&#039;&#039;&#039; spielt beim Atmega8/AT90S4433 eine Sonderrolle: mit diesem Port können Analog-Spannungen gemessen werden. Aber dazu später mehr!&lt;br /&gt;
An &#039;&#039;&#039;Pin 17-19&#039;&#039;&#039; ist die Stiftleiste zur Verbindung mit dem ISP-Programmer angeschlossen, über den der AVR vom PC programmiert wird (Achtung: Pins in Abbildung entsprechen nicht der Belegung des AVRISP mkII. Die korrekte Pin-Belegung kann im Handbuch des AVRISP mkII eingesehen werden).&lt;br /&gt;
Die Resetschaltung, bestehend aus &#039;&#039;&#039;R1&#039;&#039;&#039; und &#039;&#039;&#039;C1&#039;&#039;&#039;, sorgt dafür, dass der Reseteingang des Controllers standardmäßig auf Vcc=5V liegt.&lt;br /&gt;
Zum Programmieren zieht der ISP-Adapter die Resetleitung auf Masse (GND), die Programmausführung wird dadurch unterbrochen und der interne Speicher des Controllers kann neu programmiert werden.&lt;br /&gt;
Zwischen Vcc und GND kommen noch jeweils ein 100nF Keramik- oder Folienkondensator C3 und C4, um Störungen in der Versorgungsspannung zu unterdrücken. Diese [[Abblockkondensator|Abblockkondensatoren]] sollten so nah wie möglich am Controller plaziert werden. An den Ausgang ARef wird ebenfalls ein 100nF Kondensator angeschlossen. Dieser wird allerdings erst benötigt, wenn der Analog/Digital Konverter des µC in Betrieb genommen wird.&lt;br /&gt;
&lt;br /&gt;
Für den Anschluss des ISP-Programmiergerätes kann man im Grunde jede beliebige Pin-Belegung des ISP Steckers benutzen, solange nur alle benötigten Leitungen mit dem Programmiergerät verbunden sind. In der Praxis haben sich allerdings bestimmte Belegungen durchgesetzt. Im Schaltbild ist eine eigene Belegung des 6-poligen Steckers gezeigt. Die alternative Pinbelegung eines 2-reihigen/10-poligen Steckers ist eine übliche Belegung. Benutzt man so eine übliche Belegung, so reicht normalerweise ein 10-poliges Flachbandkabel, um den vorhandenen ISP-Programmer so mit der Schaltung zu verbinden, dass alle Signale am richtigen Prozessorpin ankommen. Siehe auch [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Hier die Liste der benötigten Bauteile: &lt;br /&gt;
&lt;br /&gt;
* R1         Widerstand 10 kOhm&lt;br /&gt;
* C1         Keramikkondensator 47 nF&lt;br /&gt;
* C2, C3, C4 Keramik- oder Folienkondensator 100 nF&lt;br /&gt;
*            Stiftleiste 6-polig&lt;br /&gt;
*            Mikrocontroller ATmega8 (kann auf [http://shop.mikrocontroller.net/ http://shop.mikrocontroller.net/] bestellt werden)&lt;br /&gt;
*            Quarzoszillator 4 MHz&lt;br /&gt;
&lt;br /&gt;
Beim Steckbrett ist darauf zu achten, dass man die parallellaufenden Schienen für GND (blau) und Vcc (rot) jeweils mit Drähten verbindet (nicht Vcc und GND miteinander!).&lt;br /&gt;
&lt;br /&gt;
Eine Zusammenstellung der benötigten Bauteile befindet sich in der [[AVR-Tutorial_Bestellliste|Bestellliste]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid grey; padding: 1ex; font-size: 90%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ergänzende Hinweise zur Taktversorgung (kann übersprungen werden) ===&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller benötigt, wie jeder Computer, eine Taktversorgung. Der Takt ist notwendig, um die internen Abläufe im Prozessor in einer geordneten Reihenfolge ausführen zu können. Die Frequenz des Taktes bestimmt im Wesentlichen, wie schnell ein Computer arbeitet.&lt;br /&gt;
&lt;br /&gt;
Bei einem ATMega8 gibt es 2 Möglichkeiten zur Taktversorgung&lt;br /&gt;
* interner Takt&lt;br /&gt;
* externer Takt&lt;br /&gt;
&lt;br /&gt;
====interner Takt====&lt;br /&gt;
Dies ist der Auslieferungszustand bei einem Mega8. Dabei wird der Takt von einem internen RC-Glied geliefert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Keine externe Beschaltung notwendig. Die Pins, an denen ansonsten ein Quarz oder ein Quarzoszillator angeschlossen wird, sind daher als normale Portpins für Ein/Ausgaben verwendbar.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Das RC-Glied ist nicht sehr genau. Bei Temperaturänderungen verändert es seine Frequenz. Nur 4 Frequenzen (1MHz, 2MHz, 4MHz und 8MHz) sind bei einem Mega8 realisierbar. Es gibt zwar die Möglichkeit, die interne Frequenz in Grenzen noch zu verändern, dies ist aber aufwändig und erfordert mindestens einen Frequenzzähler, wenn man eine bestimmte Frequenz erreichen will.&lt;br /&gt;
&lt;br /&gt;
====externer Takt====&lt;br /&gt;
Hier gibt es diesmal drei Möglichkeiten:&lt;br /&gt;
* Quarz&lt;br /&gt;
* Quarzoszillator&lt;br /&gt;
* Keramikschwinger/Resonator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Die Taktfrequenz ist so stabil, wie es der Quarz, Oszillator oder Keramikschwinger vorgibt. Und das ist wesentlich genauer als der interne Oszillator. Kein Abgleich notwendig, wenn eine bestimmte Frequenz erreicht werden soll, solange es einen Quarz bzw. Oszillator oder Keramikschwinger in dieser Frequenz gibt.&lt;br /&gt;
Ein spezieller Vorteil des Keramikschwingers ist, dass dieser keine Kondensatoren nach Masse braucht, weil er die schon eingebaut hat.&lt;br /&gt;
Es muss lediglich ein dritter Pin mit Masse verbunden werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Die Pins an denen der Quarz bzw. Oszillator oder Keramikschwinger angeschlossen wird, sind nicht mehr als I/O Pins nutzbar.&lt;br /&gt;
&lt;br /&gt;
Spätestens dann, wenn eine RS232-Verbindung zu einem anderen Computer aufgebaut werden soll, ist eine exakte Taktversorgung einer der Schlüssel, um diese Verbindung auch stabil halten zu können. Aus diesem Grund wird in diesem Tutorial von vornherein mit einem externen Takt gearbeitet. Es spielt dabei keine Rolle, ob dafür ein Quarzoszillator, ein Quarz oder ein Keramikschwinger benutzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;FF0000&amp;quot;&amp;gt;Achtung: Ein ATMega8 wird mit aktiviertem internen Takt ausgeliefert. Um einen Quarzoszillator oder einen Quarz zu aktivieren, müssen die Fuse-Bits des Prozessors verändert werden. Details dazu finden sich [[AVR_Fuses|hier]].&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Quarz statt Quarzoszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarzoszillators ein Quarz eingesetzt, so sieht die Anbindung des Quarzes so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:tutorial-quarz-schaltplan.png|center|framed| Quarz Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Die beiden Kondensatoren &#039;&#039;&#039;C3&#039;&#039;&#039; und &#039;&#039;&#039;C4&#039;&#039;&#039; sind zum Betrieb des Quarzes notwendig. Ihre Größe ist abhängig von den Daten des Quarzes. 22pF sind ein Wert, der bei den meisten Quarzen funktionieren sollte.&lt;br /&gt;
&lt;br /&gt;
==== Keramikschwinger/Resonator- statt Quarz/Oszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarz/Oszillators ein Keramikschwinger eingesetzt, so sieht die Anbindung des Keramikschwingers so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Resonator.png|framed|center| Resonator Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Es werden keine Kondensatoren benötigt, daher ist der Anschluss eines Keramikschwingers kinderleicht.&lt;br /&gt;
Zu beachten ist, dass ein Keramikschwinger eine höhere Toleranz als ein Quarz aufweist, die aufgedruckte Frequenz also nicht so genau liefert wie ein Quarz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung ===&lt;br /&gt;
&lt;br /&gt;
Die Versorgungsspannung &#039;&#039;&#039;Vcc&#039;&#039;&#039; beträgt 5V und kann z.B. mit folgender Schaltung erzeugt werden:&lt;br /&gt;
&lt;br /&gt;
[[Bild:V_Regler.gif|framed|center|Standard Netzteil Beschaltung eines 7805]]&lt;br /&gt;
&lt;br /&gt;
Bauteile:&lt;br /&gt;
* IC1: 5V-Spannungsregler 7805&lt;br /&gt;
* C1: Elko 10µF (Polung beachten!)&lt;br /&gt;
* C2,C3: 2x Kondensator 100nF (kein Elektrolyt)&lt;br /&gt;
* D1: Diode 1N4001&lt;br /&gt;
&lt;br /&gt;
Hauptelement der Schaltung ist das IC 7805. Seine Aufgabe ist es aus der Versorgungsspannung stabile 5V zu erzeugen. Dieses IC gibt es seit vielen Jahren und wird von vielen Chipherstellern produziert. Er stellt die einfachste und simpelste Möglichkeit dar, aus einer vorhandenen Gleichspannung definierte 5V zu erzeugen. Den 7805 gibt es in verschiedenen Ausführungen, was seine maximale Strombelastung angeht. Für die Zwecke dieses Tutorials ist die Standard-Variante, welche maximal 1A abgeben kann völlig ausreichend. Der 7805 enthält eine Übertemperatursicherung, so dass er abschaltet, wenn es ihm zu heiß wird.&lt;br /&gt;
&lt;br /&gt;
Die beiden 100nF Kondensatoren haben die Aufgabe, eine mögliche Schwingneigung des 7805 zu unterdrücken. Sie müssen so nahe wie möglich an den Anschlusspins des 7805 angeschlossen werden, um ihre Wirkung zu entfalten.&lt;br /&gt;
&lt;br /&gt;
An den Eingang (+ und - im Schaltplan) wird ein Steckernetzteil mit einer Spannung von 9 - 12V angeschlossen. Der 7805 benötigt an seinem Eingang eine Gleichspannung die mindestens 8V beträgt. Mit einem 6V oder 7V Netzteil wird der 7805 keine stabilen 5V erzeugen können. Auf der anderen Seite macht es auch keinen Sinn, wesentlich über 12V Eingangsspannung hinauszugehen. Der 7805 ist ein Linearregler. Salopp gesagt, wird die überschüssige Spannung in Form von Wärme vernichtet. Liegt die Eingangsspannung weit über 12V, so wird schon wesentlich mehr Energie in Form von Wärme umgesetzt, als am Ausgang entnommen werden kann. Mal ganz davon abgesehen, dass der 7805 davon brennheiß werden wird.&lt;br /&gt;
&lt;br /&gt;
Eine Stromversorgung mit Batterien ist grundsätzlich auch möglich, wenn die elektrischen Grenzdaten des µC eingehalten werden (max. Spannung, min. Spannung). Bei der geregelten Stromversorgung oben sollte die Batteriespannung ca. 1.5 - 2.5V (Dropout-Spannung des Linearreglers) größer sein als die Versorgungsspannung des µC. Die [[Versorgung aus einer Zelle]] ist ein Thema für Fortgeschrittene.&lt;br /&gt;
&lt;br /&gt;
=== Der ISP-Programmierer (In-System-Programmer)===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Mikrocontroller.gif|framed|right|ISP Programmierer]]&lt;br /&gt;
Dann braucht man nur noch den &#039;&#039;&#039;ISP-Programmieradapter&#039;&#039;&#039;, über den man die Programme vom PC in den Controller übertragen kann. Eine Übersicht über mögliche ISP-Programmer Varianten findet sich im Artikel [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Fertige ISP-Programmer zum Anschluss an den Parallelport oder USB gibt es z.B. auf http://shop.mikrocontroller.net/. &lt;br /&gt;
&lt;br /&gt;
Eine Bauanleitung gibt es u.a. auf [http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel] oder [http://rumil.de/hardware/avrisp.html http://rumil.de/hardware/avrisp.html].&lt;br /&gt;
&lt;br /&gt;
Den ISP-Adapter schließt man an den Parallelport an und verbindet ihn mit der Stiftleiste SV1 über ein 6-adriges Kabel (siehe Schaltplan).&lt;br /&gt;
&lt;br /&gt;
=== Sonstiges ===&lt;br /&gt;
&lt;br /&gt;
Wer vorausschauend kauft, kauft mehr als einen Mikrocontroller. Bis der erste Controller defekt ist oder man durch Austauschen sicher gehen möchte, ob der Fehler im Programm oder im Controller ist, vergeht nur wenig Zeit.&lt;br /&gt;
&lt;br /&gt;
Für die anderen Teile des Tutorials sollte man sich noch die folgenden Bauteile besorgen: &lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 2 (I/O-Grundlagen)&lt;br /&gt;
* 5 LEDs 5mm&lt;br /&gt;
* 5 Taster&lt;br /&gt;
* 5 Widerstände 1k&lt;br /&gt;
* 5 Widerstände 10k&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 6 (LC-Display)&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* 1 HD44780-kompatibles LCD, z.B. 4x20 oder 2x16 Zeichen&lt;br /&gt;
*   besitzt das LCD eine Hintergrundbeleuchtung, dann noch einen Vorwiderstand dafür. Details dazu stehen im Datenblatt des LCD. Ein Wert von 50 Ohm sollte aber in jedem Fall passen. Schlimmstenfalls ist die Hintergrundbeleuchtung dann etwas zu dunkel.&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 10 (Der UART)&lt;br /&gt;
* 1 Pegelwandler MAX232, MAX232&#039;&#039;&#039;A&#039;&#039;&#039; oder MAX202&lt;br /&gt;
* 5 Kondensatoren&lt;br /&gt;
** Bei einem MAX232: je 1µF Elektrolytkondensator&lt;br /&gt;
** Bei einem MAX202 oder MAX232&#039;&#039;&#039;A&#039;&#039;&#039;: je  100nF Keramik- oder Elektrolytkondensator&lt;br /&gt;
:Die Kondensatoren dürfen auch größer sein. Ist man sich nicht sicher, welchen MAX232 man hat (A oder nicht A), dann die größeren Kondensatoren 1µF nehmen, die funktionieren auch beim MAX232A oder MAX202.&lt;br /&gt;
* 1 9-polige SUBD-Buchse (female)&lt;br /&gt;
* 1 dazu passendes Modem(nicht Nullmodem!)-Kabel&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 14 (ADC)&lt;br /&gt;
* 1 Kondensator 100n&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* nach Lust und Laune temperatur- oder lichtabhängige Widerstände und jeweils einen Widerstand in der gleichen Größenordnung wie der Sensor&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 17 (Schieberegister)&lt;br /&gt;
* 2 Schieberegister 74HC595&lt;br /&gt;
* einige LED, damit man an die Schieberegister auch etwas anschliessen kann, samt passenden Vorwiderständen&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 19 (7-Segmentanzeige)&lt;br /&gt;
* 4 7-Segmentanzeigen mit gemeinsamer Anode&lt;br /&gt;
* 4 PNP Transistoren BC338&lt;br /&gt;
* 4 Widerstände 1k&lt;br /&gt;
* 7 Widerstände 100Ohm&lt;br /&gt;
&lt;br /&gt;
Für weitere Bauteile, die man als angehender µC Bastler auch des Öfteren mal benötigt, empfiehlt sich ein Blick in die Liste der [[Standardbauelemente]] bzw. in die [[Absolute_beginner|Grundausstattung]]. Wenn ihr Händler Großpackungen (zb. 100 Stück) von 100n Kondensatoren, 10k, 1k oder 100Ohm Widerständen anbietet, sollten sie deren Erwerb in Erwägung ziehen. Diese Bauteile benötigt man oft und derartige Großpackungen sind oft nicht teurer, als wennn man einige wenige Exemplare einzeln kauft. Dies hängt damit zusammen, daß das Herauszählen von 9 Bauteilen für den Verkäufer teurer kommt, als 100 Bauteile abgepackt aus dem Regal zu nehmen.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial wird nur auf die Programmierung in Assembler eingegangen, da Assembler für das Verständnis der Hardware am besten geeignet ist.&lt;br /&gt;
&lt;br /&gt;
=== Assembler ===&lt;br /&gt;
&lt;br /&gt;
Zuerst braucht man einen &#039;&#039;&#039;Assembler&#039;&#039;&#039;, der in Assemblersprache geschriebene Programme in Maschinencode übersetzt. Windows-User können das [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR-Studio] von Atmel verwenden, das neben dem Assembler auch einen Simulator enthält, mit dem sich die Programme vor der Übertragung in den Controller testen lassen; für Linux gibt es [http://www.tavrasm.org/ tavrasm], [http://avra.sourceforge.net/ avra] und [http://avr-asm-tutorial.net/gavrasm/index_de.html gavrasm]. &lt;br /&gt;
&lt;br /&gt;
Um die vom Assembler erzeugte &amp;quot;.hex&amp;quot;-Datei über den ISP-Adapter in den Mikrocontroller zu programmieren, kann man unter Windows z.B. das Programm [http://www.myplace.nu/avr/yaap/ yaap] verwenden, für Linux gibt es [http://savannah.nongnu.org/projects/uisp/ uisp], für beide avrdude.&lt;br /&gt;
&lt;br /&gt;
=== C ===&lt;br /&gt;
Wer in C programmieren möchte, kann den kostenlosen GNU-C-Compiler AVR-GCC (unter Windows &amp;quot;WinAVR&amp;quot;) ausprobieren. Dieser C-Compiler kann auch in das für Assembler-Programmierung notwendige AVR-Studio integriert werden. In der Artikelsammlung gibt es ein umfangreiches [[AVR-GCC-Tutorial|Tutorial]] zu diesem Compiler;&lt;br /&gt;
&lt;br /&gt;
Wer unter Windows und Linux gleichermassen kostenlos entwickeln will, der sollte sich die [http://www.eclipse.org/ IDE Eclipse for C/C++ Developers] und das [http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR-Eclipse Plugin ] ansehen, beide sind unter Windows und Linux einfach zu installieren. Hier wird auch der AVR-GCC benutzt. In der Artikelsammlung gibt es ein umfangreiches [[AVR Eclipse|AVR Eclipse Tutorial]] zu dieser IDE.&lt;br /&gt;
Ebenfalls unter Linux und Windows verfügbar ist die Entwicklungsumgebung [http://www.codeblocks.org/ Code::Blocks] (aktuelle, stabile Versionen sind als Nightly Builds regelmäßig im [http://forums.codeblocks.org/ Forum] verfügbar). Innerhalb dieser Entwicklungsumgebung können ohne die Installation zusätzlicher Plugins &amp;quot;AVR-Projekte&amp;quot; angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Fragen dazu stellt man am besten hier im [http://www.mikrocontroller.net/forum/list-2-1.html GCC-Forum].&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
Wer in Pascal programmieren muss, kann [http://www.e-lab.de AVRPascal] ausprobieren.&amp;lt;br&amp;gt; &lt;br /&gt;
Dieser Pascalcompiler ist kostenfrei bis 4kb Code und bietet viele ausgereifte Bibliotheken für Servoansteuerung, Serielle Schnittstellen (COM, TWI, SPI), PWM, Timernutzung, LCD-Displays usw.&amp;lt;br&amp;gt; &lt;br /&gt;
Außerdem gibt es eine kostenfreie Version für den Mega8 und den Mega88.&lt;br /&gt;
[http://www.e-lab.de E-LAB].&lt;br /&gt;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
Auch Basic-Fans kommen nicht zu kurz, für die gibt es z.B. [[Bascom AVR]] ($69, Demo verfügbar).&lt;br /&gt;
&lt;br /&gt;
=== Forth ===&lt;br /&gt;
Wer einen direkten und interaktiven Zugang zum Controller haben will, sollte sich [http://amforth.sourceforge.net Forth] anschauen. Voraussetzung ist ein serieller Anschluß (Max232), also etwas mehr als die Minimalbeschaltung.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
Bevor man anfängt, sollte man sich die folgenden PDF-Dateien runterladen und zumindest mal reinschauen:&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf Datenblatt des ATmega8 (4,54 MB)]&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf Befehlssatz der AVRs (1,27 MB)]&lt;br /&gt;
* oder [http://www.avr-roboter.de/controller/befehle/befehle.html Befehlssatz in deutscher Übersetzung online]&lt;br /&gt;
&lt;br /&gt;
Das Datenblatt eines Controllers ist das wichtigste Dokument für einen Entwickler. Es enthält Informationen über die Pinbelegung, Versorgungsspannung, Beschaltung, Speicher, die Verwendung der IO-Komponenten und vieles mehr.&lt;br /&gt;
&lt;br /&gt;
Im Befehlssatz sind alle Assemblerbefehle der AVR-Controllerfamilie aufgelistet und erklärt.&lt;br /&gt;
 &lt;br /&gt;
{{Navigation_hochvor|	 &lt;br /&gt;
hochtext=Inhaltsverzeichnis|	 &lt;br /&gt;
hochlink=AVR-Tutorial|	 &lt;br /&gt;
vortext=I/O Grundlagen|	 &lt;br /&gt;
vorlink=AVR-Tutorial: IO-Grundlagen}}	 &lt;br /&gt;
 &lt;br /&gt;
[[Category:AVR-Tutorial]]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40533</id>
		<title>AVR-Tutorial: Equipment</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40533"/>
		<updated>2009-11-07T20:36:51Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* externer Takt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AVR-Tutorial - Benötigte Ausrüstung =&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller alleine ist noch zu nichts nützlich. Damit man etwas damit anfangen kann, braucht man eine Schaltung, in die der Controller eingesetzt wird. Dazu werden bei Elektronikhändlern Platinen angeboten, die alles nötige (Taster, LEDs, Steckverbinder...) enthalten. Häufig enthalten diese Platinen nicht nur Platz für den Mikroprozessor, sondern auch einen ISP-Programmierer (Näheres dazu später).&lt;br /&gt;
&lt;br /&gt;
=== Fertige Evaluations-Boards und Starterkits ===&lt;br /&gt;
&lt;br /&gt;
==== AVR Starterkit aus dem Mikrocontroller.net-Shop ====&lt;br /&gt;
&lt;br /&gt;
Sehr gut für dieses Tutorial geeignet ist das [http://shop.mikrocontroller.net/?product_id=67 AVR-Starterkit aus dem Mikrocontroller.net-Shop]. Das Kit enthält eine Platine mit dem Controller ATmega8, einen USB-ISP-Programmieradapter und ein Steckernetzteil.&lt;br /&gt;
&lt;br /&gt;
==== STK500 ====&lt;br /&gt;
[[Bild:Stk500.jpg|right]]&lt;br /&gt;
Das STK500 ist das Standard-Board für AVR Entwicklung, direkt von Atmel. Es enthält auch einen ISP-Programmer und ist fertig aufgebaut. Es ist unter Entwicklern sehr beliebt und wird natürlich von Atmel unterstützt. Es gilt allgemein als gute Investition, wenn man ernsthaft in das Thema einsteigen möchte.&lt;br /&gt;
&lt;br /&gt;
Das STK500 kostet bei Reichelt ca. 80 Euro (ein geeignetes Netzteil muss zusätzlich erworben werden).&lt;br /&gt;
&lt;br /&gt;
==== Pollin Eval.-Board v2.x ====&lt;br /&gt;
&lt;br /&gt;
Bei Pollin Elektronik gibt es für 15 Euro ein Evaluation Board zum Selbstlöten (mit Platine und Bauteilen, aber ohne Mikrocontroller). Auch dieses Board enthält einen ISP-Programmer, allerdings der einfacheren Sorte. Im Vergleich zum STK500 ist das Board recht unflexibel und hat weniger Features. Die Beschreibung zum Zusammenlöten des Boards ist ausreichend, zur Benutzung des Boards erfährt man außer dem Schaltplan praktisch nichts. Der Schaltplan und dieses AVR-Tutorial zusammen sind allerdings ausreichend. &lt;br /&gt;
&lt;br /&gt;
Siehe: [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== Pollin Funk-AVR-Evaluationsboard v1.x ====&lt;br /&gt;
&lt;br /&gt;
Bei diesem Board besteht die Möglichkeit, Funkmodule wie das [[RFM12]], RFM01 oder RFM02 auf dem Board aufzulöten.&lt;br /&gt;
&lt;br /&gt;
Siehe: &lt;br /&gt;
* [[Pollin Funk-AVR-Evaluationsboard]]&lt;br /&gt;
* [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== ATmega8-Entwicklungsplatine ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist die [http://shop.mikrocontroller.net/?product_id=43 ATmega8-Entwicklungsplatine von shop.mikrocontroller.net]. Diese enthält eine Fassung für den Controller, einen Spannungswandler, die Beschaltung für die serielle Schnittstelle und einen Anschluss für den Programmieradapter. Die restliche Hardware wie LEDs und Taster kann man sich selber nach Belieben auf das Lochrasterfeld löten.&lt;br /&gt;
&lt;br /&gt;
==== Rumpus Board von lochraster.org ====&lt;br /&gt;
&lt;br /&gt;
Lochraster.org bietet ein Entwicklungsboard namens Rumpus an. Es kommt als Bausatz mit allen Teilen und Microcontroller (Atmega 168), auf dem Microcontroller ist bereits ein USB Bootloader installiert so dass man nach dem Zusammenbau sofort starten kann. Das Board wird direkt über USB mit Strom versorgt und auch über USB programmiert, es kann auch selbst als Programmer für AVR Microcontroller benutzt  werden. Das Board ist mit recht umfangreicher Peripherie ausgestattet, so das sich von sehr einfachen Anwendungen wie dem Blinken einer LED bis hin zu komplexen Aufgaben wie senden und empfangen von Infrarot Signalen eine Vielzahl von Anwendungen realisieren lassen. Mit 45 Euro gehört es sicher nicht zu den ganz billigen Einsteigerboards, für den ambitionierten Amateur bietet die reichhaltige Periperie den Vorteil das Board während des gesamten Lernprzesses zu nutzen ohne für die Realisierung komplexerer Aufgaben neue Hardware auflöten zu müssen. Weitere Infos unter http://www.lochraster.org/ und http://wiki.lochraster.org/&lt;br /&gt;
&lt;br /&gt;
==== Andere ====&lt;br /&gt;
&lt;br /&gt;
Das Angebot an AVR-Evaluationboards, -Experimentierplatinen, -Entwicklerplatinen oder wie die jeweiligen Hersteller ihre Produkte auch immer bezeichnen, ist mittlerweile recht groß geworden. Sie alle zu bewerten ist unmöglich geworden.&lt;br /&gt;
&lt;br /&gt;
===Selbstbau===&lt;br /&gt;
&lt;br /&gt;
Ein fertiges Board ist gar nicht nötig, man kann die benötigte Schaltung auch selbst auf einem kleinen Steckbrett oder einer Lochrasterplatine aufbauen. So kompliziert wie das STK500 wird es nicht, es reichen eine Handvoll Bauteile. Wie man das macht, wird im Folgenden beschrieben.&lt;br /&gt;
Steckbretter (Breadboards) gibt&#039;s z.B. bei [http://www.reichelt.de Reichelt],  [http://www.conelek.com/Steckplatinen ConeleK], [http://www.elv.de/ ELV] oder [http://www.conrad.de/ Conrad]. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Mega8_Tutorial.png|center|framed| Die Grundschaltung eines Mega8]]&lt;br /&gt;
&lt;br /&gt;
Über den Takteingang &#039;&#039;&#039;XTAL1&#039;&#039;&#039; ist der Mikrocontroller mit dem &#039;&#039;&#039;Quarzoszillator&#039;&#039;&#039; verbunden, der den benötigten Takt von 4 MHz liefert (siehe unten). Achtung: die Pins werden, wenn man den Oszillator mit der Schrift nach oben vor sich liegen hat, von unten links aus abgezählt. Unten links ist Pin 1, unten rechts Pin 7, oben rechts Pin 8 und oben links Pin 14 (natürlich hat der Oszillator nur 4 Pins. Die Nummerierung kommt daher, dass bei einem normalen IC dieser Größe an den gleichen Positionen die Pins Nr. 1, 7, 8 und 14 wären). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PD0-PD7&#039;&#039;&#039; und &#039;&#039;&#039;PB0-PB5&#039;&#039;&#039; sind die &#039;&#039;&#039;IO-Ports&#039;&#039;&#039; des Mikrocontrollers. Hier können Bauteile wie LEDs, Taster oder LCDs angeschlossen werden.&lt;br /&gt;
Der &#039;&#039;&#039;Port C (PC0-PC5)&#039;&#039;&#039; spielt beim Atmega8/AT90S4433 eine Sonderrolle: mit diesem Port können Analog-Spannungen gemessen werden. Aber dazu später mehr!&lt;br /&gt;
An &#039;&#039;&#039;Pin 17-19&#039;&#039;&#039; ist die Stiftleiste zur Verbindung mit dem ISP-Programmer angeschlossen, über den der AVR vom PC programmiert wird (Achtung: Pins in Abbildung entsprechen nicht der Belegung des AVRISP mkII. Die korrekte Pin-Belegung kann im Handbuch des AVRISP mkII eingesehen werden).&lt;br /&gt;
Die Resetschaltung, bestehend aus &#039;&#039;&#039;R1&#039;&#039;&#039; und &#039;&#039;&#039;C1&#039;&#039;&#039;, sorgt dafür, dass der Reseteingang des Controllers standardmäßig auf Vcc=5V liegt.&lt;br /&gt;
Zum Programmieren zieht der ISP-Adapter die Resetleitung auf Masse (GND), die Programmausführung wird dadurch unterbrochen und der interne Speicher des Controllers kann neu programmiert werden.&lt;br /&gt;
Zwischen Vcc und GND kommen noch jeweils ein 100nF Keramik- oder Folienkondensator C3 und C4, um Störungen in der Versorgungsspannung zu unterdrücken. Diese [[Abblockkondensator|Abblockkondensatoren]] sollten so nah wie möglich am Controller plaziert werden. An den Ausgang ARef wird ebenfalls ein 100nF Kondensator angeschlossen. Dieser wird allerdings erst benötigt, wenn der Analog/Digital Konverter des µC in Betrieb genommen wird.&lt;br /&gt;
&lt;br /&gt;
Für den Anschluss des ISP-Programmiergerätes kann man im Grunde jede beliebige Pin-Belegung des ISP Steckers benutzen, solange nur alle benötigten Leitungen mit dem Programmiergerät verbunden sind. In der Praxis haben sich allerdings bestimmte Belegungen durchgesetzt. Im Schaltbild ist eine eigene Belegung des 6-poligen Steckers gezeigt. Die alternative Pinbelegung eines 2-reihigen/10-poligen Steckers ist eine übliche Belegung. Benutzt man so eine übliche Belegung, so reicht normalerweise ein 10-poliges Flachbandkabel, um den vorhandenen ISP-Programmer so mit der Schaltung zu verbinden, dass alle Signale am richtigen Prozessorpin ankommen. Siehe auch [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Hier die Liste der benötigten Bauteile: &lt;br /&gt;
&lt;br /&gt;
* R1         Widerstand 10 kOhm&lt;br /&gt;
* C1         Keramikkondensator 47 nF&lt;br /&gt;
* C2, C3, C4 Keramik- oder Folienkondensator 100 nF&lt;br /&gt;
*            Stiftleiste 6-polig&lt;br /&gt;
*            Mikrocontroller ATmega8 (kann auf [http://shop.mikrocontroller.net/ http://shop.mikrocontroller.net/] bestellt werden)&lt;br /&gt;
*            Quarzoszillator 4 MHz&lt;br /&gt;
&lt;br /&gt;
Beim Steckbrett ist darauf zu achten, dass man die parallellaufenden Schienen für GND (blau) und Vcc (rot) jeweils mit Drähten verbindet (nicht Vcc und GND miteinander!).&lt;br /&gt;
&lt;br /&gt;
Eine Zusammenstellung der benötigten Bauteile befindet sich in der [[AVR-Tutorial_Bestellliste|Bestellliste]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid grey; padding: 1ex; font-size: 90%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ergänzende Hinweise zur Taktversorgung (kann übersprungen werden) ===&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller benötigt, wie jeder Computer, eine Taktversorgung. Der Takt ist notwendig, um die internen Abläufe im Prozessor in einer geordneten Reihenfolge ausführen zu können. Die Frequenz des Taktes bestimmt im Wesentlichen, wie schnell ein Computer arbeitet.&lt;br /&gt;
&lt;br /&gt;
Bei einem ATMega8 gibt es 2 Möglichkeiten zur Taktversorgung&lt;br /&gt;
* interner Takt&lt;br /&gt;
* externer Takt&lt;br /&gt;
&lt;br /&gt;
====interner Takt====&lt;br /&gt;
Dies ist der Auslieferungszustand bei einem Mega8. Dabei wird der Takt von einem internen RC-Glied geliefert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Keine externe Beschaltung notwendig. Die Pins, an denen ansonsten ein Quarz oder ein Quarzoszillator angeschlossen wird, sind daher als normale Portpins für Ein/Ausgaben verwendbar.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Das RC-Glied ist nicht sehr genau. Bei Temperaturänderungen verändert es seine Frequenz. Nur 4 Frequenzen (1MHz, 2MHz, 4MHz und 8MHz) sind bei einem Mega8 realisierbar. Es gibt zwar die Möglichkeit, die interne Frequenz in Grenzen noch zu verändern, dies ist aber aufwändig und erfordert mindestens einen Frequenzzähler, wenn man eine bestimmte Frequenz erreichen will.&lt;br /&gt;
&lt;br /&gt;
====externer Takt====&lt;br /&gt;
Hier gibt es diesmal drei Möglichkeiten:&lt;br /&gt;
* Quarz&lt;br /&gt;
* Quarzoszillator&lt;br /&gt;
* Keramikschwinger/Resonator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Die Taktfrequenz ist so stabil, wie es der Quarz, Oszillator oder Keramikschwinger vorgibt. Und das ist wesentlich genauer als der interne Oszillator. Kein Abgleich notwendig, wenn eine bestimmte Frequenz erreicht werden soll, solange es einen Quarz bzw. Oszillator oder Keramikschwinger in dieser Frequenz gibt.&lt;br /&gt;
Ein spezieller Vorteil des Keramikschwingers ist, dass dieser keine Kondensatoren nach Masse braucht, weil er die schon eingebaut hat.&lt;br /&gt;
Es muss lediglich ein dritter Pin mit Masse verbunden werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Die Pins an denen der Quarz bzw. Oszillator oder Keramikschwinger angeschlossen wird, sind nicht mehr als I/O Pins nutzbar.&lt;br /&gt;
&lt;br /&gt;
Spätestens dann, wenn eine RS232-Verbindung zu einem anderen Computer aufgebaut werden soll, ist eine exakte Taktversorgung einer der Schlüssel, um diese Verbindung auch stabil halten zu können. Aus diesem Grund wird in diesem Tutorial von vornherein mit einem externen Takt gearbeitet. Es spielt dabei keine Rolle, ob dafür ein Quarzoszillator, ein Quarz oder ein Keramikschwinger benutzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;FF0000&amp;quot;&amp;gt;Achtung: Ein ATMega8 wird mit aktiviertem internen Takt ausgeliefert. Um einen Quarzoszillator oder einen Quarz zu aktivieren, müssen die Fuse-Bits des Prozessors verändert werden. Details dazu finden sich [[AVR_Fuses|hier]].&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Quarz statt Quarzoszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarzoszillators ein Quarz eingesetzt, so sieht die Anbindung des Quarzes so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:tutorial-quarz-schaltplan.png|center|framed| Quarz Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Die beiden Kondensatoren &#039;&#039;&#039;C3&#039;&#039;&#039; und &#039;&#039;&#039;C4&#039;&#039;&#039; sind zum Betrieb des Quarzes notwendig. Ihre Größe ist abhängig von den Daten des Quarzes. 22pF sind ein Wert, der bei den meisten Quarzen funktionieren sollte.&lt;br /&gt;
&lt;br /&gt;
==== Keramikschwinger/Resonator- statt Quarz/Oszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarz/Oszillators ein Keramikschwinger eingesetzt, so sieht die Anbindung des Keramikschwingers so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Resonator.png|framed|center| Resonator Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Es werden keine Kondensatoren benötigt, daher ist der Anschluss eines Keramikschwingers kinderleicht.&lt;br /&gt;
Zu beachten ist dass ein Keramikschwinger eine höhere Toleranz ausweist, die aufgedruckte Frequenz also nicht so genau liefert wie ein Quarz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung ===&lt;br /&gt;
&lt;br /&gt;
Die Versorgungsspannung &#039;&#039;&#039;Vcc&#039;&#039;&#039; beträgt 5V und kann z.B. mit folgender Schaltung erzeugt werden:&lt;br /&gt;
&lt;br /&gt;
[[Bild:V_Regler.gif|framed|center|Standard Netzteil Beschaltung eines 7805]]&lt;br /&gt;
&lt;br /&gt;
Bauteile:&lt;br /&gt;
* IC1: 5V-Spannungsregler 7805&lt;br /&gt;
* C1: Elko 10µF (Polung beachten!)&lt;br /&gt;
* C2,C3: 2x Kondensator 100nF (kein Elektrolyt)&lt;br /&gt;
* D1: Diode 1N4001&lt;br /&gt;
&lt;br /&gt;
Hauptelement der Schaltung ist das IC 7805. Seine Aufgabe ist es aus der Versorgungsspannung stabile 5V zu erzeugen. Dieses IC gibt es seit vielen Jahren und wird von vielen Chipherstellern produziert. Er stellt die einfachste und simpelste Möglichkeit dar, aus einer vorhandenen Gleichspannung definierte 5V zu erzeugen. Den 7805 gibt es in verschiedenen Ausführungen, was seine maximale Strombelastung angeht. Für die Zwecke dieses Tutorials ist die Standard-Variante, welche maximal 1A abgeben kann völlig ausreichend. Der 7805 enthält eine Übertemperatursicherung, so dass er abschaltet, wenn es ihm zu heiß wird.&lt;br /&gt;
&lt;br /&gt;
Die beiden 100nF Kondensatoren haben die Aufgabe, eine mögliche Schwingneigung des 7805 zu unterdrücken. Sie müssen so nahe wie möglich an den Anschlusspins des 7805 angeschlossen werden, um ihre Wirkung zu entfalten.&lt;br /&gt;
&lt;br /&gt;
An den Eingang (+ und - im Schaltplan) wird ein Steckernetzteil mit einer Spannung von 9 - 12V angeschlossen. Der 7805 benötigt an seinem Eingang eine Gleichspannung die mindestens 8V beträgt. Mit einem 6V oder 7V Netzteil wird der 7805 keine stabilen 5V erzeugen können. Auf der anderen Seite macht es auch keinen Sinn, wesentlich über 12V Eingangsspannung hinauszugehen. Der 7805 ist ein Linearregler. Salopp gesagt, wird die überschüssige Spannung in Form von Wärme vernichtet. Liegt die Eingangsspannung weit über 12V, so wird schon wesentlich mehr Energie in Form von Wärme umgesetzt, als am Ausgang entnommen werden kann. Mal ganz davon abgesehen, dass der 7805 davon brennheiß werden wird.&lt;br /&gt;
&lt;br /&gt;
Eine Stromversorgung mit Batterien ist grundsätzlich auch möglich, wenn die elektrischen Grenzdaten des µC eingehalten werden (max. Spannung, min. Spannung). Bei der geregelten Stromversorgung oben sollte die Batteriespannung ca. 1.5 - 2.5V (Dropout-Spannung des Linearreglers) größer sein als die Versorgungsspannung des µC. Die [[Versorgung aus einer Zelle]] ist ein Thema für Fortgeschrittene.&lt;br /&gt;
&lt;br /&gt;
=== Der ISP-Programmierer (In-System-Programmer)===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Mikrocontroller.gif|framed|right|ISP Programmierer]]&lt;br /&gt;
Dann braucht man nur noch den &#039;&#039;&#039;ISP-Programmieradapter&#039;&#039;&#039;, über den man die Programme vom PC in den Controller übertragen kann. Eine Übersicht über mögliche ISP-Programmer Varianten findet sich im Artikel [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Fertige ISP-Programmer zum Anschluss an den Parallelport oder USB gibt es z.B. auf http://shop.mikrocontroller.net/. &lt;br /&gt;
&lt;br /&gt;
Eine Bauanleitung gibt es u.a. auf [http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel] oder [http://rumil.de/hardware/avrisp.html http://rumil.de/hardware/avrisp.html].&lt;br /&gt;
&lt;br /&gt;
Den ISP-Adapter schließt man an den Parallelport an und verbindet ihn mit der Stiftleiste SV1 über ein 6-adriges Kabel (siehe Schaltplan).&lt;br /&gt;
&lt;br /&gt;
=== Sonstiges ===&lt;br /&gt;
&lt;br /&gt;
Wer vorausschauend kauft, kauft mehr als einen Mikrocontroller. Bis der erste Controller defekt ist oder man durch Austauschen sicher gehen möchte, ob der Fehler im Programm oder im Controller ist, vergeht nur wenig Zeit.&lt;br /&gt;
&lt;br /&gt;
Für die anderen Teile des Tutorials sollte man sich noch die folgenden Bauteile besorgen: &lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 2 (I/O-Grundlagen)&lt;br /&gt;
* 5 LEDs 5mm&lt;br /&gt;
* 5 Taster&lt;br /&gt;
* 5 Widerstände 1k&lt;br /&gt;
* 5 Widerstände 10k&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 6 (LC-Display)&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* 1 HD44780-kompatibles LCD, z.B. 4x20 oder 2x16 Zeichen&lt;br /&gt;
*   besitzt das LCD eine Hintergrundbeleuchtung, dann noch einen Vorwiderstand dafür. Details dazu stehen im Datenblatt des LCD. Ein Wert von 50 Ohm sollte aber in jedem Fall passen. Schlimmstenfalls ist die Hintergrundbeleuchtung dann etwas zu dunkel.&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 10 (Der UART)&lt;br /&gt;
* 1 Pegelwandler MAX232, MAX232&#039;&#039;&#039;A&#039;&#039;&#039; oder MAX202&lt;br /&gt;
* 5 Kondensatoren&lt;br /&gt;
** Bei einem MAX232: je 1µF Elektrolytkondensator&lt;br /&gt;
** Bei einem MAX202 oder MAX232&#039;&#039;&#039;A&#039;&#039;&#039;: je  100nF Keramik- oder Elektrolytkondensator&lt;br /&gt;
:Die Kondensatoren dürfen auch größer sein. Ist man sich nicht sicher, welchen MAX232 man hat (A oder nicht A), dann die größeren Kondensatoren 1µF nehmen, die funktionieren auch beim MAX232A oder MAX202.&lt;br /&gt;
* 1 9-polige SUBD-Buchse (female)&lt;br /&gt;
* 1 dazu passendes Modem(nicht Nullmodem!)-Kabel&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 14 (ADC)&lt;br /&gt;
* 1 Kondensator 100n&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* nach Lust und Laune temperatur- oder lichtabhängige Widerstände und jeweils einen Widerstand in der gleichen Größenordnung wie der Sensor&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 17 (Schieberegister)&lt;br /&gt;
* 2 Schieberegister 74HC595&lt;br /&gt;
* einige LED, damit man an die Schieberegister auch etwas anschliessen kann, samt passenden Vorwiderständen&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 19 (7-Segmentanzeige)&lt;br /&gt;
* 4 7-Segmentanzeigen mit gemeinsamer Anode&lt;br /&gt;
* 4 PNP Transistoren BC338&lt;br /&gt;
* 4 Widerstände 1k&lt;br /&gt;
* 7 Widerstände 100Ohm&lt;br /&gt;
&lt;br /&gt;
Für weitere Bauteile, die man als angehender µC Bastler auch des Öfteren mal benötigt, empfiehlt sich ein Blick in die Liste der [[Standardbauelemente]] bzw. in die [[Absolute_beginner|Grundausstattung]]. Wenn ihr Händler Großpackungen (zb. 100 Stück) von 100n Kondensatoren, 10k, 1k oder 100Ohm Widerständen anbietet, sollten sie deren Erwerb in Erwägung ziehen. Diese Bauteile benötigt man oft und derartige Großpackungen sind oft nicht teurer, als wennn man einige wenige Exemplare einzeln kauft. Dies hängt damit zusammen, daß das Herauszählen von 9 Bauteilen für den Verkäufer teurer kommt, als 100 Bauteile abgepackt aus dem Regal zu nehmen.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial wird nur auf die Programmierung in Assembler eingegangen, da Assembler für das Verständnis der Hardware am besten geeignet ist.&lt;br /&gt;
&lt;br /&gt;
=== Assembler ===&lt;br /&gt;
&lt;br /&gt;
Zuerst braucht man einen &#039;&#039;&#039;Assembler&#039;&#039;&#039;, der in Assemblersprache geschriebene Programme in Maschinencode übersetzt. Windows-User können das [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR-Studio] von Atmel verwenden, das neben dem Assembler auch einen Simulator enthält, mit dem sich die Programme vor der Übertragung in den Controller testen lassen; für Linux gibt es [http://www.tavrasm.org/ tavrasm], [http://avra.sourceforge.net/ avra] und [http://avr-asm-tutorial.net/gavrasm/index_de.html gavrasm]. &lt;br /&gt;
&lt;br /&gt;
Um die vom Assembler erzeugte &amp;quot;.hex&amp;quot;-Datei über den ISP-Adapter in den Mikrocontroller zu programmieren, kann man unter Windows z.B. das Programm [http://www.myplace.nu/avr/yaap/ yaap] verwenden, für Linux gibt es [http://savannah.nongnu.org/projects/uisp/ uisp], für beide avrdude.&lt;br /&gt;
&lt;br /&gt;
=== C ===&lt;br /&gt;
Wer in C programmieren möchte, kann den kostenlosen GNU-C-Compiler AVR-GCC (unter Windows &amp;quot;WinAVR&amp;quot;) ausprobieren. Dieser C-Compiler kann auch in das für Assembler-Programmierung notwendige AVR-Studio integriert werden. In der Artikelsammlung gibt es ein umfangreiches [[AVR-GCC-Tutorial|Tutorial]] zu diesem Compiler;&lt;br /&gt;
&lt;br /&gt;
Wer unter Windows und Linux gleichermassen kostenlos entwickeln will, der sollte sich die [http://www.eclipse.org/ IDE Eclipse for C/C++ Developers] und das [http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR-Eclipse Plugin ] ansehen, beide sind unter Windows und Linux einfach zu installieren. Hier wird auch der AVR-GCC benutzt. In der Artikelsammlung gibt es ein umfangreiches [[AVR Eclipse|AVR Eclipse Tutorial]] zu dieser IDE.&lt;br /&gt;
Ebenfalls unter Linux und Windows verfügbar ist die Entwicklungsumgebung [http://www.codeblocks.org/ Code::Blocks] (aktuelle, stabile Versionen sind als Nightly Builds regelmäßig im [http://forums.codeblocks.org/ Forum] verfügbar). Innerhalb dieser Entwicklungsumgebung können ohne die Installation zusätzlicher Plugins &amp;quot;AVR-Projekte&amp;quot; angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Fragen dazu stellt man am besten hier im [http://www.mikrocontroller.net/forum/list-2-1.html GCC-Forum].&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
Wer in Pascal programmieren muss, kann [http://www.e-lab.de AVRPascal] ausprobieren.&amp;lt;br&amp;gt; &lt;br /&gt;
Dieser Pascalcompiler ist kostenfrei bis 4kb Code und bietet viele ausgereifte Bibliotheken für Servoansteuerung, Serielle Schnittstellen (COM, TWI, SPI), PWM, Timernutzung, LCD-Displays usw.&amp;lt;br&amp;gt; &lt;br /&gt;
Außerdem gibt es eine kostenfreie Version für den Mega8 und den Mega88.&lt;br /&gt;
[http://www.e-lab.de E-LAB].&lt;br /&gt;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
Auch Basic-Fans kommen nicht zu kurz, für die gibt es z.B. [[Bascom AVR]] ($69, Demo verfügbar).&lt;br /&gt;
&lt;br /&gt;
=== Forth ===&lt;br /&gt;
Wer einen direkten und interaktiven Zugang zum Controller haben will, sollte sich [http://amforth.sourceforge.net Forth] anschauen. Voraussetzung ist ein serieller Anschluß (Max232), also etwas mehr als die Minimalbeschaltung.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
Bevor man anfängt, sollte man sich die folgenden PDF-Dateien runterladen und zumindest mal reinschauen:&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf Datenblatt des ATmega8 (4,54 MB)]&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf Befehlssatz der AVRs (1,27 MB)]&lt;br /&gt;
* oder [http://www.avr-roboter.de/controller/befehle/befehle.html Befehlssatz in deutscher Übersetzung online]&lt;br /&gt;
&lt;br /&gt;
Das Datenblatt eines Controllers ist das wichtigste Dokument für einen Entwickler. Es enthält Informationen über die Pinbelegung, Versorgungsspannung, Beschaltung, Speicher, die Verwendung der IO-Komponenten und vieles mehr.&lt;br /&gt;
&lt;br /&gt;
Im Befehlssatz sind alle Assemblerbefehle der AVR-Controllerfamilie aufgelistet und erklärt.&lt;br /&gt;
 &lt;br /&gt;
{{Navigation_hochvor|	 &lt;br /&gt;
hochtext=Inhaltsverzeichnis|	 &lt;br /&gt;
hochlink=AVR-Tutorial|	 &lt;br /&gt;
vortext=I/O Grundlagen|	 &lt;br /&gt;
vorlink=AVR-Tutorial: IO-Grundlagen}}	 &lt;br /&gt;
 &lt;br /&gt;
[[Category:AVR-Tutorial]]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40532</id>
		<title>AVR-Tutorial: Equipment</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Equipment&amp;diff=40532"/>
		<updated>2009-11-07T20:34:54Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Selbstbau */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AVR-Tutorial - Benötigte Ausrüstung =&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller alleine ist noch zu nichts nützlich. Damit man etwas damit anfangen kann, braucht man eine Schaltung, in die der Controller eingesetzt wird. Dazu werden bei Elektronikhändlern Platinen angeboten, die alles nötige (Taster, LEDs, Steckverbinder...) enthalten. Häufig enthalten diese Platinen nicht nur Platz für den Mikroprozessor, sondern auch einen ISP-Programmierer (Näheres dazu später).&lt;br /&gt;
&lt;br /&gt;
=== Fertige Evaluations-Boards und Starterkits ===&lt;br /&gt;
&lt;br /&gt;
==== AVR Starterkit aus dem Mikrocontroller.net-Shop ====&lt;br /&gt;
&lt;br /&gt;
Sehr gut für dieses Tutorial geeignet ist das [http://shop.mikrocontroller.net/?product_id=67 AVR-Starterkit aus dem Mikrocontroller.net-Shop]. Das Kit enthält eine Platine mit dem Controller ATmega8, einen USB-ISP-Programmieradapter und ein Steckernetzteil.&lt;br /&gt;
&lt;br /&gt;
==== STK500 ====&lt;br /&gt;
[[Bild:Stk500.jpg|right]]&lt;br /&gt;
Das STK500 ist das Standard-Board für AVR Entwicklung, direkt von Atmel. Es enthält auch einen ISP-Programmer und ist fertig aufgebaut. Es ist unter Entwicklern sehr beliebt und wird natürlich von Atmel unterstützt. Es gilt allgemein als gute Investition, wenn man ernsthaft in das Thema einsteigen möchte.&lt;br /&gt;
&lt;br /&gt;
Das STK500 kostet bei Reichelt ca. 80 Euro (ein geeignetes Netzteil muss zusätzlich erworben werden).&lt;br /&gt;
&lt;br /&gt;
==== Pollin Eval.-Board v2.x ====&lt;br /&gt;
&lt;br /&gt;
Bei Pollin Elektronik gibt es für 15 Euro ein Evaluation Board zum Selbstlöten (mit Platine und Bauteilen, aber ohne Mikrocontroller). Auch dieses Board enthält einen ISP-Programmer, allerdings der einfacheren Sorte. Im Vergleich zum STK500 ist das Board recht unflexibel und hat weniger Features. Die Beschreibung zum Zusammenlöten des Boards ist ausreichend, zur Benutzung des Boards erfährt man außer dem Schaltplan praktisch nichts. Der Schaltplan und dieses AVR-Tutorial zusammen sind allerdings ausreichend. &lt;br /&gt;
&lt;br /&gt;
Siehe: [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== Pollin Funk-AVR-Evaluationsboard v1.x ====&lt;br /&gt;
&lt;br /&gt;
Bei diesem Board besteht die Möglichkeit, Funkmodule wie das [[RFM12]], RFM01 oder RFM02 auf dem Board aufzulöten.&lt;br /&gt;
&lt;br /&gt;
Siehe: &lt;br /&gt;
* [[Pollin Funk-AVR-Evaluationsboard]]&lt;br /&gt;
* [http://www.pollin.de http://www.pollin.de]&lt;br /&gt;
&lt;br /&gt;
==== ATmega8-Entwicklungsplatine ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist die [http://shop.mikrocontroller.net/?product_id=43 ATmega8-Entwicklungsplatine von shop.mikrocontroller.net]. Diese enthält eine Fassung für den Controller, einen Spannungswandler, die Beschaltung für die serielle Schnittstelle und einen Anschluss für den Programmieradapter. Die restliche Hardware wie LEDs und Taster kann man sich selber nach Belieben auf das Lochrasterfeld löten.&lt;br /&gt;
&lt;br /&gt;
==== Rumpus Board von lochraster.org ====&lt;br /&gt;
&lt;br /&gt;
Lochraster.org bietet ein Entwicklungsboard namens Rumpus an. Es kommt als Bausatz mit allen Teilen und Microcontroller (Atmega 168), auf dem Microcontroller ist bereits ein USB Bootloader installiert so dass man nach dem Zusammenbau sofort starten kann. Das Board wird direkt über USB mit Strom versorgt und auch über USB programmiert, es kann auch selbst als Programmer für AVR Microcontroller benutzt  werden. Das Board ist mit recht umfangreicher Peripherie ausgestattet, so das sich von sehr einfachen Anwendungen wie dem Blinken einer LED bis hin zu komplexen Aufgaben wie senden und empfangen von Infrarot Signalen eine Vielzahl von Anwendungen realisieren lassen. Mit 45 Euro gehört es sicher nicht zu den ganz billigen Einsteigerboards, für den ambitionierten Amateur bietet die reichhaltige Periperie den Vorteil das Board während des gesamten Lernprzesses zu nutzen ohne für die Realisierung komplexerer Aufgaben neue Hardware auflöten zu müssen. Weitere Infos unter http://www.lochraster.org/ und http://wiki.lochraster.org/&lt;br /&gt;
&lt;br /&gt;
==== Andere ====&lt;br /&gt;
&lt;br /&gt;
Das Angebot an AVR-Evaluationboards, -Experimentierplatinen, -Entwicklerplatinen oder wie die jeweiligen Hersteller ihre Produkte auch immer bezeichnen, ist mittlerweile recht groß geworden. Sie alle zu bewerten ist unmöglich geworden.&lt;br /&gt;
&lt;br /&gt;
===Selbstbau===&lt;br /&gt;
&lt;br /&gt;
Ein fertiges Board ist gar nicht nötig, man kann die benötigte Schaltung auch selbst auf einem kleinen Steckbrett oder einer Lochrasterplatine aufbauen. So kompliziert wie das STK500 wird es nicht, es reichen eine Handvoll Bauteile. Wie man das macht, wird im Folgenden beschrieben.&lt;br /&gt;
Steckbretter (Breadboards) gibt&#039;s z.B. bei [http://www.reichelt.de Reichelt],  [http://www.conelek.com/Steckplatinen ConeleK], [http://www.elv.de/ ELV] oder [http://www.conrad.de/ Conrad]. &lt;br /&gt;
&lt;br /&gt;
[[Bild:Mega8_Tutorial.png|center|framed| Die Grundschaltung eines Mega8]]&lt;br /&gt;
&lt;br /&gt;
Über den Takteingang &#039;&#039;&#039;XTAL1&#039;&#039;&#039; ist der Mikrocontroller mit dem &#039;&#039;&#039;Quarzoszillator&#039;&#039;&#039; verbunden, der den benötigten Takt von 4 MHz liefert (siehe unten). Achtung: die Pins werden, wenn man den Oszillator mit der Schrift nach oben vor sich liegen hat, von unten links aus abgezählt. Unten links ist Pin 1, unten rechts Pin 7, oben rechts Pin 8 und oben links Pin 14 (natürlich hat der Oszillator nur 4 Pins. Die Nummerierung kommt daher, dass bei einem normalen IC dieser Größe an den gleichen Positionen die Pins Nr. 1, 7, 8 und 14 wären). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PD0-PD7&#039;&#039;&#039; und &#039;&#039;&#039;PB0-PB5&#039;&#039;&#039; sind die &#039;&#039;&#039;IO-Ports&#039;&#039;&#039; des Mikrocontrollers. Hier können Bauteile wie LEDs, Taster oder LCDs angeschlossen werden.&lt;br /&gt;
Der &#039;&#039;&#039;Port C (PC0-PC5)&#039;&#039;&#039; spielt beim Atmega8/AT90S4433 eine Sonderrolle: mit diesem Port können Analog-Spannungen gemessen werden. Aber dazu später mehr!&lt;br /&gt;
An &#039;&#039;&#039;Pin 17-19&#039;&#039;&#039; ist die Stiftleiste zur Verbindung mit dem ISP-Programmer angeschlossen, über den der AVR vom PC programmiert wird (Achtung: Pins in Abbildung entsprechen nicht der Belegung des AVRISP mkII. Die korrekte Pin-Belegung kann im Handbuch des AVRISP mkII eingesehen werden).&lt;br /&gt;
Die Resetschaltung, bestehend aus &#039;&#039;&#039;R1&#039;&#039;&#039; und &#039;&#039;&#039;C1&#039;&#039;&#039;, sorgt dafür, dass der Reseteingang des Controllers standardmäßig auf Vcc=5V liegt.&lt;br /&gt;
Zum Programmieren zieht der ISP-Adapter die Resetleitung auf Masse (GND), die Programmausführung wird dadurch unterbrochen und der interne Speicher des Controllers kann neu programmiert werden.&lt;br /&gt;
Zwischen Vcc und GND kommen noch jeweils ein 100nF Keramik- oder Folienkondensator C3 und C4, um Störungen in der Versorgungsspannung zu unterdrücken. Diese [[Abblockkondensator|Abblockkondensatoren]] sollten so nah wie möglich am Controller plaziert werden. An den Ausgang ARef wird ebenfalls ein 100nF Kondensator angeschlossen. Dieser wird allerdings erst benötigt, wenn der Analog/Digital Konverter des µC in Betrieb genommen wird.&lt;br /&gt;
&lt;br /&gt;
Für den Anschluss des ISP-Programmiergerätes kann man im Grunde jede beliebige Pin-Belegung des ISP Steckers benutzen, solange nur alle benötigten Leitungen mit dem Programmiergerät verbunden sind. In der Praxis haben sich allerdings bestimmte Belegungen durchgesetzt. Im Schaltbild ist eine eigene Belegung des 6-poligen Steckers gezeigt. Die alternative Pinbelegung eines 2-reihigen/10-poligen Steckers ist eine übliche Belegung. Benutzt man so eine übliche Belegung, so reicht normalerweise ein 10-poliges Flachbandkabel, um den vorhandenen ISP-Programmer so mit der Schaltung zu verbinden, dass alle Signale am richtigen Prozessorpin ankommen. Siehe auch [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Hier die Liste der benötigten Bauteile: &lt;br /&gt;
&lt;br /&gt;
* R1         Widerstand 10 kOhm&lt;br /&gt;
* C1         Keramikkondensator 47 nF&lt;br /&gt;
* C2, C3, C4 Keramik- oder Folienkondensator 100 nF&lt;br /&gt;
*            Stiftleiste 6-polig&lt;br /&gt;
*            Mikrocontroller ATmega8 (kann auf [http://shop.mikrocontroller.net/ http://shop.mikrocontroller.net/] bestellt werden)&lt;br /&gt;
*            Quarzoszillator 4 MHz&lt;br /&gt;
&lt;br /&gt;
Beim Steckbrett ist darauf zu achten, dass man die parallellaufenden Schienen für GND (blau) und Vcc (rot) jeweils mit Drähten verbindet (nicht Vcc und GND miteinander!).&lt;br /&gt;
&lt;br /&gt;
Eine Zusammenstellung der benötigten Bauteile befindet sich in der [[AVR-Tutorial_Bestellliste|Bestellliste]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid grey; padding: 1ex; font-size: 90%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ergänzende Hinweise zur Taktversorgung (kann übersprungen werden) ===&lt;br /&gt;
&lt;br /&gt;
Ein Mikrocontroller benötigt, wie jeder Computer, eine Taktversorgung. Der Takt ist notwendig, um die internen Abläufe im Prozessor in einer geordneten Reihenfolge ausführen zu können. Die Frequenz des Taktes bestimmt im Wesentlichen, wie schnell ein Computer arbeitet.&lt;br /&gt;
&lt;br /&gt;
Bei einem ATMega8 gibt es 2 Möglichkeiten zur Taktversorgung&lt;br /&gt;
* interner Takt&lt;br /&gt;
* externer Takt&lt;br /&gt;
&lt;br /&gt;
====interner Takt====&lt;br /&gt;
Dies ist der Auslieferungszustand bei einem Mega8. Dabei wird der Takt von einem internen RC-Glied geliefert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Keine externe Beschaltung notwendig. Die Pins, an denen ansonsten ein Quarz oder ein Quarzoszillator angeschlossen wird, sind daher als normale Portpins für Ein/Ausgaben verwendbar.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Das RC-Glied ist nicht sehr genau. Bei Temperaturänderungen verändert es seine Frequenz. Nur 4 Frequenzen (1MHz, 2MHz, 4MHz und 8MHz) sind bei einem Mega8 realisierbar. Es gibt zwar die Möglichkeit, die interne Frequenz in Grenzen noch zu verändern, dies ist aber aufwändig und erfordert mindestens einen Frequenzzähler, wenn man eine bestimmte Frequenz erreichen will.&lt;br /&gt;
&lt;br /&gt;
====externer Takt====&lt;br /&gt;
Hier gibt es diesmal drei Möglichkeiten:&lt;br /&gt;
* Quarz&lt;br /&gt;
* Quarzoszillator&lt;br /&gt;
* Keramikschwinger/Resonator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteil&#039;&#039;&#039;: Die Taktfrequenz ist so stabil, wie es der Quarz, Oszillator oder Keramikschwinger vorgibt. Und das ist wesentlich genauer als der interne Oszillator. Kein Abgleich notwendig, wenn eine bestimmte Frequenz erreicht werden soll, solange es einen Quarz bzw. Oszillator oder Keramikschwinger in dieser Frequenz gibt.&lt;br /&gt;
Ein spezieller Vorteil des Keramikschwingers ist, dass dieser keine Kondensatoren nach Masse braucht, weil er die schon eingebaut hat.&lt;br /&gt;
Es muss lediglich ein dritter Pin mit Masse verbunden werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil&#039;&#039;&#039;: Die Pins an denen der Quarz bzw. Oszillator oder Keramikschwinger angeschlossen wird, sind nicht mehr als I/O Pins nutzbar.&lt;br /&gt;
&lt;br /&gt;
Spätestens dann, wenn eine RS232-Verbindung zu einem anderen Computer aufgebaut werden soll, ist eine exakte Taktversorgung einer der Schlüssel, um diese Verbindung auch stabil halten zu können. Aus diesem Grund wird in diesem Tutorial von vorne herein mit einem externen Takt gearbeitet. Es spielt dabei keine Rolle, ob dafür ein Quarzoszillator, ein Quarz oder ein Keramikschwinger benutzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;FF0000&amp;quot;&amp;gt;Achtung: Ein ATMega8 wird mit aktiviertem internen Takt ausgeliefert. Um einen Quarzoszillator oder einen Quarz zu aktivieren, müssen die Fuse-Bits des Prozessors verändert werden. Details dazu finden sich [[AVR_Fuses|hier]].&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Quarz statt Quarzoszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarzoszillators ein Quarz eingesetzt, so sieht die Anbindung des Quarzes so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:tutorial-quarz-schaltplan.png|center|framed| Quarz Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Die beiden Kondensatoren &#039;&#039;&#039;C3&#039;&#039;&#039; und &#039;&#039;&#039;C4&#039;&#039;&#039; sind zum Betrieb des Quarzes notwendig. Ihre Größe ist abhängig von den Daten des Quarzes. 22pF sind ein Wert, der bei den meisten Quarzen funktionieren sollte.&lt;br /&gt;
&lt;br /&gt;
==== Keramikschwinger/Resonator- statt Quarz/Oszillator ====&lt;br /&gt;
&lt;br /&gt;
Wird anstelle eines Quarz/Oszillators ein Keramikschwinger eingesetzt, so sieht die Anbindung des Keramikschwingers so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Resonator.png|framed|center| Resonator Standardbeschaltung]]&lt;br /&gt;
&lt;br /&gt;
Es werden keine Kondensatoren benötigt, daher ist der Anschluss eines Keramikschwingers kinderleicht.&lt;br /&gt;
Zu beachten ist dass ein Keramikschwinger eine höhere Toleranz ausweist, die aufgedruckte Frequenz also nicht so genau liefert wie ein Quarz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung ===&lt;br /&gt;
&lt;br /&gt;
Die Versorgungsspannung &#039;&#039;&#039;Vcc&#039;&#039;&#039; beträgt 5V und kann z.B. mit folgender Schaltung erzeugt werden:&lt;br /&gt;
&lt;br /&gt;
[[Bild:V_Regler.gif|framed|center|Standard Netzteil Beschaltung eines 7805]]&lt;br /&gt;
&lt;br /&gt;
Bauteile:&lt;br /&gt;
* IC1: 5V-Spannungsregler 7805&lt;br /&gt;
* C1: Elko 10µF (Polung beachten!)&lt;br /&gt;
* C2,C3: 2x Kondensator 100nF (kein Elektrolyt)&lt;br /&gt;
* D1: Diode 1N4001&lt;br /&gt;
&lt;br /&gt;
Hauptelement der Schaltung ist das IC 7805. Seine Aufgabe ist es aus der Versorgungsspannung stabile 5V zu erzeugen. Dieses IC gibt es seit vielen Jahren und wird von vielen Chipherstellern produziert. Er stellt die einfachste und simpelste Möglichkeit dar, aus einer vorhandenen Gleichspannung definierte 5V zu erzeugen. Den 7805 gibt es in verschiedenen Ausführungen, was seine maximale Strombelastung angeht. Für die Zwecke dieses Tutorials ist die Standard-Variante, welche maximal 1A abgeben kann völlig ausreichend. Der 7805 enthält eine Übertemperatursicherung, so dass er abschaltet, wenn es ihm zu heiß wird.&lt;br /&gt;
&lt;br /&gt;
Die beiden 100nF Kondensatoren haben die Aufgabe, eine mögliche Schwingneigung des 7805 zu unterdrücken. Sie müssen so nahe wie möglich an den Anschlusspins des 7805 angeschlossen werden, um ihre Wirkung zu entfalten.&lt;br /&gt;
&lt;br /&gt;
An den Eingang (+ und - im Schaltplan) wird ein Steckernetzteil mit einer Spannung von 9 - 12V angeschlossen. Der 7805 benötigt an seinem Eingang eine Gleichspannung die mindestens 8V beträgt. Mit einem 6V oder 7V Netzteil wird der 7805 keine stabilen 5V erzeugen können. Auf der anderen Seite macht es auch keinen Sinn, wesentlich über 12V Eingangsspannung hinauszugehen. Der 7805 ist ein Linearregler. Salopp gesagt, wird die überschüssige Spannung in Form von Wärme vernichtet. Liegt die Eingangsspannung weit über 12V, so wird schon wesentlich mehr Energie in Form von Wärme umgesetzt, als am Ausgang entnommen werden kann. Mal ganz davon abgesehen, dass der 7805 davon brennheiß werden wird.&lt;br /&gt;
&lt;br /&gt;
Eine Stromversorgung mit Batterien ist grundsätzlich auch möglich, wenn die elektrischen Grenzdaten des µC eingehalten werden (max. Spannung, min. Spannung). Bei der geregelten Stromversorgung oben sollte die Batteriespannung ca. 1.5 - 2.5V (Dropout-Spannung des Linearreglers) größer sein als die Versorgungsspannung des µC. Die [[Versorgung aus einer Zelle]] ist ein Thema für Fortgeschrittene.&lt;br /&gt;
&lt;br /&gt;
=== Der ISP-Programmierer (In-System-Programmer)===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Mikrocontroller.gif|framed|right|ISP Programmierer]]&lt;br /&gt;
Dann braucht man nur noch den &#039;&#039;&#039;ISP-Programmieradapter&#039;&#039;&#039;, über den man die Programme vom PC in den Controller übertragen kann. Eine Übersicht über mögliche ISP-Programmer Varianten findet sich im Artikel [[AVR_In_System_Programmer]].&lt;br /&gt;
&lt;br /&gt;
Fertige ISP-Programmer zum Anschluss an den Parallelport oder USB gibt es z.B. auf http://shop.mikrocontroller.net/. &lt;br /&gt;
&lt;br /&gt;
Eine Bauanleitung gibt es u.a. auf [http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel] oder [http://rumil.de/hardware/avrisp.html http://rumil.de/hardware/avrisp.html].&lt;br /&gt;
&lt;br /&gt;
Den ISP-Adapter schließt man an den Parallelport an und verbindet ihn mit der Stiftleiste SV1 über ein 6-adriges Kabel (siehe Schaltplan).&lt;br /&gt;
&lt;br /&gt;
=== Sonstiges ===&lt;br /&gt;
&lt;br /&gt;
Wer vorausschauend kauft, kauft mehr als einen Mikrocontroller. Bis der erste Controller defekt ist oder man durch Austauschen sicher gehen möchte, ob der Fehler im Programm oder im Controller ist, vergeht nur wenig Zeit.&lt;br /&gt;
&lt;br /&gt;
Für die anderen Teile des Tutorials sollte man sich noch die folgenden Bauteile besorgen: &lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 2 (I/O-Grundlagen)&lt;br /&gt;
* 5 LEDs 5mm&lt;br /&gt;
* 5 Taster&lt;br /&gt;
* 5 Widerstände 1k&lt;br /&gt;
* 5 Widerstände 10k&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 6 (LC-Display)&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* 1 HD44780-kompatibles LCD, z.B. 4x20 oder 2x16 Zeichen&lt;br /&gt;
*   besitzt das LCD eine Hintergrundbeleuchtung, dann noch einen Vorwiderstand dafür. Details dazu stehen im Datenblatt des LCD. Ein Wert von 50 Ohm sollte aber in jedem Fall passen. Schlimmstenfalls ist die Hintergrundbeleuchtung dann etwas zu dunkel.&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 10 (Der UART)&lt;br /&gt;
* 1 Pegelwandler MAX232, MAX232&#039;&#039;&#039;A&#039;&#039;&#039; oder MAX202&lt;br /&gt;
* 5 Kondensatoren&lt;br /&gt;
** Bei einem MAX232: je 1µF Elektrolytkondensator&lt;br /&gt;
** Bei einem MAX202 oder MAX232&#039;&#039;&#039;A&#039;&#039;&#039;: je  100nF Keramik- oder Elektrolytkondensator&lt;br /&gt;
:Die Kondensatoren dürfen auch größer sein. Ist man sich nicht sicher, welchen MAX232 man hat (A oder nicht A), dann die größeren Kondensatoren 1µF nehmen, die funktionieren auch beim MAX232A oder MAX202.&lt;br /&gt;
* 1 9-polige SUBD-Buchse (female)&lt;br /&gt;
* 1 dazu passendes Modem(nicht Nullmodem!)-Kabel&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 14 (ADC)&lt;br /&gt;
* 1 Kondensator 100n&lt;br /&gt;
* 1 Potentiometer 10k&lt;br /&gt;
* nach Lust und Laune temperatur- oder lichtabhängige Widerstände und jeweils einen Widerstand in der gleichen Größenordnung wie der Sensor&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 17 (Schieberegister)&lt;br /&gt;
* 2 Schieberegister 74HC595&lt;br /&gt;
* einige LED, damit man an die Schieberegister auch etwas anschliessen kann, samt passenden Vorwiderständen&lt;br /&gt;
&lt;br /&gt;
---------------------------&lt;br /&gt;
Teil 19 (7-Segmentanzeige)&lt;br /&gt;
* 4 7-Segmentanzeigen mit gemeinsamer Anode&lt;br /&gt;
* 4 PNP Transistoren BC338&lt;br /&gt;
* 4 Widerstände 1k&lt;br /&gt;
* 7 Widerstände 100Ohm&lt;br /&gt;
&lt;br /&gt;
Für weitere Bauteile, die man als angehender µC Bastler auch des Öfteren mal benötigt, empfiehlt sich ein Blick in die Liste der [[Standardbauelemente]] bzw. in die [[Absolute_beginner|Grundausstattung]]. Wenn ihr Händler Großpackungen (zb. 100 Stück) von 100n Kondensatoren, 10k, 1k oder 100Ohm Widerständen anbietet, sollten sie deren Erwerb in Erwägung ziehen. Diese Bauteile benötigt man oft und derartige Großpackungen sind oft nicht teurer, als wennn man einige wenige Exemplare einzeln kauft. Dies hängt damit zusammen, daß das Herauszählen von 9 Bauteilen für den Verkäufer teurer kommt, als 100 Bauteile abgepackt aus dem Regal zu nehmen.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
In diesem Tutorial wird nur auf die Programmierung in Assembler eingegangen, da Assembler für das Verständnis der Hardware am besten geeignet ist.&lt;br /&gt;
&lt;br /&gt;
=== Assembler ===&lt;br /&gt;
&lt;br /&gt;
Zuerst braucht man einen &#039;&#039;&#039;Assembler&#039;&#039;&#039;, der in Assemblersprache geschriebene Programme in Maschinencode übersetzt. Windows-User können das [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR-Studio] von Atmel verwenden, das neben dem Assembler auch einen Simulator enthält, mit dem sich die Programme vor der Übertragung in den Controller testen lassen; für Linux gibt es [http://www.tavrasm.org/ tavrasm], [http://avra.sourceforge.net/ avra] und [http://avr-asm-tutorial.net/gavrasm/index_de.html gavrasm]. &lt;br /&gt;
&lt;br /&gt;
Um die vom Assembler erzeugte &amp;quot;.hex&amp;quot;-Datei über den ISP-Adapter in den Mikrocontroller zu programmieren, kann man unter Windows z.B. das Programm [http://www.myplace.nu/avr/yaap/ yaap] verwenden, für Linux gibt es [http://savannah.nongnu.org/projects/uisp/ uisp], für beide avrdude.&lt;br /&gt;
&lt;br /&gt;
=== C ===&lt;br /&gt;
Wer in C programmieren möchte, kann den kostenlosen GNU-C-Compiler AVR-GCC (unter Windows &amp;quot;WinAVR&amp;quot;) ausprobieren. Dieser C-Compiler kann auch in das für Assembler-Programmierung notwendige AVR-Studio integriert werden. In der Artikelsammlung gibt es ein umfangreiches [[AVR-GCC-Tutorial|Tutorial]] zu diesem Compiler;&lt;br /&gt;
&lt;br /&gt;
Wer unter Windows und Linux gleichermassen kostenlos entwickeln will, der sollte sich die [http://www.eclipse.org/ IDE Eclipse for C/C++ Developers] und das [http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR-Eclipse Plugin ] ansehen, beide sind unter Windows und Linux einfach zu installieren. Hier wird auch der AVR-GCC benutzt. In der Artikelsammlung gibt es ein umfangreiches [[AVR Eclipse|AVR Eclipse Tutorial]] zu dieser IDE.&lt;br /&gt;
Ebenfalls unter Linux und Windows verfügbar ist die Entwicklungsumgebung [http://www.codeblocks.org/ Code::Blocks] (aktuelle, stabile Versionen sind als Nightly Builds regelmäßig im [http://forums.codeblocks.org/ Forum] verfügbar). Innerhalb dieser Entwicklungsumgebung können ohne die Installation zusätzlicher Plugins &amp;quot;AVR-Projekte&amp;quot; angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Fragen dazu stellt man am besten hier im [http://www.mikrocontroller.net/forum/list-2-1.html GCC-Forum].&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
Wer in Pascal programmieren muss, kann [http://www.e-lab.de AVRPascal] ausprobieren.&amp;lt;br&amp;gt; &lt;br /&gt;
Dieser Pascalcompiler ist kostenfrei bis 4kb Code und bietet viele ausgereifte Bibliotheken für Servoansteuerung, Serielle Schnittstellen (COM, TWI, SPI), PWM, Timernutzung, LCD-Displays usw.&amp;lt;br&amp;gt; &lt;br /&gt;
Außerdem gibt es eine kostenfreie Version für den Mega8 und den Mega88.&lt;br /&gt;
[http://www.e-lab.de E-LAB].&lt;br /&gt;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
Auch Basic-Fans kommen nicht zu kurz, für die gibt es z.B. [[Bascom AVR]] ($69, Demo verfügbar).&lt;br /&gt;
&lt;br /&gt;
=== Forth ===&lt;br /&gt;
Wer einen direkten und interaktiven Zugang zum Controller haben will, sollte sich [http://amforth.sourceforge.net Forth] anschauen. Voraussetzung ist ein serieller Anschluß (Max232), also etwas mehr als die Minimalbeschaltung.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
Bevor man anfängt, sollte man sich die folgenden PDF-Dateien runterladen und zumindest mal reinschauen:&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf Datenblatt des ATmega8 (4,54 MB)]&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf Befehlssatz der AVRs (1,27 MB)]&lt;br /&gt;
* oder [http://www.avr-roboter.de/controller/befehle/befehle.html Befehlssatz in deutscher Übersetzung online]&lt;br /&gt;
&lt;br /&gt;
Das Datenblatt eines Controllers ist das wichtigste Dokument für einen Entwickler. Es enthält Informationen über die Pinbelegung, Versorgungsspannung, Beschaltung, Speicher, die Verwendung der IO-Komponenten und vieles mehr.&lt;br /&gt;
&lt;br /&gt;
Im Befehlssatz sind alle Assemblerbefehle der AVR-Controllerfamilie aufgelistet und erklärt.&lt;br /&gt;
 &lt;br /&gt;
{{Navigation_hochvor|	 &lt;br /&gt;
hochtext=Inhaltsverzeichnis|	 &lt;br /&gt;
hochlink=AVR-Tutorial|	 &lt;br /&gt;
vortext=I/O Grundlagen|	 &lt;br /&gt;
vorlink=AVR-Tutorial: IO-Grundlagen}}	 &lt;br /&gt;
 &lt;br /&gt;
[[Category:AVR-Tutorial]]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40530</id>
		<title>Entscheidung Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40530"/>
		<updated>2009-11-07T15:02:50Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Debugging */ K (Schreibung debuggt :-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikrocontroller]]&lt;br /&gt;
Die meisten Anfänger stellen sich die Frage, welchen [[Mikrocontroller]] sie verwenden sollen. Es gibt Dutzende Hersteller, und jeder davon hat unzählige Varianten im Angebot. Stellt man die Frage in einem Diskussionsforum, dann bekommt man viele verschiedene (sich teilweise widersprechende) Antworten. Bei der Entscheidung sollten u.a. die unten stehenden Kriterien beachtet werden. Dieser Artikel ist primär für Hobbyisten gedacht, da im professionellen Einsatz oftmals völlig andere Kriterien beachtet werden müssen. Weitere vergleichende Informationen über verschiedene Controllerfamilien gibt der Artikel: [[AVR_PIC_51-Vergleich]]&lt;br /&gt;
&lt;br /&gt;
== Verfügbarkeit ==&lt;br /&gt;
* Während man manche Mikrocontroller an jeder Straßenecke bekommt, sind andere nur in großen Stückzahlen und mit Gewerbenachweis erhältlich. Dazu einfach mal in die Kataloge der einschlägigen Privatkundenhändler schauen. Dabei auch darauf achten, dass der gewünschte Controller auch in der richtigen Bauform erhältlich ist (DIP, TQFP, MLF usw.), s.u.&lt;br /&gt;
* Ab und zu kündigen Hersteller ein neues Modell an (und veröffentlichen das Datenblatt dazu), können aber erst ein Jahr später nennenswerte Stückzahlen liefern. Also den Controller nicht einfach anhand der Übersichten beim Hersteller aussuchen, sondern überprüfen, was die Händler auch wirklich liefern können.&lt;br /&gt;
* Lebenszyklus: Kein Modell wird ewig hergestellt. Deswegen sollte man überprüfen, ob der Hersteller vielleicht schon angekündigt hat, dass er ein bestimmtes Modell nicht mehr herstellen will. Die Hersteller schreiben dann z.B. &amp;quot;Mature Product (Not Recommended for New Designs)&amp;quot;. Für Neuentwicklungen oder den Einstieg sollte man folgende Modelle nicht verwenden:&lt;br /&gt;
** AVR AT90-Reihe, &lt;br /&gt;
** AVR ATMega 103(L), 161(L), 163(L), 323(L).&lt;br /&gt;
* Für alle abgekündigten AVR-Controller gibt es jedoch pin- und funktionskompatible Nachfolger. Daher kommt es nur in den seltensten Fällen zu Problemen. Probleme können nur entstehen, wenn ein Programm nur in kompilierter Version zur Verfügung steht.&lt;br /&gt;
* Dagegen sind Mikrocontroller der [[8051|MCS51-Familie]] von Intel eher für langfristige Investitionen geeignet. Der 8051 wurde 1979 (!) als erstes Mitglied dieser Familie vorgestellt. Heute gibt es bereits hunderte von 8051-Derivaten von dutzenden von Halbleiterherstellern, zum Teil auch mit weiterentwickelten Prozessorkernen. Wird ein Derivat tatsächlich mal abgekündigt, findet man bei dieser Riesenauswahl meist leicht adäquaten Ersatz.&lt;br /&gt;
&lt;br /&gt;
== Preis ==&lt;br /&gt;
Einerseits kann es lästig sein, wenn man durch die Verwendung eines kleineren Modells 2 Euro gespart hat und dann mit dessen Unzulänglichkeiten kämpft, andererseits ist ein versehentlich zerstörter Chip für 30 Euro ziemlich ärgerlich. Auch ist es oft ganz praktisch, wenn man einige Controller auf Vorrat hat.&lt;br /&gt;
&lt;br /&gt;
Zum Preis eines einzelnen Mikrocontrollers kommen noch die Kosten für die Entwicklungswerkzeuge, wie [[Compiler]], Programmübertragung und Debugging hinzu (s.u. Programmiersprache und Programmübertragung).&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
Die wichtigste Informationsquelle zu einem Mikrocontroller ist das Datenblatt. Diese gibt es heutzutage aber fast ausschließlich in Englisch. Wer damit nicht zurecht kommt, muss vorher schauen, ob es irgendwelche Tutorials oder Bücher in seiner Lieblingssprache gibt.&lt;br /&gt;
&lt;br /&gt;
Je mehr Funktionen ein Mikrocontroller beherrscht, desto umfangreicher wird auch das Datenblatt. Das führt dazu, dass bei manchen Mikrocontrollern das Datenblatt über 1000 Seiten hat. Da ist die Gefahr groß, dass ein Anfänger den Überblick verliert.&lt;br /&gt;
&lt;br /&gt;
== Unterstützung/Community ==&lt;br /&gt;
Gerade als Anfänger ist man oft auf die Hilfe anderer angewiesen. Da empfiehlt es sich, der Masse hinterherzulaufen und keine exotischen Typen zu verwenden. Im Bastlerbereich populäre Mikrocontroller-Familien sind die AVRs von Atmel und die PICs von Microchip. Für diese Architekturen gibt es z.B. im Forum dieser Internet-Seite gute und meist auch schnelle Hilfestellung bei Problemen.&lt;br /&gt;
&lt;br /&gt;
== Bauformen == &lt;br /&gt;
Neben den klassischen (bedrahteten) Bauformen setzt sich heutzutage [[SMD]] immer mehr durch. Manche Mikrocontroller sind nur noch in SMD-Bauformen erhältlich. Für SMD benutzt man üblicherweise geätzte Platinen oder Adapter/Sockel (die aber wieder extra kosten). Will man mit Lochrasterplatinen oder [[Breadboard]]s arbeiten, dann braucht man die klassischen Bauformen, z.B. PDIP. Zu beachten ist dabei, dass es PDIP oft nur bis DIP40 (also mit 40 Pins) gibt, d.h. einen Mikrocontroller mit 50 I/O-Pins kann es dann nur als SMD geben.&lt;br /&gt;
&lt;br /&gt;
Viele Mikrocontroller sind in verschiedenen Bauformen verfügbar. Nur in SMD verfügbar sind:&lt;br /&gt;
* MSP430 (Die kleinen sind mittlerweile auch als DIP erhältlich)&lt;br /&gt;
* AVR ATMega 64, 128, 169&lt;br /&gt;
&lt;br /&gt;
In der klassischen (wenn auch in der Anzahl der verfügbaren IO-Pins limitiert) PDIP Bauform gibt es unter anderem:&lt;br /&gt;
* AVR ATMega 8, 16, 32, 64&lt;br /&gt;
* viele 8051-Derivate, z.B. Atmel 89S8252&lt;br /&gt;
&lt;br /&gt;
== Spannung ==&lt;br /&gt;
Während früher die meisten Mikrocontroller und die gesamte Peripherie mit 5V liefen, so gibt es heute auch alle möglichen anderen Varianten. Zu beachten ist:&lt;br /&gt;
* Controller und Peripherie müssen zusammenpassen. Man kann nicht einfach (ohne weitere Vorkehrungen) ein 3,3V-RAM an einen 5V-Controller anschließen und umgekehrt.&lt;br /&gt;
* Manche Controller besitzen, obwohl sie intern mit einer anderen Spannung arbeiten, 5V-kompatible IO-Pins (Beispiel: [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]]).&lt;br /&gt;
* Manche Controller brauchen zwei verschiedene Spannungen. Dies ist aber relativ selten, z.B. bei den [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]].&lt;br /&gt;
&lt;br /&gt;
* Billig-Netzteile liefern im Leerlauf manchmal deutlich mehr Spannung als angegeben, ein [[Standardbauelemente|Spannungsregler]] (z.B. 78xx) ist also Pflicht!&lt;br /&gt;
* Bei Batterien und Akkus sinkt die Spannung ab, wenn sie leerer werden. Braucht der Controller z.B. mindestens 2,7V, dann wird man mit zwei 1,5V-Batterien nicht lange Freude haben (außer man benutzt spezielle Schaltregler).&lt;br /&gt;
&lt;br /&gt;
== Stromverbrauch ==&lt;br /&gt;
Im Vergleich zu PC-Prozessoren (Pentium, Athlon usw.) brauchen Mikrocontroller relativ wenig Strom. Will man sie allerdings mit Batterien betreiben, dann wird der Stromverbrauch plötzlich doch wichtig. Die meisten Mikrocontroller besitzen hierfür Stromsparmodi, mit denen man den Controller teilweise abschalten kann. Für einen extrem geringen Stromverbrauch sind z.B. die [[MSP430]]-Controller optimiert.&lt;br /&gt;
&lt;br /&gt;
Der Stromverbrauch hängt auch stark vom Takt und der Versorgungsspannung ab. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Frequenz !! ATMega8 (2.7V) !! ATMega8 (5.0V) !! PIC16LF84A(2.0V) !! PIC16F84A (5.5V)&lt;br /&gt;
|-&lt;br /&gt;
! 32KHz &lt;br /&gt;
|62µA||80µA||45µA||-&lt;br /&gt;
|-&lt;br /&gt;
! 100KHz &lt;br /&gt;
|0,3mA||0,5mA||-||-&lt;br /&gt;
|-&lt;br /&gt;
!1MHz, 2MHz*&lt;br /&gt;
|1,5mA ||2,3mA||4mA||-&lt;br /&gt;
|-&lt;br /&gt;
!8MHz, 4MHz*&lt;br /&gt;
|5mA   ||7/15mA**||-||4.5mA&lt;br /&gt;
|-&lt;br /&gt;
!16MHz, 20MHz*&lt;br /&gt;
| -    ||20mA||-||20mA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[*] Abweichende Taktangabe für PIC16*F84A, da hier keine entsprechenden Werte für die Frequenzen des ATmega8 im Datenblatt (PIC16F84A Data Sheet, Microchip 2001, 35007b.pdf) vorliegen.&lt;br /&gt;
&lt;br /&gt;
[**] Angaben sind in der Folge Idle/Active (Quelle: Atmel, ATmega8/L, doc2486.pdf).&lt;br /&gt;
&lt;br /&gt;
== Takt/Geschwindigkeit ==&lt;br /&gt;
Einerseits wünscht man sich oft einen möglichst schnellen Controller, insbesondere als Anfänger, wenn man effiziente Lösungen noch nicht so kennt, andererseits schlägt sich ein hoher Takt auch im Stromverbrauch und im Preis nieder. Man sollte sich dabei nicht von den hohen Taktraten der PC-Prozessoren irritieren lassen. Für viele Anwendungen reicht 1-MHz-Takt völlig aus.&lt;br /&gt;
&lt;br /&gt;
Bei einem Geschwindigkeitsvergleich sollte man beachten, dass man nicht einfach den Takt vergleichen kann: &lt;br /&gt;
* Während manche Controller 12 Takte für einen Befehl brauchen (z.B. die Original-[[8051]]), kommen andere mit einem Takt pro Befehl aus (z.B. [[AVR]]).&lt;br /&gt;
* Manche Controller unterstützen gewisse Operationen hardwareseitig, die auf anderen Controllern in Software nachgebildet werden muss. Beispiele sind z.B. Multiplikation und Division. Wer in einer Hochsprache programmiert, merkt davon nicht viel, da es dort die Befehle sowieso zur Verfügung stehen, aber sie brauchen auf einem Controller ohne Hardwareunterstützung eben deutlich länger. &lt;br /&gt;
* Die Datenbus- bzw. Registerbreite spielt eine wichtige Rolle, weil man z.B. für eine 16-Bit-Addition auf einer 8-Bit-CPU zwei Befehle und auf einer 16-Bit-CPU nur einen Befehl braucht.&lt;br /&gt;
&lt;br /&gt;
== Speicher ==&lt;br /&gt;
Während früher oft nur die [[Register]] im Mikrocontroller waren, und der gesamte restliche Speicher extern angebunden werden musste, so sind heute die Speicher oft komplett im Mikrocontroller integriert. Das bedeutet aber teilweise auch, dass man sie nicht erweitern kann. Wichtig ist dabei u.a. die Größe des Programmspeichers (meist ein [[Flash-ROM]]) und das [[RAM#SRAM|SRAM]]. Fehlt letzteres, dann kann es mit der Compilerunterstützung schwierig werden.&lt;br /&gt;
&lt;br /&gt;
Zu unterscheiden sind hier außerdem Controller in [[Von Neumann-Architektur|Von-Neumann-Architektur]] und [[Harvard-Architektur]]. Bei letzterer liegen Programmspeicher (ROM) und Datenspeicher (RAM) in getrennten Speicherbereichen; dies hat den Nachteil, dass für den Zugriff auf den Programmspeicher spezielle Befehle notwendig sind (was die Verwendung von im ROM abgelegten Daten in C-Compilern ziemlich umständlich macht), und dass man keine Programmteile direkt aus dem Datenspeicher ausführen kann.&lt;br /&gt;
&lt;br /&gt;
== Onboard-Peripherie ==&lt;br /&gt;
Mikrocontroller haben meist eine ganze Menge Funktionen integriert, z.B. [[AD-Wandler]], [[I²C]]-Bus, [[SPI]], [[PWM]], [[RS-232]] usw. usf. Der Vorteil liegt darin, dass der Controller damit mehrere Dinge gleichzeitig machen kann. Dadurch steigt zum einen die Gesamtleistung des Controllers, zum anderen sind viele Dinge zeitkritisch, und die Programmierung ist deutlich einfacher, wenn man zehn zeitkritische Dinge gleichzeitig erledigen muss.&lt;br /&gt;
&lt;br /&gt;
== Störfestigkeit ==&lt;br /&gt;
Eigentlich ein wichtiges Thema, andererseits findet man dazu nur sehr wenig Informationen. Bekannt ist beispielsweise, dass bei der [[AVR]]-Familie die ATmegas deutlich störfester sind als die alten AT90S. &lt;br /&gt;
&lt;br /&gt;
== Programmiersprachen ==&lt;br /&gt;
Den direktesten Zugriff auf die &amp;quot;Innereien&amp;quot; eines Prozessors hat man mit [[Assembler]]. Dies ist jedoch gleichzeitig - zumindest auf den ersten Blick - die &amp;quot;abschreckendste&amp;quot; Sprache, denn sie erfordert einen hohen Lernaufwand. Aufgrund stark unterschiedlicher Befehlssätze verschiedener Controllerfamilien ist das Gelernte nie 1-zu-1 übertragbar und meist nur direkt auf einen einzigen Prozessor oder allenfalls auf eine Familie &amp;quot;verwandter&amp;quot; Produkte anwendbar. Dennoch kann man sich mit einiger Erfahrung recht schnell in einen anderen Befehlssatz einarbeiten. In bestimmten Bereichen oder Teilen eines Projekts wird die Verwendung von Assembler dennoch unabdingbar sein. (Diese Teile mögen projektabhängig zwischen 100% oder auch nur deutlich unter 1% umfassen.)&lt;br /&gt;
&lt;br /&gt;
Die Auswahl der richtigen Programmiersprache hängt auch stark vom geplanten Einsatzzweck ab. Ein Elektrotechnik-Student, der sich für sein späteres Berufsleben vorbereiten möchte, sollte sich mit C und Assembler befassen. Wer dagegen gar nicht vorhat sich allzu tief einzuarbeiten und sowieso schon Basic oder Pascal kann, der sollte zu diesen Sprachen greifen.&lt;br /&gt;
&lt;br /&gt;
Für einige Controllerfamilien (z.B. AVR, ARM, MSP430) gibt es eine Portierung des kostenlosen [[GCC|GNU-C-Compilers]], wodurch C auch im Hobby-Bereich stark vertreten ist und es auch viele Programmierbeispiele dafür gibt.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Bei der Fehlerbeseitigung trennen sich Profi von Amateur, und es kann richtig teuer werden. Genau hier haben die Hersteller von Mikrocontrollern und/oder Compilern eine Möglichkeit gefunden, den Gelegenheitsprogrammierer abzuweisen und nur den zahlenden Profi vorzulassen.&lt;br /&gt;
&lt;br /&gt;
Die preisgünstigste, aber auch unkomfortabelste Art des Debuggings ist der Einbau von Testcode in das Programm. Dieser Testcode informiert den Programmierer über erreichte Programmpunkte und dabei aufgetretene Datenwerte. Die Ausgabe erfolgt per optisch/akustischer Anzeige oder serieller Schnittstelle. Der Nachteil dieser Methode liegt in ihrem Zeitaufwand. Für jedes Problem muss ein kurzes Stück Testcode erdacht und in das Programm eingefügt werden. Danach wird das Programm kompiliert/assembliert und in den Flashspeicher des Mikrocontrollers gebrannt. Zuguterletzt muss das Programm von Beginn an durchlaufen und mit etwas Glück liefert der Testcode Informationen über das Problem.&lt;br /&gt;
&lt;br /&gt;
Deutlich effektiver ist die Fehlersuche mittels einer in die PC-Entwicklungsumgebung integrierten Debugger-Software. Üblicherweise besteht diese Software aus mehreren Fenstern zur Anzeige folgender Informationen:&lt;br /&gt;
&lt;br /&gt;
* Programm- und Datenspeicher des Mikrocontrollers.&lt;br /&gt;
* Arbeits- und Konfigurationsregister des Mikrocontrollers.&lt;br /&gt;
* Programm Quellcode in Hochsprache (z.B. C) und/oder Assembler.&lt;br /&gt;
* Werte von Programm-Variablen.&lt;br /&gt;
&lt;br /&gt;
Ausgehend vom Quellcode/Assembler-Fenster kann man den Programmcode auf das Zielsystem laden, den Programmlauf starten und an beliebigen Stellen stoppen, das Programm zeilenweise oder wiederholend abarbeiten, Variablen/Speicher/Register anzeigen und auch verändern. Diese Vorgänge werden bei modernen Debuggern mit wenigen Funktionstasten und Kontextmenü gesteuert. Angemerkt sei, Debugging einer Hochsprache wie C funktioniert nur richtig, wenn die Codeoptimierung des Compilers deaktiviert ist. Diese Bedingung bringt es mit sich, dass für die Entwicklungsphase bis zu 30% mehr Programmspeicher benötigt werden.&lt;br /&gt;
&lt;br /&gt;
Der Programmlauf kann in einem Software-Simulator oder direkt auf dem Mikrocontroller erfolgen. Leider können Simulatoren weder die Signale der Controllerumgebung, noch Interrupts realistisch nachahmen. Hier hilft nur In-System-Debugging direkt auf dem Zielsystem.&lt;br /&gt;
&lt;br /&gt;
Für das In-System-Debugging wird der Ziel-Mikrocontroller mit seiner In-Circuit-Debugging-Hardware benutzt. Diese integrierte Hardware kommuniziert über teils genormte Schnittstellen mit der Debuggersoftware auf dem PC. Als Verbindungsglied dient ein Kabel mit mehr oder weniger komplexer Elektronik. Diese Elektronik, das fehlende Wissen um ihre Funktion und die teils eingebaute Donglefunktion verhindern preisgünstigen Nachbau und machen ihren Hersteller sicher vor unautorisierter Benutzung der Entwicklungsumgebung.&lt;br /&gt;
&lt;br /&gt;
Bei der Vielzahl von Controller- und Compiler-Herstellen ist es kaum möglich, einen Überblick über die Debugger-Hardware/Software zu geben. Hier nur einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== [http://www.atmel.com/ Atmel] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2737 AVR JTAG ICE] Clone (wenige ATmega Typen)&lt;br /&gt;
| ~ 35€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891 AVR Dragon] (Debugging &amp;lt;= 32kB)&lt;br /&gt;
| ~ 55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.keeelectronics.com/mkii.htm AVR JTAG ICE MKII - CN]&lt;br /&gt;
| ~ 85$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353 AVR JTAG ICE MKII] / Clone&lt;br /&gt;
| ~ 280€/140$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4279 AVR ONE!]&lt;br /&gt;
| ~ 550€&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
[http://atmel.com/products/avr32/default.asp AVR32 Controller (32-Bit)] können mit Atmels freiem [http://atmel.com/dyn/products/tools_card.asp?tool_id=4116 AVR32 Studio], basierend auf der [http://www.eclipse.org/ Eclipse IDE], programmiert und debugt werden. Die IDE bedient sich dabei der [http://atmel.com/dyn/products/tools_card.asp?tool_id=4118 AVR32 GNU Toolchain].&lt;br /&gt;
&lt;br /&gt;
Der Debugger für [http://atmel.com/products/avr/default.asp AVR 8-Bit] RISC Controller ist in Atmels freie [http://atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR Studio] IDE integriert. In Verbindung mit dem GNU C++ Compiler für AVR ([http://winavr.sourceforge.net/ WinAVR]) und der integrierten Bibliothek [http://www.nongnu.org/avr-libc/ AVR Libc] ist Hochsprach-Entwicklung und -Debugging möglich.&lt;br /&gt;
&lt;br /&gt;
Der [[JTAG|AVR JTAG]] ICE Clone kann nur nachfolgende ältere ATmega Controller debuggen: ATmega16, ATmega16L, ATmega162, ATmega162L, ATmega162V, ATmega165,  ATmega165V, ATmega169, ATmega169L, ATmega169V, ATmega32, ATmega32L, ATmega323, ATmega323L, ATmega64, ATmega64L, ATmega128, ATmega128L, AT90CAN128. Trotzdem ist er ein sehr wertvolles, weil günstiges Werkzeug, wenn man die Typbeschränkung akzeptieren kann.&lt;br /&gt;
&lt;br /&gt;
Atmel [[AVR]] Dragon kann ATtiny, ATmega und AT32UC3x programmieren, aber nur ATtiny und ATmega bis 32 kB Flash-Speicher Größe debuggen.&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/107070 AVR JTAG ICE MKII – CN] ist ein Produkt aus China mit der versprochenen Funktionalität eines originalen AVR JTAG ICE MKII von Atmel. Es besitzt eigenständige Elektronik und auch die aktualisierbare Firmware ist vom Original verschieden. Oftmals ist dieses Produkt beim nicht unbekannten Online-Auktionshaus zu finden.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.microchip.com/ Microchip] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en023805 MPLAB PICkit2 / PICkit2 Debug Express]&lt;br /&gt;
| ~ 30€/55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538340 MPLAB PICkit3 Debug Express]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010046&amp;amp;part=DV164005 MPLAB ICD 2] / [http://www.keeelectronics.com/icd25debugger.html Clone ICD2.5] / [http://www.sivava.com/MPLAB_ICD2.html Clone ICD2]&lt;br /&gt;
| ~ 90€/40€/40€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en537580 MPLAB ICD 3]&lt;br /&gt;
| ~ 190€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alle Typen von Microchip Debugger Hardware werden von Microchips freier [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469&amp;amp;part=SW007002 MPLAB IDE] unterstützt. Diese IDE kann mit C-Compilern verschiedener Hersteller zusammenarbeiten. Das Setup installiert keine Microchip C-Compiler sondern bietet als Option die C-Compiler von CCS und HI-TECH. Der CCS Compiler für PIC18F45k20 ist auf 2kWord Programmcode begrenzt. Die HI-TECH Compiler für PIC10/12/16, PIC18 und PIC32 haben, wenn sie als Freeware im ‚Lite mode’ arbeiten, eingeschränkte Codeoptimierung. Microchips C-Compiler für [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010014 PIC18], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535364 PIC24], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535363 dsPIC DSCs] und/oder [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2615&amp;amp;dDocName=en532454 PIC32] können zusätzlich installiert werden. In der zum freien Download bereitstehenden ‚Student Edition’ stellen sie nach 60 Tagen einen Teil der Codeoptimierung ein. Das MPLAB Setup bietet optional die Installation der, im nächsten Absatz behandelten, HI-TECH IDE ‚HI-TIDE 3’ an.&lt;br /&gt;
&lt;br /&gt;
Die Debugger Hardware ICD 2 von Microchip wird auch von der freien, auf [http://www.eclipse.org/ Eclipse] basierenden,  HI-TECH IDE [http://www.htsoft.com/downloads/demos.php#hitide ‚HI-TIDE 3’] unterstützt. Diese moderne IDE kann zusammen mit Microchips MPLAB oder separat installiert werden. Zusätzlich zu installieren sind HI-TECHs C-Compiler für die Microchip Reihen [http://www.htsoft.com/microchip/products/compilers/piccpro-modes.php PIC10/12/16], [http://www.htsoft.com/microchip/products/compilers/picc18pro-modes.php PIC18] und/oder [http://www.htsoft.com/microchip/products/compilers/pic32-modes.php PIC32]. Ihre im ‚Lite mode’ bestehende Einschränkung wurde bereits erwähnt.&lt;br /&gt;
&lt;br /&gt;
Die beiden für PICs vorhandenen IDEs von Microchip und HI-TECH bilden zusammen mit den freien C-Compilern und den preisgünstigen ICD 2 Clones eine kostengünstige Möglichkeit, PIC-Code zu erstellen und zu debuggen. Die eingeschränkte Codeoptimierung ist für Amateure verschmerzbar. Einige kleine PICs haben leider keine In-Circuit-Debugging-Hardware eingebaut. Diese PICs sind nur mit Hilfe eines kostspieligen [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538769 Header Boards] debugbar.&lt;br /&gt;
&lt;br /&gt;
=== [http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&amp;amp;tabId=140&amp;amp;familyId=342 TI MSP430] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p58_MSP430-JTAG-Parallelportkabel--MSP430-JTAG-.html MSP430 JTAG (parallel)]&lt;br /&gt;
| ~ 15€&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p63_MSP430-USB-JTAG-Adapter--MSP430-JTAG-TINY-.html MSP430-JTAG-TINY (USB)]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| TI-FET [http://focus.ti.com/docs/toolsw/folders/print/msp-fet430uif.html MSP430 USB Debugging Interface]&lt;br /&gt;
| ~ 115€&lt;br /&gt;
|-&lt;br /&gt;
| TI [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool]&lt;br /&gt;
| ~ 30€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://focus.ti.com/lit/ug/slau265/slau265.pdf Programmierung] und Debugging der MSP430 erfolgt über JTAG-Schnittstelle und in neusten Varianten (MSP430F20xx, F21x2, F22xx) über ‚Spy-Bi-Wire’ (2-wire JTAG). Die ursprüngliche JTAG-Schnittstelle benötigt 4 Signalleitungen plus Reset. Bei ‚Spy-Bi-Wire’ sind die Signalleitungen auf 2 reduziert.&lt;br /&gt;
&lt;br /&gt;
Jeder anwenderprogrammierbare MSP430 enthält einen [[Bootloader]]. Bei den Typenreihen MSP430F1xx, F2xx und F4xx befindet er sich im ROM. Bei den MSP430F6xx im Flash-Speicher.&lt;br /&gt;
&lt;br /&gt;
TI bezeichnet die Programmier- und Debugging-Hardware als Flash Emulation Tool (FET). Es existieren die Varianten ‚Parallel Port’ und USB. Die preisgünstigen parallelen Systeme beherrschen nur JTAG. Bei den USB-Systemen ist zusätzlich ‚Spy-Bi-Wire’ implementiert, und man kann damit die Codeschutzsicherung des Mikrocontrollers auslösen.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.olimex.com/dev/index.html Olimex] Produkte entsprechen in ihrer Funktion weitestgehend den TI-Vorbildern und können mit jeder Software verwendet werden, die TI-Werkzeuge unterstützt. Kleine Abweichungen bestehen bei der [http://www.olimex.com/dev/images/MSP430/SPY-BI-WIRE-CONNECTION.jpg Olimex Implementierung] der ‚Spy-Bi-Wire’ Verbindung des MSP430-JTAG-TINY.&lt;br /&gt;
&lt;br /&gt;
Das ‚MSP430 USB Stick Development Tool’ ist eine eigenständige Debugging-Hardware mit aufgestecktem eZ430-F2013 Zielsystem. Der Stick beherrscht aber nur ‚Spy-Bi-Wire’, wodurch die Anzahl der unterstützten Controller begrenzt ist. &lt;br /&gt;
&lt;br /&gt;
Als Entwicklungsumgebung stellt TI den auf der [http://www.eclipse.org/ Eclipse IDE] aufbauenden ‚Code Compose Essentials’ bereit. In der freien Version [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html ‚CCE Core Edition’] ist dieses Paket auf 16kB Code begrenzt.&lt;br /&gt;
&lt;br /&gt;
Mit der freien IDE Eclipse, dem GNU C-Compiler für MSP430, einigen Zutaten und dem Olimex Parallelport-Adapter kann man die wohl preiswerteste, unbeschränkte Entwicklungsumgebung für Mikrocontroller zusammenstellen. Es ist keine perfekte Kombination, und die Installation macht einige Mühe; im Ergebnis hat man aber eine Arbeitsplattform, einschließlich Debugger, ohne unverständliche Skripte oder kryptischen Make-Files. Über diese beiden Links&lt;br /&gt;
&lt;br /&gt;
* [[Eclipse und MSPGCC unter Windows]] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009)&lt;br /&gt;
&lt;br /&gt;
findet man zwei verschiedenartige Lösungen der Installation unter Windows. Obwohl beide Varianten auf teils verschiedene Werkzeuge zurückgreifen, sind sie kombinierbar und ergeben damit Spielraum für persönliche Vorlieben.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.zilog.com/ Zilog] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZUSBSC00100ZACG USB Smart Kabel]&lt;br /&gt;
| ~ 30$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZENETSC0100ZACG Ethernet Smart Kabel]&lt;br /&gt;
| ~ 70$&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die [[Zilog]] Entwicklungssysteme [http://www.zilog.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=40&amp;amp;Itemid=137 ZDS II] (C/ASM) für [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=5&amp;amp;parent_id=2 Z8 Encore!®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=6&amp;amp;parent_id=2 Z8 Encore! XP®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=7&amp;amp;parent_id=2 Z8 Encore! MC™] sowie [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=8&amp;amp;parent_id=2 ZNEO™ Z16F] Controller haben keine Beschränkungen sind aber ganz zu Unrecht in Europa kaum bekannt oder erhältlich.&lt;br /&gt;
&lt;br /&gt;
== Programmübertragung ==&lt;br /&gt;
Im Idealfall stellt sich die Frage, wie das Programm in den Mikrocontroller kommt, für den Programm-Entwickler nicht. Die Debugging-Hardware erledigt diese Aufgabe ganz unauffällig mit. Da die Umstände aber nicht immer ideal sind, muss der Entwickler manchmal auf andere Methoden zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
Früher wurden überwiegend teure und umständlich zu handhabende Programmiergeräte verwendet, mit deren Hilfe der Programmspeicher außerhalb des Zielsystems gefüllt wurde. Heute sind die meisten Mikrocontroller über verschiedene ISP-Schnittstellen oder über das [[UART]] ‚In-System’-programmierbar.&lt;br /&gt;
&lt;br /&gt;
Die ISP-Schnittstelle ist entweder als universelle Debugging- und Programmier-Schnittstelle, z.B. [[JTAG]], oder als dedizierte Programmier-Schnittstelle realisiert. Für den zweiten Fall benötigt man einen speziellen Programmier-Adapter den man, meistens in verschiedenen Ausführungen, kaufen oder selber bauen kann. Dazugehörig ist ein passendes Programmier-Programm für den PC. Spezialisierte Programmier-Adapter und –Programme werden auch gern in der laufenden Produktion eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Mikrocontroller mit integriertem [[Bootloader]] können mit der entsprechenden PC-Software direkt über den seriellen Port programmiert werden.&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40529</id>
		<title>Entscheidung Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40529"/>
		<updated>2009-11-07T14:55:21Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Takt/Geschwindigkeit */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikrocontroller]]&lt;br /&gt;
Die meisten Anfänger stellen sich die Frage, welchen [[Mikrocontroller]] sie verwenden sollen. Es gibt Dutzende Hersteller, und jeder davon hat unzählige Varianten im Angebot. Stellt man die Frage in einem Diskussionsforum, dann bekommt man viele verschiedene (sich teilweise widersprechende) Antworten. Bei der Entscheidung sollten u.a. die unten stehenden Kriterien beachtet werden. Dieser Artikel ist primär für Hobbyisten gedacht, da im professionellen Einsatz oftmals völlig andere Kriterien beachtet werden müssen. Weitere vergleichende Informationen über verschiedene Controllerfamilien gibt der Artikel: [[AVR_PIC_51-Vergleich]]&lt;br /&gt;
&lt;br /&gt;
== Verfügbarkeit ==&lt;br /&gt;
* Während man manche Mikrocontroller an jeder Straßenecke bekommt, sind andere nur in großen Stückzahlen und mit Gewerbenachweis erhältlich. Dazu einfach mal in die Kataloge der einschlägigen Privatkundenhändler schauen. Dabei auch darauf achten, dass der gewünschte Controller auch in der richtigen Bauform erhältlich ist (DIP, TQFP, MLF usw.), s.u.&lt;br /&gt;
* Ab und zu kündigen Hersteller ein neues Modell an (und veröffentlichen das Datenblatt dazu), können aber erst ein Jahr später nennenswerte Stückzahlen liefern. Also den Controller nicht einfach anhand der Übersichten beim Hersteller aussuchen, sondern überprüfen, was die Händler auch wirklich liefern können.&lt;br /&gt;
* Lebenszyklus: Kein Modell wird ewig hergestellt. Deswegen sollte man überprüfen, ob der Hersteller vielleicht schon angekündigt hat, dass er ein bestimmtes Modell nicht mehr herstellen will. Die Hersteller schreiben dann z.B. &amp;quot;Mature Product (Not Recommended for New Designs)&amp;quot;. Für Neuentwicklungen oder den Einstieg sollte man folgende Modelle nicht verwenden:&lt;br /&gt;
** AVR AT90-Reihe, &lt;br /&gt;
** AVR ATMega 103(L), 161(L), 163(L), 323(L).&lt;br /&gt;
* Für alle abgekündigten AVR-Controller gibt es jedoch pin- und funktionskompatible Nachfolger. Daher kommt es nur in den seltensten Fällen zu Problemen. Probleme können nur entstehen, wenn ein Programm nur in kompilierter Version zur Verfügung steht.&lt;br /&gt;
* Dagegen sind Mikrocontroller der [[8051|MCS51-Familie]] von Intel eher für langfristige Investitionen geeignet. Der 8051 wurde 1979 (!) als erstes Mitglied dieser Familie vorgestellt. Heute gibt es bereits hunderte von 8051-Derivaten von dutzenden von Halbleiterherstellern, zum Teil auch mit weiterentwickelten Prozessorkernen. Wird ein Derivat tatsächlich mal abgekündigt, findet man bei dieser Riesenauswahl meist leicht adäquaten Ersatz.&lt;br /&gt;
&lt;br /&gt;
== Preis ==&lt;br /&gt;
Einerseits kann es lästig sein, wenn man durch die Verwendung eines kleineren Modells 2 Euro gespart hat und dann mit dessen Unzulänglichkeiten kämpft, andererseits ist ein versehentlich zerstörter Chip für 30 Euro ziemlich ärgerlich. Auch ist es oft ganz praktisch, wenn man einige Controller auf Vorrat hat.&lt;br /&gt;
&lt;br /&gt;
Zum Preis eines einzelnen Mikrocontrollers kommen noch die Kosten für die Entwicklungswerkzeuge, wie [[Compiler]], Programmübertragung und Debugging hinzu (s.u. Programmiersprache und Programmübertragung).&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
Die wichtigste Informationsquelle zu einem Mikrocontroller ist das Datenblatt. Diese gibt es heutzutage aber fast ausschließlich in Englisch. Wer damit nicht zurecht kommt, muss vorher schauen, ob es irgendwelche Tutorials oder Bücher in seiner Lieblingssprache gibt.&lt;br /&gt;
&lt;br /&gt;
Je mehr Funktionen ein Mikrocontroller beherrscht, desto umfangreicher wird auch das Datenblatt. Das führt dazu, dass bei manchen Mikrocontrollern das Datenblatt über 1000 Seiten hat. Da ist die Gefahr groß, dass ein Anfänger den Überblick verliert.&lt;br /&gt;
&lt;br /&gt;
== Unterstützung/Community ==&lt;br /&gt;
Gerade als Anfänger ist man oft auf die Hilfe anderer angewiesen. Da empfiehlt es sich, der Masse hinterherzulaufen und keine exotischen Typen zu verwenden. Im Bastlerbereich populäre Mikrocontroller-Familien sind die AVRs von Atmel und die PICs von Microchip. Für diese Architekturen gibt es z.B. im Forum dieser Internet-Seite gute und meist auch schnelle Hilfestellung bei Problemen.&lt;br /&gt;
&lt;br /&gt;
== Bauformen == &lt;br /&gt;
Neben den klassischen (bedrahteten) Bauformen setzt sich heutzutage [[SMD]] immer mehr durch. Manche Mikrocontroller sind nur noch in SMD-Bauformen erhältlich. Für SMD benutzt man üblicherweise geätzte Platinen oder Adapter/Sockel (die aber wieder extra kosten). Will man mit Lochrasterplatinen oder [[Breadboard]]s arbeiten, dann braucht man die klassischen Bauformen, z.B. PDIP. Zu beachten ist dabei, dass es PDIP oft nur bis DIP40 (also mit 40 Pins) gibt, d.h. einen Mikrocontroller mit 50 I/O-Pins kann es dann nur als SMD geben.&lt;br /&gt;
&lt;br /&gt;
Viele Mikrocontroller sind in verschiedenen Bauformen verfügbar. Nur in SMD verfügbar sind:&lt;br /&gt;
* MSP430 (Die kleinen sind mittlerweile auch als DIP erhältlich)&lt;br /&gt;
* AVR ATMega 64, 128, 169&lt;br /&gt;
&lt;br /&gt;
In der klassischen (wenn auch in der Anzahl der verfügbaren IO-Pins limitiert) PDIP Bauform gibt es unter anderem:&lt;br /&gt;
* AVR ATMega 8, 16, 32, 64&lt;br /&gt;
* viele 8051-Derivate, z.B. Atmel 89S8252&lt;br /&gt;
&lt;br /&gt;
== Spannung ==&lt;br /&gt;
Während früher die meisten Mikrocontroller und die gesamte Peripherie mit 5V liefen, so gibt es heute auch alle möglichen anderen Varianten. Zu beachten ist:&lt;br /&gt;
* Controller und Peripherie müssen zusammenpassen. Man kann nicht einfach (ohne weitere Vorkehrungen) ein 3,3V-RAM an einen 5V-Controller anschließen und umgekehrt.&lt;br /&gt;
* Manche Controller besitzen, obwohl sie intern mit einer anderen Spannung arbeiten, 5V-kompatible IO-Pins (Beispiel: [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]]).&lt;br /&gt;
* Manche Controller brauchen zwei verschiedene Spannungen. Dies ist aber relativ selten, z.B. bei den [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]].&lt;br /&gt;
&lt;br /&gt;
* Billig-Netzteile liefern im Leerlauf manchmal deutlich mehr Spannung als angegeben, ein [[Standardbauelemente|Spannungsregler]] (z.B. 78xx) ist also Pflicht!&lt;br /&gt;
* Bei Batterien und Akkus sinkt die Spannung ab, wenn sie leerer werden. Braucht der Controller z.B. mindestens 2,7V, dann wird man mit zwei 1,5V-Batterien nicht lange Freude haben (außer man benutzt spezielle Schaltregler).&lt;br /&gt;
&lt;br /&gt;
== Stromverbrauch ==&lt;br /&gt;
Im Vergleich zu PC-Prozessoren (Pentium, Athlon usw.) brauchen Mikrocontroller relativ wenig Strom. Will man sie allerdings mit Batterien betreiben, dann wird der Stromverbrauch plötzlich doch wichtig. Die meisten Mikrocontroller besitzen hierfür Stromsparmodi, mit denen man den Controller teilweise abschalten kann. Für einen extrem geringen Stromverbrauch sind z.B. die [[MSP430]]-Controller optimiert.&lt;br /&gt;
&lt;br /&gt;
Der Stromverbrauch hängt auch stark vom Takt und der Versorgungsspannung ab. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Frequenz !! ATMega8 (2.7V) !! ATMega8 (5.0V) !! PIC16LF84A(2.0V) !! PIC16F84A (5.5V)&lt;br /&gt;
|-&lt;br /&gt;
! 32KHz &lt;br /&gt;
|62µA||80µA||45µA||-&lt;br /&gt;
|-&lt;br /&gt;
! 100KHz &lt;br /&gt;
|0,3mA||0,5mA||-||-&lt;br /&gt;
|-&lt;br /&gt;
!1MHz, 2MHz*&lt;br /&gt;
|1,5mA ||2,3mA||4mA||-&lt;br /&gt;
|-&lt;br /&gt;
!8MHz, 4MHz*&lt;br /&gt;
|5mA   ||7/15mA**||-||4.5mA&lt;br /&gt;
|-&lt;br /&gt;
!16MHz, 20MHz*&lt;br /&gt;
| -    ||20mA||-||20mA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[*] Abweichende Taktangabe für PIC16*F84A, da hier keine entsprechenden Werte für die Frequenzen des ATmega8 im Datenblatt (PIC16F84A Data Sheet, Microchip 2001, 35007b.pdf) vorliegen.&lt;br /&gt;
&lt;br /&gt;
[**] Angaben sind in der Folge Idle/Active (Quelle: Atmel, ATmega8/L, doc2486.pdf).&lt;br /&gt;
&lt;br /&gt;
== Takt/Geschwindigkeit ==&lt;br /&gt;
Einerseits wünscht man sich oft einen möglichst schnellen Controller, insbesondere als Anfänger, wenn man effiziente Lösungen noch nicht so kennt, andererseits schlägt sich ein hoher Takt auch im Stromverbrauch und im Preis nieder. Man sollte sich dabei nicht von den hohen Taktraten der PC-Prozessoren irritieren lassen. Für viele Anwendungen reicht 1-MHz-Takt völlig aus.&lt;br /&gt;
&lt;br /&gt;
Bei einem Geschwindigkeitsvergleich sollte man beachten, dass man nicht einfach den Takt vergleichen kann: &lt;br /&gt;
* Während manche Controller 12 Takte für einen Befehl brauchen (z.B. die Original-[[8051]]), kommen andere mit einem Takt pro Befehl aus (z.B. [[AVR]]).&lt;br /&gt;
* Manche Controller unterstützen gewisse Operationen hardwareseitig, die auf anderen Controllern in Software nachgebildet werden muss. Beispiele sind z.B. Multiplikation und Division. Wer in einer Hochsprache programmiert, merkt davon nicht viel, da es dort die Befehle sowieso zur Verfügung stehen, aber sie brauchen auf einem Controller ohne Hardwareunterstützung eben deutlich länger. &lt;br /&gt;
* Die Datenbus- bzw. Registerbreite spielt eine wichtige Rolle, weil man z.B. für eine 16-Bit-Addition auf einer 8-Bit-CPU zwei Befehle und auf einer 16-Bit-CPU nur einen Befehl braucht.&lt;br /&gt;
&lt;br /&gt;
== Speicher ==&lt;br /&gt;
Während früher oft nur die [[Register]] im Mikrocontroller waren, und der gesamte restliche Speicher extern angebunden werden musste, so sind heute die Speicher oft komplett im Mikrocontroller integriert. Das bedeutet aber teilweise auch, dass man sie nicht erweitern kann. Wichtig ist dabei u.a. die Größe des Programmspeichers (meist ein [[Flash-ROM]]) und das [[RAM#SRAM|SRAM]]. Fehlt letzteres, dann kann es mit der Compilerunterstützung schwierig werden.&lt;br /&gt;
&lt;br /&gt;
Zu unterscheiden sind hier außerdem Controller in [[Von Neumann-Architektur|Von-Neumann-Architektur]] und [[Harvard-Architektur]]. Bei letzterer liegen Programmspeicher (ROM) und Datenspeicher (RAM) in getrennten Speicherbereichen; dies hat den Nachteil, dass für den Zugriff auf den Programmspeicher spezielle Befehle notwendig sind (was die Verwendung von im ROM abgelegten Daten in C-Compilern ziemlich umständlich macht), und dass man keine Programmteile direkt aus dem Datenspeicher ausführen kann.&lt;br /&gt;
&lt;br /&gt;
== Onboard-Peripherie ==&lt;br /&gt;
Mikrocontroller haben meist eine ganze Menge Funktionen integriert, z.B. [[AD-Wandler]], [[I²C]]-Bus, [[SPI]], [[PWM]], [[RS-232]] usw. usf. Der Vorteil liegt darin, dass der Controller damit mehrere Dinge gleichzeitig machen kann. Dadurch steigt zum einen die Gesamtleistung des Controllers, zum anderen sind viele Dinge zeitkritisch, und die Programmierung ist deutlich einfacher, wenn man zehn zeitkritische Dinge gleichzeitig erledigen muss.&lt;br /&gt;
&lt;br /&gt;
== Störfestigkeit ==&lt;br /&gt;
Eigentlich ein wichtiges Thema, andererseits findet man dazu nur sehr wenig Informationen. Bekannt ist beispielsweise, dass bei der [[AVR]]-Familie die ATmegas deutlich störfester sind als die alten AT90S. &lt;br /&gt;
&lt;br /&gt;
== Programmiersprachen ==&lt;br /&gt;
Den direktesten Zugriff auf die &amp;quot;Innereien&amp;quot; eines Prozessors hat man mit [[Assembler]]. Dies ist jedoch gleichzeitig - zumindest auf den ersten Blick - die &amp;quot;abschreckendste&amp;quot; Sprache, denn sie erfordert einen hohen Lernaufwand. Aufgrund stark unterschiedlicher Befehlssätze verschiedener Controllerfamilien ist das Gelernte nie 1-zu-1 übertragbar und meist nur direkt auf einen einzigen Prozessor oder allenfalls auf eine Familie &amp;quot;verwandter&amp;quot; Produkte anwendbar. Dennoch kann man sich mit einiger Erfahrung recht schnell in einen anderen Befehlssatz einarbeiten. In bestimmten Bereichen oder Teilen eines Projekts wird die Verwendung von Assembler dennoch unabdingbar sein. (Diese Teile mögen projektabhängig zwischen 100% oder auch nur deutlich unter 1% umfassen.)&lt;br /&gt;
&lt;br /&gt;
Die Auswahl der richtigen Programmiersprache hängt auch stark vom geplanten Einsatzzweck ab. Ein Elektrotechnik-Student, der sich für sein späteres Berufsleben vorbereiten möchte, sollte sich mit C und Assembler befassen. Wer dagegen gar nicht vorhat sich allzu tief einzuarbeiten und sowieso schon Basic oder Pascal kann, der sollte zu diesen Sprachen greifen.&lt;br /&gt;
&lt;br /&gt;
Für einige Controllerfamilien (z.B. AVR, ARM, MSP430) gibt es eine Portierung des kostenlosen [[GCC|GNU-C-Compilers]], wodurch C auch im Hobby-Bereich stark vertreten ist und es auch viele Programmierbeispiele dafür gibt.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Bei der Fehlerbeseitigung trennen sich Profi von Amateur und es kann richtig teuer werden. Genau hier haben die Hersteller von Mikrocontrollern und/oder Compilern eine Möglichkeit gefunden den Gelegenheitsprogrammierer abzuweisen und nur den zahlenden Profi vorzulassen.&lt;br /&gt;
&lt;br /&gt;
Die preisgünstigste aber auch unkomfortabelste Art des Debuggings ist der Einbau von Testcode in das Programm. Dieser Testcode informiert den Programmierer über erreichte Programmpunkte und dabei aufgetretene Datenwerte. Die Ausgabe erfolgt per optisch/akustischer Anzeige oder serieller Schnittstelle. Der Nachteil dieser Methode liegt in ihrem Zeitaufwand. Für jedes Problem muss ein kurzes Stück Testcode erdacht und in das Programm eingefügt werden. Danach wird das Programm kompiliert/assembliert und in den Flashspeicher des Mikrocontrollers gebrannt. Zu guter Letzt muss das Programm von Begin an durchlaufen und mit etwas Glück liefert der Testcode Informationen über das Problem.&lt;br /&gt;
&lt;br /&gt;
Deutlich effektiver ist die Fehlersuche mittels einer in die PC-Entwicklungsumgebung integrierten Debugger Software. Üblicherweise besteht diese Software aus mehreren Fenstern zur Anzeige folgender Informationen:&lt;br /&gt;
&lt;br /&gt;
* Programm- und Datenspeicher des Mikrocontrollers.&lt;br /&gt;
* Arbeits- und Konfigurationsregister des Mikrocontrollers.&lt;br /&gt;
* Programm Quellcode in Hochsprache (z.B. C) und/oder Assembler.&lt;br /&gt;
* Werte von Programm Variablen.&lt;br /&gt;
&lt;br /&gt;
Ausgehend vom Quellcode/Assembler-Fenster kann man den Programmcode auf das Zielsystem laden, den Programmlauf starten und an beliebigen Stellen stoppen, das Programm zeilenweise oder wiederholend abarbeiten, Variablen/Speicher/Register anzeigen und auch verändern. Diese Vorgänge werden bei modernen Debuggern mit wenigen Funktionstasten und Kontextmenü gesteuert. Angemerkt sei, Debugging einer Hochsprache wie C funktioniert nur richtig wenn die Codeoptimierung des Compilers deaktiviert ist. Diese Bedingung bringt es mit sich, dass für die Entwicklungsphase bis zu 30% mehr Programmspeicher benötigt werden.&lt;br /&gt;
&lt;br /&gt;
Der Programmlauf kann in einem Software-Simulator oder direkt auf dem Mikrocontroller erfolgen. Leider können Simulatoren weder die Signale der Controller Umgebung noch Interrupts realistisch nachahmen. Hier hilft nur In-System Debugging direkt auf dem Zielsystem.&lt;br /&gt;
&lt;br /&gt;
Für das In-System Debugging wird der Ziel-Mikrocontroller mit seiner In-Circuit Debugging Hardware benutzt. Diese integrierte Hardware kommuniziert über teils genormte Schnittstellen mit der Debugger Software auf dem PC. Als Verbindungsglied dient ein Kabel mit mehr oder weniger komplexer Elektronik. Diese Elektronik, das fehlende Wissen um ihre Funktion und die teils eingebaute Donglefunktion verhindern preisgünstigen Nachbau und machen ihren Hersteller sicher vor unautorisierter Benutzung der Entwicklungsumgebung.&lt;br /&gt;
&lt;br /&gt;
Bei der Vielzahl von Controller- und Compiler-Herstellen ist es kaum möglich einen Überblick über die Debugger Hardware/Software zu geben. Hier nur einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== [http://www.atmel.com/ Atmel] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2737 AVR JTAG ICE] Clone (wenige ATmega Typen)&lt;br /&gt;
| ~ 35€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891 AVR Dragon] (Debugging &amp;lt;= 32kB)&lt;br /&gt;
| ~ 55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.keeelectronics.com/mkii.htm AVR JTAG ICE MKII - CN]&lt;br /&gt;
| ~ 85$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353 AVR JTAG ICE MKII] / Clone&lt;br /&gt;
| ~ 280€/140$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4279 AVR ONE!]&lt;br /&gt;
| ~ 550€&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
[http://atmel.com/products/avr32/default.asp AVR32 Controller (32-Bit)] können mit Atmels freiem [http://atmel.com/dyn/products/tools_card.asp?tool_id=4116 AVR32 Studio], basierend auf der [http://www.eclipse.org/ Eclipse IDE], programmiert und debugt werden. Die IDE bedient sich dabei der [http://atmel.com/dyn/products/tools_card.asp?tool_id=4118 AVR32 GNU Toolchain].&lt;br /&gt;
&lt;br /&gt;
Der Debugger für [http://atmel.com/products/avr/default.asp AVR 8-Bit] RISC Controller ist in Atmels freie [http://atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR Studio] IDE integriert. In Verbindung mit dem GNU C++ Compiler für AVR ([http://winavr.sourceforge.net/ WinAVR]) und der integrierten Bibliothek [http://www.nongnu.org/avr-libc/ AVR Libc] ist Hochsprach-Entwicklung und -Debugging möglich.&lt;br /&gt;
&lt;br /&gt;
Der [[JTAG|AVR JTAG]] ICE Clone kann nur nachfolgende ältere ATmega Controller debuggen: ATmega16, ATmega16L, ATmega162, ATmega162L, ATmega162V, ATmega165,  ATmega165V, ATmega169, ATmega169L, ATmega169V, ATmega32, ATmega32L, ATmega323, ATmega323L, ATmega64, ATmega64L, ATmega128, ATmega128L, AT90CAN128. Trotzdem ist er ein sehr wertvolles, weil günstiges, Werkzeug wenn man die Typbeschränkung akzeptieren kann.&lt;br /&gt;
&lt;br /&gt;
Atmel [[AVR]] Dragon kann ATtiny, ATmega und AT32UC3x programmieren aber nur ATtiny und ATmega bis 32 kB Flash-Speicher Größe debuggen.&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/107070 AVR JTAG ICE MKII – CN] ist ein Produkt aus China mit der versprochenen Funktionalität eines originalen AVR JTAG ICE MKII von Atmel. Es besitzt eigenständige Elektronik und auch die aktualisierbare Firmware ist vom Original verschieden. Oftmals ist dieses Produkt beim nicht unbekannten Online-Auktionshaus zu finden.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.microchip.com/ Microchip] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en023805 MPLAB PICkit2 / PICkit2 Debug Express]&lt;br /&gt;
| ~ 30€/55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538340 MPLAB PICkit3 Debug Express]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010046&amp;amp;part=DV164005 MPLAB ICD 2] / [http://www.keeelectronics.com/icd25debugger.html Clone ICD2.5] / [http://www.sivava.com/MPLAB_ICD2.html Clone ICD2]&lt;br /&gt;
| ~ 90€/40€/40€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en537580 MPLAB ICD 3]&lt;br /&gt;
| ~ 190€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alle Typen von Microchip Debugger Hardware werden von Microchips freier [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469&amp;amp;part=SW007002 MPLAB IDE] unterstützt. Diese IDE kann mit C-Compilern verschiedener Hersteller zusammenarbeiten. Das Setup installiert keine Microchip C-Compiler sondern bietet als Option die C-Compiler von CCS und HI-TECH. Der CCS Compiler für PIC18F45k20 ist auf 2kWord Programmcode begrenzt. Die HI-TECH Compiler für PIC10/12/16, PIC18 und PIC32 haben, wenn sie als Freeware im ‚Lite mode’ arbeiten, eingeschränkte Codeoptimierung. Microchips C-Compiler für [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010014 PIC18], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535364 PIC24], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535363 dsPIC DSCs] und/oder [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2615&amp;amp;dDocName=en532454 PIC32] können zusätzlich installiert werden. In der zum freien Download bereitstehenden ‚Student Edition’ stellen sie nach 60 Tagen einen Teil der Codeoptimierung ein. Das MPLAB Setup bietet optional die Installation der, im nächsten Absatz behandelten, HI-TECH IDE ‚HI-TIDE 3’ an.&lt;br /&gt;
&lt;br /&gt;
Die Debugger Hardware ICD 2 von Microchip wird auch von der freien, auf [http://www.eclipse.org/ Eclipse] basierenden,  HI-TECH IDE [http://www.htsoft.com/downloads/demos.php#hitide ‚HI-TIDE 3’] unterstützt. Diese moderne IDE kann zusammen mit Microchips MPLAB oder separat installiert werden. Zusätzlich zu installieren sind HI-TECHs C-Compiler für die Microchip Reihen [http://www.htsoft.com/microchip/products/compilers/piccpro-modes.php PIC10/12/16], [http://www.htsoft.com/microchip/products/compilers/picc18pro-modes.php PIC18] und/oder [http://www.htsoft.com/microchip/products/compilers/pic32-modes.php PIC32]. Ihre im ‚Lite mode’ bestehende Einschränkung wurde bereits erwähnt.&lt;br /&gt;
&lt;br /&gt;
Die beiden für PICs vorhandenen IDEs von Microchip und HI-TECH bilden zusammen mit den freien C-Compilern und den preisgünstigen ICD 2 Clones eine kostengünstige Möglichkeit PIC-Code zu erstellen und zu debuggen. Die eingeschränkte Codeoptimierung ist für Amateure verschmerzbarer. Zu beachten ist, dass einige kleine PICs keine In-Circuit Debugging Hardware besitzt. Sie sind nur mit Hilfe eines kostspieligen [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538769 Header Boards] debugbar.&lt;br /&gt;
&lt;br /&gt;
=== [http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&amp;amp;tabId=140&amp;amp;familyId=342 TI MSP430] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p58_MSP430-JTAG-Parallelportkabel--MSP430-JTAG-.html MSP430 JTAG (parallel)]&lt;br /&gt;
| ~ 15€&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p63_MSP430-USB-JTAG-Adapter--MSP430-JTAG-TINY-.html MSP430-JTAG-TINY (USB)]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| TI-FET [http://focus.ti.com/docs/toolsw/folders/print/msp-fet430uif.html MSP430 USB Debugging Interface]&lt;br /&gt;
| ~ 115€&lt;br /&gt;
|-&lt;br /&gt;
| TI [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool]&lt;br /&gt;
| ~ 30€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://focus.ti.com/lit/ug/slau265/slau265.pdf Programmierung] und Debugging der MSP430 erfolgt über JTAG-Schnittstelle und in neusten Varianten (MSP430F20xx, F21x2, F22xx) über ‚Spy-Bi-Wire’ (2-wire JTAG). Die ursprüngliche JTAG-Schnittstelle benötigt 4 Signalleitungen plus Reset. Bei ‚Spy-Bi-Wire’ sind die Signalleitungen auf 2 reduziert.&lt;br /&gt;
&lt;br /&gt;
Jeder anwenderprogrammierbare MSP430 enthält einen [[Bootloader]]. Bei den Typenreihen MSP430F1xx, F2xx und F4xx befindet er sich im ROM. Bei den MSP430F6xx im Flash-Speicher.&lt;br /&gt;
&lt;br /&gt;
TI bezeichnet die Programmier- und Debugging-Hardware als Flash Emulation Tool (FET). Es existieren die Varianten ‚Parallel Port’ und USB. Die preisgünstigen parallelen Systeme beherrschen nur JTAG. Bei den USB-Systemen ist zusätzlich ‚Spy-Bi-Wire’ implementiert und man kann damit die Codeschutz Sicherung des Mikrocontrollers auslösen.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.olimex.com/dev/index.html Olimex] Produkte entsprechen in ihrer Funktion weitestgehend den TI Vorbildern und können mit jeder, die TI Werkzeuge unterstützenden, Software verwendet werden. Kleine Abweichungen bestehen bei der [http://www.olimex.com/dev/images/MSP430/SPY-BI-WIRE-CONNECTION.jpg Olimex Implementierung] der ‚Spy-Bi-Wire’ Verbindung des MSP430-JTAG-TINY.&lt;br /&gt;
&lt;br /&gt;
Das ‚MSP430 USB Stick Development Tool’ ist eine eigenständige Debugging-Hardware mit aufgestecktem eZ430-F2013 Zielsystem. Der Stick beherrscht aber nur ‚Spy-Bi-Wire’ wodurch die Anzahl der unterstützten Controller begrenzt ist. &lt;br /&gt;
&lt;br /&gt;
Als Entwicklungsumgebung stellt TI den auf der [http://www.eclipse.org/ Eclipse IDE] aufbauenden ‚Code Compose Essentials’ bereit. In der freien Version [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html ‚CCE Core Edition’] ist dieses Paket auf 16kB Code begrenzt.&lt;br /&gt;
&lt;br /&gt;
Mit der freien IDE Eclipse, dem GNU C-Compiler für MSP430, einigen Zutaten und dem Olimex Parallelport-Adapter kann man die wohl preiswerteste, unbeschränkte Entwicklungsumgebung für Mikrocontroller zusammenstellen. Es ist keine perfekte Kombination und die Installation macht einige Mühe; im Ergebnis hat man aber eine Arbeitsplattform, einschließlich Debugger, ohne unverständliche Skripte oder kryptischen Make-Files. Über diese beiden Links&lt;br /&gt;
&lt;br /&gt;
* [[Eclipse und MSPGCC unter Windows]] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009)&lt;br /&gt;
&lt;br /&gt;
findet man zwei verschiedenartige Lösungen der Installation unter Windows. Obwohl beide Varianten auf teils verschiedene Werkzeuge zurückgreifen sind sie kombinierbar und ergeben damit Spielraum für persönliche Vorlieben.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.zilog.com/ Zilog] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZUSBSC00100ZACG USB Smart Kabel]&lt;br /&gt;
| ~ 30$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZENETSC0100ZACG Ethernet Smart Kabel]&lt;br /&gt;
| ~ 70$&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die [[Zilog]] Entwicklungssysteme [http://www.zilog.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=40&amp;amp;Itemid=137 ZDS II] (C/ASM) für [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=5&amp;amp;parent_id=2 Z8 Encore!®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=6&amp;amp;parent_id=2 Z8 Encore! XP®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=7&amp;amp;parent_id=2 Z8 Encore! MC™] sowie [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=8&amp;amp;parent_id=2 ZNEO™ Z16F] Controller haben keine Beschränkungen sind aber ganz zu Unrecht in Europa kaum bekannt oder erhältlich.&lt;br /&gt;
&lt;br /&gt;
== Programmübertragung ==&lt;br /&gt;
Im Idealfall stellt sich die Frage, wie das Programm in den Mikrocontroller kommt, für den Programm-Entwickler nicht. Die Debugging-Hardware erledigt diese Aufgabe ganz unauffällig mit. Da die Umstände aber nicht immer ideal sind, muss der Entwickler manchmal auf andere Methoden zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
Früher wurden überwiegend teure und umständlich zu handhabende Programmiergeräte verwendet, mit deren Hilfe der Programmspeicher außerhalb des Zielsystems gefüllt wurde. Heute sind die meisten Mikrocontroller über verschiedene ISP-Schnittstellen oder über das [[UART]] ‚In-System’-programmierbar.&lt;br /&gt;
&lt;br /&gt;
Die ISP-Schnittstelle ist entweder als universelle Debugging- und Programmier-Schnittstelle, z.B. [[JTAG]], oder als dedizierte Programmier-Schnittstelle realisiert. Für den zweiten Fall benötigt man einen speziellen Programmier-Adapter den man, meistens in verschiedenen Ausführungen, kaufen oder selber bauen kann. Dazugehörig ist ein passendes Programmier-Programm für den PC. Spezialisierte Programmier-Adapter und –Programme werden auch gern in der laufenden Produktion eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Mikrocontroller mit integriertem [[Bootloader]] können mit der entsprechenden PC-Software direkt über den seriellen Port programmiert werden.&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40528</id>
		<title>Entscheidung Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40528"/>
		<updated>2009-11-07T14:53:56Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Dokumentation */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikrocontroller]]&lt;br /&gt;
Die meisten Anfänger stellen sich die Frage, welchen [[Mikrocontroller]] sie verwenden sollen. Es gibt Dutzende Hersteller, und jeder davon hat unzählige Varianten im Angebot. Stellt man die Frage in einem Diskussionsforum, dann bekommt man viele verschiedene (sich teilweise widersprechende) Antworten. Bei der Entscheidung sollten u.a. die unten stehenden Kriterien beachtet werden. Dieser Artikel ist primär für Hobbyisten gedacht, da im professionellen Einsatz oftmals völlig andere Kriterien beachtet werden müssen. Weitere vergleichende Informationen über verschiedene Controllerfamilien gibt der Artikel: [[AVR_PIC_51-Vergleich]]&lt;br /&gt;
&lt;br /&gt;
== Verfügbarkeit ==&lt;br /&gt;
* Während man manche Mikrocontroller an jeder Straßenecke bekommt, sind andere nur in großen Stückzahlen und mit Gewerbenachweis erhältlich. Dazu einfach mal in die Kataloge der einschlägigen Privatkundenhändler schauen. Dabei auch darauf achten, dass der gewünschte Controller auch in der richtigen Bauform erhältlich ist (DIP, TQFP, MLF usw.), s.u.&lt;br /&gt;
* Ab und zu kündigen Hersteller ein neues Modell an (und veröffentlichen das Datenblatt dazu), können aber erst ein Jahr später nennenswerte Stückzahlen liefern. Also den Controller nicht einfach anhand der Übersichten beim Hersteller aussuchen, sondern überprüfen, was die Händler auch wirklich liefern können.&lt;br /&gt;
* Lebenszyklus: Kein Modell wird ewig hergestellt. Deswegen sollte man überprüfen, ob der Hersteller vielleicht schon angekündigt hat, dass er ein bestimmtes Modell nicht mehr herstellen will. Die Hersteller schreiben dann z.B. &amp;quot;Mature Product (Not Recommended for New Designs)&amp;quot;. Für Neuentwicklungen oder den Einstieg sollte man folgende Modelle nicht verwenden:&lt;br /&gt;
** AVR AT90-Reihe, &lt;br /&gt;
** AVR ATMega 103(L), 161(L), 163(L), 323(L).&lt;br /&gt;
* Für alle abgekündigten AVR-Controller gibt es jedoch pin- und funktionskompatible Nachfolger. Daher kommt es nur in den seltensten Fällen zu Problemen. Probleme können nur entstehen, wenn ein Programm nur in kompilierter Version zur Verfügung steht.&lt;br /&gt;
* Dagegen sind Mikrocontroller der [[8051|MCS51-Familie]] von Intel eher für langfristige Investitionen geeignet. Der 8051 wurde 1979 (!) als erstes Mitglied dieser Familie vorgestellt. Heute gibt es bereits hunderte von 8051-Derivaten von dutzenden von Halbleiterherstellern, zum Teil auch mit weiterentwickelten Prozessorkernen. Wird ein Derivat tatsächlich mal abgekündigt, findet man bei dieser Riesenauswahl meist leicht adäquaten Ersatz.&lt;br /&gt;
&lt;br /&gt;
== Preis ==&lt;br /&gt;
Einerseits kann es lästig sein, wenn man durch die Verwendung eines kleineren Modells 2 Euro gespart hat und dann mit dessen Unzulänglichkeiten kämpft, andererseits ist ein versehentlich zerstörter Chip für 30 Euro ziemlich ärgerlich. Auch ist es oft ganz praktisch, wenn man einige Controller auf Vorrat hat.&lt;br /&gt;
&lt;br /&gt;
Zum Preis eines einzelnen Mikrocontrollers kommen noch die Kosten für die Entwicklungswerkzeuge, wie [[Compiler]], Programmübertragung und Debugging hinzu (s.u. Programmiersprache und Programmübertragung).&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
Die wichtigste Informationsquelle zu einem Mikrocontroller ist das Datenblatt. Diese gibt es heutzutage aber fast ausschließlich in Englisch. Wer damit nicht zurecht kommt, muss vorher schauen, ob es irgendwelche Tutorials oder Bücher in seiner Lieblingssprache gibt.&lt;br /&gt;
&lt;br /&gt;
Je mehr Funktionen ein Mikrocontroller beherrscht, desto umfangreicher wird auch das Datenblatt. Das führt dazu, dass bei manchen Mikrocontrollern das Datenblatt über 1000 Seiten hat. Da ist die Gefahr groß, dass ein Anfänger den Überblick verliert.&lt;br /&gt;
&lt;br /&gt;
== Unterstützung/Community ==&lt;br /&gt;
Gerade als Anfänger ist man oft auf die Hilfe anderer angewiesen. Da empfiehlt es sich, der Masse hinterherzulaufen und keine exotischen Typen zu verwenden. Im Bastlerbereich populäre Mikrocontroller-Familien sind die AVRs von Atmel und die PICs von Microchip. Für diese Architekturen gibt es z.B. im Forum dieser Internet-Seite gute und meist auch schnelle Hilfestellung bei Problemen.&lt;br /&gt;
&lt;br /&gt;
== Bauformen == &lt;br /&gt;
Neben den klassischen (bedrahteten) Bauformen setzt sich heutzutage [[SMD]] immer mehr durch. Manche Mikrocontroller sind nur noch in SMD-Bauformen erhältlich. Für SMD benutzt man üblicherweise geätzte Platinen oder Adapter/Sockel (die aber wieder extra kosten). Will man mit Lochrasterplatinen oder [[Breadboard]]s arbeiten, dann braucht man die klassischen Bauformen, z.B. PDIP. Zu beachten ist dabei, dass es PDIP oft nur bis DIP40 (also mit 40 Pins) gibt, d.h. einen Mikrocontroller mit 50 I/O-Pins kann es dann nur als SMD geben.&lt;br /&gt;
&lt;br /&gt;
Viele Mikrocontroller sind in verschiedenen Bauformen verfügbar. Nur in SMD verfügbar sind:&lt;br /&gt;
* MSP430 (Die kleinen sind mittlerweile auch als DIP erhältlich)&lt;br /&gt;
* AVR ATMega 64, 128, 169&lt;br /&gt;
&lt;br /&gt;
In der klassischen (wenn auch in der Anzahl der verfügbaren IO-Pins limitiert) PDIP Bauform gibt es unter anderem:&lt;br /&gt;
* AVR ATMega 8, 16, 32, 64&lt;br /&gt;
* viele 8051-Derivate, z.B. Atmel 89S8252&lt;br /&gt;
&lt;br /&gt;
== Spannung ==&lt;br /&gt;
Während früher die meisten Mikrocontroller und die gesamte Peripherie mit 5V liefen, so gibt es heute auch alle möglichen anderen Varianten. Zu beachten ist:&lt;br /&gt;
* Controller und Peripherie müssen zusammenpassen. Man kann nicht einfach (ohne weitere Vorkehrungen) ein 3,3V-RAM an einen 5V-Controller anschließen und umgekehrt.&lt;br /&gt;
* Manche Controller besitzen, obwohl sie intern mit einer anderen Spannung arbeiten, 5V-kompatible IO-Pins (Beispiel: [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]]).&lt;br /&gt;
* Manche Controller brauchen zwei verschiedene Spannungen. Dies ist aber relativ selten, z.B. bei den [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]].&lt;br /&gt;
&lt;br /&gt;
* Billig-Netzteile liefern im Leerlauf manchmal deutlich mehr Spannung als angegeben, ein [[Standardbauelemente|Spannungsregler]] (z.B. 78xx) ist also Pflicht!&lt;br /&gt;
* Bei Batterien und Akkus sinkt die Spannung ab, wenn sie leerer werden. Braucht der Controller z.B. mindestens 2,7V, dann wird man mit zwei 1,5V-Batterien nicht lange Freude haben (außer man benutzt spezielle Schaltregler).&lt;br /&gt;
&lt;br /&gt;
== Stromverbrauch ==&lt;br /&gt;
Im Vergleich zu PC-Prozessoren (Pentium, Athlon usw.) brauchen Mikrocontroller relativ wenig Strom. Will man sie allerdings mit Batterien betreiben, dann wird der Stromverbrauch plötzlich doch wichtig. Die meisten Mikrocontroller besitzen hierfür Stromsparmodi, mit denen man den Controller teilweise abschalten kann. Für einen extrem geringen Stromverbrauch sind z.B. die [[MSP430]]-Controller optimiert.&lt;br /&gt;
&lt;br /&gt;
Der Stromverbrauch hängt auch stark vom Takt und der Versorgungsspannung ab. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Frequenz !! ATMega8 (2.7V) !! ATMega8 (5.0V) !! PIC16LF84A(2.0V) !! PIC16F84A (5.5V)&lt;br /&gt;
|-&lt;br /&gt;
! 32KHz &lt;br /&gt;
|62µA||80µA||45µA||-&lt;br /&gt;
|-&lt;br /&gt;
! 100KHz &lt;br /&gt;
|0,3mA||0,5mA||-||-&lt;br /&gt;
|-&lt;br /&gt;
!1MHz, 2MHz*&lt;br /&gt;
|1,5mA ||2,3mA||4mA||-&lt;br /&gt;
|-&lt;br /&gt;
!8MHz, 4MHz*&lt;br /&gt;
|5mA   ||7/15mA**||-||4.5mA&lt;br /&gt;
|-&lt;br /&gt;
!16MHz, 20MHz*&lt;br /&gt;
| -    ||20mA||-||20mA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[*] Abweichende Taktangabe für PIC16*F84A, da hier keine entsprechenden Werte für die Frequenzen des ATmega8 im Datenblatt (PIC16F84A Data Sheet, Microchip 2001, 35007b.pdf) vorliegen.&lt;br /&gt;
&lt;br /&gt;
[**] Angaben sind in der Folge Idle/Active (Quelle: Atmel, ATmega8/L, doc2486.pdf).&lt;br /&gt;
&lt;br /&gt;
== Takt/Geschwindigkeit ==&lt;br /&gt;
Einerseits wünscht man sich oft einen möglichst schnellen Controller, insbesondere als Anfänger, wenn man effiziente Lösungen noch nicht so kennt, andererseits schlägt sich ein hoher Takt auch im Stromverbrauch und im Preis nieder. Man sollte sich dabei nicht von den hohen Taktraten der PC-Prozessoren irritieren lassen. Für viele Anwendungen reicht 1-MHz-Takt völlig aus.&lt;br /&gt;
&lt;br /&gt;
Bei einem Geschwindigkeitsvergleich sollte man beachten, dass man nicht einfach den Takt vergleichen kann: &lt;br /&gt;
* Während manche Controller 12 Takte für einen Befehl brauchen (z.B. die Original-[[8051]]), kommen andere mit einem Takt pro Befehl aus (z.B. [[AVR]]).&lt;br /&gt;
* Manche Controller unterstützen gewisse Operationen hardwareseitig, die auf anderen Controllern in Software nachgebildet werden muss. Beispiele sind z.B. Multiplikation und Division. Wer in einer Hochsprache programmiert merkt davon nicht viel, da es dort die Befehle sowieso zur Verfügung stehen, aber sie brauchen auf einem Controller ohne Hardwareunterstützung eben deutlich länger. &lt;br /&gt;
* Die Datenbus- bzw. Registerbreite spielt eine wichtige Rolle, weil man z.B. für eine 16-Bit-Addition auf einer 8-Bit-CPU zwei Befehle und auf einer 16-Bit-CPU nur einen Befehl braucht.&lt;br /&gt;
&lt;br /&gt;
== Speicher ==&lt;br /&gt;
Während früher oft nur die [[Register]] im Mikrocontroller waren, und der gesamte restliche Speicher extern angebunden werden musste, so sind heute die Speicher oft komplett im Mikrocontroller integriert. Das bedeutet aber teilweise auch, dass man sie nicht erweitern kann. Wichtig ist dabei u.a. die Größe des Programmspeichers (meist ein [[Flash-ROM]]) und das [[RAM#SRAM|SRAM]]. Fehlt letzteres, dann kann es mit der Compilerunterstützung schwierig werden.&lt;br /&gt;
&lt;br /&gt;
Zu unterscheiden sind hier außerdem Controller in [[Von Neumann-Architektur|Von-Neumann-Architektur]] und [[Harvard-Architektur]]. Bei letzterer liegen Programmspeicher (ROM) und Datenspeicher (RAM) in getrennten Speicherbereichen; dies hat den Nachteil, dass für den Zugriff auf den Programmspeicher spezielle Befehle notwendig sind (was die Verwendung von im ROM abgelegten Daten in C-Compilern ziemlich umständlich macht), und dass man keine Programmteile direkt aus dem Datenspeicher ausführen kann.&lt;br /&gt;
&lt;br /&gt;
== Onboard-Peripherie ==&lt;br /&gt;
Mikrocontroller haben meist eine ganze Menge Funktionen integriert, z.B. [[AD-Wandler]], [[I²C]]-Bus, [[SPI]], [[PWM]], [[RS-232]] usw. usf. Der Vorteil liegt darin, dass der Controller damit mehrere Dinge gleichzeitig machen kann. Dadurch steigt zum einen die Gesamtleistung des Controllers, zum anderen sind viele Dinge zeitkritisch, und die Programmierung ist deutlich einfacher, wenn man zehn zeitkritische Dinge gleichzeitig erledigen muss.&lt;br /&gt;
&lt;br /&gt;
== Störfestigkeit ==&lt;br /&gt;
Eigentlich ein wichtiges Thema, andererseits findet man dazu nur sehr wenig Informationen. Bekannt ist beispielsweise, dass bei der [[AVR]]-Familie die ATmegas deutlich störfester sind als die alten AT90S. &lt;br /&gt;
&lt;br /&gt;
== Programmiersprachen ==&lt;br /&gt;
Den direktesten Zugriff auf die &amp;quot;Innereien&amp;quot; eines Prozessors hat man mit [[Assembler]]. Dies ist jedoch gleichzeitig - zumindest auf den ersten Blick - die &amp;quot;abschreckendste&amp;quot; Sprache, denn sie erfordert einen hohen Lernaufwand. Aufgrund stark unterschiedlicher Befehlssätze verschiedener Controllerfamilien ist das Gelernte nie 1-zu-1 übertragbar und meist nur direkt auf einen einzigen Prozessor oder allenfalls auf eine Familie &amp;quot;verwandter&amp;quot; Produkte anwendbar. Dennoch kann man sich mit einiger Erfahrung recht schnell in einen anderen Befehlssatz einarbeiten. In bestimmten Bereichen oder Teilen eines Projekts wird die Verwendung von Assembler dennoch unabdingbar sein. (Diese Teile mögen projektabhängig zwischen 100% oder auch nur deutlich unter 1% umfassen.)&lt;br /&gt;
&lt;br /&gt;
Die Auswahl der richtigen Programmiersprache hängt auch stark vom geplanten Einsatzzweck ab. Ein Elektrotechnik-Student, der sich für sein späteres Berufsleben vorbereiten möchte, sollte sich mit C und Assembler befassen. Wer dagegen gar nicht vorhat sich allzu tief einzuarbeiten und sowieso schon Basic oder Pascal kann, der sollte zu diesen Sprachen greifen.&lt;br /&gt;
&lt;br /&gt;
Für einige Controllerfamilien (z.B. AVR, ARM, MSP430) gibt es eine Portierung des kostenlosen [[GCC|GNU-C-Compilers]], wodurch C auch im Hobby-Bereich stark vertreten ist und es auch viele Programmierbeispiele dafür gibt.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Bei der Fehlerbeseitigung trennen sich Profi von Amateur und es kann richtig teuer werden. Genau hier haben die Hersteller von Mikrocontrollern und/oder Compilern eine Möglichkeit gefunden den Gelegenheitsprogrammierer abzuweisen und nur den zahlenden Profi vorzulassen.&lt;br /&gt;
&lt;br /&gt;
Die preisgünstigste aber auch unkomfortabelste Art des Debuggings ist der Einbau von Testcode in das Programm. Dieser Testcode informiert den Programmierer über erreichte Programmpunkte und dabei aufgetretene Datenwerte. Die Ausgabe erfolgt per optisch/akustischer Anzeige oder serieller Schnittstelle. Der Nachteil dieser Methode liegt in ihrem Zeitaufwand. Für jedes Problem muss ein kurzes Stück Testcode erdacht und in das Programm eingefügt werden. Danach wird das Programm kompiliert/assembliert und in den Flashspeicher des Mikrocontrollers gebrannt. Zu guter Letzt muss das Programm von Begin an durchlaufen und mit etwas Glück liefert der Testcode Informationen über das Problem.&lt;br /&gt;
&lt;br /&gt;
Deutlich effektiver ist die Fehlersuche mittels einer in die PC-Entwicklungsumgebung integrierten Debugger Software. Üblicherweise besteht diese Software aus mehreren Fenstern zur Anzeige folgender Informationen:&lt;br /&gt;
&lt;br /&gt;
* Programm- und Datenspeicher des Mikrocontrollers.&lt;br /&gt;
* Arbeits- und Konfigurationsregister des Mikrocontrollers.&lt;br /&gt;
* Programm Quellcode in Hochsprache (z.B. C) und/oder Assembler.&lt;br /&gt;
* Werte von Programm Variablen.&lt;br /&gt;
&lt;br /&gt;
Ausgehend vom Quellcode/Assembler-Fenster kann man den Programmcode auf das Zielsystem laden, den Programmlauf starten und an beliebigen Stellen stoppen, das Programm zeilenweise oder wiederholend abarbeiten, Variablen/Speicher/Register anzeigen und auch verändern. Diese Vorgänge werden bei modernen Debuggern mit wenigen Funktionstasten und Kontextmenü gesteuert. Angemerkt sei, Debugging einer Hochsprache wie C funktioniert nur richtig wenn die Codeoptimierung des Compilers deaktiviert ist. Diese Bedingung bringt es mit sich, dass für die Entwicklungsphase bis zu 30% mehr Programmspeicher benötigt werden.&lt;br /&gt;
&lt;br /&gt;
Der Programmlauf kann in einem Software-Simulator oder direkt auf dem Mikrocontroller erfolgen. Leider können Simulatoren weder die Signale der Controller Umgebung noch Interrupts realistisch nachahmen. Hier hilft nur In-System Debugging direkt auf dem Zielsystem.&lt;br /&gt;
&lt;br /&gt;
Für das In-System Debugging wird der Ziel-Mikrocontroller mit seiner In-Circuit Debugging Hardware benutzt. Diese integrierte Hardware kommuniziert über teils genormte Schnittstellen mit der Debugger Software auf dem PC. Als Verbindungsglied dient ein Kabel mit mehr oder weniger komplexer Elektronik. Diese Elektronik, das fehlende Wissen um ihre Funktion und die teils eingebaute Donglefunktion verhindern preisgünstigen Nachbau und machen ihren Hersteller sicher vor unautorisierter Benutzung der Entwicklungsumgebung.&lt;br /&gt;
&lt;br /&gt;
Bei der Vielzahl von Controller- und Compiler-Herstellen ist es kaum möglich einen Überblick über die Debugger Hardware/Software zu geben. Hier nur einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== [http://www.atmel.com/ Atmel] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2737 AVR JTAG ICE] Clone (wenige ATmega Typen)&lt;br /&gt;
| ~ 35€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891 AVR Dragon] (Debugging &amp;lt;= 32kB)&lt;br /&gt;
| ~ 55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.keeelectronics.com/mkii.htm AVR JTAG ICE MKII - CN]&lt;br /&gt;
| ~ 85$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353 AVR JTAG ICE MKII] / Clone&lt;br /&gt;
| ~ 280€/140$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4279 AVR ONE!]&lt;br /&gt;
| ~ 550€&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
[http://atmel.com/products/avr32/default.asp AVR32 Controller (32-Bit)] können mit Atmels freiem [http://atmel.com/dyn/products/tools_card.asp?tool_id=4116 AVR32 Studio], basierend auf der [http://www.eclipse.org/ Eclipse IDE], programmiert und debugt werden. Die IDE bedient sich dabei der [http://atmel.com/dyn/products/tools_card.asp?tool_id=4118 AVR32 GNU Toolchain].&lt;br /&gt;
&lt;br /&gt;
Der Debugger für [http://atmel.com/products/avr/default.asp AVR 8-Bit] RISC Controller ist in Atmels freie [http://atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR Studio] IDE integriert. In Verbindung mit dem GNU C++ Compiler für AVR ([http://winavr.sourceforge.net/ WinAVR]) und der integrierten Bibliothek [http://www.nongnu.org/avr-libc/ AVR Libc] ist Hochsprach-Entwicklung und -Debugging möglich.&lt;br /&gt;
&lt;br /&gt;
Der [[JTAG|AVR JTAG]] ICE Clone kann nur nachfolgende ältere ATmega Controller debuggen: ATmega16, ATmega16L, ATmega162, ATmega162L, ATmega162V, ATmega165,  ATmega165V, ATmega169, ATmega169L, ATmega169V, ATmega32, ATmega32L, ATmega323, ATmega323L, ATmega64, ATmega64L, ATmega128, ATmega128L, AT90CAN128. Trotzdem ist er ein sehr wertvolles, weil günstiges, Werkzeug wenn man die Typbeschränkung akzeptieren kann.&lt;br /&gt;
&lt;br /&gt;
Atmel [[AVR]] Dragon kann ATtiny, ATmega und AT32UC3x programmieren aber nur ATtiny und ATmega bis 32 kB Flash-Speicher Größe debuggen.&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/107070 AVR JTAG ICE MKII – CN] ist ein Produkt aus China mit der versprochenen Funktionalität eines originalen AVR JTAG ICE MKII von Atmel. Es besitzt eigenständige Elektronik und auch die aktualisierbare Firmware ist vom Original verschieden. Oftmals ist dieses Produkt beim nicht unbekannten Online-Auktionshaus zu finden.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.microchip.com/ Microchip] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en023805 MPLAB PICkit2 / PICkit2 Debug Express]&lt;br /&gt;
| ~ 30€/55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538340 MPLAB PICkit3 Debug Express]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010046&amp;amp;part=DV164005 MPLAB ICD 2] / [http://www.keeelectronics.com/icd25debugger.html Clone ICD2.5] / [http://www.sivava.com/MPLAB_ICD2.html Clone ICD2]&lt;br /&gt;
| ~ 90€/40€/40€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en537580 MPLAB ICD 3]&lt;br /&gt;
| ~ 190€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alle Typen von Microchip Debugger Hardware werden von Microchips freier [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469&amp;amp;part=SW007002 MPLAB IDE] unterstützt. Diese IDE kann mit C-Compilern verschiedener Hersteller zusammenarbeiten. Das Setup installiert keine Microchip C-Compiler sondern bietet als Option die C-Compiler von CCS und HI-TECH. Der CCS Compiler für PIC18F45k20 ist auf 2kWord Programmcode begrenzt. Die HI-TECH Compiler für PIC10/12/16, PIC18 und PIC32 haben, wenn sie als Freeware im ‚Lite mode’ arbeiten, eingeschränkte Codeoptimierung. Microchips C-Compiler für [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010014 PIC18], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535364 PIC24], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535363 dsPIC DSCs] und/oder [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2615&amp;amp;dDocName=en532454 PIC32] können zusätzlich installiert werden. In der zum freien Download bereitstehenden ‚Student Edition’ stellen sie nach 60 Tagen einen Teil der Codeoptimierung ein. Das MPLAB Setup bietet optional die Installation der, im nächsten Absatz behandelten, HI-TECH IDE ‚HI-TIDE 3’ an.&lt;br /&gt;
&lt;br /&gt;
Die Debugger Hardware ICD 2 von Microchip wird auch von der freien, auf [http://www.eclipse.org/ Eclipse] basierenden,  HI-TECH IDE [http://www.htsoft.com/downloads/demos.php#hitide ‚HI-TIDE 3’] unterstützt. Diese moderne IDE kann zusammen mit Microchips MPLAB oder separat installiert werden. Zusätzlich zu installieren sind HI-TECHs C-Compiler für die Microchip Reihen [http://www.htsoft.com/microchip/products/compilers/piccpro-modes.php PIC10/12/16], [http://www.htsoft.com/microchip/products/compilers/picc18pro-modes.php PIC18] und/oder [http://www.htsoft.com/microchip/products/compilers/pic32-modes.php PIC32]. Ihre im ‚Lite mode’ bestehende Einschränkung wurde bereits erwähnt.&lt;br /&gt;
&lt;br /&gt;
Die beiden für PICs vorhandenen IDEs von Microchip und HI-TECH bilden zusammen mit den freien C-Compilern und den preisgünstigen ICD 2 Clones eine kostengünstige Möglichkeit PIC-Code zu erstellen und zu debuggen. Die eingeschränkte Codeoptimierung ist für Amateure verschmerzbarer. Zu beachten ist, dass einige kleine PICs keine In-Circuit Debugging Hardware besitzt. Sie sind nur mit Hilfe eines kostspieligen [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538769 Header Boards] debugbar.&lt;br /&gt;
&lt;br /&gt;
=== [http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&amp;amp;tabId=140&amp;amp;familyId=342 TI MSP430] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p58_MSP430-JTAG-Parallelportkabel--MSP430-JTAG-.html MSP430 JTAG (parallel)]&lt;br /&gt;
| ~ 15€&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p63_MSP430-USB-JTAG-Adapter--MSP430-JTAG-TINY-.html MSP430-JTAG-TINY (USB)]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| TI-FET [http://focus.ti.com/docs/toolsw/folders/print/msp-fet430uif.html MSP430 USB Debugging Interface]&lt;br /&gt;
| ~ 115€&lt;br /&gt;
|-&lt;br /&gt;
| TI [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool]&lt;br /&gt;
| ~ 30€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://focus.ti.com/lit/ug/slau265/slau265.pdf Programmierung] und Debugging der MSP430 erfolgt über JTAG-Schnittstelle und in neusten Varianten (MSP430F20xx, F21x2, F22xx) über ‚Spy-Bi-Wire’ (2-wire JTAG). Die ursprüngliche JTAG-Schnittstelle benötigt 4 Signalleitungen plus Reset. Bei ‚Spy-Bi-Wire’ sind die Signalleitungen auf 2 reduziert.&lt;br /&gt;
&lt;br /&gt;
Jeder anwenderprogrammierbare MSP430 enthält einen [[Bootloader]]. Bei den Typenreihen MSP430F1xx, F2xx und F4xx befindet er sich im ROM. Bei den MSP430F6xx im Flash-Speicher.&lt;br /&gt;
&lt;br /&gt;
TI bezeichnet die Programmier- und Debugging-Hardware als Flash Emulation Tool (FET). Es existieren die Varianten ‚Parallel Port’ und USB. Die preisgünstigen parallelen Systeme beherrschen nur JTAG. Bei den USB-Systemen ist zusätzlich ‚Spy-Bi-Wire’ implementiert und man kann damit die Codeschutz Sicherung des Mikrocontrollers auslösen.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.olimex.com/dev/index.html Olimex] Produkte entsprechen in ihrer Funktion weitestgehend den TI Vorbildern und können mit jeder, die TI Werkzeuge unterstützenden, Software verwendet werden. Kleine Abweichungen bestehen bei der [http://www.olimex.com/dev/images/MSP430/SPY-BI-WIRE-CONNECTION.jpg Olimex Implementierung] der ‚Spy-Bi-Wire’ Verbindung des MSP430-JTAG-TINY.&lt;br /&gt;
&lt;br /&gt;
Das ‚MSP430 USB Stick Development Tool’ ist eine eigenständige Debugging-Hardware mit aufgestecktem eZ430-F2013 Zielsystem. Der Stick beherrscht aber nur ‚Spy-Bi-Wire’ wodurch die Anzahl der unterstützten Controller begrenzt ist. &lt;br /&gt;
&lt;br /&gt;
Als Entwicklungsumgebung stellt TI den auf der [http://www.eclipse.org/ Eclipse IDE] aufbauenden ‚Code Compose Essentials’ bereit. In der freien Version [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html ‚CCE Core Edition’] ist dieses Paket auf 16kB Code begrenzt.&lt;br /&gt;
&lt;br /&gt;
Mit der freien IDE Eclipse, dem GNU C-Compiler für MSP430, einigen Zutaten und dem Olimex Parallelport-Adapter kann man die wohl preiswerteste, unbeschränkte Entwicklungsumgebung für Mikrocontroller zusammenstellen. Es ist keine perfekte Kombination und die Installation macht einige Mühe; im Ergebnis hat man aber eine Arbeitsplattform, einschließlich Debugger, ohne unverständliche Skripte oder kryptischen Make-Files. Über diese beiden Links&lt;br /&gt;
&lt;br /&gt;
* [[Eclipse und MSPGCC unter Windows]] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009)&lt;br /&gt;
&lt;br /&gt;
findet man zwei verschiedenartige Lösungen der Installation unter Windows. Obwohl beide Varianten auf teils verschiedene Werkzeuge zurückgreifen sind sie kombinierbar und ergeben damit Spielraum für persönliche Vorlieben.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.zilog.com/ Zilog] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZUSBSC00100ZACG USB Smart Kabel]&lt;br /&gt;
| ~ 30$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZENETSC0100ZACG Ethernet Smart Kabel]&lt;br /&gt;
| ~ 70$&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die [[Zilog]] Entwicklungssysteme [http://www.zilog.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=40&amp;amp;Itemid=137 ZDS II] (C/ASM) für [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=5&amp;amp;parent_id=2 Z8 Encore!®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=6&amp;amp;parent_id=2 Z8 Encore! XP®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=7&amp;amp;parent_id=2 Z8 Encore! MC™] sowie [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=8&amp;amp;parent_id=2 ZNEO™ Z16F] Controller haben keine Beschränkungen sind aber ganz zu Unrecht in Europa kaum bekannt oder erhältlich.&lt;br /&gt;
&lt;br /&gt;
== Programmübertragung ==&lt;br /&gt;
Im Idealfall stellt sich die Frage, wie das Programm in den Mikrocontroller kommt, für den Programm-Entwickler nicht. Die Debugging-Hardware erledigt diese Aufgabe ganz unauffällig mit. Da die Umstände aber nicht immer ideal sind, muss der Entwickler manchmal auf andere Methoden zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
Früher wurden überwiegend teure und umständlich zu handhabende Programmiergeräte verwendet, mit deren Hilfe der Programmspeicher außerhalb des Zielsystems gefüllt wurde. Heute sind die meisten Mikrocontroller über verschiedene ISP-Schnittstellen oder über das [[UART]] ‚In-System’-programmierbar.&lt;br /&gt;
&lt;br /&gt;
Die ISP-Schnittstelle ist entweder als universelle Debugging- und Programmier-Schnittstelle, z.B. [[JTAG]], oder als dedizierte Programmier-Schnittstelle realisiert. Für den zweiten Fall benötigt man einen speziellen Programmier-Adapter den man, meistens in verschiedenen Ausführungen, kaufen oder selber bauen kann. Dazugehörig ist ein passendes Programmier-Programm für den PC. Spezialisierte Programmier-Adapter und –Programme werden auch gern in der laufenden Produktion eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Mikrocontroller mit integriertem [[Bootloader]] können mit der entsprechenden PC-Software direkt über den seriellen Port programmiert werden.&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40527</id>
		<title>Entscheidung Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40527"/>
		<updated>2009-11-07T14:53:19Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Verfügbarkeit */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikrocontroller]]&lt;br /&gt;
Die meisten Anfänger stellen sich die Frage, welchen [[Mikrocontroller]] sie verwenden sollen. Es gibt Dutzende Hersteller, und jeder davon hat unzählige Varianten im Angebot. Stellt man die Frage in einem Diskussionsforum, dann bekommt man viele verschiedene (sich teilweise widersprechende) Antworten. Bei der Entscheidung sollten u.a. die unten stehenden Kriterien beachtet werden. Dieser Artikel ist primär für Hobbyisten gedacht, da im professionellen Einsatz oftmals völlig andere Kriterien beachtet werden müssen. Weitere vergleichende Informationen über verschiedene Controllerfamilien gibt der Artikel: [[AVR_PIC_51-Vergleich]]&lt;br /&gt;
&lt;br /&gt;
== Verfügbarkeit ==&lt;br /&gt;
* Während man manche Mikrocontroller an jeder Straßenecke bekommt, sind andere nur in großen Stückzahlen und mit Gewerbenachweis erhältlich. Dazu einfach mal in die Kataloge der einschlägigen Privatkundenhändler schauen. Dabei auch darauf achten, dass der gewünschte Controller auch in der richtigen Bauform erhältlich ist (DIP, TQFP, MLF usw.), s.u.&lt;br /&gt;
* Ab und zu kündigen Hersteller ein neues Modell an (und veröffentlichen das Datenblatt dazu), können aber erst ein Jahr später nennenswerte Stückzahlen liefern. Also den Controller nicht einfach anhand der Übersichten beim Hersteller aussuchen, sondern überprüfen, was die Händler auch wirklich liefern können.&lt;br /&gt;
* Lebenszyklus: Kein Modell wird ewig hergestellt. Deswegen sollte man überprüfen, ob der Hersteller vielleicht schon angekündigt hat, dass er ein bestimmtes Modell nicht mehr herstellen will. Die Hersteller schreiben dann z.B. &amp;quot;Mature Product (Not Recommended for New Designs)&amp;quot;. Für Neuentwicklungen oder den Einstieg sollte man folgende Modelle nicht verwenden:&lt;br /&gt;
** AVR AT90-Reihe, &lt;br /&gt;
** AVR ATMega 103(L), 161(L), 163(L), 323(L).&lt;br /&gt;
* Für alle abgekündigten AVR-Controller gibt es jedoch pin- und funktionskompatible Nachfolger. Daher kommt es nur in den seltensten Fällen zu Problemen. Probleme können nur entstehen, wenn ein Programm nur in kompilierter Version zur Verfügung steht.&lt;br /&gt;
* Dagegen sind Mikrocontroller der [[8051|MCS51-Familie]] von Intel eher für langfristige Investitionen geeignet. Der 8051 wurde 1979 (!) als erstes Mitglied dieser Familie vorgestellt. Heute gibt es bereits hunderte von 8051-Derivaten von dutzenden von Halbleiterherstellern, zum Teil auch mit weiterentwickelten Prozessorkernen. Wird ein Derivat tatsächlich mal abgekündigt, findet man bei dieser Riesenauswahl meist leicht adäquaten Ersatz.&lt;br /&gt;
&lt;br /&gt;
== Preis ==&lt;br /&gt;
Einerseits kann es lästig sein, wenn man durch die Verwendung eines kleineren Modells 2 Euro gespart hat und dann mit dessen Unzulänglichkeiten kämpft, andererseits ist ein versehentlich zerstörter Chip für 30 Euro ziemlich ärgerlich. Auch ist es oft ganz praktisch, wenn man einige Controller auf Vorrat hat.&lt;br /&gt;
&lt;br /&gt;
Zum Preis eines einzelnen Mikrocontrollers kommen noch die Kosten für die Entwicklungswerkzeuge, wie [[Compiler]], Programmübertragung und Debugging hinzu (s.u. Programmiersprache und Programmübertragung).&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
Die wichtigste Informationsquelle zu einem Mikrocontroller ist das Datenblatt. Diese gibt es heutzutage aber fast ausschließlich in Englisch. Wer damit nicht zurecht kommt muss vorher schauen, ob es irgendwelche Tutorials oder Bücher in seiner Lieblingssprache gibt.&lt;br /&gt;
&lt;br /&gt;
Je mehr Funktionen ein Mikrocontroller beherrscht, desto umfangreicher wird auch das Datenblatt. Das führt dazu, dass bei manchen Mikrocontrollern das Datenblatt über 1000 Seiten hat. Da ist die Gefahr groß, dass ein Anfänger den Überblick verliert.&lt;br /&gt;
&lt;br /&gt;
== Unterstützung/Community ==&lt;br /&gt;
Gerade als Anfänger ist man oft auf die Hilfe anderer angewiesen. Da empfiehlt es sich, der Masse hinterherzulaufen und keine exotischen Typen zu verwenden. Im Bastlerbereich populäre Mikrocontroller-Familien sind die AVRs von Atmel und die PICs von Microchip. Für diese Architekturen gibt es z.B. im Forum dieser Internet-Seite gute und meist auch schnelle Hilfestellung bei Problemen.&lt;br /&gt;
&lt;br /&gt;
== Bauformen == &lt;br /&gt;
Neben den klassischen (bedrahteten) Bauformen setzt sich heutzutage [[SMD]] immer mehr durch. Manche Mikrocontroller sind nur noch in SMD-Bauformen erhältlich. Für SMD benutzt man üblicherweise geätzte Platinen oder Adapter/Sockel (die aber wieder extra kosten). Will man mit Lochrasterplatinen oder [[Breadboard]]s arbeiten, dann braucht man die klassischen Bauformen, z.B. PDIP. Zu beachten ist dabei, dass es PDIP oft nur bis DIP40 (also mit 40 Pins) gibt, d.h. einen Mikrocontroller mit 50 I/O-Pins kann es dann nur als SMD geben.&lt;br /&gt;
&lt;br /&gt;
Viele Mikrocontroller sind in verschiedenen Bauformen verfügbar. Nur in SMD verfügbar sind:&lt;br /&gt;
* MSP430 (Die kleinen sind mittlerweile auch als DIP erhältlich)&lt;br /&gt;
* AVR ATMega 64, 128, 169&lt;br /&gt;
&lt;br /&gt;
In der klassischen (wenn auch in der Anzahl der verfügbaren IO-Pins limitiert) PDIP Bauform gibt es unter anderem:&lt;br /&gt;
* AVR ATMega 8, 16, 32, 64&lt;br /&gt;
* viele 8051-Derivate, z.B. Atmel 89S8252&lt;br /&gt;
&lt;br /&gt;
== Spannung ==&lt;br /&gt;
Während früher die meisten Mikrocontroller und die gesamte Peripherie mit 5V liefen, so gibt es heute auch alle möglichen anderen Varianten. Zu beachten ist:&lt;br /&gt;
* Controller und Peripherie müssen zusammenpassen. Man kann nicht einfach (ohne weitere Vorkehrungen) ein 3,3V-RAM an einen 5V-Controller anschließen und umgekehrt.&lt;br /&gt;
* Manche Controller besitzen, obwohl sie intern mit einer anderen Spannung arbeiten, 5V-kompatible IO-Pins (Beispiel: [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]]).&lt;br /&gt;
* Manche Controller brauchen zwei verschiedene Spannungen. Dies ist aber relativ selten, z.B. bei den [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]].&lt;br /&gt;
&lt;br /&gt;
* Billig-Netzteile liefern im Leerlauf manchmal deutlich mehr Spannung als angegeben, ein [[Standardbauelemente|Spannungsregler]] (z.B. 78xx) ist also Pflicht!&lt;br /&gt;
* Bei Batterien und Akkus sinkt die Spannung ab, wenn sie leerer werden. Braucht der Controller z.B. mindestens 2,7V, dann wird man mit zwei 1,5V-Batterien nicht lange Freude haben (außer man benutzt spezielle Schaltregler).&lt;br /&gt;
&lt;br /&gt;
== Stromverbrauch ==&lt;br /&gt;
Im Vergleich zu PC-Prozessoren (Pentium, Athlon usw.) brauchen Mikrocontroller relativ wenig Strom. Will man sie allerdings mit Batterien betreiben, dann wird der Stromverbrauch plötzlich doch wichtig. Die meisten Mikrocontroller besitzen hierfür Stromsparmodi, mit denen man den Controller teilweise abschalten kann. Für einen extrem geringen Stromverbrauch sind z.B. die [[MSP430]]-Controller optimiert.&lt;br /&gt;
&lt;br /&gt;
Der Stromverbrauch hängt auch stark vom Takt und der Versorgungsspannung ab. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Frequenz !! ATMega8 (2.7V) !! ATMega8 (5.0V) !! PIC16LF84A(2.0V) !! PIC16F84A (5.5V)&lt;br /&gt;
|-&lt;br /&gt;
! 32KHz &lt;br /&gt;
|62µA||80µA||45µA||-&lt;br /&gt;
|-&lt;br /&gt;
! 100KHz &lt;br /&gt;
|0,3mA||0,5mA||-||-&lt;br /&gt;
|-&lt;br /&gt;
!1MHz, 2MHz*&lt;br /&gt;
|1,5mA ||2,3mA||4mA||-&lt;br /&gt;
|-&lt;br /&gt;
!8MHz, 4MHz*&lt;br /&gt;
|5mA   ||7/15mA**||-||4.5mA&lt;br /&gt;
|-&lt;br /&gt;
!16MHz, 20MHz*&lt;br /&gt;
| -    ||20mA||-||20mA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[*] Abweichende Taktangabe für PIC16*F84A, da hier keine entsprechenden Werte für die Frequenzen des ATmega8 im Datenblatt (PIC16F84A Data Sheet, Microchip 2001, 35007b.pdf) vorliegen.&lt;br /&gt;
&lt;br /&gt;
[**] Angaben sind in der Folge Idle/Active (Quelle: Atmel, ATmega8/L, doc2486.pdf).&lt;br /&gt;
&lt;br /&gt;
== Takt/Geschwindigkeit ==&lt;br /&gt;
Einerseits wünscht man sich oft einen möglichst schnellen Controller, insbesondere als Anfänger, wenn man effiziente Lösungen noch nicht so kennt, andererseits schlägt sich ein hoher Takt auch im Stromverbrauch und im Preis nieder. Man sollte sich dabei nicht von den hohen Taktraten der PC-Prozessoren irritieren lassen. Für viele Anwendungen reicht 1-MHz-Takt völlig aus.&lt;br /&gt;
&lt;br /&gt;
Bei einem Geschwindigkeitsvergleich sollte man beachten, dass man nicht einfach den Takt vergleichen kann: &lt;br /&gt;
* Während manche Controller 12 Takte für einen Befehl brauchen (z.B. die Original-[[8051]]), kommen andere mit einem Takt pro Befehl aus (z.B. [[AVR]]).&lt;br /&gt;
* Manche Controller unterstützen gewisse Operationen hardwareseitig, die auf anderen Controllern in Software nachgebildet werden muss. Beispiele sind z.B. Multiplikation und Division. Wer in einer Hochsprache programmiert merkt davon nicht viel, da es dort die Befehle sowieso zur Verfügung stehen, aber sie brauchen auf einem Controller ohne Hardwareunterstützung eben deutlich länger. &lt;br /&gt;
* Die Datenbus- bzw. Registerbreite spielt eine wichtige Rolle, weil man z.B. für eine 16-Bit-Addition auf einer 8-Bit-CPU zwei Befehle und auf einer 16-Bit-CPU nur einen Befehl braucht.&lt;br /&gt;
&lt;br /&gt;
== Speicher ==&lt;br /&gt;
Während früher oft nur die [[Register]] im Mikrocontroller waren, und der gesamte restliche Speicher extern angebunden werden musste, so sind heute die Speicher oft komplett im Mikrocontroller integriert. Das bedeutet aber teilweise auch, dass man sie nicht erweitern kann. Wichtig ist dabei u.a. die Größe des Programmspeichers (meist ein [[Flash-ROM]]) und das [[RAM#SRAM|SRAM]]. Fehlt letzteres, dann kann es mit der Compilerunterstützung schwierig werden.&lt;br /&gt;
&lt;br /&gt;
Zu unterscheiden sind hier außerdem Controller in [[Von Neumann-Architektur|Von-Neumann-Architektur]] und [[Harvard-Architektur]]. Bei letzterer liegen Programmspeicher (ROM) und Datenspeicher (RAM) in getrennten Speicherbereichen; dies hat den Nachteil, dass für den Zugriff auf den Programmspeicher spezielle Befehle notwendig sind (was die Verwendung von im ROM abgelegten Daten in C-Compilern ziemlich umständlich macht), und dass man keine Programmteile direkt aus dem Datenspeicher ausführen kann.&lt;br /&gt;
&lt;br /&gt;
== Onboard-Peripherie ==&lt;br /&gt;
Mikrocontroller haben meist eine ganze Menge Funktionen integriert, z.B. [[AD-Wandler]], [[I²C]]-Bus, [[SPI]], [[PWM]], [[RS-232]] usw. usf. Der Vorteil liegt darin, dass der Controller damit mehrere Dinge gleichzeitig machen kann. Dadurch steigt zum einen die Gesamtleistung des Controllers, zum anderen sind viele Dinge zeitkritisch, und die Programmierung ist deutlich einfacher, wenn man zehn zeitkritische Dinge gleichzeitig erledigen muss.&lt;br /&gt;
&lt;br /&gt;
== Störfestigkeit ==&lt;br /&gt;
Eigentlich ein wichtiges Thema, andererseits findet man dazu nur sehr wenig Informationen. Bekannt ist beispielsweise, dass bei der [[AVR]]-Familie die ATmegas deutlich störfester sind als die alten AT90S. &lt;br /&gt;
&lt;br /&gt;
== Programmiersprachen ==&lt;br /&gt;
Den direktesten Zugriff auf die &amp;quot;Innereien&amp;quot; eines Prozessors hat man mit [[Assembler]]. Dies ist jedoch gleichzeitig - zumindest auf den ersten Blick - die &amp;quot;abschreckendste&amp;quot; Sprache, denn sie erfordert einen hohen Lernaufwand. Aufgrund stark unterschiedlicher Befehlssätze verschiedener Controllerfamilien ist das Gelernte nie 1-zu-1 übertragbar und meist nur direkt auf einen einzigen Prozessor oder allenfalls auf eine Familie &amp;quot;verwandter&amp;quot; Produkte anwendbar. Dennoch kann man sich mit einiger Erfahrung recht schnell in einen anderen Befehlssatz einarbeiten. In bestimmten Bereichen oder Teilen eines Projekts wird die Verwendung von Assembler dennoch unabdingbar sein. (Diese Teile mögen projektabhängig zwischen 100% oder auch nur deutlich unter 1% umfassen.)&lt;br /&gt;
&lt;br /&gt;
Die Auswahl der richtigen Programmiersprache hängt auch stark vom geplanten Einsatzzweck ab. Ein Elektrotechnik-Student, der sich für sein späteres Berufsleben vorbereiten möchte, sollte sich mit C und Assembler befassen. Wer dagegen gar nicht vorhat sich allzu tief einzuarbeiten und sowieso schon Basic oder Pascal kann, der sollte zu diesen Sprachen greifen.&lt;br /&gt;
&lt;br /&gt;
Für einige Controllerfamilien (z.B. AVR, ARM, MSP430) gibt es eine Portierung des kostenlosen [[GCC|GNU-C-Compilers]], wodurch C auch im Hobby-Bereich stark vertreten ist und es auch viele Programmierbeispiele dafür gibt.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Bei der Fehlerbeseitigung trennen sich Profi von Amateur und es kann richtig teuer werden. Genau hier haben die Hersteller von Mikrocontrollern und/oder Compilern eine Möglichkeit gefunden den Gelegenheitsprogrammierer abzuweisen und nur den zahlenden Profi vorzulassen.&lt;br /&gt;
&lt;br /&gt;
Die preisgünstigste aber auch unkomfortabelste Art des Debuggings ist der Einbau von Testcode in das Programm. Dieser Testcode informiert den Programmierer über erreichte Programmpunkte und dabei aufgetretene Datenwerte. Die Ausgabe erfolgt per optisch/akustischer Anzeige oder serieller Schnittstelle. Der Nachteil dieser Methode liegt in ihrem Zeitaufwand. Für jedes Problem muss ein kurzes Stück Testcode erdacht und in das Programm eingefügt werden. Danach wird das Programm kompiliert/assembliert und in den Flashspeicher des Mikrocontrollers gebrannt. Zu guter Letzt muss das Programm von Begin an durchlaufen und mit etwas Glück liefert der Testcode Informationen über das Problem.&lt;br /&gt;
&lt;br /&gt;
Deutlich effektiver ist die Fehlersuche mittels einer in die PC-Entwicklungsumgebung integrierten Debugger Software. Üblicherweise besteht diese Software aus mehreren Fenstern zur Anzeige folgender Informationen:&lt;br /&gt;
&lt;br /&gt;
* Programm- und Datenspeicher des Mikrocontrollers.&lt;br /&gt;
* Arbeits- und Konfigurationsregister des Mikrocontrollers.&lt;br /&gt;
* Programm Quellcode in Hochsprache (z.B. C) und/oder Assembler.&lt;br /&gt;
* Werte von Programm Variablen.&lt;br /&gt;
&lt;br /&gt;
Ausgehend vom Quellcode/Assembler-Fenster kann man den Programmcode auf das Zielsystem laden, den Programmlauf starten und an beliebigen Stellen stoppen, das Programm zeilenweise oder wiederholend abarbeiten, Variablen/Speicher/Register anzeigen und auch verändern. Diese Vorgänge werden bei modernen Debuggern mit wenigen Funktionstasten und Kontextmenü gesteuert. Angemerkt sei, Debugging einer Hochsprache wie C funktioniert nur richtig wenn die Codeoptimierung des Compilers deaktiviert ist. Diese Bedingung bringt es mit sich, dass für die Entwicklungsphase bis zu 30% mehr Programmspeicher benötigt werden.&lt;br /&gt;
&lt;br /&gt;
Der Programmlauf kann in einem Software-Simulator oder direkt auf dem Mikrocontroller erfolgen. Leider können Simulatoren weder die Signale der Controller Umgebung noch Interrupts realistisch nachahmen. Hier hilft nur In-System Debugging direkt auf dem Zielsystem.&lt;br /&gt;
&lt;br /&gt;
Für das In-System Debugging wird der Ziel-Mikrocontroller mit seiner In-Circuit Debugging Hardware benutzt. Diese integrierte Hardware kommuniziert über teils genormte Schnittstellen mit der Debugger Software auf dem PC. Als Verbindungsglied dient ein Kabel mit mehr oder weniger komplexer Elektronik. Diese Elektronik, das fehlende Wissen um ihre Funktion und die teils eingebaute Donglefunktion verhindern preisgünstigen Nachbau und machen ihren Hersteller sicher vor unautorisierter Benutzung der Entwicklungsumgebung.&lt;br /&gt;
&lt;br /&gt;
Bei der Vielzahl von Controller- und Compiler-Herstellen ist es kaum möglich einen Überblick über die Debugger Hardware/Software zu geben. Hier nur einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== [http://www.atmel.com/ Atmel] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2737 AVR JTAG ICE] Clone (wenige ATmega Typen)&lt;br /&gt;
| ~ 35€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891 AVR Dragon] (Debugging &amp;lt;= 32kB)&lt;br /&gt;
| ~ 55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.keeelectronics.com/mkii.htm AVR JTAG ICE MKII - CN]&lt;br /&gt;
| ~ 85$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353 AVR JTAG ICE MKII] / Clone&lt;br /&gt;
| ~ 280€/140$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4279 AVR ONE!]&lt;br /&gt;
| ~ 550€&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
[http://atmel.com/products/avr32/default.asp AVR32 Controller (32-Bit)] können mit Atmels freiem [http://atmel.com/dyn/products/tools_card.asp?tool_id=4116 AVR32 Studio], basierend auf der [http://www.eclipse.org/ Eclipse IDE], programmiert und debugt werden. Die IDE bedient sich dabei der [http://atmel.com/dyn/products/tools_card.asp?tool_id=4118 AVR32 GNU Toolchain].&lt;br /&gt;
&lt;br /&gt;
Der Debugger für [http://atmel.com/products/avr/default.asp AVR 8-Bit] RISC Controller ist in Atmels freie [http://atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR Studio] IDE integriert. In Verbindung mit dem GNU C++ Compiler für AVR ([http://winavr.sourceforge.net/ WinAVR]) und der integrierten Bibliothek [http://www.nongnu.org/avr-libc/ AVR Libc] ist Hochsprach-Entwicklung und -Debugging möglich.&lt;br /&gt;
&lt;br /&gt;
Der [[JTAG|AVR JTAG]] ICE Clone kann nur nachfolgende ältere ATmega Controller debuggen: ATmega16, ATmega16L, ATmega162, ATmega162L, ATmega162V, ATmega165,  ATmega165V, ATmega169, ATmega169L, ATmega169V, ATmega32, ATmega32L, ATmega323, ATmega323L, ATmega64, ATmega64L, ATmega128, ATmega128L, AT90CAN128. Trotzdem ist er ein sehr wertvolles, weil günstiges, Werkzeug wenn man die Typbeschränkung akzeptieren kann.&lt;br /&gt;
&lt;br /&gt;
Atmel [[AVR]] Dragon kann ATtiny, ATmega und AT32UC3x programmieren aber nur ATtiny und ATmega bis 32 kB Flash-Speicher Größe debuggen.&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/107070 AVR JTAG ICE MKII – CN] ist ein Produkt aus China mit der versprochenen Funktionalität eines originalen AVR JTAG ICE MKII von Atmel. Es besitzt eigenständige Elektronik und auch die aktualisierbare Firmware ist vom Original verschieden. Oftmals ist dieses Produkt beim nicht unbekannten Online-Auktionshaus zu finden.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.microchip.com/ Microchip] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en023805 MPLAB PICkit2 / PICkit2 Debug Express]&lt;br /&gt;
| ~ 30€/55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538340 MPLAB PICkit3 Debug Express]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010046&amp;amp;part=DV164005 MPLAB ICD 2] / [http://www.keeelectronics.com/icd25debugger.html Clone ICD2.5] / [http://www.sivava.com/MPLAB_ICD2.html Clone ICD2]&lt;br /&gt;
| ~ 90€/40€/40€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en537580 MPLAB ICD 3]&lt;br /&gt;
| ~ 190€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alle Typen von Microchip Debugger Hardware werden von Microchips freier [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469&amp;amp;part=SW007002 MPLAB IDE] unterstützt. Diese IDE kann mit C-Compilern verschiedener Hersteller zusammenarbeiten. Das Setup installiert keine Microchip C-Compiler sondern bietet als Option die C-Compiler von CCS und HI-TECH. Der CCS Compiler für PIC18F45k20 ist auf 2kWord Programmcode begrenzt. Die HI-TECH Compiler für PIC10/12/16, PIC18 und PIC32 haben, wenn sie als Freeware im ‚Lite mode’ arbeiten, eingeschränkte Codeoptimierung. Microchips C-Compiler für [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010014 PIC18], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535364 PIC24], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535363 dsPIC DSCs] und/oder [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2615&amp;amp;dDocName=en532454 PIC32] können zusätzlich installiert werden. In der zum freien Download bereitstehenden ‚Student Edition’ stellen sie nach 60 Tagen einen Teil der Codeoptimierung ein. Das MPLAB Setup bietet optional die Installation der, im nächsten Absatz behandelten, HI-TECH IDE ‚HI-TIDE 3’ an.&lt;br /&gt;
&lt;br /&gt;
Die Debugger Hardware ICD 2 von Microchip wird auch von der freien, auf [http://www.eclipse.org/ Eclipse] basierenden,  HI-TECH IDE [http://www.htsoft.com/downloads/demos.php#hitide ‚HI-TIDE 3’] unterstützt. Diese moderne IDE kann zusammen mit Microchips MPLAB oder separat installiert werden. Zusätzlich zu installieren sind HI-TECHs C-Compiler für die Microchip Reihen [http://www.htsoft.com/microchip/products/compilers/piccpro-modes.php PIC10/12/16], [http://www.htsoft.com/microchip/products/compilers/picc18pro-modes.php PIC18] und/oder [http://www.htsoft.com/microchip/products/compilers/pic32-modes.php PIC32]. Ihre im ‚Lite mode’ bestehende Einschränkung wurde bereits erwähnt.&lt;br /&gt;
&lt;br /&gt;
Die beiden für PICs vorhandenen IDEs von Microchip und HI-TECH bilden zusammen mit den freien C-Compilern und den preisgünstigen ICD 2 Clones eine kostengünstige Möglichkeit PIC-Code zu erstellen und zu debuggen. Die eingeschränkte Codeoptimierung ist für Amateure verschmerzbarer. Zu beachten ist, dass einige kleine PICs keine In-Circuit Debugging Hardware besitzt. Sie sind nur mit Hilfe eines kostspieligen [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538769 Header Boards] debugbar.&lt;br /&gt;
&lt;br /&gt;
=== [http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&amp;amp;tabId=140&amp;amp;familyId=342 TI MSP430] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p58_MSP430-JTAG-Parallelportkabel--MSP430-JTAG-.html MSP430 JTAG (parallel)]&lt;br /&gt;
| ~ 15€&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p63_MSP430-USB-JTAG-Adapter--MSP430-JTAG-TINY-.html MSP430-JTAG-TINY (USB)]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| TI-FET [http://focus.ti.com/docs/toolsw/folders/print/msp-fet430uif.html MSP430 USB Debugging Interface]&lt;br /&gt;
| ~ 115€&lt;br /&gt;
|-&lt;br /&gt;
| TI [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool]&lt;br /&gt;
| ~ 30€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://focus.ti.com/lit/ug/slau265/slau265.pdf Programmierung] und Debugging der MSP430 erfolgt über JTAG-Schnittstelle und in neusten Varianten (MSP430F20xx, F21x2, F22xx) über ‚Spy-Bi-Wire’ (2-wire JTAG). Die ursprüngliche JTAG-Schnittstelle benötigt 4 Signalleitungen plus Reset. Bei ‚Spy-Bi-Wire’ sind die Signalleitungen auf 2 reduziert.&lt;br /&gt;
&lt;br /&gt;
Jeder anwenderprogrammierbare MSP430 enthält einen [[Bootloader]]. Bei den Typenreihen MSP430F1xx, F2xx und F4xx befindet er sich im ROM. Bei den MSP430F6xx im Flash-Speicher.&lt;br /&gt;
&lt;br /&gt;
TI bezeichnet die Programmier- und Debugging-Hardware als Flash Emulation Tool (FET). Es existieren die Varianten ‚Parallel Port’ und USB. Die preisgünstigen parallelen Systeme beherrschen nur JTAG. Bei den USB-Systemen ist zusätzlich ‚Spy-Bi-Wire’ implementiert und man kann damit die Codeschutz Sicherung des Mikrocontrollers auslösen.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.olimex.com/dev/index.html Olimex] Produkte entsprechen in ihrer Funktion weitestgehend den TI Vorbildern und können mit jeder, die TI Werkzeuge unterstützenden, Software verwendet werden. Kleine Abweichungen bestehen bei der [http://www.olimex.com/dev/images/MSP430/SPY-BI-WIRE-CONNECTION.jpg Olimex Implementierung] der ‚Spy-Bi-Wire’ Verbindung des MSP430-JTAG-TINY.&lt;br /&gt;
&lt;br /&gt;
Das ‚MSP430 USB Stick Development Tool’ ist eine eigenständige Debugging-Hardware mit aufgestecktem eZ430-F2013 Zielsystem. Der Stick beherrscht aber nur ‚Spy-Bi-Wire’ wodurch die Anzahl der unterstützten Controller begrenzt ist. &lt;br /&gt;
&lt;br /&gt;
Als Entwicklungsumgebung stellt TI den auf der [http://www.eclipse.org/ Eclipse IDE] aufbauenden ‚Code Compose Essentials’ bereit. In der freien Version [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html ‚CCE Core Edition’] ist dieses Paket auf 16kB Code begrenzt.&lt;br /&gt;
&lt;br /&gt;
Mit der freien IDE Eclipse, dem GNU C-Compiler für MSP430, einigen Zutaten und dem Olimex Parallelport-Adapter kann man die wohl preiswerteste, unbeschränkte Entwicklungsumgebung für Mikrocontroller zusammenstellen. Es ist keine perfekte Kombination und die Installation macht einige Mühe; im Ergebnis hat man aber eine Arbeitsplattform, einschließlich Debugger, ohne unverständliche Skripte oder kryptischen Make-Files. Über diese beiden Links&lt;br /&gt;
&lt;br /&gt;
* [[Eclipse und MSPGCC unter Windows]] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009)&lt;br /&gt;
&lt;br /&gt;
findet man zwei verschiedenartige Lösungen der Installation unter Windows. Obwohl beide Varianten auf teils verschiedene Werkzeuge zurückgreifen sind sie kombinierbar und ergeben damit Spielraum für persönliche Vorlieben.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.zilog.com/ Zilog] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZUSBSC00100ZACG USB Smart Kabel]&lt;br /&gt;
| ~ 30$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZENETSC0100ZACG Ethernet Smart Kabel]&lt;br /&gt;
| ~ 70$&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die [[Zilog]] Entwicklungssysteme [http://www.zilog.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=40&amp;amp;Itemid=137 ZDS II] (C/ASM) für [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=5&amp;amp;parent_id=2 Z8 Encore!®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=6&amp;amp;parent_id=2 Z8 Encore! XP®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=7&amp;amp;parent_id=2 Z8 Encore! MC™] sowie [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=8&amp;amp;parent_id=2 ZNEO™ Z16F] Controller haben keine Beschränkungen sind aber ganz zu Unrecht in Europa kaum bekannt oder erhältlich.&lt;br /&gt;
&lt;br /&gt;
== Programmübertragung ==&lt;br /&gt;
Im Idealfall stellt sich die Frage, wie das Programm in den Mikrocontroller kommt, für den Programm-Entwickler nicht. Die Debugging-Hardware erledigt diese Aufgabe ganz unauffällig mit. Da die Umstände aber nicht immer ideal sind, muss der Entwickler manchmal auf andere Methoden zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
Früher wurden überwiegend teure und umständlich zu handhabende Programmiergeräte verwendet, mit deren Hilfe der Programmspeicher außerhalb des Zielsystems gefüllt wurde. Heute sind die meisten Mikrocontroller über verschiedene ISP-Schnittstellen oder über das [[UART]] ‚In-System’-programmierbar.&lt;br /&gt;
&lt;br /&gt;
Die ISP-Schnittstelle ist entweder als universelle Debugging- und Programmier-Schnittstelle, z.B. [[JTAG]], oder als dedizierte Programmier-Schnittstelle realisiert. Für den zweiten Fall benötigt man einen speziellen Programmier-Adapter den man, meistens in verschiedenen Ausführungen, kaufen oder selber bauen kann. Dazugehörig ist ein passendes Programmier-Programm für den PC. Spezialisierte Programmier-Adapter und –Programme werden auch gern in der laufenden Produktion eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Mikrocontroller mit integriertem [[Bootloader]] können mit der entsprechenden PC-Software direkt über den seriellen Port programmiert werden.&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40526</id>
		<title>Entscheidung Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entscheidung_Mikrocontroller&amp;diff=40526"/>
		<updated>2009-11-07T14:51:51Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikrocontroller]]&lt;br /&gt;
Die meisten Anfänger stellen sich die Frage, welchen [[Mikrocontroller]] sie verwenden sollen. Es gibt Dutzende Hersteller, und jeder davon hat unzählige Varianten im Angebot. Stellt man die Frage in einem Diskussionsforum, dann bekommt man viele verschiedene (sich teilweise widersprechende) Antworten. Bei der Entscheidung sollten u.a. die unten stehenden Kriterien beachtet werden. Dieser Artikel ist primär für Hobbyisten gedacht, da im professionellen Einsatz oftmals völlig andere Kriterien beachtet werden müssen. Weitere vergleichende Informationen über verschiedene Controllerfamilien gibt der Artikel: [[AVR_PIC_51-Vergleich]]&lt;br /&gt;
&lt;br /&gt;
== Verfügbarkeit ==&lt;br /&gt;
* Während man manche Mikrocontroller an jeder Straßenecke bekommt, sind andere nur in großen Stückzahlen und mit Gewerbenachweis erhältlich. Dazu einfach mal in die Kataloge der einschlägigen Privatkundenhändler schauen. Dabei auch darauf achten, dass der gewünschte Controller auch in der richtigen Bauform erhältlich ist (DIP, TQFP, MLF,usw.), s.u.&lt;br /&gt;
* Ab und zu kündigen Hersteller ein neues Modell an (und veröffentlichen das Datenblatt dazu), können aber erst ein Jahr später nennenswerte Stückzahlen liefern. Also den Controller nicht einfach anhand der Übersichten beim Hersteller aussuchen, sondern überprüfen, was die Händler auch wirklich liefern können.&lt;br /&gt;
* Lebenszyklus: Kein Modell wird ewig hergestellt, deswegen sollte man überprüfen, ob der Hersteller vielleicht schon angekündigt hat, dass er ein bestimmtes Modell nicht mehr herstellen will. Die Hersteller schreiben dann z.B. &amp;quot;Mature Product (Not Recommended for New Designs)&amp;quot;. Für Neuentwicklungen oder den Einstieg sollte man folgende Modelle nicht verwenden:&lt;br /&gt;
** AVR AT90-Reihe, &lt;br /&gt;
** AVR ATMega 103(L), 161(L), 163(L), 323(L).&lt;br /&gt;
* Für alle abgekündigten AVR-Controller gibt es jedoch pin- und funktionskompatible Nachfolger. Daher kommt es nur in den seltensten Fällen zu Problemen. Probleme können nur entstehen wenn ein Programm nur in kompilierter Version zur Verfügung steht.&lt;br /&gt;
* Dagegen sind Mikrocontroller der [[8051|MCS51-Familie]] von Intel eher für langfristige Investitionen geeignet. Der 8051 wurde 1979 (!) als erstes Mitglied dieser Familie vorgestellt. Heute gibt es bereits hunderte von 8051-Derivaten von dutzenden von Halbleiterherstellern, zum Teil auch mit weiterentwickelten Prozessorkernen. Wird ein Derivat tatsächlich mal abgekündigt, findet man bei dieser Riesenauswahl meist leicht adäquaten Ersatz.&lt;br /&gt;
&lt;br /&gt;
== Preis ==&lt;br /&gt;
Einerseits kann es lästig sein, wenn man durch die Verwendung eines kleineren Modells 2 Euro gespart hat und dann mit dessen Unzulänglichkeiten kämpft, andererseits ist ein versehentlich zerstörter Chip für 30 Euro ziemlich ärgerlich. Auch ist es oft ganz praktisch, wenn man einige Controller auf Vorrat hat.&lt;br /&gt;
&lt;br /&gt;
Zum Preis eines einzelnen Mikrocontrollers kommen noch die Kosten für die Entwicklungswerkzeuge, wie [[Compiler]], Programmübertragung und Debugging hinzu (s.u. Programmiersprache und Programmübertragung).&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
Die wichtigste Informationsquelle zu einem Mikrocontroller ist das Datenblatt. Diese gibt es heutzutage aber fast ausschließlich in Englisch. Wer damit nicht zurecht kommt muss vorher schauen, ob es irgendwelche Tutorials oder Bücher in seiner Lieblingssprache gibt.&lt;br /&gt;
&lt;br /&gt;
Je mehr Funktionen ein Mikrocontroller beherrscht, desto umfangreicher wird auch das Datenblatt. Das führt dazu, dass bei manchen Mikrocontrollern das Datenblatt über 1000 Seiten hat. Da ist die Gefahr groß, dass ein Anfänger den Überblick verliert.&lt;br /&gt;
&lt;br /&gt;
== Unterstützung/Community ==&lt;br /&gt;
Gerade als Anfänger ist man oft auf die Hilfe anderer angewiesen. Da empfiehlt es sich, der Masse hinterherzulaufen und keine exotischen Typen zu verwenden. Im Bastlerbereich populäre Mikrocontroller-Familien sind die AVRs von Atmel und die PICs von Microchip. Für diese Architekturen gibt es z.B. im Forum dieser Internet-Seite gute und meist auch schnelle Hilfestellung bei Problemen.&lt;br /&gt;
&lt;br /&gt;
== Bauformen == &lt;br /&gt;
Neben den klassischen (bedrahteten) Bauformen setzt sich heutzutage [[SMD]] immer mehr durch. Manche Mikrocontroller sind nur noch in SMD-Bauformen erhältlich. Für SMD benutzt man üblicherweise geätzte Platinen oder Adapter/Sockel (die aber wieder extra kosten). Will man mit Lochrasterplatinen oder [[Breadboard]]s arbeiten, dann braucht man die klassischen Bauformen, z.B. PDIP. Zu beachten ist dabei, dass es PDIP oft nur bis DIP40 (also mit 40 Pins) gibt, d.h. einen Mikrocontroller mit 50 I/O-Pins kann es dann nur als SMD geben.&lt;br /&gt;
&lt;br /&gt;
Viele Mikrocontroller sind in verschiedenen Bauformen verfügbar. Nur in SMD verfügbar sind:&lt;br /&gt;
* MSP430 (Die kleinen sind mittlerweile auch als DIP erhältlich)&lt;br /&gt;
* AVR ATMega 64, 128, 169&lt;br /&gt;
&lt;br /&gt;
In der klassischen (wenn auch in der Anzahl der verfügbaren IO-Pins limitiert) PDIP Bauform gibt es unter anderem:&lt;br /&gt;
* AVR ATMega 8, 16, 32, 64&lt;br /&gt;
* viele 8051-Derivate, z.B. Atmel 89S8252&lt;br /&gt;
&lt;br /&gt;
== Spannung ==&lt;br /&gt;
Während früher die meisten Mikrocontroller und die gesamte Peripherie mit 5V liefen, so gibt es heute auch alle möglichen anderen Varianten. Zu beachten ist:&lt;br /&gt;
* Controller und Peripherie müssen zusammenpassen. Man kann nicht einfach (ohne weitere Vorkehrungen) ein 3,3V-RAM an einen 5V-Controller anschließen und umgekehrt.&lt;br /&gt;
* Manche Controller besitzen, obwohl sie intern mit einer anderen Spannung arbeiten, 5V-kompatible IO-Pins (Beispiel: [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]]).&lt;br /&gt;
* Manche Controller brauchen zwei verschiedene Spannungen. Dies ist aber relativ selten, z.B. bei den [[LPC2000 Philips ARM7TDMI-Familie|LPC2100]].&lt;br /&gt;
&lt;br /&gt;
* Billig-Netzteile liefern im Leerlauf manchmal deutlich mehr Spannung als angegeben, ein [[Standardbauelemente|Spannungsregler]] (z.B. 78xx) ist also Pflicht!&lt;br /&gt;
* Bei Batterien und Akkus sinkt die Spannung ab, wenn sie leerer werden. Braucht der Controller z.B. mindestens 2,7V, dann wird man mit zwei 1,5V-Batterien nicht lange Freude haben (außer man benutzt spezielle Schaltregler).&lt;br /&gt;
&lt;br /&gt;
== Stromverbrauch ==&lt;br /&gt;
Im Vergleich zu PC-Prozessoren (Pentium, Athlon usw.) brauchen Mikrocontroller relativ wenig Strom. Will man sie allerdings mit Batterien betreiben, dann wird der Stromverbrauch plötzlich doch wichtig. Die meisten Mikrocontroller besitzen hierfür Stromsparmodi, mit denen man den Controller teilweise abschalten kann. Für einen extrem geringen Stromverbrauch sind z.B. die [[MSP430]]-Controller optimiert.&lt;br /&gt;
&lt;br /&gt;
Der Stromverbrauch hängt auch stark vom Takt und der Versorgungsspannung ab. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
! Frequenz !! ATMega8 (2.7V) !! ATMega8 (5.0V) !! PIC16LF84A(2.0V) !! PIC16F84A (5.5V)&lt;br /&gt;
|-&lt;br /&gt;
! 32KHz &lt;br /&gt;
|62µA||80µA||45µA||-&lt;br /&gt;
|-&lt;br /&gt;
! 100KHz &lt;br /&gt;
|0,3mA||0,5mA||-||-&lt;br /&gt;
|-&lt;br /&gt;
!1MHz, 2MHz*&lt;br /&gt;
|1,5mA ||2,3mA||4mA||-&lt;br /&gt;
|-&lt;br /&gt;
!8MHz, 4MHz*&lt;br /&gt;
|5mA   ||7/15mA**||-||4.5mA&lt;br /&gt;
|-&lt;br /&gt;
!16MHz, 20MHz*&lt;br /&gt;
| -    ||20mA||-||20mA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[*] Abweichende Taktangabe für PIC16*F84A, da hier keine entsprechenden Werte für die Frequenzen des ATmega8 im Datenblatt (PIC16F84A Data Sheet, Microchip 2001, 35007b.pdf) vorliegen.&lt;br /&gt;
&lt;br /&gt;
[**] Angaben sind in der Folge Idle/Active (Quelle: Atmel, ATmega8/L, doc2486.pdf).&lt;br /&gt;
&lt;br /&gt;
== Takt/Geschwindigkeit ==&lt;br /&gt;
Einerseits wünscht man sich oft einen möglichst schnellen Controller, insbesondere als Anfänger, wenn man effiziente Lösungen noch nicht so kennt, andererseits schlägt sich ein hoher Takt auch im Stromverbrauch und im Preis nieder. Man sollte sich dabei nicht von den hohen Taktraten der PC-Prozessoren irritieren lassen. Für viele Anwendungen reicht 1-MHz-Takt völlig aus.&lt;br /&gt;
&lt;br /&gt;
Bei einem Geschwindigkeitsvergleich sollte man beachten, dass man nicht einfach den Takt vergleichen kann: &lt;br /&gt;
* Während manche Controller 12 Takte für einen Befehl brauchen (z.B. die Original-[[8051]]), kommen andere mit einem Takt pro Befehl aus (z.B. [[AVR]]).&lt;br /&gt;
* Manche Controller unterstützen gewisse Operationen hardwareseitig, die auf anderen Controllern in Software nachgebildet werden muss. Beispiele sind z.B. Multiplikation und Division. Wer in einer Hochsprache programmiert merkt davon nicht viel, da es dort die Befehle sowieso zur Verfügung stehen, aber sie brauchen auf einem Controller ohne Hardwareunterstützung eben deutlich länger. &lt;br /&gt;
* Die Datenbus- bzw. Registerbreite spielt eine wichtige Rolle, weil man z.B. für eine 16-Bit-Addition auf einer 8-Bit-CPU zwei Befehle und auf einer 16-Bit-CPU nur einen Befehl braucht.&lt;br /&gt;
&lt;br /&gt;
== Speicher ==&lt;br /&gt;
Während früher oft nur die [[Register]] im Mikrocontroller waren, und der gesamte restliche Speicher extern angebunden werden musste, so sind heute die Speicher oft komplett im Mikrocontroller integriert. Das bedeutet aber teilweise auch, dass man sie nicht erweitern kann. Wichtig ist dabei u.a. die Größe des Programmspeichers (meist ein [[Flash-ROM]]) und das [[RAM#SRAM|SRAM]]. Fehlt letzteres, dann kann es mit der Compilerunterstützung schwierig werden.&lt;br /&gt;
&lt;br /&gt;
Zu unterscheiden sind hier außerdem Controller in [[Von Neumann-Architektur|Von-Neumann-Architektur]] und [[Harvard-Architektur]]. Bei letzterer liegen Programmspeicher (ROM) und Datenspeicher (RAM) in getrennten Speicherbereichen; dies hat den Nachteil, dass für den Zugriff auf den Programmspeicher spezielle Befehle notwendig sind (was die Verwendung von im ROM abgelegten Daten in C-Compilern ziemlich umständlich macht), und dass man keine Programmteile direkt aus dem Datenspeicher ausführen kann.&lt;br /&gt;
&lt;br /&gt;
== Onboard-Peripherie ==&lt;br /&gt;
Mikrocontroller haben meist eine ganze Menge Funktionen integriert, z.B. [[AD-Wandler]], [[I²C]]-Bus, [[SPI]], [[PWM]], [[RS-232]] usw. usf. Der Vorteil liegt darin, dass der Controller damit mehrere Dinge gleichzeitig machen kann. Dadurch steigt zum einen die Gesamtleistung des Controllers, zum anderen sind viele Dinge zeitkritisch, und die Programmierung ist deutlich einfacher, wenn man zehn zeitkritische Dinge gleichzeitig erledigen muss.&lt;br /&gt;
&lt;br /&gt;
== Störfestigkeit ==&lt;br /&gt;
Eigentlich ein wichtiges Thema, andererseits findet man dazu nur sehr wenig Informationen. Bekannt ist beispielsweise, dass bei der [[AVR]]-Familie die ATmegas deutlich störfester sind als die alten AT90S. &lt;br /&gt;
&lt;br /&gt;
== Programmiersprachen ==&lt;br /&gt;
Den direktesten Zugriff auf die &amp;quot;Innereien&amp;quot; eines Prozessors hat man mit [[Assembler]]. Dies ist jedoch gleichzeitig - zumindest auf den ersten Blick - die &amp;quot;abschreckendste&amp;quot; Sprache, denn sie erfordert einen hohen Lernaufwand. Aufgrund stark unterschiedlicher Befehlssätze verschiedener Controllerfamilien ist das Gelernte nie 1-zu-1 übertragbar und meist nur direkt auf einen einzigen Prozessor oder allenfalls auf eine Familie &amp;quot;verwandter&amp;quot; Produkte anwendbar. Dennoch kann man sich mit einiger Erfahrung recht schnell in einen anderen Befehlssatz einarbeiten. In bestimmten Bereichen oder Teilen eines Projekts wird die Verwendung von Assembler dennoch unabdingbar sein. (Diese Teile mögen projektabhängig zwischen 100% oder auch nur deutlich unter 1% umfassen.)&lt;br /&gt;
&lt;br /&gt;
Die Auswahl der richtigen Programmiersprache hängt auch stark vom geplanten Einsatzzweck ab. Ein Elektrotechnik-Student, der sich für sein späteres Berufsleben vorbereiten möchte, sollte sich mit C und Assembler befassen. Wer dagegen gar nicht vorhat sich allzu tief einzuarbeiten und sowieso schon Basic oder Pascal kann, der sollte zu diesen Sprachen greifen.&lt;br /&gt;
&lt;br /&gt;
Für einige Controllerfamilien (z.B. AVR, ARM, MSP430) gibt es eine Portierung des kostenlosen [[GCC|GNU-C-Compilers]], wodurch C auch im Hobby-Bereich stark vertreten ist und es auch viele Programmierbeispiele dafür gibt.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Bei der Fehlerbeseitigung trennen sich Profi von Amateur und es kann richtig teuer werden. Genau hier haben die Hersteller von Mikrocontrollern und/oder Compilern eine Möglichkeit gefunden den Gelegenheitsprogrammierer abzuweisen und nur den zahlenden Profi vorzulassen.&lt;br /&gt;
&lt;br /&gt;
Die preisgünstigste aber auch unkomfortabelste Art des Debuggings ist der Einbau von Testcode in das Programm. Dieser Testcode informiert den Programmierer über erreichte Programmpunkte und dabei aufgetretene Datenwerte. Die Ausgabe erfolgt per optisch/akustischer Anzeige oder serieller Schnittstelle. Der Nachteil dieser Methode liegt in ihrem Zeitaufwand. Für jedes Problem muss ein kurzes Stück Testcode erdacht und in das Programm eingefügt werden. Danach wird das Programm kompiliert/assembliert und in den Flashspeicher des Mikrocontrollers gebrannt. Zu guter Letzt muss das Programm von Begin an durchlaufen und mit etwas Glück liefert der Testcode Informationen über das Problem.&lt;br /&gt;
&lt;br /&gt;
Deutlich effektiver ist die Fehlersuche mittels einer in die PC-Entwicklungsumgebung integrierten Debugger Software. Üblicherweise besteht diese Software aus mehreren Fenstern zur Anzeige folgender Informationen:&lt;br /&gt;
&lt;br /&gt;
* Programm- und Datenspeicher des Mikrocontrollers.&lt;br /&gt;
* Arbeits- und Konfigurationsregister des Mikrocontrollers.&lt;br /&gt;
* Programm Quellcode in Hochsprache (z.B. C) und/oder Assembler.&lt;br /&gt;
* Werte von Programm Variablen.&lt;br /&gt;
&lt;br /&gt;
Ausgehend vom Quellcode/Assembler-Fenster kann man den Programmcode auf das Zielsystem laden, den Programmlauf starten und an beliebigen Stellen stoppen, das Programm zeilenweise oder wiederholend abarbeiten, Variablen/Speicher/Register anzeigen und auch verändern. Diese Vorgänge werden bei modernen Debuggern mit wenigen Funktionstasten und Kontextmenü gesteuert. Angemerkt sei, Debugging einer Hochsprache wie C funktioniert nur richtig wenn die Codeoptimierung des Compilers deaktiviert ist. Diese Bedingung bringt es mit sich, dass für die Entwicklungsphase bis zu 30% mehr Programmspeicher benötigt werden.&lt;br /&gt;
&lt;br /&gt;
Der Programmlauf kann in einem Software-Simulator oder direkt auf dem Mikrocontroller erfolgen. Leider können Simulatoren weder die Signale der Controller Umgebung noch Interrupts realistisch nachahmen. Hier hilft nur In-System Debugging direkt auf dem Zielsystem.&lt;br /&gt;
&lt;br /&gt;
Für das In-System Debugging wird der Ziel-Mikrocontroller mit seiner In-Circuit Debugging Hardware benutzt. Diese integrierte Hardware kommuniziert über teils genormte Schnittstellen mit der Debugger Software auf dem PC. Als Verbindungsglied dient ein Kabel mit mehr oder weniger komplexer Elektronik. Diese Elektronik, das fehlende Wissen um ihre Funktion und die teils eingebaute Donglefunktion verhindern preisgünstigen Nachbau und machen ihren Hersteller sicher vor unautorisierter Benutzung der Entwicklungsumgebung.&lt;br /&gt;
&lt;br /&gt;
Bei der Vielzahl von Controller- und Compiler-Herstellen ist es kaum möglich einen Überblick über die Debugger Hardware/Software zu geben. Hier nur einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== [http://www.atmel.com/ Atmel] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2737 AVR JTAG ICE] Clone (wenige ATmega Typen)&lt;br /&gt;
| ~ 35€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891 AVR Dragon] (Debugging &amp;lt;= 32kB)&lt;br /&gt;
| ~ 55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.keeelectronics.com/mkii.htm AVR JTAG ICE MKII - CN]&lt;br /&gt;
| ~ 85$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353 AVR JTAG ICE MKII] / Clone&lt;br /&gt;
| ~ 280€/140$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4279 AVR ONE!]&lt;br /&gt;
| ~ 550€&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
[http://atmel.com/products/avr32/default.asp AVR32 Controller (32-Bit)] können mit Atmels freiem [http://atmel.com/dyn/products/tools_card.asp?tool_id=4116 AVR32 Studio], basierend auf der [http://www.eclipse.org/ Eclipse IDE], programmiert und debugt werden. Die IDE bedient sich dabei der [http://atmel.com/dyn/products/tools_card.asp?tool_id=4118 AVR32 GNU Toolchain].&lt;br /&gt;
&lt;br /&gt;
Der Debugger für [http://atmel.com/products/avr/default.asp AVR 8-Bit] RISC Controller ist in Atmels freie [http://atmel.com/dyn/products/tools_card.asp?tool_id=2725 AVR Studio] IDE integriert. In Verbindung mit dem GNU C++ Compiler für AVR ([http://winavr.sourceforge.net/ WinAVR]) und der integrierten Bibliothek [http://www.nongnu.org/avr-libc/ AVR Libc] ist Hochsprach-Entwicklung und -Debugging möglich.&lt;br /&gt;
&lt;br /&gt;
Der [[JTAG|AVR JTAG]] ICE Clone kann nur nachfolgende ältere ATmega Controller debuggen: ATmega16, ATmega16L, ATmega162, ATmega162L, ATmega162V, ATmega165,  ATmega165V, ATmega169, ATmega169L, ATmega169V, ATmega32, ATmega32L, ATmega323, ATmega323L, ATmega64, ATmega64L, ATmega128, ATmega128L, AT90CAN128. Trotzdem ist er ein sehr wertvolles, weil günstiges, Werkzeug wenn man die Typbeschränkung akzeptieren kann.&lt;br /&gt;
&lt;br /&gt;
Atmel [[AVR]] Dragon kann ATtiny, ATmega und AT32UC3x programmieren aber nur ATtiny und ATmega bis 32 kB Flash-Speicher Größe debuggen.&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/107070 AVR JTAG ICE MKII – CN] ist ein Produkt aus China mit der versprochenen Funktionalität eines originalen AVR JTAG ICE MKII von Atmel. Es besitzt eigenständige Elektronik und auch die aktualisierbare Firmware ist vom Original verschieden. Oftmals ist dieses Produkt beim nicht unbekannten Online-Auktionshaus zu finden.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.microchip.com/ Microchip] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en023805 MPLAB PICkit2 / PICkit2 Debug Express]&lt;br /&gt;
| ~ 30€/55€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538340 MPLAB PICkit3 Debug Express]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010046&amp;amp;part=DV164005 MPLAB ICD 2] / [http://www.keeelectronics.com/icd25debugger.html Clone ICD2.5] / [http://www.sivava.com/MPLAB_ICD2.html Clone ICD2]&lt;br /&gt;
| ~ 90€/40€/40€&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en537580 MPLAB ICD 3]&lt;br /&gt;
| ~ 190€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alle Typen von Microchip Debugger Hardware werden von Microchips freier [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en019469&amp;amp;part=SW007002 MPLAB IDE] unterstützt. Diese IDE kann mit C-Compilern verschiedener Hersteller zusammenarbeiten. Das Setup installiert keine Microchip C-Compiler sondern bietet als Option die C-Compiler von CCS und HI-TECH. Der CCS Compiler für PIC18F45k20 ist auf 2kWord Programmcode begrenzt. Die HI-TECH Compiler für PIC10/12/16, PIC18 und PIC32 haben, wenn sie als Freeware im ‚Lite mode’ arbeiten, eingeschränkte Codeoptimierung. Microchips C-Compiler für [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en010014 PIC18], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535364 PIC24], [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en535363 dsPIC DSCs] und/oder [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2615&amp;amp;dDocName=en532454 PIC32] können zusätzlich installiert werden. In der zum freien Download bereitstehenden ‚Student Edition’ stellen sie nach 60 Tagen einen Teil der Codeoptimierung ein. Das MPLAB Setup bietet optional die Installation der, im nächsten Absatz behandelten, HI-TECH IDE ‚HI-TIDE 3’ an.&lt;br /&gt;
&lt;br /&gt;
Die Debugger Hardware ICD 2 von Microchip wird auch von der freien, auf [http://www.eclipse.org/ Eclipse] basierenden,  HI-TECH IDE [http://www.htsoft.com/downloads/demos.php#hitide ‚HI-TIDE 3’] unterstützt. Diese moderne IDE kann zusammen mit Microchips MPLAB oder separat installiert werden. Zusätzlich zu installieren sind HI-TECHs C-Compiler für die Microchip Reihen [http://www.htsoft.com/microchip/products/compilers/piccpro-modes.php PIC10/12/16], [http://www.htsoft.com/microchip/products/compilers/picc18pro-modes.php PIC18] und/oder [http://www.htsoft.com/microchip/products/compilers/pic32-modes.php PIC32]. Ihre im ‚Lite mode’ bestehende Einschränkung wurde bereits erwähnt.&lt;br /&gt;
&lt;br /&gt;
Die beiden für PICs vorhandenen IDEs von Microchip und HI-TECH bilden zusammen mit den freien C-Compilern und den preisgünstigen ICD 2 Clones eine kostengünstige Möglichkeit PIC-Code zu erstellen und zu debuggen. Die eingeschränkte Codeoptimierung ist für Amateure verschmerzbarer. Zu beachten ist, dass einige kleine PICs keine In-Circuit Debugging Hardware besitzt. Sie sind nur mit Hilfe eines kostspieligen [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1406&amp;amp;dDocName=en538769 Header Boards] debugbar.&lt;br /&gt;
&lt;br /&gt;
=== [http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&amp;amp;tabId=140&amp;amp;familyId=342 TI MSP430] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p58_MSP430-JTAG-Parallelportkabel--MSP430-JTAG-.html MSP430 JTAG (parallel)]&lt;br /&gt;
| ~ 15€&lt;br /&gt;
|-&lt;br /&gt;
| Olimex [http://shop.embedded-projects.net/product_info.php/info/p63_MSP430-USB-JTAG-Adapter--MSP430-JTAG-TINY-.html MSP430-JTAG-TINY (USB)]&lt;br /&gt;
| ~ 65€&lt;br /&gt;
|-&lt;br /&gt;
| TI-FET [http://focus.ti.com/docs/toolsw/folders/print/msp-fet430uif.html MSP430 USB Debugging Interface]&lt;br /&gt;
| ~ 115€&lt;br /&gt;
|-&lt;br /&gt;
| TI [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool]&lt;br /&gt;
| ~ 30€&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://focus.ti.com/lit/ug/slau265/slau265.pdf Programmierung] und Debugging der MSP430 erfolgt über JTAG-Schnittstelle und in neusten Varianten (MSP430F20xx, F21x2, F22xx) über ‚Spy-Bi-Wire’ (2-wire JTAG). Die ursprüngliche JTAG-Schnittstelle benötigt 4 Signalleitungen plus Reset. Bei ‚Spy-Bi-Wire’ sind die Signalleitungen auf 2 reduziert.&lt;br /&gt;
&lt;br /&gt;
Jeder anwenderprogrammierbare MSP430 enthält einen [[Bootloader]]. Bei den Typenreihen MSP430F1xx, F2xx und F4xx befindet er sich im ROM. Bei den MSP430F6xx im Flash-Speicher.&lt;br /&gt;
&lt;br /&gt;
TI bezeichnet die Programmier- und Debugging-Hardware als Flash Emulation Tool (FET). Es existieren die Varianten ‚Parallel Port’ und USB. Die preisgünstigen parallelen Systeme beherrschen nur JTAG. Bei den USB-Systemen ist zusätzlich ‚Spy-Bi-Wire’ implementiert und man kann damit die Codeschutz Sicherung des Mikrocontrollers auslösen.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.olimex.com/dev/index.html Olimex] Produkte entsprechen in ihrer Funktion weitestgehend den TI Vorbildern und können mit jeder, die TI Werkzeuge unterstützenden, Software verwendet werden. Kleine Abweichungen bestehen bei der [http://www.olimex.com/dev/images/MSP430/SPY-BI-WIRE-CONNECTION.jpg Olimex Implementierung] der ‚Spy-Bi-Wire’ Verbindung des MSP430-JTAG-TINY.&lt;br /&gt;
&lt;br /&gt;
Das ‚MSP430 USB Stick Development Tool’ ist eine eigenständige Debugging-Hardware mit aufgestecktem eZ430-F2013 Zielsystem. Der Stick beherrscht aber nur ‚Spy-Bi-Wire’ wodurch die Anzahl der unterstützten Controller begrenzt ist. &lt;br /&gt;
&lt;br /&gt;
Als Entwicklungsumgebung stellt TI den auf der [http://www.eclipse.org/ Eclipse IDE] aufbauenden ‚Code Compose Essentials’ bereit. In der freien Version [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html ‚CCE Core Edition’] ist dieses Paket auf 16kB Code begrenzt.&lt;br /&gt;
&lt;br /&gt;
Mit der freien IDE Eclipse, dem GNU C-Compiler für MSP430, einigen Zutaten und dem Olimex Parallelport-Adapter kann man die wohl preiswerteste, unbeschränkte Entwicklungsumgebung für Mikrocontroller zusammenstellen. Es ist keine perfekte Kombination und die Installation macht einige Mühe; im Ergebnis hat man aber eine Arbeitsplattform, einschließlich Debugger, ohne unverständliche Skripte oder kryptischen Make-Files. Über diese beiden Links&lt;br /&gt;
&lt;br /&gt;
* [[Eclipse und MSPGCC unter Windows]] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009)&lt;br /&gt;
&lt;br /&gt;
findet man zwei verschiedenartige Lösungen der Installation unter Windows. Obwohl beide Varianten auf teils verschiedene Werkzeuge zurückgreifen sind sie kombinierbar und ergeben damit Spielraum für persönliche Vorlieben.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.zilog.com/ Zilog] ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!System&lt;br /&gt;
!Preis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZUSBSC00100ZACG USB Smart Kabel]&lt;br /&gt;
| ~ 30$&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showProdDet&amp;amp;businessLine=1&amp;amp;familyId=6&amp;amp;productId=ZENETSC0100ZACG Ethernet Smart Kabel]&lt;br /&gt;
| ~ 70$&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die [[Zilog]] Entwicklungssysteme [http://www.zilog.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=40&amp;amp;Itemid=137 ZDS II] (C/ASM) für [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=5&amp;amp;parent_id=2 Z8 Encore!®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=6&amp;amp;parent_id=2 Z8 Encore! XP®], [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=7&amp;amp;parent_id=2 Z8 Encore! MC™] sowie [http://www.zilog.com/index.php?option=com_product&amp;amp;Itemid=26&amp;amp;mode=showFamilyDetails&amp;amp;familyId=8&amp;amp;parent_id=2 ZNEO™ Z16F] Controller haben keine Beschränkungen sind aber ganz zu Unrecht in Europa kaum bekannt oder erhältlich.&lt;br /&gt;
&lt;br /&gt;
== Programmübertragung ==&lt;br /&gt;
Im Idealfall stellt sich die Frage, wie das Programm in den Mikrocontroller kommt, für den Programm-Entwickler nicht. Die Debugging-Hardware erledigt diese Aufgabe ganz unauffällig mit. Da die Umstände aber nicht immer ideal sind, muss der Entwickler manchmal auf andere Methoden zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
Früher wurden überwiegend teure und umständlich zu handhabende Programmiergeräte verwendet, mit deren Hilfe der Programmspeicher außerhalb des Zielsystems gefüllt wurde. Heute sind die meisten Mikrocontroller über verschiedene ISP-Schnittstellen oder über das [[UART]] ‚In-System’-programmierbar.&lt;br /&gt;
&lt;br /&gt;
Die ISP-Schnittstelle ist entweder als universelle Debugging- und Programmier-Schnittstelle, z.B. [[JTAG]], oder als dedizierte Programmier-Schnittstelle realisiert. Für den zweiten Fall benötigt man einen speziellen Programmier-Adapter den man, meistens in verschiedenen Ausführungen, kaufen oder selber bauen kann. Dazugehörig ist ein passendes Programmier-Programm für den PC. Spezialisierte Programmier-Adapter und –Programme werden auch gern in der laufenden Produktion eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Mikrocontroller mit integriertem [[Bootloader]] können mit der entsprechenden PC-Software direkt über den seriellen Port programmiert werden.&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=SMD_2_Steckbrett_Adapter&amp;diff=40525</id>
		<title>SMD 2 Steckbrett Adapter</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=SMD_2_Steckbrett_Adapter&amp;diff=40525"/>
		<updated>2009-11-07T14:50:07Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Hardware */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Manchmal kommt der Wunsch auf, [[SMD]]-Bauteile auf dem [[Breadboard|Steckbrett]] oder einer Lochrasterplatine einzusetzen. Bei Lochraster gibt es ja bekanntlich die wildesten Konstruktionen, um SMD-ICs verwenden zu können, aber für Steckbretteinsätze habe ich nichts wirklich Brauchbares zu vernünftigen Preisen gefunden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Ich habe mir daher ein paar Adapter von häufig verwendeten [[IC-Gehäuseformen|SMD-Gehäusen]] auf ein steckbretttaugliches Format entworfen und möchte diese nun hier vorstellen. Es handelt sich um einfache, einseitige Platinen, welche sehr einfach auch auf Reststücken geätzt werden können.&lt;br /&gt;
Die Adapter bestechen durch ihre Universalität.&lt;br /&gt;
Das bedeutet aber umgekehrt auch, dass je nach verwendetem IC und gewünschter Beschaltung auf dem Adapter eventuell ein paar Anpassungsarbeiten mit einem scharfen Messer (ein Skalpell ist sehr empfehlenswert!) und Lötzinn notwendig sein können.&lt;br /&gt;
Zum Verbinden mit dem Steckbrett verwende ich gewöhnliche Stiftleisten. Allerdings sollte man vorher prüfen, ob diese ohne Beschädigung ins gewünschte Steckbrett passen.&lt;br /&gt;
100nF Block- und eventuell auch die Pufferkondensatoren sollten direkt als SMD-Bauteile auf den Adapter gelötet werden. Auch Einstellwiderstände kann man wunderbar direkt auf den Adapter anbringen und sich so z.B. direkt einen zweistufigen Verstärker oder Filter mit einem SO8 OPV aufbauen, der nur noch ins Steckbrett gesteckt werden muss und einen Eingang sowie einen Ausgang nebst Spannungsversorgung hat.&lt;br /&gt;
Es ist eine Massefläche vorgesehen, welche natürlich mit den GND-Pins des ICs verbunden werden muss. Hat dieser getrennte Analog-und Digitalmassen, macht es bei einem Testaufbau meist keinen Sinn, diese zu teilen, da dies bei einen Steckbrettaufbau nichts bringt. Hochpräzise Analogschaltungen oder gar HF-Komponenten sind auf diesen Adaptern definitiv falsch aufgehoben, aber bei ADC/DACs, Konvertern, Schnittstellenbausteinen und Speichern kann man zumindest die Funktion überprüfen, wenn auch nicht immer mit voller Taktrate und Auflösung.&lt;br /&gt;
&lt;br /&gt;
Die Teile sollten selbsterklärend sein, also werde ich einfach die Layouts als PDF zur Verfügung stellen sowie einige Bilder der Adapter im Einsatz als Inspiration.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
=== Layouts ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/2/25/SO8.PDF SO8 Adapter]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/e/ef/SOIC16.pdf SOIC16 Adapter]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/2/25/SOT23.pdf SOT23 Adapter]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/4/4c/TSSOP28.pdf TSSOP28 Adapter]&lt;br /&gt;
&lt;br /&gt;
Die Layouts wurden nicht mit Eagle erstellt, sondern mit einem einfachen Zeichenprogramm. Bei einer Platine mit einem einzigen IC braucht man nicht unbedingt mehr.&lt;br /&gt;
&lt;br /&gt;
== Bilder ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Adapterplatinen.JPG|800px|Einige Beispiele]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Boards]]&lt;br /&gt;
[[Category:1. Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=SMD_L%C3%B6ten&amp;diff=40524</id>
		<title>SMD Löten</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=SMD_L%C3%B6ten&amp;diff=40524"/>
		<updated>2009-11-07T14:47:11Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Chip Quick-Methode */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Löten]]&lt;br /&gt;
== Einlöten von SMD Bauteilen ==&lt;br /&gt;
&lt;br /&gt;
Irgendwann ist man an dem Punkt angelangt, an dem man ein Bauteil braucht, das bloß in [[SMD]] verfügbar ist. [[TI]] zum Beispiel bietet seine [[MSP430]]-[[Mikrocontroller]] ausschließlich in [[SMD]] an. Das ist dann der Zeitpunkt an dem man sich fragt: &amp;quot;Wie lötet man sowas?&amp;quot;. Nun, eigentlich ist es gar nicht so schwer, sobald man den richtigen Trick dabei mal raus hat. &lt;br /&gt;
&lt;br /&gt;
=== Handlöten ===&lt;br /&gt;
&lt;br /&gt;
==== Voraussetzungen ====&lt;br /&gt;
&lt;br /&gt;
* Grundvoraussetzung ist ein Lötkolben mit entsprechender Lötspitze.&lt;br /&gt;
**Der Lötkolben sollte am besten der einer geregelten Lötstation sein. Die Einstellung der Lötstation sollte man halbwegs beherrschen. (Lötversuche an einer alten Platine sind in diesem Fall sehr hilfreich).&lt;br /&gt;
**Der Lötkolben sollte möglichst leicht und der vordere (heiße) Teil möglichst kurz sein. Je länger, desto mehr wird ein eventuelles Zittern der Hand verstärkt.&lt;br /&gt;
** Die Lötspitze sollte so dick sein, wie es noch gerade für die Aufgabe vertretbar ist. Nicht etwa die dünnste aufzutreibende Lötspitze. Was auf den ersten Blick widersprüchlich klingt (so dick wie es gerade noch geht), hat einen einfachen Grund: Die an der Spitze ankommende Wärme, die Wärmekapazität der Spitze und die Wärmeübertragung sind bei größeren Spitzen entsprechend besser. Daher geht das Löten mit einer größeren Spitze besser. Natürlich sollte man es nicht übertreiben, aber die 0,8 mm Spitze ist häufig die falsche Wahl.&lt;br /&gt;
** Die Lötspitze sollte in einem guten bis erstklassigen Zustand sein.&lt;br /&gt;
&lt;br /&gt;
* Außerdem braucht man noch Entlötlitze. Hier sollte man die dünnste nehmen, die man bekommen kann. Breiter als 1,5 mm sollte sie nicht sein, eher dünner. Hat man keine passende zur Hand oder herrscht Geldmangel, so lassen sich auch die feinen Litzen eines abisolierten, flexiblen Silikonkabels für diesen Zweck missbrauchen.&lt;br /&gt;
&lt;br /&gt;
* Natürlich braucht man auch noch das Lötzinn, bestenfalls mit Flussmittel im Kern. 0,5 mm ist praktikabel, 0,23 mm ist bei kleinerem Pitch sehr zu empfehlen.&lt;br /&gt;
&lt;br /&gt;
* Flüssiges Flussmittel in Stiftform mit eingebautem Pinsel oder Flussmittelgel aus der Spritze tun gute Dienste.&lt;br /&gt;
&lt;br /&gt;
* Schließlich ist auch noch eine Leiterplatte (PCB) vonnöten. Hier hat man entweder die Möglichkeit, sich eine bei den verschiedenen PCB-Herstellern fertigen zu lassen oder sie selber zu belichten und zu ätzen. Besonders bei Chips mit kleinem Pin-Abstand hilft eine Lötstoppmaske und die Vorverzinnung der Pads; die kleine Menge Zinn, die bei industriell gefertigten Platinen auf den Pads ist, reicht völlig aus, man braucht dann kein oder nicht viel extra Lötzinn.&lt;br /&gt;
&lt;br /&gt;
* Feine Pinzette. Billige tun es eher weniger.&lt;br /&gt;
&lt;br /&gt;
* Eine Lupe. Diese dient in erster Linie zur Kontrolle. Löten ist unter einer einfachen Lupe eher unangenehm und ein Notbehelf, da die Perspektive verloren geht. Eine Lupenbrille (gute können recht teuer sein) oder ein Stereomikroskop (teuer bis sehr teuer) wäre zum Löten die bessere Wahl.&lt;br /&gt;
&lt;br /&gt;
==== Löten von Widerständen, Kondensatoren und anderen 2-Pinnern ====&lt;br /&gt;
&lt;br /&gt;
Es gibt diese Bauteile hauptsächlich in diesen Bauformen:&lt;br /&gt;
* 1206:  Länge: 3,20 mm  Breite: 1,60 mm (laufen langsam aus)&lt;br /&gt;
* 0805:  Länge: 2,00 mm  Breite: 1,25 mm&lt;br /&gt;
* 0603:  Länge: 1,60 mm  Breite: 0,80 mm (derzeit in der Industrie aktuell)&lt;br /&gt;
* 0402:  Länge: 1,00 mm  Breite: 0,50 mm (wird derzeit Standard in der Industrie)&lt;br /&gt;
* 0201:  Länge: 0,50 mm  Breite: 0,25 mm (Handy)&lt;br /&gt;
* 01005: Länge: 0,25 mm  Breite: 0,13 mm (Handy)&lt;br /&gt;
&lt;br /&gt;
Das Einlöten von 2-Pinnern ist sehr einfach. Es gibt eigentlich bloß einen kleinen Trick:&lt;br /&gt;
&lt;br /&gt;
# Ein Pad auf der Leiterplatte verzinnen.&lt;br /&gt;
# Das Bauteil mit einer Pinzette in Endposition halten und leicht an beide Pads andrücken.&lt;br /&gt;
# Dabei das verzinnte Pad mit dem Lötkolben erwärmen. Das Bauteil ist nun einseitig eingelötet.&lt;br /&gt;
# Das zweite Pad normal löten.&lt;br /&gt;
# Anschließend evtl. das erste Pad nochmal kurz erhitzen.&lt;br /&gt;
&lt;br /&gt;
Und schon hat man das Bauteil eingelötet.&lt;br /&gt;
&lt;br /&gt;
Als Pinzette empfiehlt sich eine mit ca. 1 mm breiter Spitze, die als SMD-Pinzette (meist schwarz brüniert) ab ca. 10.- angeboten werden. Hier zu sparen lohnt nicht.&lt;br /&gt;
&lt;br /&gt;
==== Lötpaste ====&lt;br /&gt;
ist eine Mischung aus Mg(OH)2 und Al2(Cl)3.&lt;br /&gt;
&lt;br /&gt;
==== Löten von Bauteilen im SO-Package ====&lt;br /&gt;
&lt;br /&gt;
Das Löten von Bauteilen im SO Package gestaltet sich fast genauso einfach wie das Löten von Widerständen:&lt;br /&gt;
&lt;br /&gt;
# Ein Pad, das an einer Ecke des ICs liegt, verzinnen.&lt;br /&gt;
# Den IC platzieren.&lt;br /&gt;
# Den IC nach unten drücken.&lt;br /&gt;
# Das Pad erwärmen. Es ist möglich, dass der IC jetzt nicht richtig sitzt. Wenn das passiert ist, einfach nochmal das Zinn erwärmen und den IC verschieben bis er sitzt. Allerdings muss man dabei aufpassen, den IC nicht zu stark zu erwärmen.&lt;br /&gt;
# Das dem ersten gelöteten Pad diagonal gegenüberliegende Pad löten.&lt;br /&gt;
# Alle anderen Pads verlöten. Es ist nicht schlimm, wenn Zinnbrücken entstehen.&lt;br /&gt;
# Die Zinnbrücken mit Hilfe von Entlötlitze entfernen. Dazu hält man die Entlötlitze an die betroffenen Pads und erwärmt sie. Das Zinn geht dann automatisch auf die Entlötlitze und es gibt keine Brücken mehr.&lt;br /&gt;
&lt;br /&gt;
==== Löten von (T)SSOPs und QFPs ====&lt;br /&gt;
&lt;br /&gt;
War es bei Bauteilen im SO-Package mit einer ruhigen Hand noch möglich die Pins ohne Zinnbrücken zu verlöten, ist das bei TSSOPs nun praktisch nicht mehr möglich, da der Abstand der Pins einfach zu klein ist.&lt;br /&gt;
&lt;br /&gt;
# Platzieren des Bauteils.&lt;br /&gt;
# Das Bauteil irgendwie fixieren (Pinzette oder vorsichtig mit dem Zeigefinger etc.) Tesafilm ist recht praktisch und lässt sich leicht wieder entfernen.&lt;br /&gt;
# Mit dem Lötkolben einen Tropfen Zinn aufnehmen (entfällt bei verzinnten Pads).&lt;br /&gt;
# Das Bauteil an zwei diagonal gegenüberliegenden Pins festlöten.&lt;br /&gt;
# Überprüfen, ob der Chip wirklich richtig auf der Platine liegt, jetzt sind Korrekturen noch möglich.&lt;br /&gt;
# Wenn man einen Stift mit flüssigem Flussmittel hat, auf der zu lötenden Seite damit einfach über alle Pins pinseln.&lt;br /&gt;
# Mit dem Lötkolben über die erste Seite des TSSOP fahren. Dabei spielt es keine Rolle, ob Brücken entstehen. Wenn man vorverzinnte Pads und Lötstopplack hat, entstehen normalerweise keine Brücken, da die Oberflächenspannung die geringe Menge Zinn an Pad und Pin sammelt, so dass es zu wenig Zinn für eine Brücke ist.  Den Lötkolben mit einer Geschwindigkeit von ca. 1 - 2 Pins pro Sekunde vorwärts bewegen.&lt;br /&gt;
# Jetzt kann man das Bauteil loslassen, da es genügend fixiert ist.&lt;br /&gt;
# Mit dem Lötkolben über die andere(n) Seite(n) fahren.&lt;br /&gt;
# Mit Entlötlitze überflüssiges Zinn entfernen.&lt;br /&gt;
# Zum Abschluss kann man mit einer Lupe die Lötstellen überprüfen.&lt;br /&gt;
&lt;br /&gt;
Bei QFPs ist das Verfahren gleich, außer dass man 4 Seiten bearbeiten muss.&lt;br /&gt;
&lt;br /&gt;
Alternativ zur Entlötlitzentechnik gibt es auch Lötspitzen mit Hohlkehle.&lt;br /&gt;
&lt;br /&gt;
# Zuerst das Bauteil an zwei diagonalen Pins mit Lötzinn fixieren und die Ausrichtung prüfen. Ob Lötbrücken entstehen, ist zu diesem Zeitpunkt nicht wichtig.&lt;br /&gt;
# Dann genügend Flussmittel über die zu lötenden Pins streichen.&lt;br /&gt;
# Die Hohlkehle mit wenig Lötzinn füllen und über eine Seite des ICs führen.&lt;br /&gt;
# Jetzt hat man an einigen Stellen (meist am Ende der Seite, die man gelötet hat) einige Lötbrücken.&lt;br /&gt;
# Die Hohlkehle von Lötzinn reinigen und mit leerer Hohlkehle über die Lötbrücken fahren. Vorher nochmal genug Flussmittel draufgeben.&lt;br /&gt;
# Meist sind schon nach dem ersten mal keine Brücken mehr vorhanden. Falls doch, nochmals mit Flussmittel benetzen und an den entsprechenden Stellen mit der Hohlkehlspitze Lötzinn entfernen.&lt;br /&gt;
&lt;br /&gt;
Vorsicht! Flussmittel sind ätzend. Also nur bei eingeschalteter Lötdampfabsaugung arbeiten!&lt;br /&gt;
&lt;br /&gt;
==== Der Trick mit der Entlötlitze ====&lt;br /&gt;
&lt;br /&gt;
Bei kleinen SMD-Bauteilen kann es passieren, dass man beim Löten Zinnbrücken verursacht. Diese lassen sich recht einfach mittels Entlötlitze entfernen. Dabei sollte man direkt mit dem Ende der Litze entlöten und nicht der Mitte. Hilfreich kann bei wenig Platz auch ein schräges Anschneiden der Litze sein. Scharfe Schneidwerkzeuge, die ein Ausfransen der Litze verhindern, sind unverzichtbar (Tipp: SMD-Werkzeuge markieren, damit sie nicht versehentlich für grobe Arbeiten verwendet werden).&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich die Entlötlitze vorher leicht mit Flussmittel zu tränken, damit das Zinn besser aufgenommen werden kann.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollte man beim Arbeiten mit Entlötlitze, ob an SMD- oder anderen Bauteilen, etwas Vorsicht walten lassen. Entlötlitze ist ein sehr guter Wärmeleiter. Daher kann man sich beim Entlöten, wenn man die Litze direkt mit den Fingern hält, böse verbrennen. Über 300° vom Lötkolben über die Litze zu den Fingern übertragen sind kein Pappenstiel. Leider kann das Führen der Litze mit einer Pinzette oder kleinen Flachzange gerade bei SMD-Bauteilen zu ungenau sein, so dass man verleitet wird, die Finger zu nehmen.&lt;br /&gt;
&lt;br /&gt;
==== Trick 17 mit der Entlötlitze ====&lt;br /&gt;
&lt;br /&gt;
Mit der &amp;quot;Invertierte-Entlötlitzen-Methode&amp;quot; kann man auch mechanisch empfindliche Pins auf sehr kleinem Raster &#039;&#039;&#039;verlöten&#039;&#039;&#039;, indem man mit der Entlötlitze Lötzinn an das Pin/Pad-Paar zuführt. ([http://www.mikrocontroller.net/topic/94451#833286 Forumsbeitrag von Ulrich]).&lt;br /&gt;
&lt;br /&gt;
=== Reflow-Techniken ===&lt;br /&gt;
&lt;br /&gt;
Bei Reflow-Lötverfahren wird vor der Bestückung auf die Lötpunkte der Platine eine Lötpaste aufgetragen. Die Anschlüsse der zu lötenden Bauteile werden dann in diese Paste positioniert. Nach dieser Bestückung wird die Platine mit den Bauteilen erhitzt. Die Lötpaste schmilzt auf. Sind alle Lötpunkte aufgeschmolzen wird die Platine abgekühlt, das Lot härtet aus und die Bauteile sind verlötet.&lt;br /&gt;
&lt;br /&gt;
Reflow-Techniken galten lange Zeit als zu aufwendig für Amateure. Dies änderte sich, nachdem sich gezeigt hat, dass auch etwas hemdsärmelige Methoden zum Ziel führen. Auch diese setzen etwas Aufwand voraus, daher sind sie im folgenden nur kurz beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Lötpaste auftragen ====&lt;br /&gt;
&lt;br /&gt;
In der industriellen Fertigung wird die Lötpaste zum Beispiel mittels einer Schablone aufgetragen. Eine Schablonenfertigung (Laser) ist für Einzelstücke zu aufwendig und zu teuer, daher bleibt die Lötpaste von Hand aufzutragen. Für diese Zwecke ist Lötpaste in Spritzen erhältlich. Die Preise für Lötpaste sind horrend. Mit ein bis zwei Euro pro Gramm(!) muss man rechnen. Allerdings benötigt man nur sehr geringe Mengen pro Platine und Lötpaste ist nicht unbegrenzt lagerbar. Es sollte eine &amp;quot;no clean&amp;quot; Paste verwendet werden. &amp;quot;No clean&amp;quot; bedeutet, dass die Platine nicht von Flussmittelresten gereinigt werden muss.&lt;br /&gt;
&lt;br /&gt;
Vor dem Auftragen der Paste ist die Platine zu säubern, und nochmal zu säubern, und nochmal ... Dann wird eine sehr kleine Menge der Paste auf jeden Lötpunkt aufgetragen.&lt;br /&gt;
&lt;br /&gt;
==== Bauteile bestücken ====&lt;br /&gt;
&lt;br /&gt;
Die Anschlüsse der Bauteile werden in die Lötpaste gesetzt. Bei bleihaltiger Lötpaste muss die Ausrichtung nicht 100% genau sein, da die Bauteile beim Schmelzen der Paste durch die Oberflächenspannung in Position gezogen werden. Bei bleifreier Lötpaste ist dieser Effekt kaum vorhanden. Daher müssen die Bauteile in diesem Fall genau ausgerichtet sein.&lt;br /&gt;
&lt;br /&gt;
==== Umgebauter Pizzaofen ====&lt;br /&gt;
&lt;br /&gt;
Als Standardmethode für Amateure scheint sich die Verwendung eines umgebauten Pizzaofen durchzusetzen. Ein Elektro-Pizzaofen/Miniofen für den Hausgebrauch für vielleicht 20€ bis 50€ wird mit einer Mikrocontroller-Temperatursteuerung versehen. Mit dieser Steuerung werden die gewünschten Heiz- und Abkühl-Temperaturkurven gesteuert. Beim Umbau ist Vorsicht zu walten lassen, da die Heizung und Temperaturregelung solcher Öfen mit Netzspannung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Aus Gesundheitsgründen sollte ein zum Reflow-Löten verwendeter Ofen nicht mehr für Nahrungsmittel verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==== Elektro-Pfanne ====&lt;br /&gt;
&lt;br /&gt;
Statt eines mit einer Temperatursteuerung nachgerüsteten Pizzaofens wird gelegentlich einfach eine teflonbeschichtete Elektro-Pfanne verwendete. Elektro-Pfannen, manchmal auch Party-Pfannen genannt, sind in Deutschland eher selten in Haushalten zu finden. Es handelt sich dabei im Prinzip um eine Elektro-Heizplatte, die jedoch nicht flach, sondern deren Oberseite als Pfanne ausgeformt ist.&lt;br /&gt;
&lt;br /&gt;
Zum Reflowlöten wird eine bestückte Platine in die kalte Pfanne gelegt, mit der Lötseite, also den Bauelementen nach oben. Die Pfanne wird aufgeheizt und dabei die Platine beobachtet, bis die Lötpaste an allen Lötpunkten aufgeschmolzen ist. Da eine Elektro-Pfanne nicht überall gleichmäßig heizt, wird gelegentlich vorsichtiges Schwenken der Platine in der Pfanne vorgeschlagen, um die Platine gleichmäßig zu erwärmen. Ist die Lötpaste überall aufgeschmolzen wird die Elektro-Pfanne abgestellt. Die Platine bleibt in der Pfanne und kühlt dort langsam mit der Pfanne aus.&lt;br /&gt;
&lt;br /&gt;
Bei dieser Methode hat man keine Kontrolle über die Temperaturkurve. Selbige hängt nicht nur von der Bauart der Pfanne, sondern auch von der Umgebungstemperatur und der eigenen Reaktionszeit ab.&lt;br /&gt;
&lt;br /&gt;
Aus Gesundheitsgründen sollte ein zum Reflow-Löten verwendete Elektro-Pfanne nicht mehr für Nahrungsmittel verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==== Heißluft ====&lt;br /&gt;
&lt;br /&gt;
Die Geister scheiden sich daran, ob man mit Heißluft wirklich gut löten kann (beim Entlöten ist das anders). Viele bevorzugen noch den Lötkolben vor dem Heißluftgerät, andere haben mit Heißluftlöten keine Probleme.&lt;br /&gt;
&lt;br /&gt;
Mit Heißluft lötet man eine Platine bereichsweise. Auf die Lötpads in einem Bereich werden kleine Mengen Lötpaste aufgetragen und die Bauteile aufgesetzt. Die Lötpaste wird dann mittels Heißluft erwärmt und geschmolzen. Dabei muss man sowohl aufpassen, dass Bauteile und Platine nicht überhitzt werden und dass man die in der Lötpaste sitzenden Bauteile nicht verschiebt oder sogar von der Platine bläst. Nebenbei muss man natürlich aufpassen, dass man sich nicht an der Heißluft verbrennt.&lt;br /&gt;
&lt;br /&gt;
Entsprechende Heißluftgeräte (Hot-Air Stations, häufig auch Rework-Stations genannt), waren relativ teuer. Einige Marken sind mittlerweile jedoch für den Hobbyisten erschwinglich. Mit Übung lässt sich auch eine einfache Heißluft-Pistole verwenden. Allerdings ermöglichen deren Düsen kein sonderlich genaues Arbeiten.&lt;br /&gt;
&lt;br /&gt;
==== Herdplatte ====&lt;br /&gt;
&lt;br /&gt;
Mit etwas Erfahrung kann man auch sehr gut auf der Herdplatte löten. Die Herdplatte wird dabei rund eine halbe Stunde vorgeheizt, damit die Temperatur einigermaßen konstant bleibt. Mit etwas Lötzinn kann getestet werden, ob die Löttemperatur erreicht wurde. Die Herdplatte sollte nicht zu heiß eingestellt werden, damit der Lötstopplack sowie das Epoxyd nicht verheizt wird. &lt;br /&gt;
Die bestückte Platine wird mit einer Pinzette auf die Herdplatte gelegt. Schon nach kurzer Zeit sollte das Lötzinn anfangen zu schmelzen. Wenn alle Lötstellen verlötet sind, kann die Platine wieder heruntergenommen werden und abkühlen.&lt;br /&gt;
&lt;br /&gt;
== Entlöten von SMD-Bauteilen ==&lt;br /&gt;
&lt;br /&gt;
Leider halten ICs etc. nicht ewig und irgendwann muss jeder einmal SMD Bauteile wieder auslöten. Das Entlöten gestaltet sich im Grunde genauso einfach wie das Einlöten.&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei einfache Fälle: Entweder soll der Chip überleben oder die Platine. Der dritte Fall ist die erstrebenswerteste Methode: Chip und Platine überleben.&lt;br /&gt;
&lt;br /&gt;
=== Die einfachste Methode ===&lt;br /&gt;
&lt;br /&gt;
Die einfachste Methode ist ganz einfach den Lötkolben auf maximale Temperatur zu stellen und dann, mit etwas Lötzinn für besseren Wärmekontakt, auf die Mitte des auszulötenden ICs zu legen (mit der Spitze und dem Lötzinn darunter).&lt;br /&gt;
&lt;br /&gt;
Der IC stirbt dabei durch die rund 400 Grad des Lötkolbens sicherlich den Hitzetod, aber durch die Wärmeleitung schmilzt an den Beinchen des ICs das Lötzinn nach rund einer Minute und man kann den IC mit einer Pinzette dann abheben. Hierzu sollte man alle paar Sekunden testweise anheben und den Lötkolben nur leicht aufdrücken, um so ganz sicher alle anderen Bauteile heil zu lassen.&lt;br /&gt;
&lt;br /&gt;
Das auf der Platine verlaufene Lötzinn entfernt man, indem man mit der gereinigten Lötspitze (bei 200 Grad) über die nun geleerten Pads geht; Zubehör wie Entlötlitze ist überflüssig.&lt;br /&gt;
&lt;br /&gt;
So kann man beispielsweise einen USB-RS232-Adapter in einen USB-UART-Adapter umwandeln ;-)&lt;br /&gt;
&lt;br /&gt;
Getestet habe ich es bisher mit einem SD213 (28 Pins) und einem FT232 (32 Pins), aber etwas größere ICs, bis zum MSP430 mit 100 Pins, müssten auch möglich sein.&lt;br /&gt;
Durch Umdrehen der Platine sollten auch noch größere ICs so auslötbar sein (wobei man wegen der Schwerkraft dann die Pinzette einsparen kann), weil dann durch die Konvektion noch mehr Wärme übertragen wird.&lt;br /&gt;
&lt;br /&gt;
=== Chip Quick-Methode ===&lt;br /&gt;
[http://www.chipquik.com/ Chip Quick] bietet ein Set an mit dem sich SMD-Bauteile sehr einfach und zerstoerungsfrei entloeten lassen.&lt;br /&gt;
&lt;br /&gt;
Dabei wird auf die Beinchen reichlich Flussmittel aufgetragen. Dann eine große Menge speziellem Loetzinn aufgetragen, das eine sehr geringe Schmelztemperatur hat. Das verbindet sich mit dem Loetzinn und bleibt lange fluessig. Die Temperatur ist so gering, dass das Bauteil überlebt.&lt;br /&gt;
Wenn alle Beinchen in dem Loetzinn-Blob stehen, faellt das Bauteil fast von alleine ab.&lt;br /&gt;
&lt;br /&gt;
Diese Methode wird in dem Make-Magazine Video gezeigt, das unten verlinkt ist.&lt;br /&gt;
&lt;br /&gt;
Ich vermute, dass es sich bei der Chip Quick-Legierung um Wood&#039;sches Metall (enthält Cadmium) oder wahrscheinlicher um die Rose-Legierung (Cadmiumfrei) handelt. Bei tmp-loettechnik.de bekommt man letzteres, allerdings nur als Barren. Mit dieser Legierung (Schmelzpunkt 98 °C) kann man auch Teile zur mechanischen Bearbeitung eingießen und im kochenden Wasser wieder befreien. &amp;quot;Flüssiger Schraubstock&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Die Zahnarztmethode ===&lt;br /&gt;
&lt;br /&gt;
==== Benötigtes Werkzeug ====&lt;br /&gt;
&lt;br /&gt;
* Lötkolben&lt;br /&gt;
* Lötzinn &lt;br /&gt;
* Ablöthebel &lt;br /&gt;
* Entlötlitze&lt;br /&gt;
&lt;br /&gt;
==== Ablöthebel u.ä ====&lt;br /&gt;
&lt;br /&gt;
Ein Ablöthebel oder verwandte Werkzeuge sehen so aus, als ob sie aus der Praxis eines Zahnarztes (Zahnsonde) oder der Werkstatt eines Zahntechnikers stammen. Dabei handelt es sich um Metallhaken, eventuell (in der einfachen, nicht medizinischen Ausführung) mit Plastikgriff. Es gibt sie in verschiedenen Formen und Größen. &lt;br /&gt;
&lt;br /&gt;
Als Werkzeug zum Entlöten findet sich eine Form unter der bereits erwähnten Bezeichnung &#039;&#039;Ablöthebel&#039;&#039;, ebenso findet man ähnliche Werkzeuge als Teil von sogenannten &#039;&#039;Platinen-Reinigungsbestecken&#039;&#039; (Beispiel Conrad Bestellnummer 588239). Im Englischen heißen entsprechende Werkzeuge &#039;&#039;soldering aid hook&#039;&#039; (Haken), &#039;&#039;soldering aid fork&#039;&#039; (Haken/Hebel mit gespaltener Klinge. Wenn als Hebel ausgeführt ein &#039;&#039;Ablöthebel&#039;&#039;), oder &#039;&#039;soldering aid spike&#039;&#039;, &#039;&#039;reamer&#039;&#039; oder &#039;&#039;probe&#039;&#039; (gebogene oder ungebogene Tastspitze).&lt;br /&gt;
&lt;br /&gt;
Ein solcher Hebel oder Haken ist ein nützliches Werkzeug beim Auslöten von SMD Bauteilen. Vorsichtig eingesetzt kann er durchaus beim zerstörungsfreien Entlöten verwendet werden, zum Beispiel bei der Verwendung von [[#Heißluft|Heißluft]]. Im Folgenden wird allerdings eine zerstörende Methode beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Der Entlötvorgang ====&lt;br /&gt;
&lt;br /&gt;
Das Entlöten ist bei fast allen SMD-Bauteilen gleich, egal welcher Pinabstand und wie viele Pins. &#039;&#039;&#039;Achtung&#039;&#039;&#039;, der IC geht dabei kaputt.&lt;br /&gt;
&lt;br /&gt;
# Man bringt eine dicke Zinnwurst auf alle Pins auf.&lt;br /&gt;
# Erwärmen des Zinns mit dem Lötkolben.&lt;br /&gt;
# Ausheben der Pins mithilfe des Hebels oder Hakens. Hier kann man bei den Bauteilen mit kleinem Pinabstand gleichzeitig mehrere hochheben.&lt;br /&gt;
# Solange wiederholen, bis alles raus ist.&lt;br /&gt;
# Entfernen der Zinnreste mit Entlötlitze.&lt;br /&gt;
&lt;br /&gt;
=== Die 2-Lötkolben-Methode ===&lt;br /&gt;
&lt;br /&gt;
Diese Methode eignet sich für alle SMD-Bauteile mit 2 gelöteten Seiten: Widerstände, Kondensatoren, kurze ICs (z.B. 2x8 Pins). Bei den Widerständen und Kondensatoren ist alles klar. Von jeder Seite einen Lötkolben anhalten, das Bauteil löst sich ab und bleibt meist an einem der Kolben kleben, wo man es abschütteln kann. Bei ICs verzinnt man zunächst beide Pin-Reihen ordentlich, danach versucht man mit den Kolben das Zinn auf beiden Reihen und der gesamten Länge flüssig zu bekommen, evtl. muss man die Lötkolben dabei etwas bewegen. Ist das Zinn komplett flüssig, kann man das IC beiseite schieben. Das geht besonders gut bei Platinen mit Lötstopplack. Bei dieser Methode kann man die Bauteile in der Regel anschließend weiter verwenden, überflüssiges Zinn an den Pins mit Lötsauglitze entfernen.&lt;br /&gt;
&lt;br /&gt;
=== Die Rohrstückmethode ===&lt;br /&gt;
&lt;br /&gt;
Diese Methode eignet sich für ICs mit Pins an zwei Seiten (SO-Gehäuse). Chip und Platine haben Chancen zu überleben. Man nehme ein Stück Kupferrohr der passenden Länge und sägt es der Länge nach durch, so dass man zwei Halbschalen hat. Eine der Halbschalen befestigt man an einer alten Lötspitze, z.B. indem man ein Gewinde schneidet oder hartlötet.  Nun kann man alle Pins gleichzeitig erwärmen und das IC abnehmen.&lt;br /&gt;
&lt;br /&gt;
=== Die Kupferdraht-Haken-Methode ===&lt;br /&gt;
&lt;br /&gt;
Die Methode funktioniert ähnlich wie die zuvor beschriebenen &#039;&#039;Rohrstückmethode&#039;&#039;. Das Erstellen des Hilfsmittels ist wesentlich einfacher, allerdings ist es keine Dauerlösung. Die Methode eignet sich für kleine Bauteile (Widerstände, etc.) mit Pins an zwei Seiten.&lt;br /&gt;
&lt;br /&gt;
Das Ende eines Stück blanken Kupferdrahts wird mittels einer kleinen Flachzange zu einem U-förmigen Haken abgebogen. Dabei wählt man die Lichte Weite des Hakens so, dass man mit zwei Seiten des Hakens die Pins des zu entlötenden Bauteils gleichzeitig erreichen kann. Das andere Ende des Kupferdrahts wickelt man mehrfach um die Spitze eines kalten(!) Lötkolbens. Das Ende mit dem Hacken sollte dabei nicht mehr als vielleicht 2 cm über die Lötkolbenspitze hinausreichen und der Draht wird so gebogen (gekröpft), dass man den Lötkolben bequem führen kann um den Haken flach am Bauteil anzulegen. Um Missverständnisse zu vermeiden, der Haken soll am Bauteil angelegt und nicht etwa in irgendeiner Weise unter das Bauteil geschoben werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Lötkolben und damit der Haken erhitzt. Ist die Hakenspitze heiß genug, legt man den Haken am Bauteil an. Sobald das Lötzinn an den Pins geschmolzen ist zieht man das Bauteil von den Pads. Bauteile haben dabei die Angewohnheit für immer auf dem Fußboden verloren zu gehen. Benötigt man das Teil noch, so sollte man etwas Vorsicht walten lassen.&lt;br /&gt;
&lt;br /&gt;
=== Die dicke Kupferdrahtmethode ===&lt;br /&gt;
&lt;br /&gt;
1,5 - 2,5 mm² Massivdraht so zurechtbiegen, dass er exakt und plan auf die Pins passt. Dann mit viel Zinn schnell verlöten. Das geht am besten mit zwei oder drei stärkeren Lötkolben und einer zweiten Person. Ich habe aber auch schon alleine mit 2 Kolben 160-Poler ausgelötet, ohne IC oder Platine zu beschädigen.&lt;br /&gt;
&lt;br /&gt;
IC am besten mit einer Pinzette oder einem Vakuumsauger (z.B. Kontaklinsensauger für harte KL aus Silikon) abheben und noch im heißen Zustand den dicken Draht samt Zinn abklopfen. Danach das IC möglichst schonend (gleichmäßig und schnell) abkühlen, evtl. schon vor dem Löten einen kleinen Kühlkörper auf das IC legen / kleben.&lt;br /&gt;
&lt;br /&gt;
Die Methode kombiniert sich gut mit der Bügeleisen- oder Ceranfeld-Vorwärm-Methode.&lt;br /&gt;
&lt;br /&gt;
=== Der Trick mit dem Platinensicherungshalter ===&lt;br /&gt;
&lt;br /&gt;
Speziell zum Auslöten von SO-ICs mit 2x4 Beinchen kann man den einzelnen Clip eines Platinensicherungshalters (Durchstecktechnik, für 5 x 20 mm Sicherungen) benutzen. Mit einer feinen Zange biegt man zunächst die sich nach außen öffnenden Enden des Clips etwas nach innen. Auf diese Weise entsteht eine Mini-Zange, die genauso breit ist wie die Beinreihe des IC und sich aufgrund ihrer Vorspannung am IC festhalten kann. Den modifizierten Clip klemmt man von oben über den IC und erhitzt seine Bodenplatte mit dem Lötkolben (16W). (Anstelle der oben beschrieben Zinn-Wurst-Methode bildet nun der Clip die Wärmebrücke, ähnlich der oben beschriebenen Rohrstückmethode) Der Clip wird mit einer Pinzette abgehoben und nimmt den IC mit.&lt;br /&gt;
&lt;br /&gt;
Die Platine und der IC bleiben ganz.&lt;br /&gt;
&lt;br /&gt;
=== Lötkolbeneinsätze ===&lt;br /&gt;
&lt;br /&gt;
Für einige SMD-Bauformen gibt es Lötkolbeneinsätze, mit denen man alle Anschlüsse eines Bauteils gleichzeitig erhitzen kann. Allerdings sind diese relativ teuer, man braucht für jede Bauform einen eigenen Einsatz und es gibt IC-Bauformen, bei denen die Anschlüsse so angeordnet sind, dass man dafür keinen Einsatz bauen kann.&lt;br /&gt;
&lt;br /&gt;
=== Zangenlötkolben ===&lt;br /&gt;
&lt;br /&gt;
Ein Zangenlötkolben (auch &amp;quot;Tweeser&amp;quot;) genannt, ist ein Lötkolben, der zwei Spitzen besitzt, die ähnlich wie bei einer Pinzette verbunden sind und wie eine Pinzette bedient wird. Die Spitzen sind dabei keine Spitzen, sondern flache Einsätze. Mit dem Lötkolben kann man sehr einfach Anschlüsse von Bauteilen mit zwei gegenüberliegenden Anschlüssen (Widerstände, etc.) oder Anschlussreihen erhitzen und das Bauteil dann direkt mit dem Lötkolben von der Platine nehmen.&lt;br /&gt;
Es empfiehlt sich dabei, eine zusätzliche Pinzette zur hand zu nehmen um das Bauteil von der Platine zu heben, da teilweise maschinell bestückte SMD mit einem Klebepunkt auf der Platine fixiert werden.&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil dabei ist, dass das Bauteil relativ lange erwärmt wird, da es mit der Zange abgehoben und dann weiter erwärmt wird, bis man es aus der Zange entfernt. Ein weiterer Nachteil ist, dass sich der Lötkolben nur für zweireihige Bauteile eignet.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil dabei aber ist die schnelle und einfache Funktion. Muss man mehrere Widerstände gleicher Bauform von einer Platine entfernen, kann dieses sogar ohne Absetzen in einem Durchgang geschehen. Die bereits entlöteten Widerstände behält man dabei einfach zwischen den Zangenbacken und schiebt sie mit dem nächsten Widerstand etwas nach hinten.&lt;br /&gt;
&lt;br /&gt;
=== Kupferlackdraht ===&lt;br /&gt;
&lt;br /&gt;
Eine weitere sehr elegante Möglichkeit um auch grössere SMD-ICs zerstörungsfei von einer Platine zu bekommen, ist die &amp;quot;Kupferlackdraht-Methode&amp;quot;. Man benötigt lediglich etwas Kupferlackdraht (0,2 - 0,3 mm) und natürlich einen Lötkolben. Die einzige Bedingung ist, dass man den Kupferlackdraht auch unter den Pins bzw. dem Bauteilgehäuse durchfädeln kann.&lt;br /&gt;
&lt;br /&gt;
==== Vorgehensweise ====&lt;br /&gt;
&lt;br /&gt;
# Kupferlackdraht unter den Pins durchfädeln&lt;br /&gt;
# Jeden einzelnen Pin kurz mit dem Lötkolben leicht berühren und gleichzeitig den Kupferlackdraht zwischen Platine und Pin durchziehen&lt;br /&gt;
# Eventuell den Kupferlackdraht erneut unter den Pins durchfädeln und die Pins, bei denen der Kupferlackdraht beim Durchziehen &amp;quot;hängen bleibt&amp;quot;, nochmals mit dem Lötkolben antippen&lt;br /&gt;
&lt;br /&gt;
Es gibt aber auch dünnen Stahldraht (D=0,2 mm) für diesen Zweck zu kaufen.&lt;br /&gt;
Das Optimum ist dünnes Bandblech aus Edelstahl, ca 4 - 5 mm breit, ebenfalls etwa 0,2mm dick. Die in akustomagnetischen Warensicherungsetiketten enthaltenen Blechstreifen eignen sich gut. Auch einen Skalpellhalter mit Einmalklingen kann man hierfür verwenden. Die Spitze des Skalpells wird hinter dem Pin angesetzt (in der Lücke zwischen Pin und Gehäuse), nach unten und vorn gedrückt und der Pin mit dem Lötkolben erwärmt. Sobald das Lötzinn geschmolzen ist, rutscht das Skalpell zum nächsten Pin weiter. Hinterher müssen lediglich die Pins wieder geradegebogen werden.&lt;br /&gt;
&lt;br /&gt;
=== Mechanisch abtrennen ===&lt;br /&gt;
&lt;br /&gt;
==== Die Cuttermethode ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit, ein SMD IC von einer Platine zu entfernen, ist es die Beinchen vor dem Entlöten zu durchtrennen. Dazu nimmt man ein Cuttermesser mit Abbrechklingen oder ein Bastelmesser mit auswechselbarer Skalpellklinge (z.B. X-Acto Klinge #16, #17 oder #19), setzt es so nah wie möglich am Gehäuse auf ein paar der IC-Beinchen auf und drückt gerade &#039;&#039;&#039;ohne Seitwärtsbewegung&#039;&#039;&#039; nach unten. Dies durchtrennt die Beine ohne darunterliegende Leiterbahnen zu verletzen. Ein wenig Gefühl ist dabei natürlich nötig. Üben auf einem alten PC Mainboard lohnt sich. Nachdem auf diese Weise alle Beine vom IC abgetrennt sind, kann man die auf der Platine verbliebenen Reste der Beinchen einfach mit dem Lötkolben &amp;quot;abwischen&amp;quot; und die Lötzinreste mit Entlötlitze entfernen. Die Wärmebelastung der Platine ist bei dieser Methode wesentlich geringer, allerdings besteht die latente Möglichkeit Leiterbahnen zu durchtrennen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Es hat sich dabei bewährt, vorher alle Pins mit einer relativ dicken Schicht Lötzinn zu verbinden. So werden abgerissene Leiterbahnen durch versehentliche Seitwärtsbewegungen verhindert. Es muss allerdings darauf geachtet werden, dass das Lötzinn nicht ganz bis ans Gehäuse reicht, da sonst das Schneiden nahezu unmöglich ist.&lt;br /&gt;
&lt;br /&gt;
==== Die Mini-Trennscheiben-Methode ====&lt;br /&gt;
&lt;br /&gt;
Man nehme eine sehr schnelle, kleine Handbohrmaschine (Proxxon, Dremel oder dergleichen), setze eine kleine Trennscheibe auf und flexe unter der Lupenbrille vorsichtig die Beinchen nahe dem Gehäuse ab. Das Gehäuse fällt irgendwann ab, die Beinchen werden mit einem Lötkolben weggewischt.&lt;br /&gt;
&lt;br /&gt;
==== Die Abschlagmethode ====&lt;br /&gt;
&lt;br /&gt;
Wenn man SMD ICs von einer Platine retten möchte, die Platine aber später in den Müll wandert, kann man das IC mit seinem Körper auch auf eine harte Kante legen (die Platine ist dabei mehr oder weniger senkrecht).  Dann ein beherzter Schlag mit dem Handballen auf die Platinenkante und der Chip wird von der Platine abgerissen.  Die Beinchen muss man nachher etwas richten, aber normalerweise funktioniert diese Methode sehr zuverlässig, besonders bei maschinell gelöteten Platinen.  Diese Methode funktioniert sowohl mit SO-Gehäusen als auch mit radiergummigroßen DC/DC Wandlern.&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Die Stechbeitelmethode ====&lt;br /&gt;
&lt;br /&gt;
Hier gilt das gleiche Prinzip wie bei der Abschlagmethode: Zuerst knicken die Beinchen ein und reißen dann von den Leiterbahnen ab. Sie lassen sich aber leicht zurückbiegen und das IC wird garantiert nicht überhitzt. Der Beitel sollte ca. 8 - 15 mm breit sein, ein alter, angeschliffener Schraubendreher mit großem Griff tut&#039;s auch. Dann die Platine flach vor sich auf den Tisch legen, das IC liegt senkrecht zur Tischkante. Den Beitel senkrecht zur Platine mit der flachen Seite an das IC anlegen, die linke Ecke der Schneide liegt dabei auf der Stirnseite in Höhe der Mittellinie, die rechte Ecke der Schneide wird als Widerlager in die Platine gepresst. Den Beitel dafür etwas nach rechts kippen, mit Gewicht fest in die Platine drücken und mit Gefühl im Uhrzeigersinn drehen. So wird das IC in Längsrichtung und parallel zur Platine weggehebelt. Die benötigte Kraft kann man sehr gut dimensionieren. Wenn man das raus hat, braucht man ca. 1 - 2 Sekunden pro IC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Heißluft ===&lt;br /&gt;
&lt;br /&gt;
Heißluft ist eigentlich das Mittel der Wahl für SMD-Entlöten. Heißluft erfordert etwas Übung, egal welche Methode man im Einzelfall anwendet. Das Arbeiten mit einer Speziell für die Elektronik gemachten Heißluftstation ist dabei am bequemsten, daher wird es zuerst genannt.&lt;br /&gt;
&lt;br /&gt;
==== Heißluftstation / Hot-Air Station / Rework-Station ====&lt;br /&gt;
&lt;br /&gt;
Heißluftgeräte waren früher relativ teuer. Einige Marken, meist chinesische Produkte, sind mittlerweile jedoch für den Hobbyisten erschwinglich (ab ca. 60 bis 70 Euro aufwärts, Stand 2009) und brauchbar, auch wenn es einen deutlichen Unterschied zwischen diesen Produkten und High-End-Geräten gibt. So sind die Handgriffe wesentlich unhandlicher und die Regelung ist ungenauer. Trotzdem kann man mit den einfachen Geräten vernünftig arbeiten. &lt;br /&gt;
&lt;br /&gt;
Theoretisch sollte man zum Entlöten jeweils einen genau auf die Bauform des Bauteils passenden Heißluft-Einsatz verwenden. Nun gibt es allerdings sehr viele unterschiedliche Bauformen und je nach Station sind die Einsätze relativ teuer (ausgenommen vielleicht die für chinesische Produkte, die meist alle vergleichbare und bezahlbare 22 mm Einsätze haben). Daher ist es nicht unüblich, für viele Anwendungen einfach eine runde 5 mm Düse zu verwenden, wie sie normalerweise schon in der Grundausstattung einer Heißluftstation enthalten ist. &lt;br /&gt;
Die Pins eines Bauteils erhitzt man dann mit einer kreisförmige Bewegung aus ca. 2 cm Abstand. Dabei prüft man immer mal wieder mit einer Pinzette oder ähnlichem Werkzeug ob sich das Bauteil schon abheben lässt. Dabei sollte man das Werkzeug nicht ständig in den Luftstrom halten, da es dabei eventuell zu heiß werden kann.&lt;br /&gt;
&lt;br /&gt;
An einer Heißluftstation gibt es zwei wichtige Einstellungen:&lt;br /&gt;
* Temperatur&lt;br /&gt;
* Luftstrom&lt;br /&gt;
&lt;br /&gt;
Mit beiden Einstellungen muss man etwas üben. Zum Start kann man es mit ca. 400 Grad und ca. 20 l/min versuchen.&lt;br /&gt;
&lt;br /&gt;
Neben dieser einfachen Methode (rumkreisen bis was geht), gibt es relativ aufwendige Verfahren beim Arbeiten mit Heißluft, zum Beispiel muss bei bestimmten Trägermaterialien die Platine vorgeheizt werden. Ohne entsprechende Schulung ist es schwer sich solche Methoden selber anzueignen.&lt;br /&gt;
&lt;br /&gt;
==== Gaslötkolben mit Heißluftdüse ====&lt;br /&gt;
&lt;br /&gt;
Man kaufe für ca €60 einen Gaslötkolben mit Heißluftdüse. Wenn man den Gaslötkolben mit Heißluftdüse auf volle Leistung stellt, soll dieser angeblich bis 600 Grad Warmluft abgeben, was mehr als genug zum Entlöten ist. Damit SMD Bauteil durch kreisförmige Bewegung rundherum an den Pins mit 2 cm Abstand gezielt erhitzen. Das dauert ca. 2 Minuten. Das Bauteil lässt sich dann abnehmen, wegschieben oder abschlagen. Teilweise werden wenige eng am Bauteil bestückte Blockkondensatoren ebenfalls ausgelötet.&lt;br /&gt;
&lt;br /&gt;
Es lassen sich SMD&#039;s jeder Größe und Pinabstand ohne Beschädigung auslöten. Die ausgelöteten Bauteile lassen sich problemlos wieder verwenden. Die Platine mit Lötsauglitze und Aceton säubern und neues Bauteil drauf. Habe so während der Entwicklung FPGAS und Treiber IC&#039;s auf einer Platine schon bis zu fünf mal getauscht.&lt;br /&gt;
&lt;br /&gt;
==== Heißluftpistole ====&lt;br /&gt;
&lt;br /&gt;
Eine Heißluftpistole, wie man sie im Baumarkt zum Abbrennen alter Farbe u.ä. kaufen kann, kann gute Dienste beim SMD-Löten leisten. Empfehlenswert sind solche mit Temperaturregler, aber selbst die einfachsten Varianten (die in der Regel nur zwei Stufen haben, mit denen man sowohl die Gebläsegeschwindigkeit als auch die Heizleistung umschaltet) sind für viele Zwecke brauchbarer, als man auf den ersten Blick annehmen würde.&lt;br /&gt;
&lt;br /&gt;
Einfach Platine einspannen und mit der Heißluftpistole langsam und gleichmäßig erwärmen. Dabei nicht zu heiß arbeiten, etwas mehr Zeit für die Arbeit schadet Platine und Bauteilen weniger, als mit zu großer Temperatur alles zu verbrennen.  Wenn man vorsichtig arbeitet und den Punkt gut herausfindet, an dem sich das fragliche Bauteil ablösen lässt, taugt die Methode sogar für Reparaturlötungen, d.h. sowohl Platine als auch Bauteil bleiben dabei ganz.  Damit ist die Methode auch durchaus geeignet, alten Elektronikschrott zu recyclen, um auf diese Weise preiswert zu einem Grundstock an diversen SMD-&amp;quot;Hühnerfutter&amp;quot; (Widerstände, Kondensatoren, oft auch Tantal-Elkos) sowie teilweise auch Standard-ICs (74xxx, LM358 u.ä.) zu gelangen.&lt;br /&gt;
&lt;br /&gt;
Vermutlich lassen sich Pertinax-Platinen danach nicht mehr verwenden, aber diese haben bei den schmalen Leiterzugbreiten von SMD ohnehin kaum eine Überlebenschance.  Besser gleich trotz des höheren Preises alles auf Epoxyd anfertigen -- gerade bei den hobbytypischen Einzelstücken ist andernfalls die verschwendete Arbeitszeit sehr viel ärgerlicher als der höhere Preis der Epoxyd-Platine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tipp:&#039;&#039;&#039; Die Platine mit einem Stück Alufolie so abdecken, dass nur das auszulötende Bauteil im Luftstrom ist (an der Stelle ein Loch in die Folie machen).&lt;br /&gt;
&lt;br /&gt;
Falls das Überleben der Platine wirklich völlig egal ist, kann man auch die Rückseite der Platine mit der Heißluftpistole erhitzen, bis die Vorderseite so heiß ist, dass die SMD-Chips einfach abfallen. Zwei Vorteile ergeben sich aus diesem Verfahren für die Überlebenswahrscheinlichkeit der Bauteile:&lt;br /&gt;
&lt;br /&gt;
* Der Temperaturgradient ist so gerichtet, dass die Beine des Chips die höchste Temperatur haben und nicht der Chip selbst, wenn man von oben auf das Gehäuse bläst&lt;br /&gt;
* Die, wenn auch geringe, Wärmeleitung der Platine sorgt für eine gleichmäßigere Temperaturverteilung auf der Vorderseite.&lt;br /&gt;
&lt;br /&gt;
Von Nachteil allerdings ist, dass die Platine evtl. auf der Rückseite so heiß wird, dass sie anfängt, sich zu zersetzen. Das ist sicherlich nicht gesund und daher sollte man hier vorsichtig sein (langsam erhitzen, frische Luft).&lt;br /&gt;
&lt;br /&gt;
Alternativ geht es auch mit der Heißluftdüse eines Gaslötkolbens (z.B. von Ersa). Dabei geht man zügig mit dem heißen Luftstrom über die Pins des ICs und erwärmt sie, bis sich das IC gewaltfrei abheben lässt. Richtig gemacht überleben IC und Platine.&lt;br /&gt;
&lt;br /&gt;
=== Komplette Platine erhitzen ===&lt;br /&gt;
&lt;br /&gt;
Wenn man alle Bauteile von einer Platine auf einmal ablösen möchet bietet es sich an, die gesamte Platine mit den Bauteile so weit zu erhitzen bis das Lot überall geschmolzen ist. Die Bauteile können dann mit einen Schlag von der Platine abgeschlagen werden.&lt;br /&gt;
&lt;br /&gt;
==== Reflow-Ofen ====&lt;br /&gt;
&lt;br /&gt;
Was zum Löten taugt, taugt auch zum Entlöten. Die Platine mit den Bauteilen wird im Reflow-Ofen erhitzt.&lt;br /&gt;
&lt;br /&gt;
==== Backofen ====&lt;br /&gt;
&lt;br /&gt;
Wie in Reflow-Ofen. Man sollte sich allerdings gut überlegen, ob man das in einem Ofen der noch für Nahrungsmittel verwendet wird, machen sollte.&lt;br /&gt;
&lt;br /&gt;
==== Gasherdmethode ====&lt;br /&gt;
&lt;br /&gt;
Auf einer einseitig bestückten SMD-Platine kann man Bauteil und Platine  zerstörungsfrei wie folgt trennen: Von der großen Gasflamme die Abdeckung herunternehmen, diese Abdeckung z.B. mit Hilfe des Halters für kleine Töpfe über die kleine Gasflamme legen (natürlich geht das auch mit einem anderem Stück Metall, Hauptsache gerade) und dann mit der kleinen Gasflamme die Metallplatte/Abdeckung darüber erwärmen. Mit einem Stück Lötzinn probieren, ob es schon heiß genug ist (Lötzinn muss schmelzen, perlen und abtropfen).&lt;br /&gt;
&lt;br /&gt;
Wenn ja: Flamme ausmachen, Platine mit der nicht bestückten Seite auf das heiße Metall drücken, ein paar Sekunden warten, bis die Wärme von unten durch die Platine gewandert ist, und das Bauteil mit einer Pinzette abnehmen. Getestet mit Epoxyd-Platine. Sie hat überlebt, nur etwas dunkel verfärbt. Es empfiehlt sich, mit einer unkritischen Platine etwas zu üben.&lt;br /&gt;
&lt;br /&gt;
==== Bügeleisenmethode ====&lt;br /&gt;
&lt;br /&gt;
Ein Bügeleisen umgekehrt in einen Schraubstock spannen, eventuell mit einem&lt;br /&gt;
Tuch am Griff vor Kratzern schützen und die Gleitfläche mit Alufolie abdecken - um Ärger mit der besseren Hälfte zu vermeiden ;-) Auf maximale Temperatur stellen (Leinen), Platine mit der nicht bestückten Seite auflegen und warten, bis das Lot flüssig wird. Bauteile mit einer Pinzette abheben. Platine nach und nach verschieben um alle Stellen zu erhitzen.&lt;br /&gt;
&lt;br /&gt;
==== Ceran-Herd ====&lt;br /&gt;
&lt;br /&gt;
Geht nur bei einseitig bestückten Platinen!&lt;br /&gt;
&lt;br /&gt;
Ähnelt der Bügeleisen-Methode, ist wegen der IR-Strahlung besser.&lt;br /&gt;
&lt;br /&gt;
Platine auf das Ceranfeld legen. Dann das Feld ca. alle 1 - 2 Sekunden ein- und ausschalten. Dabei das An-Intervall langsam erhöhen. Dies so lange durchführen, bis das Zinn geschmolzen ist. Nun die gewünschten Bauelemente verschieben oder abheben. Darauf achten, dass das Glas frei von Zinn und anderen Stoffen bleibt.&lt;br /&gt;
&lt;br /&gt;
Achtung: Das Glas wird ungleichmäßig heiß, da die Heizwendeln lokal angeordnet sind.&lt;br /&gt;
&lt;br /&gt;
Wichtig: die Platine ist über ihrer Glastemperatur, also biegsam. Die Platine einfach auf dem Ceran Herd auf eine kalte Platte legen und abkühlen lassen.&lt;br /&gt;
&lt;br /&gt;
Eignet sich gut zum Vorwärmen auf ca. 100 - 150°C, auch bei beidseitig bestückten Boards, in Verbindung mit anderen Methoden (z.B. Heißluft).&lt;br /&gt;
&lt;br /&gt;
Ähnliche Vorwärmplatten gibt es speziell für die Löttechnik.&lt;br /&gt;
&lt;br /&gt;
=== Recycelte Chips wiederaufbereiten ===&lt;br /&gt;
&lt;br /&gt;
* Zuerst müssen die Lötzinnreste entfernt werden. &lt;br /&gt;
In Alkohol gelöstes Kolophonium wirkt da Wunder. Einfach den Chip in dieses Flussmittel tauchen, welches man vorher z.B. auf einen kleinen Unterteller oder -tasse in kleinen Mengen vergossen hat. &lt;br /&gt;
* Dann mit sauberer Lötspitze an den Pins entlangziehen und das überflüssige Lötzinn an einem Schwamm oder Zellstoff (-Taschentuch) abstreifen. &lt;br /&gt;
* Verklebte Pins mittels dünner Lötspitze auseinanderbringen, auch ein Zahnstocher aus Holz leistet wertvolle Dienste.&lt;br /&gt;
* Bei Pins, die enger als 0,6 mm sind, hilft zusätzlich Entlötsauglitze. Anstelle von Entlötsauglitze kann auch ein dünnes, abisoliertes Litzenkabel (möglichst feindrahtig) dienen.&lt;br /&gt;
:Man sollte aber immer daran denken, dass die Gefahr des Ausfalls durch Überhitzung besteht. &lt;br /&gt;
&lt;br /&gt;
Eine zweite Möglichkeit besteht darin das Lötzin &amp;quot;abzudremeln&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dazu eine kleine rotierende Messingbürste in den Dremel (Multifunktions-Schleifer) und an den Pins von innen nach außen entlangziehen.&lt;br /&gt;
&lt;br /&gt;
* Stahlbürsten sind mit Vorsicht zu genießen, weil sie einfach zu hart sind. &lt;br /&gt;
* Kunststoffbürsten hingegen können sich elektrostatisch aufladen!&lt;br /&gt;
* Eine &amp;quot;dritte Hand&amp;quot; oder Einspannvorrichtung erleichtert das Recyceln erheblich.&lt;br /&gt;
&lt;br /&gt;
Eine weitere Dritte ist Graphit: Lötzinn und Bleistift sind von Natur aus Feinde. Warmmachen, und Zinn mit Bleistift &amp;quot;wegdrängeln&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Das Ausrichten und Geradebiegen der Pins überlasse ich den eigenen Fähigkeiten.&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
&lt;br /&gt;
Man sollte nicht glauben, dass man jetzt sofort jegliches SMD einlöten kann, mal abgesehen von Widerständen. Alles benötigt eine gewisse Übung und es empfiehlt sich, erst mit den einfacheren SO-Packages anzufangen und einige TSSOPS einzulöten bevor man sich an TQFP oder ähnliches heranwagt. Außerdem sollte man sich für die ersten Versuche nicht unbedingt einen 10 Euro teuren Chip hernehmen. Wenn man aber nicht 2 linke Hände hat, sollten alle Packages beim zweiten oder dritten Lötversuch einigermaßen sauber eingelötet sein. Und besonders bei den TSSOPs und TQFPs sieht es dann fast wie Industriefertigung aus.&lt;br /&gt;
&lt;br /&gt;
==== Kontrollieren von Lötstellen ====&lt;br /&gt;
&lt;br /&gt;
Zur Kontrolle der gelöteten Bauteile sollte man, wie schon erwähnt, eine gute Lupe - besser noch Lupenleuchte - benutzen oder auch schon preiswert über diverse Internetauktionen zu ersteigernde &amp;quot;USB Mikroskope&amp;quot;, die an einen PC oder Laptop angeschlossen werden können.&lt;br /&gt;
&lt;br /&gt;
Das kann böse Überraschungen bei der Inbetriebnahme der gelöteten Platine vermeiden.&lt;br /&gt;
&lt;br /&gt;
Unabdingbar ist immer eine gute Ausleuchtung des Arbeitsplatzes.&lt;br /&gt;
&lt;br /&gt;
Auslöten kann man gut an defekten Platinen, z.B. aus Computern, üben.&lt;br /&gt;
&lt;br /&gt;
Und ja keine Lötpaste essen!!!!&lt;br /&gt;
Dann wird alles gut :D&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[IC-Gehäuseformen#Adapterplatinen für SMD-ICs|Adapterplatinen für SMD-ICs]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://thomaspfeifer.net/ SMD löten/entlöten und Reflow Ofen Selbstbau (unter Trickkiste und AVR Projekte)]&lt;br /&gt;
* [http://iwenzo.de/wiki/Kategorie:SMD SMD Bauteilliste]&lt;br /&gt;
* [http://www.seattlerobotics.org/encoder/200006/oven_art.htm SMD-Löten im Toastofen] (englisch)&lt;br /&gt;
* [http://www.elv-downloads.de/downloads/journal/SMD-Anleitung.pdf SMD-Anleitung von ELV] praktische Tips (deutsch)&lt;br /&gt;
* [http://www.bimbel.de/artikel/artikel-17.html Bilder und kleine Anleitung]&lt;br /&gt;
* [http://www.ulrichradig.de/ SMD-ICs ein-/auslöten (unter Tipps&amp;amp;Tricks)]&lt;br /&gt;
* [http://www.gadgetpool.de/nuke/modules.php?name=News&amp;amp;file=article&amp;amp;sid=23 SMD-Löten für jedermann]&lt;br /&gt;
* [http://www.makezine.com/blog/archive/2007/01/soldering_tutor_1.html MAKE-Magazine Podcast Loet und Entloet-Tips]&lt;br /&gt;
* [http://www.circuitrework.com Circuit Technology Center] - Surgeon grade rework and repair, by the book and guaranteed. Deeplink: [http://www.circuitrework.com/guides/guides.shtml Guides]&lt;br /&gt;
*[http://www.martin-smt.de SMD Bearbeitungsgeräte - Reworksysteme]&lt;br /&gt;
*[http://www.fritsch-smt.de Bestückungsautomaten / Siebdruckgeräte]&lt;br /&gt;
*[http://www.sef.de Reflowlötanlagen]&lt;br /&gt;
*[http://iwenzo.de/wiki/Kategorie:SMD SMD Code Tabelle]&lt;br /&gt;
*[http://iwenzo.de/wiki/SMD_Widerstand_Codehilfe SMD Widerstände ablesen]&lt;br /&gt;
*[http://iwenzo.de/wiki/Kategorie:SMD-Geh%C3%A4use SMD Gehäuseformen]&lt;br /&gt;
*[http://iwenzo.de/wiki/SMD_Bauteile_l%C3%B6ten SMD Bauteile löten]&lt;br /&gt;
*[http://www.tobler.ch/envo/modules.php?op=modload&amp;amp;name=Downloads&amp;amp;file=index&amp;amp;req=viewsdownload&amp;amp;sid=25&amp;amp;min=0&amp;amp;orderby=titleA&amp;amp;show=10 Serie von kurzen Artikeln zum Löten / Entlöten]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=SMD_L%C3%B6ten&amp;diff=40523</id>
		<title>SMD Löten</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=SMD_L%C3%B6ten&amp;diff=40523"/>
		<updated>2009-11-07T14:40:55Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Kontrollieren von Lötstellen */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Löten]]&lt;br /&gt;
== Einlöten von SMD Bauteilen ==&lt;br /&gt;
&lt;br /&gt;
Irgendwann ist man an dem Punkt angelangt, an dem man ein Bauteil braucht, das bloß in [[SMD]] verfügbar ist. [[TI]] zum Beispiel bietet seine [[MSP430]]-[[Mikrocontroller]] ausschließlich in [[SMD]] an. Das ist dann der Zeitpunkt an dem man sich fragt: &amp;quot;Wie lötet man sowas?&amp;quot;. Nun, eigentlich ist es gar nicht so schwer, sobald man den richtigen Trick dabei mal raus hat. &lt;br /&gt;
&lt;br /&gt;
=== Handlöten ===&lt;br /&gt;
&lt;br /&gt;
==== Voraussetzungen ====&lt;br /&gt;
&lt;br /&gt;
* Grundvoraussetzung ist ein Lötkolben mit entsprechender Lötspitze.&lt;br /&gt;
**Der Lötkolben sollte am besten der einer geregelten Lötstation sein. Die Einstellung der Lötstation sollte man halbwegs beherrschen. (Lötversuche an einer alten Platine sind in diesem Fall sehr hilfreich).&lt;br /&gt;
**Der Lötkolben sollte möglichst leicht und der vordere (heiße) Teil möglichst kurz sein. Je länger, desto mehr wird ein eventuelles Zittern der Hand verstärkt.&lt;br /&gt;
** Die Lötspitze sollte so dick sein, wie es noch gerade für die Aufgabe vertretbar ist. Nicht etwa die dünnste aufzutreibende Lötspitze. Was auf den ersten Blick widersprüchlich klingt (so dick wie es gerade noch geht), hat einen einfachen Grund: Die an der Spitze ankommende Wärme, die Wärmekapazität der Spitze und die Wärmeübertragung sind bei größeren Spitzen entsprechend besser. Daher geht das Löten mit einer größeren Spitze besser. Natürlich sollte man es nicht übertreiben, aber die 0,8 mm Spitze ist häufig die falsche Wahl.&lt;br /&gt;
** Die Lötspitze sollte in einem guten bis erstklassigen Zustand sein.&lt;br /&gt;
&lt;br /&gt;
* Außerdem braucht man noch Entlötlitze. Hier sollte man die dünnste nehmen, die man bekommen kann. Breiter als 1,5 mm sollte sie nicht sein, eher dünner. Hat man keine passende zur Hand oder herrscht Geldmangel, so lassen sich auch die feinen Litzen eines abisolierten, flexiblen Silikonkabels für diesen Zweck missbrauchen.&lt;br /&gt;
&lt;br /&gt;
* Natürlich braucht man auch noch das Lötzinn, bestenfalls mit Flussmittel im Kern. 0,5 mm ist praktikabel, 0,23 mm ist bei kleinerem Pitch sehr zu empfehlen.&lt;br /&gt;
&lt;br /&gt;
* Flüssiges Flussmittel in Stiftform mit eingebautem Pinsel oder Flussmittelgel aus der Spritze tun gute Dienste.&lt;br /&gt;
&lt;br /&gt;
* Schließlich ist auch noch eine Leiterplatte (PCB) vonnöten. Hier hat man entweder die Möglichkeit, sich eine bei den verschiedenen PCB-Herstellern fertigen zu lassen oder sie selber zu belichten und zu ätzen. Besonders bei Chips mit kleinem Pin-Abstand hilft eine Lötstoppmaske und die Vorverzinnung der Pads; die kleine Menge Zinn, die bei industriell gefertigten Platinen auf den Pads ist, reicht völlig aus, man braucht dann kein oder nicht viel extra Lötzinn.&lt;br /&gt;
&lt;br /&gt;
* Feine Pinzette. Billige tun es eher weniger.&lt;br /&gt;
&lt;br /&gt;
* Eine Lupe. Diese dient in erster Linie zur Kontrolle. Löten ist unter einer einfachen Lupe eher unangenehm und ein Notbehelf, da die Perspektive verloren geht. Eine Lupenbrille (gute können recht teuer sein) oder ein Stereomikroskop (teuer bis sehr teuer) wäre zum Löten die bessere Wahl.&lt;br /&gt;
&lt;br /&gt;
==== Löten von Widerständen, Kondensatoren und anderen 2-Pinnern ====&lt;br /&gt;
&lt;br /&gt;
Es gibt diese Bauteile hauptsächlich in diesen Bauformen:&lt;br /&gt;
* 1206:  Länge: 3,20 mm  Breite: 1,60 mm (laufen langsam aus)&lt;br /&gt;
* 0805:  Länge: 2,00 mm  Breite: 1,25 mm&lt;br /&gt;
* 0603:  Länge: 1,60 mm  Breite: 0,80 mm (derzeit in der Industrie aktuell)&lt;br /&gt;
* 0402:  Länge: 1,00 mm  Breite: 0,50 mm (wird derzeit Standard in der Industrie)&lt;br /&gt;
* 0201:  Länge: 0,50 mm  Breite: 0,25 mm (Handy)&lt;br /&gt;
* 01005: Länge: 0,25 mm  Breite: 0,13 mm (Handy)&lt;br /&gt;
&lt;br /&gt;
Das Einlöten von 2-Pinnern ist sehr einfach. Es gibt eigentlich bloß einen kleinen Trick:&lt;br /&gt;
&lt;br /&gt;
# Ein Pad auf der Leiterplatte verzinnen.&lt;br /&gt;
# Das Bauteil mit einer Pinzette in Endposition halten und leicht an beide Pads andrücken.&lt;br /&gt;
# Dabei das verzinnte Pad mit dem Lötkolben erwärmen. Das Bauteil ist nun einseitig eingelötet.&lt;br /&gt;
# Das zweite Pad normal löten.&lt;br /&gt;
# Anschließend evtl. das erste Pad nochmal kurz erhitzen.&lt;br /&gt;
&lt;br /&gt;
Und schon hat man das Bauteil eingelötet.&lt;br /&gt;
&lt;br /&gt;
Als Pinzette empfiehlt sich eine mit ca. 1 mm breiter Spitze, die als SMD-Pinzette (meist schwarz brüniert) ab ca. 10.- angeboten werden. Hier zu sparen lohnt nicht.&lt;br /&gt;
&lt;br /&gt;
==== Lötpaste ====&lt;br /&gt;
ist eine Mischung aus Mg(OH)2 und Al2(Cl)3.&lt;br /&gt;
&lt;br /&gt;
==== Löten von Bauteilen im SO-Package ====&lt;br /&gt;
&lt;br /&gt;
Das Löten von Bauteilen im SO Package gestaltet sich fast genauso einfach wie das Löten von Widerständen:&lt;br /&gt;
&lt;br /&gt;
# Ein Pad, das an einer Ecke des ICs liegt, verzinnen.&lt;br /&gt;
# Den IC platzieren.&lt;br /&gt;
# Den IC nach unten drücken.&lt;br /&gt;
# Das Pad erwärmen. Es ist möglich, dass der IC jetzt nicht richtig sitzt. Wenn das passiert ist, einfach nochmal das Zinn erwärmen und den IC verschieben bis er sitzt. Allerdings muss man dabei aufpassen, den IC nicht zu stark zu erwärmen.&lt;br /&gt;
# Das dem ersten gelöteten Pad diagonal gegenüberliegende Pad löten.&lt;br /&gt;
# Alle anderen Pads verlöten. Es ist nicht schlimm, wenn Zinnbrücken entstehen.&lt;br /&gt;
# Die Zinnbrücken mit Hilfe von Entlötlitze entfernen. Dazu hält man die Entlötlitze an die betroffenen Pads und erwärmt sie. Das Zinn geht dann automatisch auf die Entlötlitze und es gibt keine Brücken mehr.&lt;br /&gt;
&lt;br /&gt;
==== Löten von (T)SSOPs und QFPs ====&lt;br /&gt;
&lt;br /&gt;
War es bei Bauteilen im SO-Package mit einer ruhigen Hand noch möglich die Pins ohne Zinnbrücken zu verlöten, ist das bei TSSOPs nun praktisch nicht mehr möglich, da der Abstand der Pins einfach zu klein ist.&lt;br /&gt;
&lt;br /&gt;
# Platzieren des Bauteils.&lt;br /&gt;
# Das Bauteil irgendwie fixieren (Pinzette oder vorsichtig mit dem Zeigefinger etc.) Tesafilm ist recht praktisch und lässt sich leicht wieder entfernen.&lt;br /&gt;
# Mit dem Lötkolben einen Tropfen Zinn aufnehmen (entfällt bei verzinnten Pads).&lt;br /&gt;
# Das Bauteil an zwei diagonal gegenüberliegenden Pins festlöten.&lt;br /&gt;
# Überprüfen, ob der Chip wirklich richtig auf der Platine liegt, jetzt sind Korrekturen noch möglich.&lt;br /&gt;
# Wenn man einen Stift mit flüssigem Flussmittel hat, auf der zu lötenden Seite damit einfach über alle Pins pinseln.&lt;br /&gt;
# Mit dem Lötkolben über die erste Seite des TSSOP fahren. Dabei spielt es keine Rolle, ob Brücken entstehen. Wenn man vorverzinnte Pads und Lötstopplack hat, entstehen normalerweise keine Brücken, da die Oberflächenspannung die geringe Menge Zinn an Pad und Pin sammelt, so dass es zu wenig Zinn für eine Brücke ist.  Den Lötkolben mit einer Geschwindigkeit von ca. 1 - 2 Pins pro Sekunde vorwärts bewegen.&lt;br /&gt;
# Jetzt kann man das Bauteil loslassen, da es genügend fixiert ist.&lt;br /&gt;
# Mit dem Lötkolben über die andere(n) Seite(n) fahren.&lt;br /&gt;
# Mit Entlötlitze überflüssiges Zinn entfernen.&lt;br /&gt;
# Zum Abschluss kann man mit einer Lupe die Lötstellen überprüfen.&lt;br /&gt;
&lt;br /&gt;
Bei QFPs ist das Verfahren gleich, außer dass man 4 Seiten bearbeiten muss.&lt;br /&gt;
&lt;br /&gt;
Alternativ zur Entlötlitzentechnik gibt es auch Lötspitzen mit Hohlkehle.&lt;br /&gt;
&lt;br /&gt;
# Zuerst das Bauteil an zwei diagonalen Pins mit Lötzinn fixieren und die Ausrichtung prüfen. Ob Lötbrücken entstehen, ist zu diesem Zeitpunkt nicht wichtig.&lt;br /&gt;
# Dann genügend Flussmittel über die zu lötenden Pins streichen.&lt;br /&gt;
# Die Hohlkehle mit wenig Lötzinn füllen und über eine Seite des ICs führen.&lt;br /&gt;
# Jetzt hat man an einigen Stellen (meist am Ende der Seite, die man gelötet hat) einige Lötbrücken.&lt;br /&gt;
# Die Hohlkehle von Lötzinn reinigen und mit leerer Hohlkehle über die Lötbrücken fahren. Vorher nochmal genug Flussmittel draufgeben.&lt;br /&gt;
# Meist sind schon nach dem ersten mal keine Brücken mehr vorhanden. Falls doch, nochmals mit Flussmittel benetzen und an den entsprechenden Stellen mit der Hohlkehlspitze Lötzinn entfernen.&lt;br /&gt;
&lt;br /&gt;
Vorsicht! Flussmittel sind ätzend. Also nur bei eingeschalteter Lötdampfabsaugung arbeiten!&lt;br /&gt;
&lt;br /&gt;
==== Der Trick mit der Entlötlitze ====&lt;br /&gt;
&lt;br /&gt;
Bei kleinen SMD-Bauteilen kann es passieren, dass man beim Löten Zinnbrücken verursacht. Diese lassen sich recht einfach mittels Entlötlitze entfernen. Dabei sollte man direkt mit dem Ende der Litze entlöten und nicht der Mitte. Hilfreich kann bei wenig Platz auch ein schräges Anschneiden der Litze sein. Scharfe Schneidwerkzeuge, die ein Ausfransen der Litze verhindern, sind unverzichtbar (Tipp: SMD-Werkzeuge markieren, damit sie nicht versehentlich für grobe Arbeiten verwendet werden).&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich die Entlötlitze vorher leicht mit Flussmittel zu tränken, damit das Zinn besser aufgenommen werden kann.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollte man beim Arbeiten mit Entlötlitze, ob an SMD- oder anderen Bauteilen, etwas Vorsicht walten lassen. Entlötlitze ist ein sehr guter Wärmeleiter. Daher kann man sich beim Entlöten, wenn man die Litze direkt mit den Fingern hält, böse verbrennen. Über 300° vom Lötkolben über die Litze zu den Fingern übertragen sind kein Pappenstiel. Leider kann das Führen der Litze mit einer Pinzette oder kleinen Flachzange gerade bei SMD-Bauteilen zu ungenau sein, so dass man verleitet wird, die Finger zu nehmen.&lt;br /&gt;
&lt;br /&gt;
==== Trick 17 mit der Entlötlitze ====&lt;br /&gt;
&lt;br /&gt;
Mit der &amp;quot;Invertierte-Entlötlitzen-Methode&amp;quot; kann man auch mechanisch empfindliche Pins auf sehr kleinem Raster &#039;&#039;&#039;verlöten&#039;&#039;&#039;, indem man mit der Entlötlitze Lötzinn an das Pin/Pad-Paar zuführt. ([http://www.mikrocontroller.net/topic/94451#833286 Forumsbeitrag von Ulrich]).&lt;br /&gt;
&lt;br /&gt;
=== Reflow-Techniken ===&lt;br /&gt;
&lt;br /&gt;
Bei Reflow-Lötverfahren wird vor der Bestückung auf die Lötpunkte der Platine eine Lötpaste aufgetragen. Die Anschlüsse der zu lötenden Bauteile werden dann in diese Paste positioniert. Nach dieser Bestückung wird die Platine mit den Bauteilen erhitzt. Die Lötpaste schmilzt auf. Sind alle Lötpunkte aufgeschmolzen wird die Platine abgekühlt, das Lot härtet aus und die Bauteile sind verlötet.&lt;br /&gt;
&lt;br /&gt;
Reflow-Techniken galten lange Zeit als zu aufwendig für Amateure. Dies änderte sich, nachdem sich gezeigt hat, dass auch etwas hemdsärmelige Methoden zum Ziel führen. Auch diese setzen etwas Aufwand voraus, daher sind sie im folgenden nur kurz beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Lötpaste auftragen ====&lt;br /&gt;
&lt;br /&gt;
In der industriellen Fertigung wird die Lötpaste zum Beispiel mittels einer Schablone aufgetragen. Eine Schablonenfertigung (Laser) ist für Einzelstücke zu aufwendig und zu teuer, daher bleibt die Lötpaste von Hand aufzutragen. Für diese Zwecke ist Lötpaste in Spritzen erhältlich. Die Preise für Lötpaste sind horrend. Mit ein bis zwei Euro pro Gramm(!) muss man rechnen. Allerdings benötigt man nur sehr geringe Mengen pro Platine und Lötpaste ist nicht unbegrenzt lagerbar. Es sollte eine &amp;quot;no clean&amp;quot; Paste verwendet werden. &amp;quot;No clean&amp;quot; bedeutet, dass die Platine nicht von Flussmittelresten gereinigt werden muss.&lt;br /&gt;
&lt;br /&gt;
Vor dem Auftragen der Paste ist die Platine zu säubern, und nochmal zu säubern, und nochmal ... Dann wird eine sehr kleine Menge der Paste auf jeden Lötpunkt aufgetragen.&lt;br /&gt;
&lt;br /&gt;
==== Bauteile bestücken ====&lt;br /&gt;
&lt;br /&gt;
Die Anschlüsse der Bauteile werden in die Lötpaste gesetzt. Bei bleihaltiger Lötpaste muss die Ausrichtung nicht 100% genau sein, da die Bauteile beim Schmelzen der Paste durch die Oberflächenspannung in Position gezogen werden. Bei bleifreier Lötpaste ist dieser Effekt kaum vorhanden. Daher müssen die Bauteile in diesem Fall genau ausgerichtet sein.&lt;br /&gt;
&lt;br /&gt;
==== Umgebauter Pizzaofen ====&lt;br /&gt;
&lt;br /&gt;
Als Standardmethode für Amateure scheint sich die Verwendung eines umgebauten Pizzaofen durchzusetzen. Ein Elektro-Pizzaofen/Miniofen für den Hausgebrauch für vielleicht 20€ bis 50€ wird mit einer Mikrocontroller-Temperatursteuerung versehen. Mit dieser Steuerung werden die gewünschten Heiz- und Abkühl-Temperaturkurven gesteuert. Beim Umbau ist Vorsicht zu walten lassen, da die Heizung und Temperaturregelung solcher Öfen mit Netzspannung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Aus Gesundheitsgründen sollte ein zum Reflow-Löten verwendeter Ofen nicht mehr für Nahrungsmittel verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==== Elektro-Pfanne ====&lt;br /&gt;
&lt;br /&gt;
Statt eines mit einer Temperatursteuerung nachgerüsteten Pizzaofens wird gelegentlich einfach eine teflonbeschichtete Elektro-Pfanne verwendete. Elektro-Pfannen, manchmal auch Party-Pfannen genannt, sind in Deutschland eher selten in Haushalten zu finden. Es handelt sich dabei im Prinzip um eine Elektro-Heizplatte, die jedoch nicht flach, sondern deren Oberseite als Pfanne ausgeformt ist.&lt;br /&gt;
&lt;br /&gt;
Zum Reflowlöten wird eine bestückte Platine in die kalte Pfanne gelegt, mit der Lötseite, also den Bauelementen nach oben. Die Pfanne wird aufgeheizt und dabei die Platine beobachtet, bis die Lötpaste an allen Lötpunkten aufgeschmolzen ist. Da eine Elektro-Pfanne nicht überall gleichmäßig heizt, wird gelegentlich vorsichtiges Schwenken der Platine in der Pfanne vorgeschlagen, um die Platine gleichmäßig zu erwärmen. Ist die Lötpaste überall aufgeschmolzen wird die Elektro-Pfanne abgestellt. Die Platine bleibt in der Pfanne und kühlt dort langsam mit der Pfanne aus.&lt;br /&gt;
&lt;br /&gt;
Bei dieser Methode hat man keine Kontrolle über die Temperaturkurve. Selbige hängt nicht nur von der Bauart der Pfanne, sondern auch von der Umgebungstemperatur und der eigenen Reaktionszeit ab.&lt;br /&gt;
&lt;br /&gt;
Aus Gesundheitsgründen sollte ein zum Reflow-Löten verwendete Elektro-Pfanne nicht mehr für Nahrungsmittel verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==== Heißluft ====&lt;br /&gt;
&lt;br /&gt;
Die Geister scheiden sich daran, ob man mit Heißluft wirklich gut löten kann (beim Entlöten ist das anders). Viele bevorzugen noch den Lötkolben vor dem Heißluftgerät, andere haben mit Heißluftlöten keine Probleme.&lt;br /&gt;
&lt;br /&gt;
Mit Heißluft lötet man eine Platine bereichsweise. Auf die Lötpads in einem Bereich werden kleine Mengen Lötpaste aufgetragen und die Bauteile aufgesetzt. Die Lötpaste wird dann mittels Heißluft erwärmt und geschmolzen. Dabei muss man sowohl aufpassen, dass Bauteile und Platine nicht überhitzt werden und dass man die in der Lötpaste sitzenden Bauteile nicht verschiebt oder sogar von der Platine bläst. Nebenbei muss man natürlich aufpassen, dass man sich nicht an der Heißluft verbrennt.&lt;br /&gt;
&lt;br /&gt;
Entsprechende Heißluftgeräte (Hot-Air Stations, häufig auch Rework-Stations genannt), waren relativ teuer. Einige Marken sind mittlerweile jedoch für den Hobbyisten erschwinglich. Mit Übung lässt sich auch eine einfache Heißluft-Pistole verwenden. Allerdings ermöglichen deren Düsen kein sonderlich genaues Arbeiten.&lt;br /&gt;
&lt;br /&gt;
==== Herdplatte ====&lt;br /&gt;
&lt;br /&gt;
Mit etwas Erfahrung kann man auch sehr gut auf der Herdplatte löten. Die Herdplatte wird dabei rund eine halbe Stunde vorgeheizt, damit die Temperatur einigermaßen konstant bleibt. Mit etwas Lötzinn kann getestet werden, ob die Löttemperatur erreicht wurde. Die Herdplatte sollte nicht zu heiß eingestellt werden, damit der Lötstopplack sowie das Epoxyd nicht verheizt wird. &lt;br /&gt;
Die bestückte Platine wird mit einer Pinzette auf die Herdplatte gelegt. Schon nach kurzer Zeit sollte das Lötzinn anfangen zu schmelzen. Wenn alle Lötstellen verlötet sind, kann die Platine wieder heruntergenommen werden und abkühlen.&lt;br /&gt;
&lt;br /&gt;
== Entlöten von SMD-Bauteilen ==&lt;br /&gt;
&lt;br /&gt;
Leider halten ICs etc. nicht ewig und irgendwann muss jeder einmal SMD Bauteile wieder auslöten. Das Entlöten gestaltet sich im Grunde genauso einfach wie das Einlöten.&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei einfache Fälle: Entweder soll der Chip überleben oder die Platine. Der dritte Fall ist die erstrebenswerteste Methode: Chip und Platine überleben.&lt;br /&gt;
&lt;br /&gt;
=== Die einfachste Methode ===&lt;br /&gt;
&lt;br /&gt;
Die einfachste Methode ist ganz einfach den Lötkolben auf maximale Temperatur zu stellen und dann, mit etwas Lötzinn für besseren Wärmekontakt, auf die Mitte des auszulötenden ICs zu legen (mit der Spitze und dem Lötzinn darunter).&lt;br /&gt;
&lt;br /&gt;
Der IC stirbt dabei durch die rund 400 Grad des Lötkolbens sicherlich den Hitzetod, aber durch die Wärmeleitung schmilzt an den Beinchen des ICs das Lötzinn nach rund einer Minute und man kann den IC mit einer Pinzette dann abheben. Hierzu sollte man alle paar Sekunden testweise anheben und den Lötkolben nur leicht aufdrücken, um so ganz sicher alle anderen Bauteile heil zu lassen.&lt;br /&gt;
&lt;br /&gt;
Das auf der Platine verlaufene Lötzinn entfernt man, indem man mit der gereinigten Lötspitze (bei 200 Grad) über die nun geleerten Pads geht; Zubehör wie Entlötlitze ist überflüssig.&lt;br /&gt;
&lt;br /&gt;
So kann man beispielsweise einen USB-RS232-Adapter in einen USB-UART-Adapter umwandeln ;-)&lt;br /&gt;
&lt;br /&gt;
Getestet habe ich es bisher mit einem SD213 (28 Pins) und einem FT232 (32 Pins), aber etwas größere ICs, bis zum MSP430 mit 100 Pins, müssten auch möglich sein.&lt;br /&gt;
Durch Umdrehen der Platine sollten auch noch größere ICs so auslötbar sein (wobei man wegen der Schwerkraft dann die Pinzette einsparen kann), weil dann durch die Konvektion noch mehr Wärme übertragen wird.&lt;br /&gt;
&lt;br /&gt;
=== Chip Quick-Methode ===&lt;br /&gt;
[http://www.chipquik.com/ Chip Quick] bietet ein Set an mit dem sich SMD-Bauteile sehr einfach und zerstoerungsfrei entloeten lassen.&lt;br /&gt;
&lt;br /&gt;
Dabei wird auf die Beinchen reichlich Flussmittel aufgetragen. Dann eine grosse Menge speziellem Loetzinn aufgetragen das eine sehr geringe Schmelztemperatur hat. Das verbindet sich mit dem Loetzinn und bleibt lange fluessig. Die Temperatur ist so gering, dass das Bauteil überlebt.&lt;br /&gt;
Wenn alle Beinchen in dem Loetzinn-Blob stehen, faellt das Bauteil fast von alleine ab.&lt;br /&gt;
&lt;br /&gt;
Diese Methode wird in dem Make-Magazine Video gezeigt, das unten verlinkt ist.&lt;br /&gt;
&lt;br /&gt;
Ich vermute, dass es sich bei der Chip Quick-Legierung um Wood&#039;sches Metall (enthält Cadmium) oder wahrscheinlicher um die Rose-Legierung (Cadmiumfrei) handelt. Bei tmp-loettechnik.de bekommt man letzteres, allerdings nur als Barren. Mit dieser Legierung (Schmelzpunkt 98 °C) kann man auch Teile zur mechanischen Bearbeitung eingießen und im kochenden Wasser wieder befreien. &amp;quot;Flüssiger Schraubstock&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Die Zahnarztmethode ===&lt;br /&gt;
&lt;br /&gt;
==== Benötigtes Werkzeug ====&lt;br /&gt;
&lt;br /&gt;
* Lötkolben&lt;br /&gt;
* Lötzinn &lt;br /&gt;
* Ablöthebel &lt;br /&gt;
* Entlötlitze&lt;br /&gt;
&lt;br /&gt;
==== Ablöthebel u.ä ====&lt;br /&gt;
&lt;br /&gt;
Ein Ablöthebel oder verwandte Werkzeuge sehen so aus, als ob sie aus der Praxis eines Zahnarztes (Zahnsonde) oder der Werkstatt eines Zahntechnikers stammen. Dabei handelt es sich um Metallhaken, eventuell (in der einfachen, nicht medizinischen Ausführung) mit Plastikgriff. Es gibt sie in verschiedenen Formen und Größen. &lt;br /&gt;
&lt;br /&gt;
Als Werkzeug zum Entlöten findet sich eine Form unter der bereits erwähnten Bezeichnung &#039;&#039;Ablöthebel&#039;&#039;, ebenso findet man ähnliche Werkzeuge als Teil von sogenannten &#039;&#039;Platinen-Reinigungsbestecken&#039;&#039; (Beispiel Conrad Bestellnummer 588239). Im Englischen heißen entsprechende Werkzeuge &#039;&#039;soldering aid hook&#039;&#039; (Haken), &#039;&#039;soldering aid fork&#039;&#039; (Haken/Hebel mit gespaltener Klinge. Wenn als Hebel ausgeführt ein &#039;&#039;Ablöthebel&#039;&#039;), oder &#039;&#039;soldering aid spike&#039;&#039;, &#039;&#039;reamer&#039;&#039; oder &#039;&#039;probe&#039;&#039; (gebogene oder ungebogene Tastspitze).&lt;br /&gt;
&lt;br /&gt;
Ein solcher Hebel oder Haken ist ein nützliches Werkzeug beim Auslöten von SMD Bauteilen. Vorsichtig eingesetzt kann er durchaus beim zerstörungsfreien Entlöten verwendet werden, zum Beispiel bei der Verwendung von [[#Heißluft|Heißluft]]. Im Folgenden wird allerdings eine zerstörende Methode beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Der Entlötvorgang ====&lt;br /&gt;
&lt;br /&gt;
Das Entlöten ist bei fast allen SMD-Bauteilen gleich, egal welcher Pinabstand und wie viele Pins. &#039;&#039;&#039;Achtung&#039;&#039;&#039;, der IC geht dabei kaputt.&lt;br /&gt;
&lt;br /&gt;
# Man bringt eine dicke Zinnwurst auf alle Pins auf.&lt;br /&gt;
# Erwärmen des Zinns mit dem Lötkolben.&lt;br /&gt;
# Ausheben der Pins mithilfe des Hebels oder Hakens. Hier kann man bei den Bauteilen mit kleinem Pinabstand gleichzeitig mehrere hochheben.&lt;br /&gt;
# Solange wiederholen, bis alles raus ist.&lt;br /&gt;
# Entfernen der Zinnreste mit Entlötlitze.&lt;br /&gt;
&lt;br /&gt;
=== Die 2-Lötkolben-Methode ===&lt;br /&gt;
&lt;br /&gt;
Diese Methode eignet sich für alle SMD-Bauteile mit 2 gelöteten Seiten: Widerstände, Kondensatoren, kurze ICs (z.B. 2x8 Pins). Bei den Widerständen und Kondensatoren ist alles klar. Von jeder Seite einen Lötkolben anhalten, das Bauteil löst sich ab und bleibt meist an einem der Kolben kleben, wo man es abschütteln kann. Bei ICs verzinnt man zunächst beide Pin-Reihen ordentlich, danach versucht man mit den Kolben das Zinn auf beiden Reihen und der gesamten Länge flüssig zu bekommen, evtl. muss man die Lötkolben dabei etwas bewegen. Ist das Zinn komplett flüssig, kann man das IC beiseite schieben. Das geht besonders gut bei Platinen mit Lötstopplack. Bei dieser Methode kann man die Bauteile in der Regel anschließend weiter verwenden, überflüssiges Zinn an den Pins mit Lötsauglitze entfernen.&lt;br /&gt;
&lt;br /&gt;
=== Die Rohrstückmethode ===&lt;br /&gt;
&lt;br /&gt;
Diese Methode eignet sich für ICs mit Pins an zwei Seiten (SO-Gehäuse). Chip und Platine haben Chancen zu überleben. Man nehme ein Stück Kupferrohr der passenden Länge und sägt es der Länge nach durch, so dass man zwei Halbschalen hat. Eine der Halbschalen befestigt man an einer alten Lötspitze, z.B. indem man ein Gewinde schneidet oder hartlötet.  Nun kann man alle Pins gleichzeitig erwärmen und das IC abnehmen.&lt;br /&gt;
&lt;br /&gt;
=== Die Kupferdraht-Haken-Methode ===&lt;br /&gt;
&lt;br /&gt;
Die Methode funktioniert ähnlich wie die zuvor beschriebenen &#039;&#039;Rohrstückmethode&#039;&#039;. Das Erstellen des Hilfsmittels ist wesentlich einfacher, allerdings ist es keine Dauerlösung. Die Methode eignet sich für kleine Bauteile (Widerstände, etc.) mit Pins an zwei Seiten.&lt;br /&gt;
&lt;br /&gt;
Das Ende eines Stück blanken Kupferdrahts wird mittels einer kleinen Flachzange zu einem U-förmigen Haken abgebogen. Dabei wählt man die Lichte Weite des Hakens so, dass man mit zwei Seiten des Hakens die Pins des zu entlötenden Bauteils gleichzeitig erreichen kann. Das andere Ende des Kupferdrahts wickelt man mehrfach um die Spitze eines kalten(!) Lötkolbens. Das Ende mit dem Hacken sollte dabei nicht mehr als vielleicht 2 cm über die Lötkolbenspitze hinausreichen und der Draht wird so gebogen (gekröpft), dass man den Lötkolben bequem führen kann um den Haken flach am Bauteil anzulegen. Um Missverständnisse zu vermeiden, der Haken soll am Bauteil angelegt und nicht etwa in irgendeiner Weise unter das Bauteil geschoben werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Lötkolben und damit der Haken erhitzt. Ist die Hakenspitze heiß genug, legt man den Haken am Bauteil an. Sobald das Lötzinn an den Pins geschmolzen ist zieht man das Bauteil von den Pads. Bauteile haben dabei die Angewohnheit für immer auf dem Fußboden verloren zu gehen. Benötigt man das Teil noch, so sollte man etwas Vorsicht walten lassen.&lt;br /&gt;
&lt;br /&gt;
=== Die dicke Kupferdrahtmethode ===&lt;br /&gt;
&lt;br /&gt;
1,5 - 2,5 mm² Massivdraht so zurechtbiegen, dass er exakt und plan auf die Pins passt. Dann mit viel Zinn schnell verlöten. Das geht am besten mit zwei oder drei stärkeren Lötkolben und einer zweiten Person. Ich habe aber auch schon alleine mit 2 Kolben 160-Poler ausgelötet, ohne IC oder Platine zu beschädigen.&lt;br /&gt;
&lt;br /&gt;
IC am besten mit einer Pinzette oder einem Vakuumsauger (z.B. Kontaklinsensauger für harte KL aus Silikon) abheben und noch im heißen Zustand den dicken Draht samt Zinn abklopfen. Danach das IC möglichst schonend (gleichmäßig und schnell) abkühlen, evtl. schon vor dem Löten einen kleinen Kühlkörper auf das IC legen / kleben.&lt;br /&gt;
&lt;br /&gt;
Die Methode kombiniert sich gut mit der Bügeleisen- oder Ceranfeld-Vorwärm-Methode.&lt;br /&gt;
&lt;br /&gt;
=== Der Trick mit dem Platinensicherungshalter ===&lt;br /&gt;
&lt;br /&gt;
Speziell zum Auslöten von SO-ICs mit 2x4 Beinchen kann man den einzelnen Clip eines Platinensicherungshalters (Durchstecktechnik, für 5 x 20 mm Sicherungen) benutzen. Mit einer feinen Zange biegt man zunächst die sich nach außen öffnenden Enden des Clips etwas nach innen. Auf diese Weise entsteht eine Mini-Zange, die genauso breit ist wie die Beinreihe des IC und sich aufgrund ihrer Vorspannung am IC festhalten kann. Den modifizierten Clip klemmt man von oben über den IC und erhitzt seine Bodenplatte mit dem Lötkolben (16W). (Anstelle der oben beschrieben Zinn-Wurst-Methode bildet nun der Clip die Wärmebrücke, ähnlich der oben beschriebenen Rohrstückmethode) Der Clip wird mit einer Pinzette abgehoben und nimmt den IC mit.&lt;br /&gt;
&lt;br /&gt;
Die Platine und der IC bleiben ganz.&lt;br /&gt;
&lt;br /&gt;
=== Lötkolbeneinsätze ===&lt;br /&gt;
&lt;br /&gt;
Für einige SMD-Bauformen gibt es Lötkolbeneinsätze, mit denen man alle Anschlüsse eines Bauteils gleichzeitig erhitzen kann. Allerdings sind diese relativ teuer, man braucht für jede Bauform einen eigenen Einsatz und es gibt IC-Bauformen, bei denen die Anschlüsse so angeordnet sind, dass man dafür keinen Einsatz bauen kann.&lt;br /&gt;
&lt;br /&gt;
=== Zangenlötkolben ===&lt;br /&gt;
&lt;br /&gt;
Ein Zangenlötkolben (auch &amp;quot;Tweeser&amp;quot;) genannt, ist ein Lötkolben, der zwei Spitzen besitzt, die ähnlich wie bei einer Pinzette verbunden sind und wie eine Pinzette bedient wird. Die Spitzen sind dabei keine Spitzen, sondern flache Einsätze. Mit dem Lötkolben kann man sehr einfach Anschlüsse von Bauteilen mit zwei gegenüberliegenden Anschlüssen (Widerstände, etc.) oder Anschlussreihen erhitzen und das Bauteil dann direkt mit dem Lötkolben von der Platine nehmen.&lt;br /&gt;
Es empfiehlt sich dabei, eine zusätzliche Pinzette zur hand zu nehmen um das Bauteil von der Platine zu heben, da teilweise maschinell bestückte SMD mit einem Klebepunkt auf der Platine fixiert werden.&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil dabei ist, dass das Bauteil relativ lange erwärmt wird, da es mit der Zange abgehoben und dann weiter erwärmt wird, bis man es aus der Zange entfernt. Ein weiterer Nachteil ist, dass sich der Lötkolben nur für zweireihige Bauteile eignet.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil dabei aber ist die schnelle und einfache Funktion. Muss man mehrere Widerstände gleicher Bauform von einer Platine entfernen, kann dieses sogar ohne Absetzen in einem Durchgang geschehen. Die bereits entlöteten Widerstände behält man dabei einfach zwischen den Zangenbacken und schiebt sie mit dem nächsten Widerstand etwas nach hinten.&lt;br /&gt;
&lt;br /&gt;
=== Kupferlackdraht ===&lt;br /&gt;
&lt;br /&gt;
Eine weitere sehr elegante Möglichkeit um auch grössere SMD-ICs zerstörungsfei von einer Platine zu bekommen, ist die &amp;quot;Kupferlackdraht-Methode&amp;quot;. Man benötigt lediglich etwas Kupferlackdraht (0,2 - 0,3 mm) und natürlich einen Lötkolben. Die einzige Bedingung ist, dass man den Kupferlackdraht auch unter den Pins bzw. dem Bauteilgehäuse durchfädeln kann.&lt;br /&gt;
&lt;br /&gt;
==== Vorgehensweise ====&lt;br /&gt;
&lt;br /&gt;
# Kupferlackdraht unter den Pins durchfädeln&lt;br /&gt;
# Jeden einzelnen Pin kurz mit dem Lötkolben leicht berühren und gleichzeitig den Kupferlackdraht zwischen Platine und Pin durchziehen&lt;br /&gt;
# Eventuell den Kupferlackdraht erneut unter den Pins durchfädeln und die Pins, bei denen der Kupferlackdraht beim Durchziehen &amp;quot;hängen bleibt&amp;quot;, nochmals mit dem Lötkolben antippen&lt;br /&gt;
&lt;br /&gt;
Es gibt aber auch dünnen Stahldraht (D=0,2 mm) für diesen Zweck zu kaufen.&lt;br /&gt;
Das Optimum ist dünnes Bandblech aus Edelstahl, ca 4 - 5 mm breit, ebenfalls etwa 0,2mm dick. Die in akustomagnetischen Warensicherungsetiketten enthaltenen Blechstreifen eignen sich gut. Auch einen Skalpellhalter mit Einmalklingen kann man hierfür verwenden. Die Spitze des Skalpells wird hinter dem Pin angesetzt (in der Lücke zwischen Pin und Gehäuse), nach unten und vorn gedrückt und der Pin mit dem Lötkolben erwärmt. Sobald das Lötzinn geschmolzen ist, rutscht das Skalpell zum nächsten Pin weiter. Hinterher müssen lediglich die Pins wieder geradegebogen werden.&lt;br /&gt;
&lt;br /&gt;
=== Mechanisch abtrennen ===&lt;br /&gt;
&lt;br /&gt;
==== Die Cuttermethode ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit, ein SMD IC von einer Platine zu entfernen, ist es die Beinchen vor dem Entlöten zu durchtrennen. Dazu nimmt man ein Cuttermesser mit Abbrechklingen oder ein Bastelmesser mit auswechselbarer Skalpellklinge (z.B. X-Acto Klinge #16, #17 oder #19), setzt es so nah wie möglich am Gehäuse auf ein paar der IC-Beinchen auf und drückt gerade &#039;&#039;&#039;ohne Seitwärtsbewegung&#039;&#039;&#039; nach unten. Dies durchtrennt die Beine ohne darunterliegende Leiterbahnen zu verletzen. Ein wenig Gefühl ist dabei natürlich nötig. Üben auf einem alten PC Mainboard lohnt sich. Nachdem auf diese Weise alle Beine vom IC abgetrennt sind, kann man die auf der Platine verbliebenen Reste der Beinchen einfach mit dem Lötkolben &amp;quot;abwischen&amp;quot; und die Lötzinreste mit Entlötlitze entfernen. Die Wärmebelastung der Platine ist bei dieser Methode wesentlich geringer, allerdings besteht die latente Möglichkeit Leiterbahnen zu durchtrennen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Es hat sich dabei bewährt, vorher alle Pins mit einer relativ dicken Schicht Lötzinn zu verbinden. So werden abgerissene Leiterbahnen durch versehentliche Seitwärtsbewegungen verhindert. Es muss allerdings darauf geachtet werden, dass das Lötzinn nicht ganz bis ans Gehäuse reicht, da sonst das Schneiden nahezu unmöglich ist.&lt;br /&gt;
&lt;br /&gt;
==== Die Mini-Trennscheiben-Methode ====&lt;br /&gt;
&lt;br /&gt;
Man nehme eine sehr schnelle, kleine Handbohrmaschine (Proxxon, Dremel oder dergleichen), setze eine kleine Trennscheibe auf und flexe unter der Lupenbrille vorsichtig die Beinchen nahe dem Gehäuse ab. Das Gehäuse fällt irgendwann ab, die Beinchen werden mit einem Lötkolben weggewischt.&lt;br /&gt;
&lt;br /&gt;
==== Die Abschlagmethode ====&lt;br /&gt;
&lt;br /&gt;
Wenn man SMD ICs von einer Platine retten möchte, die Platine aber später in den Müll wandert, kann man das IC mit seinem Körper auch auf eine harte Kante legen (die Platine ist dabei mehr oder weniger senkrecht).  Dann ein beherzter Schlag mit dem Handballen auf die Platinenkante und der Chip wird von der Platine abgerissen.  Die Beinchen muss man nachher etwas richten, aber normalerweise funktioniert diese Methode sehr zuverlässig, besonders bei maschinell gelöteten Platinen.  Diese Methode funktioniert sowohl mit SO-Gehäusen als auch mit radiergummigroßen DC/DC Wandlern.&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Die Stechbeitelmethode ====&lt;br /&gt;
&lt;br /&gt;
Hier gilt das gleiche Prinzip wie bei der Abschlagmethode: Zuerst knicken die Beinchen ein und reißen dann von den Leiterbahnen ab. Sie lassen sich aber leicht zurückbiegen und das IC wird garantiert nicht überhitzt. Der Beitel sollte ca. 8 - 15 mm breit sein, ein alter, angeschliffener Schraubendreher mit großem Griff tut&#039;s auch. Dann die Platine flach vor sich auf den Tisch legen, das IC liegt senkrecht zur Tischkante. Den Beitel senkrecht zur Platine mit der flachen Seite an das IC anlegen, die linke Ecke der Schneide liegt dabei auf der Stirnseite in Höhe der Mittellinie, die rechte Ecke der Schneide wird als Widerlager in die Platine gepresst. Den Beitel dafür etwas nach rechts kippen, mit Gewicht fest in die Platine drücken und mit Gefühl im Uhrzeigersinn drehen. So wird das IC in Längsrichtung und parallel zur Platine weggehebelt. Die benötigte Kraft kann man sehr gut dimensionieren. Wenn man das raus hat, braucht man ca. 1 - 2 Sekunden pro IC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Heißluft ===&lt;br /&gt;
&lt;br /&gt;
Heißluft ist eigentlich das Mittel der Wahl für SMD-Entlöten. Heißluft erfordert etwas Übung, egal welche Methode man im Einzelfall anwendet. Das Arbeiten mit einer Speziell für die Elektronik gemachten Heißluftstation ist dabei am bequemsten, daher wird es zuerst genannt.&lt;br /&gt;
&lt;br /&gt;
==== Heißluftstation / Hot-Air Station / Rework-Station ====&lt;br /&gt;
&lt;br /&gt;
Heißluftgeräte waren früher relativ teuer. Einige Marken, meist chinesische Produkte, sind mittlerweile jedoch für den Hobbyisten erschwinglich (ab ca. 60 bis 70 Euro aufwärts, Stand 2009) und brauchbar, auch wenn es einen deutlichen Unterschied zwischen diesen Produkten und High-End-Geräten gibt. So sind die Handgriffe wesentlich unhandlicher und die Regelung ist ungenauer. Trotzdem kann man mit den einfachen Geräten vernünftig arbeiten. &lt;br /&gt;
&lt;br /&gt;
Theoretisch sollte man zum Entlöten jeweils einen genau auf die Bauform des Bauteils passenden Heißluft-Einsatz verwenden. Nun gibt es allerdings sehr viele unterschiedliche Bauformen und je nach Station sind die Einsätze relativ teuer (ausgenommen vielleicht die für chinesische Produkte, die meist alle vergleichbare und bezahlbare 22 mm Einsätze haben). Daher ist es nicht unüblich, für viele Anwendungen einfach eine runde 5 mm Düse zu verwenden, wie sie normalerweise schon in der Grundausstattung einer Heißluftstation enthalten ist. &lt;br /&gt;
Die Pins eines Bauteils erhitzt man dann mit einer kreisförmige Bewegung aus ca. 2 cm Abstand. Dabei prüft man immer mal wieder mit einer Pinzette oder ähnlichem Werkzeug ob sich das Bauteil schon abheben lässt. Dabei sollte man das Werkzeug nicht ständig in den Luftstrom halten, da es dabei eventuell zu heiß werden kann.&lt;br /&gt;
&lt;br /&gt;
An einer Heißluftstation gibt es zwei wichtige Einstellungen:&lt;br /&gt;
* Temperatur&lt;br /&gt;
* Luftstrom&lt;br /&gt;
&lt;br /&gt;
Mit beiden Einstellungen muss man etwas üben. Zum Start kann man es mit ca. 400 Grad und ca. 20 l/min versuchen.&lt;br /&gt;
&lt;br /&gt;
Neben dieser einfachen Methode (rumkreisen bis was geht), gibt es relativ aufwendige Verfahren beim Arbeiten mit Heißluft, zum Beispiel muss bei bestimmten Trägermaterialien die Platine vorgeheizt werden. Ohne entsprechende Schulung ist es schwer sich solche Methoden selber anzueignen.&lt;br /&gt;
&lt;br /&gt;
==== Gaslötkolben mit Heißluftdüse ====&lt;br /&gt;
&lt;br /&gt;
Man kaufe für ca €60 einen Gaslötkolben mit Heißluftdüse. Wenn man den Gaslötkolben mit Heißluftdüse auf volle Leistung stellt, soll dieser angeblich bis 600 Grad Warmluft abgeben, was mehr als genug zum Entlöten ist. Damit SMD Bauteil durch kreisförmige Bewegung rundherum an den Pins mit 2 cm Abstand gezielt erhitzen. Das dauert ca. 2 Minuten. Das Bauteil lässt sich dann abnehmen, wegschieben oder abschlagen. Teilweise werden wenige eng am Bauteil bestückte Blockkondensatoren ebenfalls ausgelötet.&lt;br /&gt;
&lt;br /&gt;
Es lassen sich SMD&#039;s jeder Größe und Pinabstand ohne Beschädigung auslöten. Die ausgelöteten Bauteile lassen sich problemlos wieder verwenden. Die Platine mit Lötsauglitze und Aceton säubern und neues Bauteil drauf. Habe so während der Entwicklung FPGAS und Treiber IC&#039;s auf einer Platine schon bis zu fünf mal getauscht.&lt;br /&gt;
&lt;br /&gt;
==== Heißluftpistole ====&lt;br /&gt;
&lt;br /&gt;
Eine Heißluftpistole, wie man sie im Baumarkt zum Abbrennen alter Farbe u.ä. kaufen kann, kann gute Dienste beim SMD-Löten leisten. Empfehlenswert sind solche mit Temperaturregler, aber selbst die einfachsten Varianten (die in der Regel nur zwei Stufen haben, mit denen man sowohl die Gebläsegeschwindigkeit als auch die Heizleistung umschaltet) sind für viele Zwecke brauchbarer, als man auf den ersten Blick annehmen würde.&lt;br /&gt;
&lt;br /&gt;
Einfach Platine einspannen und mit der Heißluftpistole langsam und gleichmäßig erwärmen. Dabei nicht zu heiß arbeiten, etwas mehr Zeit für die Arbeit schadet Platine und Bauteilen weniger, als mit zu großer Temperatur alles zu verbrennen.  Wenn man vorsichtig arbeitet und den Punkt gut herausfindet, an dem sich das fragliche Bauteil ablösen lässt, taugt die Methode sogar für Reparaturlötungen, d.h. sowohl Platine als auch Bauteil bleiben dabei ganz.  Damit ist die Methode auch durchaus geeignet, alten Elektronikschrott zu recyclen, um auf diese Weise preiswert zu einem Grundstock an diversen SMD-&amp;quot;Hühnerfutter&amp;quot; (Widerstände, Kondensatoren, oft auch Tantal-Elkos) sowie teilweise auch Standard-ICs (74xxx, LM358 u.ä.) zu gelangen.&lt;br /&gt;
&lt;br /&gt;
Vermutlich lassen sich Pertinax-Platinen danach nicht mehr verwenden, aber diese haben bei den schmalen Leiterzugbreiten von SMD ohnehin kaum eine Überlebenschance.  Besser gleich trotz des höheren Preises alles auf Epoxyd anfertigen -- gerade bei den hobbytypischen Einzelstücken ist andernfalls die verschwendete Arbeitszeit sehr viel ärgerlicher als der höhere Preis der Epoxyd-Platine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tipp:&#039;&#039;&#039; Die Platine mit einem Stück Alufolie so abdecken, dass nur das auszulötende Bauteil im Luftstrom ist (an der Stelle ein Loch in die Folie machen).&lt;br /&gt;
&lt;br /&gt;
Falls das Überleben der Platine wirklich völlig egal ist, kann man auch die Rückseite der Platine mit der Heißluftpistole erhitzen, bis die Vorderseite so heiß ist, dass die SMD-Chips einfach abfallen. Zwei Vorteile ergeben sich aus diesem Verfahren für die Überlebenswahrscheinlichkeit der Bauteile:&lt;br /&gt;
&lt;br /&gt;
* Der Temperaturgradient ist so gerichtet, dass die Beine des Chips die höchste Temperatur haben und nicht der Chip selbst, wenn man von oben auf das Gehäuse bläst&lt;br /&gt;
* Die, wenn auch geringe, Wärmeleitung der Platine sorgt für eine gleichmäßigere Temperaturverteilung auf der Vorderseite.&lt;br /&gt;
&lt;br /&gt;
Von Nachteil allerdings ist, dass die Platine evtl. auf der Rückseite so heiß wird, dass sie anfängt, sich zu zersetzen. Das ist sicherlich nicht gesund und daher sollte man hier vorsichtig sein (langsam erhitzen, frische Luft).&lt;br /&gt;
&lt;br /&gt;
Alternativ geht es auch mit der Heißluftdüse eines Gaslötkolbens (z.B. von Ersa). Dabei geht man zügig mit dem heißen Luftstrom über die Pins des ICs und erwärmt sie, bis sich das IC gewaltfrei abheben lässt. Richtig gemacht überleben IC und Platine.&lt;br /&gt;
&lt;br /&gt;
=== Komplette Platine erhitzen ===&lt;br /&gt;
&lt;br /&gt;
Wenn man alle Bauteile von einer Platine auf einmal ablösen möchet bietet es sich an, die gesamte Platine mit den Bauteile so weit zu erhitzen bis das Lot überall geschmolzen ist. Die Bauteile können dann mit einen Schlag von der Platine abgeschlagen werden.&lt;br /&gt;
&lt;br /&gt;
==== Reflow-Ofen ====&lt;br /&gt;
&lt;br /&gt;
Was zum Löten taugt, taugt auch zum Entlöten. Die Platine mit den Bauteilen wird im Reflow-Ofen erhitzt.&lt;br /&gt;
&lt;br /&gt;
==== Backofen ====&lt;br /&gt;
&lt;br /&gt;
Wie in Reflow-Ofen. Man sollte sich allerdings gut überlegen, ob man das in einem Ofen der noch für Nahrungsmittel verwendet wird, machen sollte.&lt;br /&gt;
&lt;br /&gt;
==== Gasherdmethode ====&lt;br /&gt;
&lt;br /&gt;
Auf einer einseitig bestückten SMD-Platine kann man Bauteil und Platine  zerstörungsfrei wie folgt trennen: Von der großen Gasflamme die Abdeckung herunternehmen, diese Abdeckung z.B. mit Hilfe des Halters für kleine Töpfe über die kleine Gasflamme legen (natürlich geht das auch mit einem anderem Stück Metall, Hauptsache gerade) und dann mit der kleinen Gasflamme die Metallplatte/Abdeckung darüber erwärmen. Mit einem Stück Lötzinn probieren, ob es schon heiß genug ist (Lötzinn muss schmelzen, perlen und abtropfen).&lt;br /&gt;
&lt;br /&gt;
Wenn ja: Flamme ausmachen, Platine mit der nicht bestückten Seite auf das heiße Metall drücken, ein paar Sekunden warten, bis die Wärme von unten durch die Platine gewandert ist, und das Bauteil mit einer Pinzette abnehmen. Getestet mit Epoxyd-Platine. Sie hat überlebt, nur etwas dunkel verfärbt. Es empfiehlt sich, mit einer unkritischen Platine etwas zu üben.&lt;br /&gt;
&lt;br /&gt;
==== Bügeleisenmethode ====&lt;br /&gt;
&lt;br /&gt;
Ein Bügeleisen umgekehrt in einen Schraubstock spannen, eventuell mit einem&lt;br /&gt;
Tuch am Griff vor Kratzern schützen und die Gleitfläche mit Alufolie abdecken - um Ärger mit der besseren Hälfte zu vermeiden ;-) Auf maximale Temperatur stellen (Leinen), Platine mit der nicht bestückten Seite auflegen und warten, bis das Lot flüssig wird. Bauteile mit einer Pinzette abheben. Platine nach und nach verschieben um alle Stellen zu erhitzen.&lt;br /&gt;
&lt;br /&gt;
==== Ceran-Herd ====&lt;br /&gt;
&lt;br /&gt;
Geht nur bei einseitig bestückten Platinen!&lt;br /&gt;
&lt;br /&gt;
Ähnelt der Bügeleisen-Methode, ist wegen der IR-Strahlung besser.&lt;br /&gt;
&lt;br /&gt;
Platine auf das Ceranfeld legen. Dann das Feld ca. alle 1 - 2 Sekunden ein- und ausschalten. Dabei das An-Intervall langsam erhöhen. Dies so lange durchführen, bis das Zinn geschmolzen ist. Nun die gewünschten Bauelemente verschieben oder abheben. Darauf achten, dass das Glas frei von Zinn und anderen Stoffen bleibt.&lt;br /&gt;
&lt;br /&gt;
Achtung: Das Glas wird ungleichmäßig heiß, da die Heizwendeln lokal angeordnet sind.&lt;br /&gt;
&lt;br /&gt;
Wichtig: die Platine ist über ihrer Glastemperatur, also biegsam. Die Platine einfach auf dem Ceran Herd auf eine kalte Platte legen und abkühlen lassen.&lt;br /&gt;
&lt;br /&gt;
Eignet sich gut zum Vorwärmen auf ca. 100 - 150°C, auch bei beidseitig bestückten Boards, in Verbindung mit anderen Methoden (z.B. Heißluft).&lt;br /&gt;
&lt;br /&gt;
Ähnliche Vorwärmplatten gibt es speziell für die Löttechnik.&lt;br /&gt;
&lt;br /&gt;
=== Recycelte Chips wiederaufbereiten ===&lt;br /&gt;
&lt;br /&gt;
* Zuerst müssen die Lötzinnreste entfernt werden. &lt;br /&gt;
In Alkohol gelöstes Kolophonium wirkt da Wunder. Einfach den Chip in dieses Flussmittel tauchen, welches man vorher z.B. auf einen kleinen Unterteller oder -tasse in kleinen Mengen vergossen hat. &lt;br /&gt;
* Dann mit sauberer Lötspitze an den Pins entlangziehen und das überflüssige Lötzinn an einem Schwamm oder Zellstoff (-Taschentuch) abstreifen. &lt;br /&gt;
* Verklebte Pins mittels dünner Lötspitze auseinanderbringen, auch ein Zahnstocher aus Holz leistet wertvolle Dienste.&lt;br /&gt;
* Bei Pins, die enger als 0,6 mm sind, hilft zusätzlich Entlötsauglitze. Anstelle von Entlötsauglitze kann auch ein dünnes, abisoliertes Litzenkabel (möglichst feindrahtig) dienen.&lt;br /&gt;
:Man sollte aber immer daran denken, dass die Gefahr des Ausfalls durch Überhitzung besteht. &lt;br /&gt;
&lt;br /&gt;
Eine zweite Möglichkeit besteht darin das Lötzin &amp;quot;abzudremeln&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dazu eine kleine rotierende Messingbürste in den Dremel (Multifunktions-Schleifer) und an den Pins von innen nach außen entlangziehen.&lt;br /&gt;
&lt;br /&gt;
* Stahlbürsten sind mit Vorsicht zu genießen, weil sie einfach zu hart sind. &lt;br /&gt;
* Kunststoffbürsten hingegen können sich elektrostatisch aufladen!&lt;br /&gt;
* Eine &amp;quot;dritte Hand&amp;quot; oder Einspannvorrichtung erleichtert das Recyceln erheblich.&lt;br /&gt;
&lt;br /&gt;
Eine weitere Dritte ist Graphit: Lötzinn und Bleistift sind von Natur aus Feinde. Warmmachen, und Zinn mit Bleistift &amp;quot;wegdrängeln&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Das Ausrichten und Geradebiegen der Pins überlasse ich den eigenen Fähigkeiten.&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
&lt;br /&gt;
Man sollte nicht glauben, dass man jetzt sofort jegliches SMD einlöten kann, mal abgesehen von Widerständen. Alles benötigt eine gewisse Übung und es empfiehlt sich, erst mit den einfacheren SO-Packages anzufangen und einige TSSOPS einzulöten bevor man sich an TQFP oder ähnliches heranwagt. Außerdem sollte man sich für die ersten Versuche nicht unbedingt einen 10 Euro teuren Chip hernehmen. Wenn man aber nicht 2 linke Hände hat, sollten alle Packages beim zweiten oder dritten Lötversuch einigermaßen sauber eingelötet sein. Und besonders bei den TSSOPs und TQFPs sieht es dann fast wie Industriefertigung aus.&lt;br /&gt;
&lt;br /&gt;
==== Kontrollieren von Lötstellen ====&lt;br /&gt;
&lt;br /&gt;
Zur Kontrolle der gelöteten Bauteile sollte man, wie schon erwähnt, eine gute Lupe - besser noch Lupenleuchte - benutzen oder auch schon preiswert über diverse Internetauktionen zu ersteigernde &amp;quot;USB Mikroskope&amp;quot;, die an einen PC oder Laptop angeschlossen werden können.&lt;br /&gt;
&lt;br /&gt;
Das kann böse Überraschungen bei der Inbetriebnahme der gelöteten Platine vermeiden.&lt;br /&gt;
&lt;br /&gt;
Unabdingbar ist immer eine gute Ausleuchtung des Arbeitsplatzes.&lt;br /&gt;
&lt;br /&gt;
Auslöten kann man gut an defekten Platinen, z.B. aus Computern, üben.&lt;br /&gt;
&lt;br /&gt;
Und ja keine Lötpaste essen!!!!&lt;br /&gt;
Dann wird alles gut :D&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[IC-Gehäuseformen#Adapterplatinen für SMD-ICs|Adapterplatinen für SMD-ICs]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://thomaspfeifer.net/ SMD löten/entlöten und Reflow Ofen Selbstbau (unter Trickkiste und AVR Projekte)]&lt;br /&gt;
* [http://iwenzo.de/wiki/Kategorie:SMD SMD Bauteilliste]&lt;br /&gt;
* [http://www.seattlerobotics.org/encoder/200006/oven_art.htm SMD-Löten im Toastofen] (englisch)&lt;br /&gt;
* [http://www.elv-downloads.de/downloads/journal/SMD-Anleitung.pdf SMD-Anleitung von ELV] praktische Tips (deutsch)&lt;br /&gt;
* [http://www.bimbel.de/artikel/artikel-17.html Bilder und kleine Anleitung]&lt;br /&gt;
* [http://www.ulrichradig.de/ SMD-ICs ein-/auslöten (unter Tipps&amp;amp;Tricks)]&lt;br /&gt;
* [http://www.gadgetpool.de/nuke/modules.php?name=News&amp;amp;file=article&amp;amp;sid=23 SMD-Löten für jedermann]&lt;br /&gt;
* [http://www.makezine.com/blog/archive/2007/01/soldering_tutor_1.html MAKE-Magazine Podcast Loet und Entloet-Tips]&lt;br /&gt;
* [http://www.circuitrework.com Circuit Technology Center] - Surgeon grade rework and repair, by the book and guaranteed. Deeplink: [http://www.circuitrework.com/guides/guides.shtml Guides]&lt;br /&gt;
*[http://www.martin-smt.de SMD Bearbeitungsgeräte - Reworksysteme]&lt;br /&gt;
*[http://www.fritsch-smt.de Bestückungsautomaten / Siebdruckgeräte]&lt;br /&gt;
*[http://www.sef.de Reflowlötanlagen]&lt;br /&gt;
*[http://iwenzo.de/wiki/Kategorie:SMD SMD Code Tabelle]&lt;br /&gt;
*[http://iwenzo.de/wiki/SMD_Widerstand_Codehilfe SMD Widerstände ablesen]&lt;br /&gt;
*[http://iwenzo.de/wiki/Kategorie:SMD-Geh%C3%A4use SMD Gehäuseformen]&lt;br /&gt;
*[http://iwenzo.de/wiki/SMD_Bauteile_l%C3%B6ten SMD Bauteile löten]&lt;br /&gt;
*[http://www.tobler.ch/envo/modules.php?op=modload&amp;amp;name=Downloads&amp;amp;file=index&amp;amp;req=viewsdownload&amp;amp;sid=25&amp;amp;min=0&amp;amp;orderby=titleA&amp;amp;show=10 Serie von kurzen Artikeln zum Löten / Entlöten]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=SMD_L%C3%B6ten&amp;diff=40522</id>
		<title>SMD Löten</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=SMD_L%C3%B6ten&amp;diff=40522"/>
		<updated>2009-11-07T14:39:37Z</updated>

		<summary type="html">&lt;p&gt;82.82.163.137: /* Voraussetzungen */ K&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Löten]]&lt;br /&gt;
== Einlöten von SMD Bauteilen ==&lt;br /&gt;
&lt;br /&gt;
Irgendwann ist man an dem Punkt angelangt, an dem man ein Bauteil braucht, das bloß in [[SMD]] verfügbar ist. [[TI]] zum Beispiel bietet seine [[MSP430]]-[[Mikrocontroller]] ausschließlich in [[SMD]] an. Das ist dann der Zeitpunkt an dem man sich fragt: &amp;quot;Wie lötet man sowas?&amp;quot;. Nun, eigentlich ist es gar nicht so schwer, sobald man den richtigen Trick dabei mal raus hat. &lt;br /&gt;
&lt;br /&gt;
=== Handlöten ===&lt;br /&gt;
&lt;br /&gt;
==== Voraussetzungen ====&lt;br /&gt;
&lt;br /&gt;
* Grundvoraussetzung ist ein Lötkolben mit entsprechender Lötspitze.&lt;br /&gt;
**Der Lötkolben sollte am besten der einer geregelten Lötstation sein. Die Einstellung der Lötstation sollte man halbwegs beherrschen. (Lötversuche an einer alten Platine sind in diesem Fall sehr hilfreich).&lt;br /&gt;
**Der Lötkolben sollte möglichst leicht und der vordere (heiße) Teil möglichst kurz sein. Je länger, desto mehr wird ein eventuelles Zittern der Hand verstärkt.&lt;br /&gt;
** Die Lötspitze sollte so dick sein, wie es noch gerade für die Aufgabe vertretbar ist. Nicht etwa die dünnste aufzutreibende Lötspitze. Was auf den ersten Blick widersprüchlich klingt (so dick wie es gerade noch geht), hat einen einfachen Grund: Die an der Spitze ankommende Wärme, die Wärmekapazität der Spitze und die Wärmeübertragung sind bei größeren Spitzen entsprechend besser. Daher geht das Löten mit einer größeren Spitze besser. Natürlich sollte man es nicht übertreiben, aber die 0,8 mm Spitze ist häufig die falsche Wahl.&lt;br /&gt;
** Die Lötspitze sollte in einem guten bis erstklassigen Zustand sein.&lt;br /&gt;
&lt;br /&gt;
* Außerdem braucht man noch Entlötlitze. Hier sollte man die dünnste nehmen, die man bekommen kann. Breiter als 1,5 mm sollte sie nicht sein, eher dünner. Hat man keine passende zur Hand oder herrscht Geldmangel, so lassen sich auch die feinen Litzen eines abisolierten, flexiblen Silikonkabels für diesen Zweck missbrauchen.&lt;br /&gt;
&lt;br /&gt;
* Natürlich braucht man auch noch das Lötzinn, bestenfalls mit Flussmittel im Kern. 0,5 mm ist praktikabel, 0,23 mm ist bei kleinerem Pitch sehr zu empfehlen.&lt;br /&gt;
&lt;br /&gt;
* Flüssiges Flussmittel in Stiftform mit eingebautem Pinsel oder Flussmittelgel aus der Spritze tun gute Dienste.&lt;br /&gt;
&lt;br /&gt;
* Schließlich ist auch noch eine Leiterplatte (PCB) vonnöten. Hier hat man entweder die Möglichkeit, sich eine bei den verschiedenen PCB-Herstellern fertigen zu lassen oder sie selber zu belichten und zu ätzen. Besonders bei Chips mit kleinem Pin-Abstand hilft eine Lötstoppmaske und die Vorverzinnung der Pads; die kleine Menge Zinn, die bei industriell gefertigten Platinen auf den Pads ist, reicht völlig aus, man braucht dann kein oder nicht viel extra Lötzinn.&lt;br /&gt;
&lt;br /&gt;
* Feine Pinzette. Billige tun es eher weniger.&lt;br /&gt;
&lt;br /&gt;
* Eine Lupe. Diese dient in erster Linie zur Kontrolle. Löten ist unter einer einfachen Lupe eher unangenehm und ein Notbehelf, da die Perspektive verloren geht. Eine Lupenbrille (gute können recht teuer sein) oder ein Stereomikroskop (teuer bis sehr teuer) wäre zum Löten die bessere Wahl.&lt;br /&gt;
&lt;br /&gt;
==== Löten von Widerständen, Kondensatoren und anderen 2-Pinnern ====&lt;br /&gt;
&lt;br /&gt;
Es gibt diese Bauteile hauptsächlich in diesen Bauformen:&lt;br /&gt;
* 1206:  Länge: 3,20 mm  Breite: 1,60 mm (laufen langsam aus)&lt;br /&gt;
* 0805:  Länge: 2,00 mm  Breite: 1,25 mm&lt;br /&gt;
* 0603:  Länge: 1,60 mm  Breite: 0,80 mm (derzeit in der Industrie aktuell)&lt;br /&gt;
* 0402:  Länge: 1,00 mm  Breite: 0,50 mm (wird derzeit Standard in der Industrie)&lt;br /&gt;
* 0201:  Länge: 0,50 mm  Breite: 0,25 mm (Handy)&lt;br /&gt;
* 01005: Länge: 0,25 mm  Breite: 0,13 mm (Handy)&lt;br /&gt;
&lt;br /&gt;
Das Einlöten von 2-Pinnern ist sehr einfach. Es gibt eigentlich bloß einen kleinen Trick:&lt;br /&gt;
&lt;br /&gt;
# Ein Pad auf der Leiterplatte verzinnen.&lt;br /&gt;
# Das Bauteil mit einer Pinzette in Endposition halten und leicht an beide Pads andrücken.&lt;br /&gt;
# Dabei das verzinnte Pad mit dem Lötkolben erwärmen. Das Bauteil ist nun einseitig eingelötet.&lt;br /&gt;
# Das zweite Pad normal löten.&lt;br /&gt;
# Anschließend evtl. das erste Pad nochmal kurz erhitzen.&lt;br /&gt;
&lt;br /&gt;
Und schon hat man das Bauteil eingelötet.&lt;br /&gt;
&lt;br /&gt;
Als Pinzette empfiehlt sich eine mit ca. 1 mm breiter Spitze, die als SMD-Pinzette (meist schwarz brüniert) ab ca. 10.- angeboten werden. Hier zu sparen lohnt nicht.&lt;br /&gt;
&lt;br /&gt;
==== Lötpaste ====&lt;br /&gt;
ist eine Mischung aus Mg(OH)2 und Al2(Cl)3.&lt;br /&gt;
&lt;br /&gt;
==== Löten von Bauteilen im SO-Package ====&lt;br /&gt;
&lt;br /&gt;
Das Löten von Bauteilen im SO Package gestaltet sich fast genauso einfach wie das Löten von Widerständen:&lt;br /&gt;
&lt;br /&gt;
# Ein Pad, das an einer Ecke des ICs liegt, verzinnen.&lt;br /&gt;
# Den IC platzieren.&lt;br /&gt;
# Den IC nach unten drücken.&lt;br /&gt;
# Das Pad erwärmen. Es ist möglich, dass der IC jetzt nicht richtig sitzt. Wenn das passiert ist, einfach nochmal das Zinn erwärmen und den IC verschieben bis er sitzt. Allerdings muss man dabei aufpassen, den IC nicht zu stark zu erwärmen.&lt;br /&gt;
# Das dem ersten gelöteten Pad diagonal gegenüberliegende Pad löten.&lt;br /&gt;
# Alle anderen Pads verlöten. Es ist nicht schlimm, wenn Zinnbrücken entstehen.&lt;br /&gt;
# Die Zinnbrücken mit Hilfe von Entlötlitze entfernen. Dazu hält man die Entlötlitze an die betroffenen Pads und erwärmt sie. Das Zinn geht dann automatisch auf die Entlötlitze und es gibt keine Brücken mehr.&lt;br /&gt;
&lt;br /&gt;
==== Löten von (T)SSOPs und QFPs ====&lt;br /&gt;
&lt;br /&gt;
War es bei Bauteilen im SO-Package mit einer ruhigen Hand noch möglich die Pins ohne Zinnbrücken zu verlöten, ist das bei TSSOPs nun praktisch nicht mehr möglich, da der Abstand der Pins einfach zu klein ist.&lt;br /&gt;
&lt;br /&gt;
# Platzieren des Bauteils.&lt;br /&gt;
# Das Bauteil irgendwie fixieren (Pinzette oder vorsichtig mit dem Zeigefinger etc.) Tesafilm ist recht praktisch und lässt sich leicht wieder entfernen.&lt;br /&gt;
# Mit dem Lötkolben einen Tropfen Zinn aufnehmen (entfällt bei verzinnten Pads).&lt;br /&gt;
# Das Bauteil an zwei diagonal gegenüberliegenden Pins festlöten.&lt;br /&gt;
# Überprüfen, ob der Chip wirklich richtig auf der Platine liegt, jetzt sind Korrekturen noch möglich.&lt;br /&gt;
# Wenn man einen Stift mit flüssigem Flussmittel hat, auf der zu lötenden Seite damit einfach über alle Pins pinseln.&lt;br /&gt;
# Mit dem Lötkolben über die erste Seite des TSSOP fahren. Dabei spielt es keine Rolle, ob Brücken entstehen. Wenn man vorverzinnte Pads und Lötstopplack hat, entstehen normalerweise keine Brücken, da die Oberflächenspannung die geringe Menge Zinn an Pad und Pin sammelt, so dass es zu wenig Zinn für eine Brücke ist.  Den Lötkolben mit einer Geschwindigkeit von ca. 1 - 2 Pins pro Sekunde vorwärts bewegen.&lt;br /&gt;
# Jetzt kann man das Bauteil loslassen, da es genügend fixiert ist.&lt;br /&gt;
# Mit dem Lötkolben über die andere(n) Seite(n) fahren.&lt;br /&gt;
# Mit Entlötlitze überflüssiges Zinn entfernen.&lt;br /&gt;
# Zum Abschluss kann man mit einer Lupe die Lötstellen überprüfen.&lt;br /&gt;
&lt;br /&gt;
Bei QFPs ist das Verfahren gleich, außer dass man 4 Seiten bearbeiten muss.&lt;br /&gt;
&lt;br /&gt;
Alternativ zur Entlötlitzentechnik gibt es auch Lötspitzen mit Hohlkehle.&lt;br /&gt;
&lt;br /&gt;
# Zuerst das Bauteil an zwei diagonalen Pins mit Lötzinn fixieren und die Ausrichtung prüfen. Ob Lötbrücken entstehen, ist zu diesem Zeitpunkt nicht wichtig.&lt;br /&gt;
# Dann genügend Flussmittel über die zu lötenden Pins streichen.&lt;br /&gt;
# Die Hohlkehle mit wenig Lötzinn füllen und über eine Seite des ICs führen.&lt;br /&gt;
# Jetzt hat man an einigen Stellen (meist am Ende der Seite, die man gelötet hat) einige Lötbrücken.&lt;br /&gt;
# Die Hohlkehle von Lötzinn reinigen und mit leerer Hohlkehle über die Lötbrücken fahren. Vorher nochmal genug Flussmittel draufgeben.&lt;br /&gt;
# Meist sind schon nach dem ersten mal keine Brücken mehr vorhanden. Falls doch, nochmals mit Flussmittel benetzen und an den entsprechenden Stellen mit der Hohlkehlspitze Lötzinn entfernen.&lt;br /&gt;
&lt;br /&gt;
Vorsicht! Flussmittel sind ätzend. Also nur bei eingeschalteter Lötdampfabsaugung arbeiten!&lt;br /&gt;
&lt;br /&gt;
==== Der Trick mit der Entlötlitze ====&lt;br /&gt;
&lt;br /&gt;
Bei kleinen SMD-Bauteilen kann es passieren, dass man beim Löten Zinnbrücken verursacht. Diese lassen sich recht einfach mittels Entlötlitze entfernen. Dabei sollte man direkt mit dem Ende der Litze entlöten und nicht der Mitte. Hilfreich kann bei wenig Platz auch ein schräges Anschneiden der Litze sein. Scharfe Schneidwerkzeuge, die ein Ausfransen der Litze verhindern, sind unverzichtbar (Tipp: SMD-Werkzeuge markieren, damit sie nicht versehentlich für grobe Arbeiten verwendet werden).&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich die Entlötlitze vorher leicht mit Flussmittel zu tränken, damit das Zinn besser aufgenommen werden kann.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollte man beim Arbeiten mit Entlötlitze, ob an SMD- oder anderen Bauteilen, etwas Vorsicht walten lassen. Entlötlitze ist ein sehr guter Wärmeleiter. Daher kann man sich beim Entlöten, wenn man die Litze direkt mit den Fingern hält, böse verbrennen. Über 300° vom Lötkolben über die Litze zu den Fingern übertragen sind kein Pappenstiel. Leider kann das Führen der Litze mit einer Pinzette oder kleinen Flachzange gerade bei SMD-Bauteilen zu ungenau sein, so dass man verleitet wird, die Finger zu nehmen.&lt;br /&gt;
&lt;br /&gt;
==== Trick 17 mit der Entlötlitze ====&lt;br /&gt;
&lt;br /&gt;
Mit der &amp;quot;Invertierte-Entlötlitzen-Methode&amp;quot; kann man auch mechanisch empfindliche Pins auf sehr kleinem Raster &#039;&#039;&#039;verlöten&#039;&#039;&#039;, indem man mit der Entlötlitze Lötzinn an das Pin/Pad-Paar zuführt. ([http://www.mikrocontroller.net/topic/94451#833286 Forumsbeitrag von Ulrich]).&lt;br /&gt;
&lt;br /&gt;
=== Reflow-Techniken ===&lt;br /&gt;
&lt;br /&gt;
Bei Reflow-Lötverfahren wird vor der Bestückung auf die Lötpunkte der Platine eine Lötpaste aufgetragen. Die Anschlüsse der zu lötenden Bauteile werden dann in diese Paste positioniert. Nach dieser Bestückung wird die Platine mit den Bauteilen erhitzt. Die Lötpaste schmilzt auf. Sind alle Lötpunkte aufgeschmolzen wird die Platine abgekühlt, das Lot härtet aus und die Bauteile sind verlötet.&lt;br /&gt;
&lt;br /&gt;
Reflow-Techniken galten lange Zeit als zu aufwendig für Amateure. Dies änderte sich, nachdem sich gezeigt hat, dass auch etwas hemdsärmelige Methoden zum Ziel führen. Auch diese setzen etwas Aufwand voraus, daher sind sie im folgenden nur kurz beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Lötpaste auftragen ====&lt;br /&gt;
&lt;br /&gt;
In der industriellen Fertigung wird die Lötpaste zum Beispiel mittels einer Schablone aufgetragen. Eine Schablonenfertigung (Laser) ist für Einzelstücke zu aufwendig und zu teuer, daher bleibt die Lötpaste von Hand aufzutragen. Für diese Zwecke ist Lötpaste in Spritzen erhältlich. Die Preise für Lötpaste sind horrend. Mit ein bis zwei Euro pro Gramm(!) muss man rechnen. Allerdings benötigt man nur sehr geringe Mengen pro Platine und Lötpaste ist nicht unbegrenzt lagerbar. Es sollte eine &amp;quot;no clean&amp;quot; Paste verwendet werden. &amp;quot;No clean&amp;quot; bedeutet, dass die Platine nicht von Flussmittelresten gereinigt werden muss.&lt;br /&gt;
&lt;br /&gt;
Vor dem Auftragen der Paste ist die Platine zu säubern, und nochmal zu säubern, und nochmal ... Dann wird eine sehr kleine Menge der Paste auf jeden Lötpunkt aufgetragen.&lt;br /&gt;
&lt;br /&gt;
==== Bauteile bestücken ====&lt;br /&gt;
&lt;br /&gt;
Die Anschlüsse der Bauteile werden in die Lötpaste gesetzt. Bei bleihaltiger Lötpaste muss die Ausrichtung nicht 100% genau sein, da die Bauteile beim Schmelzen der Paste durch die Oberflächenspannung in Position gezogen werden. Bei bleifreier Lötpaste ist dieser Effekt kaum vorhanden. Daher müssen die Bauteile in diesem Fall genau ausgerichtet sein.&lt;br /&gt;
&lt;br /&gt;
==== Umgebauter Pizzaofen ====&lt;br /&gt;
&lt;br /&gt;
Als Standardmethode für Amateure scheint sich die Verwendung eines umgebauten Pizzaofen durchzusetzen. Ein Elektro-Pizzaofen/Miniofen für den Hausgebrauch für vielleicht 20€ bis 50€ wird mit einer Mikrocontroller-Temperatursteuerung versehen. Mit dieser Steuerung werden die gewünschten Heiz- und Abkühl-Temperaturkurven gesteuert. Beim Umbau ist Vorsicht zu walten lassen, da die Heizung und Temperaturregelung solcher Öfen mit Netzspannung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Aus Gesundheitsgründen sollte ein zum Reflow-Löten verwendeter Ofen nicht mehr für Nahrungsmittel verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==== Elektro-Pfanne ====&lt;br /&gt;
&lt;br /&gt;
Statt eines mit einer Temperatursteuerung nachgerüsteten Pizzaofens wird gelegentlich einfach eine teflonbeschichtete Elektro-Pfanne verwendete. Elektro-Pfannen, manchmal auch Party-Pfannen genannt, sind in Deutschland eher selten in Haushalten zu finden. Es handelt sich dabei im Prinzip um eine Elektro-Heizplatte, die jedoch nicht flach, sondern deren Oberseite als Pfanne ausgeformt ist.&lt;br /&gt;
&lt;br /&gt;
Zum Reflowlöten wird eine bestückte Platine in die kalte Pfanne gelegt, mit der Lötseite, also den Bauelementen nach oben. Die Pfanne wird aufgeheizt und dabei die Platine beobachtet, bis die Lötpaste an allen Lötpunkten aufgeschmolzen ist. Da eine Elektro-Pfanne nicht überall gleichmäßig heizt, wird gelegentlich vorsichtiges Schwenken der Platine in der Pfanne vorgeschlagen, um die Platine gleichmäßig zu erwärmen. Ist die Lötpaste überall aufgeschmolzen wird die Elektro-Pfanne abgestellt. Die Platine bleibt in der Pfanne und kühlt dort langsam mit der Pfanne aus.&lt;br /&gt;
&lt;br /&gt;
Bei dieser Methode hat man keine Kontrolle über die Temperaturkurve. Selbige hängt nicht nur von der Bauart der Pfanne, sondern auch von der Umgebungstemperatur und der eigenen Reaktionszeit ab.&lt;br /&gt;
&lt;br /&gt;
Aus Gesundheitsgründen sollte ein zum Reflow-Löten verwendete Elektro-Pfanne nicht mehr für Nahrungsmittel verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==== Heißluft ====&lt;br /&gt;
&lt;br /&gt;
Die Geister scheiden sich daran, ob man mit Heißluft wirklich gut löten kann (beim Entlöten ist das anders). Viele bevorzugen noch den Lötkolben vor dem Heißluftgerät, andere haben mit Heißluftlöten keine Probleme.&lt;br /&gt;
&lt;br /&gt;
Mit Heißluft lötet man eine Platine bereichsweise. Auf die Lötpads in einem Bereich werden kleine Mengen Lötpaste aufgetragen und die Bauteile aufgesetzt. Die Lötpaste wird dann mittels Heißluft erwärmt und geschmolzen. Dabei muss man sowohl aufpassen, dass Bauteile und Platine nicht überhitzt werden und dass man die in der Lötpaste sitzenden Bauteile nicht verschiebt oder sogar von der Platine bläst. Nebenbei muss man natürlich aufpassen, dass man sich nicht an der Heißluft verbrennt.&lt;br /&gt;
&lt;br /&gt;
Entsprechende Heißluftgeräte (Hot-Air Stations, häufig auch Rework-Stations genannt), waren relativ teuer. Einige Marken sind mittlerweile jedoch für den Hobbyisten erschwinglich. Mit Übung lässt sich auch eine einfache Heißluft-Pistole verwenden. Allerdings ermöglichen deren Düsen kein sonderlich genaues Arbeiten.&lt;br /&gt;
&lt;br /&gt;
==== Herdplatte ====&lt;br /&gt;
&lt;br /&gt;
Mit etwas Erfahrung kann man auch sehr gut auf der Herdplatte löten. Die Herdplatte wird dabei rund eine halbe Stunde vorgeheizt, damit die Temperatur einigermaßen konstant bleibt. Mit etwas Lötzinn kann getestet werden, ob die Löttemperatur erreicht wurde. Die Herdplatte sollte nicht zu heiß eingestellt werden, damit der Lötstopplack sowie das Epoxyd nicht verheizt wird. &lt;br /&gt;
Die bestückte Platine wird mit einer Pinzette auf die Herdplatte gelegt. Schon nach kurzer Zeit sollte das Lötzinn anfangen zu schmelzen. Wenn alle Lötstellen verlötet sind, kann die Platine wieder heruntergenommen werden und abkühlen.&lt;br /&gt;
&lt;br /&gt;
== Entlöten von SMD-Bauteilen ==&lt;br /&gt;
&lt;br /&gt;
Leider halten ICs etc. nicht ewig und irgendwann muss jeder einmal SMD Bauteile wieder auslöten. Das Entlöten gestaltet sich im Grunde genauso einfach wie das Einlöten.&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei einfache Fälle: Entweder soll der Chip überleben oder die Platine. Der dritte Fall ist die erstrebenswerteste Methode: Chip und Platine überleben.&lt;br /&gt;
&lt;br /&gt;
=== Die einfachste Methode ===&lt;br /&gt;
&lt;br /&gt;
Die einfachste Methode ist ganz einfach den Lötkolben auf maximale Temperatur zu stellen und dann, mit etwas Lötzinn für besseren Wärmekontakt, auf die Mitte des auszulötenden ICs zu legen (mit der Spitze und dem Lötzinn darunter).&lt;br /&gt;
&lt;br /&gt;
Der IC stirbt dabei durch die rund 400 Grad des Lötkolbens sicherlich den Hitzetod, aber durch die Wärmeleitung schmilzt an den Beinchen des ICs das Lötzinn nach rund einer Minute und man kann den IC mit einer Pinzette dann abheben. Hierzu sollte man alle paar Sekunden testweise anheben und den Lötkolben nur leicht aufdrücken, um so ganz sicher alle anderen Bauteile heil zu lassen.&lt;br /&gt;
&lt;br /&gt;
Das auf der Platine verlaufene Lötzinn entfernt man, indem man mit der gereinigten Lötspitze (bei 200 Grad) über die nun geleerten Pads geht; Zubehör wie Entlötlitze ist überflüssig.&lt;br /&gt;
&lt;br /&gt;
So kann man beispielsweise einen USB-RS232-Adapter in einen USB-UART-Adapter umwandeln ;-)&lt;br /&gt;
&lt;br /&gt;
Getestet habe ich es bisher mit einem SD213 (28 Pins) und einem FT232 (32 Pins), aber etwas größere ICs, bis zum MSP430 mit 100 Pins, müssten auch möglich sein.&lt;br /&gt;
Durch Umdrehen der Platine sollten auch noch größere ICs so auslötbar sein (wobei man wegen der Schwerkraft dann die Pinzette einsparen kann), weil dann durch die Konvektion noch mehr Wärme übertragen wird.&lt;br /&gt;
&lt;br /&gt;
=== Chip Quick-Methode ===&lt;br /&gt;
[http://www.chipquik.com/ Chip Quick] bietet ein Set an mit dem sich SMD-Bauteile sehr einfach und zerstoerungsfrei entloeten lassen.&lt;br /&gt;
&lt;br /&gt;
Dabei wird auf die Beinchen reichlich Flussmittel aufgetragen. Dann eine grosse Menge speziellem Loetzinn aufgetragen das eine sehr geringe Schmelztemperatur hat. Das verbindet sich mit dem Loetzinn und bleibt lange fluessig. Die Temperatur ist so gering, dass das Bauteil überlebt.&lt;br /&gt;
Wenn alle Beinchen in dem Loetzinn-Blob stehen, faellt das Bauteil fast von alleine ab.&lt;br /&gt;
&lt;br /&gt;
Diese Methode wird in dem Make-Magazine Video gezeigt, das unten verlinkt ist.&lt;br /&gt;
&lt;br /&gt;
Ich vermute, dass es sich bei der Chip Quick-Legierung um Wood&#039;sches Metall (enthält Cadmium) oder wahrscheinlicher um die Rose-Legierung (Cadmiumfrei) handelt. Bei tmp-loettechnik.de bekommt man letzteres, allerdings nur als Barren. Mit dieser Legierung (Schmelzpunkt 98 °C) kann man auch Teile zur mechanischen Bearbeitung eingießen und im kochenden Wasser wieder befreien. &amp;quot;Flüssiger Schraubstock&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Die Zahnarztmethode ===&lt;br /&gt;
&lt;br /&gt;
==== Benötigtes Werkzeug ====&lt;br /&gt;
&lt;br /&gt;
* Lötkolben&lt;br /&gt;
* Lötzinn &lt;br /&gt;
* Ablöthebel &lt;br /&gt;
* Entlötlitze&lt;br /&gt;
&lt;br /&gt;
==== Ablöthebel u.ä ====&lt;br /&gt;
&lt;br /&gt;
Ein Ablöthebel oder verwandte Werkzeuge sehen so aus, als ob sie aus der Praxis eines Zahnarztes (Zahnsonde) oder der Werkstatt eines Zahntechnikers stammen. Dabei handelt es sich um Metallhaken, eventuell (in der einfachen, nicht medizinischen Ausführung) mit Plastikgriff. Es gibt sie in verschiedenen Formen und Größen. &lt;br /&gt;
&lt;br /&gt;
Als Werkzeug zum Entlöten findet sich eine Form unter der bereits erwähnten Bezeichnung &#039;&#039;Ablöthebel&#039;&#039;, ebenso findet man ähnliche Werkzeuge als Teil von sogenannten &#039;&#039;Platinen-Reinigungsbestecken&#039;&#039; (Beispiel Conrad Bestellnummer 588239). Im Englischen heißen entsprechende Werkzeuge &#039;&#039;soldering aid hook&#039;&#039; (Haken), &#039;&#039;soldering aid fork&#039;&#039; (Haken/Hebel mit gespaltener Klinge. Wenn als Hebel ausgeführt ein &#039;&#039;Ablöthebel&#039;&#039;), oder &#039;&#039;soldering aid spike&#039;&#039;, &#039;&#039;reamer&#039;&#039; oder &#039;&#039;probe&#039;&#039; (gebogene oder ungebogene Tastspitze).&lt;br /&gt;
&lt;br /&gt;
Ein solcher Hebel oder Haken ist ein nützliches Werkzeug beim Auslöten von SMD Bauteilen. Vorsichtig eingesetzt kann er durchaus beim zerstörungsfreien Entlöten verwendet werden, zum Beispiel bei der Verwendung von [[#Heißluft|Heißluft]]. Im Folgenden wird allerdings eine zerstörende Methode beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Der Entlötvorgang ====&lt;br /&gt;
&lt;br /&gt;
Das Entlöten ist bei fast allen SMD-Bauteilen gleich, egal welcher Pinabstand und wie viele Pins. &#039;&#039;&#039;Achtung&#039;&#039;&#039;, der IC geht dabei kaputt.&lt;br /&gt;
&lt;br /&gt;
# Man bringt eine dicke Zinnwurst auf alle Pins auf.&lt;br /&gt;
# Erwärmen des Zinns mit dem Lötkolben.&lt;br /&gt;
# Ausheben der Pins mithilfe des Hebels oder Hakens. Hier kann man bei den Bauteilen mit kleinem Pinabstand gleichzeitig mehrere hochheben.&lt;br /&gt;
# Solange wiederholen, bis alles raus ist.&lt;br /&gt;
# Entfernen der Zinnreste mit Entlötlitze.&lt;br /&gt;
&lt;br /&gt;
=== Die 2-Lötkolben-Methode ===&lt;br /&gt;
&lt;br /&gt;
Diese Methode eignet sich für alle SMD-Bauteile mit 2 gelöteten Seiten: Widerstände, Kondensatoren, kurze ICs (z.B. 2x8 Pins). Bei den Widerständen und Kondensatoren ist alles klar. Von jeder Seite einen Lötkolben anhalten, das Bauteil löst sich ab und bleibt meist an einem der Kolben kleben, wo man es abschütteln kann. Bei ICs verzinnt man zunächst beide Pin-Reihen ordentlich, danach versucht man mit den Kolben das Zinn auf beiden Reihen und der gesamten Länge flüssig zu bekommen, evtl. muss man die Lötkolben dabei etwas bewegen. Ist das Zinn komplett flüssig, kann man das IC beiseite schieben. Das geht besonders gut bei Platinen mit Lötstopplack. Bei dieser Methode kann man die Bauteile in der Regel anschließend weiter verwenden, überflüssiges Zinn an den Pins mit Lötsauglitze entfernen.&lt;br /&gt;
&lt;br /&gt;
=== Die Rohrstückmethode ===&lt;br /&gt;
&lt;br /&gt;
Diese Methode eignet sich für ICs mit Pins an zwei Seiten (SO-Gehäuse). Chip und Platine haben Chancen zu überleben. Man nehme ein Stück Kupferrohr der passenden Länge und sägt es der Länge nach durch, so dass man zwei Halbschalen hat. Eine der Halbschalen befestigt man an einer alten Lötspitze, z.B. indem man ein Gewinde schneidet oder hartlötet.  Nun kann man alle Pins gleichzeitig erwärmen und das IC abnehmen.&lt;br /&gt;
&lt;br /&gt;
=== Die Kupferdraht-Haken-Methode ===&lt;br /&gt;
&lt;br /&gt;
Die Methode funktioniert ähnlich wie die zuvor beschriebenen &#039;&#039;Rohrstückmethode&#039;&#039;. Das Erstellen des Hilfsmittels ist wesentlich einfacher, allerdings ist es keine Dauerlösung. Die Methode eignet sich für kleine Bauteile (Widerstände, etc.) mit Pins an zwei Seiten.&lt;br /&gt;
&lt;br /&gt;
Das Ende eines Stück blanken Kupferdrahts wird mittels einer kleinen Flachzange zu einem U-förmigen Haken abgebogen. Dabei wählt man die Lichte Weite des Hakens so, dass man mit zwei Seiten des Hakens die Pins des zu entlötenden Bauteils gleichzeitig erreichen kann. Das andere Ende des Kupferdrahts wickelt man mehrfach um die Spitze eines kalten(!) Lötkolbens. Das Ende mit dem Hacken sollte dabei nicht mehr als vielleicht 2 cm über die Lötkolbenspitze hinausreichen und der Draht wird so gebogen (gekröpft), dass man den Lötkolben bequem führen kann um den Haken flach am Bauteil anzulegen. Um Missverständnisse zu vermeiden, der Haken soll am Bauteil angelegt und nicht etwa in irgendeiner Weise unter das Bauteil geschoben werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Lötkolben und damit der Haken erhitzt. Ist die Hakenspitze heiß genug, legt man den Haken am Bauteil an. Sobald das Lötzinn an den Pins geschmolzen ist zieht man das Bauteil von den Pads. Bauteile haben dabei die Angewohnheit für immer auf dem Fußboden verloren zu gehen. Benötigt man das Teil noch, so sollte man etwas Vorsicht walten lassen.&lt;br /&gt;
&lt;br /&gt;
=== Die dicke Kupferdrahtmethode ===&lt;br /&gt;
&lt;br /&gt;
1,5 - 2,5 mm² Massivdraht so zurechtbiegen, dass er exakt und plan auf die Pins passt. Dann mit viel Zinn schnell verlöten. Das geht am besten mit zwei oder drei stärkeren Lötkolben und einer zweiten Person. Ich habe aber auch schon alleine mit 2 Kolben 160-Poler ausgelötet, ohne IC oder Platine zu beschädigen.&lt;br /&gt;
&lt;br /&gt;
IC am besten mit einer Pinzette oder einem Vakuumsauger (z.B. Kontaklinsensauger für harte KL aus Silikon) abheben und noch im heißen Zustand den dicken Draht samt Zinn abklopfen. Danach das IC möglichst schonend (gleichmäßig und schnell) abkühlen, evtl. schon vor dem Löten einen kleinen Kühlkörper auf das IC legen / kleben.&lt;br /&gt;
&lt;br /&gt;
Die Methode kombiniert sich gut mit der Bügeleisen- oder Ceranfeld-Vorwärm-Methode.&lt;br /&gt;
&lt;br /&gt;
=== Der Trick mit dem Platinensicherungshalter ===&lt;br /&gt;
&lt;br /&gt;
Speziell zum Auslöten von SO-ICs mit 2x4 Beinchen kann man den einzelnen Clip eines Platinensicherungshalters (Durchstecktechnik, für 5 x 20 mm Sicherungen) benutzen. Mit einer feinen Zange biegt man zunächst die sich nach außen öffnenden Enden des Clips etwas nach innen. Auf diese Weise entsteht eine Mini-Zange, die genauso breit ist wie die Beinreihe des IC und sich aufgrund ihrer Vorspannung am IC festhalten kann. Den modifizierten Clip klemmt man von oben über den IC und erhitzt seine Bodenplatte mit dem Lötkolben (16W). (Anstelle der oben beschrieben Zinn-Wurst-Methode bildet nun der Clip die Wärmebrücke, ähnlich der oben beschriebenen Rohrstückmethode) Der Clip wird mit einer Pinzette abgehoben und nimmt den IC mit.&lt;br /&gt;
&lt;br /&gt;
Die Platine und der IC bleiben ganz.&lt;br /&gt;
&lt;br /&gt;
=== Lötkolbeneinsätze ===&lt;br /&gt;
&lt;br /&gt;
Für einige SMD-Bauformen gibt es Lötkolbeneinsätze, mit denen man alle Anschlüsse eines Bauteils gleichzeitig erhitzen kann. Allerdings sind diese relativ teuer, man braucht für jede Bauform einen eigenen Einsatz und es gibt IC-Bauformen, bei denen die Anschlüsse so angeordnet sind, dass man dafür keinen Einsatz bauen kann.&lt;br /&gt;
&lt;br /&gt;
=== Zangenlötkolben ===&lt;br /&gt;
&lt;br /&gt;
Ein Zangenlötkolben (auch &amp;quot;Tweeser&amp;quot;) genannt, ist ein Lötkolben, der zwei Spitzen besitzt, die ähnlich wie bei einer Pinzette verbunden sind und wie eine Pinzette bedient wird. Die Spitzen sind dabei keine Spitzen, sondern flache Einsätze. Mit dem Lötkolben kann man sehr einfach Anschlüsse von Bauteilen mit zwei gegenüberliegenden Anschlüssen (Widerstände, etc.) oder Anschlussreihen erhitzen und das Bauteil dann direkt mit dem Lötkolben von der Platine nehmen.&lt;br /&gt;
Es empfiehlt sich dabei, eine zusätzliche Pinzette zur hand zu nehmen um das Bauteil von der Platine zu heben, da teilweise maschinell bestückte SMD mit einem Klebepunkt auf der Platine fixiert werden.&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil dabei ist, dass das Bauteil relativ lange erwärmt wird, da es mit der Zange abgehoben und dann weiter erwärmt wird, bis man es aus der Zange entfernt. Ein weiterer Nachteil ist, dass sich der Lötkolben nur für zweireihige Bauteile eignet.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil dabei aber ist die schnelle und einfache Funktion. Muss man mehrere Widerstände gleicher Bauform von einer Platine entfernen, kann dieses sogar ohne Absetzen in einem Durchgang geschehen. Die bereits entlöteten Widerstände behält man dabei einfach zwischen den Zangenbacken und schiebt sie mit dem nächsten Widerstand etwas nach hinten.&lt;br /&gt;
&lt;br /&gt;
=== Kupferlackdraht ===&lt;br /&gt;
&lt;br /&gt;
Eine weitere sehr elegante Möglichkeit um auch grössere SMD-ICs zerstörungsfei von einer Platine zu bekommen, ist die &amp;quot;Kupferlackdraht-Methode&amp;quot;. Man benötigt lediglich etwas Kupferlackdraht (0,2 - 0,3 mm) und natürlich einen Lötkolben. Die einzige Bedingung ist, dass man den Kupferlackdraht auch unter den Pins bzw. dem Bauteilgehäuse durchfädeln kann.&lt;br /&gt;
&lt;br /&gt;
==== Vorgehensweise ====&lt;br /&gt;
&lt;br /&gt;
# Kupferlackdraht unter den Pins durchfädeln&lt;br /&gt;
# Jeden einzelnen Pin kurz mit dem Lötkolben leicht berühren und gleichzeitig den Kupferlackdraht zwischen Platine und Pin durchziehen&lt;br /&gt;
# Eventuell den Kupferlackdraht erneut unter den Pins durchfädeln und die Pins, bei denen der Kupferlackdraht beim Durchziehen &amp;quot;hängen bleibt&amp;quot;, nochmals mit dem Lötkolben antippen&lt;br /&gt;
&lt;br /&gt;
Es gibt aber auch dünnen Stahldraht (D=0,2 mm) für diesen Zweck zu kaufen.&lt;br /&gt;
Das Optimum ist dünnes Bandblech aus Edelstahl, ca 4 - 5 mm breit, ebenfalls etwa 0,2mm dick. Die in akustomagnetischen Warensicherungsetiketten enthaltenen Blechstreifen eignen sich gut. Auch einen Skalpellhalter mit Einmalklingen kann man hierfür verwenden. Die Spitze des Skalpells wird hinter dem Pin angesetzt (in der Lücke zwischen Pin und Gehäuse), nach unten und vorn gedrückt und der Pin mit dem Lötkolben erwärmt. Sobald das Lötzinn geschmolzen ist, rutscht das Skalpell zum nächsten Pin weiter. Hinterher müssen lediglich die Pins wieder geradegebogen werden.&lt;br /&gt;
&lt;br /&gt;
=== Mechanisch abtrennen ===&lt;br /&gt;
&lt;br /&gt;
==== Die Cuttermethode ====&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit, ein SMD IC von einer Platine zu entfernen, ist es die Beinchen vor dem Entlöten zu durchtrennen. Dazu nimmt man ein Cuttermesser mit Abbrechklingen oder ein Bastelmesser mit auswechselbarer Skalpellklinge (z.B. X-Acto Klinge #16, #17 oder #19), setzt es so nah wie möglich am Gehäuse auf ein paar der IC-Beinchen auf und drückt gerade &#039;&#039;&#039;ohne Seitwärtsbewegung&#039;&#039;&#039; nach unten. Dies durchtrennt die Beine ohne darunterliegende Leiterbahnen zu verletzen. Ein wenig Gefühl ist dabei natürlich nötig. Üben auf einem alten PC Mainboard lohnt sich. Nachdem auf diese Weise alle Beine vom IC abgetrennt sind, kann man die auf der Platine verbliebenen Reste der Beinchen einfach mit dem Lötkolben &amp;quot;abwischen&amp;quot; und die Lötzinreste mit Entlötlitze entfernen. Die Wärmebelastung der Platine ist bei dieser Methode wesentlich geringer, allerdings besteht die latente Möglichkeit Leiterbahnen zu durchtrennen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Es hat sich dabei bewährt, vorher alle Pins mit einer relativ dicken Schicht Lötzinn zu verbinden. So werden abgerissene Leiterbahnen durch versehentliche Seitwärtsbewegungen verhindert. Es muss allerdings darauf geachtet werden, dass das Lötzinn nicht ganz bis ans Gehäuse reicht, da sonst das Schneiden nahezu unmöglich ist.&lt;br /&gt;
&lt;br /&gt;
==== Die Mini-Trennscheiben-Methode ====&lt;br /&gt;
&lt;br /&gt;
Man nehme eine sehr schnelle, kleine Handbohrmaschine (Proxxon, Dremel oder dergleichen), setze eine kleine Trennscheibe auf und flexe unter der Lupenbrille vorsichtig die Beinchen nahe dem Gehäuse ab. Das Gehäuse fällt irgendwann ab, die Beinchen werden mit einem Lötkolben weggewischt.&lt;br /&gt;
&lt;br /&gt;
==== Die Abschlagmethode ====&lt;br /&gt;
&lt;br /&gt;
Wenn man SMD ICs von einer Platine retten möchte, die Platine aber später in den Müll wandert, kann man das IC mit seinem Körper auch auf eine harte Kante legen (die Platine ist dabei mehr oder weniger senkrecht).  Dann ein beherzter Schlag mit dem Handballen auf die Platinenkante und der Chip wird von der Platine abgerissen.  Die Beinchen muss man nachher etwas richten, aber normalerweise funktioniert diese Methode sehr zuverlässig, besonders bei maschinell gelöteten Platinen.  Diese Methode funktioniert sowohl mit SO-Gehäusen als auch mit radiergummigroßen DC/DC Wandlern.&lt;br /&gt;
&lt;br /&gt;
==== Alternative: Die Stechbeitelmethode ====&lt;br /&gt;
&lt;br /&gt;
Hier gilt das gleiche Prinzip wie bei der Abschlagmethode: Zuerst knicken die Beinchen ein und reißen dann von den Leiterbahnen ab. Sie lassen sich aber leicht zurückbiegen und das IC wird garantiert nicht überhitzt. Der Beitel sollte ca. 8 - 15 mm breit sein, ein alter, angeschliffener Schraubendreher mit großem Griff tut&#039;s auch. Dann die Platine flach vor sich auf den Tisch legen, das IC liegt senkrecht zur Tischkante. Den Beitel senkrecht zur Platine mit der flachen Seite an das IC anlegen, die linke Ecke der Schneide liegt dabei auf der Stirnseite in Höhe der Mittellinie, die rechte Ecke der Schneide wird als Widerlager in die Platine gepresst. Den Beitel dafür etwas nach rechts kippen, mit Gewicht fest in die Platine drücken und mit Gefühl im Uhrzeigersinn drehen. So wird das IC in Längsrichtung und parallel zur Platine weggehebelt. Die benötigte Kraft kann man sehr gut dimensionieren. Wenn man das raus hat, braucht man ca. 1 - 2 Sekunden pro IC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Heißluft ===&lt;br /&gt;
&lt;br /&gt;
Heißluft ist eigentlich das Mittel der Wahl für SMD-Entlöten. Heißluft erfordert etwas Übung, egal welche Methode man im Einzelfall anwendet. Das Arbeiten mit einer Speziell für die Elektronik gemachten Heißluftstation ist dabei am bequemsten, daher wird es zuerst genannt.&lt;br /&gt;
&lt;br /&gt;
==== Heißluftstation / Hot-Air Station / Rework-Station ====&lt;br /&gt;
&lt;br /&gt;
Heißluftgeräte waren früher relativ teuer. Einige Marken, meist chinesische Produkte, sind mittlerweile jedoch für den Hobbyisten erschwinglich (ab ca. 60 bis 70 Euro aufwärts, Stand 2009) und brauchbar, auch wenn es einen deutlichen Unterschied zwischen diesen Produkten und High-End-Geräten gibt. So sind die Handgriffe wesentlich unhandlicher und die Regelung ist ungenauer. Trotzdem kann man mit den einfachen Geräten vernünftig arbeiten. &lt;br /&gt;
&lt;br /&gt;
Theoretisch sollte man zum Entlöten jeweils einen genau auf die Bauform des Bauteils passenden Heißluft-Einsatz verwenden. Nun gibt es allerdings sehr viele unterschiedliche Bauformen und je nach Station sind die Einsätze relativ teuer (ausgenommen vielleicht die für chinesische Produkte, die meist alle vergleichbare und bezahlbare 22 mm Einsätze haben). Daher ist es nicht unüblich, für viele Anwendungen einfach eine runde 5 mm Düse zu verwenden, wie sie normalerweise schon in der Grundausstattung einer Heißluftstation enthalten ist. &lt;br /&gt;
Die Pins eines Bauteils erhitzt man dann mit einer kreisförmige Bewegung aus ca. 2 cm Abstand. Dabei prüft man immer mal wieder mit einer Pinzette oder ähnlichem Werkzeug ob sich das Bauteil schon abheben lässt. Dabei sollte man das Werkzeug nicht ständig in den Luftstrom halten, da es dabei eventuell zu heiß werden kann.&lt;br /&gt;
&lt;br /&gt;
An einer Heißluftstation gibt es zwei wichtige Einstellungen:&lt;br /&gt;
* Temperatur&lt;br /&gt;
* Luftstrom&lt;br /&gt;
&lt;br /&gt;
Mit beiden Einstellungen muss man etwas üben. Zum Start kann man es mit ca. 400 Grad und ca. 20 l/min versuchen.&lt;br /&gt;
&lt;br /&gt;
Neben dieser einfachen Methode (rumkreisen bis was geht), gibt es relativ aufwendige Verfahren beim Arbeiten mit Heißluft, zum Beispiel muss bei bestimmten Trägermaterialien die Platine vorgeheizt werden. Ohne entsprechende Schulung ist es schwer sich solche Methoden selber anzueignen.&lt;br /&gt;
&lt;br /&gt;
==== Gaslötkolben mit Heißluftdüse ====&lt;br /&gt;
&lt;br /&gt;
Man kaufe für ca €60 einen Gaslötkolben mit Heißluftdüse. Wenn man den Gaslötkolben mit Heißluftdüse auf volle Leistung stellt, soll dieser angeblich bis 600 Grad Warmluft abgeben, was mehr als genug zum Entlöten ist. Damit SMD Bauteil durch kreisförmige Bewegung rundherum an den Pins mit 2 cm Abstand gezielt erhitzen. Das dauert ca. 2 Minuten. Das Bauteil lässt sich dann abnehmen, wegschieben oder abschlagen. Teilweise werden wenige eng am Bauteil bestückte Blockkondensatoren ebenfalls ausgelötet.&lt;br /&gt;
&lt;br /&gt;
Es lassen sich SMD&#039;s jeder Größe und Pinabstand ohne Beschädigung auslöten. Die ausgelöteten Bauteile lassen sich problemlos wieder verwenden. Die Platine mit Lötsauglitze und Aceton säubern und neues Bauteil drauf. Habe so während der Entwicklung FPGAS und Treiber IC&#039;s auf einer Platine schon bis zu fünf mal getauscht.&lt;br /&gt;
&lt;br /&gt;
==== Heißluftpistole ====&lt;br /&gt;
&lt;br /&gt;
Eine Heißluftpistole, wie man sie im Baumarkt zum Abbrennen alter Farbe u.ä. kaufen kann, kann gute Dienste beim SMD-Löten leisten. Empfehlenswert sind solche mit Temperaturregler, aber selbst die einfachsten Varianten (die in der Regel nur zwei Stufen haben, mit denen man sowohl die Gebläsegeschwindigkeit als auch die Heizleistung umschaltet) sind für viele Zwecke brauchbarer, als man auf den ersten Blick annehmen würde.&lt;br /&gt;
&lt;br /&gt;
Einfach Platine einspannen und mit der Heißluftpistole langsam und gleichmäßig erwärmen. Dabei nicht zu heiß arbeiten, etwas mehr Zeit für die Arbeit schadet Platine und Bauteilen weniger, als mit zu großer Temperatur alles zu verbrennen.  Wenn man vorsichtig arbeitet und den Punkt gut herausfindet, an dem sich das fragliche Bauteil ablösen lässt, taugt die Methode sogar für Reparaturlötungen, d.h. sowohl Platine als auch Bauteil bleiben dabei ganz.  Damit ist die Methode auch durchaus geeignet, alten Elektronikschrott zu recyclen, um auf diese Weise preiswert zu einem Grundstock an diversen SMD-&amp;quot;Hühnerfutter&amp;quot; (Widerstände, Kondensatoren, oft auch Tantal-Elkos) sowie teilweise auch Standard-ICs (74xxx, LM358 u.ä.) zu gelangen.&lt;br /&gt;
&lt;br /&gt;
Vermutlich lassen sich Pertinax-Platinen danach nicht mehr verwenden, aber diese haben bei den schmalen Leiterzugbreiten von SMD ohnehin kaum eine Überlebenschance.  Besser gleich trotz des höheren Preises alles auf Epoxyd anfertigen -- gerade bei den hobbytypischen Einzelstücken ist andernfalls die verschwendete Arbeitszeit sehr viel ärgerlicher als der höhere Preis der Epoxyd-Platine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tipp:&#039;&#039;&#039; Die Platine mit einem Stück Alufolie so abdecken, dass nur das auszulötende Bauteil im Luftstrom ist (an der Stelle ein Loch in die Folie machen).&lt;br /&gt;
&lt;br /&gt;
Falls das Überleben der Platine wirklich völlig egal ist, kann man auch die Rückseite der Platine mit der Heißluftpistole erhitzen, bis die Vorderseite so heiß ist, dass die SMD-Chips einfach abfallen. Zwei Vorteile ergeben sich aus diesem Verfahren für die Überlebenswahrscheinlichkeit der Bauteile:&lt;br /&gt;
&lt;br /&gt;
* Der Temperaturgradient ist so gerichtet, dass die Beine des Chips die höchste Temperatur haben und nicht der Chip selbst, wenn man von oben auf das Gehäuse bläst&lt;br /&gt;
* Die, wenn auch geringe, Wärmeleitung der Platine sorgt für eine gleichmäßigere Temperaturverteilung auf der Vorderseite.&lt;br /&gt;
&lt;br /&gt;
Von Nachteil allerdings ist, dass die Platine evtl. auf der Rückseite so heiß wird, dass sie anfängt, sich zu zersetzen. Das ist sicherlich nicht gesund und daher sollte man hier vorsichtig sein (langsam erhitzen, frische Luft).&lt;br /&gt;
&lt;br /&gt;
Alternativ geht es auch mit der Heißluftdüse eines Gaslötkolbens (z.B. von Ersa). Dabei geht man zügig mit dem heißen Luftstrom über die Pins des ICs und erwärmt sie, bis sich das IC gewaltfrei abheben lässt. Richtig gemacht überleben IC und Platine.&lt;br /&gt;
&lt;br /&gt;
=== Komplette Platine erhitzen ===&lt;br /&gt;
&lt;br /&gt;
Wenn man alle Bauteile von einer Platine auf einmal ablösen möchet bietet es sich an, die gesamte Platine mit den Bauteile so weit zu erhitzen bis das Lot überall geschmolzen ist. Die Bauteile können dann mit einen Schlag von der Platine abgeschlagen werden.&lt;br /&gt;
&lt;br /&gt;
==== Reflow-Ofen ====&lt;br /&gt;
&lt;br /&gt;
Was zum Löten taugt, taugt auch zum Entlöten. Die Platine mit den Bauteilen wird im Reflow-Ofen erhitzt.&lt;br /&gt;
&lt;br /&gt;
==== Backofen ====&lt;br /&gt;
&lt;br /&gt;
Wie in Reflow-Ofen. Man sollte sich allerdings gut überlegen, ob man das in einem Ofen der noch für Nahrungsmittel verwendet wird, machen sollte.&lt;br /&gt;
&lt;br /&gt;
==== Gasherdmethode ====&lt;br /&gt;
&lt;br /&gt;
Auf einer einseitig bestückten SMD-Platine kann man Bauteil und Platine  zerstörungsfrei wie folgt trennen: Von der großen Gasflamme die Abdeckung herunternehmen, diese Abdeckung z.B. mit Hilfe des Halters für kleine Töpfe über die kleine Gasflamme legen (natürlich geht das auch mit einem anderem Stück Metall, Hauptsache gerade) und dann mit der kleinen Gasflamme die Metallplatte/Abdeckung darüber erwärmen. Mit einem Stück Lötzinn probieren, ob es schon heiß genug ist (Lötzinn muss schmelzen, perlen und abtropfen).&lt;br /&gt;
&lt;br /&gt;
Wenn ja: Flamme ausmachen, Platine mit der nicht bestückten Seite auf das heiße Metall drücken, ein paar Sekunden warten, bis die Wärme von unten durch die Platine gewandert ist, und das Bauteil mit einer Pinzette abnehmen. Getestet mit Epoxyd-Platine. Sie hat überlebt, nur etwas dunkel verfärbt. Es empfiehlt sich, mit einer unkritischen Platine etwas zu üben.&lt;br /&gt;
&lt;br /&gt;
==== Bügeleisenmethode ====&lt;br /&gt;
&lt;br /&gt;
Ein Bügeleisen umgekehrt in einen Schraubstock spannen, eventuell mit einem&lt;br /&gt;
Tuch am Griff vor Kratzern schützen und die Gleitfläche mit Alufolie abdecken - um Ärger mit der besseren Hälfte zu vermeiden ;-) Auf maximale Temperatur stellen (Leinen), Platine mit der nicht bestückten Seite auflegen und warten, bis das Lot flüssig wird. Bauteile mit einer Pinzette abheben. Platine nach und nach verschieben um alle Stellen zu erhitzen.&lt;br /&gt;
&lt;br /&gt;
==== Ceran-Herd ====&lt;br /&gt;
&lt;br /&gt;
Geht nur bei einseitig bestückten Platinen!&lt;br /&gt;
&lt;br /&gt;
Ähnelt der Bügeleisen-Methode, ist wegen der IR-Strahlung besser.&lt;br /&gt;
&lt;br /&gt;
Platine auf das Ceranfeld legen. Dann das Feld ca. alle 1 - 2 Sekunden ein- und ausschalten. Dabei das An-Intervall langsam erhöhen. Dies so lange durchführen, bis das Zinn geschmolzen ist. Nun die gewünschten Bauelemente verschieben oder abheben. Darauf achten, dass das Glas frei von Zinn und anderen Stoffen bleibt.&lt;br /&gt;
&lt;br /&gt;
Achtung: Das Glas wird ungleichmäßig heiß, da die Heizwendeln lokal angeordnet sind.&lt;br /&gt;
&lt;br /&gt;
Wichtig: die Platine ist über ihrer Glastemperatur, also biegsam. Die Platine einfach auf dem Ceran Herd auf eine kalte Platte legen und abkühlen lassen.&lt;br /&gt;
&lt;br /&gt;
Eignet sich gut zum Vorwärmen auf ca. 100 - 150°C, auch bei beidseitig bestückten Boards, in Verbindung mit anderen Methoden (z.B. Heißluft).&lt;br /&gt;
&lt;br /&gt;
Ähnliche Vorwärmplatten gibt es speziell für die Löttechnik.&lt;br /&gt;
&lt;br /&gt;
=== Recycelte Chips wiederaufbereiten ===&lt;br /&gt;
&lt;br /&gt;
* Zuerst müssen die Lötzinnreste entfernt werden. &lt;br /&gt;
In Alkohol gelöstes Kolophonium wirkt da Wunder. Einfach den Chip in dieses Flussmittel tauchen, welches man vorher z.B. auf einen kleinen Unterteller oder -tasse in kleinen Mengen vergossen hat. &lt;br /&gt;
* Dann mit sauberer Lötspitze an den Pins entlangziehen und das überflüssige Lötzinn an einem Schwamm oder Zellstoff (-Taschentuch) abstreifen. &lt;br /&gt;
* Verklebte Pins mittels dünner Lötspitze auseinanderbringen, auch ein Zahnstocher aus Holz leistet wertvolle Dienste.&lt;br /&gt;
* Bei Pins, die enger als 0,6 mm sind, hilft zusätzlich Entlötsauglitze. Anstelle von Entlötsauglitze kann auch ein dünnes, abisoliertes Litzenkabel (möglichst feindrahtig) dienen.&lt;br /&gt;
:Man sollte aber immer daran denken, dass die Gefahr des Ausfalls durch Überhitzung besteht. &lt;br /&gt;
&lt;br /&gt;
Eine zweite Möglichkeit besteht darin das Lötzin &amp;quot;abzudremeln&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dazu eine kleine rotierende Messingbürste in den Dremel (Multifunktions-Schleifer) und an den Pins von innen nach außen entlangziehen.&lt;br /&gt;
&lt;br /&gt;
* Stahlbürsten sind mit Vorsicht zu genießen, weil sie einfach zu hart sind. &lt;br /&gt;
* Kunststoffbürsten hingegen können sich elektrostatisch aufladen!&lt;br /&gt;
* Eine &amp;quot;dritte Hand&amp;quot; oder Einspannvorrichtung erleichtert das Recyceln erheblich.&lt;br /&gt;
&lt;br /&gt;
Eine weitere Dritte ist Graphit: Lötzinn und Bleistift sind von Natur aus Feinde. Warmmachen, und Zinn mit Bleistift &amp;quot;wegdrängeln&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Das Ausrichten und Geradebiegen der Pins überlasse ich den eigenen Fähigkeiten.&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
&lt;br /&gt;
Man sollte nicht glauben, dass man jetzt sofort jegliches SMD einlöten kann, mal abgesehen von Widerständen. Alles benötigt eine gewisse Übung und es empfiehlt sich, erst mit den einfacheren SO-Packages anzufangen und einige TSSOPS einzulöten bevor man sich an TQFP oder ähnliches heranwagt. Außerdem sollte man sich für die ersten Versuche nicht unbedingt einen 10 Euro teuren Chip hernehmen. Wenn man aber nicht 2 linke Hände hat, sollten alle Packages beim zweiten oder dritten Lötversuch einigermaßen sauber eingelötet sein. Und besonders bei den TSSOPs und TQFPs sieht es dann fast wie Industriefertigung aus.&lt;br /&gt;
&lt;br /&gt;
==== Kontrollieren von Lötstellen ====&lt;br /&gt;
&lt;br /&gt;
Zur Kontrolle der gelöteten Bauteile sollte man, wie schon erwähnt, eine gute Lupe - besser noch Lupenleuchte - benutzen oder auch schon preiswert über diverse Internetauktionen zu ersteigernde &amp;quot;USB Mikroskope&amp;quot;, die an einen PC oder Laptop angeschlossen werden können.&lt;br /&gt;
&lt;br /&gt;
Das kann böse Überraschungen bei der Inbetriebnahme der gelöteten Platine vermeiden.&lt;br /&gt;
&lt;br /&gt;
Wichtig ist immer - und unabdingbar - eine gute Ausleuchtung des Arbeitsplatzes.&lt;br /&gt;
&lt;br /&gt;
Auslöten kann man gut an defekten Platinen, z.B. aus Computern, üben.&lt;br /&gt;
&lt;br /&gt;
Und ja keine Lötpaste essen!!!!&lt;br /&gt;
Dann wird alles Gut :D&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
[[IC-Gehäuseformen#Adapterplatinen für SMD-ICs|Adapterplatinen für SMD-ICs]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://thomaspfeifer.net/ SMD löten/entlöten und Reflow Ofen Selbstbau (unter Trickkiste und AVR Projekte)]&lt;br /&gt;
* [http://iwenzo.de/wiki/Kategorie:SMD SMD Bauteilliste]&lt;br /&gt;
* [http://www.seattlerobotics.org/encoder/200006/oven_art.htm SMD-Löten im Toastofen] (englisch)&lt;br /&gt;
* [http://www.elv-downloads.de/downloads/journal/SMD-Anleitung.pdf SMD-Anleitung von ELV] praktische Tips (deutsch)&lt;br /&gt;
* [http://www.bimbel.de/artikel/artikel-17.html Bilder und kleine Anleitung]&lt;br /&gt;
* [http://www.ulrichradig.de/ SMD-ICs ein-/auslöten (unter Tipps&amp;amp;Tricks)]&lt;br /&gt;
* [http://www.gadgetpool.de/nuke/modules.php?name=News&amp;amp;file=article&amp;amp;sid=23 SMD-Löten für jedermann]&lt;br /&gt;
* [http://www.makezine.com/blog/archive/2007/01/soldering_tutor_1.html MAKE-Magazine Podcast Loet und Entloet-Tips]&lt;br /&gt;
* [http://www.circuitrework.com Circuit Technology Center] - Surgeon grade rework and repair, by the book and guaranteed. Deeplink: [http://www.circuitrework.com/guides/guides.shtml Guides]&lt;br /&gt;
*[http://www.martin-smt.de SMD Bearbeitungsgeräte - Reworksysteme]&lt;br /&gt;
*[http://www.fritsch-smt.de Bestückungsautomaten / Siebdruckgeräte]&lt;br /&gt;
*[http://www.sef.de Reflowlötanlagen]&lt;br /&gt;
*[http://iwenzo.de/wiki/Kategorie:SMD SMD Code Tabelle]&lt;br /&gt;
*[http://iwenzo.de/wiki/SMD_Widerstand_Codehilfe SMD Widerstände ablesen]&lt;br /&gt;
*[http://iwenzo.de/wiki/Kategorie:SMD-Geh%C3%A4use SMD Gehäuseformen]&lt;br /&gt;
*[http://iwenzo.de/wiki/SMD_Bauteile_l%C3%B6ten SMD Bauteile löten]&lt;br /&gt;
*[http://www.tobler.ch/envo/modules.php?op=modload&amp;amp;name=Downloads&amp;amp;file=index&amp;amp;req=viewsdownload&amp;amp;sid=25&amp;amp;min=0&amp;amp;orderby=titleA&amp;amp;show=10 Serie von kurzen Artikeln zum Löten / Entlöten]&lt;/div&gt;</summary>
		<author><name>82.82.163.137</name></author>
	</entry>
</feed>