<?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=46.223.74.46</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=46.223.74.46"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/46.223.74.46"/>
	<updated>2026-04-10T13:13:48Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Temperatursensor&amp;diff=62682</id>
		<title>Temperatursensor</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Temperatursensor&amp;diff=62682"/>
		<updated>2011-12-23T08:21:25Z</updated>

		<summary type="html">&lt;p&gt;46.223.74.46: /* ADT7310 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Will man mit einem [[Mikrocontroller]] Temperaturen messen, dann braucht man&lt;br /&gt;
* einen [[Sensor]], der die Temperatur z.&amp;amp;nbsp;B. in eine Spannung oder einen Strom umsetzt&lt;br /&gt;
* einen [[ADC | AD-Wandler]], der das Signal digitalisiert. Der kann auf dem Sensor oder dem Mikrocontroller integriert sein.&lt;br /&gt;
&lt;br /&gt;
Temperatursensoren gibt es nun in allen möglichen Varianten. Vom temperaturabhängigen [[Widerstand]] bis zum fertig abgeglichenen All-in-one-Bauteil mit digitalem Ausgang. Wie bei allen Sensoren sollte man auch hier genau hinschauen und [[Auflösung und Genauigkeit]] unterscheiden.&lt;br /&gt;
&lt;br /&gt;
== Analoge Temperatursensoren ==&lt;br /&gt;
&lt;br /&gt;
=== PT100 ===&lt;br /&gt;
&lt;br /&gt;
Unter einem PT100 versteht man einen Platinwiderstand, der bei 0°C einen Widerstand von 100Ω hat.&lt;br /&gt;
Platinwiderstände sind temperaturabhängige Widerstände mit hoher Wiederholgenauigkeit und Konstanz[http://de.wikipedia.org/wiki/Konstante].  Wegen der relativ geringen Widerstandsänderung von nur ca. 0,4Ω pro Grad ist etwas mehr Schaltungsaufwand erforderlich als bei anderen Sensoren. Genauere Formeln zur Temperaturbestimmung gibt es u.a. bei der [http://de.wikipedia.org/wiki/Pt100 Wikipedia]. Ein Schaltplan findet sich bei der [http://www.heise.de/ct/artikel/Sensibelchen-289608.html c&#039;t].&lt;br /&gt;
&lt;br /&gt;
Die Sensoren gibt es auch mit anderen Widerstandswerten, z.&amp;amp;nbsp;B. mit 1000&amp;amp;Omega; und heißen dann entsprechend PT1000.&lt;br /&gt;
&lt;br /&gt;
Vorteil:&lt;br /&gt;
* genormt&lt;br /&gt;
* großer Meßbereich&lt;br /&gt;
* hohe Linearität&lt;br /&gt;
* hohe Wiederholgenauigkeit&lt;br /&gt;
* einfach austauschbar&lt;br /&gt;
&lt;br /&gt;
Nachteil:&lt;br /&gt;
* relativ teuer (bei segor.de ab 3,80&amp;amp;euro;)&lt;br /&gt;
* brauchen aufwendigere Auswerteschaltung&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [http://www.heise.de/ct/04/22/236/ c&#039;t-Artikel: Mikrocontroller-Programmierung: Timer, Sensoren und Drehgeber (mit PT100 Schaltung)]&lt;br /&gt;
* [http://pdfserv.maxim-ic.com/en/an/AN3450.pdf Maxim AN3450 Positive Analog Feedback Compensates PT100 Transducer]&lt;br /&gt;
&lt;br /&gt;
=== NTC/PTC ===&lt;br /&gt;
&lt;br /&gt;
NTC und PTC sind temperaturabhängige Widerstände.&lt;br /&gt;
&lt;br /&gt;
* NTC (engl. &#039;&#039;&#039;N&#039;&#039;&#039;egative &#039;&#039;&#039;T&#039;&#039;&#039;emperature &#039;&#039;&#039;C&#039;&#039;&#039;oefficient, Heißleiter), hat bei hohen Temperaturen seinen niedrigsten Widerstand, z.&amp;amp;nbsp;B. Silizium&lt;br /&gt;
* PTC (engl. &#039;&#039;&#039;P&#039;&#039;&#039;ositive &#039;&#039;&#039;T&#039;&#039;&#039;emperature &#039;&#039;&#039;C&#039;&#039;&#039;oefficient, Kaltleiter), hat bei niedrigen Temperaturen seinen geringsten Widerstand, z.&amp;amp;nbsp;B. Glühlampe&lt;br /&gt;
&lt;br /&gt;
Um den Widerstandswert zu messen schaltet man sie mit einem normalen Widerstand oder einer [[Konstantstromquelle]] in Reihe zu einem [[Spannungsteiler]] und misst den Spannungsabfall. Eine Beispielschaltung findet sich [http://www.mathar.com/msp_thermo1.html hier].&lt;br /&gt;
&lt;br /&gt;
Vorteil:&lt;br /&gt;
* billig (z.B. [http://www.reichelt.de/?ARTICLE=9594 KTY81-110] bei Reichelt  ~0,60&amp;amp;euro;)&lt;br /&gt;
&lt;br /&gt;
Nachteil:&lt;br /&gt;
* müssen für höhere Genauigkeiten abgeglichen werden&lt;br /&gt;
* brauchen A/D-Wandler&lt;br /&gt;
* sind nichtlinear&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
* KTY10-5&lt;br /&gt;
* KTY13-6&lt;br /&gt;
* KTY81-121&lt;br /&gt;
* KTY81-122&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [http://www.sprut.de/electronic/temeratur/temp.htm Temperaturabhängige Stromquelle und NTC/PTC inclusive Linearisierung]&lt;br /&gt;
*[http://www.umnicom.de/Elektronik/Mikrokontroller/Atmel/AtFan/AtFan.html#2.2.2 Berechnung des Linearisierungswiderstandes für gewünschten Temperaturbereich] der fällt sonst immer vom Himmel&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/208587#2065880 KTY 10-5 Formelprobleme]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/225563 Codesammlung: Beispiel mit 0,5°C Auflösung]&lt;br /&gt;
&lt;br /&gt;
=== LMx35 ===&lt;br /&gt;
&lt;br /&gt;
Eine IC-Familie, die pro Kelvin Temperaturänderung ihre Ausgangsspannung um 10&amp;amp;nbsp;mV ändert. Die ICs gibt es in verschiedenen Genauigkeiten und Temperaturbereichen mit den Bezeichnungen LM135(A), LM235(A) und LM335(A). Der günstigste ist der LM335 mit einem Temperaturbereich von −40 … +100°C.&lt;br /&gt;
In verschiedenen Bauformen erhältlich. Beispielschaltungen finden sich im [http://www.national.com/ds.cgi/LM/LM135.pdf Datenblatt] und [http://www.suessbrich.info/elek/elektherm1.html hier]&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* hat auch ohne Kalibrierung eine Genauigkeit von einem Grad (bei 25°C)&lt;br /&gt;
* relativ billig (LM335 bei Reichelt ab 0,50&amp;amp;nbsp;€)&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* benötigt A/D-Wandler&lt;br /&gt;
* bei längerer Anschlussleitung störanfällig&lt;br /&gt;
&lt;br /&gt;
=== LM334 ===&lt;br /&gt;
&lt;br /&gt;
Ein IC ähnlich dem LM335 mit dem Unterschied, dass der durch das IC fließende Strom proportional von der Temperatur abhängt. Mit einer einfachen Schaltung aus nur zwei Widerständen kann man dann den Strom in einer Weise wandeln, dass pro Kelvin eine Spannungsänderung von 10mV ausgegeben wird. Da die Strom-Spannungswandlung auf der Platine (und damit nahe am AD-Wandler) stattfindet und die Übertragung des Messwerts durch einen Strom stattfindet, sind Störungen durch Netzbrumm etc. viel geringer als beim LM335&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&amp;lt;!-- * hat auch ohne Kalibrierung eine Genauigkeit von einem Grad (bei 25°C) &lt;br /&gt;
Laut Datenblatt +-3°C&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* relativ billig ([http://www.reichelt.de/?ARTICLE=10468 Reichelt 0,54 &amp;amp;euro;])&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* benötigt A/D-Wandler&lt;br /&gt;
* Bereich 0°C-70°C&lt;br /&gt;
&lt;br /&gt;
Ähnliche ICs:&lt;br /&gt;
* AD592 (Ausgangsstrom 1µA pro Kelvin, absolute Temperatur) [http://www.reichelt.de/?ARTICLE=3825 Reichelt: 3,75 €], Conrad 174912 8,50 &amp;amp;euro;&lt;br /&gt;
&lt;br /&gt;
=== SMT160-30 ===&lt;br /&gt;
&lt;br /&gt;
Ist ein Zwischending zwischen Digital und Analog. Sein Ausgangssignal ist ein digitales PWM-Signal, zu dessen Messung man am besten den Input-Capture-Eingang eines Mikrocontrollers verwendet. Man kann ihn also wie einen analogen Sensor nur indirekt auslesen, anstatt über einen AD-Wandler hier über einen Timer.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Digitales PWM-Signal ist unempfindlich gegen Störeinflüsse&lt;br /&gt;
* gibt es in SO8, TO18, TO92 und &amp;lt;b&amp;gt;TO220&amp;lt;/b&amp;gt;, gut befestigbar, z.B am Kühlkörper&lt;br /&gt;
* linear&lt;br /&gt;
* kein Abgleich nötig&lt;br /&gt;
&lt;br /&gt;
Nachteile (viele):&lt;br /&gt;
* benötigt Timer&lt;br /&gt;
* jittert extrem, genaue Messungen nur über Mittelung / Filterung möglich&lt;br /&gt;
* nicht nur das PWM-Verhältnis, sondern auf die Frequenz ist temp-abhängig (1-4kHz)&lt;br /&gt;
* teuer (Farnell 10,90&amp;amp;euro; +16%, Conrad 9,xx&amp;amp;euro; , www.hy-line.de ??).&lt;br /&gt;
* TO92 Gehäuse ist günstiger, dafür weniger genau&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* http://www.hy-line.de/co/sensor-tec/hersteller/smartec/smt-160-30/index.html&lt;br /&gt;
&lt;br /&gt;
=== Thermoelement ===&lt;br /&gt;
&lt;br /&gt;
Ein Thermoelement besteht im einfachsten Fall aus zwei ungleichen Metallendrähten, die an einem Punkt miteinander verbunden sind und bei dem die Verbindungsstelle einer anderen Temperatur ausgesetzt ist als die offenen Enden der Drähte. An den offenen Enden der Drähten entsteht eine Spannung (Thermospannung). Dieser Effekt wurde 1821 von Thomas Seebeck entdeckt ([http://de.wikipedia.org/wiki/Seebeck-Effekt Seebeck-Effekt] bei Wikipedia). Eine weitere Anwendung ist der thermoelektrische Generator (&amp;quot;Thermogenerator&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Vorteil:&lt;br /&gt;
* über einen sehr weiten Temperaturbereich einsetzbar&lt;br /&gt;
&lt;br /&gt;
Nachteil:&lt;br /&gt;
* die sehr geringen Temperaturspannungen im Mikrovoltbereich benötigen eine sehr gute Auswertelektronik (guter Analogteil + AD-Wandler).&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
&amp;lt;!-- Der Link wird von NI umgebogen zur Homepage. Recherche nach dem Autor brachte nix hervor :-(&lt;br /&gt;
* [http://digital.ni.com/worldwide/germany.nsf/web/all/7A4F02BAEFEC22AC802567F6003E0D6E  Temperaturmessung mit Thermoelementen] - Eine Einführung von David Potter (deutsche Überarbeitung: G.Sinkovic) (inkl. Erläuterung der Kaltstellenkompensation) --&amp;gt;&lt;br /&gt;
* [http://www.sensorwell.at/fileadmin/templates/images/data_sheets/temperatur_messtechnik.pdf Warum Thermoelemente Relativtemperaturen messen! oder Was ist eine Kaltstelle?] - Technische Information von www.sensorwell.at (PDF, ca. 600kB)&lt;br /&gt;
&lt;br /&gt;
== Digitale Temperatursensoren ==&lt;br /&gt;
&lt;br /&gt;
=== DS1621 ===&lt;br /&gt;
&lt;br /&gt;
Der DS1621 ist Temperatursensor und A/D-Wandler in einem. Er gibt seine Daten per [[I²C]]-[[Bus]] aus. Ein Schaltplan für einen elektronischen Thermometer mit diesem IC findet sich [http://www.myplace.nu/avr/thermo/ hier].&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* bereits kalibriert&lt;br /&gt;
* kein A/D-Wandler nötig&lt;br /&gt;
* da I²C ein Bus ist, kann man mehrere DS1621 und andere I²C-Bausteine zusammen anschließen und braucht dafür trotzdem nur zwei I/O-Ports.&lt;br /&gt;
* Messbereich -55°C to +125°C &lt;br /&gt;
* Genauigkeit +-0,5°C&lt;br /&gt;
* Auflösung besser 0,01°C, wenn man die beiden Zählerregister (Count-Remain und Count-per-C) auswertet&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* teuer (Segor 5,80&amp;amp;euro;; RS 3,95&amp;amp;euro;; Conrad 5,22&amp;amp;euro;)&lt;br /&gt;
* obwohl die meisten Register [[Speicher#NVRAM | nichtflüchtig]] sind, kann man ihn nicht als Stand-Alone-Thermostat einsetzen, da er erst nach einem Start-Conversion-Befehl zu messen beginnt.&lt;br /&gt;
&lt;br /&gt;
Nachfolger:&lt;br /&gt;
* DS1631, DS1631A (Auto-Start-&amp;gt; Stand-Alone-Thermostat), DS1731&lt;br /&gt;
* weitere Stand-Alone-Thermostaten: DS1821, DS1629&lt;br /&gt;
&lt;br /&gt;
=== LM75 ===&lt;br /&gt;
&lt;br /&gt;
Der LM75 ist so ähnlich wie der DS1621, allerdings nur in SMD erhältlich und nicht so genau. Er ist aber öfters mal auf PC-Mainboards zu finden, so dass man beim Schlachten eines solchen günstig an einen Temperatursensor kommen kann. Eine Beispiel Schaltplan mit einem ATmega8 findet man [http://www.ucblog.de/2010/09/mikrocontroller-thermometer-schaltplan/ hier]&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* bereits kalibriert&lt;br /&gt;
* kein A/D-Wandler nötig&lt;br /&gt;
* I²C-Bus Ausgang&lt;br /&gt;
* billiger als DS1621 (Reichelt 1,45 &amp;amp;euro;; RS 3V: 3,75&amp;amp;euro;; 5V: 2,72&amp;amp;euro;)&lt;br /&gt;
* Auflösung +-0,5°C&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* nur im SMD-Gehäuse erhältlich&lt;br /&gt;
* relativ ungenau (+-2°C), kann man jedoch kalibrieren / kompensieren&lt;br /&gt;
&lt;br /&gt;
Kompatible Typen:&lt;br /&gt;
* AD7415ART&lt;br /&gt;
* DS7505S+&lt;br /&gt;
&lt;br /&gt;
=== LM76 ===&lt;br /&gt;
&lt;br /&gt;
Der LM76 ähnlich dem LM75, bietet aber eine 8-fach höhere Auflösung und eine Genauigkeit von 0.5 bzw. 1°C.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* höhere Auflösung&lt;br /&gt;
* höhere Genauigkeit&lt;br /&gt;
&lt;br /&gt;
Nachteil:&lt;br /&gt;
* schwerer zu beschaffen&lt;br /&gt;
&lt;br /&gt;
=== TMP175 / TMP75 ===&lt;br /&gt;
&lt;br /&gt;
Ähnelt dem LM75 stark! Temperatursensor von Texas Instruments.&lt;br /&gt;
&lt;br /&gt;
=== DS18S20 / DS18B20 ===&lt;br /&gt;
&lt;br /&gt;
Der DS18S20 (Nachfolger des DS1820) und DS18B20 sind scheinbar Temperatursensoren und A/D-Wandler in einem. Wenn man genauer hinschaut, stellt man fest, dass es sich um direktwandelnde Sensoren handelt. Die Temperatur wird ohne Umweg über eine analoge Zwischengröße (Spannung oder Strom) in ein digitales Signal überführt.&lt;br /&gt;
&lt;br /&gt;
Die Datenkommunikation erfolgt über ein 1-Wire-Interface, wodurch man am [[Mikrocontroller]] mit nur einem einzigen I/O-Pin auskommen kann. Außerdem beherrschen sie die parasitäre Stromversorgung, d.h., man braucht für Daten und Stromversorgung zusammen nur zwei Leitungen.&lt;br /&gt;
&lt;br /&gt;
Beim DS18B20 sind Auflösungen von 9, 10, 11 und 12 Bits konfigurierbar. Je kleiner die Auflösung, desto kürzer ist die Messzeit. Der DS18S20 hat eine feste Auflösung von 12 Bits, wobei die unteren 3 Bits aufwändiger auszuwerten sind als beim DS18B20. Der DS18S20 ist als Ersatz für den DS1820 gedacht. Der Hersteller empfiehlt den DS18B20 für Neuentwicklungen.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* bereits kalibriert&lt;br /&gt;
* Genauigkeit +-0,5°C&lt;br /&gt;
* 1-Wire-Ausgang&lt;br /&gt;
&lt;br /&gt;
Nachteil:&lt;br /&gt;
* relativ teuer: Reichelt: 2,50&amp;amp;euro; / CSD: 1,85&amp;amp;euro; / Conrad 5,08&amp;amp;euro;&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [http://pdfserv.maxim-ic.com/en/ds/DS18S20.pdf Datenblatt DS18S20] &lt;br /&gt;
* [http://pdfserv.maxim-ic.com/en/ds/DS18B20.pdf Datenblatt DS18B20]&lt;br /&gt;
* [http://www.maxim-ic.com/app-notes/index.mvp/id/4377 Vergleich DS18B20 &amp;lt;-&amp;gt; DS18S20]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/6505 Code zur Ansteuerung (ASM ATTiny12)]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/14792 Code zur Ansteuerung (AVR-GCC)]&lt;br /&gt;
* [http://gandalf.arubi.uni-kl.de/avr_projects/tempsensor/ Code zur Ansteuerung mit CRC-Prüfung (AVR-GCC)]&lt;br /&gt;
* [http://chaokhun.kmitl.ac.th/~kswichit/avrthermo/avrthermo.html LED-Thermometer mit AT90S2313 (C)]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-4-248219.html Webserver zur Ansteuerung von bis zu 63 Bausteinen]&lt;br /&gt;
* [http://www.teslabs.com/openplayer/docs/docs/other/ds18b20_pre1.pdf PDF Anleitung zur Beschaltung und Programmierung (C)]&lt;br /&gt;
*[http://www.digitemp.com/building.shtml Anleitung Sensorfühleraufbau (DigiTemp)]&lt;br /&gt;
* http://www.mikrocontroller.net/topic/14792 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/232156 (Timing der parasitären Versorgung)&lt;br /&gt;
&lt;br /&gt;
=== DS1822 ===&lt;br /&gt;
&lt;br /&gt;
Ähnlich wie DS18S20, aber weniger genau (+-2°) und in großen Stückzahlen billiger. Wegen der geringeren Verbreitung kommt der Preisvorteil aber bei Einzelstücken nicht beim Kunden an. So kostet er bei Reichelt mit 3,50&amp;amp;euro; mehr als der DS18S20.&lt;br /&gt;
&lt;br /&gt;
=== DS1921 / DS1922 ===&lt;br /&gt;
&lt;br /&gt;
Sind wie die DS1821 1-wire-Sensoren mit zusätzlicher Logging-Funktion.&lt;br /&gt;
Im iButton-Gehäuse befindet sich eine Lithium-Zelle, eine RTC, CMOS-RAM und der Temp-Sensor. Nach umfangreicher Progammierung startet der Button seine Mission (Aufzeichnung des Temperaturverlaufs).&lt;br /&gt;
Gibt es auch mit zusätzlicher Feuchtemessung (DS1923).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TSic ===&lt;br /&gt;
&lt;br /&gt;
Die TSic Sensoren werden baugleich von 3 Herstellern angeboten:&lt;br /&gt;
* ZMD ([http://www.zmd.biz/temp.php?group=temp&amp;amp;content=products Homepage]) ([http://tarr.uspto.gov/servlet/tarr?regser=serial&amp;amp;entry=78673282 Trademark])&lt;br /&gt;
* IST AG ([http://www.ist-ag.com/eh/ist-ag/de/home.nsf/contentview/8F5D32432CAC53C2C1257405003C2433 Homepage])&lt;br /&gt;
* Hygrosens ([http://www.hygrosens.de/english/shop/list.html?tx_ttproducts_pi1%5Bcat%5D=11&amp;amp;cHash=dcd89b823b Homepage])&lt;br /&gt;
&lt;br /&gt;
Die TSic Sensoren ([http://www.zmd.biz/pdf/ZMD%20TSic%20Data%20Sheet%20V3%207.pdf Datenblatt]) geben ihre Temperaturmessdaten automatisch in einem festen Intervall aus. Daher muss der Host nur warten bis die nächsten Messdaten rausgeschickt werden. Die TSic Sensoren die es im freien Handel gibt, geben ihre Messdaten alle 100ms (10Hz) aus. &lt;br /&gt;
Zur Übertragung wird das [http://www.zmd.biz/pdf/IST_TSic_ZACwire_V2.3%20Digital%20Output_17-Oct-06.pdf ZACwire] Protokoll benutzt. Es handelt sich um eine einfach zwei Byte Übertragung per Manchester-Code. Diese zwei Byte repräsentieren den digital gewandelten Temperaturwert. Im Gegensatz zu Sensoren wie den DS18xxx von Dallas muss dieser Wert aber erst auf einen dezimalen Wert umgerechnet werden. &lt;br /&gt;
Die Sensoren kommen mit 3 Pins aus (VCC, GND, Dout).&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Bereits kalibriert&lt;br /&gt;
* Verschiedene Genauigkeiten lieferbar&lt;br /&gt;
* Sehr einfaches Kommunikationsprotokoll&lt;br /&gt;
* Geringer Stromverbrauch&lt;br /&gt;
* Hochgenau: bis zu +/- 0.1°C (TSic 50x)&lt;br /&gt;
&lt;br /&gt;
Nachteil:&lt;br /&gt;
* Recht teuer (Reichelt: 4,70&amp;amp;euro; für den TSic206)&lt;br /&gt;
* Nur ein Sensor an einem I/O nutzbar (Kein Bussystem)&lt;br /&gt;
&lt;br /&gt;
Achtung! &lt;br /&gt;
Die TSic Sensoren gibt es auch als Version mit analog Ausgang. Bei der Typenbezeichnung gibt die 3. Stelle an ob es sich um die analog- oder Digitalversion handelt (1 = analog, 6 = digital). &lt;br /&gt;
Der TSic201 ist also analog, wärend der TSic206 ein digitaler ist.&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [http://www.avr-projekte.de/zacwireasm.htm Zacwire Protokoll, AVR-Assembler]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/45573#347765 Ansatz zum Empfang der Daten]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/225554# Beispiel mit Strobe ohne Interrupt]&lt;br /&gt;
* [http://ethersex.de/index.php/Zacwire Fertige Ansteuerung durch AVR in Ethersex]&lt;br /&gt;
* [http://www.zmd.biz/temp.php?group=temp&amp;amp;content=products Herstellerseite mit Datenblättern und FAQ]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/82087 Diskussion mit Beispielcode (MSP430, AVR, PIC) blockierend]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/144424#1367539 C++ Interrupt]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/88847 noch mehr C, problematisch Interrupt]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/151791#1426974 C für ATmega8]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/159149#1510455 auch problematisch]&lt;br /&gt;
* [http://www.sinc.sunysb.edu/Stu/maman/ESE_381.htm Projekt mit tsic sensor, evtl. code]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/188462#1837622 fertiger Code zum Einlesen des Zacwire-Protokolls für PIC in ASM]&lt;br /&gt;
* [http://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=55103 RN: Bascom]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=tsic* Suche in den Foren]&lt;br /&gt;
* [http://www.avr-projekte.de/tinyclock.htm TSIC206 Thermometer mit Uhr und Kalender. Komplette Bauanleitung mit ASM Quellcode für AT-Tiny2313]&lt;br /&gt;
&lt;br /&gt;
=== SHT1x/SHT7x ===&lt;br /&gt;
&lt;br /&gt;
Der SHT1x/SHT7x (SHT10, SHT11, SHT15, STH71, SHT75) sind kombinierte Temperatur- und Feuchtesensoren von [http://www.sensirion.com Sensirion]. Sie unterscheiden sich in Bauform und Genauigkeit.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* digitale Schnittstelle mit einfacher [[I²C]]-&#039;&#039;ähnlicher&#039;&#039; Ansteuerung&lt;br /&gt;
* keine Kalibrierung notwendig&lt;br /&gt;
* Beispielcode (C, MC51) auf der Sensirion-Seite verfügbar (relativ leicht portierbar)&lt;br /&gt;
* interne Heizelemente (Funktionsprüfung, &amp;quot;rauhe&amp;quot; Umgebung)&lt;br /&gt;
* Spannungsmonitor (&amp;quot;Battery fail&amp;quot;)&lt;br /&gt;
* sehr hohe Genauigkeit&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* kann nicht am [[I²C]] Bus betrieben werden, theoretisch gleiche Clockleitung möglich, fixe Adresse&lt;br /&gt;
* relativ teuer (Farnell 18,60&amp;amp;euro;)(SHT11 bei CSD 14€)&lt;br /&gt;
&lt;br /&gt;
[http://www.sensirion.com/en/01_humidity_sensors/00_humidity_sensors.htm Übersicht] der Temperatur- /Feutchtigkeitssensoren von Sensirion.&lt;br /&gt;
&lt;br /&gt;
=== SHT21 ===&lt;br /&gt;
&lt;br /&gt;
[http://www.sensirion.com Sensirion] bietet auch den SHT21 Feuchtigkeits- und Temperatursensor an, welcher wesentlich genauer ist.&lt;br /&gt;
    &lt;br /&gt;
Vorteile:&lt;br /&gt;
* I2C digital, PWM and SDM/analog Volt Ausgabe&lt;br /&gt;
* Maximal 5 Messungen/s @ 14bit&lt;br /&gt;
* Temperaturbereich von -40 – +125°C&lt;br /&gt;
* Feuchtigkeit mit einer Genauigkeit von +-3%RH&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
*  teuer (Farnell 23 €, Segor 29 €)&lt;br /&gt;
* nur als SMD-Package&lt;br /&gt;
&lt;br /&gt;
Application Notes und Datenblätter findet man [http://www.sensirion.com/en/01_humidity_sensors/10_Overview.htm hier].&lt;br /&gt;
&lt;br /&gt;
=== ADT7310 ===&lt;br /&gt;
&lt;br /&gt;
Der [http://www.analog.com/en/sensors/digital-temperature-sensors/adt7310/products/product.html ADT7310] von [http://www.analog.com/ Analog Devices] besitzt eine Auflösung von 16 Bit und eine Genauigkeit von ±0.5°C im Bereich von −40°C bis +105°C.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Ansteuerung per [[SPI]] (für [[I2C]] siehe [http://www.analog.com/en/sensors/digital-temperature-sensors/adt7410/products/product.html ADT7410])&lt;br /&gt;
* keine Kalibrierung notwendig&lt;br /&gt;
* hohe [[Auflösung und Genauigkeit]]&lt;br /&gt;
* programmierbarer [[Interrupt]]ausgang für Unter- und Übertemperatur&lt;br /&gt;
* relativ günstig (ca. 3€ bei Digi-Key, Stand 12/2011)&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sensorik]]&lt;/div&gt;</summary>
		<author><name>46.223.74.46</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-Studio&amp;diff=62043</id>
		<title>AVR-Studio</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-Studio&amp;diff=62043"/>
		<updated>2011-11-29T13:32:07Z</updated>

		<summary type="html">&lt;p&gt;46.223.74.46: /* Direktlinks Installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das &#039;&#039;&#039;AVR-Studio&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung ([[Editoren/IDEs|IDE]]) für die Programmierung der [[AVR]]-[[Mikrocontroller]] von Atmel. Sie basiert ab Version 5 auf der Visual Studio Shell von Microsoft und besteht aus einer Projektverwaltung, einem [[Editoren/IDEs#Texteditoren für Programmierer|Editor]], einem [[AVR-Studio#Debugger|Debugger]] und Werkzeugen zum beschreiben der Mikrocontroller.&lt;br /&gt;
&lt;br /&gt;
Mit dem AVR Studio kann in [[Assembler]] sowie in [[C]]/[[C-Plusplus|C++]] programmiert werden. Für die Unterstützung von C/C++ musste bis einschließlich Version 4 vor der Installation des AVR Studio der GNU C Compiler für AVRs [[WinAVR]] installiert werden. Ab AVR Studio 5 ist eine vollständige Toolchain zur Entwicklung von C-Projekten enthalten. Atmel bietet weiterhin eine Erweiterung zwecks Erstellung von Projekten mit eingeschränkter C++-Unterstützung an (siehe [[AVR_Studio#Tipps_.26_Tricks|Tipps &amp;amp; Tricks]]).&lt;br /&gt;
&lt;br /&gt;
== Debugger ==&lt;br /&gt;
Die AVR-Studio-Umgebung sieht unabhängig von der speziellen Debug-Plattform größtenteils identisch aus. Es existieren folgende Debug-Möglichkeiten:&lt;br /&gt;
# [[AVR-Simulation#AVR_Studio|AVR Simulator]]&lt;br /&gt;
# AVR In-Circuit Emulator / [[JTAG]]-Adapter: AVR Dragon, AVR ONE!, JTAGICE3, JTAGICE mkII, QT600, [[STK500]] und [[STK600]]&lt;br /&gt;
&#039;&#039;&#039;Simulation&#039;&#039;&#039;&lt;br /&gt;
* die meisten AVR-Mikrocontroller werden unterstützt&lt;br /&gt;
* z.T langsamer als eine Emulation (insbesondere bei größeren Projekten)&lt;br /&gt;
* Wechselwirkung mit Peripherie nur über vordefinierte Stimuli möglich&lt;br /&gt;
* Anzeige aller Register zu jeder Zeit möglich&lt;br /&gt;
&#039;&#039;&#039;Emulation&#039;&#039;&#039;&lt;br /&gt;
* Unterstützung von Mikrocontrollern plattformabhängig eingeschränkt&lt;br /&gt;
* z.T. schneller als Simulation&lt;br /&gt;
* Debugging in tatsächlicher Hardwareumgebung&lt;br /&gt;
* Register nicht uneingeschränkt lesbar&lt;br /&gt;
&lt;br /&gt;
== Tipps &amp;amp; Tricks ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Studio Bugs]]&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Simulation]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/193587#1894280 Pfad zum Hexfile]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/237681#2411339 Anzeige der Größe benutzter Speicherbereiche in AVR Studio 5]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/236601#2413654 C++ Templates (beta) für AVR Studio 5] (Vorsicht: kein vollständiger Funktionsumfang, siehe [http://support.atmel.no/bin/customer.exe?=&amp;amp;action=viewKbEntry&amp;amp;id=1001 FAQ])&lt;br /&gt;
&lt;br /&gt;
* [http://www.rn-wissen.de/index.php/AVR_Studio_5#Eigene_Templates_erzeugen Erstellung eigener Templates in AVR Studio 5] &lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Offizielle Seite ===&lt;br /&gt;
* http://www.atmel.com/avrstudio&lt;br /&gt;
&lt;br /&gt;
=== Direktlinks Installer ===&lt;br /&gt;
&lt;br /&gt;
Anm.: Die MD5 Checksumme dient zum Überprüfen der Downloads auf Vollständigkeit. Die aktuelle Version ist &#039;&#039;&#039;fett&#039;&#039;&#039; markiert.&lt;br /&gt;
&lt;br /&gt;
Im Falle nicht eingepflegter Updates hier der Direktlink-Präfix (entsprechenden Dateinamen aus dem Formularlink kopieren und hinter dem letzten Schrägstrich einfügen):&lt;br /&gt;
&lt;br /&gt;
http://www.atmel.com/dyn/resources/prod_documents/&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/as5installer-full-5.0.1223.exe as5installer-5.0.1223-full.exe] &#039;&#039;&#039;AVR Studio 5 installer (includes VSS and .NET) (605MB, updated 2011/11/25)&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/as5installer-small-5.0.1223.exe as5installer-5.0.1223-small.exe] &#039;&#039;&#039;AVR Studio 5 installer (390 MB, updated 2011/11/25)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/as5installer-5.0.1163-full.exe as5installer-5.0.1163-full.exe] AVR Studio 5 installer (includes VSS and .NET) (602MB, updated 2011/05/11)  MD5:3C9371A8CF8A5D9663C107D00A22B6F1&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/as5installer-5.0.1163-small.exe as5installer-5.0.1163-small.exe] AVR Studio 5 installer (387 MB, updated 2011/05/11)  MD5:E0BD9F82DDDCF74B05C6BA1582F2C642&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/avrstudio5.0.beta2.noVSSnoDotNet.exe Avrstudio5.0.beta2.noVSSnoDotNet.exe] AVR Studio 5.0 Beta 2 ohne Visual Studio Shell und .NET (339 MB)&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/avrstudio5.0.beta2.exe AvrStudio5.0.beta2.exe] AVR Studio 5.0 Beta 2 (554 MB)&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/avrstudio5.0.beta.exe AvrStudio5.0.beta.exe] AVR Studio 5.0 Beta (523 MB)&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/AvrStudio4Setup.exe AvrStudio4Setup.exe] &#039;&#039;&#039;AVR Studio 4.19 (build 730) (124 MB, updated 2011/09/11)&#039;&#039;&#039;  MD5:609209DB9A1C6191945421299101DC15&lt;br /&gt;
&lt;br /&gt;
*[http://distribute.atmel.no/tools/avr/beta/4.19%20Build720/AvrStudio4Setup.exe AvrStudio4Setup.exe] AVR Studio 4.19 Beta (build 720)  (123 MB, updated 2011/04/11)  MD5:?&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/AvrStudio417Setup.exe AvrStudio417Setup.exe] AVR Studio 4.17 (build 666) (112 MB, updated 07/09) MD5:9705a9362da76aa9779322127640a184&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/AvrStudio416Setup.exe AvrStudio416Setup.exe] AVR Studio 4.16 (build 628) (126 MB, updated 02/09) (last version for Win98) MD5:d1c412d7a05a9ad95486d7ea680f68e5&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/aStudio4b623.exe aStudio4b623.exe] AVR Studio 4.15 (build 623) (94 MB, updated 11/08)&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/aStudio4b589.exe aStudio4b589.exe] AVR Studio 4.14 (build 589) (89 MB, updated 04/08)&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/aStudio4b528.exe aStudio4b528.exe]  AVR Studio 4.13 (build 528) (73 MB, updated 03/07)&lt;br /&gt;
&lt;br /&gt;
=== Direktlinks Zusatzsoftware ===&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/AVRQTouchStudioSetup_VSS_dotNET.exe AVRQTouchStudioSetup_VSS_dotNET.exe] AVR QTouch Studio mit .NET (373 MB, updated 03/10)&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/avr-toolchain-installer-3.3.0.710-win32.win32.x86.exe avr-toolchain-installer-3.3.0.710-win32.win32.x86.exe] &#039;&#039;&#039;AVR Toolchain 3.3.0 (94 MB, updated 2011/09/11, AVR-GCC: 4.5.1, AVR-LIBC: 1.7.1)&#039;&#039;&#039; MD5: 1c43bac156cb1e4cb77dfc7a833cf237&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/avr-toolchain-installer-3.2.3.579-win32.win32.x86.exe avr-toolchain-installer-3.2.3.579-win32.win32.x86.exe] AVR Toolchain 3.2.3 (95 MB, updated 06/11, AVR-GCC: 4.5.1, AVR-LIBC: 1.7.1)&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/avr-toolchain-installer-3.0.0.240-win32.win32.x86.exe avr-toolchain-installer-3.0.0.240-win32.win32.x86.exe] AVR Toolchain 3.0.0 (87 MB, updated 09/10, AVR-GCC: 4.4.3, AVR-LIBC: 1.7.0) MD5:999B3DC3DF471B3A667CF0FE90A522E8. Update util/delay.h [http://www.mikrocontroller.net/topic/196738#1943039] beachten.&lt;br /&gt;
&lt;br /&gt;
*[http://www.atmel.com/dyn/resources/prod_documents/AVR-SoftwareFramework-2.3.1.zip AVR-SoftwareFramework-2.3.1.zip] AVR SoftwareFramework 2.3.1 - drivers and libraries&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/asf-standalone-archive-2.6.1.33.zip asf-standalone-archive-2.6.1.33.zip] &#039;&#039;&#039;AVR SoftwareFramework 2.6.1.33 - drivers and libraries&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/AVRStudio5-ASF-Update-2.8.1.76.exe AVRStudio5-ASF-Update-2.8.1.76.exe] &#039;&#039;&#039;AVRStudio5-ASF-Update-2.8.1.76 (222 MB, revision 2.8.1, updated 2011/10/11)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/AVRStudio5-ASF-Update-2.7.0.43.exe AVRStudio5-ASF-Update-2.7.0.43.exe] AVRStudio5-ASF-Update-2.7.0.43 (214 MB, revision 2.7.0, updated 2011/8/11)&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/AVRStudio5-ASF-Update-2.6.1.27.exe AVRStudio5-ASF-Update-2.6.1.27.exe] AVRStudio5-ASF-Update-2.6.1.27&lt;br /&gt;
&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/AVR2025_MAC_v_2_7_0.exe AVR2025_MAC_v_2_7_0.exe] IEEE 802.15.4 MAC Stack&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.youtube.com/user/AtmelCorporation#g/c/8F325BE889E62E50 YouTube-Playlist: AVR Studio 5 Tutorial]&lt;br /&gt;
&lt;br /&gt;
* [http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=82994 How to install JTAGICE mkII (and AVR Dragon and AVRISP mkII) on Windows 7 x64] auf avrfreaks.net (ggf. kostenlos registrieren). Siehe auch Hinweis von Denny [http://www.mikrocontroller.net/topic/146857#1476962] im Forum.&lt;br /&gt;
&lt;br /&gt;
*[http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR Eclipse Plugin]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR]]&lt;br /&gt;
[[Kategorie:Entwicklungstools]]&lt;/div&gt;</summary>
		<author><name>46.223.74.46</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=FET&amp;diff=61132</id>
		<title>FET</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=FET&amp;diff=61132"/>
		<updated>2011-10-19T10:06:43Z</updated>

		<summary type="html">&lt;p&gt;46.223.74.46: /* Erklärung der wichtigsten Datenblattwerte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein FET (engl. &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;E&#039;&#039;&#039;ffect &#039;&#039;&#039;T&#039;&#039;&#039;ransistor) ist ein  Feldeffekttransistor. Der FET ist ein Bauelement, das im Gegensatz zum Bipolartransistor (engl. &#039;&#039;&#039;B&#039;&#039;&#039;ipolar &#039;&#039;&#039;J&#039;&#039;&#039;unction &#039;&#039;&#039;T&#039;&#039;&#039;ransistor, BJT) mit Spannung und nicht mit Strom gesteuert wird. Unterschieden werden&lt;br /&gt;
* MOSFET = engl. &#039;&#039;&#039;M&#039;&#039;&#039;etall &#039;&#039;&#039;O&#039;&#039;&#039;xide &#039;&#039;&#039;S&#039;&#039;&#039;emiconductor &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;E&#039;&#039;&#039;ffect &#039;&#039;&#039;T&#039;&#039;&#039;ransistor; Metalloxidschicht-FET, größte Teilgruppe der FETs mit isoliertem Gate &lt;br /&gt;
* JFET = engl. &#039;&#039;&#039;J&#039;&#039;&#039;unction &#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;E&#039;&#039;&#039;ffect &#039;&#039;&#039;T&#039;&#039;&#039;ransistor, Übergangszonen FET, der steuerbare Kanal wird durch einen PN-Übergang wie in einer Diode gebildet&lt;br /&gt;
&lt;br /&gt;
Die drei Anschlüsse eines FETs werden &#039;&#039;Gate&#039;&#039;, &#039;&#039;Drain&#039;&#039; und &#039;&#039;Source&#039;&#039; genannt. Unter Umständen ist ein vierter Anschluß vorhanden, der &#039;&#039;Bulk&#039;&#039; genannt wird. Normalerweise ist Bulk intern mit Source verbunden. Wenn dies nicht der Fall ist, muss diese Verbindung durch den Designer in der Schaltung hergestellt werden.&lt;br /&gt;
&lt;br /&gt;
== FET-Typen ==&lt;br /&gt;
&lt;br /&gt;
FETs werden hauptsächlich unterschieden in N-Kanal und P-Kanal, sowie &amp;quot;selbst sperrend = Anreicherungstyp&amp;quot; (engl. enhancement type) und &amp;quot;selbst leitend = Verarmungstyp&amp;quot; (engl. depletion type). Beim selbstleitenden FET ist der Transitor bei 0V Gate-Source Spannung maximal leitend (durchgesteuert) und wird durch Anlegen einer Spannung ans Gate gesperrt. Beim selbstsperrenden FET (größte Gruppe) ist der Transistor bei 0V Gate-Source Spannung gesperrt und wird durch Anlegen einer Spannung ans Gate leitend. Ist die Linie zwischen Drain und Source durchgezogen handelt es sich um einen selbstleitenden, bei einer gestrichelten Linie um einen selbstsperrenden FET. JFETs gibt es nur als Verarmungstyp. Im weiteren Artikel wird nur mehr der &amp;quot;selbstsperrende&amp;quot; MOSFET betrachtet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Typen von Feldeffekttransistoren&amp;lt;br/&amp;gt;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! Typ || N-Kanal || P-Kanal&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| JFET  || [[bild:JFET-N.png|center]]&lt;br /&gt;
* drittgrößte Gruppe&lt;br /&gt;
* bislang nur für kleine Leistungen verfügbar&lt;br /&gt;
* JFETs mit hoher Leistung sind im Kommen&lt;br /&gt;
* Eingangsstufen von OPVs&lt;br /&gt;
* Eingangsstufen von HF-Verstärkern bis in den GHz-Bereich&lt;br /&gt;
* als einfache [[Konstantstromquelle]] geeignet&lt;br /&gt;
| [[bild:JFET-P.png|center]]&lt;br /&gt;
* selten &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| MOSFET&amp;lt;br/&amp;gt;Anreicherungstyp || [[bild:MOS-EN.png|center]]&lt;br /&gt;
* größte Gruppe&lt;br /&gt;
* sehr viele Typen erhältlich&lt;br /&gt;
| [[bild:MOS-EP.png|center]]&lt;br /&gt;
* zweitgrößte Gruppe&lt;br /&gt;
* bei gleicher Geometrie etwas schlechter als ein N-Kanal Typ&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| MOSFET&amp;lt;br/&amp;gt;Verarmungstyp || [[bild:MOS-DN.png|center]]&lt;br /&gt;
* selten&lt;br /&gt;
| [[bild:MOS-DP.png|center]]&lt;br /&gt;
* sehr selten&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Vorteile des FET ===&lt;br /&gt;
&lt;br /&gt;
* Meist niedrigere Verluste als bei Bipolartransistoren.&lt;br /&gt;
* Sehr schnelles Schalten möglich, daher für sehr hohe Frequenzen geeignet (keine Speicherzeit wie beim BJT).&lt;br /&gt;
* Einfaches Parallelschalten im Schaltbetrieb, da Unterschiede im &amp;lt;math&amp;gt;R_{DS,on}&amp;lt;/math&amp;gt; durch den positiven Temperaturkoeffizienten ausgeglichen werden.&lt;br /&gt;
* Leistungslose Ansteuerung im statischen Fall, jedoch hohe Umladeverluste am Gate!&lt;br /&gt;
* oft preiswerter als vergleichbare Bipolartransistoren (BJT)&lt;br /&gt;
* Relativ unempfindlich gegen Überspannung zwischen Drain und Source. Bei Überschreitung der Maximalspannung zwischen Drain und Source findet ein sogenannter &amp;quot;Durchbruch&amp;quot; statt. Dies ist vergleichbar mit dem Zener-Effekt. Ist die Energiemenge begrenzt, ist dieser Durchbruch reversibel und der FET wird NICHT zerstört, im Gegensatz zum BJT.&lt;br /&gt;
&lt;br /&gt;
=== Nachteile des FET ===&lt;br /&gt;
&lt;br /&gt;
* Nur bedingt für hohe Spannungen [[Transistor#Wann setzt man einen MOSFET, Bipolartransistor, IGBT oder Thyristor ein ? |geeignet]], die ON-Verluste sind ab ca. 250V höher als bei einem [[IGBT]]. &lt;br /&gt;
* Parasitäre Diode parallel zur Drain-Source Strecke ist immer enthalten, das (Ab-)Schaltverhalten dieser Dioden ist meist schlechter als separate Dioden, was häufig zu unerwünschten Schwingungen führt.&lt;br /&gt;
* Empfindlicher gegen ESD am Gate als BJT&lt;br /&gt;
* Positiver Temperaturkoeffizient (TK), der &amp;lt;math&amp;gt;R_{DS,on}&amp;lt;/math&amp;gt; ist stark temperaturabhängig und steigt von 25°C (Datenblattangabe) auf 150°C ungefähr um den Faktor 2. Dadurch steigen auch die Verluste und damit die Erwärmung des Bauteiles.&lt;br /&gt;
&lt;br /&gt;
=== Erklärung der wichtigsten Datenblattwerte ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Parameter&#039;&#039;&#039; || &#039;&#039;&#039;Symbol&#039;&#039;&#039; || &#039;&#039;&#039;Wert&#039;&#039;&#039; (Beispiel)|| &#039;&#039;&#039;Erklärung&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Drain Source (Breakdown) Voltage || V(BR)_DSS oder V_DS || 75V || Maximale Spannungsfestigkeit des Bauteiles zwischen Drain und Source&lt;br /&gt;
|-&lt;br /&gt;
| Continuous Drain current  || I_D(on)   || 55A @125°C  || Maximaler Dauerstrom bei 125°C Gehäusetemperatur &lt;br /&gt;
|-&lt;br /&gt;
| Pulsed Drain Current || ID_pulse oder I_CD(on) || 240A || Maximaler Pulsstrom (Achtung die zulässige Zeitdauer des Pulses kann nur über die maximale Junctiontemperatur ermittelt werden)&lt;br /&gt;
|-&lt;br /&gt;
| Repetetive Avalanche Energy || t_sc ||  280mJ || Maximale Energie, welche beim Avalance Durchbruch bei Überschreiten der maximalen Drain-Source Spannung im MOSFET bei z.&amp;amp;nbsp;B. 1% Puls/Pausen Verhältnis regelmäßig auftreten darf, ohne den FET zu schädigen&lt;br /&gt;
|-&lt;br /&gt;
| Drain-Source ON Resistance || R_DS_ON ||  0,01Ohm || Widerstand des eingeschalteten FETs bei &#039;&#039;&#039;25°C&#039;&#039;&#039;, V_GS = 10V und ID = 30A&lt;br /&gt;
|-&lt;br /&gt;
| Drain-Source ON Resistance || R_DS_on ||  0,021Ohm || Widerstand des eingeschalteten FETs bei &#039;&#039;&#039;175°C&#039;&#039;&#039;, V_GS = 10V und ID = 30A&lt;br /&gt;
|-&lt;br /&gt;
| Thermal Resistance (junction-case) ||  R_th_JC ||  0,8K/W || Thermischer Widerstand im Transistor vom eigentlichen Chip im Inneren (junction) bis zur Rückseite des Transistorgehäuses (case)&lt;br /&gt;
|-&lt;br /&gt;
| Gate-Source Threshold Voltage ||  V_GS(th) || 2,0-4,5V || Gatespannung, ab welcher der Transistor minimal leitend wird (I_D typisch 100-200µA), große Toleranz, typisch 1:2 zwischen Minimum und Maximum&lt;br /&gt;
|-&lt;br /&gt;
| Turn-on Delay ||  t_d(on) || 40ns ||  Verzögerung zwischen dem Einschalten am Gate bis zur Reaktion im Drainstrom&lt;br /&gt;
|-&lt;br /&gt;
| Rise Time ||  t_r || 200ns ||  Anstiegszeit des Transistorstromes am Drain&lt;br /&gt;
|-&lt;br /&gt;
| Turn-off Delay || t_d(off) || 120ns ||  Verzögerung zwischen Abschalten am Gate bis zur Reaktion im Drainstrom&lt;br /&gt;
|-&lt;br /&gt;
| Fall Time ||  t_f  || 60ns || Abfallzeit des Transistorstromes am Drain  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die oben genannten Zeiten gelten ausschließlich unter den angegebenen Messbedungungen (Gatewiderstand, Treiberspannung, etc.) und müssen für die eigene Anwendung ggf. neu berechnet werden. Meist wird man sie eher messen, weil die Rechung zu aufwändig und bisweilen unmöglich ist. Achtung: Die Tabelle ist nur für eine Temperatur von 25° C gültig !!&lt;br /&gt;
&lt;br /&gt;
Gerade bei der Gate-Source Threshold Voltage &amp;lt;math&amp;gt;V_{GS}(th)&amp;lt;/math&amp;gt; gibt es hier immer wieder Verwirrung. Sie gibt an, ab welcher Spannung der MOSFET &#039;&#039;&#039;minimal&#039;&#039;&#039; leitfähig wird, je nach Datenblatt bei 100-250µA Drainstrom. Diese Spannung ist technologisch bedingt auch heute noch einer starken Toleranz unterworfen, typisch 1:2 zwischen Minimum und Maximum. Im praktischen Betrieb muss man mindestens das Doppelte anlegen, um den MOSFET voll aufzusteuern. Wer es solide machen will nimmt dabei typisch 10-15V für einen Standardtypen und 3-5V für einen Logic Level Mosfet, dabei &#039;&#039;&#039;immer&#039;&#039;&#039; den Wert aus dem Datenblatt beachten. Deshalb braucht man bei 5V Ansteuerung einen Typen, der &#039;&#039;&#039;sicher&#039;&#039;&#039; bei typ. 4,5V voll durchgesteuert ist, z.B. IRLZ34N. Bei 3,3V ist er bereits nicht mehr zuverlässig nutzbar. Es gibt auch Typen mit noch geringerer Spannung für Vollaussteuerung. Wer einen BUZ11 mit 5V ansteuert riskiert ein Abfackeln des MOSFETs, denn je nach Toleranz kann er bereit ganz gut aufgesteuert sein oder auch nicht.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039; Parasitäre Diode des FETs  &#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Parameter&#039;&#039;&#039; || &#039;&#039;&#039;Symbol&#039;&#039;&#039; || &#039;&#039;&#039;Value&#039;&#039;&#039; (Beispiel)|| &#039;&#039;&#039;Erklärung&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Continuous Current (Diode) ||  I_S || 75A || Maximaler Dauerstrom der parasitären Diode, meist identisch zum maximalen Dauerstrom des MOSFETs&lt;br /&gt;
|-&lt;br /&gt;
| Forward Voltage (Diode)||  V_SD || 1,0..1,3V || Spannungsfall an der parasitären Diode &lt;br /&gt;
|-&lt;br /&gt;
| Reverse Recovery Time ||  t_rr || 80..120ns || Zeit, die die Elektronen brauchen um aus der leitenden Diode vollständig abzufließen. Während dieser Zeit fließt der Strom in &#039;&#039;&#039;Rückwärtsrichtung&#039;&#039;&#039; durch die Diode. &lt;br /&gt;
|-&lt;br /&gt;
| Reverse Recovery Charge ||  Q_rr || 60nC || Ladungsmenge, die während t_rr rückwärts durch die Diode fließt.  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Haupttypen und Gatespannungslevel ==&lt;br /&gt;
&lt;br /&gt;
===Unterschied N-Kanal / P-Kanal FET===&lt;br /&gt;
&lt;br /&gt;
Im Schaltsymbol werden die MOSFET-Typen meist durch die Pfeilrichtung in der Mitte des Symbols (eigentlich &amp;quot;Bulk&amp;quot;) vom oder zum Gate unterschieden.  Zeigt der Pfeil zum Gate hin, handelt es sich um einen N-Kanal-FET, zeigt der Pfeil vom Gate weg um einen P-Kanal FET.&lt;br /&gt;
&lt;br /&gt;
Der große Vorteil des N-Kanal FETs (Elektronenleitung) ist, daß er immer niederohmiger ist, als ein gleich großer P-Kanal FET (Löcherleitung). Daher sind P-Kanal Typen bei vergleichbaren Werten auch immer größer = teuerer da weniger Chips auf einem Wafer Platz haben.&lt;br /&gt;
&lt;br /&gt;
Beim N-Kanal FET muss die Gatespannung positiv gegenüber Source sein. Dabei wird der FET dann leitend, wenn die sogenannte &amp;quot;threshold voltage&amp;quot; (Schwellenspannung) erreicht wird. Eine typische Anwendung ist z.&amp;amp;nbsp;B. ein &#039;&#039;&#039;Low-Side Schalter&#039;&#039;&#039;: Source an GND, Drain an die Last, Ansteuerung des N-Kanal FETs mit 12V gleichbedeutend mit 12V ÜBER den Source = GND Potential.&lt;br /&gt;
 &lt;br /&gt;
Beim P-Kanal FET muss die Gatespannung negativ gegenüber Source sein. Eine typische Anwendung ist z.&amp;amp;nbsp;B. ein &#039;&#039;&#039;High-Side Schalter&#039;&#039;&#039;:  Source an z.&amp;amp;nbsp;B. 400V, Drain an die Last, Ansteuerung des P-Kanal FETs mit 388V also 12V UNTER dem Sourcepotential.&lt;br /&gt;
&lt;br /&gt;
Natürlich kann ein High-Side Schalter auch mit einem N-Kanal FET realisiert werden, was in diesem Fall eine zusätzliche Spannungsquelle bedeutet, denn der FET wird dann mit 412V eingeschaltet. Beim P-Kanal FET ist diese zusätzliche Spannungsquelle nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weblinks&#039;&#039;&#039;&lt;br /&gt;
* [http://www.eetimes.com/General/DisplayPrintViewContent?contentItemId=4009943 A primer on high-side FET load switches (Part 1 of 2)], Qi Deng, Senior Product Marketing Manager, Mixed-Signal Products, Micrel, Inc., 5/3/2007 4:14 PM EDT, www.eetimes.com&lt;br /&gt;
* [http://www.eetimes.com/General/DisplayPrintViewContent?contentItemId=4009944 A primer on high-side FET load switches (Part 2 of 2)], Qi Deng, Senior Product Marketing Manager, Mixed-Signal Products. Micrel, Inc., 5/7/2007 1:36 PM EDT, www.eetimes.com&lt;br /&gt;
* [http://www.vishay.com/docs/70611/70611.pdf AN804 P-Channel MOSFETs, the Best Choice for High-Side Switching (PDF)] von Vishay Siliconix&lt;br /&gt;
&lt;br /&gt;
===Unterschied Logic-Level / &amp;quot;Normal&amp;quot;-Level===&lt;br /&gt;
&lt;br /&gt;
Den meisten FETs ist gemein, daß sie mit einer Spannung von 10..15V angesteuert werden müssen, um den minimalen Einschaltwiderstand zu erreichen. Diese FETs lassen sich nicht ohne weiteres mit einem CMOS-Pegel von 5V ansteuern. Es gibt jedoch für diesen Anwendungsfall sogenannte &amp;quot;Logic Level&amp;quot; (LL) FETs, die schon bei einer Gatespannung von etwa 4,5V voll durchgesteuert sind. Einige Kleinsignal-FETs sind schon ab ca. 1,2V voll durchgesteuert.&lt;br /&gt;
&lt;br /&gt;
== Beispiel zur Bauteiledimensionierung ==&lt;br /&gt;
&lt;br /&gt;
=== Spannungsfestigkeit ===&lt;br /&gt;
&lt;br /&gt;
Die höchste vorkommende Betriebsspannung + Abschaltüberspannung soll kleiner als ca. 80% der Spannungsfestigkeit des Bauteiles sein. &lt;br /&gt;
&lt;br /&gt;
Achtung: Zwischen dem je nach Anwendungsfall erforderlichen Pufferkondensator und dem FET wird es immer eine parasitäre Induktivität geben.&lt;br /&gt;
Abhängig von Schaltgeschwindigkeit und Induktivität wird im Schaltmoment eine mehr oder weniger große Übrspannungsspitze produziert. Dieser Peak&lt;br /&gt;
addiert sich auf die aktuelle Versorgungsspannung.&lt;br /&gt;
&lt;br /&gt;
Überschlagsrechnung als Beispiel:&lt;br /&gt;
* Schaltgeschwindigkeit:  dI/dt = 100A/µs (= Abschalten von 5A innerhalb 50ns),&lt;br /&gt;
* Induktivität:   L = 1µH (~ 1 m loses, ungebündeltes Kabel)&lt;br /&gt;
* dU=-L*dI/dt = -1µH * 100A / 1µs = 100V&lt;br /&gt;
&lt;br /&gt;
Dies bedeutet, daß an der &amp;quot;Induktivität&amp;quot; zwischen Transistor und Kondensator - Aufgrund von Selbstinduktion im Schaltmoment - ein Überspannungspuls von ca. 100V entsteht, der auf die Betriebsspannung aufzuschlagen ist.&lt;br /&gt;
&lt;br /&gt;
=== Stromtragfähigkeit ===&lt;br /&gt;
&lt;br /&gt;
In jedem Datenblatt ist eine Stromtragfähigkeit bei 25°C, und meist noch bei einer höheren Temperatur z.B. 125°C, 150°C oder 175°C Kühlfahnentemperatur angegeben. Dieser Wert ist als ERSTE Entscheidungsgrundlage ausreichend, aber aus der theoretisch abführbaren Verlustleistung errechnet, und&lt;br /&gt;
* dient zum qualitativen Vergleich von Transistoren bezüglich ihres R_ds(on) und ihres Wärmewiderstands.&lt;br /&gt;
* ist für die Dimensionierung einer Schaltung nur als Richtwert zu interpretieren. &lt;br /&gt;
* ist ohne Schaltverluste genannt, und daher nur für einen Schaltbetrieb von wenigen Hz gültig. Außerdem wird ein annähernd idealer Kühlkörper unterstellt, der trotz der Verlustleistung das Gehäuse des Transistors auf der angegebenen Temperatur halten kann.&lt;br /&gt;
* entbindet einen nicht davon den Kopf einzuschalten... siehe die nachfolgenden Zeilen.&lt;br /&gt;
* Liegt der Strom für den die Schaltung entwickelt wird mit ca. 10..20% Abstand unter dem Datenblattwert von 125°C ist dieses Bauteil vermutlich verwendbar (siehe Detailberechnungen unten !).   &lt;br /&gt;
* Ist der benötigte Strom im Bereich oder größer als der zulässige bei 125°C sollte entweder ein anderer Typ eingesetzt oder mehrere FETs parallelgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
=== Verlustleistung ===&lt;br /&gt;
&lt;br /&gt;
Hier wird eine Näherung für eine getaktete Anwendung betrachtet. In einem Transistor treten sowohl beim Ein- und Ausschalten, als auch während der Einschaltphase Verluste im Bauteil auf. Diese Verluste führen zu einer Bauteilerwärmung. Die dabei entstehende Temperatur darf die maximal zulässige Bauteiletemperatur nie überschreiten. Bei den ersten Projekten ist zu empfehlen eine berechnete Chiptemperatur von ca. 125°C nicht zu überschreiten. Fast alle aktuell verfügbaren FETs nennen im Datenblatt eine Temperatur von 175°C als ihre maximale Chiptemperatur.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Beispiel&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter || Symbol ||Wert&lt;br /&gt;
|-&lt;br /&gt;
| Betriebsspannung || U&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt; || 70 V&lt;br /&gt;
|-&lt;br /&gt;
| Nennstrom || I&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt; || 30 A&lt;br /&gt;
|-&lt;br /&gt;
| Drain-Source Widerstand bei einer Chiptemperatur von 125°C und einer Gatespannung von 10V || R&amp;lt;sub&amp;gt;DS&amp;lt;sub&amp;gt;on&amp;lt;/sub&amp;gt;&amp;lt;/sub&amp;gt; || 17 mΩ&lt;br /&gt;
|-&lt;br /&gt;
| on-Zeit || t&amp;lt;sub&amp;gt;on&amp;lt;/sub&amp;gt; || 150 µs&lt;br /&gt;
|-&lt;br /&gt;
| Schaltfrequenz || ƒ&amp;lt;sub&amp;gt;schalt&amp;lt;/sub&amp;gt; || 5 kHz, (T = 200µs)&lt;br /&gt;
|-&lt;br /&gt;
| Einschaltzeit (risetime) || t&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; || 500 ns&lt;br /&gt;
|-&lt;br /&gt;
| Ausschaltzeit (falltime) || t&amp;lt;sub&amp;gt;ƒ&amp;lt;/sub&amp;gt; || 800 ns &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Leitungsverluste ====&lt;br /&gt;
&lt;br /&gt;
Während der FET bei [[PWM]]-Ansteuerung eingeschaltet ist, erzeugt er Verlustleitung.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
P_\text{ON}&lt;br /&gt;
 = I_\mathrm{N}^2 \cdot R_\mathrm{DS_\mathrm{ON}} \cdot \frac{t_\mathrm{ON}}{T}&lt;br /&gt;
 = 30A^2 \cdot 17m\Omega  \cdot \frac{150\mu s}{200\mu s} = 11{,}5W&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Schaltverluste ====&lt;br /&gt;
&lt;br /&gt;
Vereinfachter Ansatz.&lt;br /&gt;
&lt;br /&gt;
Einschalten:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
P_\mathrm{SW_r}&lt;br /&gt;
&amp;amp;= \tfrac14 \cdot U_N \cdot I_N \cdot \frac{t_r}{T} \\&lt;br /&gt;
&amp;amp;= \tfrac14 \cdot 70V \cdot 30A \cdot \frac{500ns}{200\mu s}=1{,}3W&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausschalten:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
P_\mathrm{SW_f} &lt;br /&gt;
&amp;amp;=\tfrac14 \cdot U_N \cdot I_N \cdot \frac{t_f}{T}\\&lt;br /&gt;
&amp;amp;=\tfrac14 \cdot 70V \cdot 30A \cdot \frac{800ns}{200\mu s}=1{,}85W&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativ und genauer, wenn bekannt, P_sw_f = f_schalt·E_on bzw. P_sw_f = f_schalt * E_off d.h. Schaltfrequenz mal Ein(Aus)schaltverlustenergie. Aber Achtung! Die  Randbedingungen unter denen die genannte Energie ermittelt wurde, müssen genau so zutreffen.&lt;br /&gt;
&lt;br /&gt;
Die Gesamtverlustleistung beträgt also in etwa 15W.&lt;br /&gt;
&lt;br /&gt;
Damit muß ein entsprechender [[Kühlkörper]] ausgelegt und die Chiptemperatur berechnet werden. z.&amp;amp;nbsp;B.:&lt;br /&gt;
* Kühlkörper mit einem R_th von 0,2K/W&lt;br /&gt;
* max. Umgebungstemperatur +60°C&lt;br /&gt;
* R_th &amp;quot;junction-case&amp;quot; des FETs 0,8K/W&lt;br /&gt;
* R_th der Wärmeleitfolie zwischen FET und Kühlkörper ca. 2,0K/W&lt;br /&gt;
* R_th gesamt: 3,0K/W &amp;lt;br&amp;gt;&lt;br /&gt;
* Bei einer Verlustleistung von 18W und einer Umgebungstemperatur von 60°C hat der Chip eine Temperatur von ca. 18W * 3,0K/W +60°C = 114°C. ==&amp;gt; o.k.!&lt;br /&gt;
&lt;br /&gt;
Unter Berücksichtigung der Tatsache, daß hier viele Vereinfachungen vorgenommen, und die Art der Last nicht beachtet wurde ist es sinnvoll, einen gewissen Sicherheitsabstand zu den zulässigen Maximalwerten einzuhalten. Daher ist es empfehlenswert, die Chiptemperatur auf ca. 125°C zu beschränken. &lt;br /&gt;
&lt;br /&gt;
Des Weiteren ist hier die parasitäre Diode im FET nocht berücksichtigt.&lt;br /&gt;
Wenn während der &amp;quot;off&amp;quot; Zeit ein Strom über die Diode fließt (Reverse recovery current oder Freilaufstrom), muß die dadurch &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; entstehende Verlustleistung in die obige Berechnung der maximalen Chiptemperatur mit einfließen.&lt;br /&gt;
&lt;br /&gt;
==Treiberleistung==&lt;br /&gt;
&lt;br /&gt;
Auch wenn der MOSFET ein spannungsgesteuertes Bauelement ist, muss trotzdem bei jedem Einschalten und bei jedem Ausschalten die Gatekapazität umgeladen werden. Bei einigen wenigen Leistungs-FET muss sogar teilweise mit negativer Spannung am Gate gearbeitet werden, um eine vollständige Sperrung zu erreichen.&lt;br /&gt;
Diese Umladung muss möglichst schnell erfolgen, um die Verluste im FET während der Umschaltphase zu minimieren. Dazu findet ein [[Mosfet-Übersicht#Mosfet-Treiber|Mosfet-Treiber]] Verwendung.&lt;br /&gt;
Da die Gatekapazität nicht direkt im Datenblatt enthalten ist kann man sich mit der Eingangskapazität Ciss behelfen. Im Arbeitspunkt ist die Gatekapazität ungefähr 5x größer als der im Datenblatt für Ciss angegebene Wert. &lt;br /&gt;
Daher berechnet sich die Treiberleistung wie folgt: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P_\text{Treiber} = C \cdot U^2 \cdot f = 5 \cdot C_\text{iss} \cdot U_\text{Gate}^2 \cdot f_\text{schalt}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1.Beispiel, kleine MOSFET-Steuerung mit niedriger Leistung und Frequenz.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P_\text{treiber} = 5 \cdot 4{,}8\,\text{nF} \cdot 15\,\text{V}^2 \cdot 10\,\text{kHz} = 54\,\text{mW}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.Beispiel, sehr große MOSFET-Steuerung für Induktionsheizung mit sehr hoher Leistung und Frequenz.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P_\text{treiber} = 5 \cdot 24\,\text{nF} \cdot 15\,\text{V}^2 \cdot 250\,\text{kHz} = 6{,}75\,\text{W}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aber Achtung, so ein MOSFET-Treiber hat auch einen Eigenverbrauch, der leicht zwischen 0,5 und 1 W liegen kann.&lt;br /&gt;
&lt;br /&gt;
== Low- und High-Side ==&lt;br /&gt;
&lt;br /&gt;
Definition LS- und HS:&lt;br /&gt;
 &lt;br /&gt;
;Low-Side: Schalter, der FET schaltet eine Last gegen GND &amp;amp;ndash; auch als LS-Schalter bezeichnet.&lt;br /&gt;
;High-Side: Schalter, der FET schaltet eine Last an die Versorgungsspannung – auch als HS-Schalter bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Anregungen oder Fragen auch gerne per Email an [http://www.mikrocontroller.net/user/show/powerfreak Powerfreak]. Dieser Artikel kann dadurch regelmäßig erweitert und ggf. durch ein FAQ ergänzt werden.&lt;br /&gt;
&lt;br /&gt;
== Linearbetrieb von MOSFETs ==&lt;br /&gt;
&lt;br /&gt;
Der Großteil der Anwendungen nutzt MOSFETs als Schalter, d.h. der MOSFET ist entweder voll gesperrt oder voll durchgesteuert. Dafür gelten auch all die Hinweise in diesem Artikel. In bestimmten Anwendungen werden MOSFETs aber auch im Linearbetrieb eingesetzt, z.B in linearen Endstufen für Audio, Video, elektronischen Lasten und Stromquellen. Hier muss man einiges beachten. Ein verbreiteter Irrtum besteht darin zu glauben, MOSFETs könne man im Linearbetrieb einfach parallel schalten, weil der positive Temperaturkoeffizient von RDS-ON eine Symmetrierung bewirkt, ähnlich den Emitterwiderständen bei parallelgeschalteten Bipolartransistoren. Das ist falsch! Im Linearbetrieb spielt der Temperaturkoeffizient von RDS-ON keine Rolle, weil der MOSFET selten bis nie komplett durchgesteuert ist.&lt;br /&gt;
&lt;br /&gt;
Hier spiel vielmehr der negative Temperaturkoeffizient (TK) der Thresholdspannung eine Rolle, vergleichbar dem negativen TK der Basis-Emitter-Spannung von Bipolartransistoren. D.h. mit steigender Temperatur und konstanter Gate-Source-Spannung steigt der Stromfluss der Drain-Source Strecke. In einer Parallelschaltung von MOSFETs würde dies bedeuten, dass der MOSFET mit dem geringfügig größeren Drainstrom (Fertigungstoleranzen) wärmer wird, was zu einem weiter steigenden Drainstrom und damit noch mehr Wärme führt. Damit ist die Schaltung thermisch instabil und würde zum Durchbrennen der MOSFETs führen, einer nach dem Anderen. &lt;br /&gt;
&lt;br /&gt;
Um das zu verhindern muss man relativ große Ausgleichswiderstände in die Source-Leitung der einzelnen MOSFETs schalten, um diese Drift zu kompensieren. Dadurch verschlechtert sich natürlich den Wirkungsgrad des Verstärkers. Eine andere Möglichkeit ist die getrennte Ansteuerung der einzelnen MOSFETs, das wird oft in elektronischen Lasten bzw. [[Konstantstromquelle]]n gemacht. Hier treten keine zusätzlichen Verluste auf und der Mehraufwand in der Ansteuerung ist meist unkritisch.&lt;br /&gt;
&lt;br /&gt;
Weiterhin muss man beachten, dass viele der heutigen HochleistungsMOSFETs intern eine Parallelschaltung vieler kleiner MOSFET-Zellen sind, und somit bisweilen für den Linearbetrieb ungeeignet sind. Denn auch dort können einzelene Zellen überhitzen und durchbrennen (Hot spot). Ob ein MOSFET für den Linearbetrieb tauglich ist steht manchmal im Datenblatt, oft aber eher nicht, eben wiel die meisten MOSFETs als Schalter entwickelt und gebaut sind. Typische Vertreter für Linearbetrieb findet man in der [[MOSFET-Übersicht]].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Mosfet-Übersicht]]&lt;br /&gt;
* [[IGBT]]&lt;br /&gt;
* [[Treiber]]&lt;br /&gt;
* [[Kühlkörper]] &lt;br /&gt;
* [[Snippets#Wie_schlie.C3.9Fe_ich_einen_MOSFET_an_einen_Mikrocontroller_an.3F|Wie schließe ich einen Mosfet an einen Mikrocontroller an?]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/168218#1609684 Forumsbeitrag]: MOSFETs im Linearbetrieb&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/186785#new 2. Forumsbeitrag]: MOSFETs im Linearbetrieb&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/143324#new 3. Forumsbeitrag]: über eine elektronische Last, sehr lang&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikinfo.de/strom/feldeffekttransistoren.htm Feldeffekttransistoren bei elektronikinfo.de]&lt;br /&gt;
* [http://www.elektronik-kompendium.de/sites/bau/0207011.htm FET im ELKO]&lt;br /&gt;
* [http://www.elektronik-kompendium.de/sites/bau/0510161.htm MOSFET im ELKO]&lt;br /&gt;
* [http://sound.westhost.com/articles/hexfet.htm#51 MOSFETs in Audioendstufen, engl.]&lt;br /&gt;
* [http://irf.custhelp.com/cgi-bin/irf.cfg/php/enduser/std_adp.php?p_faqid=214&amp;amp;p_created=1019728945&amp;amp;p_sid=pt9ITiCj&amp;amp;p_accessibility=0&amp;amp;p_redirect=&amp;amp;p_lva=&amp;amp;p_sp=cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9MTQsMTQmcF9wcm9kcz0mcF9jYXRzPSZwX3B2PSZwX2N2PSZwX3BhZ2U9MSZwX3NlYXJjaF90ZXh0PWxpbmVhcg**&amp;amp;p_li=&amp;amp;p_topview=1 FAQ Answer ID 214 bei IRF zum Linearbetrieb]&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]] [[Kategorie:Leistungselektronik]]&lt;/div&gt;</summary>
		<author><name>46.223.74.46</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:TRIAC&amp;diff=58697</id>
		<title>Diskussion:TRIAC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:TRIAC&amp;diff=58697"/>
		<updated>2011-07-17T22:06:37Z</updated>

		<summary type="html">&lt;p&gt;46.223.74.46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRIACs bis mehrere 10kV? Wirklich? Ich dachte eher, die gibt es nur bis 1000V und eher kleine Ströme. Im Leistungsbereich kommen AFAIK nur Thyristoren zum Einsatz, die gibt es dann bis ganz groß und ganz böse.&lt;br /&gt;
&lt;br /&gt;
MFG&lt;br /&gt;
Falk&lt;br /&gt;
&lt;br /&gt;
Hallo Falk,&lt;br /&gt;
stimmt, Danke für Deinen Hinweis, ist schon berichtigt... ich habe wohl gleichzeitig an Thyristoren gedacht.&lt;br /&gt;
Gruß &lt;br /&gt;
Volker&lt;br /&gt;
&lt;br /&gt;
Kleiner Hinweis: In den Schaltbildern steht &amp;quot;Zümdstrom&amp;quot;&lt;/div&gt;</summary>
		<author><name>46.223.74.46</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Mikrocontroller_Vergleich&amp;diff=58665</id>
		<title>Mikrocontroller Vergleich</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Mikrocontroller_Vergleich&amp;diff=58665"/>
		<updated>2011-07-16T20:24:52Z</updated>

		<summary type="html">&lt;p&gt;46.223.74.46: /* Skalierbarkeit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein paar Kriterien für den CPU-Core und die µC-Familie.&lt;br /&gt;
&lt;br /&gt;
==Compiler verfügbar, bzw wieviel will man dafür ausgeben?==&lt;br /&gt;
&lt;br /&gt;
Und wie verbreitet ist der Compiler? Finde ich dafür Hilfe, beispielsweise in Form von Support-Foren?&lt;br /&gt;
&lt;br /&gt;
Für &#039;&#039;&#039;[[ARM]]&#039;&#039;&#039;, &#039;&#039;&#039;[[AVR]]&#039;&#039;&#039; und &#039;&#039;&#039;[[MSP430]]&#039;&#039;&#039; gibt es mit GCC einen guten und kostenlosen Compiler. Bei &#039;&#039;&#039;ARM&#039;&#039;&#039; sind jedoch die Schritte zum fertigen Programm recht komplex und Library/Laufzeitsystem benötigen einige Handarbeit. &lt;br /&gt;
&lt;br /&gt;
Für &#039;&#039;&#039;ARM&#039;&#039;&#039; gibt es von IAR eine auf 32KB begrenzte kostenlose Version eines umgänglicheren kommerziellen Compilers.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es für &#039;&#039;&#039;[[MSP430]]&#039;&#039;&#039; eine auf 4KB begrenzte kostenlose Version der Entwicklungsumgebung von IAR und eine auf 8KB begrenzte kostenlose Version der Entwicklungsumgebung Code Composer Essentials (basiert auf Eclipse) von Texas Instruments.&lt;br /&gt;
&lt;br /&gt;
Für &#039;&#039;&#039;[[PIC]]&#039;&#039;&#039; und &#039;&#039;&#039;[[8051]]&#039;&#039;&#039; kann man entweder den Open-Source-Compiler [http://www.sf.net/projects/sdcc SDCC] verwenden (brauchbar, aber nicht mit GCC vergleichbar) oder diverse Löhnwares, bis 4-stellige Beträge (Keil: 2600&amp;amp;#8364; , freie Version codegrösseneingeschränkt), teils auch als Demoversion mit Tricks. Auch der offizielle C18-Compiler kann als großzügiges Demo heruntergeladen werden.&lt;br /&gt;
&lt;br /&gt;
Für &#039;&#039;&#039;[[PIC]] 10/12/16&#039;&#039;&#039; gibt es den HI-TECH C-PRO von HI-TECH(Microchip) in einer freien Version. Alternative: CC5X. Die freie Version davon wurde inzwischen ohne Codegrößenbeschränkung freigegeben, kann aber nur bis 16-bit integer / 24-bit Floating Point. &lt;br /&gt;
&lt;br /&gt;
Für die &#039;&#039;&#039;[[PIC]] 18&#039;&#039;&#039; gibt es den C18 von Microchip. Er ist frei erhältlich und hat ähnliche Einschränkungen wie der C30. Eine CC5x-ähnliche Variante gibt es unter dem Namen CC8E, der allerdings auf 128k Code beschränkt ist.&lt;br /&gt;
&lt;br /&gt;
Für die &#039;&#039;&#039;[[PIC24]]&#039;&#039;&#039; und &#039;&#039;&#039;[[dsPIC]]&#039;&#039;&#039; gibt es den C30 von Microchip. Er basiert auf gcc und ist frei erhältlich, wobei nach 6 Wochen nicht mehr alle Optimierungsstufen wählbar sind, dann maximal -O1. Wie für alle PIC ist mit dem MPLAB eine kostenlose IDE mit Debugger und Simulator verfügbar.&lt;br /&gt;
&lt;br /&gt;
Für &#039;&#039;&#039;[[R8C]]/M16C&#039;&#039;&#039; gibt es eine Demoversion des Herstellers und eine noch ziemlich frische (lies: Stand 2005 nicht ausgereifte) Version vom GCC.&lt;br /&gt;
&lt;br /&gt;
Für &#039;&#039;&#039;[[ST7]]&#039;&#039;&#039; gibt es (teils limitierte) C-Compiler, teils mit IDE (z.ß. Cosmic und Ride). Toolchain von ST kostenlos erhältlich.&lt;br /&gt;
&lt;br /&gt;
Von Toshiba gibt es für &#039;&#039;&#039;[[TLCS-870]]&#039;&#039;&#039; mit den Starterkits eine IDE mit C-Compiler und Assembler. Ausserdem gibt es Toshibas eigene &amp;quot;C-Like Language&amp;quot;. Diese Tools sind nicht frei downloadbar.&lt;br /&gt;
&lt;br /&gt;
Zilog stellt für &#039;&#039;&#039;[[Z8_encore!]]&#039;&#039;&#039; eine unbeschränkte IDE mit C-Compiler, Debugger und Simulator kostenlos per Download zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pascal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für PIC,DSPIC und AVR gibt es einen sehr guten PASCAL-Compiler &amp;quot;MikroPascal&amp;quot;&lt;br /&gt;
der, in der Downloadversion Code-Size begrenzt ist,&lt;br /&gt;
und den man zu moderaten Preisen zur &amp;quot;Vollversion&amp;quot; aufrüsten kann.&lt;br /&gt;
http://www.mikroelektronika.co.yu/&lt;br /&gt;
( ab 149,- &amp;amp;#8364; )&lt;br /&gt;
&lt;br /&gt;
Elektor-Verlag &#039;Pascal für 8051 und Derivate&#039; Buch+Compiler(Vollversion)&lt;br /&gt;
&lt;br /&gt;
AVRco Pascal Compiler (http://www.e-lab.de/), &lt;br /&gt;
Kostenlose Version für Mega8/88&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BASIC:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sowohl für den AVR als auch für die 8051er gibts von MCS-Electronics eine Demoversion eines BASIC-Compilers,&lt;br /&gt;
der leicht im Funktionsumfang und Codegröße eingeschränkt ist. &lt;br /&gt;
[http://www.mcselec.com/]&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus kursieren im Netz Versionen eines BASIC-Interpreters für 8052er mit dem Namen &amp;quot;8052 AH-BASIC&amp;quot;, wobei die Originalversion von INTEL stammt. Dieser Interpreter unterstützt sogar Fließkomma-Arithmetik und ist als Freeware verfügbar.&lt;br /&gt;
&lt;br /&gt;
==Architektur==&lt;br /&gt;
&lt;br /&gt;
Betrifft vor allem Assembler-Programmierung und die Frage, wie einfach oder umständlich sich C-Code in Maschinensprache übersetzen lässt. &lt;br /&gt;
&lt;br /&gt;
Dass für alle Architekturen teils mehrere C-Compiler existieren, hat wenig mit Eignung und viel mit Markt zu tun. Zudem ist meist nur entscheidend, ob ein Controller die Anforderungen erfüllt, nicht jedoch wie gut er das tut.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Manches davon ist durchaus subjektiv. Bei abweichender Meinung bitte als Diskussion starten, nicht einfach löschen.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;: Typische Akkumulator-orientierte 8-Bit Architektur. Eine gewisse Komplexität entstand durch die sukzessive Erweiterung auf mehr RAM als ursprünglich vorgesehen war, mit etlichen unterschiedlich adressierten RAM-Bereichen als Folge. Für C-Compiler nur eingeschränkt geeignet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;: 32bit RISC-Architektur. In den gängigen Implementierungen mit dem  ARM7TDMI-Core (Architektur V4 = ARMv4T) stehen 2 Befehlssätze zur Verfügung: 32bit-codiert für Tempo, sofern der Speicherdurchsatz das zulässt, und 16bit-codiert (Thumb) für kompakte Programme. Cortex M3 (ARMv7) kennt ausschliesslich Thumb2 codierte Befehle, wurde gegenüber Thumb erheblich erweitert. Einheitlicher 32bit-Adressraum. Exzellente Zielmaschine für C-Compiler.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVR&#039;&#039;&#039;: Register-orientierte, an RISC Prinzipien angelehnte 8-Bit Architektur. Getrennte Adressräume für RAM und ROM. Registersatz nicht einheitlich nutzbar. I/O-Bereich nicht einheitlich adressierbar. Nur ein Teil des I/O-Bereiches ist bitweise manipulierbar. Einheitliche RAM-Adressierung. Für C-Compiler geeignet.Bemerkung: Laut Wikipedia wurde der Controller während der Entwicklungsphase für den Einsatz von C-Compilern optimiert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MSP430&#039;&#039;&#039;: Register-orientierte 16-Bit RISC-Architektur mit vollständiger Orthogonalität. Einheitlicher Adressraum für RAM und ROM. Exzellente Zielmaschine für C-Compiler. Angelehnt an die legendäre PDP-11, vieles wurde übernommen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC&#039;&#039;&#039;: Akkumulator-orientierte 8-Bit Architektur. Getrennte Adressräume für RAM und ROM. RAM-Banking, ROM-banking. Umständlicher Zugriff auf Daten im ROM (nur 12/14-Bit Versionen). Viele für C-Compiler wesentliche Elemente sind nur umständlich realisierbar (z.&amp;amp;nbsp;B. Code/Datenadressierung mit Banking, Vergleich mit Vorzeichen).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC24&#039;&#039;&#039;: Register-orientierte 16-Bit Architektur mit getrennten Adressräumen für RAM und ROM, wobei ein Teil des ROM in den RAM-Adressbereich eingeblendet werden kann. Fast alle Befehle sind auf Register und RAM anwendbar, incl. Bitmanipulationen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dsPIC&#039;&#039;&#039;: wie &#039;&#039;&#039;PIC24&#039;&#039;&#039;, mit zusätzlichen DSP Befehlen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R8C&#039;&#039;&#039;: 16-Bit 2-Adress CISC-Architektur. Einheitlicher 64KB Adressraum für RAM und ROM. Gute Zielmaschine für C-Compiler.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M16C&#039;&#039;&#039;: Unter Bezeichnung M16C existieren zwei verschiedene inkompatible Architekturen. Die Modelle bis /6x sind grundsätzlich identisch mit R8C, die /8x Modelle mit M32C (hier nicht näher betrachtet). Der 64KB RAM-I/O-Adressraum ist ein Teil des 1MB großen Gesamtadressraumes, Daten im ROM liegen jedoch ausserhalb dieser 64KB und sind daher anders als beim R8C nicht mit 16-Bit Zeigern adressierbar. Gute Zielmaschine für spezialisierte C-Compiler, GCC jedoch tut sich etwas schwer mit den Adressräumen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ST7&#039;&#039;&#039;:Akkumulatorarchitektur, Gemeinsamter Code/Datenadressraum (von-Neumann). 63 Befehle. Einheitlicher 64KB Adressraum für RAM und ROM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TLCS-870&#039;&#039;&#039;: 8-Bit CISC-Architektur, aus Z80 weiterentwickelt. Gemeinsamer Adressraum für RAM und ROM bis 60KB ROM, darüber getrennt. Adressraum 64/128KB. Serie 870/X mit 1MB Adressraum existiert, aber nur als OTP/Maskenversion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Z8e&#039;&#039;&#039;: Register-orientierte 8-Bit Architektur, 2-Adress-CISC. Getrennte Adressräume für RAM und ROM. Historisch bedingt 3 RAM-Adressräume (8-Bit, 12-Bit, 16-Bit). Für C-Compiler geeignet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kleiner nicht repräsentativer Compiler-Vergleich. Verwendet wurde eine Variante des crc8-Code von Colin O&#039;Flynn. Jeweils kleinstes Speichermodell, auf Platz optimiert:&lt;br /&gt;
{|&lt;br /&gt;
|Compiler&lt;br /&gt;
|  Befehle(1)&lt;br /&gt;
|  Bytes(1)&lt;br /&gt;
|  Befehle(2)&lt;br /&gt;
|  Bytes(2)&lt;br /&gt;
|-&lt;br /&gt;
|GCC AVR&lt;br /&gt;
|24&lt;br /&gt;
|48&lt;br /&gt;
|24&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|Keil 8051&lt;br /&gt;
|24&lt;br /&gt;
|38&lt;br /&gt;
|74&lt;br /&gt;
|109&lt;br /&gt;
|-&lt;br /&gt;
|SDCC 8051&lt;br /&gt;
|24&lt;br /&gt;
|40&lt;br /&gt;
|35&lt;br /&gt;
|54&lt;br /&gt;
|-&lt;br /&gt;
|Zilog Z8e&lt;br /&gt;
|21&lt;br /&gt;
|54&lt;br /&gt;
|27&lt;br /&gt;
|73&lt;br /&gt;
|-&lt;br /&gt;
|PIC C18&lt;br /&gt;
|26&lt;br /&gt;
|52&lt;br /&gt;
|95&lt;br /&gt;
|206&lt;br /&gt;
|-&lt;br /&gt;
|SDCC PIC18&lt;br /&gt;
|41&lt;br /&gt;
|112&lt;br /&gt;
|41&lt;br /&gt;
|112&lt;br /&gt;
|-&lt;br /&gt;
|SDCC PIC16&lt;br /&gt;
|26&lt;br /&gt;
|52&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| (for pic16f84)&lt;br /&gt;
|-&lt;br /&gt;
|HEW R8C/M16C&lt;br /&gt;
|20&lt;br /&gt;
|48&lt;br /&gt;
|20&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|GCC 68HC11&lt;br /&gt;
|36&lt;br /&gt;
|65&lt;br /&gt;
|36&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|GCC MSP430&lt;br /&gt;
|17&lt;br /&gt;
|40&lt;br /&gt;
|17&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|GCC ARM7&lt;br /&gt;
|12&lt;br /&gt;
|48&lt;br /&gt;
|12&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|GCC ARM7-Thumb&lt;br /&gt;
|20&lt;br /&gt;
|40&lt;br /&gt;
|20&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
(1): Lokale Daten ggf. statisch gespeichert, nicht reentrant.&lt;br /&gt;
&lt;br /&gt;
(2): Lokale Daten auf dem Stack, also reentrant.&lt;br /&gt;
&lt;br /&gt;
==Sind CPU-spezifische Erweiterungen in C erforderlich?==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;: &lt;br /&gt;
* 5-6 Speicherklassen für Datenspeicher (direkt, indirekt, 8-Bit &amp;quot;external&amp;quot;, 16-Bit &amp;quot;external&amp;quot;, Flash, evtl. noch Einzelbits). &lt;br /&gt;
*Außerdem noch Adresserweiterungen durch Mapping, Paging und Banking &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVR&#039;&#039;&#039;: &lt;br /&gt;
* 3 Speicherklassen für Datenspeicher (RAM, ROM, EEPROM).&lt;br /&gt;
* In neueren Versionen von avr-libc kommt zwar eine 4. Klasse für die Fuse-Bits hinzu, die aber nur für die Konfiguration des Controllers verwendet wird und für das C-Programm selbst nicht relevant ist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;, &#039;&#039;&#039;MSP430&#039;&#039;&#039;, &#039;&#039;&#039;R8C&#039;&#039;&#039;: nein.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC&#039;&#039;&#039;: &lt;br /&gt;
* 3 Speicherklassen für Datenspeicher (shared RAM, banked RAM, ROM).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Z8e&#039;&#039;&#039;:&lt;br /&gt;
* Für atomic execution (s.u.) notwendig, aber nicht existent.&lt;br /&gt;
* 4 Speicherklassen für Datenspeicher (256B, 4KB, 64KB, Flash).&lt;br /&gt;
&lt;br /&gt;
==Sind Daten in RAM und ROM mit dem gleichen Code benutzbar?==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;, &#039;&#039;&#039;AVR&#039;&#039;&#039;, &#039;&#039;&#039;PIC&#039;&#039;&#039;, &#039;&#039;&#039;Z8e&#039;&#039;&#039; wie generell alle [[Harvard-Architektur|Harvard-Architekturen]]: NEIN. Daten im ROM&lt;br /&gt;
erfordern anderen Zugriff als Daten im RAM. Entweder versteckt das der Compiler in Runtime-Routinen für Pointerzugriffe, oder man kann Routinen nicht so schreiben, dass sie beides als Parameter verdauen können. Bei kleinen Programmen von ein paar KB kein Problem, bei größeren jedoch schon. Bei AVR/GCC ziemlich fehlerträchtig.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC24&#039;&#039;&#039; und &#039;&#039;&#039;dsPIC&#039;&#039;&#039; können einen Teil des ROM in den RAM-Adressbereich einblenden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M16C&#039;&#039;&#039;: Hängt vom Compiler ab. Mit 16-Bit Zeigern (GCC) nicht, 20-Bit Zeiger sind ineffizient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;, &#039;&#039;&#039;MSP430&#039;&#039;&#039;, &#039;&#039;&#039;R8C&#039;&#039;&#039;, &#039;&#039;&#039;ST7&#039;&#039;&#039;, &#039;&#039;&#039;TLCS-870&#039;&#039;&#039;: [[von Neumann-Architektur]], problemlos.&lt;br /&gt;
&lt;br /&gt;
==Lineare Adressierung vom RAM?==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;, &#039;&#039;&#039;ARM&#039;&#039;&#039;, &#039;&#039;&#039;AVR&#039;&#039;&#039;, &#039;&#039;&#039;MSP430&#039;&#039;&#039;, &#039;&#039;&#039;R8C/M16C&#039;&#039;&#039;, &#039;&#039;&#039;ST7&#039;&#039;&#039;, &#039;&#039;&#039;TLCS-870&#039;&#039;&#039;, &#039;&#039;&#039;Z8e&#039;&#039;&#039;: kein Problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC&#039;&#039;&#039;: PIC18 ja, PIC16,PIC12,PIC10 nein. RAM-Puffer die größer sind als das RAM in einer Bank sind nur mit Klimmzügen möglich.&lt;br /&gt;
&lt;br /&gt;
==Skalierbarkeit==&lt;br /&gt;
&lt;br /&gt;
Vor allem für jene wichtig, die sich scheuen, für&lt;br /&gt;
verschiedene Aufgaben verschiedene Lösungen zu verwenden. &lt;br /&gt;
&lt;br /&gt;
Spezielle Versionen für LCD-Ansteuerung wurden in dieser Übersicht nicht berücksichtigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;: 8-Pin/1KB aufwärts, überwiegend 40/44-Pin und 64/68-Pin. Architekturbedingte Grenze bei 64KB Code, 64KB RAM - Versionen mit mehr Flash  nutzbar via Banking (Compiler-Support vorhanden) existieren, Versionen mit bis zu 100 MHz Taktfrequenz verfügbar.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;: 48-Pin/32KB, bis 512K mit internem Flash. Versionen mit internem Cache und externem Speicher sind praktisch beliebig weit ausbaufähig.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVR&#039;&#039;&#039;: 6-Pin/0.5KB bis 100-Pin/256KB. Architekturbedingte  Grenze bei 8MB Code, 64KB RAM. GCC/WinAVR derzeit nur bis 128KB Code möglich (in Arbeit).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MSP430&#039;&#039;&#039;: 14-Pin DIP/1KB bis 113-Pin BGA/256KB, mittlerweile auch Typen mit 4KB bis 16KB FRAM erhältlich. DIP, SOIC, TSSOP, QFN, TQFP und BGA erhältlich, in DIP und BGA jedoch nur wenige Typen verfügbar. Architekturbedingte Grenze von 64KB für Code+Daten wird in den großen Versionen durch 20-bittige Adressen umschifft. Taktfrequenz: maximal 8, 16 und 18 MHz je nach Familie. 25 MHz-Versionen in Kürze. Stromaufnahme: Rund 2 uA im LPM3 (real time clock mode) bis ca. 5 mA, typisch 200 µA pro MHz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC&#039;&#039;&#039;: 6-Pin/512B aufwärts. Im Prinzip großer Bereich, aber innerhalb der Familie deutlich verschiedene inkompatible Architekturen mit unterschiedlichen architekturbedingen Grenzen und unterschiedlichem Compiler-Support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC24&#039;&#039;&#039; und &#039;&#039;&#039;dsPIC&#039;&#039;&#039;: 18 bis 100-Pin mit 16 bis 256kB Code und bis zu 16kB RAM. Generell sind alle als TQFP und QFN erhältlich, die 18 und 28 Pin Modelle gibt es auch als SDIP und SSOP und SOIC. Es gibt Modelle mit 16 und 40MHz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ST7:&#039;&#039;&#039; 8 bis 80 Pins. SDIP, SOIC, LQFP, TQFP, QFN. 128 bis 2048 Bytes SRAM, 1 bis 60 kBytes Flash.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STM8:&#039;&#039;&#039; 20 bis 80 Pins. SDIP, SOIC, TSSOP, LQFP, QFN, UQFPN, WLCSP. 512 bis 6k Bytes SRAM, 4 bis 128 kBytes Flash, 384 bis 2k Bytes EEPROM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TLCS-870&#039;&#039;&#039;: 20pin DIP bis 267FBGA. Daneben SDIP, SOIC, SSOP und (L/T)QFP. Relativ wenige Flash-Typen. RAM: 128 Bytes bis 4kB. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Z8e&#039;&#039;&#039;: 8 bis 80 Pins. DIP, SOIC, SSOP, QFP, TQFP, QFN. Bis 64KB Flash. 256 Bytes bis 4 kBytes RAM.&lt;br /&gt;
&lt;br /&gt;
Empfehlung hier: Auch wenn teilweise mehr möglich ist, sind 8/16-Bit-Controller nur bis maximal 40-60K empfehlenswert. Darüber sollte eine 32-Bit-Architektur — z.&amp;amp;nbsp;B. mit [[ARM]]-Core — in Betracht gezogen werden. Insbesondere auch, weil große Programme zu Programm- und Datenstrukturen neigen, die sich auf 8-Bit-Prozessoren schlecht abbilden lassen.&lt;br /&gt;
&lt;br /&gt;
==Interrupt-feste (atomic) Programmierung von I/O-Ports==&lt;br /&gt;
&lt;br /&gt;
Siehe http://www.mikrocontroller.net/articles/Interrupt.&lt;br /&gt;
&lt;br /&gt;
Das ist besonders bei &#039;&#039;&#039;AVR&#039;&#039;&#039; (ausser den Typen seit 2004: ATtiny2313 usw.) ein Problem. Architekturbedingt ist nur ein Teil der Ports bitweise schaltbar, kein Port kann mehrere Bits gleichzeitig interrupt-fest schalten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC&#039;&#039;&#039;, &#039;&#039;&#039;8051&#039;&#039;&#039;, &#039;&#039;&#039;MSP430&#039;&#039;&#039;, &#039;&#039;&#039;R8C/M16C&#039;&#039;&#039;, &#039;&#039;&#039;Z8e&#039;&#039;&#039; können AND/OR/XOR zum Port hin, daher ist bei geeigneter Programmierung das Problem auch ohne Abschalten der Interrupts vermeidbar.&lt;br /&gt;
&lt;br /&gt;
Zu &#039;&#039;&#039;ARM&#039;&#039;&#039; ist dazu keine allgemeine Aussage möglich. Je nach Implementierung wird das Problem teilweise durch entsprechend gestaltete I/O-Ports gelöst, in anderen Fällen ist erhebliche Wachsamkeit geboten. Atmel SAM7 bereitet hier weniger Probleme als Philips LPC2000. Bei den  LPC2000 gibt es zwei getrennte Register, eines zum Setzen, das andere zum Löschen einzelner Pins. In einem weiteren Register können Bits ausmaskiert werden. Es gibt also kein read-modify-write. Gut gelöst für Push/Pull-Ausgänge, aber eine äquivalente Steuerung der Richtung wurde vergessen, was Open-Drain Pins erschwert. Implementierungen auf Basis des Cortex M3 oder der ARM Port-Macrocell verwenden statt dessen Adressbits zur Maskierung.&lt;br /&gt;
&lt;br /&gt;
Besonders pfiffig ist das beim &#039;&#039;&#039;Z8e&#039;&#039;&#039; gelöst. Ein Befehl fasst die nächsten 3 Befehle zu einer nicht unterbrechbaren Einheit zusammen (atomic execution). Allerdings wird das vom Zilog Compiler nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Zugriff auf I/O-Ports==&lt;br /&gt;
&lt;br /&gt;
Der &#039;&#039;&#039;8051&#039;&#039;&#039; verfügt weder über eigene Register für die Steuerung der Richtung der I/O-Ports, noch über die Möglichkeit, lesend auf den Sollzustand der Ausgänge zuzugreifen. In Assembler ist das kein Problem, da abhängig vom Befehl entweder vom Zustand der Pins (Leseoperationen) oder vom Sollzustand der Ausgänge (kombinierte Lese/Schreiboperationen) ausgegangen wird. Ein korrekt arbeitender C Compiler kann damit jedoch nicht umgehen, weshalb für die Steuerung von Port-Pins spezielle Zugriffsfunktionen und eine sehr genaue Kenntnis der Arbeitsweise der Ports erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Anmerkung zum Keil 8051-Compiler: Port-Zugriff erfolgt über Pseudo-Variablen wie bei µC üblich. Infolgedessen ist in C Code nicht ersichtlich, ob beispielsweise die Port-Variable P1 für den Zustand der Pins oder den Sollzustand der Ausgänge steht. Nur der erzeugte Assembler-Code kann hier Klarheit schaffen. So haben die beiden prinzipiell identischen Zeilen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
P1 = P1 | 0x01;&lt;br /&gt;
P1 = (P1 | 0x01) &amp;amp; ~0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
völlig unterschiedliche Auswirkung auf den Port. Der Code der ersten Zeile setzt Bit 0 und lässt alle anderen Bits unverändert. Der von der zweiten Zeile erzeugte Code setzt zusätzlich auch alle vorher als Eingang definierten Pins im Zustand 0 auf Ausgang mit Zustand 0. Das ist weder hilfreich, noch mit der Sprachdefinition von C vereinbar.&lt;br /&gt;
&lt;br /&gt;
Auch manche Modelle der &#039;&#039;&#039;PIC&#039;&#039;&#039;-Familie können nur auf den Zustand der Pins zugreifen, nicht auf den Sollzustand der Ausgänge.&lt;br /&gt;
&lt;br /&gt;
In beiden Fällen ist folglich bei Ports, die sowohl für Aus- als auch für Eingänge benutzt werden, besondere Sorgfalt nötig.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;, &#039;&#039;&#039;AVR&#039;&#039;&#039;, &#039;&#039;&#039;MSP430&#039;&#039;&#039;, &#039;&#039;&#039;Z8e&#039;&#039;&#039; und neuere Modelle der &#039;&#039;&#039;PIC&#039;&#039;&#039;-Familie besitzen diese Probleme nicht.&lt;br /&gt;
&lt;br /&gt;
==Priorisierte Interrupts==&lt;br /&gt;
&lt;br /&gt;
Unter priorisierten Interrupts versteht man die Fähigkeit, den einzelnen Interrupt-Quellen eine Priorität zuweisen zu können um ohne Reprogrammierung der Interrupt-Quellen einen laufenden Interrupt ausschliesslich durch Interrupts höherer Priorität unterbrechbar machen zu können. Die bei separaten Vektoren selbstverständliche Fähigkeit, anstehende Interrupts nach fester Priorität zu sortieren, ist damit nicht gemeint.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;: Ja.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;: Der ARM7/9-Core unterstützt 2 Prioritäten mit entsprechenden Vektoren. Oft ist jedoch ein separater priorisierter und vektorisierter Interrupt-Controller mit integriert (Atmel, NXP, Cortex ja, Analog Devices nein). Interrupt-Nesting ist dank eines Designfehlers etwas umständlich.&lt;br /&gt;
&lt;br /&gt;
ARMv7 aka Cortex-M3: Ein priorisierender Interrupt Controller ist Teil des Cores und Nesting ist problemlos möglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVR:&#039;&#039;&#039; Nein, aber separate Vektoren für die einzelnen Interrupt-Quellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Anmerkung: Eine weniger wichtiger Interrupt Handler kann oft sofort nach Ansprung ein SEI ausführen, damit ein möglicherweise wichtigerer Interrupt Handler aufgerufen werden kann, weil bei den meisten Interrupts der Request bereits mit dem Aufruf des Handlers automatisch zurück gesetzt wird. Das trifft aber beispielsweise nicht beim TWI zu.&lt;br /&gt;
Xmegas haben ein Event-System....&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MSP430:&#039;&#039;&#039; Nein, aber separate Vektoren für die einzelnen Interrupt-Quellen. Keine Priorisierung im Sinne der Präambel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC12 &amp;amp; PIC16:&#039;&#039;&#039; Nein, nur ein Interruptvektor.  Einfache PIC12 (12F508/509, 16F505) kennen gar keine Interrupts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC18:&#039;&#039;&#039; Jeder Interruptquelle kann separat eine niedrige oder hohe Priorität zugewiesen werden, die dann auf zwei Interruptvektoren verzweigen. Welche Quelle den Interrupt ausgelöst hat, muss aber immer noch händisch festgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC17:&#039;&#039;&#039; Vier Interruptvektoren mit unterschiedlicher Priorität. Scheint es allerdings nur als OTP zu geben, deswegen wohl eher uninteressant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC24&#039;&#039;&#039; und &#039;&#039;&#039;dsPIC&#039;&#039;&#039; haben 7 Prioritäten und für jeden Interrupt einen eigenen Interruptvektor.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R8C/M16C&#039;&#039;&#039;: 7 Prioritäten, vektorisiert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ST7&#039;&#039;&#039;: Nein. 16 Vektoren mit fixer (absteigender) Priorität.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Z8e&#039;&#039;&#039;: 3 Prioritäten, vektorisiert.&lt;br /&gt;
&lt;br /&gt;
== Spannungsversorgung ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;, &#039;&#039;&#039;AVR&#039;&#039;&#039;, &#039;&#039;&#039;PIC&#039;&#039;&#039;: Modellabhängig 2-5V problemlos, ältere ab 3V. PICs für 2-4V sind schlecht verfügbar. Ungeregelter Batteriebetrieb möglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;: 3,3V-Versorgung, je nach Modell mehr oder weniger 5V-kompatibel. Einige (vor allem ältere) Modelle benötigen eine separate 1,8V-Versorgung für den Core. Kein ungeregelter Batteriebetrieb möglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC24&#039;&#039;&#039; und &#039;&#039;&#039;dsPIC33&#039;&#039;&#039;: 2-3,6V. Pins die keine analogen Funktionen übernehmen können sind 5V tolerant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MSP430&#039;&#039;&#039;: nur 1.8-3.6V. Nicht 5V-kompatibel, 5V-Peripherie für I2C/RS485/CAN/... ist also nur mit Pegelkonvertierung einsetzbar. Ungeregelter Batteriebetrieb möglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ST7&#039;&#039;&#039;: 2,4-5,5V&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STM8&#039;&#039;&#039;: 3 - 5,5V&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TLCS-870&#039;&#039;&#039;: 2,7-5,5V. Serie 870/C 1,8-5,5V.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Z8e&#039;&#039;&#039;: 1,8-3,6V, I/Os 5V-tolerant.&lt;br /&gt;
&lt;br /&gt;
==Programmierung in der Schaltung==&lt;br /&gt;
&lt;br /&gt;
Geräte mit Debugging-Interface (s.U.) lassen sich i.d.R. auch damit programmieren. Siehe dazu nächsten Abschnitt.&lt;br /&gt;
&lt;br /&gt;
Die meisten Controller können sich selbst programmieren, Bootloader per RS232,CAN,usw sind dann problemlos realisierbar. Nur müssen solche Bootloader erst einmal auf den Chip programmiert werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;: Verschieden, je nach Hersteller und Modell. Im Unterschied zu den anderen hier betrachtete Controllern existieren viele nicht in der Schaltung, sondern nur mit speziellen Interfaces programmierbare 8051 Modelle. Modelle mit seriellem Bootloader via UART, SPI, CAN oder USB existieren.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;: Am besten über JTAG, je nach Hersteller und Familie auch mit Bootloader, z.&amp;amp;nbsp;B. bei Philips LPC2000 über RS232 und Atmel SAM7 über USB (bei letzterem sehr unbequem und langsam!).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVR&#039;&#039;&#039;: Über ein SPI-Interface. Ist via Parallelport günstig herzustellen; der Adapter ist im besten Fall genau 5 Widerstände teuer, professioneller mit einem [[Ausgangsstufen_Logik-ICs#Tri-state|Tri-State]]-Bustreiber etwa 5-15 EUR. Darüberhinaus auch mit HV-Programmer (z.&amp;amp;nbsp;B. auf dem [[STK500]]), der u.U. auch nötig ist um falsch gesetzte Fuses wieder zu &amp;quot;reparieren&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MSP430&#039;&#039;&#039;: Via JTAG-Interface, TI &amp;quot;Spy BiWire&amp;quot; und über integrierten  Bootloader. (Schaltung zur Ansteuerung via RS232 im Datenblatt)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC&#039;&#039;&#039;: Entweder über die serielle ICSP-Schnittstelle (dafür gibt es Baupläne für billige ParPort-Programmer incl. guter Software) oder mit dem InCircuit-Debugger (~150&amp;amp;#8364;, ICD2 von Microchip). Bootloader müssen generell vorher mit einer der vorher genannten Möglichkeiten auf den Chip geflasht werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R8C&#039;&#039;&#039;: Via UART (RS-232 oder USB-RS-232 Konverter) mit Flash-Tool (Windows, Linux). Variante über Bootloader ebenfalls möglich (wird vom Software Emulator-Debugger benutzt).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ST7&#039;&#039;&#039;: Via ein mit der Schaltung (mittels mindestens 4poligen Kabels) kommunizieredes Debug-Interface. Offenes ST-Protokoll &amp;quot;ICC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TLCS-870&#039;&#039;&#039;: Flash-Typen besitzen maskenprogrammierten Bootloader.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Z8e&#039;&#039;&#039;: Via Zilogs Debug-Interface &amp;quot;Smart Cable&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Debugging in der Schaltung==&lt;br /&gt;
&lt;br /&gt;
Ist beispielsweise ein günstiges [[JTAG]]-Interface für In-Circuit&lt;br /&gt;
Debugging verfügbar?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;: Derivate mit JTAG verfügbar. ICEen gebraucht erschwinglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;: alle mit JTAG.&lt;br /&gt;
* Günstiges Parallel-Port-Interface verfügbar und einfach zu bauen (Wiggler), aber langsam und problematisch im Betrieb unter WinNT+ (besser: ocdremote unter Win9x auf Zweitrechner, via LAN). Kostenlose Debugger ([[GDB]]) unterstützen seit OCDremote 2.14 mit Einschränkungen auch Programme im Flash. &lt;br /&gt;
* Schnelles JTAG Interface basierend auf FT2232C für [[GDB]]/OpenOCD günstig und einfach zu bauen (http://www.fh-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html) oder fertig erhältlich (http://www.amontec.com/jtagkey.shtml).&lt;br /&gt;
* Kommerzielle Debugger per USB sind besser und schneller, aber recht teuer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVR&#039;&#039;&#039;: für ATmega16/162/32/128 ist JTAG günstig verfügbar&lt;br /&gt;
(Olimex, Erostech) bzw. einfach zu bauen (Evertool). ATmegas ab 2005/2006 mit JTAG sind zu dieser Billigvariante inkompatibel. Für diese und den [[debugWIRE]] der ATtinys und ATmegaX8 existiert das JTAG ICE mkII von Atmel, aber recht teuer, sowie der preiswerte AVR Dragon.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MSP430&#039;&#039;&#039;: alle mit JTAG, Adapter sehr günstig/einfach zu bauen. Neuere Geräte mit Spy-by-Wire (braucht weniger Pins als JTAG).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC&#039;&#039;&#039;: Entweder Microchips MPLAB ICD2 (&amp;amp;#8364;150-200) oder ein kompatibler Nachbau, wie z.&amp;amp;nbsp;B. http://www.stolz.de.be/. Alternativ das PICKit 2 für ~40€, dass neben dem Programmieren und Debuggen über USB auch noch als RS232-Brücke und einfacher Logic-Analyzer benutzt werden kann. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R8C&#039;&#039;&#039;: On-Chip Debugging ist mit dem E8 Hardware On-Chip Debugging Emulator möglich (kein JTAG). Ausserdem ist Debugging auch über einen normalen RS232 Anschluss möglich. Der E8 verwendet ein syncrones serielles Protokoll, die RS232 ein asyncrones. Daher ermöglicht der E8 das Debugging bei jeder beliebigen Taktfrequenz, bei RS232 gibt es da Einschränkungen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ST7&#039;&#039;&#039;: Via ein mit der Schaltung (mittels mindestens 4poligen Kabels) kommunizieredes Debug-Interface. Offenes ST-Protokoll &amp;quot;ICC&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Z8e&#039;&#039;&#039;: Debugging möglich mit &amp;quot;Smart Cable&amp;quot; (kein JTAG), Anschluss über USB oder seriell Schnittstelle&lt;br /&gt;
&lt;br /&gt;
==Starterkits==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051&#039;&#039;&#039;: Keil MCBx51 http://www.keil.com/mcbx51 (z.&amp;amp;nbsp;B. für ~240&amp;amp;#8364; von [http://de.mouser.com/Search/Refine.aspx?Keyword=830-MCBX51 mouser.com])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;: http://www.olimex.com (z.T. hier im Shop erhältlich), http://www.embeddedartists.com,&lt;br /&gt;
http://www.mct.de&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVR&#039;&#039;&#039;: [[STK200]], [[STK500]], [[AVR_Butterfly]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MSP430&#039;&#039;&#039;: http://www.olimex.com (z.T. hier im Shop erhältlich), ez430 (http://www.ti.com/ez430)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PIC&#039;&#039;&#039;: http://www.microchipdirect.com/ , Velleman-Kit K8048 (www.velleman.be) , http://www.mikroe.com/eng/categories/view/6/pic-development-tools/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R8C&#039;&#039;&#039;: Mehrere (Google Suche). Am weitesten verbreitet ist vielleicht das R8C/13 Starterkit inkl. Entwickler-CD von Glyn/Elektor (Beilage Elektor 12/2005 (ausverkauft) bzw. diverse Drittanbieter). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STM8:&#039;&#039;&#039; [[STM8S-Discovery]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Z8e&#039;&#039;&#039;: Günstig verfügbar [~50&amp;amp;#8364;], teils hier im Shop, komplett inklusive unbeschränktem Compiler und In-System-Debugging. Nachteile: für jede Prozessorklasse ein eigenes Kit; eingelöteter SMD-Chip obwohl viele Typen auch im DIL-Gehäuse existieren.&lt;br /&gt;
&lt;br /&gt;
==Gehäuse==&lt;br /&gt;
&lt;br /&gt;
Mit DIP oder PLCC bastelt es sich leichter als mit *QFP. Die Domäne von&lt;br /&gt;
AVR/PIC/i51. Für MSP430 gibt es günstige fertig bestückte DIP-Adapter hier im Shop (MSP430x2xx gibt es auch in 14-Pin DIP-Gehäuse). Z8e-Chips existieren ebenfalls in DIP, sind aber schlechter verfügbar.&lt;br /&gt;
&lt;br /&gt;
==Beschaltungsaufwand==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8051, AVR, PIC, MSP430, R8C, ST7, Z8e&#039;&#039;&#039;: gering, i.d.R. sind Versionen mit integriertem Oszillator verfügbar, so dass man praktisch nur die Versorgungsspannung (nebst Abblockkondensator) braucht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ARM&#039;&#039;&#039;: aufwendigere externe Takt- und Spannungserzeugung, manchmal 2 Betriebsspannungen benötigt; Tendenz aber fallend.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-1-185133.html#new Forum]&lt;br /&gt;
* [[8051]]&lt;br /&gt;
* [[ARM]]&lt;br /&gt;
* [[AVR]]&lt;br /&gt;
* [[MSP430]]&lt;br /&gt;
* [[PIC]]&lt;br /&gt;
* [[R8C]]&lt;br /&gt;
* [[ST7]]&lt;br /&gt;
* [[STM8]]&lt;br /&gt;
* [[Z8]]&lt;br /&gt;
* [[Z8_encore!]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikrocontroller| ]]&lt;/div&gt;</summary>
		<author><name>46.223.74.46</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Widerstand&amp;diff=57166</id>
		<title>Widerstand</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Widerstand&amp;diff=57166"/>
		<updated>2011-05-15T15:43:41Z</updated>

		<summary type="html">&lt;p&gt;46.223.74.46: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter einem Widerstand versteht man ein passives Bauteil, an dem sobald es vom Strom durchflossen wird eine Spannung abfällt. &lt;br /&gt;
Der Quotient aus Spannung und Strom wird dabei als der (ohmsche) Widerstand bezeichnet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R=\frac{U}{I}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Einheit für den Widerstand ist Ohm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;[R] = \mathrm{\Omega = \frac{V}{A}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reihenschaltung ==&lt;br /&gt;
&lt;br /&gt;
Für eine Reihenschaltung von n Widerständen gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{\mathrm{ges}}=R_1+R_2+\dots+R_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{\mathrm{ges}}=U_1+U_2+\dots+U_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;I_{\mathrm{ges}}=I_1=I_2=\dots=I_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Spannungsteiler ===&lt;br /&gt;
&lt;br /&gt;
Ein Spezialfall der Reihenschaltung ist der Spannungsteiler. Bei einem Spannungsteiler schaltet man üblicherweise zwei Widerstände in Reihe und greift die geteilte Spannung in der Mitte ab. Es folgt eine grobe Übersicht; eine ausführlichere Darstellung gibt es im Extraartikel [[Spannungsteiler]].&lt;br /&gt;
&lt;br /&gt;
Nehmen wir also einen Spannungsteiler mit zwei Widerständen R1 und R2 an. Wie oben dargestellt, fliesst bei einer Reihenschaltung durch alle Widerstände der gleiche Strom&lt;br /&gt;
&amp;lt;math&amp;gt;I = \frac{U}{R_{ges}} = \frac{U}{R_1 + R_2}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Entsprechend lautet der Spannungsabfall am unteren Widerstand&lt;br /&gt;
&amp;lt;math&amp;gt;U_1 = R_1 \cdot I = U \cdot \frac{R_1}{R_1 + R_2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will man nun ein gewisses Teilverhältnis &amp;lt;math&amp;gt;\frac{U_1}{U}&amp;lt;/math&amp;gt; erreichen, so muss man folglich &amp;lt;math&amp;gt;\frac{R_1}{R_1 + R_2}&amp;lt;/math&amp;gt; entsprechend wählen, denn es gilt:&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{U_1}{U} = \frac{R_1}{R_1 + R_2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies stellt die eigentliche Herausforderung dar, denn zu einem vorgegebenem Spannungs-Verhältnis geeignete Widerstandspaare zu finden, erfordert ohne die Hilfe des Computers manchmal entweder ein &amp;quot;glückliches Händchen&amp;quot; oder die E96-Reihe! &lt;br /&gt;
&lt;br /&gt;
Es gibt auch verschiedene Tools, um die Berechnung der Widerstandskombinationen etwas zu vereinfachen, siehe [[Widerstand#Siehe auch | Abschnitt &amp;quot;Siehe auch&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
== Parallelschaltung ==&lt;br /&gt;
&lt;br /&gt;
Für eine Parallelschaltung von n Widerständen gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{1}{R_{\mathrm{ges}}}=\frac{1}{R_1}+\frac{1}{R_2}+\dots+\frac{1}{R_n}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{\mathrm{ges}}=U_1=U_2=\dots=U_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;I_{\mathrm{ges}}=I_1+I_2+\dots+I_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Potentiometer]]&lt;br /&gt;
* [[Wellenwiderstand]]&lt;br /&gt;
* [[E24-Teiler]]&lt;br /&gt;
* [[E48-Teiler]]&lt;br /&gt;
* [[E96-Teiler]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.cl-projects.de/projects/tools/resmatch.phtml Widerstandsberechnung] -Onlinerechner von cl-projects.de&lt;br /&gt;
* [http://www.dk8pp.de/downloads/index.html ParSer] Umfangreiches Programm zur Berechung verschiedener Anordungen von bis zu drei Widerständen oder Kondensatoren&lt;br /&gt;
* [http://www.ibrtses.com/products/index.html resistor divider] (Shareware)&lt;br /&gt;
* [http://www.gjlay.de/helferlein/spannungsteiler.html Online-Rechner zur Berechnung von Spannungsteilern] aus E&amp;lt;sub&amp;gt;12&amp;lt;/sub&amp;gt;- bzw. E&amp;lt;sub&amp;gt;24&amp;lt;/sub&amp;gt;-Widerständen (JavaScript)&lt;br /&gt;
* [http://www.qsl.net/in3otd/parallr.html# Resistor calculator], für krumme Widerstandswerte aus Normwerten (E12/E24/E96)&lt;br /&gt;
* [http://www.brothersoft.com/rval-79581.html RVal], Tool zur Berechnung krummer Widerstandswerte vom E6-E192.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>46.223.74.46</name></author>
	</entry>
</feed>