<?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=172.26.36.196</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=172.26.36.196"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/172.26.36.196"/>
	<updated>2026-04-11T09:18:38Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Minila_Version_MockUp&amp;diff=104998</id>
		<title>Minila Version MockUp</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Minila_Version_MockUp&amp;diff=104998"/>
		<updated>2022-02-14T14:34:01Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: /* Layout */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;u&amp;gt;Bilder der Platine&amp;lt;/u&amp;gt; ==&lt;br /&gt;
=== &amp;lt;u&amp;gt;Gerenderte Platine&amp;lt;/u&amp;gt; ===&lt;br /&gt;
[[Bild:MockUpMiniLALayoutTop.jpg|400px]]&lt;br /&gt;
[[Bild:MockUpMiniLALayoutBottom.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Platine der Sammelbestellung bestückt&amp;lt;/u&amp;gt; ===&lt;br /&gt;
[[Bild:MockUpMiniLALayoutTopPrototyp.jpg|400px]]&lt;br /&gt;
[[Bild:MockUpMiniLALayoutBottomPrototyp.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;u&amp;gt;Informationen über den MiniLA&amp;lt;/u&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;CPLD&amp;lt;/u&amp;gt; ===&lt;br /&gt;
* wird der XC95288XL bleiben, da dies nur eine Veränderung und keine Neuentwicklung wird&lt;br /&gt;
* einige Signale werden an anderen Pins angeschlossen und verteilt&lt;br /&gt;
* TQFP144&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;RAM-Speicher&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&amp;lt;u&amp;gt;512K*32:&amp;lt;/u&amp;gt;&lt;br /&gt;
* 512K*32 Kanäle&lt;br /&gt;
* TQFP100 0,65mm Pinabstand&lt;br /&gt;
* GS816036 &lt;br /&gt;
* [http://de.farnell.com/gsi-technology/gs816032bgt-200/18m-synch-burst-sram-512kx32-smd/dp/1447526 Optional GS816032]&lt;br /&gt;
* [http://www.cypress.com/?mpn=CY7C1381D-133AXC  Optional CY7C1381D-133AX]&lt;br /&gt;
* wird in der Sammelbestellung verwendet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;1M*32:&amp;lt;/u&amp;gt;&lt;br /&gt;
* 1M*32 Kanäle&lt;br /&gt;
* TQFP100 0,65mm Pinabstand&lt;br /&gt;
* CY7C1441AV33-133AXC/CY7C1441AV33-133AXI&lt;br /&gt;
* 60eur/stk&lt;br /&gt;
* dazu muss eine Brücke zwischen TP1 am CPLD und TP2 am SRAM eingelötet werden&lt;br /&gt;
[[Bild:MockUpMiniLALayout1MBitRAM.png|200px]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;USB&amp;lt;/u&amp;gt; ===&lt;br /&gt;
Der FTDI FT2232D wird immer im Bus Powered Modus betrieben und über USB versorgt.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Spannungsversorgung&amp;lt;/u&amp;gt; ===&lt;br /&gt;
* 3,3V, Versorgung über externe 5V bis 16V oder über den DCDC USB powered (Regler wird über den FTDI An/Aus geschaltet)&lt;br /&gt;
* 5V über DCDC (galvanisch getrennt) mit Spannungsregler dahinter oder DCDC überbrückt direkt über USB&lt;br /&gt;
&lt;br /&gt;
Dadurch kann der MiniLA mit einem Y-Kabel USB versorgt werden oder über ein externes Netzteil.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Galvanische Trennung&amp;lt;/u&amp;gt; ===&lt;br /&gt;
Als Zusatzoption über den ADUM4160, einem DCDC-Wandler und einem zusätzlichem Spannungsregler.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Steckverbinder&amp;lt;/u&amp;gt; ===&lt;br /&gt;
* Steckerbelegung bleibt beim alten&lt;br /&gt;
* X1-7 wird entfernt, da eh wenig Platz im CPLD ist&lt;br /&gt;
* X8 bleibt erhalten&lt;br /&gt;
* K8 wird dann auch komplett entfernt, da nicht mehr benötigt (alle Signale sind auch an K1 verfügbar)&lt;br /&gt;
* Serienwiderstände in den Datenleitungen wie gehabt&lt;br /&gt;
* Tastköpfe extern wie gehabt (siehe auch: Platinen)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;JTAG&amp;lt;/u&amp;gt; ===&lt;br /&gt;
* JTAG-Signale liegen an einer 14pol (2mm pitch) Xilinx JTAG Buchse.&lt;br /&gt;
* Programmierung über FTDI und &amp;quot;xc3sprog&amp;quot; http://www.mikrocontroller.net/articles/MiniLA#via_USB&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Parallel Port&amp;lt;/u&amp;gt; ===&lt;br /&gt;
* nicht vorgesehen&lt;br /&gt;
* Signale liegen an einem MicroMatch Steckverbinder an (entfernt bei der PCB V3.0)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;LEDs&amp;lt;/u&amp;gt; ===&lt;br /&gt;
Je nach Wunsch in RGB SMD oder als 5mm LED&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Gehäuse&amp;lt;/u&amp;gt; ===&lt;br /&gt;
Passende Gehäusen:&lt;br /&gt;
* Hammond 1455L1602 (Mouser, RS, Conrad usw.)&lt;br /&gt;
* Fischer AKG 105 30 160 (RS, DK, Conrad usw.)&lt;br /&gt;
* Fischer AKG 105 34 160 (RS, DK, Conrad usw.)&lt;br /&gt;
* RFS RF-1599 (rfsupplier.com)&lt;br /&gt;
&lt;br /&gt;
Auch 3,5&amp;quot; USB/eSATA Festplatten-Geh​äuse sind bestens geeignet.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;u&amp;gt;Schaltplan und Layout&amp;lt;/u&amp;gt; ==&lt;br /&gt;
=== &amp;lt;u&amp;gt;Schaltplan&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&#039;&#039;&#039;Seite 1 &amp;amp; 2&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:MockUpMiniLASchaltplanSheet1.png|350px]]&lt;br /&gt;
[[Bild:MockUpMiniLASchaltplanSheet2.png|350px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seite 3 &amp;amp; 4&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:MockUpMiniLASchaltplanSheet3.png|350px]]&lt;br /&gt;
[[Bild:MockUpMiniLASchaltplanSheet4.png|350px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seite 5 &amp;amp; 6&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:MockUpMiniLASchaltplanSheet5.png|350px]]&lt;br /&gt;
[[Bild:MockUpMiniLASchaltplanSheet6.png|350px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seite 7&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:MockUpMiniLASchaltplanSheet7.png|350px]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Layout&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&#039;&#039;&#039; Platine Mini-LA &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:MockUpMiniLALayoutEagleTop.png.png|350px]]&lt;br /&gt;
[[Bild:MockUpMiniLALayoutEagleBottom.png|350px]]&lt;br /&gt;
* 2-lagig&lt;br /&gt;
* über den 5mm LEDs sind die SMD0805 LEDs angeordnet&lt;br /&gt;
* [[Datei:MiniLAVersionMockUpV1_05a.zip]] beinhaltet die aktuelle Version 3.0&lt;br /&gt;
* [[Datei:MiniLAVersionMockUpTeileliste.zip]]&lt;br /&gt;
&#039;&#039;&#039; &amp;lt;u&amp;gt;Platine Tastköpfe&amp;lt;/u&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
* Siehe [[MiniLA#Tastköpfe|Tastköpfe]]&lt;br /&gt;
* Sind über Wigbert zu beziehen. Er hat noch Tastköpfe von der ersten Sammelbestellung.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Steckverbinder auf der Platine&amp;lt;/u&amp;gt; ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Steckverbinder&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || nicht gesteckt || gesteckt 1-2 || gesteckt 2-3&lt;br /&gt;
|-&lt;br /&gt;
| JP2  || - || Normal Modus || JTAG-Programmierung über FTDI&lt;br /&gt;
|-&lt;br /&gt;
| JP3  || - || Normal Modus || JTAG-Programmierung über FTDI&lt;br /&gt;
|-&lt;br /&gt;
| JP4  || - || Normal Modus || JTAG-Programmierung über FTDI&lt;br /&gt;
|-&lt;br /&gt;
| JP5  || - || Normal Modus || JTAG-Programmierung über FTDI&lt;br /&gt;
|-&lt;br /&gt;
| JP6  || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| JP7  || Platine &amp;quot;AUS&amp;quot; || Platine &amp;quot;AN&amp;quot; || -&lt;br /&gt;
|-&lt;br /&gt;
| JP9  || - || externe Versorgung || USB Versorgung&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 JP6 - Spannungsversorgung für einen Externen Programmieradapter (&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;nicht Brücken!&#039;&#039;&#039;&amp;lt;/span&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;u&amp;gt;Erste Inbetriebnahme&amp;lt;/u&amp;gt; ==&lt;br /&gt;
* 1. Platine liegt unangeschlossen (ohne USB und externe Versorgung) vor euch&lt;br /&gt;
* 2. Jumper JP7 stecken (USB-Interface wird mit Strom versorgt)&lt;br /&gt;
* 3. Jumper JP9 nicht stecken (CPLD wird erstmal nicht mit Strom versorgt, der Sicherheit halber)&lt;br /&gt;
* 4. USB-Kabel anschließen, LED7 sollte AN und LED8 Aus sein, FTDI sollte sich am PC anmelden&lt;br /&gt;
* 4.1 Wenn er nicht erkannt wird, Spannung über C45 ~9V, Spannung über C46 5V, Alles um IC4, IC5 und IC6 prüfen&lt;br /&gt;
* 5. [http://www.mikrocontroller.net/articles/Minila_Version_MockUp#FTDI FTDI-Treiber installieren]&lt;br /&gt;
* 6. [http://www.mikrocontroller.net/articles/Minila_Version_MockUp#LibUSB LibUSB installieren]&lt;br /&gt;
* 7. MiniLA vom PC trennen&lt;br /&gt;
* 8. [http://www.mikrocontroller.net/articles/Minila_Version_MockUp#Steckverbinder_auf_der_Platine JP9 nach Wahl stecken] &lt;br /&gt;
* 9. [http://www.mikrocontroller.net/articles/Minila_Version_MockUp#Steckverbinder_auf_der_Platine JP2-JP5] auf 2-3 stecken (wenn der USB-Stecker links, dann sind das die unteren Kontakte&lt;br /&gt;
*10. [http://www.mikrocontroller.net/articles/Minila_Version_MockUp#Firmware schon mal alles vorbereiten, in den Ordner wechseln, alles eintippen]&lt;br /&gt;
*11. eventuell externe Versorgung und USB-Kabel anstecken, LED8 sollte nun auch leuchten&lt;br /&gt;
*12. Enter drücken, CPLD sollte programmiert werden.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Der Spannungsregler für die 3,3V wird erst eingeschaltet wenn die USB-Verbindung steht und Windows den FTDI erkannt hat. LED8 leuchtet dann auch.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;u&amp;gt;Programmierung&amp;lt;/u&amp;gt; ==&lt;br /&gt;
[[Image:MiniLAVersionMockUpFTPROG1.png|thumb|150px|right|Programmierung des FTDIs, Bild1]][[Image:MiniLAVersionMockUpFTPROG2.png|thumb|150px|right|Programmierung des FTDIs, Bild2]]&lt;br /&gt;
=== &amp;lt;u&amp;gt;FTDI&amp;lt;/u&amp;gt; ===&lt;br /&gt;
Zum Programmieren werden die [http://www.ftdichip.com/Drivers/D2XX.htm FTDI-Treiber für D2XX] und das Programm [http://www.ftdichip.com/Support/Utilities.htm FT_PROG] benötigt.&lt;br /&gt;
&lt;br /&gt;
*1. MiniLA über ein USB Kabel an den PC anschließen und die heruntergeladenen FTDI-Treiber Installieren&lt;br /&gt;
*2. Das Programm FT_PROG starten&lt;br /&gt;
*3. Im Programm auf &amp;quot;Scan and Parse&amp;quot; drücken (1)(Bild1)&lt;br /&gt;
*4. rechte Maustaste auf den erkannten FTDI, &amp;quot;Aply Template&amp;quot; und &amp;quot;From File&amp;quot; [http://www.mikrocontroller.net/attachment/95887/MiniLA.xml diese Datei] auswählen (2)(Bild1)&lt;br /&gt;
*5. Im Programm auf &amp;quot;Program Devices&amp;quot; drücken (3)(Bild1), ein neues Fenster öffnet sich (Bild2)&lt;br /&gt;
*6. Haken setzen (4)(Bild2)&lt;br /&gt;
*7. Auf &amp;quot;Program&amp;quot; drücken (5)(Bild2)&lt;br /&gt;
*8. MiniLA abstecken und wieder anklemmen&lt;br /&gt;
*9. Fertig&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Firmware&amp;lt;/u&amp;gt; ===&lt;br /&gt;
[[Image:MiniLAVersionMockUpxc3prog.png|thumb|150px|right|Programmierung des CPLDs]]&lt;br /&gt;
Zum Programmieren wird [http://sourceforge.net/projects/xc3sprog/ xc3sprog] benötigt. [http://www.mikrocontroller.net/attachment/96598/xc3sprog.exe Hier eine angepasste Version (Mit der anderen gab es Probleme beim CPLD löschen).] &lt;br /&gt;
&lt;br /&gt;
*1. Auf dem MiniLA die Jumper JP2-JP5 in die Stellung [http://www.mikrocontroller.net/articles/Minila_Version_MockUp#Steckverbinder_auf_der_Platine 2-3] umstecken und den MiniLA anschließen. &lt;br /&gt;
*2. Kommandozeile öffnen&lt;br /&gt;
*3. In den Ordner wechseln, in der xc3prog und die jed-Datei liegt. (Die jed-Datei aus dem Archiv &amp;quot;Timeanalysis&amp;quot; bzw. &amp;quot;Stateanalysis&amp;quot; - siehe weiter unten - extrahieren. Sie ist im Ordner xilinx zu finden.)&lt;br /&gt;
*4. &amp;quot;xc3sprog -c ftdi -v miniLA.jed&amp;quot; eingeben und Enter drücken.&lt;br /&gt;
*5. Der FTDI sollte programmiert werden, ähnlich dem nebenstehendem Bild.&amp;lt;br&amp;gt;Falls das nicht klappt, wird eine Punktezeile anstelle der hochlaufenden Zahl für &amp;quot;Programming Sector&amp;quot;&amp;lt;br&amp;gt;ausgegeben, dann den Parameter -J 1000000 hinzufügen: &amp;quot;xc3sprog -c ftdi -J 1000000 -v miniLA.jed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Hilfreiche Befehle&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &amp;quot;xc3sprog -c ftdi -v -j&amp;quot; - Erkennung des CPLDs&lt;br /&gt;
* &amp;quot;xc3sprog -c ftdi -v -e&amp;quot; - Löschen des CPLDs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Die Firmware ist nur lauffähig mit der Version des MockUp MiniLAs und es sollte auch keine der originalen Firmwares verwendet werden, weil diese nicht kompatibel sind mit der neuen Hardware!!!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/c/c0/MiniLAVersionMockUpFirmwareLEDTest.zip LED-Test] (Blinkfrequenz: ~6,0Hz, ~1,5Hz, ~0,4Hz)&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/f/f5/Fw_timeanalysis_v1.8_for_MockUp_miniLA.zip Timeanalysis v1.8]&lt;br /&gt;
* [https://www.mikrocontroller.net/wikifiles/9/96/Communication_protocol_fw_time_1.7.pdf Beschreibung Timeanalysis V1.7]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/2/27/Fw_stateanalysis_v2.3_for_MockUp_miniLA.zip Stateanalysis v2.3]&lt;br /&gt;
* [https://www.mikrocontroller.net/wikifiles/a/a7/Communication_protocol_fw_state_2.2.pdf Beschreibung Stateanalysis V2.2]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;LED-Bedeutungen&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! || LED1 || LED3 || LED5&lt;br /&gt;
|-&lt;br /&gt;
| nach dem Einschalten&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X || ||&lt;br /&gt;
|-&lt;br /&gt;
| Idle&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X || ||&lt;br /&gt;
|-&lt;br /&gt;
| Pre-Trigger&lt;br /&gt;
|| &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X || &lt;br /&gt;
|-&lt;br /&gt;
| Wait for Trigger || || &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| Trigger || || &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| Post-Trigger|| &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X ||&lt;br /&gt;
|-&lt;br /&gt;
| Transfer zum PC&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | X&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;u&amp;gt;Software&amp;lt;/u&amp;gt; ==&lt;br /&gt;
=== &amp;lt;u&amp;gt;Minila Windows EXE&amp;lt;/u&amp;gt; ===&lt;br /&gt;
*Minila Windows EXE Vers 0.6.4 für 256k und 512k Sample Speicher gibts hier:&amp;lt;br&amp;gt;http://www.mikrocontroller.net/attachment/97534/minila.zip&lt;br /&gt;
*Minila Windows EXE und Source Vers 0.6.5 für 256k und 512k Sample Speicher gibts hier&amp;lt;br&amp;gt;http://www.mikrocontroller.net/topic/174860#2295596&lt;br /&gt;
*Minila Windows EXE Vers 0.6.6 für 256k / 512k /1024k Sample Speicher gibts hier&amp;lt;br&amp;gt;http://www.mikrocontroller.net/topic/174860#3022123&lt;br /&gt;
*Programmbibliothek, welche für die Nutzung der Software benötigt wird:&amp;lt;br&amp;gt;http://www.mikrocontroller.net/articles/Datei:Inpout32.zip&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Minila Windows EXE unter Linux mit Wine&amp;lt;/u&amp;gt; ===&lt;br /&gt;
*verwendet wurde ein Debian 9 Stretch&lt;br /&gt;
&lt;br /&gt;
*download libftd2xx driver&amp;lt;br&amp;gt;http://www.ftdichip.com/Drivers/D2XX.htm (Linux x86/32bit)&lt;br /&gt;
*download replacement libftd2xx winelib&amp;lt;br&amp;gt;http://coolla.kleinefreiheit.org/winelib.html&lt;br /&gt;
&lt;br /&gt;
*root werden&lt;br /&gt;
*aptitude install wine&lt;br /&gt;
*dpkg --add-architecture i386 &amp;amp;&amp;amp; apt-get update (eventuell nicht nötig)&lt;br /&gt;
*aptitude install wine32 (i386/32bit-Version)&lt;br /&gt;
*aptitude install libftdi1	(i386/32bit-Version)&lt;br /&gt;
&lt;br /&gt;
*Entpacken des libftd2xx Driver Paketes&lt;br /&gt;
*Kopieren der Driverlib&amp;lt;br&amp;gt;cp ./release/build/libftd2xx.so.1.4.8 /usr/local/lib&lt;br /&gt;
*Verlinken in den Standardpfad für lib&amp;lt;br&amp;gt;ln -s /usr/local/lib/libftd2xx.so.1.4.8 /usr/lib/libftd2xx.so.0&lt;br /&gt;
&lt;br /&gt;
*Entpacken des Ersatz libftd2xx Winelib Paketes&lt;br /&gt;
*Kopieren der Ersatz Winelib&amp;lt;br&amp;gt;cp ftd2xx.dll.so /usr/local/lib&lt;br /&gt;
*Verlinken in den Standardpfad für Wine-Libs&amp;lt;br&amp;gt;ln -s /usr/local/lib/ftd2xx.dll.so /usr/lib/i386-linux-gnu/wine/ftd2xx.dll.so&lt;br /&gt;
&lt;br /&gt;
*eine udev Regel erstellen, die den MiniLAMockup normalen Nutzern (Group plugdev) zugänglich macht.&amp;lt;br&amp;gt;Dort hinein kommt auch gleich noch, dass das Interface mit der Seriennummer FTOJFA6S (die des MinilaMockup in [http://www.mikrocontroller.net/attachment/95887/MiniLA.xml MiniLA.xml]) nicht von ftdi_sio verwaltet werden soll.&amp;lt;br&amp;gt;nano /etc/udev/rules.d/97-ftdi_minila_mockup.rules&amp;lt;br&amp;gt;Inhalt:&amp;lt;br&amp;gt;ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0664&amp;quot;&amp;lt;br&amp;gt;SUBSYSTEM==&amp;quot;usb&amp;quot;, DRIVER==&amp;quot;ftdi_sio&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, ATTRS{serial}==&amp;quot;FTOJFA6S&amp;quot;, RUN+=&amp;quot;/bin/sh -c &#039;echo $kernel &amp;gt; /sys/bus/usb/drivers/ftdi_sio/unbind&#039;&amp;quot;&amp;lt;br&amp;gt;(von SUBSYSTEM= bis /unbind&#039;&amp;quot; kommt alles in eine Zeile)&lt;br /&gt;
&lt;br /&gt;
*miniLA anschliessen&lt;br /&gt;
&lt;br /&gt;
*Rootrechte aufgeben&amp;lt;br&amp;gt;exit&lt;br /&gt;
&lt;br /&gt;
*die im Paket Minila Windows EXE Vers 0.6.6 für 256k / 512k /1024k Sample Speicher enthaltene FTD2XX.dll verstecken, so daß Wine gezwungen wird, die Ersatzlib zu benutzen&amp;lt;br&amp;gt;cd ./minila_win/bin&amp;lt;br&amp;gt;mv FTD2XX.dll FTD2XX.dll.bak&lt;br /&gt;
&lt;br /&gt;
*minila starten&amp;lt;br&amp;gt;wine minila512k.exe&lt;br /&gt;
&lt;br /&gt;
*Das Messergebnis kann mit File-Export Data-VCD File exportiert werden und dann mit Open - Import ValueChangeDump in Pulseview (getestet mit: PulseView-NIGHTLY-x86_64.AppImage vom 24.10.2018) eingelesen werden.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Sigrok&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Wird z.Zt. (Stand 12.2017) nicht unterstützt&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einer der [http://www.sigrok.org/wiki/Main_Page Sigrok]-Entwickler hat eine Platine des MiniLAs bekommen und möchte diesen mit in die Liste der Unterstützten LAs mit aufnehmen.&lt;br /&gt;
&lt;br /&gt;
[http://www.sigrok.org/wiki/Main_Page Sigrok] ist eine freie, portable und für verschiedene Platformen, Open-Source Logic Analysator Software, welche viele LAs unterschiedlicher Hersteller unterstützt. Unteranderem demnächst auch den MiniLA. Es steht unter der GNU GPL Lizenz und ist laut Webseite [http://www.sigrok.org/wiki/News#2011.2F03.2F15_sigrok_in_Debian am 15.3.2011 in das Debian Paketsystem mit aufgenommen worden (Ubuntu folgt)]. Zu seinen Eigenschaften gehört:&lt;br /&gt;
* Unterstützt viele LAs von verschiedenen Herstellern.&lt;br /&gt;
* Cross-Platform fähig. Unterstützung für Linux, Mac OS X, Windows, und FreeBSD (auf verschiedenen Platformen wie x86, ARM, Sparc, PowerPC, ...).&lt;br /&gt;
* Protokoll decoding mit Skripten, welche in Python geschrieben und erweiterbar sind.&lt;br /&gt;
* Unterstützt verschiedene Ein/Ausgabeformate (Binär, ASCII, Hex, CSV, gnuplot, VCD, ...).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Webseite:&amp;lt;/u&amp;gt;&lt;br /&gt;
* [http://www.sigrok.org/wiki/Main_Page Sigrok Webseite]&lt;br /&gt;
* [http://www.sigrok.org/wiki/MiniLA_Mockup Sigrok Webseite für den MiniLA]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/174860?page=single Hauptthread auf Mikrocontroller.net]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/MiniLA Original]&lt;br /&gt;
* [http://minila.sourceforge.net/hw/other/bg/minila_bg_sch.pdf Schaltplan der alten Version]&lt;br /&gt;
* [https://sourceforge.net/projects/minila/files/MiniLA\%20Win\%200.X/ Sourcen zur Win-SW]&amp;lt;br&amp;gt;Achtung, Link enthält 2 Leerzeichen, ggf. manuell anpassen&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/451077#5772006 JP2..5 durch Multiplexer ersetzen]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR&amp;diff=104992</id>
		<title>AVR-GCC-Tutorial/Die Timer und Zähler des AVR</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR&amp;diff=104992"/>
		<updated>2022-02-11T13:45:48Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: /* Vergleichswert-Überprüfung (Compare Match) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die heutigen Mikrocontroller und insbesondere die RISC-[[AVR]]s sind für viele Steuerungsaufgaben zu schnell. Wenn wir beispielsweise eine [[LED]] oder Lampe blinken lassen wollen, können wir selbstverständlich nicht die CPU-Frequenz verwenden, da ja dann nichts mehr vom Blinken zu bemerken wäre.&lt;br /&gt;
&lt;br /&gt;
Wir brauchen also eine Möglichkeit, Vorgänge in Zeitabständen durchzuführen, die geringer als die Taktfrequenz des Controllers sind. Selbstverständlich sollte die resultierende Frequenz auch noch möglichst genau und stabil sein.&lt;br /&gt;
&lt;br /&gt;
Hier kommen die im AVR vorhandenen Timer/Counter zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Ein Timer ist ganz einfach ein bestimmtes Register im µC, das völlig ohne Zutun des Programms, also per Hardware, hochgezählt wird. Das alleine wäre noch nicht allzu nützlich, wenn nicht dieses Hardwareregister bei bestimmten Zählerständen einen Interrupt auslösen könnte. &lt;br /&gt;
&lt;br /&gt;
Ein solches Ereignis ist der Overflow (Überlauf): Da die Bitbreite des Registers beschränkt ist, kommt es natürlich auch vor, dass der Zähler so hoch zählt, dass der nächste Zählerstand mit dieser Bitbreite nicht mehr darstellbar ist und der Zähler wieder auf 0 zurückgesetzt wird. Dieses Ereignis nennt man den Overflow und es ist möglich an dieses Ereignis einen Interrupt zu koppeln.&lt;br /&gt;
&lt;br /&gt;
Ein anderes Anwendungsgebiet ist das Zählen von Impulsen, welche über einen I/O-Pin zugeführt werden.&lt;br /&gt;
&lt;br /&gt;
Als Eingangstakt für die Timer/Counter kann entweder die CPU-Taktfrequenz, der Vorteiler-Ausgang oder ein an einen I/O-Pin angelegtes Signal verwendet werden. Wenn ein externes Signal verwendet wird, so darf dessen Frequenz nicht höher sein als die Hälfte des CPU-Taktes.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Ausführungen beziehen sich im Wesentlichen auf den AT90S2313. Für andere Modelltypen müsst ihr euch die allenfalls notwendigen Anpassungen aus den Datenblättern der entsprechenden Controller herauslesen.&lt;br /&gt;
&lt;br /&gt;
== Der Vorteiler (Prescaler) ==&lt;br /&gt;
&lt;br /&gt;
Der Vorteiler dient dazu, den CPU-Takt vorerst um einen einstellbaren Faktor zu reduzieren. Die so geteilte Frequenz wird den Eingängen der Timer zugeführt.&lt;br /&gt;
&lt;br /&gt;
Wenn wir mit einem CPU-Takt von 4 MHz arbeiten und den Vorteiler auf 1024 einstellen, wird der Timer mit einer Frequenz von 4 MHz / 1024, also mit etwas weniger als 4 kHz versorgt. Wenn der Timer läuft, wird das Zählregister (TCNTx) mit dieser Frequenz inkrementiert.&lt;br /&gt;
&lt;br /&gt;
== Timer-Bitzahlen verschiedener AVRs ==&lt;br /&gt;
&lt;br /&gt;
Wir unterscheiden grundsätzlich zwischen 8-Bit Timern, welche eine Auflösung von 256 (2^8) aufweisen und 16-Bit Timern mit einer Auflösung von 65536 (2^16). &lt;br /&gt;
&lt;br /&gt;
Alle AVR-Modelle verfügen über mindestens einen, teilweise sogar zwei, 8-Bit Timer.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! AVR-Typ || Timer/Counter0 || Timer/Counter1 || Timer/Counter2&lt;br /&gt;
|- &lt;br /&gt;
| AT90S2313  ||  8 || 16 || -&lt;br /&gt;
|- &lt;br /&gt;
| ATtiny2313 ||  8 || 16 || -&lt;br /&gt;
|- &lt;br /&gt;
| ATtiny25   ||  8 ||  8 || -&lt;br /&gt;
|- &lt;br /&gt;
| ATmega8    || 8  || 16 || 8&lt;br /&gt;
|- &lt;br /&gt;
| ATmega88   || 8  || 16 || 8&lt;br /&gt;
|- &lt;br /&gt;
| ATmega16   || 8  || 16 || 8&lt;br /&gt;
|- &lt;br /&gt;
| ATmega32   || 8  || 16 || 8&lt;br /&gt;
|- &lt;br /&gt;
| ATmega644  || 8  || 16 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 8-Bit Timer/Counter ==&lt;br /&gt;
&lt;br /&gt;
Der 8-Bit Timer wird z.B bei AT90S2313 über folgende Register angesprochen (bei anderen Typen weitestgehend analog):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| width=&amp;quot;100&amp;quot; | &#039;&#039;&#039;TCCR0&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ounter &#039;&#039;&#039;C&#039;&#039;&#039;ontrol &#039;&#039;&#039;R&#039;&#039;&#039;egister&lt;br /&gt;
Timer &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In diesem Register stellen wir ein, wie wir den Timer/Counter verwenden möchten.&lt;br /&gt;
&lt;br /&gt;
Das Register ist wie folgt aufgebaut:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;CS02&#039;&#039;&#039;|| &#039;&#039;&#039;CS01&#039;&#039;&#039;|| &#039;&#039;&#039;CS00&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R|| R|| R|| R|| R|| R/W|| R/W|| R/W&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CS02, CS01, CS00&#039;&#039;&#039; (&#039;&#039;&#039;C&#039;&#039;&#039;lock &#039;&#039;&#039;S&#039;&#039;&#039;elect Bits)&lt;br /&gt;
:Diese 3 Bits bestimmen die Quelle für den Timer/Counter:&lt;br /&gt;
&lt;br /&gt;
:{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! CS02 || CS01 || CS00 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Stopp, Der Timer/Counter wird angehalten.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| CPU-Takt / 8&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt / 64&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| CPU-Takt / 256&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt / 1024&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Externer Pin &#039;&#039;&#039;TO&#039;&#039;&#039;, fallende Flanke&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Externer Pin &#039;&#039;&#039;TO&#039;&#039;&#039;, steigende Flanke&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Wenn als Quelle der externe Pin &#039;&#039;&#039;TO&#039;&#039;&#039; verwendet wird, so wird ein Flankenwechsel auch erkannt, wenn der Pin &#039;&#039;&#039;TO&#039;&#039;&#039; als Ausgang geschaltet ist.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;TCNT0&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ou&#039;&#039;&#039;nt&#039;&#039;&#039;er Daten Register Timer &#039;&#039;&#039;0&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Dieses ist als 8-Bit Aufwärtszähler mit Schreib- und Lesezugriff&lt;br /&gt;
realisiert. Wenn der Zähler den Wert 255 erreicht hat, beginnt er beim&lt;br /&gt;
nächsten Zyklus wieder bei 0.&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;MSB&#039;&#039;&#039;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;LSB&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Um nun also den Timer0 in Betrieb zu setzen und ihn mit einer Frequenz von 1/8-tel des CPU-Taktes zählen zu lassen, schreiben wir die folgende Befehlszeile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
    TCCR0 = (1&amp;lt;&amp;lt;CS01);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Zähler zählt nun aufwärts bis 255, um dann wieder bei 0 zu beginnen. Der aktuelle Zählerstand steht in TCNT0. Bei jedem Überlauf von 255 auf 0 wird das Timer Overflow Flag &#039;&#039;&#039;TOV0&#039;&#039;&#039; im Timer Interrupt Flag &#039;&#039;&#039;TIFR&#039;&#039;&#039;-Register gesetzt und, falls so konfiguriert, ein entsprechender Timer-Overflow-Interrupt ausgelöst und die daran gebundene Interrupt-Service-Routine (ISR) abgearbeitet. Das TOV Flag &lt;br /&gt;
lässt sich durch das Hineinschreiben einer 1 und nicht wie erwartet einer 0 wieder zurücksetzen.&lt;br /&gt;
&lt;br /&gt;
=== Overflow Interrupt ===&lt;br /&gt;
&lt;br /&gt;
Jedesmal wenn der Timer seinen höchsten Wert erreicht hat, erfolgt ein Overflow und der Timer beginnt wieder bei 0 zu zählen. An diesen Overflow kann eine Funktion, die sog. Overflow-ISR, gebunden werden. Damit hat man die Möglichkeit, bestimmte Funktionalitäten in regelmäßigen Zeitabständen ausführen zu lassen. Wie groß diese Zeitabstände sind, wird ausschließlich von der Zählfrequenz des Timers und der Bitbreite des Timers (also dem höchsten Wert, den der Timer erreichen kann) bestimmt. Die Zählfrequenz wiederrum hängt von Taktfrequenz des Controllers und dem eingestellten Vorteiler ab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* uC: AT90S2313 */&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  // Timer 0 konfigurieren&lt;br /&gt;
  TCCR0 = (1&amp;lt;&amp;lt;CS01); // Prescaler 8&lt;br /&gt;
&lt;br /&gt;
  // Overflow Interrupt erlauben&lt;br /&gt;
  TIMSK |= (1&amp;lt;&amp;lt;TOIE0);&lt;br /&gt;
&lt;br /&gt;
  // Global Interrupts aktivieren&lt;br /&gt;
  sei();&lt;br /&gt;
&lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    /* Sonstige Aktionen */&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Der Overflow Interrupt Handler&lt;br /&gt;
wird aufgerufen, wenn TCNT0 von&lt;br /&gt;
255 auf 0 wechselt (256 Schritte),&lt;br /&gt;
d.h. ca. alle 2 ms&lt;br /&gt;
*/&lt;br /&gt;
#ifndef TIMER0_OVF_vect&lt;br /&gt;
// Für ältere WinAVR Versionen z.B. WinAVR-20071221 &lt;br /&gt;
#define TIMER0_OVF_vect TIMER0_OVF0_vect&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
ISR (TIMER0_OVF_vect)&lt;br /&gt;
{&lt;br /&gt;
  /* Interrupt Aktion alle&lt;br /&gt;
  (1000000/8)/256 Hz = 488,28125 Hz&lt;br /&gt;
  bzw.&lt;br /&gt;
  1/488,28125 s = 2,048 ms  &lt;br /&gt;
  */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kann man in einer ISR jeden beliebigen Code ausführen lassen. Allerdings sollte man sich an die Grundregeln der ISR Programmierung halten: Nur das tun was unbedingt notwendig ist. Eine ISR sollte (zeitlich gesehen) so kurz wie möglich aber so lang wie notwendig sein. Komplexe Ausgaben auf LCD oder gar auf die UART gehören nicht in eine ISR. Sie dauern einfach zu lange und blockieren so den Prozessor zu lange. Programme, die mehrere Dinge quasi gleichzeitig machen, werden so zu lange blockiert.&lt;br /&gt;
&lt;br /&gt;
Die Taktfrequenz, mit der eine ISR aufgerufen wird, erscheint nach obigen Ausführungen recht starr, aber sie lässt sich feiner anpassen. Eine Möglichkeit bestünde darin, den Zählerstand des Registers TCNT0 nach einem Overflow auf einen Wert größer als 0 zu setzen. Somit blieben bis zum nächsten Overflow weniger Zähltakte, was die Frequenz erhöhen würde.&lt;br /&gt;
&lt;br /&gt;
Modernere AVRs kennen allerdings einen eleganteren Weg zur Anpassung der Interrupt-Frequenz: den CTC Modus&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;CTC&#039;&#039;&#039; Clear Timer on Compare Match (Auto Reload) ===&lt;br /&gt;
&lt;br /&gt;
Im CTC Modus des Timers ist es möglich, anstelle der durch die Hardware bedingten Obergrenze des Timers, einen anderen Wert zu benutzen, an dem der Timer einen Interrupt auslöst und wieder bei 0 zu zählen anfängt. Neben dem Aktivieren des CTC Modus genügt es dazu, einfach den gewünschten Endwert in ein spezielles Register, das OCR0A, zu laden. Und natürlich hat auch die ISR dann einen anderen Namen. Weitere Anmerkungen und Erläuterungen finden sich im CTC-Kapitel der 16-Bit Timer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* uC: Attiny2313 */&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//Variablen für die Zeit&lt;br /&gt;
volatile unsigned int millisekunden;&lt;br /&gt;
volatile unsigned int sekunde;&lt;br /&gt;
volatile unsigned int minute;&lt;br /&gt;
volatile unsigned int stunde;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  // Timer 0 konfigurieren&lt;br /&gt;
  TCCR0A = (1&amp;lt;&amp;lt;WGM01); // CTC Modus&lt;br /&gt;
  TCCR0B |= (1&amp;lt;&amp;lt;CS01); // Prescaler 8&lt;br /&gt;
  // ((1000000/8)/1000) = 125&lt;br /&gt;
  OCR0A = 125-1;&lt;br /&gt;
&lt;br /&gt;
  // Compare Interrupt erlauben&lt;br /&gt;
  TIMSK |= (1&amp;lt;&amp;lt;OCIE0A);&lt;br /&gt;
&lt;br /&gt;
  // Global Interrupts aktivieren&lt;br /&gt;
  sei();&lt;br /&gt;
&lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    /*Hier kann die aktuelle Zeit&lt;br /&gt;
      ausgeben werden*/&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Der Compare Interrupt Handler &lt;br /&gt;
wird aufgerufen, wenn &lt;br /&gt;
TCNT0 = OCR0A = 125-1 &lt;br /&gt;
ist (125 Schritte), d.h. genau alle 1 ms&lt;br /&gt;
*/&lt;br /&gt;
ISR (TIMER0_COMPA_vect)&lt;br /&gt;
{&lt;br /&gt;
  millisekunden++;&lt;br /&gt;
  if(millisekunden == 1000)&lt;br /&gt;
  {&lt;br /&gt;
    sekunde++;&lt;br /&gt;
    millisekunden = 0;&lt;br /&gt;
    if(sekunde == 60)&lt;br /&gt;
    {&lt;br /&gt;
      minute++;&lt;br /&gt;
      sekunde = 0;&lt;br /&gt;
    }&lt;br /&gt;
    if(minute == 60)&lt;br /&gt;
    {&lt;br /&gt;
      stunde++;&lt;br /&gt;
      minute = 0;&lt;br /&gt;
    }&lt;br /&gt;
    if(stunde == 24)&lt;br /&gt;
    {&lt;br /&gt;
      stunde = 0;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anm.: In diesem Beispiel ist es egal, ob TCCR0B absolut gesetzt wird (TCCR0B = (1&amp;lt;&amp;lt;CS01)) oder der Prescaler-Wert zum alten Inhalt hinzugefügt wird (TCCR0B |= (1&amp;lt;&amp;lt;CS01)). Die anderen Bits in TCCR0B sind nach dem Reset 0 und sollen auch 0 bleiben. Wenn man sicher nur bestimmte Bits ändern will, ist das ODER (bzw. UND mit dem Kehrwert) sicherer. Näheres dazu im Artikel [[Bitmanipulation]].&lt;br /&gt;
&lt;br /&gt;
== 16-Bit Timer/Counter ==&lt;br /&gt;
&lt;br /&gt;
Viele AVR-Modelle besitzen außer den 8-Bit Timern auch 16-Bit Timer. Die 16-Bit Timer/Counter sind etwas komplexer aufgebaut als die 8-Bit Timer/Counter, bieten dafür aber auch viel mehr Möglichkeiten, als da sind:&lt;br /&gt;
&lt;br /&gt;
* Die [[PWM]]-Betriebsart zur Erzeugung eines pulsweitenmodulierten Ausgangssignals. &lt;br /&gt;
* Vergleichswert-Überprüfung mit Erzeugung eines Ausgangssignals (Output Compare Match).&lt;br /&gt;
* Einfangen eines Eingangssignals mit Speicherung des aktuellen Zählerwertes (Input Capturing), mit zuschaltbarer Rauschunterdrückung (Noise Filtering).&lt;br /&gt;
&lt;br /&gt;
Folgende Register sind dem Timer/Counter 1 zugeordnet:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| width=&amp;quot;100&amp;quot; | &#039;&#039;&#039;TCCR1A&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ounter &#039;&#039;&#039;C&#039;&#039;&#039;ontrol &#039;&#039;&#039;R&#039;&#039;&#039;egister &#039;&#039;&#039;A&#039;&#039;&#039; Timer &#039;&#039;&#039;1&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
In diesem und dem folgenden Register stellen wir ein, wie wir den Timer/Counter verwenden möchten.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Register ist wie folgt aufgebaut:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;COM1A1&#039;&#039;&#039;|| &#039;&#039;&#039;COM1A0&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;PWM11&#039;&#039;&#039;|| &#039;&#039;&#039;PWM10&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R|| R|| R|| R|| R/W|| R/W&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COM1A1&#039;&#039;&#039;, &#039;&#039;&#039;COM1A0&#039;&#039;&#039; (&#039;&#039;&#039;Co&#039;&#039;&#039;mpare &#039;&#039;&#039;M&#039;&#039;&#039;atch Control Bits)&lt;br /&gt;
:Diese 2 Bits bestimmen die Aktion, welche am Output-Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; ausgeführt werden soll, wenn der Wert des Datenregisters des Timer/Counter 1 den Wert des Vergleichsregisters erreicht, also ein so genannter Compare Match auftritt.&lt;br /&gt;
:Der Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; (&#039;&#039;&#039;PB3&#039;&#039;&#039; beim 2313) muss mit dem Datenrichtungsregister als Ausgang konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! COM1A1 || COM1A0 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Output-Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird nicht angesteuert.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Das Signal am Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird invertiert (Toggle).&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Der Output Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird auf 0 gesetzt.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Der Output Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird auf 1 gesetzt.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:In der PWM-Betriebsart haben diese Bits eine andere Funktion.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! COM1A1 || COM1A0 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Output-Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird nicht angesteuert.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Output-Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird nicht angesteuert.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Wird beim Hochzählen der Wert im Vergleichsregister erreicht, so wird der Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; auf 0 gesetzt.&lt;br /&gt;
Wird beim Herunterzählen der Wert im Vergleichsregister erreicht, so wird der Pin auf 1 gesetzt.&lt;br /&gt;
&lt;br /&gt;
Man nennt dies &#039;&#039;nicht invertierende PWM&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Wird beim Hochzählen der Wert im Vergleichsregister erreicht, so wird der Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; auf 1 gesetzt.&lt;br /&gt;
Wird beim Herunterzählen der Wert im Vergleichsregister erreicht, so wird der Pin auf 0 gesetzt.&lt;br /&gt;
&lt;br /&gt;
Man nennt dies &#039;&#039;invertierende PWM&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PWM11&#039;&#039;&#039;, &#039;&#039;&#039;PWM10&#039;&#039;&#039; (&#039;&#039;&#039;PWM&#039;&#039;&#039; Mode Select Bits)&lt;br /&gt;
:Mit diesen 2 Bits wird die PWM-Betriebsart des Timer/Counter 1 gesteuert.&lt;br /&gt;
* PWM10 PWM11 wurden umbenannt in WGM10 und WGM11&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! PWM11 || PWM10 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Die PWM-Betriebsart ist nicht aktiviert. Timer/Counter 1 arbeitet als normaler Timer bzw. Zähler.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| 8-Bit PWM Betriebsart aktivieren.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| 9-Bit PWM Betriebsart aktivieren.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| 10-Bit PWM Betriebsart aktivieren.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;TCCR1B&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ounter &#039;&#039;&#039;C&#039;&#039;&#039;ontrol &#039;&#039;&#039;R&#039;&#039;&#039;egister &#039;&#039;&#039;B&#039;&#039;&#039; Timer &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;ICNC1&#039;&#039;&#039;|| &#039;&#039;&#039;ICES1&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;WGM13&#039;&#039;&#039;|| &#039;&#039;&#039;WGM12 (CTC1)&#039;&#039;&#039;|| &#039;&#039;&#039;CS12&#039;&#039;&#039;|| &#039;&#039;&#039;CS11&#039;&#039;&#039;|| &#039;&#039;&#039;CS10&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W || R/W || R || R || R/W || R/W || R/W || R/W&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICNC1&#039;&#039;&#039; (&#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;N&#039;&#039;&#039;oise &#039;&#039;&#039;C&#039;&#039;&#039;anceler (4 CKs) Timer/Counter 1&lt;br /&gt;
:oder auf Deutsch Rauschunterdrückung des Eingangssignals.&lt;br /&gt;
:Wenn dieses Bit gesetzt ist und mit dem Input Capture Signal gearbeitet wird so werden nach der Triggerung des Signals mit der entsprechenden Flanke (steigend oder fallend) am Input Capture Pin &#039;&#039;&#039;ICP&#039;&#039;&#039; jeweils 4 Messungen mit der CPU-Frequenz des Eingangssignals abgefragt. Nur dann, wenn alle 4 Messungen den gleichen Zustand aufweisen gilt das Signal als erkannt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICES1&#039;&#039;&#039; (&#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;E&#039;&#039;&#039;dge &#039;&#039;&#039;S&#039;&#039;&#039;elect Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Mit diesem Bit wird bestimmt, ob die steigende (&#039;&#039;&#039;ICES1&#039;&#039;&#039;=1) oder fallende (&#039;&#039;&#039;ICES1&#039;&#039;&#039;=0) Flanke zur Auswertung des Input Capture Signals an Pin &#039;&#039;&#039;ICP&#039;&#039;&#039; heran gezogen wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CTC1&#039;&#039;&#039; (&#039;&#039;&#039;C&#039;&#039;&#039;lear &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ounter on Compare Match Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, so wird nach einer Übereinstimmung des Datenregisters &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; mit dem Vergleichswert in &#039;&#039;&#039;OCR1H&#039;&#039;&#039;/&#039;&#039;&#039;OCR1L&#039;&#039;&#039; das Datenregister &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; auf 0 gesetzt.&lt;br /&gt;
:Da die Übereinstimmung im Takt nach dem Vergleich behandelt wird, ergibt sich je nach eingestelltem Vorteiler ein etwas anderes Zählverhalten:&lt;br /&gt;
:Wenn der Vorteiler auf 1 gestellt, und C der voreingestellte Vergleichswert ist, dann nimmt das Datenregister, im CPU-Takt betrachtet, folgende Werte an:&lt;br /&gt;
:... | C-2 | C-1 | C | 0 | 1 |...&lt;br /&gt;
:Wenn der Vorteiler z.&amp;amp;nbsp;B. auf 8 eingestellt ist, dann nimmt das Datenregister folgende Werte an:&lt;br /&gt;
:... | C-2, C-2, C-2, C-2, C-2, C-2, C-2, C-2 | C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1 | C, 0, 0, 0, 0, 0, 0, 0 |...&lt;br /&gt;
:In der PWM-Betriebsart hat dieses Bit keine Funktion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CS12&#039;&#039;&#039;, &#039;&#039;&#039;CS11&#039;&#039;&#039;, &#039;&#039;&#039;CS10&#039;&#039;&#039; (&#039;&#039;&#039;C&#039;&#039;&#039;lock &#039;&#039;&#039;S&#039;&#039;&#039;elect Bits)&lt;br /&gt;
:Diese 3 Bits bestimmen die Quelle für den Timer/Counter:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! CS12 || CS11 || CS10 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Stopp, Der Timer/Counter wird angehalten.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| CPU-Takt / 8&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt / 64&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| CPU-Takt / 256&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt / 1024&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Externer Pin T1, fallende Flanke&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Externer Pin T1, steigende Flanke&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Wenn als Quelle der externe Pin T1 verwendet wird, so wird ein Flankenwechsel auch erkannt, wenn der Pin T1 als Ausgang geschaltet ist.&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;TCNT1L&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ou&#039;&#039;&#039;nt&#039;&#039;&#039;er Daten Register Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
Dieses ist als 16-Bit Aufwärtszähler mit Schreib- und Lesezugriff realisiert. Wenn der Zähler den Wert 65535 erreicht hat, beginnt er beim nächsten Zyklus wieder bei 0.&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 ||&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;MSB&#039;&#039;&#039;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;LSB&#039;&#039;&#039;|| &#039;&#039;&#039;TCNT1L&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In der PWM-Betriebsart wird das Register als Auf/Ab-Zähler verwendet, d.h. der Wert steigt zuerst von 0, bis er den Überlauf von 65535 auf 0 erreicht hat. Dann zählt das Register rückwärts wiederum bis 0.&lt;br /&gt;
&lt;br /&gt;
Zum Auslesen des Registers wird von der CPU ein internes TEMP-Register verwendet. Das gleiche Register wird auch verwendet, wenn auf &#039;&#039;&#039;OCR1&#039;&#039;&#039; oder &#039;&#039;&#039;ICR1&#039;&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
Deshalb müssen vor dem Zugriff auf eines dieser Register alle Interrupts gesperrt werden, weil sonst die Möglichkeit des gleichzeitigen Zugriffs auf das Temporärregister gegeben ist, was natürlich zu fehlerhaftem Verhalten des Programms führt.. Zudem muss zuerst &#039;&#039;&#039;TCNT1L&#039;&#039;&#039; und erst danach &#039;&#039;&#039;TCNT1H&#039;&#039;&#039; ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn in das Register geschrieben werden soll, müssen ebenfalls alle Interrrupts gesperrt werden. Dann muss zuerst das &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;-Register und erst danach das &#039;&#039;&#039;TCNT1L&#039;&#039;&#039;-Register geschrieben werden, also genau die umgekehrte Reihenfolge wie beim Lesen des Registers.&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;OCR1H&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;OCR1L&#039;&#039;&#039;&lt;br /&gt;
| Timer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;utput &#039;&#039;&#039;C&#039;&#039;&#039;ompare &#039;&#039;&#039;R&#039;&#039;&#039;egister Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;MSB&#039;&#039;&#039;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;OCR1H&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;LSB&#039;&#039;&#039;|| &#039;&#039;&#039;OCR1L&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der Wert im Output Compare Register wird ständig mit dem aktuellen Wert im Datenregister TCNT1H/TCNT1L verglichen. Stimmen die beiden Werte überein, so wird ein sogenannter Output Compare Match ausgelöst. Die entsprechenden Aktionen werden über die Timer/Counter 1 Control und Status Register eingestellt.&lt;br /&gt;
&lt;br /&gt;
Zum Auslesen des Registers wird von der CPU ein internes TEMP-Register verwendet. Das gleiche Register wird auch verwendet, wenn auf &#039;&#039;&#039;TCNT1&#039;&#039;&#039; oder &#039;&#039;&#039;ICR1&#039;&#039;&#039; zugegriffen wird.&lt;br /&gt;
Deshalb müssen vor dem Zugriff auf eines dieser Register alle Interrupts gesperrt werden, weil sonst die Möglichkeit des gleichzeitigen Zugriffs auf das Temporärregister gegeben ist, was natürlich zu fehlerhaftem Verhalten des Programms führt. Zudem muss zuerst &#039;&#039;&#039;OCR1L&#039;&#039;&#039; und erst danach &#039;&#039;&#039;OCR1H&#039;&#039;&#039; ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn in das Register geschrieben werden soll, müssen ebenfalls alle Interrupts gesperrt werden. Dann muss zuerst das &#039;&#039;&#039;OCR1H&#039;&#039;&#039;-Register und erst danach das &#039;&#039;&#039;OCR1L&#039;&#039;&#039;-Register geschrieben werden, also genau die umgekehrte Reihenfolge wie beim Lesen des Registers.&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;ICR1H&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;ICR1L&#039;&#039;&#039;&lt;br /&gt;
| Timer/Counter &#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;R&#039;&#039;&#039;egister Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;MSB&#039;&#039;&#039;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;ICR1H&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;LSB&#039;&#039;&#039;|| &#039;&#039;&#039;ICR1L&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R|| R|| R|| R|| R|| R|| R|| R|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Das Input Capture Register ist ein 16-Bit Register. Bei einigen AVR Modellen kann es als TOP Value für bestimmte PWM Modes verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Wenn am Input Capture Pin &#039;&#039;&#039;ICP&#039;&#039;&#039; die gemäß Einstellungen im &#039;&#039;&#039;TCCR1B&#039;&#039;&#039; definierte Flanke erkannt wird, so wird der aktuelle Inhalt des Datenregisters &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; sofort in dieses Register kopiert und das Input Capture Flag &#039;&#039;&#039;ICF1&#039;&#039;&#039; im Timer Interrupt Flag Register &#039;&#039;&#039;TIFR&#039;&#039;&#039; gesetzt.&lt;br /&gt;
&lt;br /&gt;
{{Warnung|Wie bereits oben erwähnt, müssen vor dem Zugriff auf dieses Register alle Interrupts gesperrt werden. Zudem müssen Low- und Highbyte des Registers in der richtigen Reihenfolge bearbeitet werden:&lt;br /&gt;
;Lesen&amp;amp;#58;: &#039;&#039;&#039;ICR1L&#039;&#039;&#039; &amp;amp;rarr; &#039;&#039;&#039;ICR1H&#039;&#039;&#039;&lt;br /&gt;
Bei Verwendung des Compilers wird der Zugriff in der korrekten Reihenfolge ausgeführt, wenn man das 16-Bit register ICR1 verwendet anstatt zwei Zugriffe auf 8-Bit Register.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Die PWM-Betriebsart ===&lt;br /&gt;
&lt;br /&gt;
Wenn der Timer/Counter 1 in der PWM-Betriebsart betrieben wird, so bilden das Datenregister &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; und das Vergleichsregister &#039;&#039;&#039;OCR1H&#039;&#039;&#039;/&#039;&#039;&#039;OCR1L&#039;&#039;&#039; einen 8-, 9- oder 10-Bit, frei laufenden PWM-Modulator, welcher als PWM-Signal am &#039;&#039;&#039;OC1&#039;&#039;&#039;-Pin (&#039;&#039;&#039;PB3&#039;&#039;&#039; beim 2313) abgegriffen werden kann. Das Datenregister &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; wird dabei als Auf-/Ab-Zähler betrieben, welcher von 0 an aufwärts zählt bis zur Obergrenze und danach wieder zurück auf 0.&lt;br /&gt;
Die Obergrenze ergibt sich daraus, ob 8-, 9- oder 10-Bit PWM verwendet wird, und zwar gemäß folgender Tabelle:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Auflösung || Obergrenze || Frequenz&lt;br /&gt;
|- &lt;br /&gt;
| 8 || 255 || f&amp;lt;sub&amp;gt;TC1&amp;lt;/sub&amp;gt; / 510&lt;br /&gt;
|- &lt;br /&gt;
| 9 || 511 || f&amp;lt;sub&amp;gt;TC1&amp;lt;/sub&amp;gt; / 1022&lt;br /&gt;
|- &lt;br /&gt;
|10 || 1023 || f&amp;lt;sub&amp;gt;TC1&amp;lt;/sub&amp;gt; / 2046&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wenn nun der Zählerwert im Datenregister den in &#039;&#039;&#039;OCR1H&#039;&#039;&#039;/&#039;&#039;&#039;OCR1L&#039;&#039;&#039; gespeicherten Wert erreicht, wird der Ausgabepin &#039;&#039;&#039;OC1&#039;&#039;&#039; gesetzt bzw. gelöscht, je nach Einstellung von &#039;&#039;&#039;COM1A1&#039;&#039;&#039; und &#039;&#039;&#039;COM1A0&#039;&#039;&#039; im &#039;&#039;&#039;TCCR1A&#039;&#039;&#039;-Register.&lt;br /&gt;
&lt;br /&gt;
Ich habe versucht, die entsprechenden Signale in der folgenden Grafik zusammenzufassen&lt;br /&gt;
&lt;br /&gt;
[[Image:PWM Theorie 3.gif]] [[Image:PWM Theorie 4.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Vergleichswert-Überprüfung (Compare Match) ===&lt;br /&gt;
&lt;br /&gt;
Hier wird in ein spezielles Vergleichswertregister (&#039;&#039;&#039;OCR1H&#039;&#039;&#039;/&#039;&#039;&#039;OCR1L&#039;&#039;&#039;) ein Wert eingeschrieben, welcher ständig mit dem aktuellen Zählerwert verglichen wird.&lt;br /&gt;
Erreicht der Zähler den in diesem Register eingetragenen Wert, so kann ein Signal (0 oder 1) am Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; erzeugt und/oder ein Interrupt ausgelöst werden.&lt;br /&gt;
&lt;br /&gt;
Zu erwähnen ist in dem Zusammenhang, dass das zur Compare-Einheit gehörende Interrupt-Flag erst beim auf die Übereinstimmung der Werte folgenden Timertakt gesetzt wird. Das ist v.a. deshalb wichtig, da es sonst bei OCRnx = 0 einen undefinierten Zustand gäbe.&lt;br /&gt;
&lt;br /&gt;
Möchte man ein Compare-Ereignis 100 Takte nach dem Timerüberlauf auslösen, dann muss in das betreffende Compare-Register eine 99 geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== CTC-Betriebsart (Clear Timer on Compare Match) ===&lt;br /&gt;
&lt;br /&gt;
Das sogenannte &#039;&#039;&#039;Compare Match-Ereignis&#039;&#039;&#039; kann auch dazu verwendet werden, um den Timer automatisch zurückzusetzen (d.h. das TCNT-Register wird zu Null gesetzt). Diese Betriebsart heißt &amp;quot;Clear Timer on Compare Match&amp;quot;, also auf deutsch &amp;quot;Lösche Timer bei Vergleichsübereinstimmung&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Mit dieser Funktionalität ist es möglich, sehr präzise Taktsignale zu erzeugen, ohne dabei programmtechnisch eingreifen zu müssen. &#039;&#039;&#039;Diese Funktion ersetzt das bei anderen Controllern und Timern ohne Compare-Einheit erforderliche Timer Reload&#039;&#039;&#039; (also das Nachladen des Zählregisters mit &amp;quot;Überlaufwert minus gewünschte Taktzahl bis zum Überlauf&amp;quot;, v.a. verbreitet bei 8051er-µCs).&lt;br /&gt;
&lt;br /&gt;
Zur Erzeugung eines Taktes per Hardware muss lediglich eine der CTC-Betriebsarten ausgewählt werden und einer der OCnx-Pins so gesetzt werden, dass er bei Auftreten des Compare Match getoggelt wird (über die COM-Bits).&lt;br /&gt;
&lt;br /&gt;
Die Frequenz des Taktes am entsprechenden Ausgang ist dann:&lt;br /&gt;
&amp;lt;math&amp;gt;f_\text{OC} = \frac{f_\text{CPU}}{\text{Prescaler} \cdot \left( \text{OCRnx} + 1 \right)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umgeformt gilt für OCRnx:&lt;br /&gt;
&amp;lt;math&amp;gt;\text{OCRnx} = \frac{f_\text{CPU}}{\text{Prescaler} \cdot f_\text{OC}} - 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Betriebsart macht das Timer-Nachladen, das bei AVRs, die ja im Unterschied zu 8051-Derivaten keine Auto-Reload-Funktion haben, immer mit Ungenauigkeiten und programmtechnischen Klimmzügen verbunden ist, überflüssig. Ist das OCRnx einmal gesetzt, dann wird das Signal am Ausgang kontinuierlich ausgegeben, ohne dass die Anwendersoftware eingreifen muss (es sei denn, die Frequenz soll geändert werden).&lt;br /&gt;
&lt;br /&gt;
Beim ATmega8 hat der 8-Bit-Timer 0 keine Compare-Einheit, so dass dort CTC und auch sonstige automatische Vergleichsoperationen nicht möglich sind. Bei Timer 1 und Timer 2 ist das jedoch möglich. Bei den neueren AVRs besitzen i.d.R. &#039;&#039;alle&#039;&#039; Timer eine oder mehrere Compare-Einheiten, so dass dort eine größere Flexibilität gegeben ist.&lt;br /&gt;
&lt;br /&gt;
Im Unterschied zu den PWM-Betriebsarten wird die Registeraktualisierung bei CTC nicht automatisch synchronisiert. Schreibt man einen neuen Compare-Wert, dann wird dieser sofort übernommen, was zu Fehlfunktionen führen kann, wenn der neue Compare-Wert höher ist, als der aktuelle Stand von TCNTnx. In den PWM-Betriebsarten wird hingegen der TOP-Wert synchron bei Erreichen von TOP oder BOTTOM aktualisiert.&lt;br /&gt;
&lt;br /&gt;
=== Einfangen eines Eingangssignals (Input Capturing) ===&lt;br /&gt;
&lt;br /&gt;
Bei dieser Betriebsart wird an den Input Capturing Pin (ICP) des Controllers eine Signalquelle angeschlossen.&lt;br /&gt;
Nun kann je nach Konfiguration entweder ein Signalwechsel von 0 nach 1 (steigende Flanke) oder von 1 nach 0 (fallende Flanke) erkannt werden und der zu diesem Zeitpunkt aktuelle Zählerstand in ein spezielles Register abgelegt werden. Gleichzeitig kann auch ein entsprechender Interrupt ausgelöst werden.&lt;br /&gt;
Wenn die Signalquelle ein starkes Rauschen beinhaltet, kann die Rauschunterdrückung eingeschaltet werden. Dann wird beim Erkennen der konfigurierten Flanke über 4 Taktzyklen das Signal überwacht und nur dann, wenn alle 4 Messungen gleich sind, wird die entsprechende Aktion ausgelöst.&lt;br /&gt;
&lt;br /&gt;
In Verbindung mit dem eingebauten Analogvergleicher, einem externen Operationsverstärker (als Integrator beschaltet) und einem externen Analogsignalschalter lässt sich ein präziser [[ADC|A/D-Wandler]] nach dem Zweiflankenverfahren, ggf. mit automatischer Nullpunktkorrektur aufbauen.&lt;br /&gt;
&lt;br /&gt;
== Timer2 im Asynchron Mode ==&lt;br /&gt;
&lt;br /&gt;
Bei den (meisten) Atmegas lässt sich der Timer2 asynchron betreiben. Das bedeutet, daß der Timer unabhängig vom CPU-Takt mit einer eigenen Taktquelle betrieben werden kann. &lt;br /&gt;
In Verbindung mit einem 32,768KHz-Quarz, auch Uhrenquarz genannt, lässt sich so auf einfache Weise eine RTC (Real Time Clock) integrieren, die eine externe RTC überflüssig macht. &lt;br /&gt;
&lt;br /&gt;
Beim ATMega48...328 wird, wie beim ATMega8, der Uhrenquarz alternativ zum &amp;quot;normalen&amp;quot; Quarz an XTAL1 und XTAL2 angeschlossen. &lt;br /&gt;
Diese Controller müssen dann mit dem internen RC-Oszillator als CPU-Takt betrieben werden. ATMEGA644 &amp;amp; Co. haben einen&lt;br /&gt;
separaten Anschluss für den Uhrenquarz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für den Anschluss des Uhrenquarzes müssen keine Fuses verändert werden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* uC: ATMega48PA */&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//Variablen für die Zeit&lt;br /&gt;
volatile unsigned char sekunde;&lt;br /&gt;
volatile unsigned char minute;&lt;br /&gt;
volatile unsigned char stunde;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  // Timer 2 konfigurieren&lt;br /&gt;
  GTCCR |= (1 &amp;lt;&amp;lt; TSM) | (1 &amp;lt;&amp;lt; PSRASY);  //Timer anhalten, Prescaler Reset&lt;br /&gt;
  ASSR |= (1 &amp;lt;&amp;lt; AS2);                   //Asynchron Mode einschalten&lt;br /&gt;
  TCCR2A = (1 &amp;lt;&amp;lt; WGM21);                //CTC Modus&lt;br /&gt;
  TCCR2B |= (1 &amp;lt;&amp;lt; CS22) | (1 &amp;lt;&amp;lt; CS21);  //Prescaler 256&lt;br /&gt;
  // 32768 / 256 / 1 = 128                Intervall = 1s&lt;br /&gt;
  OCR2A = 128 - 1;&lt;br /&gt;
  TIMSK2 |= (1&amp;lt;&amp;lt;OCIE2A);                //Enable Compare Interrupt&lt;br /&gt;
  GTCCR &amp;amp;= ~(1 &amp;lt;&amp;lt; TSM);                 //Timer starten&lt;br /&gt;
  sei();                                //Enable global Interrupts&lt;br /&gt;
&lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    /*Hier kann die aktuelle Zeit&lt;br /&gt;
      ausgeben werden*/&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Der Compare Interrupt Handler &lt;br /&gt;
wird aufgerufen, wenn &lt;br /&gt;
TCNT2 = OCR2A = 128-1 &lt;br /&gt;
ist (128 Schritte), d.h. genau alle 1s&lt;br /&gt;
*/&lt;br /&gt;
ISR (TIMER2_COMPA_vect)&lt;br /&gt;
{&lt;br /&gt;
    TCCR2B = TCCR2B;              //Wird weiter unten im Text erklärt!&lt;br /&gt;
    sekunde++;&lt;br /&gt;
    if(sekunde == 60)&lt;br /&gt;
    {&lt;br /&gt;
      minute++;&lt;br /&gt;
      sekunde = 0;&lt;br /&gt;
    }&lt;br /&gt;
    if(minute == 60)&lt;br /&gt;
    {&lt;br /&gt;
      stunde++;&lt;br /&gt;
      minute = 0;&lt;br /&gt;
    }&lt;br /&gt;
    if(stunde == 24)&lt;br /&gt;
    {&lt;br /&gt;
      stunde = 0;&lt;br /&gt;
    }&lt;br /&gt;
    // Wird weiter unten im Text erklärt!&lt;br /&gt;
    while(ASSR &amp;amp; ((1&amp;lt;&amp;lt;TCN2UB) | (1&amp;lt;&amp;lt;OCR2AUB) | (1&amp;lt;&amp;lt;OCR2BUB) |&lt;br /&gt;
                  (1&amp;lt;&amp;lt;TCR2AUB) | (1&amp;lt;&amp;lt;TCR2BUB)));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Timer-Interrupt wird jetzt im Sekundentakt aufgerufen. Dieser Aufruf geschieht jedoch nicht nur im normalen Betrieb des Controllers, sondern auch im Sleep-Mode!&lt;br /&gt;
Hierzu gibt es extra den Sleep-Mode Power-save. In diesem Mode wird praktisch der gesamte Controller bis auf den Timer2 mit seinem Quarz abgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Das Aufwecken geschieht automatisch mit jedem Interrupt des Timers. Der Stromverbrauch sinkt dabei auf bis zu 0,75µA. &lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;Schlafenlegen&amp;quot; muß dabei in der Mainloop erfolgen, damit der Controller nach der Abarbeitung des Interrupts wieder in den Sleep-Mode geschickt wird.&lt;br /&gt;
Dies geschieht nicht automatisch!&lt;br /&gt;
&lt;br /&gt;
Die üblichen 32-kHz-Quarze haben eine vergleichsweise lange Anschwingdauer.  Je nach Quarz sind Zeiten von mehreren 100 ms bis zu einer Sekunde keine Seltenheit.  Entsprechend dauert es nach dem ersten Einschalten des AS2-Bits einige Zeit, bis der Timer losläuft. U.a. aus diesem Grund wird in dem obigen Initialisierungsbeispiel der Timer mit PSRASY im GTCCR angehalten. Nach Löschen des TSM im selben Register&lt;br /&gt;
wird das PSRASY mit dem nächsten Takt des Timers selbständig gelöscht und der Timer gestartet. Wobei ich es grundsätzlich als sinnvoll ansehe, einen Timer erst nach der Konfiguration definiert loslaufen zu lassen.&lt;br /&gt;
&lt;br /&gt;
=== Wenn er die Minute in 20s schafft ===&lt;br /&gt;
&lt;br /&gt;
Alle zum Timer2 gehörigen Register werden weiterhin synchron beschrieben. &lt;br /&gt;
Allerdings nicht synchron zum CPU-Takt von üblicherweise 1MHz oder 8MHz, sondern synchron zum Takt des Timer2. Diese Taktung des Timers erfolgt jetzt mit 32,768KHz. &lt;br /&gt;
&lt;br /&gt;
Wenn TCNT2 == OCR2A, wird das OCF2A-Flag im TIFR2-Register gesetzt und der Sleep-Mode verlassen.&lt;br /&gt;
&lt;br /&gt;
Der Controller stellt jetzt fest, daß das OCF2A-Flag gesetzt ist und springt auf den COMP2A-Interrupt-Vektor und dann weiter in die ISR. Dabei werden die Rücksprungadresse&lt;br /&gt;
auf den Stack gelegt und das OCF2A-Flag gelöscht. &lt;br /&gt;
Das heisst, es wird genau genommen nicht gelöscht, sondern es wird ein internes Bit gesetzt, daß mit dem nächsten Takt in das TIFR2- Register geschrieben wird. Der nächste Takt &lt;br /&gt;
ist aber der nächste Takt des 32,768KHz Timers. Erst nach diesem Takt wird das Flag tatsächlich gelöscht!&lt;br /&gt;
&lt;br /&gt;
Läuft der Controller mit 8MHz, dauert es vom Auslösen des Interrupt und dem Vorbereiten des Löschens 8MHz / 32768Hz = 244 Takte, abzüglich der paar CPU-Takte, die bis jetzt vergangen sind,&lt;br /&gt;
bis das Flag gelöscht ist. Schafft der Controller es aber, die ISR in dieser Zeit abzuarbeiten, kehrt er zurück, stellt fest, daß das OCF2A-Flag immer noch gesetzt ist und springt wieder in die ISR, &lt;br /&gt;
um dieselbe Sekunde nochmal zu zählen. Wenn er das auch noch ein drittes Mal schafft, dauert die Minute nur noch 20 Sekunden. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb mit 1MHz sind es nur 31 Takte, die werden fast schon durch den Interrupt als solches erreicht. Daher läuft die Uhr meistens mit 1MHz richtig und mit 8MHz zu schnell.&lt;br /&gt;
&lt;br /&gt;
Um jetzt kein Delay in die ISR einzufügen, kann man einen Schreibvorgang auf ein Timer-Register ausführen und im ASSR-Register abfragen, ob dieser Schreibvorgang erfolgt ist. Wenn dies der &lt;br /&gt;
Fall ist, sind auch alle anderen Timer-Register geschrieben. Vor allen Dingen ist das OCF2A-Flag gelöscht.&lt;br /&gt;
&lt;br /&gt;
Dafür dienen diese beiden Zeilen im Beispiel oben:&lt;br /&gt;
    TCCR2B = TCCR2B;              //Dummy Write&lt;br /&gt;
    // Warten bis Write erfolgt ist&lt;br /&gt;
    while(ASSR &amp;amp; ((1&amp;lt;&amp;lt;TCN2UB) | (1&amp;lt;&amp;lt;OCR2AUB) | (1&amp;lt;&amp;lt;OCR2BUB) |&lt;br /&gt;
                  (1&amp;lt;&amp;lt;TCR2AUB) | (1&amp;lt;&amp;lt;TCR2BUB)));&lt;br /&gt;
&lt;br /&gt;
=== Kalibrieren des internen Oszillators mit Timer2 als Zeitbasis ===&lt;br /&gt;
&lt;br /&gt;
Bei den Atmega48..328 sowie Atmega8, auf den hier nicht weiter eingegangen wird, wird der Uhrenquarz an Stelle des &amp;quot;normalen&amp;quot; Quarzes eingesetzt. &lt;br /&gt;
&lt;br /&gt;
Für Datenübertragung über UART steht daher nur der Takt des internen Oszillators zur Verfügung. Eine Übertragung bis zu 9600 Bit/s ist mit den Atmega48..328 weitestgehend möglich. Dies ist jedoch nicht ideal und immer mit einem Risiko behaftet. Eine einfache Möglichkeit, Datenübertragung sicher und auch erheblich schneller zu machen, ist die Kalibrierung des internen Oszillators auf eine Baudratenfrequenz. Damit sind auch 115K2 Bit/s problemlos möglich.&lt;br /&gt;
&lt;br /&gt;
Der interne Oszillator der Atmega48..328 wird vom Hersteller bei Vcc = 3V und einer Temperatur von 25°C auf 8MHz kalibriert. Dazu wird ein entsprechender Wert in das OSCCAL-Register des Controllers geschrieben.&lt;br /&gt;
Dieser Wert lässt sich u.a. mit dem AVRISPMKII auslesen. Die im Datenblatt angegebene Toleranz (+-10%) bezieht sich auf den gesamten zulässigen Temperatur- und Spannungsbereich des Controllers. Bei 3V/25° ist die Abweichung vom Sollwert &amp;lt;1%. Dieser Wert wird auch mit der hier vorgestellten Kalibrierung erreicht.&lt;br /&gt;
&lt;br /&gt;
Zur Kalibrierung gibt der Timer2 ein Zeitintervall vor, in dem der Timer1 zählt. Bei richtiger Frequenz muß der Wert des TCNT1 annähernd dem errechneten Sollwert entsprechen. Ist der Wert grösser, läuft der Timer zu schnell, d.h. die Frequenz des Oszillators ist zu hoch, ist der Wert kleiner, ist die Oszillatorfrequenz zu niedrig. Entsprechend wird der Inhalt des OSCCAL-Registers dann inkrementiert oder dekrementiert.&lt;br /&gt;
&lt;br /&gt;
Im Projekt ist die Sollfrequenz als F_CPU einzustellen. Bei gesetzter CKDIV8-Fuse sind dies 921600Hz, ohne CKDIV8 7372800Hz. In beiden Fällen wird der Oszillator tatsächlich auf 7,3728MHz kalibriert, da die niedrige Frequenz über einen Teiler generiert wird. Gemäss Datenblatt wird als Frequenzbereich für die Kalibrierung 7,3 - 8,1 Mhz empfohlen. Laut Atmel ist nur in diesem Bereich der Schreibzugriff auf das Flash und das EEPROM sicher. Das ist insbesondere dann von Bedeutung, wenn die Kalibrierung in einem und für einen Bootloader erfolgt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* uC: ATMega48PA */&lt;br /&gt;
&lt;br /&gt;
#ifndef F_CPU&lt;br /&gt;
  #error F_CPU not defined.&lt;br /&gt;
#endif&lt;br /&gt;
#define REF_CLOCK 32768L		&lt;br /&gt;
#if F_CPU == 921600&lt;br /&gt;
  #define COUNT_PRE (1 &amp;lt;&amp;lt; CS10)&lt;br /&gt;
  #define COUNT_PREDIV 1&lt;br /&gt;
#else&lt;br /&gt;
  #if F_CPU == 7372800&lt;br /&gt;
    #define COUNT_PRE (1 &amp;lt;&amp;lt; CS11)&lt;br /&gt;
    #define COUNT_PREDIV 8&lt;br /&gt;
  #else&lt;br /&gt;
    #error &amp;quot;No Baudrate Frequency defined&amp;quot;&lt;br /&gt;
  #endif&lt;br /&gt;
#endif &lt;br /&gt;
#define REF_VAL F_CPU / (REF_CLOCK / 256) / COUNT_PREDIV&lt;br /&gt;
#define REF_MIN REF_VAL - 50&lt;br /&gt;
#define REF_MAX REF_VAL + 10&lt;br /&gt;
&lt;br /&gt;
GPIOR0 = OSCCAL;&lt;br /&gt;
unsigned char nTimeOut = 1;&lt;br /&gt;
//Timer anhalten, Prescaler Reset&lt;br /&gt;
GTCCR |= (1 &amp;lt;&amp;lt; TSM) | (1 &amp;lt;&amp;lt; PSRASY);&lt;br /&gt;
ASSR = (1 &amp;lt;&amp;lt; AS2);&lt;br /&gt;
TCCR2B = (1 &amp;lt;&amp;lt; CS20);&lt;br /&gt;
GTCCR &amp;amp;= ~(1 &amp;lt;&amp;lt; TSM);//Timer starten&lt;br /&gt;
while(!(TIFR2 &amp;amp; (1 &amp;lt;&amp;lt; TOV2)));&lt;br /&gt;
//Clear Interrupt Flags&lt;br /&gt;
TIFR2 = (1 &amp;lt;&amp;lt; OCF2B) | (1 &amp;lt;&amp;lt; OCF2A) | (1 &amp;lt;&amp;lt; TOV2);&lt;br /&gt;
TCCR1B = COUNT_PRE;&lt;br /&gt;
&lt;br /&gt;
while(nTimeOut)&lt;br /&gt;
{&lt;br /&gt;
  if(TIFR2 &amp;amp; (1 &amp;lt;&amp;lt; TOV2))//Poll Timer2&lt;br /&gt;
  {&lt;br /&gt;
    //Stop Timer1, Prescaler Reset&lt;br /&gt;
    GTCCR = (1 &amp;lt;&amp;lt; TSM) | (1 &amp;lt;&amp;lt; PSRSYNC);//*&lt;br /&gt;
    TIFR2 = (1 &amp;lt;&amp;lt; OCF2B) | (1 &amp;lt;&amp;lt; OCF2A) | (1 &amp;lt;&amp;lt; TOV2);&lt;br /&gt;
    unsigned int nTcnt1 = TCNT1;&lt;br /&gt;
&lt;br /&gt;
    if(!(nTimeOut &amp;amp; (1 &amp;lt;&amp;lt; 0)))&lt;br /&gt;
    {&lt;br /&gt;
      if((nTcnt1 &amp;gt;= REF_MIN) &amp;amp;&amp;amp; (nTcnt1 &amp;lt;= REF_MAX)) break;&lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
        if(nTcnt1 &amp;lt; REF_VAL) OSCCAL++;&lt;br /&gt;
        if(nTcnt1 &amp;gt; REF_VAL) OSCCAL--;&lt;br /&gt;
      }&lt;br /&gt;
      TCNT1 = 0;&lt;br /&gt;
    }&lt;br /&gt;
    else GTCCR = 0;//Start Timer1 *&lt;br /&gt;
    nTimeOut++;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
if(!nTimeOut)&lt;br /&gt;
{&lt;br /&gt;
  //Error, Kalibrierung abgebrochen&lt;br /&gt;
}&lt;br /&gt;
//Register wiederherstellen (Reset-Zustand)&lt;br /&gt;
ASSR = 0;&lt;br /&gt;
TCCR2B = 0;&lt;br /&gt;
TCCR1B = 0;			&lt;br /&gt;
TCNT2 = 0;&lt;br /&gt;
OSCCAL = GPIOR0;    //ggf. zurück setzen auf 8Mhz&lt;br /&gt;
GPIOR0 = 0;&lt;br /&gt;
// Clear Interrupt Flags&lt;br /&gt;
TIFR1 = (1 &amp;lt;&amp;lt; ICF1) | (1 &amp;lt;&amp;lt; OCF1B) | (1 &amp;lt;&amp;lt; OCF1A) | (1 &amp;lt;&amp;lt; TOV1);&lt;br /&gt;
//Start Timer1&lt;br /&gt;
GTCCR = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Die Messung erfolgt bei beiden Frequenzen mit einem Takt von 1MHz bis 921,6KHz für Timer1. Entweder durch CLKDIV8 (F_Timer = F_CPU) oder durch Prescaler = 8 des Timers (F_Timer = F_CPU/8). Dadurch ergeben sich bei der Kalibrierung die selben Parameter für beide Frequenzen.&lt;br /&gt;
&lt;br /&gt;
Wird F_CPU auf 7,3728Mhz kalibriert, wird Timer1 mit Prescaler = 8 getaktet. Dieser muß vor der Messung zurück gesetzt werden, da der 1. Timertakt sonst zufällig nach 1 bis 8 CPU-Takten auftritt. Für die Genauigkeit der Messung muß dieser aber immer nach 8 Takten auftreten. Ansonsten kann das soweit führen, daß der Sollwert gar nicht erreicht wird und die Kalibrierung mit Timeout abgebrochen wird.&lt;br /&gt;
&lt;br /&gt;
Die Kalibrierung war erfolgreich, wenn nTimeOut &amp;gt; 0 ist.&lt;br /&gt;
 &lt;br /&gt;
Das Wiederherstellen der verwendeten Register in den Reset-Zustand ist nur bei einem Bootloader wichtig. In einer normalen Anwendung ist es Sache des Programmierers, die veränderten Register entsprechend zu berücksichtigen und beispielsweise die Initialisierung der beiden Timer für eine andere Verwendung im Programm mit fester Zuweisung (=) statt mit Veroderung (|=) vorzunehmen. GTCCR ist in jedem Fall auf 0 zu setzen, da sowohl Timer0 als auch Timer1 beim Verlassen der Kalibrierung &amp;quot;stehen&amp;quot;. Auch die Interrupt-Flags von Timer1 sollten gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
Die Kalibrierung verwendet keine Interrupts sondern pollt nur das TOV2-Flag des Timer2. Die Flags des Timer2 werden in der Kalibrierungsschleife direkt nach der Abfrage gelöscht.&lt;br /&gt;
&lt;br /&gt;
Sollte die Kalibrierung in einem Bootlaoder erfolgen, kann man den ermittelten OSCCAL-Wert, sofern der ursprüngliche Wert (1 oder 8 MHz)wiederhergestellt wurde, in einem der GPIORx-Register an die Anwendung übergeben. Dann braucht diese eine evtl. notwendige Kalibrierung nur durchführen, wenn sie ohne Bootloader gestartet wurde. Ansonsten kann der Wert aus GPIORx ins OSCCAL geschrieben werden. Die GPIORx-Register werden (bislang) vom GCC nicht angetastet.&lt;br /&gt;
&lt;br /&gt;
== Gemeinsame Register ==&lt;br /&gt;
&lt;br /&gt;
Verschiedene Register beinhalten Zustände und Einstellungen, welche sowohl&lt;br /&gt;
für den 8-Bit, als auch für den 16-Bit Timer/Counter in ein und demselben&lt;br /&gt;
Register zu finden sind.&lt;br /&gt;
&lt;br /&gt;
Dies gilt für viele ATTiny und die älteren ATMega, wie z.B. Atmega8.&lt;br /&gt;
Die neueren ATMegas und einige ATTiny haben bei einigen mit Ausnahme des GIMSK sowie dem korrespondierenden GIFR exklusive Register für jeden Timer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- &lt;br /&gt;
| width=&amp;quot;100&amp;quot; | &#039;&#039;&#039;TIMSK&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;M&#039;&#039;&#039;a&#039;&#039;&#039;sk&#039;&#039;&#039;&lt;br /&gt;
Register&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;TOIE1&#039;&#039;&#039;|| &#039;&#039;&#039;OCIE1A&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;TICIE&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;TOIE0&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W || R/W || R || R || R/W || R || R/W || R&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TOIE1&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;verflow &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;E&#039;&#039;&#039;nable Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, wird bei einem Überlauf des Datenregisters des Timer/Counter 1 ein Timer Overflow 1 Interrupt ausgelöst. Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OCIE1A&#039;&#039;&#039; (&#039;&#039;&#039;O&#039;&#039;&#039;utput &#039;&#039;&#039;C&#039;&#039;&#039;ompare Match &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;E&#039;&#039;&#039;nable Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Beim Timer/Counter 1 kann zusätzlich zum Überlauf ein Vergleichswert definiert werden.&lt;br /&gt;
&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, wird beim Erreichen des Vergleichswertes ein Compare Match Interrupt ausgelöst. Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TICIE&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;E&#039;&#039;&#039;nable)&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, wird ein Capture Event Interrupt ausgelöst, wenn ein entsprechendes Signalereignis am Pin PD6(ICP) auftritt. Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein, wenn auch ein entsprechender Interrupt ausgelöst werden soll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TOIE0&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;verflow &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;E&#039;&#039;&#039;nable Timer/Counter &#039;&#039;&#039;0&#039;&#039;&#039;)&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, wird bei einem Überlauf des Datenregisters des Timer/Counter 0 ein Timer Overflow 0 Interrupt ausgelöst. Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;TIFR&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;F&#039;&#039;&#039;lag &#039;&#039;&#039;R&#039;&#039;&#039;egister&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;TOV1&#039;&#039;&#039;|| &#039;&#039;&#039;OCF1A&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;ICF1&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;TOV0&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R|| R|| R/W|| R|| R/W|| R&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TOV1&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;verflow Flag Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Dieses Bit wird vom Controller gesetzt, wenn beim Timer 1 ein Überlauf des Datenregisters stattfindet.&lt;br /&gt;
&lt;br /&gt;
:In der PWM-Betriebsart wird das Bit gesetzt, wenn die Zählrichtung von auf- zu abwärts und umgekehrt geändert wird (Zählerwert = 0).&lt;br /&gt;
&lt;br /&gt;
:Das Flag wird automatisch gelöscht, wenn der zugehörige Interrupt-Vektor aufgerufen wird. Es kann jedoch auch gelöscht werden, indem eine logische 1 (!) in das entsprechende Bit geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OCF1A&#039;&#039;&#039; (&#039;&#039;&#039;O&#039;&#039;&#039;utput &#039;&#039;&#039;C&#039;&#039;&#039;ompare &#039;&#039;&#039;F&#039;&#039;&#039;lag Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Dieses Bit wird gesetzt, wenn der aktuelle Wert des Datenregisters von Timer/Counter 1 mit demjenigen im Vergleichsregister &#039;&#039;&#039;OCR1&#039;&#039;&#039; übereinstimmt.&lt;br /&gt;
&lt;br /&gt;
:Das Flag wird automatisch gelöscht, wenn der zugehörige Interrupt-Vektor aufgerufen wird. Es kann jedoch auch gelöscht werden, indem eine logische 1 (!) in das entsprechende Bit geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICF1&#039;&#039;&#039; (&#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;F&#039;&#039;&#039;lag Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Dieses Bit wird gesetzt, wenn ein Capture-Ereignis aufgetreten ist, welches anzeigt, dass der Wert des Datenregisters des  Timer/Counter 1 in das Input Capture Register ICR1 übertragen wurde.&lt;br /&gt;
&lt;br /&gt;
:Das Flag wird automatisch gelöscht, wenn der zugehörige Interrupt-Vektor aufgerufen wird. Es kann jedoch auch gelöscht werden, indem eine logische 1 (!) in das entsprechende Bit geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TOV0&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;verflow Flag Timer/Counter &#039;&#039;&#039;0&#039;&#039;&#039;)&lt;br /&gt;
:Dieses Bit wird vom Controller gesetzt, wenn beim Timer 0 ein Überlauf des Datenregisters stattfindet.&lt;br /&gt;
&lt;br /&gt;
:Das Flag wird automatisch gelöscht, wenn der zugehörige Interrupt-Vektor aufgerufen wird. Es kann jedoch auch gelöscht werden, indem eine logische 1 (!) in das entsprechende Bit geschrieben wird.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:avr-gcc Tutorial]]&lt;br /&gt;
[[Kategorie:Timer und Uhren]]&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR&amp;diff=104991</id>
		<title>AVR-GCC-Tutorial/Die Timer und Zähler des AVR</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR&amp;diff=104991"/>
		<updated>2022-02-11T13:44:48Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: /* Vergleichswert-Überprüfung (Compare Match) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die heutigen Mikrocontroller und insbesondere die RISC-[[AVR]]s sind für viele Steuerungsaufgaben zu schnell. Wenn wir beispielsweise eine [[LED]] oder Lampe blinken lassen wollen, können wir selbstverständlich nicht die CPU-Frequenz verwenden, da ja dann nichts mehr vom Blinken zu bemerken wäre.&lt;br /&gt;
&lt;br /&gt;
Wir brauchen also eine Möglichkeit, Vorgänge in Zeitabständen durchzuführen, die geringer als die Taktfrequenz des Controllers sind. Selbstverständlich sollte die resultierende Frequenz auch noch möglichst genau und stabil sein.&lt;br /&gt;
&lt;br /&gt;
Hier kommen die im AVR vorhandenen Timer/Counter zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Ein Timer ist ganz einfach ein bestimmtes Register im µC, das völlig ohne Zutun des Programms, also per Hardware, hochgezählt wird. Das alleine wäre noch nicht allzu nützlich, wenn nicht dieses Hardwareregister bei bestimmten Zählerständen einen Interrupt auslösen könnte. &lt;br /&gt;
&lt;br /&gt;
Ein solches Ereignis ist der Overflow (Überlauf): Da die Bitbreite des Registers beschränkt ist, kommt es natürlich auch vor, dass der Zähler so hoch zählt, dass der nächste Zählerstand mit dieser Bitbreite nicht mehr darstellbar ist und der Zähler wieder auf 0 zurückgesetzt wird. Dieses Ereignis nennt man den Overflow und es ist möglich an dieses Ereignis einen Interrupt zu koppeln.&lt;br /&gt;
&lt;br /&gt;
Ein anderes Anwendungsgebiet ist das Zählen von Impulsen, welche über einen I/O-Pin zugeführt werden.&lt;br /&gt;
&lt;br /&gt;
Als Eingangstakt für die Timer/Counter kann entweder die CPU-Taktfrequenz, der Vorteiler-Ausgang oder ein an einen I/O-Pin angelegtes Signal verwendet werden. Wenn ein externes Signal verwendet wird, so darf dessen Frequenz nicht höher sein als die Hälfte des CPU-Taktes.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Ausführungen beziehen sich im Wesentlichen auf den AT90S2313. Für andere Modelltypen müsst ihr euch die allenfalls notwendigen Anpassungen aus den Datenblättern der entsprechenden Controller herauslesen.&lt;br /&gt;
&lt;br /&gt;
== Der Vorteiler (Prescaler) ==&lt;br /&gt;
&lt;br /&gt;
Der Vorteiler dient dazu, den CPU-Takt vorerst um einen einstellbaren Faktor zu reduzieren. Die so geteilte Frequenz wird den Eingängen der Timer zugeführt.&lt;br /&gt;
&lt;br /&gt;
Wenn wir mit einem CPU-Takt von 4 MHz arbeiten und den Vorteiler auf 1024 einstellen, wird der Timer mit einer Frequenz von 4 MHz / 1024, also mit etwas weniger als 4 kHz versorgt. Wenn der Timer läuft, wird das Zählregister (TCNTx) mit dieser Frequenz inkrementiert.&lt;br /&gt;
&lt;br /&gt;
== Timer-Bitzahlen verschiedener AVRs ==&lt;br /&gt;
&lt;br /&gt;
Wir unterscheiden grundsätzlich zwischen 8-Bit Timern, welche eine Auflösung von 256 (2^8) aufweisen und 16-Bit Timern mit einer Auflösung von 65536 (2^16). &lt;br /&gt;
&lt;br /&gt;
Alle AVR-Modelle verfügen über mindestens einen, teilweise sogar zwei, 8-Bit Timer.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! AVR-Typ || Timer/Counter0 || Timer/Counter1 || Timer/Counter2&lt;br /&gt;
|- &lt;br /&gt;
| AT90S2313  ||  8 || 16 || -&lt;br /&gt;
|- &lt;br /&gt;
| ATtiny2313 ||  8 || 16 || -&lt;br /&gt;
|- &lt;br /&gt;
| ATtiny25   ||  8 ||  8 || -&lt;br /&gt;
|- &lt;br /&gt;
| ATmega8    || 8  || 16 || 8&lt;br /&gt;
|- &lt;br /&gt;
| ATmega88   || 8  || 16 || 8&lt;br /&gt;
|- &lt;br /&gt;
| ATmega16   || 8  || 16 || 8&lt;br /&gt;
|- &lt;br /&gt;
| ATmega32   || 8  || 16 || 8&lt;br /&gt;
|- &lt;br /&gt;
| ATmega644  || 8  || 16 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 8-Bit Timer/Counter ==&lt;br /&gt;
&lt;br /&gt;
Der 8-Bit Timer wird z.B bei AT90S2313 über folgende Register angesprochen (bei anderen Typen weitestgehend analog):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| width=&amp;quot;100&amp;quot; | &#039;&#039;&#039;TCCR0&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ounter &#039;&#039;&#039;C&#039;&#039;&#039;ontrol &#039;&#039;&#039;R&#039;&#039;&#039;egister&lt;br /&gt;
Timer &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In diesem Register stellen wir ein, wie wir den Timer/Counter verwenden möchten.&lt;br /&gt;
&lt;br /&gt;
Das Register ist wie folgt aufgebaut:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;CS02&#039;&#039;&#039;|| &#039;&#039;&#039;CS01&#039;&#039;&#039;|| &#039;&#039;&#039;CS00&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R|| R|| R|| R|| R|| R/W|| R/W|| R/W&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CS02, CS01, CS00&#039;&#039;&#039; (&#039;&#039;&#039;C&#039;&#039;&#039;lock &#039;&#039;&#039;S&#039;&#039;&#039;elect Bits)&lt;br /&gt;
:Diese 3 Bits bestimmen die Quelle für den Timer/Counter:&lt;br /&gt;
&lt;br /&gt;
:{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! CS02 || CS01 || CS00 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Stopp, Der Timer/Counter wird angehalten.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| CPU-Takt / 8&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt / 64&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| CPU-Takt / 256&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt / 1024&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Externer Pin &#039;&#039;&#039;TO&#039;&#039;&#039;, fallende Flanke&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Externer Pin &#039;&#039;&#039;TO&#039;&#039;&#039;, steigende Flanke&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Wenn als Quelle der externe Pin &#039;&#039;&#039;TO&#039;&#039;&#039; verwendet wird, so wird ein Flankenwechsel auch erkannt, wenn der Pin &#039;&#039;&#039;TO&#039;&#039;&#039; als Ausgang geschaltet ist.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;TCNT0&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ou&#039;&#039;&#039;nt&#039;&#039;&#039;er Daten Register Timer &#039;&#039;&#039;0&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Dieses ist als 8-Bit Aufwärtszähler mit Schreib- und Lesezugriff&lt;br /&gt;
realisiert. Wenn der Zähler den Wert 255 erreicht hat, beginnt er beim&lt;br /&gt;
nächsten Zyklus wieder bei 0.&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;MSB&#039;&#039;&#039;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;LSB&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Um nun also den Timer0 in Betrieb zu setzen und ihn mit einer Frequenz von 1/8-tel des CPU-Taktes zählen zu lassen, schreiben wir die folgende Befehlszeile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
    TCCR0 = (1&amp;lt;&amp;lt;CS01);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Zähler zählt nun aufwärts bis 255, um dann wieder bei 0 zu beginnen. Der aktuelle Zählerstand steht in TCNT0. Bei jedem Überlauf von 255 auf 0 wird das Timer Overflow Flag &#039;&#039;&#039;TOV0&#039;&#039;&#039; im Timer Interrupt Flag &#039;&#039;&#039;TIFR&#039;&#039;&#039;-Register gesetzt und, falls so konfiguriert, ein entsprechender Timer-Overflow-Interrupt ausgelöst und die daran gebundene Interrupt-Service-Routine (ISR) abgearbeitet. Das TOV Flag &lt;br /&gt;
lässt sich durch das Hineinschreiben einer 1 und nicht wie erwartet einer 0 wieder zurücksetzen.&lt;br /&gt;
&lt;br /&gt;
=== Overflow Interrupt ===&lt;br /&gt;
&lt;br /&gt;
Jedesmal wenn der Timer seinen höchsten Wert erreicht hat, erfolgt ein Overflow und der Timer beginnt wieder bei 0 zu zählen. An diesen Overflow kann eine Funktion, die sog. Overflow-ISR, gebunden werden. Damit hat man die Möglichkeit, bestimmte Funktionalitäten in regelmäßigen Zeitabständen ausführen zu lassen. Wie groß diese Zeitabstände sind, wird ausschließlich von der Zählfrequenz des Timers und der Bitbreite des Timers (also dem höchsten Wert, den der Timer erreichen kann) bestimmt. Die Zählfrequenz wiederrum hängt von Taktfrequenz des Controllers und dem eingestellten Vorteiler ab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* uC: AT90S2313 */&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  // Timer 0 konfigurieren&lt;br /&gt;
  TCCR0 = (1&amp;lt;&amp;lt;CS01); // Prescaler 8&lt;br /&gt;
&lt;br /&gt;
  // Overflow Interrupt erlauben&lt;br /&gt;
  TIMSK |= (1&amp;lt;&amp;lt;TOIE0);&lt;br /&gt;
&lt;br /&gt;
  // Global Interrupts aktivieren&lt;br /&gt;
  sei();&lt;br /&gt;
&lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    /* Sonstige Aktionen */&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Der Overflow Interrupt Handler&lt;br /&gt;
wird aufgerufen, wenn TCNT0 von&lt;br /&gt;
255 auf 0 wechselt (256 Schritte),&lt;br /&gt;
d.h. ca. alle 2 ms&lt;br /&gt;
*/&lt;br /&gt;
#ifndef TIMER0_OVF_vect&lt;br /&gt;
// Für ältere WinAVR Versionen z.B. WinAVR-20071221 &lt;br /&gt;
#define TIMER0_OVF_vect TIMER0_OVF0_vect&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
ISR (TIMER0_OVF_vect)&lt;br /&gt;
{&lt;br /&gt;
  /* Interrupt Aktion alle&lt;br /&gt;
  (1000000/8)/256 Hz = 488,28125 Hz&lt;br /&gt;
  bzw.&lt;br /&gt;
  1/488,28125 s = 2,048 ms  &lt;br /&gt;
  */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kann man in einer ISR jeden beliebigen Code ausführen lassen. Allerdings sollte man sich an die Grundregeln der ISR Programmierung halten: Nur das tun was unbedingt notwendig ist. Eine ISR sollte (zeitlich gesehen) so kurz wie möglich aber so lang wie notwendig sein. Komplexe Ausgaben auf LCD oder gar auf die UART gehören nicht in eine ISR. Sie dauern einfach zu lange und blockieren so den Prozessor zu lange. Programme, die mehrere Dinge quasi gleichzeitig machen, werden so zu lange blockiert.&lt;br /&gt;
&lt;br /&gt;
Die Taktfrequenz, mit der eine ISR aufgerufen wird, erscheint nach obigen Ausführungen recht starr, aber sie lässt sich feiner anpassen. Eine Möglichkeit bestünde darin, den Zählerstand des Registers TCNT0 nach einem Overflow auf einen Wert größer als 0 zu setzen. Somit blieben bis zum nächsten Overflow weniger Zähltakte, was die Frequenz erhöhen würde.&lt;br /&gt;
&lt;br /&gt;
Modernere AVRs kennen allerdings einen eleganteren Weg zur Anpassung der Interrupt-Frequenz: den CTC Modus&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;CTC&#039;&#039;&#039; Clear Timer on Compare Match (Auto Reload) ===&lt;br /&gt;
&lt;br /&gt;
Im CTC Modus des Timers ist es möglich, anstelle der durch die Hardware bedingten Obergrenze des Timers, einen anderen Wert zu benutzen, an dem der Timer einen Interrupt auslöst und wieder bei 0 zu zählen anfängt. Neben dem Aktivieren des CTC Modus genügt es dazu, einfach den gewünschten Endwert in ein spezielles Register, das OCR0A, zu laden. Und natürlich hat auch die ISR dann einen anderen Namen. Weitere Anmerkungen und Erläuterungen finden sich im CTC-Kapitel der 16-Bit Timer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* uC: Attiny2313 */&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//Variablen für die Zeit&lt;br /&gt;
volatile unsigned int millisekunden;&lt;br /&gt;
volatile unsigned int sekunde;&lt;br /&gt;
volatile unsigned int minute;&lt;br /&gt;
volatile unsigned int stunde;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  // Timer 0 konfigurieren&lt;br /&gt;
  TCCR0A = (1&amp;lt;&amp;lt;WGM01); // CTC Modus&lt;br /&gt;
  TCCR0B |= (1&amp;lt;&amp;lt;CS01); // Prescaler 8&lt;br /&gt;
  // ((1000000/8)/1000) = 125&lt;br /&gt;
  OCR0A = 125-1;&lt;br /&gt;
&lt;br /&gt;
  // Compare Interrupt erlauben&lt;br /&gt;
  TIMSK |= (1&amp;lt;&amp;lt;OCIE0A);&lt;br /&gt;
&lt;br /&gt;
  // Global Interrupts aktivieren&lt;br /&gt;
  sei();&lt;br /&gt;
&lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    /*Hier kann die aktuelle Zeit&lt;br /&gt;
      ausgeben werden*/&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Der Compare Interrupt Handler &lt;br /&gt;
wird aufgerufen, wenn &lt;br /&gt;
TCNT0 = OCR0A = 125-1 &lt;br /&gt;
ist (125 Schritte), d.h. genau alle 1 ms&lt;br /&gt;
*/&lt;br /&gt;
ISR (TIMER0_COMPA_vect)&lt;br /&gt;
{&lt;br /&gt;
  millisekunden++;&lt;br /&gt;
  if(millisekunden == 1000)&lt;br /&gt;
  {&lt;br /&gt;
    sekunde++;&lt;br /&gt;
    millisekunden = 0;&lt;br /&gt;
    if(sekunde == 60)&lt;br /&gt;
    {&lt;br /&gt;
      minute++;&lt;br /&gt;
      sekunde = 0;&lt;br /&gt;
    }&lt;br /&gt;
    if(minute == 60)&lt;br /&gt;
    {&lt;br /&gt;
      stunde++;&lt;br /&gt;
      minute = 0;&lt;br /&gt;
    }&lt;br /&gt;
    if(stunde == 24)&lt;br /&gt;
    {&lt;br /&gt;
      stunde = 0;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anm.: In diesem Beispiel ist es egal, ob TCCR0B absolut gesetzt wird (TCCR0B = (1&amp;lt;&amp;lt;CS01)) oder der Prescaler-Wert zum alten Inhalt hinzugefügt wird (TCCR0B |= (1&amp;lt;&amp;lt;CS01)). Die anderen Bits in TCCR0B sind nach dem Reset 0 und sollen auch 0 bleiben. Wenn man sicher nur bestimmte Bits ändern will, ist das ODER (bzw. UND mit dem Kehrwert) sicherer. Näheres dazu im Artikel [[Bitmanipulation]].&lt;br /&gt;
&lt;br /&gt;
== 16-Bit Timer/Counter ==&lt;br /&gt;
&lt;br /&gt;
Viele AVR-Modelle besitzen außer den 8-Bit Timern auch 16-Bit Timer. Die 16-Bit Timer/Counter sind etwas komplexer aufgebaut als die 8-Bit Timer/Counter, bieten dafür aber auch viel mehr Möglichkeiten, als da sind:&lt;br /&gt;
&lt;br /&gt;
* Die [[PWM]]-Betriebsart zur Erzeugung eines pulsweitenmodulierten Ausgangssignals. &lt;br /&gt;
* Vergleichswert-Überprüfung mit Erzeugung eines Ausgangssignals (Output Compare Match).&lt;br /&gt;
* Einfangen eines Eingangssignals mit Speicherung des aktuellen Zählerwertes (Input Capturing), mit zuschaltbarer Rauschunterdrückung (Noise Filtering).&lt;br /&gt;
&lt;br /&gt;
Folgende Register sind dem Timer/Counter 1 zugeordnet:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| width=&amp;quot;100&amp;quot; | &#039;&#039;&#039;TCCR1A&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ounter &#039;&#039;&#039;C&#039;&#039;&#039;ontrol &#039;&#039;&#039;R&#039;&#039;&#039;egister &#039;&#039;&#039;A&#039;&#039;&#039; Timer &#039;&#039;&#039;1&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
In diesem und dem folgenden Register stellen wir ein, wie wir den Timer/Counter verwenden möchten.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Register ist wie folgt aufgebaut:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;COM1A1&#039;&#039;&#039;|| &#039;&#039;&#039;COM1A0&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;PWM11&#039;&#039;&#039;|| &#039;&#039;&#039;PWM10&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R|| R|| R|| R|| R/W|| R/W&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COM1A1&#039;&#039;&#039;, &#039;&#039;&#039;COM1A0&#039;&#039;&#039; (&#039;&#039;&#039;Co&#039;&#039;&#039;mpare &#039;&#039;&#039;M&#039;&#039;&#039;atch Control Bits)&lt;br /&gt;
:Diese 2 Bits bestimmen die Aktion, welche am Output-Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; ausgeführt werden soll, wenn der Wert des Datenregisters des Timer/Counter 1 den Wert des Vergleichsregisters erreicht, also ein so genannter Compare Match auftritt.&lt;br /&gt;
:Der Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; (&#039;&#039;&#039;PB3&#039;&#039;&#039; beim 2313) muss mit dem Datenrichtungsregister als Ausgang konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! COM1A1 || COM1A0 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Output-Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird nicht angesteuert.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Das Signal am Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird invertiert (Toggle).&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Der Output Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird auf 0 gesetzt.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Der Output Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird auf 1 gesetzt.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:In der PWM-Betriebsart haben diese Bits eine andere Funktion.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! COM1A1 || COM1A0 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Output-Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird nicht angesteuert.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Output-Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; wird nicht angesteuert.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Wird beim Hochzählen der Wert im Vergleichsregister erreicht, so wird der Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; auf 0 gesetzt.&lt;br /&gt;
Wird beim Herunterzählen der Wert im Vergleichsregister erreicht, so wird der Pin auf 1 gesetzt.&lt;br /&gt;
&lt;br /&gt;
Man nennt dies &#039;&#039;nicht invertierende PWM&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Wird beim Hochzählen der Wert im Vergleichsregister erreicht, so wird der Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; auf 1 gesetzt.&lt;br /&gt;
Wird beim Herunterzählen der Wert im Vergleichsregister erreicht, so wird der Pin auf 0 gesetzt.&lt;br /&gt;
&lt;br /&gt;
Man nennt dies &#039;&#039;invertierende PWM&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PWM11&#039;&#039;&#039;, &#039;&#039;&#039;PWM10&#039;&#039;&#039; (&#039;&#039;&#039;PWM&#039;&#039;&#039; Mode Select Bits)&lt;br /&gt;
:Mit diesen 2 Bits wird die PWM-Betriebsart des Timer/Counter 1 gesteuert.&lt;br /&gt;
* PWM10 PWM11 wurden umbenannt in WGM10 und WGM11&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! PWM11 || PWM10 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Die PWM-Betriebsart ist nicht aktiviert. Timer/Counter 1 arbeitet als normaler Timer bzw. Zähler.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| 8-Bit PWM Betriebsart aktivieren.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| 9-Bit PWM Betriebsart aktivieren.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| 10-Bit PWM Betriebsart aktivieren.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;TCCR1B&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ounter &#039;&#039;&#039;C&#039;&#039;&#039;ontrol &#039;&#039;&#039;R&#039;&#039;&#039;egister &#039;&#039;&#039;B&#039;&#039;&#039; Timer &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;ICNC1&#039;&#039;&#039;|| &#039;&#039;&#039;ICES1&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;WGM13&#039;&#039;&#039;|| &#039;&#039;&#039;WGM12 (CTC1)&#039;&#039;&#039;|| &#039;&#039;&#039;CS12&#039;&#039;&#039;|| &#039;&#039;&#039;CS11&#039;&#039;&#039;|| &#039;&#039;&#039;CS10&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W || R/W || R || R || R/W || R/W || R/W || R/W&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICNC1&#039;&#039;&#039; (&#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;N&#039;&#039;&#039;oise &#039;&#039;&#039;C&#039;&#039;&#039;anceler (4 CKs) Timer/Counter 1&lt;br /&gt;
:oder auf Deutsch Rauschunterdrückung des Eingangssignals.&lt;br /&gt;
:Wenn dieses Bit gesetzt ist und mit dem Input Capture Signal gearbeitet wird so werden nach der Triggerung des Signals mit der entsprechenden Flanke (steigend oder fallend) am Input Capture Pin &#039;&#039;&#039;ICP&#039;&#039;&#039; jeweils 4 Messungen mit der CPU-Frequenz des Eingangssignals abgefragt. Nur dann, wenn alle 4 Messungen den gleichen Zustand aufweisen gilt das Signal als erkannt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICES1&#039;&#039;&#039; (&#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;E&#039;&#039;&#039;dge &#039;&#039;&#039;S&#039;&#039;&#039;elect Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Mit diesem Bit wird bestimmt, ob die steigende (&#039;&#039;&#039;ICES1&#039;&#039;&#039;=1) oder fallende (&#039;&#039;&#039;ICES1&#039;&#039;&#039;=0) Flanke zur Auswertung des Input Capture Signals an Pin &#039;&#039;&#039;ICP&#039;&#039;&#039; heran gezogen wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CTC1&#039;&#039;&#039; (&#039;&#039;&#039;C&#039;&#039;&#039;lear &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ounter on Compare Match Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, so wird nach einer Übereinstimmung des Datenregisters &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; mit dem Vergleichswert in &#039;&#039;&#039;OCR1H&#039;&#039;&#039;/&#039;&#039;&#039;OCR1L&#039;&#039;&#039; das Datenregister &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; auf 0 gesetzt.&lt;br /&gt;
:Da die Übereinstimmung im Takt nach dem Vergleich behandelt wird, ergibt sich je nach eingestelltem Vorteiler ein etwas anderes Zählverhalten:&lt;br /&gt;
:Wenn der Vorteiler auf 1 gestellt, und C der voreingestellte Vergleichswert ist, dann nimmt das Datenregister, im CPU-Takt betrachtet, folgende Werte an:&lt;br /&gt;
:... | C-2 | C-1 | C | 0 | 1 |...&lt;br /&gt;
:Wenn der Vorteiler z.&amp;amp;nbsp;B. auf 8 eingestellt ist, dann nimmt das Datenregister folgende Werte an:&lt;br /&gt;
:... | C-2, C-2, C-2, C-2, C-2, C-2, C-2, C-2 | C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1 | C, 0, 0, 0, 0, 0, 0, 0 |...&lt;br /&gt;
:In der PWM-Betriebsart hat dieses Bit keine Funktion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CS12&#039;&#039;&#039;, &#039;&#039;&#039;CS11&#039;&#039;&#039;, &#039;&#039;&#039;CS10&#039;&#039;&#039; (&#039;&#039;&#039;C&#039;&#039;&#039;lock &#039;&#039;&#039;S&#039;&#039;&#039;elect Bits)&lt;br /&gt;
:Diese 3 Bits bestimmen die Quelle für den Timer/Counter:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! CS12 || CS11 || CS10 || Resultat&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Stopp, Der Timer/Counter wird angehalten.&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| CPU-Takt / 8&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt / 64&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| CPU-Takt / 256&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| CPU-Takt / 1024&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| Externer Pin T1, fallende Flanke&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Externer Pin T1, steigende Flanke&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Wenn als Quelle der externe Pin T1 verwendet wird, so wird ein Flankenwechsel auch erkannt, wenn der Pin T1 als Ausgang geschaltet ist.&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;TCNT1L&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/&#039;&#039;&#039;C&#039;&#039;&#039;ou&#039;&#039;&#039;nt&#039;&#039;&#039;er Daten Register Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
Dieses ist als 16-Bit Aufwärtszähler mit Schreib- und Lesezugriff realisiert. Wenn der Zähler den Wert 65535 erreicht hat, beginnt er beim nächsten Zyklus wieder bei 0.&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 ||&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;MSB&#039;&#039;&#039;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;LSB&#039;&#039;&#039;|| &#039;&#039;&#039;TCNT1L&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In der PWM-Betriebsart wird das Register als Auf/Ab-Zähler verwendet, d.h. der Wert steigt zuerst von 0, bis er den Überlauf von 65535 auf 0 erreicht hat. Dann zählt das Register rückwärts wiederum bis 0.&lt;br /&gt;
&lt;br /&gt;
Zum Auslesen des Registers wird von der CPU ein internes TEMP-Register verwendet. Das gleiche Register wird auch verwendet, wenn auf &#039;&#039;&#039;OCR1&#039;&#039;&#039; oder &#039;&#039;&#039;ICR1&#039;&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
Deshalb müssen vor dem Zugriff auf eines dieser Register alle Interrupts gesperrt werden, weil sonst die Möglichkeit des gleichzeitigen Zugriffs auf das Temporärregister gegeben ist, was natürlich zu fehlerhaftem Verhalten des Programms führt.. Zudem muss zuerst &#039;&#039;&#039;TCNT1L&#039;&#039;&#039; und erst danach &#039;&#039;&#039;TCNT1H&#039;&#039;&#039; ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn in das Register geschrieben werden soll, müssen ebenfalls alle Interrrupts gesperrt werden. Dann muss zuerst das &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;-Register und erst danach das &#039;&#039;&#039;TCNT1L&#039;&#039;&#039;-Register geschrieben werden, also genau die umgekehrte Reihenfolge wie beim Lesen des Registers.&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;OCR1H&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;OCR1L&#039;&#039;&#039;&lt;br /&gt;
| Timer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;utput &#039;&#039;&#039;C&#039;&#039;&#039;ompare &#039;&#039;&#039;R&#039;&#039;&#039;egister Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;MSB&#039;&#039;&#039;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;OCR1H&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;LSB&#039;&#039;&#039;|| &#039;&#039;&#039;OCR1L&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| R/W|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der Wert im Output Compare Register wird ständig mit dem aktuellen Wert im Datenregister TCNT1H/TCNT1L verglichen. Stimmen die beiden Werte überein, so wird ein sogenannter Output Compare Match ausgelöst. Die entsprechenden Aktionen werden über die Timer/Counter 1 Control und Status Register eingestellt.&lt;br /&gt;
&lt;br /&gt;
Zum Auslesen des Registers wird von der CPU ein internes TEMP-Register verwendet. Das gleiche Register wird auch verwendet, wenn auf &#039;&#039;&#039;TCNT1&#039;&#039;&#039; oder &#039;&#039;&#039;ICR1&#039;&#039;&#039; zugegriffen wird.&lt;br /&gt;
Deshalb müssen vor dem Zugriff auf eines dieser Register alle Interrupts gesperrt werden, weil sonst die Möglichkeit des gleichzeitigen Zugriffs auf das Temporärregister gegeben ist, was natürlich zu fehlerhaftem Verhalten des Programms führt. Zudem muss zuerst &#039;&#039;&#039;OCR1L&#039;&#039;&#039; und erst danach &#039;&#039;&#039;OCR1H&#039;&#039;&#039; ausgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn in das Register geschrieben werden soll, müssen ebenfalls alle Interrupts gesperrt werden. Dann muss zuerst das &#039;&#039;&#039;OCR1H&#039;&#039;&#039;-Register und erst danach das &#039;&#039;&#039;OCR1L&#039;&#039;&#039;-Register geschrieben werden, also genau die umgekehrte Reihenfolge wie beim Lesen des Registers.&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;ICR1H&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;ICR1L&#039;&#039;&#039;&lt;br /&gt;
| Timer/Counter &#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;R&#039;&#039;&#039;egister Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7|| 6|| 5|| 4|| 3|| 2|| 1|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;MSB&#039;&#039;&#039;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;ICR1H&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &amp;amp;nbsp;|| &#039;&#039;&#039;LSB&#039;&#039;&#039;|| &#039;&#039;&#039;ICR1L&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R|| R|| R|| R|| R|| R|| R|| R|| &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0|| &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Das Input Capture Register ist ein 16-Bit Register. Bei einigen AVR Modellen kann es als TOP Value für bestimmte PWM Modes verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Wenn am Input Capture Pin &#039;&#039;&#039;ICP&#039;&#039;&#039; die gemäß Einstellungen im &#039;&#039;&#039;TCCR1B&#039;&#039;&#039; definierte Flanke erkannt wird, so wird der aktuelle Inhalt des Datenregisters &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; sofort in dieses Register kopiert und das Input Capture Flag &#039;&#039;&#039;ICF1&#039;&#039;&#039; im Timer Interrupt Flag Register &#039;&#039;&#039;TIFR&#039;&#039;&#039; gesetzt.&lt;br /&gt;
&lt;br /&gt;
{{Warnung|Wie bereits oben erwähnt, müssen vor dem Zugriff auf dieses Register alle Interrupts gesperrt werden. Zudem müssen Low- und Highbyte des Registers in der richtigen Reihenfolge bearbeitet werden:&lt;br /&gt;
;Lesen&amp;amp;#58;: &#039;&#039;&#039;ICR1L&#039;&#039;&#039; &amp;amp;rarr; &#039;&#039;&#039;ICR1H&#039;&#039;&#039;&lt;br /&gt;
Bei Verwendung des Compilers wird der Zugriff in der korrekten Reihenfolge ausgeführt, wenn man das 16-Bit register ICR1 verwendet anstatt zwei Zugriffe auf 8-Bit Register.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Die PWM-Betriebsart ===&lt;br /&gt;
&lt;br /&gt;
Wenn der Timer/Counter 1 in der PWM-Betriebsart betrieben wird, so bilden das Datenregister &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; und das Vergleichsregister &#039;&#039;&#039;OCR1H&#039;&#039;&#039;/&#039;&#039;&#039;OCR1L&#039;&#039;&#039; einen 8-, 9- oder 10-Bit, frei laufenden PWM-Modulator, welcher als PWM-Signal am &#039;&#039;&#039;OC1&#039;&#039;&#039;-Pin (&#039;&#039;&#039;PB3&#039;&#039;&#039; beim 2313) abgegriffen werden kann. Das Datenregister &#039;&#039;&#039;TCNT1H&#039;&#039;&#039;/&#039;&#039;&#039;TCNT1L&#039;&#039;&#039; wird dabei als Auf-/Ab-Zähler betrieben, welcher von 0 an aufwärts zählt bis zur Obergrenze und danach wieder zurück auf 0.&lt;br /&gt;
Die Obergrenze ergibt sich daraus, ob 8-, 9- oder 10-Bit PWM verwendet wird, und zwar gemäß folgender Tabelle:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Auflösung || Obergrenze || Frequenz&lt;br /&gt;
|- &lt;br /&gt;
| 8 || 255 || f&amp;lt;sub&amp;gt;TC1&amp;lt;/sub&amp;gt; / 510&lt;br /&gt;
|- &lt;br /&gt;
| 9 || 511 || f&amp;lt;sub&amp;gt;TC1&amp;lt;/sub&amp;gt; / 1022&lt;br /&gt;
|- &lt;br /&gt;
|10 || 1023 || f&amp;lt;sub&amp;gt;TC1&amp;lt;/sub&amp;gt; / 2046&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wenn nun der Zählerwert im Datenregister den in &#039;&#039;&#039;OCR1H&#039;&#039;&#039;/&#039;&#039;&#039;OCR1L&#039;&#039;&#039; gespeicherten Wert erreicht, wird der Ausgabepin &#039;&#039;&#039;OC1&#039;&#039;&#039; gesetzt bzw. gelöscht, je nach Einstellung von &#039;&#039;&#039;COM1A1&#039;&#039;&#039; und &#039;&#039;&#039;COM1A0&#039;&#039;&#039; im &#039;&#039;&#039;TCCR1A&#039;&#039;&#039;-Register.&lt;br /&gt;
&lt;br /&gt;
Ich habe versucht, die entsprechenden Signale in der folgenden Grafik zusammenzufassen&lt;br /&gt;
&lt;br /&gt;
[[Image:PWM Theorie 3.gif]] [[Image:PWM Theorie 4.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Vergleichswert-Überprüfung (Compare Match) ===&lt;br /&gt;
&lt;br /&gt;
Hier wird in ein spezielles Vergleichswertregister (&#039;&#039;&#039;OCR1H&#039;&#039;&#039;/&#039;&#039;&#039;OCR1L&#039;&#039;&#039;) ein Wert eingeschrieben, welcher ständig mit dem aktuellen Zählerwert verglichen wird.&lt;br /&gt;
Erreicht der Zähler den in diesem Register eingetragenen Wert, so kann ein Signal (0 oder 1) am Pin &#039;&#039;&#039;OC1&#039;&#039;&#039; erzeugt und/oder ein Interrupt ausgelöst werden.&lt;br /&gt;
&lt;br /&gt;
Zu erwähnen ist in dem Zusammenhang, dass das zur Compare-Einheit gehörende Interrupt-Flag erst beim auf die Übereinstimmung der Werte folgenden Timertakt gesetzt wird. Das ist v.a. deshalb wichtig, da es sonst bei OCRnx = 0 einen undefinierten Zustand gäbe.&lt;br /&gt;
&lt;br /&gt;
Möchte man ein Compare-Ereignis 100 Takte nach dem Timerüberlauf auslösen, dann muss in das betreffende Compare-Register eine 99 geschrieben werde&lt;br /&gt;
&lt;br /&gt;
=== CTC-Betriebsart (Clear Timer on Compare Match) ===&lt;br /&gt;
&lt;br /&gt;
Das sogenannte &#039;&#039;&#039;Compare Match-Ereignis&#039;&#039;&#039; kann auch dazu verwendet werden, um den Timer automatisch zurückzusetzen (d.h. das TCNT-Register wird zu Null gesetzt). Diese Betriebsart heißt &amp;quot;Clear Timer on Compare Match&amp;quot;, also auf deutsch &amp;quot;Lösche Timer bei Vergleichsübereinstimmung&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Mit dieser Funktionalität ist es möglich, sehr präzise Taktsignale zu erzeugen, ohne dabei programmtechnisch eingreifen zu müssen. &#039;&#039;&#039;Diese Funktion ersetzt das bei anderen Controllern und Timern ohne Compare-Einheit erforderliche Timer Reload&#039;&#039;&#039; (also das Nachladen des Zählregisters mit &amp;quot;Überlaufwert minus gewünschte Taktzahl bis zum Überlauf&amp;quot;, v.a. verbreitet bei 8051er-µCs).&lt;br /&gt;
&lt;br /&gt;
Zur Erzeugung eines Taktes per Hardware muss lediglich eine der CTC-Betriebsarten ausgewählt werden und einer der OCnx-Pins so gesetzt werden, dass er bei Auftreten des Compare Match getoggelt wird (über die COM-Bits).&lt;br /&gt;
&lt;br /&gt;
Die Frequenz des Taktes am entsprechenden Ausgang ist dann:&lt;br /&gt;
&amp;lt;math&amp;gt;f_\text{OC} = \frac{f_\text{CPU}}{\text{Prescaler} \cdot \left( \text{OCRnx} + 1 \right)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umgeformt gilt für OCRnx:&lt;br /&gt;
&amp;lt;math&amp;gt;\text{OCRnx} = \frac{f_\text{CPU}}{\text{Prescaler} \cdot f_\text{OC}} - 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Betriebsart macht das Timer-Nachladen, das bei AVRs, die ja im Unterschied zu 8051-Derivaten keine Auto-Reload-Funktion haben, immer mit Ungenauigkeiten und programmtechnischen Klimmzügen verbunden ist, überflüssig. Ist das OCRnx einmal gesetzt, dann wird das Signal am Ausgang kontinuierlich ausgegeben, ohne dass die Anwendersoftware eingreifen muss (es sei denn, die Frequenz soll geändert werden).&lt;br /&gt;
&lt;br /&gt;
Beim ATmega8 hat der 8-Bit-Timer 0 keine Compare-Einheit, so dass dort CTC und auch sonstige automatische Vergleichsoperationen nicht möglich sind. Bei Timer 1 und Timer 2 ist das jedoch möglich. Bei den neueren AVRs besitzen i.d.R. &#039;&#039;alle&#039;&#039; Timer eine oder mehrere Compare-Einheiten, so dass dort eine größere Flexibilität gegeben ist.&lt;br /&gt;
&lt;br /&gt;
Im Unterschied zu den PWM-Betriebsarten wird die Registeraktualisierung bei CTC nicht automatisch synchronisiert. Schreibt man einen neuen Compare-Wert, dann wird dieser sofort übernommen, was zu Fehlfunktionen führen kann, wenn der neue Compare-Wert höher ist, als der aktuelle Stand von TCNTnx. In den PWM-Betriebsarten wird hingegen der TOP-Wert synchron bei Erreichen von TOP oder BOTTOM aktualisiert.&lt;br /&gt;
&lt;br /&gt;
=== Einfangen eines Eingangssignals (Input Capturing) ===&lt;br /&gt;
&lt;br /&gt;
Bei dieser Betriebsart wird an den Input Capturing Pin (ICP) des Controllers eine Signalquelle angeschlossen.&lt;br /&gt;
Nun kann je nach Konfiguration entweder ein Signalwechsel von 0 nach 1 (steigende Flanke) oder von 1 nach 0 (fallende Flanke) erkannt werden und der zu diesem Zeitpunkt aktuelle Zählerstand in ein spezielles Register abgelegt werden. Gleichzeitig kann auch ein entsprechender Interrupt ausgelöst werden.&lt;br /&gt;
Wenn die Signalquelle ein starkes Rauschen beinhaltet, kann die Rauschunterdrückung eingeschaltet werden. Dann wird beim Erkennen der konfigurierten Flanke über 4 Taktzyklen das Signal überwacht und nur dann, wenn alle 4 Messungen gleich sind, wird die entsprechende Aktion ausgelöst.&lt;br /&gt;
&lt;br /&gt;
In Verbindung mit dem eingebauten Analogvergleicher, einem externen Operationsverstärker (als Integrator beschaltet) und einem externen Analogsignalschalter lässt sich ein präziser [[ADC|A/D-Wandler]] nach dem Zweiflankenverfahren, ggf. mit automatischer Nullpunktkorrektur aufbauen.&lt;br /&gt;
&lt;br /&gt;
== Timer2 im Asynchron Mode ==&lt;br /&gt;
&lt;br /&gt;
Bei den (meisten) Atmegas lässt sich der Timer2 asynchron betreiben. Das bedeutet, daß der Timer unabhängig vom CPU-Takt mit einer eigenen Taktquelle betrieben werden kann. &lt;br /&gt;
In Verbindung mit einem 32,768KHz-Quarz, auch Uhrenquarz genannt, lässt sich so auf einfache Weise eine RTC (Real Time Clock) integrieren, die eine externe RTC überflüssig macht. &lt;br /&gt;
&lt;br /&gt;
Beim ATMega48...328 wird, wie beim ATMega8, der Uhrenquarz alternativ zum &amp;quot;normalen&amp;quot; Quarz an XTAL1 und XTAL2 angeschlossen. &lt;br /&gt;
Diese Controller müssen dann mit dem internen RC-Oszillator als CPU-Takt betrieben werden. ATMEGA644 &amp;amp; Co. haben einen&lt;br /&gt;
separaten Anschluss für den Uhrenquarz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für den Anschluss des Uhrenquarzes müssen keine Fuses verändert werden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* uC: ATMega48PA */&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//Variablen für die Zeit&lt;br /&gt;
volatile unsigned char sekunde;&lt;br /&gt;
volatile unsigned char minute;&lt;br /&gt;
volatile unsigned char stunde;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  // Timer 2 konfigurieren&lt;br /&gt;
  GTCCR |= (1 &amp;lt;&amp;lt; TSM) | (1 &amp;lt;&amp;lt; PSRASY);  //Timer anhalten, Prescaler Reset&lt;br /&gt;
  ASSR |= (1 &amp;lt;&amp;lt; AS2);                   //Asynchron Mode einschalten&lt;br /&gt;
  TCCR2A = (1 &amp;lt;&amp;lt; WGM21);                //CTC Modus&lt;br /&gt;
  TCCR2B |= (1 &amp;lt;&amp;lt; CS22) | (1 &amp;lt;&amp;lt; CS21);  //Prescaler 256&lt;br /&gt;
  // 32768 / 256 / 1 = 128                Intervall = 1s&lt;br /&gt;
  OCR2A = 128 - 1;&lt;br /&gt;
  TIMSK2 |= (1&amp;lt;&amp;lt;OCIE2A);                //Enable Compare Interrupt&lt;br /&gt;
  GTCCR &amp;amp;= ~(1 &amp;lt;&amp;lt; TSM);                 //Timer starten&lt;br /&gt;
  sei();                                //Enable global Interrupts&lt;br /&gt;
&lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    /*Hier kann die aktuelle Zeit&lt;br /&gt;
      ausgeben werden*/&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Der Compare Interrupt Handler &lt;br /&gt;
wird aufgerufen, wenn &lt;br /&gt;
TCNT2 = OCR2A = 128-1 &lt;br /&gt;
ist (128 Schritte), d.h. genau alle 1s&lt;br /&gt;
*/&lt;br /&gt;
ISR (TIMER2_COMPA_vect)&lt;br /&gt;
{&lt;br /&gt;
    TCCR2B = TCCR2B;              //Wird weiter unten im Text erklärt!&lt;br /&gt;
    sekunde++;&lt;br /&gt;
    if(sekunde == 60)&lt;br /&gt;
    {&lt;br /&gt;
      minute++;&lt;br /&gt;
      sekunde = 0;&lt;br /&gt;
    }&lt;br /&gt;
    if(minute == 60)&lt;br /&gt;
    {&lt;br /&gt;
      stunde++;&lt;br /&gt;
      minute = 0;&lt;br /&gt;
    }&lt;br /&gt;
    if(stunde == 24)&lt;br /&gt;
    {&lt;br /&gt;
      stunde = 0;&lt;br /&gt;
    }&lt;br /&gt;
    // Wird weiter unten im Text erklärt!&lt;br /&gt;
    while(ASSR &amp;amp; ((1&amp;lt;&amp;lt;TCN2UB) | (1&amp;lt;&amp;lt;OCR2AUB) | (1&amp;lt;&amp;lt;OCR2BUB) |&lt;br /&gt;
                  (1&amp;lt;&amp;lt;TCR2AUB) | (1&amp;lt;&amp;lt;TCR2BUB)));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Timer-Interrupt wird jetzt im Sekundentakt aufgerufen. Dieser Aufruf geschieht jedoch nicht nur im normalen Betrieb des Controllers, sondern auch im Sleep-Mode!&lt;br /&gt;
Hierzu gibt es extra den Sleep-Mode Power-save. In diesem Mode wird praktisch der gesamte Controller bis auf den Timer2 mit seinem Quarz abgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Das Aufwecken geschieht automatisch mit jedem Interrupt des Timers. Der Stromverbrauch sinkt dabei auf bis zu 0,75µA. &lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;Schlafenlegen&amp;quot; muß dabei in der Mainloop erfolgen, damit der Controller nach der Abarbeitung des Interrupts wieder in den Sleep-Mode geschickt wird.&lt;br /&gt;
Dies geschieht nicht automatisch!&lt;br /&gt;
&lt;br /&gt;
Die üblichen 32-kHz-Quarze haben eine vergleichsweise lange Anschwingdauer.  Je nach Quarz sind Zeiten von mehreren 100 ms bis zu einer Sekunde keine Seltenheit.  Entsprechend dauert es nach dem ersten Einschalten des AS2-Bits einige Zeit, bis der Timer losläuft. U.a. aus diesem Grund wird in dem obigen Initialisierungsbeispiel der Timer mit PSRASY im GTCCR angehalten. Nach Löschen des TSM im selben Register&lt;br /&gt;
wird das PSRASY mit dem nächsten Takt des Timers selbständig gelöscht und der Timer gestartet. Wobei ich es grundsätzlich als sinnvoll ansehe, einen Timer erst nach der Konfiguration definiert loslaufen zu lassen.&lt;br /&gt;
&lt;br /&gt;
=== Wenn er die Minute in 20s schafft ===&lt;br /&gt;
&lt;br /&gt;
Alle zum Timer2 gehörigen Register werden weiterhin synchron beschrieben. &lt;br /&gt;
Allerdings nicht synchron zum CPU-Takt von üblicherweise 1MHz oder 8MHz, sondern synchron zum Takt des Timer2. Diese Taktung des Timers erfolgt jetzt mit 32,768KHz. &lt;br /&gt;
&lt;br /&gt;
Wenn TCNT2 == OCR2A, wird das OCF2A-Flag im TIFR2-Register gesetzt und der Sleep-Mode verlassen.&lt;br /&gt;
&lt;br /&gt;
Der Controller stellt jetzt fest, daß das OCF2A-Flag gesetzt ist und springt auf den COMP2A-Interrupt-Vektor und dann weiter in die ISR. Dabei werden die Rücksprungadresse&lt;br /&gt;
auf den Stack gelegt und das OCF2A-Flag gelöscht. &lt;br /&gt;
Das heisst, es wird genau genommen nicht gelöscht, sondern es wird ein internes Bit gesetzt, daß mit dem nächsten Takt in das TIFR2- Register geschrieben wird. Der nächste Takt &lt;br /&gt;
ist aber der nächste Takt des 32,768KHz Timers. Erst nach diesem Takt wird das Flag tatsächlich gelöscht!&lt;br /&gt;
&lt;br /&gt;
Läuft der Controller mit 8MHz, dauert es vom Auslösen des Interrupt und dem Vorbereiten des Löschens 8MHz / 32768Hz = 244 Takte, abzüglich der paar CPU-Takte, die bis jetzt vergangen sind,&lt;br /&gt;
bis das Flag gelöscht ist. Schafft der Controller es aber, die ISR in dieser Zeit abzuarbeiten, kehrt er zurück, stellt fest, daß das OCF2A-Flag immer noch gesetzt ist und springt wieder in die ISR, &lt;br /&gt;
um dieselbe Sekunde nochmal zu zählen. Wenn er das auch noch ein drittes Mal schafft, dauert die Minute nur noch 20 Sekunden. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb mit 1MHz sind es nur 31 Takte, die werden fast schon durch den Interrupt als solches erreicht. Daher läuft die Uhr meistens mit 1MHz richtig und mit 8MHz zu schnell.&lt;br /&gt;
&lt;br /&gt;
Um jetzt kein Delay in die ISR einzufügen, kann man einen Schreibvorgang auf ein Timer-Register ausführen und im ASSR-Register abfragen, ob dieser Schreibvorgang erfolgt ist. Wenn dies der &lt;br /&gt;
Fall ist, sind auch alle anderen Timer-Register geschrieben. Vor allen Dingen ist das OCF2A-Flag gelöscht.&lt;br /&gt;
&lt;br /&gt;
Dafür dienen diese beiden Zeilen im Beispiel oben:&lt;br /&gt;
    TCCR2B = TCCR2B;              //Dummy Write&lt;br /&gt;
    // Warten bis Write erfolgt ist&lt;br /&gt;
    while(ASSR &amp;amp; ((1&amp;lt;&amp;lt;TCN2UB) | (1&amp;lt;&amp;lt;OCR2AUB) | (1&amp;lt;&amp;lt;OCR2BUB) |&lt;br /&gt;
                  (1&amp;lt;&amp;lt;TCR2AUB) | (1&amp;lt;&amp;lt;TCR2BUB)));&lt;br /&gt;
&lt;br /&gt;
=== Kalibrieren des internen Oszillators mit Timer2 als Zeitbasis ===&lt;br /&gt;
&lt;br /&gt;
Bei den Atmega48..328 sowie Atmega8, auf den hier nicht weiter eingegangen wird, wird der Uhrenquarz an Stelle des &amp;quot;normalen&amp;quot; Quarzes eingesetzt. &lt;br /&gt;
&lt;br /&gt;
Für Datenübertragung über UART steht daher nur der Takt des internen Oszillators zur Verfügung. Eine Übertragung bis zu 9600 Bit/s ist mit den Atmega48..328 weitestgehend möglich. Dies ist jedoch nicht ideal und immer mit einem Risiko behaftet. Eine einfache Möglichkeit, Datenübertragung sicher und auch erheblich schneller zu machen, ist die Kalibrierung des internen Oszillators auf eine Baudratenfrequenz. Damit sind auch 115K2 Bit/s problemlos möglich.&lt;br /&gt;
&lt;br /&gt;
Der interne Oszillator der Atmega48..328 wird vom Hersteller bei Vcc = 3V und einer Temperatur von 25°C auf 8MHz kalibriert. Dazu wird ein entsprechender Wert in das OSCCAL-Register des Controllers geschrieben.&lt;br /&gt;
Dieser Wert lässt sich u.a. mit dem AVRISPMKII auslesen. Die im Datenblatt angegebene Toleranz (+-10%) bezieht sich auf den gesamten zulässigen Temperatur- und Spannungsbereich des Controllers. Bei 3V/25° ist die Abweichung vom Sollwert &amp;lt;1%. Dieser Wert wird auch mit der hier vorgestellten Kalibrierung erreicht.&lt;br /&gt;
&lt;br /&gt;
Zur Kalibrierung gibt der Timer2 ein Zeitintervall vor, in dem der Timer1 zählt. Bei richtiger Frequenz muß der Wert des TCNT1 annähernd dem errechneten Sollwert entsprechen. Ist der Wert grösser, läuft der Timer zu schnell, d.h. die Frequenz des Oszillators ist zu hoch, ist der Wert kleiner, ist die Oszillatorfrequenz zu niedrig. Entsprechend wird der Inhalt des OSCCAL-Registers dann inkrementiert oder dekrementiert.&lt;br /&gt;
&lt;br /&gt;
Im Projekt ist die Sollfrequenz als F_CPU einzustellen. Bei gesetzter CKDIV8-Fuse sind dies 921600Hz, ohne CKDIV8 7372800Hz. In beiden Fällen wird der Oszillator tatsächlich auf 7,3728MHz kalibriert, da die niedrige Frequenz über einen Teiler generiert wird. Gemäss Datenblatt wird als Frequenzbereich für die Kalibrierung 7,3 - 8,1 Mhz empfohlen. Laut Atmel ist nur in diesem Bereich der Schreibzugriff auf das Flash und das EEPROM sicher. Das ist insbesondere dann von Bedeutung, wenn die Kalibrierung in einem und für einen Bootloader erfolgt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* uC: ATMega48PA */&lt;br /&gt;
&lt;br /&gt;
#ifndef F_CPU&lt;br /&gt;
  #error F_CPU not defined.&lt;br /&gt;
#endif&lt;br /&gt;
#define REF_CLOCK 32768L		&lt;br /&gt;
#if F_CPU == 921600&lt;br /&gt;
  #define COUNT_PRE (1 &amp;lt;&amp;lt; CS10)&lt;br /&gt;
  #define COUNT_PREDIV 1&lt;br /&gt;
#else&lt;br /&gt;
  #if F_CPU == 7372800&lt;br /&gt;
    #define COUNT_PRE (1 &amp;lt;&amp;lt; CS11)&lt;br /&gt;
    #define COUNT_PREDIV 8&lt;br /&gt;
  #else&lt;br /&gt;
    #error &amp;quot;No Baudrate Frequency defined&amp;quot;&lt;br /&gt;
  #endif&lt;br /&gt;
#endif &lt;br /&gt;
#define REF_VAL F_CPU / (REF_CLOCK / 256) / COUNT_PREDIV&lt;br /&gt;
#define REF_MIN REF_VAL - 50&lt;br /&gt;
#define REF_MAX REF_VAL + 10&lt;br /&gt;
&lt;br /&gt;
GPIOR0 = OSCCAL;&lt;br /&gt;
unsigned char nTimeOut = 1;&lt;br /&gt;
//Timer anhalten, Prescaler Reset&lt;br /&gt;
GTCCR |= (1 &amp;lt;&amp;lt; TSM) | (1 &amp;lt;&amp;lt; PSRASY);&lt;br /&gt;
ASSR = (1 &amp;lt;&amp;lt; AS2);&lt;br /&gt;
TCCR2B = (1 &amp;lt;&amp;lt; CS20);&lt;br /&gt;
GTCCR &amp;amp;= ~(1 &amp;lt;&amp;lt; TSM);//Timer starten&lt;br /&gt;
while(!(TIFR2 &amp;amp; (1 &amp;lt;&amp;lt; TOV2)));&lt;br /&gt;
//Clear Interrupt Flags&lt;br /&gt;
TIFR2 = (1 &amp;lt;&amp;lt; OCF2B) | (1 &amp;lt;&amp;lt; OCF2A) | (1 &amp;lt;&amp;lt; TOV2);&lt;br /&gt;
TCCR1B = COUNT_PRE;&lt;br /&gt;
&lt;br /&gt;
while(nTimeOut)&lt;br /&gt;
{&lt;br /&gt;
  if(TIFR2 &amp;amp; (1 &amp;lt;&amp;lt; TOV2))//Poll Timer2&lt;br /&gt;
  {&lt;br /&gt;
    //Stop Timer1, Prescaler Reset&lt;br /&gt;
    GTCCR = (1 &amp;lt;&amp;lt; TSM) | (1 &amp;lt;&amp;lt; PSRSYNC);//*&lt;br /&gt;
    TIFR2 = (1 &amp;lt;&amp;lt; OCF2B) | (1 &amp;lt;&amp;lt; OCF2A) | (1 &amp;lt;&amp;lt; TOV2);&lt;br /&gt;
    unsigned int nTcnt1 = TCNT1;&lt;br /&gt;
&lt;br /&gt;
    if(!(nTimeOut &amp;amp; (1 &amp;lt;&amp;lt; 0)))&lt;br /&gt;
    {&lt;br /&gt;
      if((nTcnt1 &amp;gt;= REF_MIN) &amp;amp;&amp;amp; (nTcnt1 &amp;lt;= REF_MAX)) break;&lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
        if(nTcnt1 &amp;lt; REF_VAL) OSCCAL++;&lt;br /&gt;
        if(nTcnt1 &amp;gt; REF_VAL) OSCCAL--;&lt;br /&gt;
      }&lt;br /&gt;
      TCNT1 = 0;&lt;br /&gt;
    }&lt;br /&gt;
    else GTCCR = 0;//Start Timer1 *&lt;br /&gt;
    nTimeOut++;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
if(!nTimeOut)&lt;br /&gt;
{&lt;br /&gt;
  //Error, Kalibrierung abgebrochen&lt;br /&gt;
}&lt;br /&gt;
//Register wiederherstellen (Reset-Zustand)&lt;br /&gt;
ASSR = 0;&lt;br /&gt;
TCCR2B = 0;&lt;br /&gt;
TCCR1B = 0;			&lt;br /&gt;
TCNT2 = 0;&lt;br /&gt;
OSCCAL = GPIOR0;    //ggf. zurück setzen auf 8Mhz&lt;br /&gt;
GPIOR0 = 0;&lt;br /&gt;
// Clear Interrupt Flags&lt;br /&gt;
TIFR1 = (1 &amp;lt;&amp;lt; ICF1) | (1 &amp;lt;&amp;lt; OCF1B) | (1 &amp;lt;&amp;lt; OCF1A) | (1 &amp;lt;&amp;lt; TOV1);&lt;br /&gt;
//Start Timer1&lt;br /&gt;
GTCCR = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Die Messung erfolgt bei beiden Frequenzen mit einem Takt von 1MHz bis 921,6KHz für Timer1. Entweder durch CLKDIV8 (F_Timer = F_CPU) oder durch Prescaler = 8 des Timers (F_Timer = F_CPU/8). Dadurch ergeben sich bei der Kalibrierung die selben Parameter für beide Frequenzen.&lt;br /&gt;
&lt;br /&gt;
Wird F_CPU auf 7,3728Mhz kalibriert, wird Timer1 mit Prescaler = 8 getaktet. Dieser muß vor der Messung zurück gesetzt werden, da der 1. Timertakt sonst zufällig nach 1 bis 8 CPU-Takten auftritt. Für die Genauigkeit der Messung muß dieser aber immer nach 8 Takten auftreten. Ansonsten kann das soweit führen, daß der Sollwert gar nicht erreicht wird und die Kalibrierung mit Timeout abgebrochen wird.&lt;br /&gt;
&lt;br /&gt;
Die Kalibrierung war erfolgreich, wenn nTimeOut &amp;gt; 0 ist.&lt;br /&gt;
 &lt;br /&gt;
Das Wiederherstellen der verwendeten Register in den Reset-Zustand ist nur bei einem Bootloader wichtig. In einer normalen Anwendung ist es Sache des Programmierers, die veränderten Register entsprechend zu berücksichtigen und beispielsweise die Initialisierung der beiden Timer für eine andere Verwendung im Programm mit fester Zuweisung (=) statt mit Veroderung (|=) vorzunehmen. GTCCR ist in jedem Fall auf 0 zu setzen, da sowohl Timer0 als auch Timer1 beim Verlassen der Kalibrierung &amp;quot;stehen&amp;quot;. Auch die Interrupt-Flags von Timer1 sollten gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
Die Kalibrierung verwendet keine Interrupts sondern pollt nur das TOV2-Flag des Timer2. Die Flags des Timer2 werden in der Kalibrierungsschleife direkt nach der Abfrage gelöscht.&lt;br /&gt;
&lt;br /&gt;
Sollte die Kalibrierung in einem Bootlaoder erfolgen, kann man den ermittelten OSCCAL-Wert, sofern der ursprüngliche Wert (1 oder 8 MHz)wiederhergestellt wurde, in einem der GPIORx-Register an die Anwendung übergeben. Dann braucht diese eine evtl. notwendige Kalibrierung nur durchführen, wenn sie ohne Bootloader gestartet wurde. Ansonsten kann der Wert aus GPIORx ins OSCCAL geschrieben werden. Die GPIORx-Register werden (bislang) vom GCC nicht angetastet.&lt;br /&gt;
&lt;br /&gt;
== Gemeinsame Register ==&lt;br /&gt;
&lt;br /&gt;
Verschiedene Register beinhalten Zustände und Einstellungen, welche sowohl&lt;br /&gt;
für den 8-Bit, als auch für den 16-Bit Timer/Counter in ein und demselben&lt;br /&gt;
Register zu finden sind.&lt;br /&gt;
&lt;br /&gt;
Dies gilt für viele ATTiny und die älteren ATMega, wie z.B. Atmega8.&lt;br /&gt;
Die neueren ATMegas und einige ATTiny haben bei einigen mit Ausnahme des GIMSK sowie dem korrespondierenden GIFR exklusive Register für jeden Timer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- &lt;br /&gt;
| width=&amp;quot;100&amp;quot; | &#039;&#039;&#039;TIMSK&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;M&#039;&#039;&#039;a&#039;&#039;&#039;sk&#039;&#039;&#039;&lt;br /&gt;
Register&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;TOIE1&#039;&#039;&#039;|| &#039;&#039;&#039;OCIE1A&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;TICIE&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;TOIE0&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W || R/W || R || R || R/W || R || R/W || R&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TOIE1&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;verflow &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;E&#039;&#039;&#039;nable Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, wird bei einem Überlauf des Datenregisters des Timer/Counter 1 ein Timer Overflow 1 Interrupt ausgelöst. Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OCIE1A&#039;&#039;&#039; (&#039;&#039;&#039;O&#039;&#039;&#039;utput &#039;&#039;&#039;C&#039;&#039;&#039;ompare Match &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;E&#039;&#039;&#039;nable Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Beim Timer/Counter 1 kann zusätzlich zum Überlauf ein Vergleichswert definiert werden.&lt;br /&gt;
&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, wird beim Erreichen des Vergleichswertes ein Compare Match Interrupt ausgelöst. Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TICIE&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;E&#039;&#039;&#039;nable)&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, wird ein Capture Event Interrupt ausgelöst, wenn ein entsprechendes Signalereignis am Pin PD6(ICP) auftritt. Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein, wenn auch ein entsprechender Interrupt ausgelöst werden soll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TOIE0&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;verflow &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;E&#039;&#039;&#039;nable Timer/Counter &#039;&#039;&#039;0&#039;&#039;&#039;)&lt;br /&gt;
:Wenn dieses Bit gesetzt ist, wird bei einem Überlauf des Datenregisters des Timer/Counter 0 ein Timer Overflow 0 Interrupt ausgelöst. Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;TIFR&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;I&#039;&#039;&#039;nterrupt &#039;&#039;&#039;F&#039;&#039;&#039;lag &#039;&#039;&#039;R&#039;&#039;&#039;egister&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Bit&lt;br /&gt;
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|- &lt;br /&gt;
! Name&lt;br /&gt;
| &#039;&#039;&#039;TOV1&#039;&#039;&#039;|| &#039;&#039;&#039;OCF1A&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;ICF1&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;|| &#039;&#039;&#039;TOV0&#039;&#039;&#039;|| &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
! R/W&lt;br /&gt;
| R/W|| R/W|| R|| R|| R/W|| R|| R/W|| R&lt;br /&gt;
|- &lt;br /&gt;
! Initialwert&lt;br /&gt;
| 0|| 0|| 0|| 0|| 0|| 0|| 0|| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TOV1&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;verflow Flag Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Dieses Bit wird vom Controller gesetzt, wenn beim Timer 1 ein Überlauf des Datenregisters stattfindet.&lt;br /&gt;
&lt;br /&gt;
:In der PWM-Betriebsart wird das Bit gesetzt, wenn die Zählrichtung von auf- zu abwärts und umgekehrt geändert wird (Zählerwert = 0).&lt;br /&gt;
&lt;br /&gt;
:Das Flag wird automatisch gelöscht, wenn der zugehörige Interrupt-Vektor aufgerufen wird. Es kann jedoch auch gelöscht werden, indem eine logische 1 (!) in das entsprechende Bit geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OCF1A&#039;&#039;&#039; (&#039;&#039;&#039;O&#039;&#039;&#039;utput &#039;&#039;&#039;C&#039;&#039;&#039;ompare &#039;&#039;&#039;F&#039;&#039;&#039;lag Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Dieses Bit wird gesetzt, wenn der aktuelle Wert des Datenregisters von Timer/Counter 1 mit demjenigen im Vergleichsregister &#039;&#039;&#039;OCR1&#039;&#039;&#039; übereinstimmt.&lt;br /&gt;
&lt;br /&gt;
:Das Flag wird automatisch gelöscht, wenn der zugehörige Interrupt-Vektor aufgerufen wird. Es kann jedoch auch gelöscht werden, indem eine logische 1 (!) in das entsprechende Bit geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICF1&#039;&#039;&#039; (&#039;&#039;&#039;I&#039;&#039;&#039;nput &#039;&#039;&#039;C&#039;&#039;&#039;apture &#039;&#039;&#039;F&#039;&#039;&#039;lag Timer/Counter &#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
:Dieses Bit wird gesetzt, wenn ein Capture-Ereignis aufgetreten ist, welches anzeigt, dass der Wert des Datenregisters des  Timer/Counter 1 in das Input Capture Register ICR1 übertragen wurde.&lt;br /&gt;
&lt;br /&gt;
:Das Flag wird automatisch gelöscht, wenn der zugehörige Interrupt-Vektor aufgerufen wird. Es kann jedoch auch gelöscht werden, indem eine logische 1 (!) in das entsprechende Bit geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TOV0&#039;&#039;&#039; (&#039;&#039;&#039;T&#039;&#039;&#039;imer/Counter &#039;&#039;&#039;O&#039;&#039;&#039;verflow Flag Timer/Counter &#039;&#039;&#039;0&#039;&#039;&#039;)&lt;br /&gt;
:Dieses Bit wird vom Controller gesetzt, wenn beim Timer 0 ein Überlauf des Datenregisters stattfindet.&lt;br /&gt;
&lt;br /&gt;
:Das Flag wird automatisch gelöscht, wenn der zugehörige Interrupt-Vektor aufgerufen wird. Es kann jedoch auch gelöscht werden, indem eine logische 1 (!) in das entsprechende Bit geschrieben wird.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:avr-gcc Tutorial]]&lt;br /&gt;
[[Kategorie:Timer und Uhren]]&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Operationsverst%C3%A4rker-Grundschaltungen&amp;diff=104976</id>
		<title>Operationsverstärker-Grundschaltungen</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Operationsverst%C3%A4rker-Grundschaltungen&amp;diff=104976"/>
		<updated>2022-02-02T19:20:02Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: /* Eingänge */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Idealisiertes Modell eines OPV==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Opamp-symbol.png]]&lt;br /&gt;
&lt;br /&gt;
=== Anschlüsse ===&lt;br /&gt;
Ein Operationsverstärker hat zwei Eingänge (+) und (-) und einen Ausgang&lt;br /&gt;
(UA). Außerdem verfügt er über eine positive und eine negative&lt;br /&gt;
Spannungsversorgung (V+) und (V-).&lt;br /&gt;
&lt;br /&gt;
=== Spannungsversorgungen ===&lt;br /&gt;
Die Spannungsversorgungen sollen zunächst nicht interessieren. Sie&lt;br /&gt;
werden in Schaltungen oft nicht eingezeichnet. &lt;br /&gt;
In der Praxis ist es jedoch wichtig zu wissen, dass die Ausgangsspannung immer zwischen (V+) und (V-) liegt. Die Ausgangsspannung des OPV kommt schließlich  dadurch zustande, dass der Ausgang über einen Transistor mehr oder weniger hochohmig mit den beiden Versorgungsspannungen verbunden wird.&lt;br /&gt;
&lt;br /&gt;
Wenn man einen OPV also mit +5V versorgt, so kann der OPV im besten Fall am Ausgang +5V erzeugen. Man würde in diesem Fall von einem &amp;quot;Rail-to-Rail&amp;quot; Operationsverstärker sprechen.&lt;br /&gt;
Bei vielen Operationsverstärkern ist die maximal mögliche Ausgangsspannung geringer als die Versorgungsspannung. Ein mit +5V Spannungsversorgung beschalteter OPV kann dann beispielsweise nur +4V Ausgangsspannung erzeugen.&lt;br /&gt;
&lt;br /&gt;
=== Ausgang ===&lt;br /&gt;
Der Ausgang des OPV ist eine ideale Spannungsquelle. Das bedeutet, dass die&lt;br /&gt;
Ausgangsspannung unabhängig davon ist, was ausgangsseitig an den OPV&lt;br /&gt;
angeschlossen wird.&lt;br /&gt;
In der Praxis gilt dieses Modell häufig nur bei &amp;quot;sinnvollen Anwendungen&amp;quot;. So ist beispielsweise der Ausgangsstrom des OPV nach oben begrenzt (typischerweise im mA-Bereich), und manche OPV schwingen sehr leicht, wenn man sie kapazitiv belastet.&lt;br /&gt;
&lt;br /&gt;
=== Eingänge ===&lt;br /&gt;
Die Eingänge eines UPV sind hochohmig, d. h., es handelt sich nur um &amp;quot;Messfühler&amp;quot;, die keinen Strom führen.&lt;br /&gt;
Achtung: Die Eingangsschutzbeschaltung (Dioden von GND und gegen VCC) bei manchen OPVs kann jedoch dazu führen, dass Strom in den Eingang fliesst, wenn dessen Betriebsspannung z.B. abgeschaltet ist.&lt;br /&gt;
&lt;br /&gt;
=== Funktionsweise ===&lt;br /&gt;
Der OPV mißt zu jeder Zeit die Differenz &amp;lt;math&amp;gt;U_D = U(+) - U(-)&amp;lt;/math&amp;gt; der&lt;br /&gt;
Eingangsspannungen.&lt;br /&gt;
&lt;br /&gt;
Ist die Spannung an (+) größer als an (-), so erhöht der OPV die&lt;br /&gt;
Ausgangsspannung.&lt;br /&gt;
Ist die Spannung an (+) niedriger als an (-), so vermindert der OPV die&lt;br /&gt;
Ausgangsspannung.&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis dieses Vorgangs wird häufig über die Gleichung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_a = v \cdot U_D&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
beschrieben, wobei &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; eine sehr große Zahl (10^4...10^6) ist. &lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der beschriebenen Funktionsweise lassen sich alle grundlegenden Schaltungen herleiten.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
&lt;br /&gt;
Betrachtet wird die invertierende Grundschaltung nach Abbildung a) im Abschnitt [[Operationsverstärker-Grundschaltungen#Verstärkergrundschaltungen|Verstärkergrundschaltungen]].&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-verstaerker-a.png]]&lt;br /&gt;
&lt;br /&gt;
Für die Pfeilrichtungen der Spannungen und Ströme gilt:&lt;br /&gt;
* &amp;lt;math&amp;gt;U_e&amp;lt;/math&amp;gt;: von oben nach unten&lt;br /&gt;
* &amp;lt;math&amp;gt;I_{R3}&amp;lt;/math&amp;gt;: von links nach rechts&lt;br /&gt;
&lt;br /&gt;
Die Spannung am (+)Eingang ist gleich Null. Die Spannung am (-)Eingang wird durch die Spannungsquelle &amp;lt;math&amp;gt;U_e&amp;lt;/math&amp;gt; und durch die im OPV befindliche und mit dem Ausgang verbundene Spannungsquelle des OPV manipuliert.&lt;br /&gt;
&lt;br /&gt;
* Ist die Spannung am (-)Eingang negativ, so erhöht der Operationsverstärker die Ausgangsspannung. Dadurch wird durch die Rückführung über den Widerstand auch die Spannung am (-)Eingang positiver. Und zwar so lange, bis die Spannung am (-)Eingang gleich groß ist, wie die Spannung am (+)Eingang, also U(-)=0V.&lt;br /&gt;
* Ist die Spannung am (-)Eingang positiv, so vermindert der Operationsverstärker die Ausgangsspannung. Dadurch wird durch die Rückführung über den Widerstand auch die Spannung am (-)Eingang negativer. Und zwar so lange, bis die Spannung am (-)Eingang gleich groß ist, wie die Spannung am (+)Eingang, also U(-)=0V.&lt;br /&gt;
&lt;br /&gt;
Der Operationsverstärker wird also die Spannungen an (+) und (-) angleichen. Das passiert immer dann, wenn der Ausgang mit dem (-)Eingang verbunden ist. Der Trick in dieser Schaltung besteht darin, dass von der Ausgangsspannung nur ein Teil wieder rückgeführt wird. Die Spannung U_e ist daher höher, als der Teil der benötigt wird, um die Spannungen an den Eingängen aneinander anzugleichen.&lt;br /&gt;
Man nennt das Prinzip &amp;quot;Gegenkopplung&amp;quot;. Auf diese Art und Weise funktionieren alle analogen OPV-Schaltungen.&lt;br /&gt;
&lt;br /&gt;
Da an (+) Massepotential anliegt, wird somit auch (-) daran angeglichen, und so liegt an &amp;lt;math&amp;gt;R_3&amp;lt;/math&amp;gt; die Spannung &amp;lt;math&amp;gt;U_e&amp;lt;/math&amp;gt; an. Daher gilt: &lt;br /&gt;
&amp;lt;math&amp;gt;I_{R3}=\frac{U_e}{R_3}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da der (-)Eingang hochohmig ist, fließt &amp;lt;math&amp;gt;I_{R3}&amp;lt;/math&amp;gt; über &amp;lt;math&amp;gt;R_4&amp;lt;/math&amp;gt; weiter zum OPV-Ausgang.&lt;br /&gt;
&lt;br /&gt;
Ua ist die Spannung vom Ausgang zur (virtuellen) Masse am (-)Eingang.&lt;br /&gt;
(--&amp;gt; Pfeil einzeichnen und klarmachen, daß es egal ist, ob der Pfeil vom&lt;br /&gt;
Ausgang zur Masse geht oder vom Ausgang &amp;quot;entgegen der Stromrichtung&amp;quot; zur&lt;br /&gt;
virtuellen Masse an (-)!)&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von &amp;lt;math&amp;gt;I_{R3}=\frac{U_e}{R_3}&amp;lt;/math&amp;gt; ergibt sich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_a = -R_4 \cdot I_{R3} = -{{R_4} \over {R_3}} \cdot U_e.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Energie für den Stromtransport über &amp;lt;math&amp;gt;R_4&amp;lt;/math&amp;gt; stammt vom OPV! Sobald die Ladungen ausgehend von der Spannungsquelle &amp;lt;math&amp;gt;U_e&amp;lt;/math&amp;gt; die virtuelle Masse an (-) erreicht haben, hat &amp;lt;math&amp;gt;U_e&amp;lt;/math&amp;gt; seine gesamte Energie abgegeben.&lt;br /&gt;
&lt;br /&gt;
== Reale OPVs / Kennwerte ==&lt;br /&gt;
Abweichend vom idealen OPV besitzen reale OPVs diverse Einschränkungen und Kennwerte, die sie für verschiedene Einsätze mehr oder weniger prädestinieren.&lt;br /&gt;
&lt;br /&gt;
=== Leerlaufverstärkung ===&lt;br /&gt;
Die Leerlaufverstärkung gibt an, wie stark sich das Ausgangssignal i.A. der Änderung eines Eingangsignals statisch ändert, bzw nach dem Einschwingen erreichen könnte, wenn es nicht durch die Betriebsgrenzen limitiert wäre.&lt;br /&gt;
&lt;br /&gt;
=== Verstärkungs-Bandbreiteprodukt ===&lt;br /&gt;
Das Verstärkungs-Bandbreiteprodukt gibt an, bei welcher Verstärkung welche Bandbreite erreicht werden kann. Durch Rückkopplung kann die Verstärkung eingestellt werden. Bei kleinerer Verstärkung ergibt sich somit eine höhere Bandbreite, wenn das Produkt aus beiden konstant ist. Die Bandbreite bei der Verstärkung eins heißt Transitfrequenz (englisch &amp;quot;Unity Gain Frequency&amp;quot;). Das Verstärkungs-Bandbreiteprodukt ist entscheidend für das Kleinsignalverhalten.&lt;br /&gt;
&lt;br /&gt;
=== Anstiegsgeschwindigkeit ===&lt;br /&gt;
Bestimmend für das Großsignalverhalten ist neben dem Verstärkungs-Bandbreiteprodukt die Anstiegsgeschwindigkeit (slew rate), da bei hohen Ausgangsamplituden die Ausgangskurve eventuell zu steil wird, um richtig wiedergegeben zu werden.&lt;br /&gt;
&lt;br /&gt;
=== Gleichtaktverstärkung ===&lt;br /&gt;
Infolge des inhomogenen Aufbaus der internen Verstärkerstufen werden die beiden Eingangssignale nicht exakt gleich verstärkt, was in einen Gleichanteil und einen Differenzanteil aufgeteilt werden kann. Die nicht erwünschte Gleichtaktverstärkung bzw. ihr Gegenstück, die Gleichtaktunterdrückung (engl. &#039;&#039;common mode rejection ratio, CMRR&#039;&#039;) ist dabei ein Maß für die Qualität des OPVs. Klassische (VFB) OPV haben immer ein mit der Frequenz fallendes (-20 dB/Dekade) CMRR.&lt;br /&gt;
&lt;br /&gt;
=== Ein- und Ausgangsbereich ===&lt;br /&gt;
Wie weiter oben schon angesprochen ist die Ausgangsspannung eines OPVs begrenzt von der Versorgungsspannung und dem internen Aufbau des OPVs. Standard-OPV erreichen meist einen Ausgangsbereich, der bis circa 1-2 V an Versorgungsspannungen heran reicht, während sogenannte Rail-to-Rail (R2R) OPV sehr nah (bei niedriger Last bist auf wenige mV) an die Versorgungsspannungen herankommt. Das ist jedoch mit Abstrichen verbunden, sodass es in der Regel besser ist R2R OPV nur wenn nötig zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Ähnliche Beschränkungen gibt es auch für die Eingänge eines OPVs, hier werden im Wesentlichen drei Arten unterschieden:&lt;br /&gt;
&lt;br /&gt;
* Klassisch: Eingangsspannung darf nur bis wenige Volt an die Versorgung herankommen.&lt;br /&gt;
* Ground-Sensing: Die Eingangsspannung darf bis zur negativen Versorgung heruntergehen, klassische Vertreter sind LM324/LM358.&lt;br /&gt;
* Rail-to-Rail Input/Output (RRIO): R2R OPV, wo sowohl Eingänge als auch Ausgänge bis an die Versorgungsspannungen reichen.&lt;br /&gt;
&lt;br /&gt;
Bei klassischen Operationsverstärkern ist zu beachten, dass manche ein Verhalten namens &#039;&#039;phase reversal&#039;&#039; (Phasenumkehr) zeigen, wenn die Eingangsspannung den zulässigen Bereich überschreitet. Bei der Phasenumkehr dreht sich die Phase in der Eingangsstufe des OPVs um 180° und Rückkopplung wird zur Mitkopplung. Ein bekannter Vertreter dieser Art ist die TL06x/TL07x/TL08x Familie von OPV.&lt;br /&gt;
&lt;br /&gt;
== Verstärkergrundschaltungen ==&lt;br /&gt;
=== Grundbeschaltung mit Berechnung ===&lt;br /&gt;
[[Bild:Op-verstaerker-a.png]] [[Bild:Op-verstaerker-b.png]]&lt;br /&gt;
&lt;br /&gt;
In a) und b) verwenden wir den OPV als Verstärker und nutzen hier die Möglichkeit der Gegenkopplung, um definierte Verstärkungen zu erhalten. Wir gehen wieder davon aus, dass der OPV ein ideales Bauteil ist und daher seine Leerlaufverstärkung unendlich ist. Ebenso betrachten wir den Eingangswiderstand als unendlich.&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;&#039;a)&#039;&#039;&#039; ist ein invertierender Verstärker mit einem OPV dargestellt. Durch die Widerstände R3 und R4 wird die Verstärkung bestimmt:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;V = \frac{U_a}{U_e} = -\frac{R_4}{R_3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Verhältnis der beiden Widerstände bestimmt also die Verstärkung und somit die Ausgangsspannung:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_a = -\frac{R_4}{R_3} \cdot U_e &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder auch&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_a = V \cdot U_e&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das negative Vorzeichen drückt aus, dass es sich um einen invertierenden Verstärker handelt.&lt;br /&gt;
&lt;br /&gt;
Beim nichtinvertierenden Verstärker &#039;&#039;&#039;b)&#039;&#039;&#039; finden wir auch eine Rückkopplung über R6 zum invertierenden Eingang des OPVs. Die Verstärkung wird durch das Gegenkopplungsnetzwerk R6 und R7 bestimmt. Hier ist:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;V = 1 + \frac{R_6}{R_7}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Verstärkung von 1 ist sinnvoll, wenn eingangsseitig eine Spannungsquelle mit hohem Innenwiderstand verwendet wird. Für &amp;lt;math&amp;gt;\frac{R_6}{R_7} \to 0&amp;lt;/math&amp;gt; heißt die Schaltung &amp;quot;Spannungsfolger&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kleinere Werte als 1 lassen sich nicht realisieren. Die Ausgangsspannung errechnet sich also so:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_a = U_e \cdot \left (1 + \frac{R_6}{R_7}\right )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: Eine Eingangsspannung von 0,5 V soll auf den Wert 5 V verstärkt werden, es ist also eine Verstärkung V von 10 benötigt. R7 ist mit 10 k&amp;amp;Omega; vorgegeben. Also ist das Verhältnis&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac{R_6}{R_7} = V - 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einem Wert von 10 k&amp;amp;Omega; für R7 errechnet sich R6 zu&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
R_6 = (V - 1) \cdot R_7&lt;br /&gt;
    = (10 - 1) \cdot 10\,\mathrm{k\Omega}&lt;br /&gt;
    = 90\,\mathrm{k\Omega}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Ausgangsspannung Ua wird also:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
U_a =   U_e \cdot \left (1 + \frac{R_6}{R_7}\right )&lt;br /&gt;
   = 0{,}5\,\mathrm{V} \cdot \left (1 + \frac{90\,\mathrm{k\Omega}}{10\,\mathrm{k\Omega}}\right)&lt;br /&gt;
   = 5\,\mathrm{V}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nichtinvertierender Verstärker mit Offset ===&lt;br /&gt;
Eine Abwandlung des nichtinvertierenden Verstärkers erlaubt es, einen konstanten Offset vorzugeben. D.h. von der zu verstärkenden Eingangsspannung U(e) wird eine konstante Spannung U(o) abgezogen und die Differenz verstärkt. Auf der Ausgangsspannung U(a) findet sich die Offsetspannung U(o) allerdings wieder.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-verstaerker-offset.png]]&lt;br /&gt;
&lt;br /&gt;
Es gilt:&lt;br /&gt;
&lt;br /&gt;
Offsetspannung: &lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
U_o =  U_V \cdot \frac{R_2}{R_1 + R_2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
mit U(V) = Versorgungsspannung an R1&lt;br /&gt;
&lt;br /&gt;
Verstärkung:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
V = 1 + \frac{R_3}{\frac{R_1 \cdot R_2}{R_1 + R_2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgangsspannung:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
U_a = (U_e - U_o) \cdot V + U_o&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Vorteil dieser Schaltung ist, daß nur die Differenz verstärkt wird. Damit kann eine größere Verstärkung gewählt werden. Zu berücksichtigen ist dabei, daß die Ausgangsspannung U(a) um die Offsetspannung U(o) überlagert ist.&lt;br /&gt;
&lt;br /&gt;
=== Spannungsfolger (Impedanzwandler) ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-spannungsfolger1.png]]&lt;br /&gt;
&lt;br /&gt;
Eine Abart des nichtinvertierenden Verstärkers stellt der Spannungsfolger dar. Beim nichtinvertierenden Verstärker errechnet sich die Ausgangsspannung aus:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_a = U_e \cdot \left (1 + \frac{R_2}{R_1}\right )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn wir R2 auf 0Ω (mit R1 &amp;gt; 0) oder R1 auf unendlich (mit R2 &amp;lt; ∞) ändern, erhalten wir daher:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;V = 1 + \frac{R_2}{R_1} = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Spannungsfolger hat also eine Verstärkung V von 1.&lt;br /&gt;
&lt;br /&gt;
Umgezeichnet sieht die Schaltung so aus: &lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-spannungsfolger2.png]]&lt;br /&gt;
&lt;br /&gt;
Was soll das nun? Wir nutzen die Eigenschaft, dass ein idealer OP einen unendlichen Eingangswiderstand und einen Ausgangswiderstand von 0Ω hat. Real sieht das natürlich anders aus: so liegt der Eingangswiderstand Re bei normalen OPs in der Größenordnung von 1MOhm bis &amp;lt;math&amp;gt;10^{15} \Omega&amp;lt;/math&amp;gt;, der Ausgangswiderstand Ra im Bereich 20Ω bis 1kOhm. Deshalb spricht man bei dieser Schaltung von einem Impedanzwandler. Eine solche Schaltung kann also aus einer relativ hochohmigen Spannungsquelle eine niederohmige, durch Folgeschaltungen belastbare Spannungsquelle machen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-spannungsfolger3.png|left]]&lt;br /&gt;
&lt;br /&gt;
In dem nebenstehenden Beispiel ist eine einfache Möglichkeit zur Erzeugung einer Referenzspannung gezeigt. Es kommt eine normale Stabilisierungsschaltung mit einer Zenerdiode zur Anwendung, die aber nicht mehr die schlechten Eigenschaften der Standardbeschaltung mit lediglich Widerstand und Zenerdiode  hat. Bei einer Zenerdiode hängt die genaue Spannung davon ab, welcher Strom durch sie fliesst. Dieser Strom (und damit auch die Höhe der Zenerspannung) würde sich aber ändern, wenn ein Verbraucher die Zenerdiode direkt mit seinem Stromfluss belasten würde. Als Folge davon würde die Spannungslage der Zenerdiode je nach Verbraucher leicht schwanken. Durch den Spannungsfolger wird das verhindert, weil der jetzt den vom Verbraucher gezogenen Strom bereitstellt.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-spannungsfolger4.png|left]]&lt;br /&gt;
&lt;br /&gt;
Eine weitere Anwendungsmöglichkeit wäre das hochohmige Auskoppeln einer Brückenspannung. Die Brückenschaltung selbst wird durch Folgeschaltungen nicht mehr belastet, alle anderen Eigenschaften bleiben erhalten.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Der Komparator ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-komp-a.png]] [[Bild:Op-komp-b.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In der einfachsten Beschaltung des Operationsverstärkers erhält man einen Komparator. Es fällt auf, dass kein Gegenkopplungsnetzwerk vorhanden ist. Der OP arbeitet daher mit seiner vollen Leerlaufverstärkung Vo. Dies bedeutet, dass bereits eine kleine Eingangsspannung genügt, um den OP in die Begrenzung zu treiben. Das heißt, die Ausgangsspannung Ua wird annähernd die Betriebsspannung erreichen.&lt;br /&gt;
&lt;br /&gt;
Achtung: nicht jeder OP ist als Komparator verwendbar! Manche haben Schutzdioden zwischen invertierendem und nichtinvertierendem Eingang, die bei einem zu großen Spannungsunterschied das Signal kurzschließen. Ob das bei einem konkreten OP-Typ der Fall ist, findet man im Datenblatt: bei den absolute maximum ratings ist die &amp;quot;Differential Input Voltage&amp;quot; angegeben. Wenn dort nur 1 bis 2 Volt stehen, ist der OP nicht als Komparator einsetzbar.&lt;br /&gt;
Die sichere Alternative ist jedoch, einen speziellen Komparator-IC  zu verwenden. Diese sind im Grunde auch nur OPs, aber für den Komparator-Betrieb optimiert. &lt;br /&gt;
&lt;br /&gt;
Beim Komparator gibt es zwei Möglichkeiten der Beschaltung: die invertierende nach a) und die nichtinvertierende Beschaltung nach b). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Berechnungsbeispiel für Schaltung b)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Angenommen die Leerlaufverstärkung Vo von 40000 und eine Eingangsspannung von 0,1 Volt. Die Betriebsspannungen Vcc und Vee legen wir auf +/- 24 V fest. Damit ergibt sich theoretisch für Ua:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_a =  V_0 \cdot U_e = 40000 \cdot 0{,}1\,\mathrm{V} = 4000\,\mathrm{V}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das ist natürlich ein unrealistischer Wert, da Ua nicht höher sein kann als die Betriebsspannung. Also anders ausgedrückt: Bei welcher Spannung Ue erreicht der OP seine Aussteuerungsgrenze?&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_e = V_{cc} / V_0 = 24\,\mathrm{V} / 40000 = 0{,}6\,\mathrm{mV}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das bedeutet, dass eine Spannung von 0,6 mV ausreicht um den Komparator in die Begrenzung zu treiben.&lt;br /&gt;
&lt;br /&gt;
Das gleiche gilt auch für den invertierenden Komparator, allerdings wird hier der OP in die negative Begrenzung gebracht.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;-U_a = V_0 \cdot U_e&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese beiden einfachsten Komparatorschaltungen werden so nur sehr selten verwendet, weil sie keine Hysterese haben. D.h. es gibt nur eine Umschaltschwelle. Dadurch kann der Ausgang schwingen, wenn das Eingangssignal sehr nah an der Umschaltschwelle liegt, weil kleinste Störungen im Signal den Komparator mehrfach schalten lassen (dafür reichen wenige mV!). Ausserdem sind Operationsverstärker als Komparator relativ langsam, das liegt am inneren Aufbau. Echte Komparatoren sind deutlich schneller und sie haben auch kein Problem damit, wenn der Ausgang in die Sättigung geht. Darum beschaltet man einen OPV bzw. Komparator meistens mit Hysterese. Das nennt man dann einen [[Schmitt-Trigger]].&lt;br /&gt;
&lt;br /&gt;
=== Der Addierer (Summierverstärker) ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-addierer.png]]&lt;br /&gt;
&lt;br /&gt;
Ein als invertierender Verstärker beschalteter OP lässt sich so beschalten, dass ein Summensignal aus den Eingangsspannungen gebildet wird. Um die Funktion deutlich zu machen, ist eine Betrachtung der einzelnen Ströme nötig.&lt;br /&gt;
&lt;br /&gt;
In einem invertierenden Verstärker wird sich die Ausgangsspannung immer so einstellen, dass der invertierende Eingang Massepotential hat. Die virtuelle Masse (VM) unterscheidet sich von einer &amp;quot;normalen&amp;quot; Masse dadurch, dass das Potential durch einen Regelungsvorgang zustande kommt. &lt;br /&gt;
An der virtuellen Masse (VM) gilt die Knotenpunktregel, wonach die Summe der zufließenden Ströme gleich der Summe der abfließenden Ströme ist.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;I_1 + I_2 = -I_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sofern &amp;lt;math&amp;gt;U_{e1}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;U_{e2}&amp;lt;/math&amp;gt; bekannt sind, lässt sich die Gleichung umformen in:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac{U_{e1}}{R_1} + \frac{U_{e2}}{R_2} = -\frac{U_a}{R_3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach Ua aufgelöst ergibt sich:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;-U_a = \left (U_{e1} \cdot \frac{R_3}{R_1}\right ) + \left (U_{e2} \cdot \frac{R_3}{R_2}\right ) + ... + \left (U_{en} \cdot \frac{R_3}{R_n}\right )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einen Sonderfall gibt es, wenn die Widerstände R1 und R2 gleich sind. Dann gilt&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_1 = R_2 = R_x&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
und damit&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;-U_a = \frac{R_3}{R_x} \cdot (U_{e1} + U_{e2})&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Der Subtrahierer (Differenzverstärker) ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-subtrahierer.png]]&lt;br /&gt;
&lt;br /&gt;
Ein Subtrahierer ist die Zusammenschaltung eines invertierenden und eines nichtinvertierenden Verstärkers. Schliessen wir Punkt Ue1 nach Masse kurz und steuern Ue2 an, arbeitet die Schaltung als nichtinvertierender Verstärker. Wird Ue2 nach Masse verbunden und Ue1 angesteuert, verhält sich die Schaltung als invertierender Verstärker (R7 vorerst nicht beachten).&lt;br /&gt;
&lt;br /&gt;
Für den 1. Fall (nichtinvertierender Verstärker) gilt:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;U&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; = U&amp;lt;sub&amp;gt;e2&amp;lt;/sub&amp;gt; (1 + R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; )&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für den 2. Fall (invertierender Verstärker) gilt:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;U&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; = -U&amp;lt;sub&amp;gt;e1&amp;lt;/sub&amp;gt; R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der dritte Fall ist die Ansteuerung beider Eingänge:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;U&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; = -U&amp;lt;sub&amp;gt;e1&amp;lt;/sub&amp;gt;  R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; + U&amp;lt;sub&amp;gt;e2&amp;lt;/sub&amp;gt;  (1 + R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; )&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Schaltung ist gut für eine Erklärung, praktisch aber taugt sie nichts. Denn liegen an den Eingängen gleiche Spannungen an, ist die Ausgangsspannung nicht 0, wie eigentlich zu vermuten wäre. Deshalb ändern wir die Schaltung und fügen R7 ein. Jetzt stellt sich am Punkt + des OPs die Spannung&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;U&amp;lt;sub&amp;gt;e2+&amp;lt;/sub&amp;gt; = U&amp;lt;sub&amp;gt;e2&amp;lt;/sub&amp;gt; R&amp;lt;sub&amp;gt;7&amp;lt;/sub&amp;gt;\(R&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt; + R&amp;lt;sub&amp;gt;7&amp;lt;/sub&amp;gt;)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ein. Wenn wir das berücksichtigen, erhalten wir endlich einen richtigen Subtrahierer:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;U&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; = U&amp;lt;sub&amp;gt;e2&amp;lt;/sub&amp;gt;  (1 + R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ) R&amp;lt;sub&amp;gt;7&amp;lt;/sub&amp;gt;\(R&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt; + R&amp;lt;sub&amp;gt;7&amp;lt;/sub&amp;gt;) - R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt;  U&amp;lt;sub&amp;gt;e1&amp;lt;/sub&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies gilt für alle Subtrahierer, obwohl es natürlich auch hier wieder zwei Sonderfälle gibt; nämlich a) wenn alle Gegenkopplungswiderstände gleich sind:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt; = R&amp;lt;sub&amp;gt;7&amp;lt;/sub&amp;gt; = R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; = R&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dann ist &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;U&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; = U&amp;lt;sub&amp;gt;e2&amp;lt;/sub&amp;gt; - U&amp;lt;sub&amp;gt;e1&amp;lt;/sub&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder b) wenn die Widerstandsverhältnisse gleich sind  :&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; = R&amp;lt;sub&amp;gt;7&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann ergibt sich für Ua:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;U&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; =  (U&amp;lt;sub&amp;gt;e2&amp;lt;/sub&amp;gt; R&amp;lt;sub&amp;gt;7&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt; ) -  (U&amp;lt;sub&amp;gt;e1&amp;lt;/sub&amp;gt; R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; )&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder noch einfacher:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;i&amp;gt;U&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; = (U&amp;lt;sub&amp;gt;e2&amp;lt;/sub&amp;gt; -U&amp;lt;sub&amp;gt;e1&amp;lt;/sub&amp;gt;)  R&amp;lt;sub&amp;gt;6&amp;lt;/sub&amp;gt;\R&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Addierer/Subtrahierer mit unterschiedlichen Faktoren ===&lt;br /&gt;
Legt man nicht den + sondern den - Eingang des Operationsverstärkers als Bezugspunkt zur Masse mit einem Widerstand fest, übernimmt der Vorwiderstand vom - Eingang, R4 die Aufgabe von R5.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Op-addsub.png]]&lt;br /&gt;
&lt;br /&gt;
Hier die Schaltung die addieren und subtrahieren kann, mit unterschiedlichen Faktoren.&lt;br /&gt;
Sie kann verwendet werden für Aufgaben wie: Gesucht ist eine Schaltung, die aus 0...2.56 V eine Spannung von -10V...10V macht. Für dieses Beispiel wird hier die Dimensionierung durchgeführt:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left&amp;quot; &lt;br /&gt;
|&amp;lt;math&amp;gt;U_{e1} = 5\,\mathrm{V}&amp;lt;/math&amp;gt;&lt;br /&gt;
|Einfach festgelegt, muss nur ein positiver Wert sein&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;R_6 = 200\,\mathrm{k\Omega}&amp;lt;/math&amp;gt;&lt;br /&gt;
|Einfach festgelegt, könnte auch 100k oder 500k sein&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;U_{e2i} = 0\,\mathrm{V},\, U_{ai} = -10\,\mathrm{V}&amp;lt;/math&amp;gt;&lt;br /&gt;
|gewählter momentaner &#039;&#039;Zustand 1&#039;&#039;, Ue2 = 0V ist günstig für Berechnung, Ua ist die dazupassende Ausgangsspannung&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;U_{e2ii} = 2{,}56\,\mathrm{V},\, U_{aii} = 10\,\mathrm{V}&amp;lt;/math&amp;gt;&lt;br /&gt;
|gewählter beliebiger &#039;&#039;Zustand 2&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;U_m = U_{e2}&amp;lt;/math&amp;gt;&lt;br /&gt;
|Gleichgewicht am Eingang&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;I_a + I_b = I_c&amp;lt;/math&amp;gt;&lt;br /&gt;
|In den Eingang fließt &amp;quot;kein&amp;quot; Strom&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\frac{U_a-U_{e2}}{R_6} + \frac{U_{e1}-U_{e2}}{R_4} = \frac{U_{e2}}{R_c}&amp;lt;/math&amp;gt;&lt;br /&gt;
|Gleichung mit den Unbekannten R4 und Rc&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\frac{U_{ai}-U_{e2i}}{R_6} + \frac{U_{e1}-U_{e2i}}{R_4} = \frac{U_{e2i}}{R_c}&amp;lt;/math&amp;gt;&lt;br /&gt;
|Variablen für &#039;&#039;Zustand 1&#039;&#039; eingesetzt, bildet 1. Gleichung&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\frac{U_{aii}-U_{e2ii}}{R_6} + \frac{U_{e1}-U_{e2ii}}{R_4} = \frac{U_{e2ii}}{R_c}&amp;lt;/math&amp;gt;&lt;br /&gt;
|Variablen für &#039;&#039;Zustand 2&#039;&#039; eingesetzt, bildet 2. Gleichung&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;R_4=-\frac{R_6\cdot U_{e1}}{U_{ai}}&amp;lt;/math&amp;gt;&lt;br /&gt;
|2 Gleichungen mit 2 Unbekannten, Lösung durch Umformen der 1. Gleichung nach R4 und einsetzen von Ue2i=0 (freundlicherweise fällt die 2. Unbekannte dabei raus)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;R_4 = 100\,\mathrm{k\Omega}&amp;lt;/math&amp;gt;&lt;br /&gt;
|restliche Werte eingesetzt&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;R_c=\frac{R_6\cdot U_{e1}\cdot U_{e2ii}}{U_{aii}\cdot U_{e1}-U_{ai}\cdot (U_{e1}-U_{e2ii})-U_{e1}\cdot U_{e2ii}}&amp;lt;/math&amp;gt;&lt;br /&gt;
|Ergebnis für R4 in die 2. Gleichung einsetzen und Umformen nach Rc&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;R_c = 41{,}6\,\mathrm{k\Omega}&amp;lt;/math&amp;gt;&lt;br /&gt;
|Werte eingesetzt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Der Instrumenten-Verstärker ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Instrument.png]]&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil des Subtrahierers ist sein geringer Eingangswiderstand. Um den nahezu unendlichen Eingangswiderstand des verwendeten Operationsverstärkers zu erreichen, kann man einfach vor beide Eingänge je einen Impedanzwandler vorschalten.&lt;br /&gt;
Die hier beschriebene Schaltung ist um drei Widerstände erweitert und ermöglicht die Einstellung der Differenz-Verstärkung über nur einen Widerstand, nämlich R2.&lt;br /&gt;
&lt;br /&gt;
Am invertierenden Eingang von IC1A gilt (Knotenregel):&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac{U_{a1}-U_{e1}}{R_1}-\frac{U_{e1}-U_{e2}}{R_2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Am invertierenden Eingang von IC1C gilt (Knotenregel):&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac{U_{a2}-U_{e2}}{R_1}+\frac{U_{e1}-U_{e2}}{R_2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subtrahiert man die beiden Gleichungen voneinander, erhält man:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_{a2}-U_{a1}=(U_{e2}-U_{e1})\cdot\left (1+\frac{2\cdot R_1}{R_2}\right )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Letztere Differenz ist die Eingangsspannung eines normalen Subtrahierers mit der Verstärkung 1.&lt;br /&gt;
&lt;br /&gt;
Also ergibt sich als Ausgangsspannung:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_a=(U_{e2}-U_{e1}) \cdot \left (1+\frac{2\cdot R_1}{R_2}\right )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Differenzverstärkung beträgt demnach:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;V=\left (1+\frac{2\cdot R_1}{R_2} \right )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anwendung: Auswertung von Brückenschaltungen, wie Drucksensoren oder Dehnungsmessstreifen, die durch den Eingangswiderstand der Messschaltung nicht belastet werden dürfen.&amp;lt;br&amp;gt;&lt;br /&gt;
Instrumenten-Verstärker kann man auch fertig kaufen. Im INA102 ist die komplette Schaltung integriert. Für R2 sind 3 verschiedene Werte eingebaut, die bei passender Verschaltung eine Verstärkung von 1, 10, 100 oder 1000 ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Da die Gleichtaktunterdrückung hauptsächlich von der Übereinstimmung der Widerstände abhängt, sind für viele Standardanwendungen, insbesondere solche mit niedriger erforderlicher Bandbreite, integrierte Instrumentenverstärker zu bevorzugen.&lt;br /&gt;
&lt;br /&gt;
=== Der Multiplizierer (Mischer) ===&lt;br /&gt;
&lt;br /&gt;
=== Der Potentialdifferenzverstärker ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Potentialdifferenzverstärker.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Der Potentialdifferenzverstärker ist eine OPV-Schaltung zum gewichteten Addieren und Subtrahieren beliebiger Spannungen.&lt;br /&gt;
&lt;br /&gt;
Falls die Bedingung &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sum\frac{R_{0}}{R_{i}}=\sum\frac{R_{0}^{&#039;}}{R_{i}^{&#039;}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
erfüllt ist, vereinfacht sich der Term für die Ausgangsspannung zu folgendem Term:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
U_{a}=\sum\frac{R_{0}^{&#039;}}{R_{i}^{&#039;}}U_{i}^{&#039;}-\sum\frac{R_{0}}{R_{i}}U_{i}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Der Logarithmierer ===&lt;br /&gt;
Logarithmierer werden mit der Kennlinie einer Diode konstruiert, die einen eingeprägten Strom in eine Spannung übersetzt.&lt;br /&gt;
&lt;br /&gt;
= Spannungsversorgung und Beschaltung =&lt;br /&gt;
&lt;br /&gt;
== Betrieb mit einfacher Versorgungsspannung ==&lt;br /&gt;
&lt;br /&gt;
Häufig möchte man eine Wechselspannung wie z.B. ein Audiosignal, das auch negative Spannungen enthält, mit einem Opamp verstärken, hat aber nur eine einfache, in Bezug zu Masse positive Versorgungsspannung zur Verfügung. Dafür bieten sich folgende Schaltungen an, die in der Literatur leider häufig vernachlässigt werden.&lt;br /&gt;
&lt;br /&gt;
Durch die Kondensatoren können die Operationsverstärker in geeigneten Arbeitspunkten betrieben werden, obwohl die Eingangs- und Ausgangsspannungen echte Wechselspannungen sind. Nachteil ist die Hochpasswirkung der Kondensatoren in Verbindung mit den verwendeten Widerständen. Die Grenzfrequenz der Hochpässe muss tief genung gewählt werden, um den gewünschten Frequenzbereich verstärken zu können. Zur Verstärkung von Gleichspannungen (z.B. aus Temperatursensoren) sind diese Schaltungen nicht geeignet. &lt;br /&gt;
&lt;br /&gt;
=== Nichtinvertierender Verstärker ===&lt;br /&gt;
&lt;br /&gt;
[[Bild: Ss_opamp1.png]]&lt;br /&gt;
&lt;br /&gt;
Der positive Eingang wird mit einem Spannungsteiler (R3 und R5) auf die halbe Betriebsspannung gelegt. Dieser Spannung wird dann die zu verstärkende Eingangswechselspannung überlagert. Mit den Kondensatoren am Eingang (C1) und Ausgang (C2) wird der Gleichspannungsanteil abgekoppelt.&lt;br /&gt;
&lt;br /&gt;
Die Verstärkung hat in diesem Beispiel für Wechselspannung den Wert 11 (Formel wie oben), für Gleichspannung aber den Wert 1, da C4 für Gleichspannung einen unendlichen Widerstand darstellt. C3 sollte dorthin führen, wo das Eingangssignal seinen Bezugspunkt hat, also die Abschirmung der Cinch-Buchse, während R5 dorthin führt, von wo der Operationsverstärker seine negative Versorgungsspannung bekommt, falls das nicht die gleichen Potentiale, hier GND, sein sollten.&lt;br /&gt;
&lt;br /&gt;
=== Invertierender Verstärker ===&lt;br /&gt;
&lt;br /&gt;
Das Prinzip funktioniert analog auch für die invertierende Beschaltung:&lt;br /&gt;
&lt;br /&gt;
[[Bild: Ss_opamp2.png]]&lt;br /&gt;
&lt;br /&gt;
== Betrieb mit negativer Hilfsspannung ==&lt;br /&gt;
&lt;br /&gt;
Alternativ lässt sich auch eine negative Hilfsspannung erzeugen. Damit bekommt der Operationsverstärker seine &amp;quot;Plus-Minus&amp;quot;-Versorgung, und er kann Wechselspannungen um das Ground-Potential herum problemlos verstärken.&lt;br /&gt;
&lt;br /&gt;
Die negative Hilfsspannung erzeugt man zweckmässigerweise mit einer Ladungspumpe. Dazu bieten sich zwei Möglichkeiten an:&lt;br /&gt;
&lt;br /&gt;
* einen speziellen IC nach der Art eines ICL 7660&lt;br /&gt;
* eine Rechteckspannung auf einen Spannungsverdoppler geben. Dieser besteht aus 2 Dioden und 2 Kondensatoren. Die Konfiguration sollte natürlich so sein, dass eine negative Hilfsspannung erzeugt wird. Schaltbeispiele gibt&#039;s im Netz. Als Rechteckspannung kann ein unbenutzter PWM-Ausgang dienen, der mit 50% Tastverhältnis läuft.&lt;br /&gt;
&lt;br /&gt;
Ein Ripple auf der negativen Hilfsspannung wird von modernen Operationsverstärkern wirkungsvoll unterdrückt. Die PSRR (power supply rejection ratio) weist oft Werte um 120 dB auf (bei 120 Hz, darüber fällt sie meist mit 20 dB/Dekade).&lt;br /&gt;
&lt;br /&gt;
Siehe auch http://de.wikipedia.org/wiki/Ladungspumpe#Negative_Ausgangsspannungen&lt;br /&gt;
&lt;br /&gt;
= Kaufempfehlung =&lt;br /&gt;
LM358 2 OPs in einem Gehäuse oder &lt;br /&gt;
LM324 4 OPs in einem Gehäuse&lt;br /&gt;
&lt;br /&gt;
MCP6001/6004 CMOS OPs mit Rail to Rail Input und Output, tiefem Stromverbrauch, und geringer Versorgungsspannung&lt;br /&gt;
&lt;br /&gt;
Preis jeweils ca. 0,30€ aus Deutschland oder ca. 2 bis 4 cent aus China (AliExpress, ebay, …).&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[Standardbauelemente#Operationsverst.C3.A4rker|Standardbauelemente - Operationsverstärker]].&lt;br /&gt;
&lt;br /&gt;
Wer Audio OpAmps sucht - tangentsoft.net hat mal welche unter die Lupe genommen: [http://www.tangentsoft.net/audio/opamps.html Notes on Audio OpAmps]&lt;br /&gt;
&lt;br /&gt;
= Siehe auch =&lt;br /&gt;
* [[Schmitt-Trigger]]&lt;br /&gt;
* [[Aktiver RC-Bandpass]]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/396747#4567112 Forumsbeitrag]: Pegelanpassung 0 bis 3V auf -15 bis +20V&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/466046?goto=5686087#5686087 Forumsbeitrag]: Strommessung an der Versorgungsspannung, Fehlerbetrachtung und verbesserte Schaltung&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/510652?goto=6542833#6542656 Forumsbeitrag]: &amp;quot;bouncing ball&amp;quot; Schaltung gesucht&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/512469#6575560 Forumsbeitrag]: Maximum von zwei 4-20mA Eingängen auf einen 4-20mA Ausgang bilden&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/514936#new Forumsbeitrag]: 1500V Linearverstärker&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/519089#6704061 Forumsbeitrag]: Suche OpAmp RRIO bis 36V out&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/524737?goto=6822386#6820279 Forumsbeitrag]: Sinusgenerator mit HV-Endstufe gesucht&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
*[http://www.ti.com/ww/en/bobpease/assets/AN-31.pdf AN-31] - National Semiconductor Application Note 31 mit vielen weiteren OP-Schaltungen&lt;br /&gt;
*[https://e2echina.ti.com/cfs-file/__key/telligent-evolution-components-attachments/00-52-01-00-00-04-59-46/OP-amp-for-everyone.pdf Op Amps for Everyone], sehr umfangreiches Dokument zu OPV und deren Anwendung, englisch &amp;lt;!-- ursprünglicher Link ist tot: http://www-s.ti.com/sc/psheets/slod006b/slod006b.pdf, ebenso http://www.foxcomputer.se/Op%20Amps%20For%20Everyone%20SLOD006B.pdf --&amp;gt;&lt;br /&gt;
* [http://www.elektronik-kompendium.de/sites/bau/0209092.htm Operationsverstärker im ElKo]&lt;br /&gt;
*[http://www.inf.fu-berlin.de/lehre/WS00/peg/folien/Peg_v7a.pdf OP Teil 1], [http://www.inf.fu-berlin.de/lehre/WS00/peg/folien/Peg_v7b.pdf OP Teil 2] - OP-Schaltungen (deutsch)&lt;br /&gt;
* [http://www.roboternetz.de/wissen/index.php/Operationsverst%C3%A4rker RN-Wissen Operationsverstärker]&lt;br /&gt;
* [http://www.national.com/AU/design/0,4706,268_0_,00.html Online Seminar] von National Semiconductor&lt;br /&gt;
* [http://www.franzis.de/elo-das-magazin/grundlagen-und-ausbildung/operationsverstaerker/der-operationsverstaerker ELO-Online-Magazin, Franzis-Verlag], [http://www.franzis.de/online-shop/elektronik/lernpakete-elektronik/lernpaket-elektronik-mit-ics Lernpaket Elektronik mit ICs] &amp;quot;Elektronische Experimente mit integriertem Schaltkreis&amp;quot;, Kasten mit Steckbrett/Bauelementen (ca. 40EUR), &lt;br /&gt;
* [https://web.archive.org/web/20130828131053/http://elektronikwissen.net/opamp/9-opamp-wissen.html OpAmp Praxis], Praktikertipps + schwingende Operationsverstärker in den Griff bekommen &amp;lt;!-- ursprünglicher Link ist tot --&amp;gt;&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Frequency_multiplier Frequenzvervielfacher]&lt;br /&gt;
* [https://sound-au.com/appnotes/an001.htm Präzisionsgleichrichter], engl.&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=com.wdcreative.elektropro ElektroEasy-App], Berechnung von OPVs&lt;br /&gt;
* [http://www.elektronikinfo.de/strom/operationsverstaerker.htm Grundlagen Operationsverstärker]&lt;br /&gt;
* [http://www.elektronikinfo.de/strom/op_rauschen.htm Rauschverhalten von OpAmps]&lt;br /&gt;
* [https://www.edn.com/class-ab-inverting-amp-uses-two-floating-amplifier-cells/ Class AB inverting amp uses two floating-amplifier cells], HV-Verstärker mit +/-500V Ausgangsspannung&lt;br /&gt;
&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Bauteile]]&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Oszilloskop&amp;diff=104974</id>
		<title>Oszilloskop</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Oszilloskop&amp;diff=104974"/>
		<updated>2022-02-02T14:13:12Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: /* Allgemeines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein &#039;&#039;&#039;Oszilloskop&#039;&#039;&#039; dient zur grafischen Darstellung des Spannungsverlaufs eines oder mehrerer elektrischer Signale in einem einstellbaren Zeitfenster. Es ist das wichtigste Werkzeug der Elektrotechniker.&lt;br /&gt;
&lt;br /&gt;
== Anfragen bezüglich Kaufberatung im Forum ==&lt;br /&gt;
&lt;br /&gt;
=== Kritik an den Anfragen ===&lt;br /&gt;
Im Forum finden sich regelmäßig Anfragen nach individueller Beratung zum Oszilloskopkauf. Die Anzahl solcher Oszilloskop-Threads hat schon lange die 1000 überschritten. Sie sind langweilig, eine Qual und oft unnütz - besonders dann, wenn sich der Fragesteller offenbar nicht mit den Grundlagen eines Oszilloskops und den wichtigsten Kennzahlen bekanntgemacht hat oder nicht einmal weiß, was er überhaupt messen will. Auch, wenn ein Fragesteller ein paar Grundlagen besitzt, hat er anscheinend meistens keine Lust, verständlich darzustellen, was er genau will und lässt sich stattdessen umständlich befragen.&lt;br /&gt;
&lt;br /&gt;
Den meisten regelmäßigen Forumbenutzern ist daher gründlich die Lust an Oszilloskop-Threads vergangen. Dort &amp;quot;diskutieren&amp;quot; eigentlich nur noch Trolle und anonyme Gäste, die oft genug nur Werbung über Billigangebote über die x-te Ausgabe einer billigen, als Oszilloskop bezeichneten Plastikkiste, einem super tollen eBay-Schnäppchen oder angeblicher asiatischer Wundertüten.&lt;br /&gt;
&lt;br /&gt;
==== Links für Anfänger ====&lt;br /&gt;
Wer sich ernsthafte Beratung wünscht und eine &amp;quot;sanfte&amp;quot; Einführung in das Thema sucht, kann sich die englischsprachige YouTube-Videos von AfroTechMods anschauen:&lt;br /&gt;
&lt;br /&gt;
[http://afrotechmods.com/tutorials/2011/11/27/oscilloscope-tutorials/ http://afrotechmods.com/tutorials/2011/11/27/oscilloscope-tutorials]&lt;br /&gt;
&lt;br /&gt;
Dazu passt auch sein Tutorial über Funktionsgeneratoren:&lt;br /&gt;
[http://afrotechmods.com/tutorials/2011/11/27/function-generator-tutorial/ http://afrotechmods.com/tutorials/2011/11/27/function-generator-tutorial].&lt;br /&gt;
&lt;br /&gt;
Eine gute Einführung bilden auch zwei Videotutorials der Technischen Universität Graz. Im [https://youtu.be/UzpBQq2X9aA ersten Tutorial (https://youtu.be/UzpBQq2X9aA)] werden die grundlegenden Bedienelemente, als auch Themen wie Skalierung, Offset, Kopplung und Trigger behandelt. Im [https://youtu.be/jiRPqGFmNiI zweiten Tutorial (https://youtu.be/jiRPqGFmNiI)] geht es um Tastköpfe, den XY Modus, die Single Shot Funktion, Mathematik- und Messfunktionen, sowie Cursors.&lt;br /&gt;
&lt;br /&gt;
===Maßgeschneidert?===&lt;br /&gt;
Besonders die immer wiederkehrende Forderung, dass es unbedingt das maßgeschneiderte Oszilloskop zum Superpreis genau für den Fragesteller geben muss, ist sinnlos. Wer mit diesem Anspruch kommt, der wird enttäuscht werden. Das gibt es nicht, und gute Oszilloskope kosten Geld, da qualitativ hochwertige Geräte keine Massenware sind. Lediglich billige Geräte werden in grosser Zahl hergestellt und sind entsprechend preiswert, diese sind jedoch für anspruchsvolle Anwender meist untauglich, da genau an den wichtigen Dingen gespart und nur auf Optik gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Gebrauchte Oszilloskope ===&lt;br /&gt;
Wer wenig Erfahrung mit Elektronikreparaturen hat, sollte sehr vorsichtig sein und den Markt gut beobachten.&lt;br /&gt;
 &lt;br /&gt;
Bei Gebrauchtware gibts stets das Risiko, ein defektes oder verbasteltes Gerät von Privat zu erwerben, deshalb sollte sich ein Käufer vorher die Rückgabemöglichkeit schriftlich zusichern lassen. Vom Kauf auf reinen Kleinanzeigenplattformen, wo der Verkäufer keinerlei Identitätsprüfung unterzogen wird, ist immer abzuraten.&lt;br /&gt;
&lt;br /&gt;
Vorsicht ist auch bei gewieften Formulierungen geboten, die einen Totalschaden nur umschreiben, so wie z.B. &amp;quot;Dachbodenfund&amp;quot;, &amp;quot;Keine Ahnung davon&amp;quot;, &amp;quot;Keine Möglichkeit zu testen&amp;quot; oder &amp;quot;Funktioniert, aber aus rechtlichen Gründen (Garantie) als defekt für Bastler&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
Häufig sind angebotene Geräte auch ehemalige &amp;quot;Fernseh&amp;quot;-Oszis, d.h. sie stammen aus der Zeit, als noch Bildröhren-TVs repariert wurden. Ihr Einsatzbereich endet i.d.R. bei mit 10-20 Mhz Bandbreite, mehr war zur TV-Reparatur nicht notwendig. Solche Geräte sind heutzutage kaum brauchbar wenn man einmal mehr als NF und niedere HF untersuchen will.&lt;br /&gt;
&lt;br /&gt;
Es gibt kaum einen Markt für Topgeräte. Gute gebrauchte Geräte gibt es z.B. auf Fachbörsen für Funk und Elektronik, auch geben professionelle Gebrauchthändler Gewährleistung oder Garantie - allerdings oft zu derart überhöhten Preisen, dass ein Neukauf attraktiver ist.&lt;br /&gt;
&lt;br /&gt;
Will man wirklich ein geeignetes Gebrauchtgerät finden, so muß man vorher seine Anforderungen formulieren:&lt;br /&gt;
&lt;br /&gt;
* Welche Signale werde ich untersuchen? Die höchste denkbare Frequenz *3 bestimmt die Bandbreite&lt;br /&gt;
* Wieviele Kanäle brauche ich? Selbst ein I2c benötigt zwei Kanäle zur Beobachtung, ein SPI mindestens 3.&lt;br /&gt;
* Muß ich Messungen dokumentieren? Nein, dann reicht ein vielleicht ein gebrauchtes HP 54xxx, sehr gute Geräte gehen bis 4 Kanäle, 500MHz Bandbreite und 1Gs/s. Ja, dann sollte eine USB- (Treiber aktuell verfügbar?) oder LAN-Schnittstelle existieren.&lt;br /&gt;
&lt;br /&gt;
Historische Exportmöglichkeiten wie RS232-Schnittstelle oder Floppy-Drive sollte man sich aber nur antun, wenn man wirklich sicher ist, auch in 5 Jahren diese noch verwenden zu können.&lt;br /&gt;
&lt;br /&gt;
Mit den entsprechenden Kenntnissen und Erfahrung konnten aber schon viele Geräte wiederbelebt werden.&lt;br /&gt;
&lt;br /&gt;
=== Erfahrungen? ===&lt;br /&gt;
Eine Vorgehensweise, von der man auch abraten muss, ist die Frage nach Erfahrungen anderer Mitglieder! Die meisten Antworten kommen von Trollen und Posern, die eigentlich keine Ahnung haben. Die einen wollen als anonymer Gast mal wieder trollen, die anderen wollen nur mitteilen, dass Funkamateure sowieso die besseren Menschen sind. Andere wiederum haben &amp;quot;zufällig&amp;quot; gerade *das* richtige Oszilloskop zu verkaufen. Dann gibt es noch die, die sich ihr eigenes Oszilloskop schönreden wollen, ihren Vorurteilen oder ihrem Fetisch frönen. Zum Beispiel&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Kauf ja kein Gerät aus Asien!&#039;&#039;&lt;br /&gt;
* &#039;&#039;Unter LeCroy|Agilent|Yokogawa|Tektronix geht gar nichts!&#039;&#039;&lt;br /&gt;
* &#039;&#039;Nur Gebrauchtgeräte lohnen sich!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hinweise wie &#039;&#039;mein vor 30 Jahren gekauftes Markengerät funktioniert noch heute tadellos&#039;&#039; sind ebenfalls ziemlich sinnlos. Der Hersteller wird dieses Gerät gar nicht mehr anbieten und er wird schon gar nicht mehr mit der gleichen Qualität fertigen, wie vor 30 Jahren. Dazu ist der Kostendruck zu hoch und Technologien haben sich geändert. Selten sind die neuen Technologien heute so robust, wie die vor 30 Jahren.&lt;br /&gt;
&lt;br /&gt;
Als Unerfahrener kann man daher aus den Antworten nicht herauslesen, ob sie wirklich auf Erfahrung beruhen. Man braucht also gewissermassen selbst Erfahrung, um die Erfahrungsberichte anderer richtig einzuordnen.&lt;br /&gt;
&lt;br /&gt;
Ein anderer Aspekt aus alten Threads ist, dass viele Fragesteller die Erfahrungen gar nicht zur Kenntnis nehmen wollen, wenn sie der eigenen Wunschvorstellung widersprechen. So etwas nennt man beratungsresistent. Da stellt sich schon mal heraus, dass der Fragesteller schon längst ein Gerät bestellt hat und jetzt gebauchpinselt werden will. Eine Zeitverschwendung für alle.&lt;br /&gt;
&lt;br /&gt;
Erfahrungen mit eigenen Geräten lassen bedingt den Schluss zu, welche&lt;br /&gt;
Marken grundsätzlich empfehlenswert sind, weil dort gegebenenfalls mehr auf Qualität geachtet wird.&lt;br /&gt;
&lt;br /&gt;
=== Zusatzkosten beim Kauf im Ausland ===&lt;br /&gt;
&lt;br /&gt;
Siehe Hauptartikel [[Zoll und Abgaben]].&lt;br /&gt;
&lt;br /&gt;
Beim Kauf eines scheinbar preisgünstigen Gerätes im Ausland ist zu beachten, dass hier neben Versandkosten noch [[Zoll und Abgaben]] fällig werden. Ein &#039;&#039;PC-basierten Messinstrument mit Oszilloskopfunktion&#039;&#039; für US$ 719,- aus Taiwan kostet dann letztendlich 875,- €, die sich so zusammensetzen:&lt;br /&gt;
* Umrechnung in Euro (und Zollveranschlagung): 650,- €&lt;br /&gt;
* Umsatzsteuer: 123,- €&lt;br /&gt;
* Zollgebühren: 60,- €&lt;br /&gt;
* Versand und Bankgebühren: 44,- €&lt;br /&gt;
&lt;br /&gt;
Der Preis unterscheidet sich am Ende kaum noch vom dem des lokalen Händlers. Aber der gibt auch noch Garantie, so dass ein Defekt nicht zum Totalverlust wird.&lt;br /&gt;
&lt;br /&gt;
===Spielzeuge aller Art===&lt;br /&gt;
[[Datei:Karikatur oscilloscope sale.jpg|thumb|left|240px|Preisgünstiges &amp;quot;Spitzenoszilloskop&amp;quot; 5Gs]]&lt;br /&gt;
Vor allem auf online-Börsen tauchen in jüngster Zeit immer öfter seltsam günstige Geräte auf: Offensichtlich scheint es gerade Mode zu sein, einen schwachbrüstigen Analog-Digital-Konverter hinter eine eher zufällig gewählte, krumme analoge Eingangsschaltung zu klemmen und an einen Mikrocontroller mit Grafik-LCD anzuschließen, um es als digitales Speicheroszilloskop (DSO) zum Sonderpreis zu verkaufen. &lt;br /&gt;
&lt;br /&gt;
Je nach Hersteller wird so ein Gerät komplett ohne Gehäuse geliefert, was mit Hinblick auf die Funktion und auch die Sicherheit sehr fragwürdig ist, oder es kommt in einem lustig aufgemachten Plastikgehäuse in MP3-Player-Format daher, das auch keine großartige Isolation bietet. Hinzu kommen Eindruck-schindende Namen und Logos, die Modernität und Qualität suggerieren sollen, oft noch unterstrichen durch die Assoziierung mit Open-Source und pseudo-Hacker / Maker Bewegungen.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
Im Vergleich zu richtigen Oszilloskopen sind dies leider nur Spielzeuge - Unsichere Spielzeuge! Es nervt auch, diese Dinger immer wieder im Forum des Besten &amp;quot;seit der Erfindung von geschnitten Brot&amp;quot; vorgestellt zu bekommen. Ein Blick auf die technischen Daten dieser &amp;quot;Oszilloskope&amp;quot; (sofern die Daten überhaupt angegeben werden) reicht nämlich, um festzustellen, dass man ein Spielzeug vor sich hat. Schön für den, der spielen will, schlecht für den, der sicher messen will.&lt;br /&gt;
&lt;br /&gt;
Ebenso verrät ein Blick auf die Schaltung des Analogeingangs, ob man Qualität vor sich hat. Fehlende Spannungsfestigkeit und fehlende Frequenzkompensation des Eingangsverstärkers sind sichere Zeichen für Schund. Wenn es eine Verbindung zum PC gibt, aber diese nicht isoliert ist, ist das ein weiteres Zeichen für Scheinqualität.&lt;br /&gt;
&lt;br /&gt;
In [http://welecw2000a.sourceforge.net/docs/Hardware/GW_Instek_GDS-1152A.pdf] kann man das Innenleben eines richtigen DSO bewundern. Man vergleiche dies mit den Innenleben der Spielzeug-&amp;quot;DSO&amp;quot;s.&lt;br /&gt;
&lt;br /&gt;
Ein anderes, sicheres Zeichen eines Spielzeug-&amp;quot;DSOs&amp;quot; ist es, wenn irgendein Ding aus Abgreifklemmen und Klinkenstecker als &amp;quot;Tastkopf&amp;quot; mitgeliefert wird oder die Buchse für den Tastkopf aus einer Klinkenbuchse oder ähnlicher Niederfrequenz-Anschlusstechnik besteht.&lt;br /&gt;
&lt;br /&gt;
Auffällig ist bei diesen Spielzeugen auch, dass sie vehement von typischen Fanboys verteidigt werden. Nicht mit technischem Argumenten, sondern mit Aussagen wie &amp;quot;aber ist billig&amp;quot;, &amp;quot;aber ist cool&amp;quot;, &amp;quot;aber enthält doch einen Arduino&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Wer ein Oszilloskop haben möchte, mit dem man wirklich messen kann, sollte sich das Geld für ein Spielzeug-&amp;quot;DSO&amp;quot; sparen.&lt;br /&gt;
&lt;br /&gt;
== Funktion von Oszilloskopen ==&lt;br /&gt;
=== Was wird gemessen? ===&lt;br /&gt;
Oszilloskope zeigen oft einen Spannungsverlauf über einen kurzen, für das menschliche Auge in Realzeit nicht erfassbaren Zeitraum an. Je hochwertiger das Oszilloskop, desto kürzer ist dieser Zeitraum, beziehungsweise desto schneller darf sich das Signal ändern. Spitzengeräte können Perioden von wenigen Nanosekunden im gesamten sichtbaren Bildbereich darstellen, in welchem auch noch in Teilabschnitte hineingezoomt werden kann. Maßgeblich ist dafür ein manuell oder automatisch erzeugter Startzeitpunkt, der sogenannten Trigger. &lt;br /&gt;
&lt;br /&gt;
Mitunter werden aber auch sich sehr langsam ändernde Spannungsverläufe gezielt angezeigt, um Veränderungen von einem Trigger zum nächsten zusammenfassend darstellen zu können. Durch das Überschreiben der Kurven sind auch geringste Änderungen gut erkennbar. Die Darstellung ist der bei Herzmonitoren vergleichbar.&lt;br /&gt;
&lt;br /&gt;
Andere Größen, zum Beispiel Ströme, Drücke und Magnetfelder lassen sich anzeigen, wenn man zusätzlich entsprechende Wandler einsetzt, um aus den Größen zuvor eine Spannung zu erzeugen.&lt;br /&gt;
&lt;br /&gt;
=== Was wird dargestellt? ===&lt;br /&gt;
&lt;br /&gt;
Den Eingang für eine Spannung bezeichnet man bei einem Oszilloskop als Kanal. Die an den Kanälen anliegenden Spannungen können einzeln oder gemeinsam angezeigt werden. Bei Mehrkanal-Oszilloskopen kann man üblicherweise auch eine Spannung über eine Spannung darstellen (XY-Modus), womit Übertragungskennlinien von Bauteilen dargestellt werden können.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bieten moderne Oszilloskope die Möglichkeit, sich gewisse Kenngrößen der Spannungsverläufe anzeigen zu lassen. Gängige Werte sind zum Beispiel die Anzeige von Spitzenspannung und Effektivwert einer Spannung, Frequenz/Periodendauer, Anstiegs- und Abfallzeiten, Tastverhältnis und so weiter. Darüber hinaus bieten gute Oszilloskope Positionsmarken (Cursor), mit denen man, durch eine Linie dargestellt, auf dem Bildschirm Positionen im Spannungsverlauf markieren kann. Zur Position zugehörige Werte (Zeit oder Spannung), sowie die Differenz dieser Werte zwischen zwei Positionsmarken können abgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Besonders [[#Digitale_Tischoszilloskope|digitale Oszilloskope]] können relativ viele unterschiedliche Kenngrößen anzeigen, da sich viele dieser Größen mit einfachen Algorithmen aus den vom Oszilloskop im Speicher erfassten Daten berechnen lassen. Ebenso sind einfache mathematische Operationen möglich, etwa eine diskrete Fourier-Transformation oder die Summe oder Differenz der Spannungsverläufe von zwei Kanälen. Oszilloskope der Oberklasse bieten darüber hinaus ausgeklügelte Möglichkeiten der Signalanalyse. &lt;br /&gt;
&lt;br /&gt;
Für spezielle Anwendungen finden sich in manchen Oszilloskopen besondere Messfunktionen. Zum Beispiel go/no-go (heißt meistens pass/fail) Messungen, mit denen eine Spannungsverlauf mit einem vorgegebenen Verlauf verglichen wird. Entspricht der Spannungsverlauf hinreichend dem vorgegebenen Verlauf wird ein &amp;quot;go&amp;quot; (oder pass = alles ist OK) Signal über einen externen Ausgang ausgegeben. Weicht der Verlauf zu stark ab ein &amp;quot;no go&amp;quot; (fail = Spannung stimmt nicht) Signal.&lt;br /&gt;
&lt;br /&gt;
Bereits in der Unterklasse digitaler Oszilloskope ist heutzutage eine PC-Schnittstelle üblich. Beim Kauf sollte man darauf achten, dass das Protokoll der Schnittstelle dokumentiert ist. Sonst ist man auf proprietäre PC-Software des Herstellers angewiesen. Bei Oszilloskopen der Unterklasse wird zwar häufig kostenlos PC-Software mitgeliefert, doch leider sind diese Programme durchgehend von erschreckend schlechter Qualität. Bei Oszilloskopen der Oberklasse lassen sich die Hersteller ihre PC-Software gerne zusätzlich sehr teuer bezahlen.&lt;br /&gt;
&lt;br /&gt;
== Analoge Oszilloskope ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
[[Bild:Oszilloskop.png|thumb|right|300px|Hybrides Analog/Digital Oszilloskop]]&lt;br /&gt;
Bei analogen Oszilloskopen wird das darzustellende Signal nach der Verstärkung direkt zur Ablenkung eines Elektronenstrahls verwendet.&lt;br /&gt;
&lt;br /&gt;
Ganz einfache Geräte verfügen nur über einen Kanal&amp;lt;ref&amp;gt;Es gibt, beziehungsweise gab, nochmals einfachere Geräte, nämlich solche ohne Trigger. Die Zeiten solcher Gerät sind allerdings seit rund 60 Jahren vorbei. Daher sollte man den fehlenden Trigger nur bei historischen Gebrauchtgeräten finden.&amp;lt;/ref&amp;gt;. Damit ist es nicht möglich, zwei Signale in zeitliche Beziehung zu setzen. Dies ist jedoch oft wichtig. Daher sollte man mindestens zwei Kanäle haben.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine harte Gruppe von Fans analoger Oszilloskope. Diese unterstellen DSOs gerne eine Reihe von Mängeln und erfinden angebliche Vorteile analoger Oszilloskope. Am beliebtesten ist dabei zu behaupten dass DSOs stärker rauchen. Die Realität ist, dass DSOs vorhandenes Rauschen besser darstellen, während analoge Oszilloskope es verschlucken, also nicht darstellen.&lt;br /&gt;
&lt;br /&gt;
==== Neue Analogoszilloskope ====&lt;br /&gt;
Der Kauf eines neuen analogen Oszilloskops lohnt sich heutzutage nur in den seltensten Ausnahmefällen, die für den Bastler nicht zutreffen. Aktuelle digitale Oszilloskope (DSOs) bieten für weniger Geld mehr Funktionen, mehr Leistung und mehr Bequemlichkeit. Solange es sich nicht um Geräte aus der Spielzeugklasse handelt.&lt;br /&gt;
&lt;br /&gt;
Brauchbare Neugeräte fangen bei 600 Euro an, wenn man noch welche findet. Die großen Hersteller sind entweder schon aus dem Geschäft mit Analogoszilloskopen ausgestiegen oder reduzieren ihr Angebot. &lt;br /&gt;
&lt;br /&gt;
Auch in China und Osteuropa geht die Zeit analoger Oszilloskope zu Ende. Chinesische Hersteller bieten noch eine gewisse Anzahl analoger Oszilloskope an. Das Angebot beschränkt sich häufig auf Geräte mit max. 20 MHz Bandbreite, die für Schulen und Ausbildung angeboten werden.&lt;br /&gt;
&lt;br /&gt;
Das Aussterben analoger Oszilloskope geht soweit, dass mittlerweile DSOs angeboten werden die von der Funktion und dem Formfaktor alte analoge 1-Kanal Oszilloskope emulieren ([https://www.owon.com.hk/products_1_channel_oscilloscope Owon AS101 und AS201]). Das ermöglicht es vorhandene Trainingsunterlagen weiter zu verwenden. Für DSOs sind diese Kuriosa deutlich überteuert.&lt;br /&gt;
&lt;br /&gt;
==== Gebrauchte Analogoszilloskope ====&lt;br /&gt;
&lt;br /&gt;
Ein gebrauchtes analoges Oszilloskop kann man in Erwägung ziehen wenn man ein sehr günstiges Angebot für ein brauchbares Oszilloskop findet. Brauchbare analoge Oszilloskope findet man gelegentlich schon für ca. 50 Euro bei Online-Auktionen und Kleinanzeigenmärkten. Für 200-400 Euro bekommt man dort recht gute Profigeräte&amp;lt;ref&amp;gt;Ein Gerät, welches mit dem Attribut &#039;&#039;Profigerät&#039;&#039; beworben wird, ist normalerweise keins.&amp;lt;/ref&amp;gt; mit 60-200 MHz Bandbreite. Die Preisaufschläge die dabei für bekannte Marken wie HP, Tektronix oder Hameg gefordert werden sind selten gerechtfertigt. Ebenso bewegt man sich dann schon im Preisbereich von DSOs.&lt;br /&gt;
&lt;br /&gt;
=== Bandbreite ===&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;Bandbreite&#039;&#039;&#039; gibt darüber Auskunft, welche maximale Signalfrequenz das Oszilloskop noch verarbeiten kann. Bei der angegebenen Bandgrenze fällt die Verstärkung des Oszilloskops um 3dB ab, ein Sinussignal wird dann nur noch mit ca. 70% der wahren Amplitude angezeigt. Um Signalverläufe noch vernünftig interpretieren zu können, kann man grob sagen, dass man Signale bis 1/10 der Bandbreite gut dargestellt bekommt. Ein Rechtecksignal nahe der Bandgrenze würde z.&amp;amp;nbsp;B. nur noch als verschobener Sinus dargestellt werden &amp;lt;ref&amp;gt;Häufig wird von Anfängern bei der Bandbreitenbetrachtung vergessen, dass ein Rechtecksignal aus einer theoretisch unendlichen Summe von Signalen der Frequenzen f, 3 * f, 5 * f ... besteht. Für eine vernünftige Darstellung eines Rechtecksignals sollte die Oszilloskopbandbreite so groß sein, dass zumindest die ersten Oberwellen nicht gedämpft werden. Aus dieser Betrachtung ergeben sich Faustformeln, wie die, dass die Bandbreite eines Oszilloskops zehnmal (oder dreimal, oder fünfmal, je nachdem wie genau man messen möchte) größer sein sollte, wie die Grundfrequenz des Rechtecks.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Beim Messen von Digitalsignalen ist man meist an der &#039;&#039;&#039;Anstiegszeit&#039;&#039;&#039; interessiert. Die Anstiegszeit gibt an, wie lange ein Signal von 10-90% benötigt. Die Anstiegszeit des Oszilloskops gibt an, welche Anstiegszeit dargestellt wird, wenn man ein nahezu ideales Rechtecksignal mit annähernd Null Anstiegszeit anlegen würde. Man kann die Anstiegszeit direkt aus der Bandbreite berechnen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;t_{Osc} = \frac{0.35}{B}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, t_{Osc}&amp;lt;/math&amp;gt; : Anstiegszeit des Oszilloskops in Sekunden (s)&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, B&amp;lt;/math&amp;gt; : Bandbreite in Hertz (Hz)&lt;br /&gt;
&lt;br /&gt;
Legt man ein reales Rechtecksignal an das Oszilloskop an, dann wird die Anzeige umso mehr verfälscht, je näher die Anstiegszeit des Eingangssignals der Anstiegszeit des Oszilloskops kommt. Dabei gilt folgender Zusammenhang.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;t_S = \sqrt{t_{ges}^2-t_{Osc}^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, t_S&amp;lt;/math&amp;gt;: Anstiegszeit des Eingangssignals&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, t_{ges}&amp;lt;/math&amp;gt;: Angezeigte Anstiegszeit auf dem Oszilloskop&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, t_{Osc}&amp;lt;/math&amp;gt;: Anstiegszeit des Oszilloskops&lt;br /&gt;
&lt;br /&gt;
Bei analogen Oszilloskopen ist die Bandbreite gegeben durch die Begrenzung des analogen Eingangsverstärkers sowie die Signaldarstellung, also die Qualität des Ablenkverstärkers.&lt;br /&gt;
&lt;br /&gt;
=== Tastköpfe richtig benutzen ===&lt;br /&gt;
&lt;br /&gt;
Wenn man wirklich schnelle Signale messen will, spielt auch die Bandbreite des verwendeten Tastkopfes eine wichtige Rolle. Näheres dazu findet man [http://www.sigcon.com/Pubs/straight/probes.htm hier]. Aber der beste Tastkopf nützt nichts, wenn man ihn falsch anschließt. Für schnelle Messung jenseits von ein paar MHz nutzt man praktisch immer 10:1 Tastköpfe mit 10 MOhm Eingangswiderstand und ca. 8-15pF Eingangskapazität. Je nach Typ erreicht man damit Bandbreiten von 100-500MHz. Danach muss man aber auch den Tastkopf richtig anschließen. Der mitgelieferte Masseanschluß mit Krokodilklemme ist zwar praktisch, für viele hochfrequente Messungen aber unbrauchbar. Ein Rechtecksignal damit zu messen ergibt dann oft starke Überschwinger, welche real aber gar nicht vorhanden sind, sondern durch die zu lange, induktive Masseleitung im Zusammenspiel mit der Eingangskapazität verursacht werden. Das sieht man z.B. [http://www.mikrocontroller.net/topic/281669?goto=2975948#2975754 hier], den Messaufbau sieht man [http://www.mikrocontroller.net/topic/281669?goto=2975948#2975896 hier].&lt;br /&gt;
&lt;br /&gt;
Für saubere, hochfrequente Messungen muss man die Masseanbindung so kurz wie möglich machen. Dafür haben die Tastköpfe oft ein kleines Zusatzteil, eine Massefeder, beigelegt (engl. [http://www.mikrocontroller.net/attachment/27280/groundspring.png ground spring]). Damit kann man die Masse auf kürzestem Wege anschließen und erhält ein sauberes Messergebnis wie man in diesem [http://www.mikrocontroller.net/topic/281669?goto=2975948#2975931 Forumsbeitrag] sieht. Eine sehr gute Einführung zum Thema Tastköpfe und deren richtige Nutzung gibt es [[media:Probe_Fundamentals-_Tektronix.pdf | hier]] von [http://www.tek.com Tektronix] (engl.). Das gilt auch für stark gestörte Umgebungen, wie z.B. in einem Schaltnetzteil. Die Grundfrequenzen sind relativ niedrig, so im Bereich 50-1000 kHz, die Schaltflanken sind aber meist recht schnell, im Bereich von 10-500ns. Die dabei geschalteten hohen Ströme und Spannungen erzeugen starke magnetische und elektrische Wechselfelder, welche sehr gern und einfach in Tastköpfe einkoppeln. Um zu prüfen, ob ein Signal echt oder nur eine eingekoppelte Störung ist, macht man eine 0V Messung. D.h. man legt die Tastkopfspitze auf Masse (GND), ohne den mechanischen Aufbau nennenswert zu verändern. Wenn keine Störung einkoppelt, mißt man erwartungsgemäß 0V, alles andere sind eingekoppelte Störungen. Diese muss man durch eine verbesserte Tastkopfanbindung minimieren (Massefeder, anderer Massepunkt, Abschirmung, Klappferrite auf Tastkopfleitung am Oszi gegen Gleichtaktstörungen etc.) Eine Massefeder bzw. das passende Gegenstück für die Spitze des Tastkopfes kann man sich leicht aus 0,5mm Blankdraht selber wicklen, wie man auf diesem [https://www.mikrocontroller.net/attachment/410800/Tastkopf.jpg Bild] sieht. Die vollprofessionelle Version davon sind einlötbare [https://www.mikrocontroller.net/attachment/412457/socket.jpeg Sockel], in welche der Tastkopf gesteckt werden kann. Diese haben durch ihren koaxialen Aufbau noch bessere Schirmwirkung und HF-Eigenschaften.&lt;br /&gt;
&lt;br /&gt;
Wenn es dann in den Bereich 100MHz++ geht, wird man schnell auf einen aktiven Tastkopf oder einen passiven Z0-Tastkopf wechseln wollen. Warum das so ist, ist in diesem [http://www.signalintegrity.com/Pubs/straight/probes.htm Artikel] (engl.) erklärt.&lt;br /&gt;
&lt;br /&gt;
===Terminierung bei DC-Messung===&lt;br /&gt;
Schliesst man an den hochomigen Messeingang eines Oszilloskopes eine Koaxialleitung mit 50 Ohm Impedanz direkt an, um irgendwo direkt zu messen, so muss diese möglichst dicht am Oszilloskop mit 50 Ohm terminiert werden, um Reflexionen und Phantomsignale zu vermeiden. Wird aber direkt mit 50 Ohm terminiert, so führt das zu einer starken Belastung der Quelle und des Terminierungswiderstandes. Insbesondere dann, wenn man z.B. auf einem DC-Pegel eine Welligkeit messen möchte. Die Gleichspannung liegt in diesem Falle direkt am Terminierungswiderstand an. Das ist oft nicht tolerierbar, da dann ein u.U. hoher Gleichstrom durch den Widerstand abfließt, die Quelle belastet und selber heiß wird.. Aus diesem Grunde muss der Terminierungswiderstand mit einem schnellen, keramischen Kondensator entkoppelt werden. Siehe Bild.&lt;br /&gt;
[[Bild:DC-Messadapter.svg|thumb|300px|DC-Messadapter mit 50 Ohm Terminierung]]&lt;br /&gt;
Achtung, die Anordnung hat einen Frequenzgang. Es ist gegebenenfalls zu überlegen, ob der Frequenzgang noch toleriert werden kann. Gegebenenfalls ist der Kondensator entsprechend zu ändern. Auf ausreichende Spannungsfestigkeit achten!&lt;br /&gt;
An den 4mm Klemmen kann über einen 2k2 ohm Widerstand ein Digitalmultimeter angeschlossen werden. Der 2k2 Widerstand beeinflusst die Messung mit einem hochomigen Digitalmultimeter fast nicht, verhindert aber das verstärkte Einkoppeln von Störungen über die Messleitungen in das Oszilloskop.&lt;br /&gt;
&lt;br /&gt;
Eine Platine für eine solche kapazitiv entkoppelte 50 Ohm Terminierung als [http://www.mikrocontroller.net/articles/KiCAD KiCad] Projekt findet sich hier: [[Media:DC-50Ohm_Terminierung_RevE_25Mar2015.zip]] Gerber Files und ein Schaltplan in PDF sind im Projekt vorhanden, es kann also auch ohne KiCad verwendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Triggerung ===&lt;br /&gt;
&lt;br /&gt;
Oszilloskope unterscheiden sich oft stark in den Triggerungsmöglichkeiten. Bei guten Geräten kann man z.&amp;amp;nbsp;B. die Triggerung variabel verzögern. Erst dadurch wird es möglich, dass man sich Signale genauer anschauen kann, die zeitlich weit hinter einem Triggerereignis kommen. Eine weitere Funktion bei höherklassigen Oszilloskopen ist eine zweite Zeitbasis. Mit dieser kann man in einen Ausschnitt des Messsignals hereinzoomen&amp;lt;ref&amp;gt;Die zweite Zeitbasis steuert einen zweiten Strahl (ähnlich wie einen separaten Kanal), der das gleiche Eingangssignal erhält. Die zweite Zeitbasis wird auf eine höhere Horizontalfrequenz eingestellt als die erste. Zusammen mit einer horizontalen Verschiebung der Darstellung kann man nun Ausschnitte des Signals durchfahren und vergrößert betrachten.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Mit Analog-Oszilloskopen kann man sich hauptsächlich periodische Signalverläufe anschauen, also solche, die zeitlich immer wiederkehrend sind. Denn nur so kann ein Signal immer wieder auf den Schirm &amp;quot;geschrieben&amp;quot; werden und erscheint als stehendes Bild. Aperiodische Signale, wie z.&amp;amp;nbsp;B. auf Datenübertragungsleitungen, sind damit nicht darstellbar. Sie laufen mit einem Strahldurchgang über den Schirm. In dieser kurzen Zeit ist es jedoch nur selten möglich, sie visuell aufzunehmen. Mit einer Digitalkamera kann man solche Signalverläufe mitunter trotzdem einfangen. Früher sehr hochpreisige, heute nicht mehr übliche Analog-Oszilloskope hatten eine eingebaute Speichermöglichkeit (Speicherröhre) für einmalige Signale. Diese Klasse von Analog-Oszilloskopen wurde durch digitale Speicheroszilloskope (DSOs) abgelöst.&lt;br /&gt;
&lt;br /&gt;
Manche Analog-Oszilloskope bieten eine Möglichkeit, die Triggerung nur zu einem definiertem Zeitpunkt anzustoßen, somit kann auch der Anlaufstrom eines Motors mit einem Analog-Oszilloskop dargestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== Analoge Speicheroszilloskope ===&lt;br /&gt;
Inzwischen eher selten sind analoge Speicheroszilloskope anzutreffen. Diese speichern im Gegensatz zu digitalen Speicheroszilloskopen nicht das Signal selbst, sondern das Bild auf der Röhre. Dies wird mit speziellen speichernden Bildröhren erreicht. Je nach Typ kann es mehrere getrennt betreibbare Bereiche geben, um beispielsweise 2 Bilder eines Signales zu unterschiedlichen Zeitpunkten darstellen zu können (z.B. Tektronix 549).&lt;br /&gt;
&lt;br /&gt;
Einige wenige dieser Oszilloskope waren sogar in der Lage, das aufgezeichnete Bild auf Papier auszugeben (z.B. &amp;quot;HP Model 175A&amp;quot; mit Modul 1784A).&lt;br /&gt;
&lt;br /&gt;
=== Vergleichstabelle Analogoszilloskope ===&lt;br /&gt;
&lt;br /&gt;
Diese Tabelle soll einen Überblick über interessante oder bekannte Neugeräte besonders im unteren Preisbereich geben. Eine vollständige Auflistung aller existierenden Geräte ergibt wegen der Vielzahl an Baureihen und Modellen wenig Sinn.&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;analogoszis&amp;quot; style=&amp;quot;width:50em&amp;quot;&lt;br /&gt;
|- style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:6em&amp;quot; | Bezeichnung&lt;br /&gt;
! style=&amp;quot;width:6em&amp;quot; | Hersteller&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Preis, ab [&amp;amp;euro;]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Kanäle&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Bandbreite / [MHz]&lt;br /&gt;
! style=&amp;quot;width:5em&amp;quot; | Röhre BxH / [cm]&lt;br /&gt;
! Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| C1-94, S1-94, OS10, AO-610, [http://www.ett-online.de/html/de/werkstatt/oszilloskope/digitale-oszilloskope/oszilloskop-mccheck-st16b-1-kanal-10-mhz/article-4-55152-459045509045501590.html ST16B], CS10, GOS-310, 72-6602, HUC70, CS1010 [http://www.conrad.de/ce/de/product/122413/VOLTCRAFT-6102-Analoges-1-Kanal-Oszilloskop-Bandbreite-0-DC-10-MHz VC 610/2]&lt;br /&gt;
| Original-&amp;lt;br&amp;gt;hersteller unklar&lt;br /&gt;
| 180&lt;br /&gt;
| 1&lt;br /&gt;
| 10&lt;br /&gt;
| 4,8 × 6&lt;br /&gt;
| Seit Jahrzehnten von vielen No-Name Herstellern in unterschiedlichen Ausführungen und Bauformen im Angebot. Wenig empfehlenswert für µC-Arbeiten. &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.attenelectronics.com/Products/Oscilloscopes/Analog_oscilloscope/2012/0728/129.html AT7328]&lt;br /&gt;
| Atten&lt;br /&gt;
| 280&lt;br /&gt;
| 2&lt;br /&gt;
| 20&lt;br /&gt;
| 8 × 10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CS-4128&lt;br /&gt;
| &lt;br /&gt;
| 280&lt;br /&gt;
| 2&lt;br /&gt;
| 20&lt;br /&gt;
| 8 × 10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.attenelectronics.com/Products/Oscilloscopes/Analog_oscilloscope/2012/0728/128.html AT7340]&lt;br /&gt;
| Atten&lt;br /&gt;
| 480&lt;br /&gt;
| 2&lt;br /&gt;
| 40&lt;br /&gt;
| 8 × 10&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.conrad.de/ce/de/product/122421/VOLTCRAFT-VC-630-2-Analoges-2-Kanal-Oszilloskop-Bandbreite-0-DC-bis-30-MHz/?ref=category&amp;amp;rt=category&amp;amp;rb=1 VC 630-2]&lt;br /&gt;
| Voltcraft&lt;br /&gt;
| 480&lt;br /&gt;
| 2&lt;br /&gt;
| 30&lt;br /&gt;
| 8 × 10&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Digitale Speicheroszilloskope ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:tektronix.jpg|thumb|right|300px|Digitales Speicheroszilloskop vom Anfang des Jahrtausends]]&lt;br /&gt;
Ein digitales Speicheroszilloskop (englisch DSO, &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;S&#039;&#039;&#039;torage &#039;&#039;&#039;O&#039;&#039;&#039;scilloscope) digitalisiert das Eingangssignal mit einem Analog-Digital-Wandler und legt die Werte in einem Speicher ab. Damit ist die Bandbreite nur durch die Begrenzung des analogen Eingangsverstärkers gegeben. Der Vorteil der Speicherung ist, dass man auf diese Weise Momentaufnahmen eines Signals machen und damit einmalige (transiente) Ereignisse (Spikes, Datenübertragungen) erkennen und darstellen kann, was besonders bei digitalen Schaltungen, z.&amp;amp;nbsp;B. mit Mikrocontrollern, sehr nützlich ist. Weiterhin lässt sich das Signal &amp;quot;vermessen&amp;quot; (z.&amp;amp;nbsp;B. um die Baudrate einer Datenübertragung zu bestimmen), man kann die Frequenz und den Effektivwert anzeigen lassen, das Frequenzspektrum, und je nach Modell noch vieles mehr. Das Signal wird in S/W oder Farbe auf einem LCD dargestellt, lässt sich aber oft auch über einen angeschlossenen Drucker ausdrucken oder an den PC übermitteln.&lt;br /&gt;
&lt;br /&gt;
Der wichtigste Parameter bei digitalen Oszilloskopen ist die &#039;&#039;&#039;Abtastrate&#039;&#039;&#039;, die angibt, mit welcher Rate das Eingangssignal digitalisiert wird. Um ein Signal mit einer gegebenen Frequenz ausreichend genau in Phase und Amplitudenverlauf darstellen zu können, sollte es mindestens mit der 10-fachen Frequenz abgetastet werden. Nur dann lassen sich in der Regel die interessanten Details in einem Signal erkennen. Für eine genaue Analyse analoger Signale, um z.B. die Güte einer Flanke oder Überschwinger beurteilen zu können, ist sogar ein Faktor von 25 bis 40 anzuraten&amp;lt;ref&amp;gt;Dieser Anhaltswert liegt nochmals weit über der Nyquist-Frequenz (zweifache Grenzfrequenz), ist aber nötig, um Abweichungen von der idealen Signalform zu sehen - z.B. bei Rechecksignalen. Die zehnfache Abtastfrequenz bedeutete, dass man nur 10 Messpunkte pro Signalperiode hat, was in einer 1:1 Darstellung auf dem Bildschirm gerade eben 10 nebeneinander liegenden Pixeln entspräche, was in der Regel sehr wenig ist, um ein Signal zu beurteilen.&amp;lt;/ref&amp;gt; Wichtig ist in dem Zusammenhang auch die analoge Bandbreite des Oszilloskops. Ein gutes Verhältnis ist wäre eine mindestens 4-6 fache Überabstastung im Bezug auf die Bandbreite je Kanal, also z.B. 1Gsps für einen Zweikanaler mit 100MHz Bandbreite - besser 2Gsps. Damit wären dann Signale bis etwa 10 MHz ausreichend genau darstellbar. &lt;br /&gt;
&lt;br /&gt;
Außerdem sind die &#039;&#039;&#039;Speichertiefe&#039;&#039;&#039; und die &#039;&#039;&#039;Wandler-Auflösung&#039;&#039;&#039; interessant. Ein Oszilloskop, das mit acht Bit Auflösung abtastet und 2000*8 Bit Speicher hat, kann 2000 Samples abspeichern, was einer Darstellung von 2000*256 Pixeln entspricht. Acht Bit Auflösung ist heutzutage ein gängiger Wert, auch wenn er niedrig erscheint. Ein normales Oszilloskop ist kein Präzisionsmessgerät und acht Bit sind für die Darstellung auf den Displays normaler Oszilloskope ausreichend.   &lt;br /&gt;
&lt;br /&gt;
Bei der Wandlung und Speicherung gibt es unterschiedliche Verfahren: Ehemals günstige Oszilloskope wie die TDS1000-Serie von Tektronix verwenden &#039;&#039;&#039;CCD-Speicher&#039;&#039;&#039; (Eimerkettenspeicher, ein analoges Schieberegister); die Messwerte werden erst gespeichert, und dann digitalisiert. Nachteile dieser Vorgehensweise sind ein stärkeres Rauschen, die begrenzte Speichertiefe und Totzeiten, während der keine Eingangswerte aufgenommen werden. Diese entstehen, da das Wandeln aller Werte aus dem analogen Zwischenspeicher länger dauert als die Zeit zum Füllen dieses Speichers. Deshalb muss das Gerät bis zum Abschluss der Wandlung warten, bevor es den Speicher erneut füllt.&lt;br /&gt;
&lt;br /&gt;
Früher wandelten nur teurere Modelle in Echtzeit mit schnellen Flash-[[AD-Wandler]]n und speicherten die Messwerte direkt in einem schnellen RAM. Die Speichertiefe ist dabei praktisch unbegrenzt, allerdings sind Wandler sehr teuer, die mehrere GS/s schaffen. Durch einen Trick (mehrere verschachtelte langsame AD-Wandler) setzen sich AD-Wandler bei günstigen Modellen durch. Oszilloskope, die diesen Trick verwenden, erkennt man daran, dass die Abtastfrequenz mit der Anzahl der aktivierten Kanäle sinkt. Zum Beispiel, findet man Vierkanaloszilloskop mit vier Wandlern à 250 MS/s, die bei Benutzung nur eines Kanals 1 GS/s für diesen Kanal erreichen, bei Benutzung von zwei Kanäle 500 MS/s pro Kanal und bei Benutzung von drei oder vier Kanälen 250 MS/s pro Kanal.&lt;br /&gt;
&lt;br /&gt;
In den richtig schnellen Geräten (mehrere GHz Samplerate) ist ein ähnlicher Trick üblich. Dort sind in den verwendeten Wandlerschaltkreisen eine größere Anzahl Sample-and-Hold-Stufen und AD-Wandler integriert. Die Eingangsspannung wird dann zeitversetzt in den Sample-and-Hold-Stufen gespeichert und von den im Vergleich zur Samplerate langsameren AD-Wandlern umgesetzt. Die Ausgangslogik sorgt dann dafür, dass die Daten in der richtigen Reihenfolge ausgegeben werden. Ein Problem bei dieser Vorgehensweise sind unterschiedliche elektrische Eigenschaften der parallelen Wandlerstufen. &lt;br /&gt;
&lt;br /&gt;
Natürlich spielt der Verwendungszweck eine entscheidende Rolle bei der Auswahl. Auf dem Labortisch, wo meist nur kleine Spannungen mit einem gemeinsamen Massebezug vorkommen, werden andere Anforderungen an ein Oszilloskop gestellt, als z.&amp;amp;nbsp;B. im Servicebereich für Industriesteuerungsanlagen, Automatisierungstechnik, usw. Dort sind weniger hohe Abtastraten wichtig, sondern eher eine größere Anzahl Eingangskanäle, die galvanisch voneinander getrennt sind, Spannungsfestigkeit bis min. 500 Volt, sowie speziell bei Störungsanalysen, die Möglichkeit, komplexe Triggermuster einzustellen, und eine integrierte große Festplatte, um einzelne Ereignisse automatisiert über lange Zeiträume hinweg festhalten zu können. Ein Beispiel für so ein hochwertiges Gerät ist ein Yokogawa Scopecorder (DL708). Allerdings sind bei solchen Geräten die Preise nach oben hin offen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Besonderheit digitaler Oszilloskope ist das breite Spektrum von Geräten mit scheinbar gleicher Hardware. Besonders in jüngster Zeit gehen Firmen aus produktionstechnischen Gründen dazu über, die gleiche Hardware in unterschiedliche Geräte einzubauen und per Software einzuschränken. Auf diese Weise bekommen Firmen den Fuss in die Türe, liefern ein preisgünstiges Gerät, um später an den updates zu verdienen.&lt;br /&gt;
&lt;br /&gt;
===  Digitale Tischoszilloskope ===&lt;br /&gt;
==== Allgemeines ====&lt;br /&gt;
&lt;br /&gt;
DSO Tischoszilloskope sind die klassischen, in sich abgeschlossenen Geräte, die in der Gestaltung analogen Oszilloskopen ähneln. Daneben gibt es zum Beispiel auch PC-DSOs. Viele Tischgeräte sind bereits so klein (geringe Tiefe) und leicht, dass sie zu Recht als tragbare Geräte bezeichnet werden können. Beim Neukauf eines Oszilloskops sind diese Geräte die Gefragtesten.&lt;br /&gt;
&lt;br /&gt;
Mittlerweile ist es üblich, dass man bereits bei Einsteigermodellen eingebaute USB oder RS-232 Schnittstellen findet und eine (häufig sehr simple) Windows-Software zur Bedienung vom PC aus oder zumindest zum Auslesen von Daten auf den PC. Ebenfalls häufig sind USB oder ähnliche Schnittstellen für USB-Memorysticks oder Speicherkarten zum Speichern von Messwerten, Screenshots und Konfigurationen. Ironischerweise sind Schnittstellen und Windows-Software bei Markengeräten häufig gesondert zu erwerben, während sie bei eher unbekannten Marken kostenlos mitgeliefert werden, wenn auch die Qualität der kostenlosen Software häufig zu wünschen übrig lässt.&lt;br /&gt;
&lt;br /&gt;
Beispiele für günstige Einstiegsmodelle unter 600 Euro sind die niederpreisigen Geräte von Rigol, Hantek, Owon, Siglent und Atten. Für relativ wenig Geld erhält man für einfache Anwendungen ein brauchbares Oszilloskop mit ein paar Highlights aber auch auffälligen Einschränkungen und Fehlern in der Hard- und Software. Viel oder überhaupt Service kann man von diesen Firmen für sein Geld meist nicht erwarten.&lt;br /&gt;
&lt;br /&gt;
Geräte bspw. von [http://www.instek.com/ Instek] sind etwas teurer. Geräte aus der GDS-1000A oder GDS-1000U Serie dürften zum Einstieg interessant sein, oder mittlerweile die modernere Serie DS2000 von Rigol, bzw SDS2000 Serie von Siglent.&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Beispiel für ein Einstiegsmodell war das [http://www.tek.com/site/ps/0,,40-15314-INTRO_EN,00.html TDS1002] von Tektronix (ca. 1200 Euro). Dazu muss man allerdings sagen, dass Tektronix die aktuelle Entwicklung etwas verschlafen hat. Der nur 2 kByte große Speicher ist nicht mehr zeitgemäß. Geräte der [http://www.home.agilent.com/agilent/product.jspx?nid=-33575.0&amp;amp;cc=DE&amp;amp;lc=ger&amp;amp;pageMode=OV Agilent InfiniiVision 2000X Serie] beginnen in einem ähnlichen Preisbereich aber mit wesentlich mehr Features.&lt;br /&gt;
&lt;br /&gt;
Sind 4 Kanäle gewünscht, aber das Budget begrenzt, lohnt sich ein Blick auf die DS1000&#039;&#039;&#039;Z&#039;&#039;&#039; Serie von Rigol.&lt;br /&gt;
&lt;br /&gt;
Einige Hersteller wie R&amp;amp;S und Keysight bieten inzwischen preisgünstige EDU-Versionen ihrer Oszilloskope für die Ausbildung an, die mit abgespeckten Funktionen aufwarten und besonders günstig abgegeben werden. Diese haben die gleiche wertige Analogtechnik und Signalverarbeitung verbaut, kosten dafür auch mehr, als klassischer Einsteigermarken mit gleichem Funktionsumfang. In einigen Fällen muss zum Erwerb aber eine Berechtigung in Form eines Ausbildungsnachweises erbracht werden.&lt;br /&gt;
&lt;br /&gt;
==== Vergleichstabelle digitale Tischoszilloskope ====&lt;br /&gt;
&lt;br /&gt;
;Wichtiger Hinweis: Diese und andere Tabellen werden gelegentlich von Freiwilligen auf den aktuellen Stand gebracht und können veraltet sein. &lt;br /&gt;
&lt;br /&gt;
Diese Tabelle soll einen Überblick über interessante oder bekannte Geräte besonders im unteren Preisbereich geben. Eine vollständige Auflistung aller existierenden Geräte ergibt wegen der Vielzahl an Baureihen und Modellen wenig Sinn. &amp;lt;BR/&amp;gt;&lt;br /&gt;
Anmerkung: Für Viele Modelle aus dieser Tabelle gibt es bereits Nachfolgemodelle. &amp;lt;BR/&amp;gt;&lt;br /&gt;
&amp;lt;BR/&amp;gt;&lt;br /&gt;
Legende: &amp;lt;BR/&amp;gt;&lt;br /&gt;
opt.: optional, kostenpflichige Erweiterung (Hardware und/oder Software)&amp;lt;BR/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;digitaloszis&amp;quot; style=&amp;quot;width:60em&amp;quot; &lt;br /&gt;
|- style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Bezeichnung&lt;br /&gt;
! style=&amp;quot;width:6em&amp;quot; | Hersteller&lt;br /&gt;
! style=&amp;quot;width:4em&amp;quot; | Preis [&amp;amp;euro;]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Kanäle&lt;br /&gt;
! style=&amp;quot;width:4em&amp;quot; | Samplerate [MS/s]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Bandbreite [MHz]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Auflösung [Bit]&lt;br /&gt;
!  style=&amp;quot;width:4em&amp;quot; | Speichertiefe [Samples]&lt;br /&gt;
!  style=&amp;quot;width:6em&amp;quot; | Display&lt;br /&gt;
!  style=&amp;quot;width:8em&amp;quot; | Inface&lt;br /&gt;
! Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.conrad.de/ce/de/product/122485/VOLTCRAFT-Vorteilsset-DSO-1062D-2-Kanal-Oszilloskop-Digitales-Speicheroszilloskop-Bandbreite-60-MHz-inkl-2-Tastkoepf DSO5062D]&lt;br /&gt;
| [http://www.conrad.de/ Conrad]&lt;br /&gt;
| 329.-&lt;br /&gt;
| 2&lt;br /&gt;
| 500&amp;lt;br&amp;gt;1000&lt;br /&gt;
| 60&lt;br /&gt;
| 8&lt;br /&gt;
| 1M&lt;br /&gt;
| 800x480, 7&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host&lt;br /&gt;
| Gleiche Hardware wie das Hantek DSO5062B und leicht modifizierte Software.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.hantek.com.cn/en/ProductDetail_3_3.html DSO5000B Series]&lt;br /&gt;
| [http://www.hantek.com.cn/en/index.html Hantek]&lt;br /&gt;
| ab 290$&lt;br /&gt;
| 2&lt;br /&gt;
| 500&amp;lt;br&amp;gt;1000&lt;br /&gt;
| 60&amp;lt;BR/&amp;gt;100&amp;lt;BR&amp;gt;200&lt;br /&gt;
| 8&lt;br /&gt;
| 1M&lt;br /&gt;
| 800x&amp;amp;shy;480, 7&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host&lt;br /&gt;
| Mit 60MHz beliebt, da es einen Hack auf 200 MHz gibt. Ebenso diverse Hacks an der Hardware. Auch als Tekway oder Protek im Handel.&lt;br /&gt;
|-&lt;br /&gt;
| MSO5000D serie&lt;br /&gt;
| Hantek&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 1000&lt;br /&gt;
| 60 &amp;lt;br&amp;gt; 100 &amp;lt;br&amp;gt; 200&lt;br /&gt;
| 8&lt;br /&gt;
| 1M&lt;br /&gt;
| 800x&amp;amp;shy;480, 7&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &lt;br /&gt;
| 2CH +16 Logik &amp;lt;br/&amp;gt; weitgehend baugleich mit DSO5000B Serie&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| DSO3062A&lt;br /&gt;
| Agilent&lt;br /&gt;
| 800&lt;br /&gt;
| 2&lt;br /&gt;
| 500&lt;br /&gt;
| 60&lt;br /&gt;
| 8&lt;br /&gt;
| 4k&lt;br /&gt;
| 320x&amp;amp;shy;240, 5.7&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host (modul)&lt;br /&gt;
| weitgehend baugleich mit Rigol DS5000&lt;br /&gt;
|-&lt;br /&gt;
| InfiniiVision 2000 X Serie&lt;br /&gt;
| Agilent&lt;br /&gt;
| 950 - 2600 &lt;br /&gt;
| 2/4&lt;br /&gt;
| 1000&amp;lt;br&amp;gt;2000&lt;br /&gt;
| 70&amp;lt;BR&amp;gt;100&amp;lt;BR&amp;gt;200 &lt;br /&gt;
| 8 &lt;br /&gt;
| 100k&lt;br /&gt;
| 800x&amp;amp;shy;480, 8.5&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host 2x&lt;br /&gt;
| Markengeräte mit exzellentem Preis-Leistungs-Verhältnis. Software-Aufrüstbar (Funktionsgenerator, Protokoll-Dekoder, usw.)&lt;br /&gt;
|-&lt;br /&gt;
| [http://%5Bhttp://www.owon.com.hk/products.asp?ParentID=57&amp;amp;SortID=87 OWON &amp;lt;br/&amp;gt; XDS--A(+)&amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;   &#039;&#039;&#039;•12-bit:&#039;&#039;&#039; &amp;lt;br /&amp;gt; 3062 A(+) &amp;lt;br /&amp;gt; 3102 A(+) &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt; &#039;&#039;&#039;•14-bit:&#039;&#039;&#039; &amp;lt;br /&amp;gt; 3202 A(+)]&lt;br /&gt;
| [http://www.owon.com.hk/main.asp OWON]&lt;br /&gt;
| &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; 430.. &amp;lt;br/&amp;gt; bis &amp;lt;br/&amp;gt; 720€ &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
~1350€&lt;br /&gt;
| 2&lt;br /&gt;
| 1000&lt;br /&gt;
| &amp;lt;BR/&amp;gt;&amp;lt;BR/&amp;gt;60&amp;lt;BR/&amp;gt;&amp;lt;BR/&amp;gt;100&amp;lt;BR/&amp;gt;&amp;lt;BR/&amp;gt;200 &lt;br /&gt;
| &amp;lt;BR/&amp;gt;&amp;lt;BR/&amp;gt;12&amp;lt;BR/&amp;gt;&amp;lt;BR/&amp;gt;12&amp;lt;BR/&amp;gt;&amp;lt;BR/&amp;gt;14&lt;br /&gt;
| &amp;lt;BR/&amp;gt;&amp;lt;BR/&amp;gt;      40M&amp;lt;br /&amp;gt;&lt;br /&gt;
| 800x600 &amp;lt;br /&amp;gt; &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
8&amp;quot; Touch-screen &amp;lt;BR/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
(3062A(+): ohne &amp;lt;BR/&amp;gt; Touchscreen) &lt;br /&gt;
| •USBx2 &amp;lt;BR/&amp;gt; •LAN &amp;lt;BR/&amp;gt; •WiFi &amp;lt;BR/&amp;gt; •VGA/AV &amp;lt;br /&amp;gt;&lt;br /&gt;
•• A+ : incl. &amp;lt;BR/&amp;gt; •2ch-FG &amp;lt;BR/&amp;gt; •Multimeter &amp;lt;BR/&amp;gt; •DataLogger&lt;br /&gt;
| •LabView komp. &amp;lt;br /&amp;gt;&lt;br /&gt;
•LiIon-Akku opt. •Bus-Decoder opt. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;•Echtes Glimpse-Of-Nirvana Teil&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.rigolna.com/products/digital-oscilloscopes/ds1000e/ Rigol DS1000E Serie]&lt;br /&gt;
| [http://www.rigolna.com/ Rigol]&lt;br /&gt;
| ab 296&lt;br /&gt;
| 2&lt;br /&gt;
| 500&amp;lt;br&amp;gt;1000&lt;br /&gt;
| 50&amp;lt;BR&amp;gt;100&lt;br /&gt;
| 8&lt;br /&gt;
| 1M&lt;br /&gt;
| 320x&amp;amp;shy;240, 5.7”&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •RS-232&lt;br /&gt;
| optional 16-Kanal Logikanalysator = DS1052D (DS1102D). Im Netz kursieren diverse, mehr oder weniger ernst zu nehmende Anleitungen, wie man ein DS1052E per Software auf ein DS1102E umrüsten kann.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.rigolna.com/products/digital-oscilloscopes/ds1000z/ Rigol DS1000Z Series]&lt;br /&gt;
| [http://www.rigolna.com/ Rigol]&lt;br /&gt;
| ab 375&lt;br /&gt;
| 4&lt;br /&gt;
| 250&amp;lt;br&amp;gt;500&amp;lt;br&amp;gt;1000&lt;br /&gt;
| 50&amp;lt;BR&amp;gt;70&amp;lt;BR&amp;gt;100&lt;br /&gt;
| 8&lt;br /&gt;
| 12M&amp;lt;BR&amp;gt;24M&lt;br /&gt;
| 800x&amp;amp;shy;480, 7&amp;quot;&lt;br /&gt;
| •USB Device (Pict Bridge) &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN (LXI)&lt;br /&gt;
| optionaler dualer Funktionsgenerator 25Mhz (DS1000Z&#039;&#039;&#039;-S&#039;&#039;&#039;). Im Netz kursieren diverse, mehr oder weniger ernst zu nehmende Anleitungen, wie man ein DS1054Z/DS1074Z per Software auf ein DS1104Z umrüsten und den gesamten Funktionsumfang freischalten kann.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.rigolna.com/products/digital-oscilloscopes/ds2000/ DS2000 Serie]&lt;br /&gt;
| [http://www.rigolna.com/ Rigol]&lt;br /&gt;
| 589 - 1505&lt;br /&gt;
| 2&lt;br /&gt;
| 2000&lt;br /&gt;
| 70&amp;lt;BR&amp;gt;100&amp;lt;BR&amp;gt;200&amp;lt;BR&amp;gt;300&lt;br /&gt;
| 8&lt;br /&gt;
| 14M&amp;lt;BR&amp;gt;56M&lt;br /&gt;
| 800x&amp;amp;shy;480, 8&amp;quot;&lt;br /&gt;
| •USB Device (Pict Bridge) &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN (LXI)&lt;br /&gt;
| Per Kauflizenz jeweils freischaltbar sind 56M, serielle Dekoder, weitere Trigger. Lassen sich alle über generierte Serial freischalten und sogar auf Topmodel DS2202 (200MHz) upgraden, da identische (gute) Hardware u. Lieferumfang - keine Hardwaremodifikation nötig. Dank LXI (offene Spezifikation) gute Softwareanbindung. Vertikalauflösung ab 0,5mV/Div!&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.rigolna.com/products/digital-oscilloscopes/ds2000/ MSO5000 Serie]&lt;br /&gt;
| [http://www.rigolna.com/ Rigol]&lt;br /&gt;
| 963 - 3569&lt;br /&gt;
| 2/4&lt;br /&gt;
| 2000&amp;lt;br&amp;gt;4000&amp;lt;br&amp;gt;8000&lt;br /&gt;
| 70&amp;lt;BR&amp;gt;100&amp;lt;BR&amp;gt;200&amp;lt;BR&amp;gt;350&lt;br /&gt;
| 8&lt;br /&gt;
| 100M&amp;lt;BR&amp;gt;200M&lt;br /&gt;
| 1024x&amp;amp;shy;600, 9&amp;quot;&lt;br /&gt;
| •USB Device (Pict Bridge) &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN (LXI)&lt;br /&gt;
| Per Kauflizenz jeweils freischaltbar sind serielle Dekoder, weitere Trigger. Lassen sich alle über generierte Serial freischalten und auf Topmodel MSO5354 (350MHz) upgraden, da identische (gute) Hardware u. Lieferumfang - keine Hardwaremodifikation nötig.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.siglent.com/ens/pdxx.aspx?id=25&amp;amp;T=2&amp;amp;tid=1/ SDS2000 Serie]&lt;br /&gt;
| [http://www.siglent.com/ENs/index.aspx/ Siglent]&lt;br /&gt;
| 850 - 2700&lt;br /&gt;
| 2&amp;lt;br&amp;gt;4 &lt;br /&gt;
| 2000&lt;br /&gt;
| 70&amp;lt;BR&amp;gt;100&amp;lt;BR&amp;gt;200&amp;lt;BR&amp;gt;300&lt;br /&gt;
| 8&lt;br /&gt;
| 28M&lt;br /&gt;
| 800x&amp;amp;shy;480, 8&amp;quot;&lt;br /&gt;
| •USB Device (Pict Bridge) &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN (LXI) &amp;lt;br/&amp;gt; •PASS/FAIL&lt;br /&gt;
| 110.000wrfms/s, seqmentierter Speicher! (dann bis 300.000wrfms/s, HRES Erfassung mit höherer vertikaler Auflösung, Per Kauflizenz jeweils freischaltbar sind serielle Bus-Dekoder, MSO Option, Funktionsgeneratorausgang Dank LXI gute Softwareanbindung.  &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.owon.com.hk/products.asp?ParentID=57&amp;amp;SortID=66 Owon SDS Serie]&lt;br /&gt;
| [http://www.owon.com.hk/main.asp Owon]&lt;br /&gt;
| 260€ (5032E) - 1100€ (9302)&lt;br /&gt;
| 2&lt;br /&gt;
| 125&amp;lt;br&amp;gt;250&amp;lt;br&amp;gt;1600&amp;lt;br&amp;gt;3200&lt;br /&gt;
| 30&amp;lt;BR&amp;gt;60&amp;lt;BR&amp;gt;70&amp;lt;BR&amp;gt;100&amp;lt;BR&amp;gt;125&amp;lt;BR&amp;gt;200&amp;lt;BR&amp;gt;300&lt;br /&gt;
| 8&lt;br /&gt;
| 10k&amp;lt;br&amp;gt;10M&lt;br /&gt;
| 800x&amp;amp;shy;600, 8&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN &amp;lt;BR/&amp;gt; •VGA (opt.) &amp;lt;BR/&amp;gt; &#039;&#039;oder&#039;&#039; &amp;lt;BR/&amp;gt; •RS-232 (opt.)&amp;amp;shy;(nicht -E)&lt;br /&gt;
| Akkubetrieb optional (nicht -E)&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.gwinstek.com/en/product/productdetail.aspx?pid=3&amp;amp;mid=7&amp;amp;id=46 GDS-1000 Serie]&lt;br /&gt;
| [http://www.gwinstek.com/en/index.aspx GW Instek] &lt;br /&gt;
| 350 - 550&amp;lt;br&amp;gt;&lt;br /&gt;
| 2&lt;br /&gt;
| 250&lt;br /&gt;
| 25&amp;lt;BR&amp;gt;40&amp;lt;BR&amp;gt;60&amp;lt;BR&amp;gt;100&lt;br /&gt;
| 8&lt;br /&gt;
| 4k&lt;br /&gt;
| 320x&amp;amp;shy;234, 5.6&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •SD-Slot&lt;br /&gt;
| Von Conrad teurer als DSO-4000 Serie erhältlich (475 - 950&amp;amp;euro;).&amp;lt;br&amp;gt;[http://code.google.com/p/gds2000tools/ Einfache Software für Linux erhältlich]&amp;lt;br&amp;gt; GW Instek alias Good Will Instrument Co., Ltd&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.gwinstek.com/en/product/productdetail.aspx?pid=3&amp;amp;mid=7&amp;amp;id=42 GDS-1000&#039;&#039;&#039;A&#039;&#039;&#039; Serie]&lt;br /&gt;
| [http://www.gwinstek.com/en/index.aspx GW Instek]&lt;br /&gt;
| 500&lt;br /&gt;
| 2&lt;br /&gt;
| 1000&lt;br /&gt;
| 60&amp;lt;BR&amp;gt;100&amp;lt;BR&amp;gt;150&lt;br /&gt;
| 8&lt;br /&gt;
| 2M&lt;br /&gt;
| 320x&amp;amp;shy;234, 5.6&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •SD-Slot&lt;br /&gt;
| [http://code.google.com/p/gds2000tools/ Einfache Software für Linux erhältlich]&amp;lt;br&amp;gt; GW Instek alias Good Will Instrument Co., Ltd&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Bezeichnung&lt;br /&gt;
! style=&amp;quot;width:6em&amp;quot; | Hersteller&lt;br /&gt;
! style=&amp;quot;width:4em&amp;quot; | Preis [&amp;amp;euro;]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Kanäle&lt;br /&gt;
! style=&amp;quot;width:4em&amp;quot; | Samplerate [MS/s]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Bandbreite [MHz]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Auflösung [Bit]&lt;br /&gt;
!  style=&amp;quot;width:4em&amp;quot; | Speichertiefe [Samples]&lt;br /&gt;
!  style=&amp;quot;width:6em&amp;quot; | Display&lt;br /&gt;
!  style=&amp;quot;width:8em&amp;quot; | Inface&lt;br /&gt;
! Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.gwinstek.com/en/product/productdetail.aspx?pid=3&amp;amp;mid=7&amp;amp;id=34 GW Instek GDS-2000 Serie]&lt;br /&gt;
| [http://www.gwinstek.com/en/index.aspx GW Instek]&lt;br /&gt;
| 850 - 1800&lt;br /&gt;
| 2/4&lt;br /&gt;
| 1000&lt;br /&gt;
| 60&amp;lt;BR&amp;gt;100&amp;lt;BR&amp;gt;200&lt;br /&gt;
| 8&lt;br /&gt;
| 5k&amp;lt;br&amp;gt;25k&lt;br /&gt;
| 320x&amp;amp;shy;234, 5.6&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host 2x &amp;lt;BR/&amp;gt; •RS-232&lt;br /&gt;
| Weitgehend baugleich mit Conrad Voltcraft DSO-8000 Serie. Vier-Kanal Versionen haben keinen externen Trigger und weniger Trigger-Funktionen.&amp;lt;br&amp;gt;[http://code.google.com/p/gds2000tools/ Einfache Software für Linux erhältlich]&lt;br /&gt;
|-&lt;br /&gt;
| TDS-1002B&lt;br /&gt;
| Tektronix&lt;br /&gt;
| 1100&lt;br /&gt;
| 2&lt;br /&gt;
| 1000&lt;br /&gt;
| 60&lt;br /&gt;
| 8&lt;br /&gt;
| 2.5k&lt;br /&gt;
| 320x&amp;amp;shy;240&lt;br /&gt;
| •USB Device (Pict Bridge) &amp;lt;BR/&amp;gt; •USB Host&lt;br /&gt;
| verhältnismäßig starkes Rauschen, siehe Text oben&lt;br /&gt;
|-&lt;br /&gt;
| [http://teledynelecroy.com/oscilloscope/oscilloscopeseries.aspx?mseries=50 WaveJet 3xx]&lt;br /&gt;
| [http://teledynelecroy.com/ LeCroy]&lt;br /&gt;
| 2800 - 8000&lt;br /&gt;
| 2/4&lt;br /&gt;
| 1000&amp;lt;br&amp;gt;2000&lt;br /&gt;
| 100&amp;lt;BR&amp;gt;200&amp;lt;BR&amp;gt;350&amp;lt;BR&amp;gt;500&lt;br /&gt;
| 8&lt;br /&gt;
| 500k&lt;br /&gt;
| 640x&amp;amp;shy;480, 7.5&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN&lt;br /&gt;
| verfügbar z.&amp;amp;nbsp;B. bei Farnell&lt;br /&gt;
|-&lt;br /&gt;
| WaveAce Serie&lt;br /&gt;
| [http://teledynelecroy.com/ LeCroy]&lt;br /&gt;
| 1000 - 3500&lt;br /&gt;
| 2&lt;br /&gt;
| 250 - 2000&lt;br /&gt;
| 60 - 300&lt;br /&gt;
| 8&lt;br /&gt;
| 4k - 8k&lt;br /&gt;
| 320x&amp;amp;shy;240&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •RS-232(?)&lt;br /&gt;
| Daten beziehen sich etvl. auf nicht mehr erhälltliche Serie (bitte überprüfen)&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.dlm2000.de DLM20XX]&lt;br /&gt;
| YOKOGAWA &lt;br /&gt;
| 3300 - 8000&lt;br /&gt;
| 2&amp;lt;br&amp;gt;4&amp;lt;br&amp;gt;3+1&lt;br /&gt;
| 1250&amp;lt;br&amp;gt;2500&lt;br /&gt;
| 200&amp;lt;BR&amp;gt;350&amp;lt;BR&amp;gt;500&lt;br /&gt;
| 8&lt;br /&gt;
| 12,5M&lt;br /&gt;
| 1024x&amp;amp;shy;768, 8.4&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host 2x &amp;lt;BR/&amp;gt; •LAN (opt.) &amp;lt;BR/&amp;gt; •RGB Video&lt;br /&gt;
| Vertrieb direkt vom Hersteller!&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.uni-trend.com/UT2025B.html UNI-T UT2025B]&amp;lt;br&amp;gt;Voltcraft DSO-1022 M&amp;lt;br&amp;gt;&lt;br /&gt;
| [http://www.uni-trend.com/ Uni-Trend Group Limited]&lt;br /&gt;
| 290 - 356&lt;br /&gt;
| 2&lt;br /&gt;
| 250&lt;br /&gt;
| 25&lt;br /&gt;
| 8&lt;br /&gt;
| 512k&amp;lt;ref name=&amp;quot;unit&amp;quot;&amp;gt;Uni-Ts Angaben zur Speichertiefe sind mit Vorsicht zu genießen. Seit Jahren wirbelt die Firma mit Begriffen wie &#039;&#039;memory length&#039;&#039;, &#039;&#039; memory depth&#039;&#039;, &#039;&#039;recording length&#039;&#039; und &#039;&#039;saving depth&#039;&#039; herum - jeweils mit unterschiedlichen Werten für das gleiche Oszilloskop. Dabei vermeidet Uni-T Begriffsdefinitionen zu geben. Im Zweifelsfall sollte man mit dem kleinsten Wert aller Angaben rechnen.&amp;lt;/ref&amp;gt;&lt;br /&gt;
| 320x&amp;amp;shy;240 (Monochrom)&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •RS-232 &amp;lt;BR/&amp;gt; •LAN (opt.)&lt;br /&gt;
| Als UT2025&#039;&#039;&#039;C&#039;&#039;&#039; mit Farbdisplay. UT2000 Serie 25-200MHz, 2CH 250MSa/s bis 1GSa/s&amp;lt;br&amp;gt;wenig Rauschen&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.uni-trend.com/UTD2052CEL.html UTD2052CEL]&lt;br /&gt;
| [http://www.uni-trend.com/ Uni-Trend Group Limited]&lt;br /&gt;
| 369,-&lt;br /&gt;
| 2&lt;br /&gt;
| 1000&lt;br /&gt;
| 50&lt;br /&gt;
| 8&lt;br /&gt;
| 12,5k&amp;lt;br&amp;gt;25k&amp;lt;br&amp;gt;1,2M&lt;br /&gt;
| 400x&amp;amp;shy;240&lt;br /&gt;
| •USB Host&lt;br /&gt;
| Displayauflösung beträgt 800x480, der Displaycontroller faßt jedoch immer 2x2 Pixel zusammen (Menü nimmt relativ viel Platz auf dem Bildschirm ein)&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.rohde-schwarz.de/de/Produkte/messtechnik-testsysteme/oszilloskope/HMO1002-%7C-Kerndaten-%7C-4-%7C-11696.html HMO1002]&lt;br /&gt;
| [http://www.rohde-schwarz.de/ Rohde &amp;amp; Schwarz]&lt;br /&gt;
| 950 - 1190&lt;br /&gt;
| 2&lt;br /&gt;
| 1000 &lt;br /&gt;
| 50&amp;lt;br&amp;gt;100&lt;br /&gt;
| 8&lt;br /&gt;
| 500k&lt;br /&gt;
| 640x&amp;amp;shy;480, 6,5&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN &lt;br /&gt;
| Umfangreiche Zusatzfunktionen wie Mustergenerator, Frequenzgenerator, 2-Kanal DVM, Frequenzzähler, Komponententester und 8 Kanal MSO Opt. &lt;br /&gt;
|-&lt;br /&gt;
| [http://value.rohde-schwarz.com/vi/value/oscilloscopes/r-srhmo1202-digital-oscilloscope.html/ HMO1202]&lt;br /&gt;
| [http://www.rohde-schwarz.de/ Rohde &amp;amp; Schwarz]&lt;br /&gt;
| - &lt;br /&gt;
| 2&lt;br /&gt;
| 1000&amp;lt;br&amp;gt;2000&lt;br /&gt;
| 100&amp;lt;br&amp;gt;200&amp;lt;br&amp;gt;300&lt;br /&gt;
| 8&lt;br /&gt;
| 1M&amp;lt;br&amp;gt;2M&lt;br /&gt;
| 640x&amp;amp;shy;480, 6,5&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN &lt;br /&gt;
| Optionen für I2C, RS232, UART, CAN, LIN serielle Busanalyse, Umfangreiche Zusatzfunktionen wie Mustergenerator, Frequenzgenerator, 2-Kanal DVM, Frequenzzähler, Komponententester und 8 Kanal MSO Opt. &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.peaktech.de/produktdetails/kategorie/digital-oszilloskope/produkt/p-1265.html PT 1265]&lt;br /&gt;
| [http://www.PEAKTECH.de Peaktech]&lt;br /&gt;
| ca. 290&lt;br /&gt;
| 2&lt;br /&gt;
| 125&lt;br /&gt;
| 30&lt;br /&gt;
| 8&lt;br /&gt;
| 10k&lt;br /&gt;
| 800x&amp;amp;shy;600, 8&amp;quot;&lt;br /&gt;
| •USB Device &amp;lt;BR/&amp;gt; •USB Host &amp;lt;BR/&amp;gt; •LAN &amp;lt;BR/&amp;gt; •VGA&lt;br /&gt;
| Optional: Akkupack  4000 mA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Weitere Marken, die gelegentlich auf dem deutschen Markt auftauchen, häufig über eBay, sind &lt;br /&gt;
&lt;br /&gt;
* GAOtek&lt;br /&gt;
* Hangzhou Jingce (JC)&lt;br /&gt;
* Tonghui&lt;br /&gt;
* Ypioneer&lt;br /&gt;
* Jiangsu Lvyang&lt;br /&gt;
&lt;br /&gt;
Über deren Qualität hört man wenig oder gar nichts.&lt;br /&gt;
&lt;br /&gt;
=== PC-Oszilloskope ===&lt;br /&gt;
==== PC-Zusätze ====&lt;br /&gt;
===== Allgemeines &amp;amp; Beachtenswertes =====&lt;br /&gt;
&lt;br /&gt;
PC-Oszilloskope / PC-Zusätze sind im Prinzip digitale Speicheroszilloskope, mit der Besonderheit, dass sie die Daten nicht selbst anzeigen, sondern an einen PC übermitteln. Beim Kauf eines PC-Oszilloskops sollte man besonders vorsichtig sein, da viele Angebote irreführende Informationen enthalten. Sehr beliebt ist z.&amp;amp;nbsp;B. die Werbung mit der Analogbandbreite, also die Bandbreite die der Analogteil der Schaltung (Eingangsverstärker) verarbeiten kann. Wenn hier 100 MHz angegeben sind bedeutet das aber nicht, dass sich auch wirklich Signale bis 100 MHz darstellen lassen; wenn der Wandler nur mit 40 MS/s abtastet ist das Oszilloskop gerade noch bis 4 MHz verwendbar. Ebenso sollte man nur die Echtzeit- oder Realtime-Abtastrate beachten, eine manchmal ebenfalls angegebene &amp;quot;Äquivalent-Abtastrate&amp;quot; ist nur bei periodischen Signalen zu gebrauchen und damit im Umfeld von Mikrocontrollern meist wertlos.&lt;br /&gt;
&lt;br /&gt;
Die Wahl zwischen einem Tischoszilloskop und einem PC-Zusatz ist nicht nur eine Geld-, Leistungs- oder Qualitätsfrage. Ein Tischgerät lässt sich anders bedienen (echte Knöpfe, sicherer Stand) und belegt nicht den PC oder Laptop. Erfahrene Entwickler ziehen ein separates Gerät einem PC-Zusatz vor. Zum Teil ist dies eine Generationsfrage.&lt;br /&gt;
&lt;br /&gt;
Hinzu kommt, dass billige PC-Oszilloskope meist keine galvanische Trennung an ihrer USB-Schnittstelle besitzen. Ein Fehler bei einer Messung kann daher nicht nur das Oszilloskop, sondern gleich den PC mit beschädigen. Das gleiche Problem kann man übrigens auch bei einfachen Tischoszilloskopen mit PC-Schnittstelle haben. Allerdings kann man Tischgeräte auch ohne die PC-Verbindung betreiben, PC-Oszilloskope nicht.&lt;br /&gt;
&lt;br /&gt;
Gelegentlich wird geraten, das Oszilloskop, egal ob Tischgerät oder PC-Zusatz, immer über einen &amp;quot;self powered&amp;quot; USB-Hub (einer mit eigenem Netzteil) mit dem PC zu verbinden. Ob ein solcher Hub als Schutzmaßnahme geeignet ist, besonders zum Personenschutz, sei dahingestellt. Schaden sollte er nicht.&lt;br /&gt;
&lt;br /&gt;
Besonders zu beachten ist die PC-Software. Nicht nur, ob sie zum Zeitpunkt des Kaufs wenigstens grundsätzlichen Ansprüchen genügt, sondern auch, ob der Hersteller vermutlich willens und in der Lage ist, die Software über viele Jahre zu warten. Stichwort Investitionssicherheit. Ohne Wartung kann eine Inkompatibilität in der Software zum nächste Windows Service-Pack oder zur nächste Windows-Version das Gerät völlig entwerten.&lt;br /&gt;
&lt;br /&gt;
Leider ist es so, dass es fast keine freie [[Oszilloskop#Software|Oszilloskopsoftware]] gibt. Die Protokolle zwischen Oszilloskop-Vorsätzen und Computer sind meist proprietär, und selten hat sich ein Entwickler freier Software die Mühe gemacht, ein Protokoll zu entschlüsseln. Noch seltener ist es, dass auf dieser Basis eine brauchbare oder gar gute Software geschrieben wurde. So ist ein Ausweichen auf freie Software kaum möglich, sollte der Hersteller die Wartung aufgeben. Man ist im Normalfall auf Gedeih und Verderb dem Hersteller ausgeliefert.&lt;br /&gt;
&lt;br /&gt;
===== Vergleichstabelle PC-Zusätze =====&lt;br /&gt;
&lt;br /&gt;
Diese Tabelle soll einen Überblick über interessante oder bekannte Geräte besonders im unteren Preisbereich geben. Eine vollständige Auflistung aller existierenden Geräte ergibt wegen der Vielzahl an Baureihen und Modellen wenig Sinn.&lt;br /&gt;
&lt;br /&gt;
Alle hier gelisteten Geräte haben einen USB-Anschluss.&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;pczusatzoszis&amp;quot; &lt;br /&gt;
|- style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Bezeichnung&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Hersteller&lt;br /&gt;
! style=&amp;quot;width:4em&amp;quot; | Preis [&amp;amp;euro;]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Kanäle&lt;br /&gt;
! style=&amp;quot;width:4em&amp;quot; | Samplerate [MS/s]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Bandbreite [MHz]&lt;br /&gt;
! style=&amp;quot;width:3em&amp;quot; | Auflösung [Bit]&lt;br /&gt;
! style=&amp;quot;width:4em&amp;quot; | Speichertiefe [Samples]&lt;br /&gt;
! Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.elandigitalsystems.com/support/usbtmfaq/software.php USBscope50]&lt;br /&gt;
| Elan Digital Systems&lt;br /&gt;
| 249&lt;br /&gt;
| 1 (-4)&lt;br /&gt;
| 50&amp;lt;br&amp;gt;1000&lt;br /&gt;
| 10&amp;lt;br&amp;gt;75&lt;br /&gt;
| 8&lt;br /&gt;
| 3k&lt;br /&gt;
| CAT II, 300V galv. Trennung zu USB, OpenSource SDK, Java, Linux, LabView&lt;br /&gt;
|-&lt;br /&gt;
| PicoScope 2104&lt;br /&gt;
| Pico Technology&lt;br /&gt;
| 180&lt;br /&gt;
| 1&lt;br /&gt;
| 50&lt;br /&gt;
| 10&lt;br /&gt;
| 8&lt;br /&gt;
| 8K&lt;br /&gt;
| Spektralanalyse und Voltmeter in Software.&lt;br /&gt;
|-&lt;br /&gt;
| PicoScope 2105&lt;br /&gt;
| Pico Technology&lt;br /&gt;
| 235&lt;br /&gt;
| 1&lt;br /&gt;
| 100&lt;br /&gt;
| 25&lt;br /&gt;
| 8&lt;br /&gt;
| 24K&lt;br /&gt;
| Spektralanalyse und Voltmeter in Software.&lt;br /&gt;
|-&lt;br /&gt;
| PicoScope 2204A&lt;br /&gt;
| Pico Technology&lt;br /&gt;
| 165&lt;br /&gt;
| 2&lt;br /&gt;
| 100&lt;br /&gt;
| 10&lt;br /&gt;
| 8 - 12&lt;br /&gt;
| 8K&lt;br /&gt;
| Kleiner Arbitrary Waveform Generator eingebaut.&lt;br /&gt;
|-&lt;br /&gt;
| PicoScope 2205A&lt;br /&gt;
| Pico Technology&lt;br /&gt;
| 255&lt;br /&gt;
| 2&lt;br /&gt;
| 200&lt;br /&gt;
| 25&lt;br /&gt;
| 8 - 12&lt;br /&gt;
| 16K&lt;br /&gt;
| Kleiner Arbitrary Waveform Generator eingebaut.&lt;br /&gt;
|-&lt;br /&gt;
| PicoScope 2206A&lt;br /&gt;
| Pico Technology&lt;br /&gt;
| 429&lt;br /&gt;
| 2&lt;br /&gt;
| 500&lt;br /&gt;
| 50&lt;br /&gt;
| 8 - 12&lt;br /&gt;
| 32K&lt;br /&gt;
| Kleiner Arbitrary Waveform Generator eingebaut.&lt;br /&gt;
|-&lt;br /&gt;
| PicoScope 2207A&lt;br /&gt;
| Pico Technology&lt;br /&gt;
| 548&lt;br /&gt;
| 2&lt;br /&gt;
| 1000&lt;br /&gt;
| 100&lt;br /&gt;
| 8 - 12&lt;br /&gt;
| 40K&lt;br /&gt;
| Kleiner Arbitrary Waveform Generator eingebaut.&lt;br /&gt;
|-&lt;br /&gt;
| P 1280&lt;br /&gt;
| Peaktech&lt;br /&gt;
| 329&lt;br /&gt;
| 2&lt;br /&gt;
| 250&lt;br /&gt;
| 60&lt;br /&gt;
| 8&lt;br /&gt;
| 10M&lt;br /&gt;
| USB und LAN Anschluss, 40V&amp;lt;sub&amp;gt;SS&amp;lt;/sub&amp;gt; bei USB, 400V&amp;lt;sub&amp;gt;SS&amp;lt;/sub&amp;gt; bei LAN&lt;br /&gt;
|-&lt;br /&gt;
| P 1285&lt;br /&gt;
| Peaktech&lt;br /&gt;
| 389&lt;br /&gt;
| 2&lt;br /&gt;
| 500&lt;br /&gt;
| 100&lt;br /&gt;
| 8&lt;br /&gt;
| 10M&lt;br /&gt;
| USB und LAN Anschluss, 40V&amp;lt;sub&amp;gt;SS&amp;lt;/sub&amp;gt; bei USB, 400V&amp;lt;sub&amp;gt;SS&amp;lt;/sub&amp;gt; bei LAN&lt;br /&gt;
|-&lt;br /&gt;
| P 1290&lt;br /&gt;
| Peaktech&lt;br /&gt;
| 197&lt;br /&gt;
| 2&lt;br /&gt;
| 100&lt;br /&gt;
| 25&lt;br /&gt;
| 8&lt;br /&gt;
| 5k&lt;br /&gt;
| 400V&amp;lt;sub&amp;gt;SS&amp;lt;/sub&amp;gt; galv. Trennung zu USB&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.hantek.com.cn/english/produce_list.asp?unid=62 DSO-2090 USB]&lt;br /&gt;
| Hantek - Qingdao Hatek Electronic Co., Ltd.&lt;br /&gt;
| 200&lt;br /&gt;
| 2&lt;br /&gt;
| 50&amp;lt;br&amp;gt;100&lt;br /&gt;
| 40&lt;br /&gt;
| 8&lt;br /&gt;
| 32k&amp;lt;br&amp;gt;64k&lt;br /&gt;
| Wenige Vorteile gegenüber einem Tischgerät. Analogbandbreite bei der Samplingrate nicht ausnutzbar. Kleiner Eingangsspannungsbereich. Unter diversen anderen Namen erhältlich.&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.hantek.com.cn/english/produce_list.asp?unid=63 DSO-2150 USB]&lt;br /&gt;
| Hantek - Qingdao Hatek Electronic Co., Ltd.&lt;br /&gt;
| 200&lt;br /&gt;
| 2&lt;br /&gt;
| 150&lt;br /&gt;
| 60&lt;br /&gt;
| 8&lt;br /&gt;
| 10K&amp;lt;br&amp;gt;32K&lt;br /&gt;
| .&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.hantek.com.cn/english/produce_list.asp?unid=64 DSO-2250 USB]&lt;br /&gt;
| Hantek - Qingdao Hatek Electronic Co., Ltd.  &lt;br /&gt;
| 220&lt;br /&gt;
| 2&lt;br /&gt;
| 250&lt;br /&gt;
| 100&lt;br /&gt;
| 8&lt;br /&gt;
| 10K-&amp;lt;br&amp;gt;512K&lt;br /&gt;
| .&lt;br /&gt;
|-&lt;br /&gt;
| Mephisto Scope 1 (UM202)&lt;br /&gt;
| Meilhaus&lt;br /&gt;
| 333&lt;br /&gt;
| 2&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 16&lt;br /&gt;
| 256K&lt;br /&gt;
| 5 in 1,&lt;br /&gt;
Oszilloskop,&lt;br /&gt;
Logik-Analysator,&lt;br /&gt;
Voltmeter,&lt;br /&gt;
Datenlogger analog und digital,&lt;br /&gt;
Digital-I/O&lt;br /&gt;
|-&lt;br /&gt;
| MSO-19&lt;br /&gt;
| Link Instruments Inc.&lt;br /&gt;
| 172&lt;br /&gt;
| 1&lt;br /&gt;
| 200&lt;br /&gt;
| 60&lt;br /&gt;
| ??&lt;br /&gt;
| 1K&lt;br /&gt;
|&lt;br /&gt;
Oszilloskop,&lt;br /&gt;
Logik-Analysator,&lt;br /&gt;
Pattern Generator,&lt;br /&gt;
TDR&lt;br /&gt;
|-&lt;br /&gt;
|VDS1022I&lt;br /&gt;
|Owon&lt;br /&gt;
| ca 80&lt;br /&gt;
| 2&lt;br /&gt;
| 100&lt;br /&gt;
| 25&lt;br /&gt;
| 8&lt;br /&gt;
| 5k&lt;br /&gt;
| USB galv. getrennt, auch verkauft als Peaktech 1290?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Soundkarten-Oszilloskope ====&lt;br /&gt;
[[Bild:Soundoszi.JPG|thumb|right|300px|Soundkarten Oszilloskop]]&lt;br /&gt;
Wem ein wirklich einfaches Oszilloskop für kleine Frequenzen (bis etwa 20 kHz) ausreicht, bspw. um die Kommunikation am I2C-Bus zu analysieren, kann dazu die Soundkarte des PC benutzen.&lt;br /&gt;
Allerdings eignet sich eine Soundkarte nicht dazu, Gleichspannungen zu messen, zu niederfrequente Signale können daher nicht damit erfasst werden: Im Screenshot nebenan erkennt man das z.&amp;amp;nbsp;B. an der fallenden Gerade am Schluss (obwohl der tatsächliche Signalpegel konstant oben bleibt). Auch ist hier besondere Vorsicht geboten, da Soundkarten nur für geringe Spannungen ausgelegt sind und bei einer zu hohen Eingangsspannung möglicherweise der ganze PC beschädigt wird. Daher ist eine Vorschaltung mit Spannungsbegrenzung (ca 0,7V) nötig. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil der Soundkartennutzung ist, dass es sich dank des PCs um eine Art  Speicheroszilloskop handelt und die Daten zum Beispiel in Excel analysiert werden können.&lt;br /&gt;
&lt;br /&gt;
* [http://www.scheidig.de/Deutsch/Download/SpekOszi/info.htm Hardy u. Karola Scheidig] verschiedene Programme zum Messen mit der Soundkarte.&lt;br /&gt;
* [http://www.sillanumsoft.org/ Visual Analyser] von Alfredo Accattatis und der University of Rome Tor Vergata, &amp;quot;Donateware&amp;quot; &lt;br /&gt;
* [http://www.zeitnitz.de/Christian/scope_en Soundcard Oscilloscope für Windows] von Christian Zeitnitz, kostenlos für Privatanwendung&lt;br /&gt;
* [http://www.qsl.net/dl4yhf/spectra1.html Spectrum Lab von DL4YHF]&lt;br /&gt;
* [http://w5big.com/spectrogram.htm Spectrogram] von R.S. Horne, ältere Version kostenlos&lt;br /&gt;
* [http://www.audiotester.de/ Audiotester 30-Tage-Version kostenlos]&lt;br /&gt;
* [http://www.dasylab.com/ DasyLab] Eingeschränkte Version (Soundkarte und serielle Schnittstelle) als Beilage zum Buch &amp;quot;Signale-Prozesse-Systeme&amp;quot; ISBN 9783642018633&lt;br /&gt;
* [http://www.zelscope.com/ Zelscope] von Constantin Zeldovich 14-Tage Evaluationsversion&lt;br /&gt;
* [http://web222.webclient5.de/prj/VarEl/SndCrdAmp/ Sound Card Pre-Amp] Selbstbau-Vorverstärker für Sound-Karte von Dr. Thomas Redelberger&lt;br /&gt;
* [http://www.dxzone.com/catalog/Software/Spectrum_analyzers/ Linksammlung]&lt;br /&gt;
&lt;br /&gt;
==== Grafikkarten-Oszilloskope ====&lt;br /&gt;
Videokarten, die über einen analogen Input verfügen, stellen ebenfalls eine Alternative zu käuflichen Oszilloskopen dar, da sie 3kanalig Frequenzen bis rund 180 MHz verarbeiten können. Die digitale Auflösung liegt meist bei 8 Bit maximal, was für einfache Anzeigen jedoch reicht, wenn die Aussteuerung entsprechend ist. Durch Übersampeln lässt sich die Auflösung wie gehabt steigern, indem man z.B. 4 Werte softwareseitig zusammenfasst und damit 1 Bit an Auflösung gewinnt. Bei 16 Werten kann man 2 Bit erwarten und erhält eine Güte von ca. 10 Bit bei 10MHz.&lt;br /&gt;
&lt;br /&gt;
=== Selbstbau ===&lt;br /&gt;
Der Selbstbau eines solchen Gerätes erspart (wie fast immer in solchen Fällen) kein Geld, sofern man nicht eine Spezialfunktion benötigt, die im Markt nicht beschaffbar ist. Der Spaß liegt also wieder im Bauen selbst.&lt;br /&gt;
&lt;br /&gt;
Es gibt diverse preiswerte Bausätze für Spielzeug-Oszilloskope. Die Ergebnisse nach dem Zusammenbau sind aber als Oszilloskop wenig brauchbar.&lt;br /&gt;
&lt;br /&gt;
Daneben findet man nur sehr wenige Selbstbau-Projekte deren Ergebnisse überzeugen. Einige interessante Projekte sind [http://www.mikrocontroller.net/topic/228997?goto=new#2308320]n und [http://www.ssalewski.de/DAD.html.de]. Dazu sei allerdings gesagt, dass der Aufwand an Material und Messmitteln schnell die Kosten für ein fertiges Oszilloskop überschreitet.&lt;br /&gt;
&lt;br /&gt;
=== Umbau ===&lt;br /&gt;
Sofern man tatsächlich etwas benötigt, was nicht käuflich zu erwerben ist, kann der Kauf und Umbau eines vorhandenen Gerätes sinnvoll sein. &lt;br /&gt;
&lt;br /&gt;
Auf eBay werden immer noch die Oszilloskope der früheren Firma Wittig (heute Welec), wie zum Beispiel das W2012A, angeboten. Als Alternative zu der fehlerträchtigen Orginalfirmware ist mittlerweile eine Open-Source Variante verfügbar die kontinuierlich weiterentwickelt wird. Ebenfalls wird an Hardware Erweiterungen gearbeitet die die Qualität des Oszilloskops deutlich steigern. Wer sich nicht sicher ist ob das Gerät seinen Ansprüchen genügt sollte bei den Entwicklern nachfragen. [http://sourceforge.net/apps/trac/welecw2000a/wiki] Auch hier ist der Weg das Ziel.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR_Softwarepool#Oszilloskop|AVR Softwarepool: Oszilloskop]]&lt;br /&gt;
* [[Einfaches Oszilloskop mit Bascom-AVR]]&lt;br /&gt;
* [[USB_Oszilloskop]]&lt;br /&gt;
* [[Logic_Analyzer]]&lt;br /&gt;
* [[LCS-1M - Ein einfaches, preiswertes, mikrokontrollergesteuertes Zweikanal-Oszilloskop zum Selberbauen | LCS-1M]] ([[Picaxe]])&lt;br /&gt;
* [[media:Probe_Fundamentals-_Tektronix.pdf | Probe_Fundamentals-_Tektronix.pdf]] (engl.)&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/389844#4467981 Forumsbeitrag]: Bitte Tipp für ein einfaches Speicheroszilloskop&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/205596?goto=5724370#5724370 Forumsbeitrag]: Selbstbauprojekt für optisch getrennten Tastkopf&lt;br /&gt;
&lt;br /&gt;
== Links &amp;amp; Literatur ==&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/index.cfm?pid=9681 Online-Dossier Grundlagen digitaler Oszilloskope. ] Veröffentlicht auf Elektronikpraxis online&lt;br /&gt;
* [http://www.tek.com/Measurement/App_Notes/XYZs/03W_8605_3.pdf XYZs of Oscilloscopes Primer]. Die Grundlagen digitaler Oszilloskope  &lt;br /&gt;
* [http://www.tek.com/Measurement/App_Notes/ABCsProbes/60W_6053_9.pdf ABCs of Probes Primer]. Die Grundlagen von Tastköpfen&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1?filter=oszi*+-oszillator Forum-Beiträge zum Thema Oszilloskop] (Kaufberatung, Anwendung)&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/3?filter=oszi*+-oszillator Beiträge im Markt-Forum]&lt;br /&gt;
* [http://www.virtuelles-oszilloskop.de/ Ein virtuelles interaktives Oszilloskop] ala HAMEG HM203-6 20 MHz zum Üben (Seite auf [http://www.virtuelles-oszilloskop.com Englisch])&lt;br /&gt;
* [http://www.eosystems.ro/eoscope/eoscope_en.htm Selbstbau-DSO 40MSPS]&lt;br /&gt;
* [http://www.sigcon.com/Pubs/straight/probes.htm Probing High-Speed Digital Designs], Originally published in [http://www.elecdesign.com/ Electronic Design Magazine], March, 1997&lt;br /&gt;
* [http://hackedgadgets.com/2007/12/10/oscilloscope-tutorials/ Oscilloscope Tutorials] Linkliste bei hackedgadgets.com&lt;br /&gt;
* [http://www.eevblog.com/2011/03/30/eevblog-159-oscilloscope-trigger-holdoff-tutorial/ EEVBlog #159] Videotutorial von Dave Jones zu &#039;&#039;&#039;Trigger Holdoff&#039;&#039;&#039;, (engl.)&lt;br /&gt;
* [http://www.all-about-test.info/spezial-oszilloskope.html/ Marktübersicht Spezial-Oszilloskope mit Hintergrundinfos]&lt;br /&gt;
* [http://oscopes.info/market/2256-usb-oscilloscopes-product-overview-low-end/ Produktübersicht kostengünstige USB-Oszilloskope (englisch)]&lt;br /&gt;
* [https://www.youtube.com/watch?v=kUU2afffAdE&amp;amp;list=PLMKxBlyAyypxuaI7pbfRkSryvTDef_Y1S&amp;amp;index=16 Video] von Bob Peace zum Thema Tastköpfe und High Speed Measurements (engl.)&lt;br /&gt;
* [http://www.eevblog.com/forum/testgear/digital-oscilloscope-comparison-chart EEVBlog: &amp;quot;Digital Oscilloscope Chart&amp;quot; - Große Vergleichsliste gängiger Digitaloszilloskope (engl.)]&lt;br /&gt;
* [http://www.cbtricks.com/miscellaneous/tech_publications/scope/sampling.pdf Sampling Oscilloscope Techniques], von Tektronix, engl.&lt;br /&gt;
* Isolierte Tastköpfe mit LWL-Kopplung&lt;br /&gt;
** [https://www.tek.com/isolated-measurement-systems# IsoVu Isolated Probes] von Tektronix, 200-1000MHz, 14.000-27.000 Euro&lt;br /&gt;
** [https://teledynelecroy.com/probes/high-voltage-fiber-optically-isolated-probes High Voltage Fiber Optically-isolated Probes] von Teledyne LeCroy, 60MHz, ca. 3900 Euro bei RS [https://de.rs-online.com/web/p/oszilloskop-tastkopfe/1368330/ 136-8330]&lt;br /&gt;
** [https://www.langer-emv.de/en/category/analog/60 Optical fibre cable probes] vom Langer EMV mit 25, 500 und 5000kHz Bandbreite, ca. 1000 Euro&lt;br /&gt;
** [https://hackaday.io/project/12231-fiber-optic-isolated-voltage-probe Fiber Optic Isolated Voltage Probe] bei Hackaday, Selbstbauprojekt, 30MHz, ca. 50$&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/167705#1602827 WinXP Software für OsziFox/ProbeScope] von  Micha B. (chameo)&lt;br /&gt;
&lt;br /&gt;
* [http://users.physik.fu-berlin.de/~jtt/fsc2.phtml fsc2] is a program running under GNU/Linux for controlling spectrometers. Supported devices include digitizing oscilloscopes too:&lt;br /&gt;
** Tektronix Digitizing Oscilloscope TDS520, TDS520A, TDS520C, TDS540, TDS744A and TDS754A&lt;br /&gt;
** LeCroy Digitizing Oscilloscope 9400, 9410, 9420, 9424, 9424e and 9450(A)&lt;br /&gt;
** LeCroy Digitizing Oscilloscope Waverunner and Waverunner-2 (LT224, LT 262, LT264, LT342, LT344, LT354, LT362, LT364, LT372, LT374, LT584, 44(M)Xi, 62X1, 64(M)Xi, 104(M)Xi, 204(M)Xi)&lt;br /&gt;
** LeCroy Digitizing Oscilloscope WaveSurfer (422, 424, 432, 434, 452 and 454)&lt;br /&gt;
&lt;br /&gt;
* [http://xoscope.sourceforge.net/ xoscope, oscope] is a digital oscilloscope using input from a sound card or EsounD and/or a ProbeScope/osziFOX and Bitscope hardware. Includes 8 signal displays, variable time scale, math,memory, measurements, and file save/load. (Linux, GPL)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mtoussaint.de/qtdso.html QtDSO] is a frontend for the Velleman PCS64i digital oscilloscope (Anm.: Velleman nicht mehr unterstützt) It provides a fully featured oscillocope mode (including XY  plot and math) and a highly configurable spectrum analyzer mode. Für &#039;&#039;&#039;Digitalmultimeter&#039;&#039;&#039; gibt es vom gleichen Autor [http://www.mtoussaint.de/qtdmm.html QtDMM] und [http://www.mtoussaint.de/qtdmm2.html QtDMM2].&lt;br /&gt;
&lt;br /&gt;
* [http://www.eig.ch/fr/laboratoires/systemes-numeriques/projets/osqoop-l-oscilloscope-libre/index.html Osqoop] est un oscilloscope logiciel sous licence libre. Il permet de travailler sur un nombre arbitraire de canaux et des acquisitions de longue durée. Wiki description: [http://gitorious.org/osqoop Osqoop] is a multi-platform open source software oscilloscope based on Qt 4. It connects to various hardware data sources such as the sound input or a dedicated USB board.&lt;br /&gt;
&lt;br /&gt;
*[http://code.google.com/p/gds2000tools/ gds2000tools] ist eine Linux-Software für GW-Instek GDS-2000 und andere GW-Instek Oszilloskope.&lt;br /&gt;
&lt;br /&gt;
* [https://code.google.com/p/xoscillo/ Xoscillo] - A software oscilloscope that acquires data using an Arduino or a Parallax (more platforms to come). (Lizenz: CC-BY-NC-SA 3.0; Windows and Linux (needs mono))&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/projects/oscope2100/ Oscope 2100] Linux software für Hantek DSO-2100.&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/projects/openhantek/ OpenHantek] Linux Software für Hantek (Voltcraft/Darkwire/Protek/Acetech) DSO-2090.&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/projects/dsoda/ Digital Soda] DSO-2250 Software.&lt;br /&gt;
&lt;br /&gt;
* [http://owondriver.sourceforge.net/ Owon Driver, Ownon Dump] Linux-Treiber für Owon-Oszilloskope.&lt;br /&gt;
&lt;br /&gt;
* [http://sdaaubckp.sourceforge.net/attenload/ Attenload] Linux - fetch data from Atten oscilloscopes via USB&lt;br /&gt;
&lt;br /&gt;
* [http://www.ant.uni-bremen.de/whomes/rinas/agiload/ Agiload] Linux - fetch data and screenshots from Agilent 5462x oscilloscopes - RS232&lt;br /&gt;
&lt;br /&gt;
* [http://foss.doredevelopment.dk/wiki/Lxi-control Lxi-Control] Kommandozeilen-Applikation zur Fernsteuerung von Geräten mit LXI-Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
* [http://gpib-utils.sourceforge.net/ gpib-util] Linux Kommandozeilen-Applikation, unterstützt diverse Oszilloskope (und andere Geräte) mit GPIB-Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
* [http://optics.eee.nottingham.ac.uk/vxi11/ VXI11] Bibliothek und Programme für Geräte mit VXI-11 Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/projects/wfmreader/ Linux WFM Datenformat-Leser].&lt;br /&gt;
&lt;br /&gt;
* [http://sigrok.org/ &#039;&#039;sigrok&#039;&#039; Open Source Signal Analysis Software Suite]&lt;br /&gt;
&lt;br /&gt;
=== Datenauswertung ===&lt;br /&gt;
&lt;br /&gt;
Bei Oszilloskopen (DSOs), die es erlauben, die gemessenen Daten zu einem PC zu übertragen, kann man die Messwerte auf dem PC weiter auswerten. Zum Beispiel ein Signal demodulieren, filtern oder dekodieren. Grundsätzlich ist die Auswertung in jeder Programmiersprache möglich. Programmiersprachen für numerische Berechnungen eignen sich jedoch besonders.&lt;br /&gt;
&lt;br /&gt;
* [http://www.sigrok.org Sigrok] eine open source tool zur Ansteuerung und Auswertung von u.a. digitalen USB-Oszilloskopen&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com Matlab] und Freie Alternativen wie [http://www.scilab.org/ SciLab] oder [http://www.gnu.org/software/octave/ GNU Octave]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/matlabcentral/fileexchange/?term=Oscilloscope Matlabcentral Fileexchange, Suche nach &#039;&#039;Oscilloscope&#039;&#039;] Auf Matlabcentral Fileexchange finden sich auch MatLab Lese- und Auswertungsfunktionen für diverse Oszilloskope. Hinweis: Die von MatLab für die Kommunikation mit einem Oszilloskop verwendeten Toolboxen und Funktionen dürfen aufgrund der Matlabcentral Lizenz nicht mit freien Alternativen verwendet werden. [http://wiki.octave.org/FAQ#Why_can.27t_I_use_code_from_File_Exchange_in_Octave.3F_It.27s_released_under_a_BSD_license.21 siehe GNU OCtave FAQ]&lt;br /&gt;
&lt;br /&gt;
* [http://octave.sourceforge.net/instrument-control/ Octave-Forge instrument-control] für die Kommunikation mit diversen Geräten wie z.B. LXI-compatible Agilent, LeCroy or Tektronix Oszilloskope über VXI11. Außerdem UART, I2C, GPIB usw.&lt;br /&gt;
&lt;br /&gt;
* Eines Ingenieurs angeblich unwürdig&amp;lt;ref&amp;gt;Es ist sehr einfach Fehler in Tabellenkalkulationen zu machen, die typischerweise lange unentdeckt bleiben. [http://www.eusprig.org/ Untersuchungen] haben gezeigt, dass bereits dann bis zu 90% aller Tabellenkalkulationsblätter fehlerhaft sind, wenn es nur um einfache mathematische Grundoperationen (Addieren, Subtrahieren, Multiplizieren, Dividieren) geht.&amp;lt;/ref&amp;gt; sind Microsoft Excel oder andere Tabellenkalkulationen. Trotzdem sind sie zur Datenauswertung populär und auch geeignet, wenn sie richtig gehandhabt werden.&lt;br /&gt;
&lt;br /&gt;
== Fußnoten ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Oszilloskope und Analyzer| ]]&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104972</id>
		<title>Spule</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104972"/>
		<updated>2022-01-31T21:30:32Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vereinfachte Erklärung ==&lt;br /&gt;
&lt;br /&gt;
Während man sich einen Kondensator wie eine Art Lager für Elektronen vorstellen kann, und einen Widerstand wie ein mehr oder weniger enges Rohr für einen Wasserfluss, ist eine Analogie aus dem täglichen Leben für eine Spule ein Schwungrad. Man hat eine Antriebskraft, mit der man eine Achse in Bewegung setzen möchte, aber auf dieser ist ein großes Schwungrad befestigt. Damit sich die Antriebskraft in der Bewegung der Achse bemerkbar machen kann, muss das Schwungrad mit in Bewegung gesetzt werden, was nur langsam, nach und nach möglich ist, und wenn es sich einmal dreht, möchte es nach dem Beenden der Einwirkung der Antriebskraft zunächst einmal in derselben Richtung weiterlaufen, es kann nicht sofort abgebremst werden, und wenn man versucht, das drehende Schwungrad zu blockieren, wird bei diesem plötzlichen Abbremsen eine gewaltige Kraft freigesetzt.&lt;br /&gt;
&lt;br /&gt;
Eine Spule verhält sich ähnlich. Sie ist stets bestrebt, den Stromfluss aufrecht zu erhalten, sprich sie verzögert eine schnelle Änderung des Stromflusses. Soll der Strom ansteigen, muss zunächst ein Magnetfeld aufgebaut werden, das dauert je nach anliegender Spannung und Induktivität der Spule eine gewisse Zeit. Hier wird Energie gespeichert. Soll der Stromfluss abnehmen, muss das Magnetfeld erst abgebaut werden, hier wird Energie in den Stromkreis zurückgeführt.&lt;br /&gt;
&lt;br /&gt;
Diese Eigenschaft ist sehr wichtig für [[Transformatoren und Spulen]] in Schaltnetzteilen, Filtern und vielen anderen Anwendungen. Das Maß, wieviel Magnetfeld bei einem bestimmten Strom in der Spule gespeichert werden kann, wird mit dem Begriff Induktivität ausgedrückt.&lt;br /&gt;
&lt;br /&gt;
Manchmal ist eine Spule aber auch von Nachteil, wenn die nämlich ungewollt die schnelle Änderung des Stromflusses bremst. Das ist meist dann der Fall, wenn Bauteile zu lange Anschlussdrähte oder Zuleitungen haben. Hier spricht man von Streuinduktivität.&lt;br /&gt;
&lt;br /&gt;
== Berechnungsformeln für Spulen ==&lt;br /&gt;
&lt;br /&gt;
Eine wichtige Formel ist die zur Definition der Induktivität. Das ist der charakteristischste Parameter einer Spule.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=\frac{U \cdot t}{I}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Diese Formel ist vor allem für die Beschreibung des elektrischen Verhaltens einer Spule mit bekannter Induktivität wichtig. Sie sagt aus, dass wenn man an eine Spule mit 1H eine Spannung von 1V für 1s anlegt, steigt der Strom um 1A (Rampenfunktion).&lt;br /&gt;
&lt;br /&gt;
D.h. die Spule integriert (sammelt) eine an ihren Klemmen anliegende Spannung und baut damit ein Magnetfeld auf. Die Folge davon ist ein Stromfluss durch die Spule. Das ist das Gegenteil eines Kondensators. Dieser integriert (sammelt) einen an seinen Klemmen eingespeisten Strom und baut damit ein elektrisches Feld auf. Die Folge davon ist eine Spannung zwischen den Klemmen.&lt;br /&gt;
&lt;br /&gt;
In praktischen Anwendungen wickelt man [http://de.wikipedia.org/wiki/Spule_%28Elektrotechnik%29 Spulen] meist auf fertige Spulenkörper mit zugehörigen Kernen. Die Induktivität berechnet sich aus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=A_L \cdot N^2&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Der &amp;lt;math&amp;gt;A_L&amp;lt;/math&amp;gt;-Wert ist der Kehrwert des  [http://de.wikipedia.org/wiki/Magnetischer_Widerstand magnetischen Widerstands] der Spule (der Raum um den Drahtwickel) und beinhaltet sowohl die Geometrie als auch das Material des Kerns. Er wird im Datenblatt des Kerns angegeben, kann aber ggf. auch berechnet werden. Wichtig ist zu wissen, dass die Induktivität quadratisch von der Windungszahl abhängt, d.h. bei doppelter Windungszahl erhält man die vierfache Induktivität.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Spulenauswahl ==&lt;br /&gt;
&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
&lt;br /&gt;
Vor allem bei Schaltreglern sind folgende Daten der Spulen wichtig:&lt;br /&gt;
&lt;br /&gt;
* Induktivität&lt;br /&gt;
* Drahtwiderstand&lt;br /&gt;
* Maximaler Strom&lt;br /&gt;
* Sättigungsstrom&lt;br /&gt;
&lt;br /&gt;
==== Induktivität ====&lt;br /&gt;
&lt;br /&gt;
Die Induktivität gibt an, wie schnell sich der Strom bei einer anliegenden Spannung ändert. Üblicherweise berechnet man bei der Dimensionierung die minimale Spulengröße die notwendig ist, damit der Ripple des Stromes einen bestimmten Wert (typisch 50% des Ausgangsstroms bei einem StepDown) nicht überschreitet. Eine zu große Induktivität stört bei einem StepDown Regler meist nicht. Bei einem StepUp dagegen darf diese einen bestimmten Wert nicht überschreiten, damit der Regler die gewünschte Leistung liefern kann (siehe Artikel [[Transformatoren und Spulen#Energiespeicherung in Magnetkernen | Transformatoren und Spulen]]). Die Induktivität ist nicht konstant, sondern ändert sich je nach vorhandenem Kern mehr oder weniger mit Frequenz oder Strom.&lt;br /&gt;
Vor allem Eisenpulverkerne weisen eine ausgeprägte Abhängigkeit der Induktivität von Frequenz und Strom ab. Die Induktivität mit Nennstrom ist daher meist etwas geringer als die Induktivität ohne Stromfluss. Dies sollte bei der Spulendimensionierung beachtet werden. Aufgrund der starken Stromabhängigkeit erfolgt die Angabe der Induktivität bei Spulen mit Eisenpulverkernen häufig auch bei Nennstrom. Ohne Strombelastung liegt die Induktivität etwa Faktor 1,2-2 darüber. Bei Spulen mit Ferritkern dagegen wird die Induktivität meist ohne Strombelastung spezifiziert.&lt;br /&gt;
&lt;br /&gt;
==== Drahtwiderstand ====&lt;br /&gt;
&lt;br /&gt;
Der Drahtwiderstand beeinflusst vor allem den Wirkungsgrad der Schaltung bzw. begrenzt den maximal zulässigen Effektivwert des Stromes, der durch die Spule fließt. Vor allem bei StepUp Wandlern sollte man sich dem Einfluss des Spulenwiderstands bewusst sein: Möchte man z.&amp;amp;nbsp;B. aus 5V eine höhere Spannung erzeugen und verwendet eine Spule mit 2Ω die mit 0,5A angesteuert wird, dann fallen an dem Drahtwiderstand bereits 1Volt ab. Das entspricht 20% der Eingangsspannung!&lt;br /&gt;
&lt;br /&gt;
==== Maximaler Strom ====&lt;br /&gt;
&lt;br /&gt;
Der maximale Strom wird meist anhand der Erwärmung der Spule durch einen bestimmten Strom bestimmt. Oft ist dies der Punkt bei der sich die Spule um z.&amp;amp;nbsp;B. 40°C erwärmt. Häufig wird dies mit Gleichspannung gemessen oder bei einer niedrigen Frequenz deren Effektivwert angegeben wird. Bei Verwendung der Spule in einem Schaltregler reduziert sich dieser Wert daher um bis zu 50%, da einerseits der Sättigungsstrom beachtet werden muss und andererseits auch der Kern innerhalb der Spule durch den Wechselstromanteil sich auch erwärmt. Vor allem Eisenpulverkerne besitzen teilweise recht hohe Kernverluste, die bei einer üblichen Dimensionierung im gleichen Bereich wie die Verluste durch den Drahtwiderstand liegen. Der Spitzenstrom darf diesen Stromwert allerdings übersteigen, solange der Effektivwert bzw. die Erwärmung im zulässigen Bereich liegt.&lt;br /&gt;
&lt;br /&gt;
==== Sättigungsstrom ====&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom ist fast schon das wichtigste Kriterium bei der Spulenauswahl, denn wenn dieser Wert zu gering ist, ist die Spule unbrauchbar für die Schaltung. Wie bei der Induktivität schon geschrieben, ist diese mehr oder weniger abhängig vom Spulenstrom. Der Sättigungsstrom, der bei Spulen für Schaltregler immer angegeben ist, gibt meist den Strom an, bei dem die Induktivität um 10-40% gegenüber der Nenninduktivität gefallen ist. Erhöht man den Strom weiter, nimmt die Induktivität je nach Kernmaterial und mechanischem Aufbau schnell ab, eine Verringerung um den Faktor 10 ist keine Seltenheit.&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom wird bei einem ordentlich dimensionierten Schaltregler nie überschritten werden, da die Strombegrenzung vorher anspricht. Bei einem schlechten Design spricht die Strombegrenzung dagegen erst durch den hohen Strom an, wenn die Spule in die Sättigung geht. Dies führt nur zu unnötigen Verlusten und sollte daher vermieden werden.&lt;br /&gt;
&lt;br /&gt;
Für den [[MC34063]] heißt das konkret, dass der Strombegrenzungswiderstand Rsc auf einen Wert unterhalb des Sättigungsstromes dimensioniert werden muss!&lt;br /&gt;
Da die Induktivität einer Spule in der Sättigung minimal ist, kann diese auch keine weitere Energie speichern. Ein Großteil der in die Spule fließenden Energie wird daher im Drahtwiderstand bzw. im Schalttransistor in Wärme umgesetzt was den Wirkungsgrad stark reduziert und eventuell die Regelung des Schaltreglers durcheinander bringt.&lt;br /&gt;
&lt;br /&gt;
Bei einer typischen Spule für Schaltnetzteile liegt der Sättigungsstrom etwa Faktor 1,5-2 über dem Nennstrom. Dies erlaubt den Nennstrom voll auszunutzen, da der Stromripple bei der üblichen Spulendimensionierung bei etwa 50% des Nennstroms, der Spitzenstrom also bei etwa 1,5x Nennstrom liegt.&lt;br /&gt;
&lt;br /&gt;
Der durch den Begrenzungswiderstand definierte Strom kann auch im Leerlauf ohne Last auftreten, geringe Last schützt also nicht vor Sättigung!&lt;br /&gt;
&lt;br /&gt;
=== Ferritkern vs. Eisenpulverringkern ===&lt;br /&gt;
&lt;br /&gt;
Wenn in einer Spule aufgrund der Anwendung eine nennenswerte Menge Energie gespeichert werden muss, benötigt sie einen Luftspalt. Der Großteil der Energie wird dann nicht mehr direkt im Kernmaterial (welches sättigen kann), sondern im Luftspalt gespeichert. Je größer der Luftspalt, desto mehr Energie kann die Spule speichern, allerdings benötigt man mehr Windungen um eine bestimmte Induktivität zu erreichen. Das gilt für Sperrwandler sowie Speicherdrosseln in Flusswandlern. Echte Trafos, wie z.&amp;amp;nbsp;B. im Übertrager eines Flusswandlers benötigen keinen Luftspalt.&lt;br /&gt;
&lt;br /&gt;
Die in Übertragern oder stromkompensierten Drosseln eingesetzten Ferritringkerne besitzen keinen Luftspalt. Daher können sie kaum Energie speichern, sind daher auch nicht für Speicherdrosseln oder Sperrwandler geeignet. Dafür erreichen diese mit wenigen Windungen schnell Induktivitäten im mH Bereich, wozu andere Spulen etliche 100 Windungen benötigen.&lt;br /&gt;
Eisenpulverringkerne gehen einen anderen Weg: Hier stellen die minimalen, mit Kunststoff gefüllten Zwischenräume zwischen den einzelnen Eisenteilchen bereits den Luftspalt dar, weshalb hier kein zusätzlicher Luftspalt erforderlich ist.&lt;br /&gt;
Die hierfür verwendeten Materialien besitzen allerdings deutlich höhere Ummagnetisierungsverluste als Ferrit, weshalb Eisenpulverkerne üblicherweise nur für niedrige Frequenzen eingesetzt werden. Das am weitesten verbreitete Material sind die gelb-weiß markierten Ringkerne mit dem Materialcode 26. Dieses zeichnet sich vor allem durch die niedrigen Kosten aus. Der Einsatzbereich liegt entweder in Entstördrosseln für Gleichstrom- oder 50Hz Anwendungen oder in Schaltnetzteilen bis 100kHz. Für höhere Frequenzen sind auch bessere, und natürlich teurere Materialien, erhältlich.&lt;br /&gt;
Dieser Spulentyp ist vor allem für Abwärtswandler sinnvoll, da Eisenpulverkerne kein Problem mit hohen DC Strömen, allerdings mit hohen AC Anteilen aufgrund ihrer höheren Kernverluste haben. Da der Stromripple bei diesem Wandlertyp meist kleiner als der DC Strom ist, sind beide Bedingungen erfüllt. Allerdings sollte man beachten, dass die Induktivität einer Eisenpulverringkernspule stark von der Frequenz, dem Strom und auch vom Alter abhängig ist! Je nach Temperatur altern Eisenpulverringkerne mehr oder weniger schnell und die Spule verliert dabei an Induktivität.&lt;br /&gt;
&lt;br /&gt;
Die Dimensionierung einer Eisenpulverringkernspule ist nicht ganz einfach, da hier sehr viele Faktoren beachtet werden müssen. Die Berechnung der Kernverluste ist auch aufwendig, einige Hersteller liefern dafür aber Formeln oder Berechnungsprogramme, so wie z.&amp;amp;nbsp;B. Micrometals:&lt;br /&gt;
[http://www.micrometals.com/software_index.html Berechnungsprogramm für Eisenpulverringkerne].&lt;br /&gt;
Vor allem Anfängern wird aber von der eigenen Dimensionierung von Eisenpulverringkernspulen abgeraten. Etliche Hersteller (wie z.&amp;amp;nbsp;B. Talema) haben fertige Ringkernspulen im Programm die bei verschiedenen Anbietern auch für Normalverbraucher erhältlich sind (z.&amp;amp;nbsp;B. bei elpro, DARISUS und vielen anderen).&lt;br /&gt;
&lt;br /&gt;
Zusammenfassend lässt sich sagen:&lt;br /&gt;
&amp;lt;math&amp;gt;B_{max}&amp;lt;/math&amp;gt; ist bei Eisenpulver höher als bei Ferrit (ca. 0,5T bei Eisenpulver und ca. 0,3T bei Ferrit), was bei gleicher Energiekapazität zu kompakteren Spulen führt. Demgegenüber sind die spezifischen Kernverluste (&amp;lt;math&amp;gt;P_{V_{Kern}} \sim \Delta B \cdot f &amp;lt;/math&amp;gt;) von Eisenpulver höher, so dass es nur bei relativ niedrigen Frequenzen und kleinen Flussdichteänderungen Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
=== Speicherspulen vs. Entstörspulen ===&lt;br /&gt;
&lt;br /&gt;
Nicht selten machen vor allem Anfänger den Fehler, die nächstbeste Spule mit einigermaßen passender Induktivität einzusetzen, ohne darauf zu achten, dass die Spule eigentlich als Entstörspule entwickelt wurde. Dies gilt vor allem für die Funkentstördrosseln der Baureihe MESC/MISC/77A die z.&amp;amp;nbsp;B. bei Reichelt erhältlich sind. Die Schaltungen funktionieren zwar einigermaßen, allerdings ist der Wirkungsgrad deutlich geringer als er es mit einer guten Spule wäre.&lt;br /&gt;
Dies liegt vor allem am Aufbau der Spule sowie deren vorhandenem Kern. Funkentstördrosseln sind dafür ausgelegt von einem niederfrequenten Strom durchflossen zu werden und einen, im Vergleich zum Nutzstrom niedrigen Störstrom mit hoher Frequenz abzublocken. Dadurch entstehen kaum Verluste im Kern, da das Magnetfeld konstant ist bzw. sich durch den niederfrequenten Strom nur sehr langsam ändert. Der Kern ist also nicht dafür ausgelegt verlustarm zu sein, bzw. es ist sogar erwünscht wenn er bei hohen Frequenzen gewisse Verluste aufweist, um Resonanzen innerhalb der Spule zu verhindern. Weiterhin kommt das Problem hinzu, dass aufgrund der großen Länge der Spule die Feldlinien außerhalb der Spule den magnetischen Kreis schließen und sich so ein deutliches Magnetfeld um die Spule herum aufbaut (Streufeld), diese arbeitet quasi wie eine Ferritstabantenne und erzeugt beträchtliche EMV Störungen! Speziell für Schaltnetzteile ausgelegte Spulen besitzen daher nicht selten einen entsprechenden mechanischen Aufbau um die Feldlinien möglichst innerhalb bzw. sehr nahe an der Spule zu halten um diese Störungen zu minimieren.&lt;br /&gt;
&lt;br /&gt;
Besonders bei Spulen mit Eisenpulverringkernen sollte man genau nachschauen ob die Angaben für Entstöranwendungen oder für Schaltnetzteilanwendungen gelten: Hier wird oft die gleiche Spule je nach Verwendungszweck unterschiedlich spezifiziert. Dies liegt daran, dass man bei der Entstöranwendung eben kaum Verluste im Kern hat und somit aufgrund der geringeren Erwärmung der Draht von einem höheren Strom durchflossen werden kann, ohne dass er überhitzt.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele geeigneter Spulen für Schaltregler ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Snt_spulen.jpg|thumb|250x250px|Verschiedene Spulen]]&lt;br /&gt;
&lt;br /&gt;
Von links nach rechts:&lt;br /&gt;
&lt;br /&gt;
*Speicherdrosseln: sehr gut geeignet&lt;br /&gt;
*Ringkernspulen: je nach Anwendung gut bis sehr gut geeignet&lt;br /&gt;
*Widerstandsbauform, Trommelkern: für (sehr) kleine Leistungen geeignet&lt;br /&gt;
*Entstörspulen: schlecht geeignet&lt;br /&gt;
*Stromkompensierte Drosseln: absolut ungeeignet&lt;br /&gt;
&lt;br /&gt;
Für kleinere Schaltregler in beliebiger Konfiguration (also StepUp, StepDown, invertierend) geeignete Spulen sind z.&amp;amp;nbsp;B. die L-PISxx Serien die z.&amp;amp;nbsp;B. bei Reichelt oder Conrad erhältlich sind, oder vergleichbare Spulen.&lt;br /&gt;
Aufgrund des Ferritkerns sind diese Spulen nahezu für alle üblichen Frequenzbereiche geeignet.&lt;br /&gt;
Für Stepdownregler unter 100kHz eignen sich auch Eisenpulverringkernspulen z.&amp;amp;nbsp;B. aus dem Material 26. Vor allem bei höheren Strömen sind diese oft deutlich preiswerter als vergleichbare Spulen mit Ferritkern.&lt;br /&gt;
&lt;br /&gt;
=== Spulen selber wickeln, quick &amp;amp; dirty ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine einfache Methode zur Berechnung von Spulen dargestellt werden. Dabei geht es um Drosseln für Schaltregler (Step up/down) , bzw. Trafos für Sperrwandler (flyback). Diese Spulen müssen Energie speichern, siehe auch den Artikel [[Transformatoren und Spulen#Drosseln | Transformatoren und Spulen]]. Damit hat man schell und einfach seine passende Spule berechnet und gewickelt. Es sei jedoch erwähnt, dass dies nur eine quick &amp;amp; dirty Lösung ist, welche nicht alle Feinheiten von Spulen abdeckt. Für Hobbyanwender wird es aber meist zu befriedigenden Ergebnissen führen.&lt;br /&gt;
&lt;br /&gt;
Vereinfacht kann man sagen, dass die Engergiespeicherfähigkeit einer Spule durch den magnetischen Kern bestimmt wird. Die Windungszahl hat keinen Einfluss! Denn ein und der selbe Kern kann die gleiche Energie bei wenig Windungen/Induktivität und viel Strom (großer Sättigungsstrom) oder vielen Windungen und wenig Strom speichern. Wenn eine Spule mit 20 Windungen bei 1A sättigt, dann sättigt sie bei 200 Windungen schon bei 0,1A. Die Windungszahl hat sich verzehnfach, die Induktivität aber verhundertfacht und der Sättigungsstrom ist auf 1/10tel gesunken. Die Energie bleibt aber gleich, wie die nachfolgende Formel zeigt.&lt;br /&gt;
&lt;br /&gt;
Zunächst muss man die benötigte Speicherkapazität berechnen. nehmen wir als Beispiel einen Step Up Schaltregler, welcher eine Spule von 330µH und 2,5A benötigt. Der Energiegehalt berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot L \cdot I^2 = \frac{1}{2} \cdot 330 \mu H \cdot (2,5A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hätten wir diese Spule mit 20 Windungen auf einen Kern gewickelt, könnten wir jetzt das Gedankenexperiment nachvollziehen. Wir erhöhen die Windungszahl auf 200, daraus resultiert eine Induktivität von 33mH und ein Sättigungsstrom von 250mA. Der maximale Energiegehalt wäre jedoch identisch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot 33 mH \cdot (0,25A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die maximal speicherbare Energie in einer Spule, unabhängig von ihrer Form (Ringkern, Schalenkern) berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E_{max} = \frac{1}{2} \cdot A_L \cdot (\frac{B_{sat} \cdot l_e}{\mu _r \cdot \mu_0})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; Induktivitätskonstante des Kerns &lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, B_{sat}&amp;lt;/math&amp;gt; Sättigungsflussdichte, ca. 0,3T für Ferrit und ca. 0,5T für Eisenpulver, ggf. im Datenblatt nachschauen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_e&amp;lt;/math&amp;gt; effektive magnetische Pfadlänge&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; relative bzw. effektive [http://de.wikipedia.org/wiki/Permeabilität_(Magnetismus) Permeabilität]&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu 0&amp;lt;/math&amp;gt; [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante Permeabilität des Vakuums], &amp;lt;math&amp;gt;\!\, 4 \pi \cdot 10^{-7} \frac{H}{m}= 1,2566 \cdot 10^{-6} \frac{H}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Werte für &amp;lt;math&amp;gt;\!\, A_L, l_e&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; sind im Datenblatt des Kerns zu finden. Daraus kann man zunächst berechnen, ob der Kern überhaupt in Frage kommt. Wie man sieht steht die Permeabilität im Nenner des Bruchs, d.h. Kerne mit geringer Permeabilität können mehr Energie speichern als Kerne mit hoher Permeabilität! Bei Ringkernen muss das Material stimmen, bei Schalenkernen kann man einen Luftspalt einfügen. Pi mal Daumen wird man in der Praxis für Speicherdrosseln ein &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; von ca. 50-200 anstreben wollen. Der zweite Schritt ist fast zu einfach, die Berechnung der Windungszahl.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N = \sqrt{\frac{L}{A_L}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachten muss man, welcher Drahtdurchmesser dabei möglich ist. Dabei hilft der [http://www.dl0hst.de/mini-ringkern-rechner.htm Mini Ringkern-Rechner]. Dieser rechnet auch gleich die Drahtlänge aus, und im Menü kann man noch die Berechnung des ohmschen WIderstands des Drahtes durchführen. Dabei sollte man mit 80-100°C Drahttemperatur rechnen, um auf der sicheren Seite zu bleiben. Als Orientierung sollte die Stromdichte 2-5A/mm^2 nicht übersteigen, bei einlagig gewickelten Ringkernen und guter Kühlung ggf. auch höher (10 A/mm^2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;S = \frac{4 \cdot I}{\pi \cdot d^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* S Stromdichte&lt;br /&gt;
* d Drahtdurchmesser&lt;br /&gt;
&lt;br /&gt;
=== Kerne recyceln ===&lt;br /&gt;
&lt;br /&gt;
Oft werden Kerne, vor allem Ringkerne, aus alten Netzteilen recycelt. Zu denen hat man kein Datenblatt. Aber auch hier gibt es Abhilfe. Man wickelt auf den Kern ca. 10..30 Windungen (mehr Windungen verringern den Messfehler) mit dünnem Draht, möglichst über den ganzen Wickelbereich bzw. Ringkern verteilt, und misst mittels LC-Meter die Induktivität. Damit kann man den &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt;-Wert berechnen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac{L}{N^2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die mittlere magnetische Pfadlänge ist beim Ringkern einfach der mittlere Umfang, berechenbar durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_e = \frac {\pi}{2} \cdot (d_a + d_i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_a &amp;lt;/math&amp;gt; Außendurchmesser&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_i &amp;lt;/math&amp;gt; Innendurchmesser&lt;br /&gt;
&lt;br /&gt;
Bei anderen Kernformen muss man die mittlere magnetische Pfadlänge kreativ schätzen, indem man gedanklich in den Schenkeln mittig eine geschlossene (Feld)Linie zieht. Damit kann man &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; auch näherungsweise berechnen. Dazu muss man unterscheiden, ob der Kern einheitlich aus einem Material besteht oder einen Luftspalt hat.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac {1}{R_m} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{ges} = R_{Eisen} + R_{Luftspalt} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Eisen} = \frac {l_{Eisen}}{\mu_r \cdot \mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Luftspalt} = \frac {l_{Luftspalt}}{\mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_m &amp;lt;/math&amp;gt;: Magnetischer Widerstand&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{ges} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des gesamten Kerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Eisen} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Eisenkerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Luftspalt} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Luftspalts&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A &amp;lt;/math&amp;gt;: magnetische Querschnittsfläche&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Eisen} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Eisen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Luftspalt} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Luftspalt&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu_0 &amp;lt;/math&amp;gt;: [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante magnetische Feldkonstante] = 1,257e-6&lt;br /&gt;
&lt;br /&gt;
Bleibt als letzte Herausforderung &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt;. Das berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu _r = \frac{L \cdot l_e}{N^2 \cdot A \cdot \mu _0}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Formel stimmt in erster Linie für [http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Ringspule Ringkerne], bei anderen Kernformen wird der Fehler etwas größer. Zur einfachen Anwendung gibt es alle Formeln in einer praktischen [[media:Drosseln.xls | Exceltabelle]]. Außerdem gibt es den sehr praktischen [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner], welcher die Berechung vieler verschiedener Kerne sehr schnell ermöglicht. Als letzte Fomel sei die für den Sättigungsstrom genannt, welche direkt den meist gesuchten Wert liefert. Je nach bekannten Daten kann man sie mit verschiedenen Formeln ausrechnen, welche equivalent sind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;I_{sat}= \frac{B_{max} \cdot l_e}{N \cdot \mu _r \cdot \mu _0} = \frac{B_{max} \cdot A}{N \cdot A_L} = \frac{B_{max} \cdot A \cdot N}{L}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Transformatoren und Spulen]]&lt;br /&gt;
* [[Platinen-Induktivität]]&lt;br /&gt;
* [[MC34063]]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/9/9b/Drosseln.xls Exceltabelle] zur Drosselberechnung&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/217508?goto=2171452#2169791 Forumsbeitrag]: Grundlagenfrage zu Speicherspulen - Luftspalt&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/313893?goto=3393636#3393349 Forumsbeitrag]: Drossel für 200A/100Hz-Schweißgerät&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372156#4205430 Forumsbeitrag]: Energie einer Spule zurückgewinnen&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Induktivit%C3%A4t_%28Bauelement%29 Wikipedia: Induktivität]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
*Tolles [http://www.we-online.de/web/de/passive_bauelemente_-_standard/toolbox_pbs/Component_Selector_1.php Berechnungsprogramm] (Link tot) für Spulen in Schaltreglern der Firma Würth&lt;br /&gt;
*[http://schmidt-walter.eit.h-da.de/smps/smps.html Dimensionierung von Spulen in Schaltreglern]&lt;br /&gt;
* [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner]&lt;br /&gt;
* [http://www.dos4ever.com/flyback/flyback.html Flyback Converter for dummies], engl. Gute Seite über Sperrwandler und Drosselspulen für Nixieröhren mit einfacher Messung des Sättigungsstroms&lt;br /&gt;
* [http://www.sprut.de/electronic/switch/lc/lc.html Spulen und Kondensatoren ausmessen]&lt;br /&gt;
* [http://elm-chan.org/works/lchk/report.html Power Inductor Checker] auf ELM ChaN, engl.&lt;br /&gt;
* Hersteller&lt;br /&gt;
** [http://www.amidon.de/ Amidon]&lt;br /&gt;
** [http://www.ferroxcube.com/ Ferroxcube]&lt;br /&gt;
** [http://www.micrometals.com/ Micrometals]&lt;br /&gt;
** [http://www.epcos.de Epcos], ehemals Siemens&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104967</id>
		<title>Spule</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104967"/>
		<updated>2022-01-31T21:28:20Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vereinfachte Erklärung ==&lt;br /&gt;
&lt;br /&gt;
Während man sich einen Kondensator wie eine Art Lager für Elektronen vorstellen kann, und einen Widerstand wie ein mehr oder weniger enges Rohr für einen Wasserfluss, ist eine Analogie aus dem täglichen Leben für eine Spule ein Schwungrad. Man hat eine Antriebskraft, mit der man eine Achse in Bewegung setzen möchte, aber auf dieser ist ein großes Schwungrad befestigt. Damit sich die Antriebskraft in der Bewegung der Achse bemerkbar machen kann, muss das Schwungrad mit in Bewegung gesetzt werden, was nur langsam, nach und nach möglich ist, und wenn es sich einmal dreht, möchte es nach dem Beenden der Einwirkung der Antriebskraft zunächst einmal in derselben Richtung weiterlaufen, es kann nicht sofort abgebremst werden, und wenn man versucht, das drehende Schwungrad zu blockieren, wird bei diesem plötzlichen Abbremsen eine gewaltige Kraft freigesetzt.&lt;br /&gt;
&lt;br /&gt;
Eine Spule verhält sich ähnlich. Sie ist stets bestrebt, den Stromfluss aufrecht zu erhalten, sprich sie verzögert eine schnelle Änderung des Stromflusses. Soll der Strom ansteigen, muss zunächst ein Magnetfeld aufgebaut werden, das dauert je nach anliegender Spannung und Induktivität der Spule eine gewisse Zeit. Hier wird Energie gespeichert. Soll der Stromfluss abnehmen, muss das Magnetfeld erst abgebaut werden, hier wird Energie in den Stromkreis zurückgeführt.&lt;br /&gt;
&lt;br /&gt;
Diese Eigenschaft ist sehr wichtig für [[Transformatoren und Spulen]] in Schaltnetzteilen, Filtern und vielen anderen Anwendungen. Das Maß, wieviel Magnetfeld bei einem bestimmten Strom in der Spule gespeichert werden kann, wird mit dem Begriff Induktivität ausgedrückt.&lt;br /&gt;
&lt;br /&gt;
Manchmal ist eine Spule aber auch von Nachteil, wenn die nämlich ungewollt die schnelle Änderung des Stromflusses bremst. Das ist meist dann der Fall, wenn Bauteile zu lange Anschlussdrähte oder Zuleitungen haben. Hier spricht man von Streuinduktivität.&lt;br /&gt;
&lt;br /&gt;
== Berechnungsformeln für Spulen ==&lt;br /&gt;
&lt;br /&gt;
Eine wichtige Formel ist die zur Definition der Induktivität. Das ist der charakteristischste Parameter einer Spule.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=\frac{U \cdot t}{I}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Diese Formel ist vor allem für die Beschreibung des elektrischen Verhaltens einer Spule mit bekannter Induktivität wichtig. Sie sagt aus, dass wenn man an eine Spule mit 1H eine Spannung von 1V für 1s anlegt, steigt der Strom um 1A (Rampenfunktion).&lt;br /&gt;
&lt;br /&gt;
D.h. die Spule integriert (sammelt) eine an ihren Klemmen anliegende Spannung und baut damit ein Magnetfeld auf. Die Folge davon ist ein Stromfluss durch die Spule. Das ist das Gegenteil eines Kondensators. Dieser integriert (sammelt) einen an seinen Klemmen eingespeisten Strom und baut damit ein elektrisches Feld auf. Die Folge davon ist eine Spannung zwischen den Klemmen.&lt;br /&gt;
&lt;br /&gt;
In praktischen Anwendungen wickelt man [http://de.wikipedia.org/wiki/Spule_%28Elektrotechnik%29 Spulen] meist auf fertige Spulenkörper mit zugehörigen Kernen. Die Induktivität berechnet sich aus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=A_L \cdot N^2&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Der &amp;lt;math&amp;gt;A_L&amp;lt;/math&amp;gt;-Wert ist der Kehrwert des  [http://de.wikipedia.org/wiki/Magnetischer_Widerstand magnetischen Widerstands] der Spule (der Raum um den Drahtwickel) und beinhaltet sowohl die Geometrie als auch das Material des Kerns. Er wird im Datenblatt des Kerns angegeben, kann aber ggf. auch berechnet werden. Wichtig ist zu wissen, dass die Induktivität quadratisch von der Windungszahl abhängt, d.h. bei doppelter Windungszahl erhält man die vierfache Induktivität.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Spulenauswahl ==&lt;br /&gt;
&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
&lt;br /&gt;
Vor allem bei Schaltreglern sind folgende Daten der Spulen wichtig:&lt;br /&gt;
&lt;br /&gt;
* Induktivität&lt;br /&gt;
* Drahtwiderstand&lt;br /&gt;
* Maximaler Strom&lt;br /&gt;
* Sättigungsstrom&lt;br /&gt;
&lt;br /&gt;
==== Induktivität ====&lt;br /&gt;
&lt;br /&gt;
Die Induktivität gibt an, wie schnell sich der Strom bei einer anliegenden Spannung ändert. Üblicherweise berechnet man bei der Dimensionierung die minimale Spulengröße die notwendig ist, damit der Ripple des Stromes einen bestimmten Wert (typisch 50% des Ausgangsstroms bei einem StepDown) nicht überschreitet. Eine zu große Induktivität stört bei einem StepDown Regler meist nicht. Bei einem StepUp dagegen darf diese einen bestimmten Wert nicht überschreiten, damit der Regler die gewünschte Leistung liefern kann (siehe Artikel [[Transformatoren und Spulen#Energiespeicherung in Magnetkernen | Transformatoren und Spulen]]). Die Induktivität ist nicht konstant, sondern ändert sich je nach vorhandenem Kern mehr oder weniger mit Frequenz oder Strom.&lt;br /&gt;
Vor allem Eisenpulverkerne weisen eine ausgeprägte Abhängigkeit der Induktivität von Frequenz und Strom ab. Die Induktivität mit Nennstrom ist daher meist etwas geringer als die Induktivität ohne Stromfluss. Dies sollte bei der Spulendimensionierung beachtet werden. Aufgrund der starken Stromabhängigkeit erfolgt die Angabe der Induktivität bei Spulen mit Eisenpulverkernen häufig auch bei Nennstrom. Ohne Strombelastung liegt die Induktivität etwa Faktor 1,2-2 darüber. Bei Spulen mit Ferritkern dagegen wird die Induktivität meist ohne Strombelastung spezifiziert.&lt;br /&gt;
&lt;br /&gt;
==== Drahtwiderstand ====&lt;br /&gt;
&lt;br /&gt;
Der Drahtwiderstand beeinflusst vor allem den Wirkungsgrad der Schaltung bzw. begrenzt den maximal zulässigen Effektivwert des Stromes, der durch die Spule fließt. Vor allem bei StepUp Wandlern sollte man sich dem Einfluss des Spulenwiderstands bewusst sein: Möchte man z.&amp;amp;nbsp;B. aus 5V eine höhere Spannung erzeugen und verwendet eine Spule mit 2Ω die mit 0,5A angesteuert wird, dann fallen an dem Drahtwiderstand bereits 1Volt ab. Das entspricht 20% der Eingangsspannung!&lt;br /&gt;
&lt;br /&gt;
==== Maximaler Strom ====&lt;br /&gt;
&lt;br /&gt;
Der maximale Strom wird meist anhand der Erwärmung der Spule durch einen bestimmten Strom bestimmt. Oft ist dies der Punkt bei der sich die Spule um z.&amp;amp;nbsp;B. 40°C erwärmt. Häufig wird dies mit Gleichspannung gemessen oder bei einer niedrigen Frequenz deren Effektivwert angegeben wird. Bei Verwendung der Spule in einem Schaltregler reduziert sich dieser Wert daher um bis zu 50%, da einerseits der Sättigungsstrom beachtet werden muss und andererseits auch der Kern innerhalb der Spule durch den Wechselstromanteil sich auch erwärmt. Vor allem Eisenpulverkerne besitzen teilweise recht hohe Kernverluste, die bei einer üblichen Dimensionierung im gleichen Bereich wie die Verluste durch den Drahtwiderstand liegen. Der Spitzenstrom darf diesen Stromwert allerdings übersteigen, solange der Effektivwert bzw. die Erwärmung im zulässigen Bereich liegt.&lt;br /&gt;
&lt;br /&gt;
==== Sättigungsstrom ====&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom ist fast schon das wichtigste Kriterium bei der Spulenauswahl, denn wenn dieser Wert zu gering ist, ist die Spule unbrauchbar für die Schaltung. Wie bei der Induktivität schon geschrieben, ist diese mehr oder weniger abhängig vom Spulenstrom. Der Sättigungsstrom, der bei Spulen für Schaltregler immer angegeben ist, gibt meist den Strom an, bei dem die Induktivität um 10-40% gegenüber der Nenninduktivität gefallen ist. Erhöht man den Strom weiter, nimmt die Induktivität je nach Kernmaterial und mechanischem Aufbau schnell ab, eine Verringerung um den Faktor 10 ist keine Seltenheit.&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom wird bei einem ordentlich dimensionierten Schaltregler nie überschritten werden, da die Strombegrenzung vorher anspricht. Bei einem schlechten Design spricht die Strombegrenzung dagegen erst durch den hohen Strom an, wenn die Spule in die Sättigung geht. Dies führt nur zu unnötigen Verlusten und sollte daher vermieden werden.&lt;br /&gt;
&lt;br /&gt;
Für den [[MC34063]] heißt das konkret, dass der Strombegrenzungswiderstand Rsc auf einen Wert unterhalb des Sättigungsstromes dimensioniert werden muss!&lt;br /&gt;
Da die Induktivität einer Spule in der Sättigung minimal ist, kann diese auch keine weitere Energie speichern. Ein Großteil der in die Spule fließenden Energie wird daher im Drahtwiderstand bzw. im Schalttransistor in Wärme umgesetzt was den Wirkungsgrad stark reduziert und eventuell die Regelung des Schaltreglers durcheinander bringt.&lt;br /&gt;
&lt;br /&gt;
Bei einer typischen Spule für Schaltnetzteile liegt der Sättigungsstrom etwa Faktor 1,5-2 über dem Nennstrom. Dies erlaubt den Nennstrom voll auszunutzen, da der Stromripple bei der üblichen Spulendimensionierung bei etwa 50% des Nennstroms, der Spitzenstrom also bei etwa 1,5x Nennstrom liegt.&lt;br /&gt;
&lt;br /&gt;
Der durch den Begrenzungswiderstand definierte Strom kann auch im Leerlauf ohne Last auftreten, geringe Last schützt also nicht vor Sättigung!&lt;br /&gt;
&lt;br /&gt;
=== Ferritkern vs. Eisenpulverringkern ===&lt;br /&gt;
&lt;br /&gt;
Wenn in einer Spule aufgrund der Anwendung eine nennenswerte Menge Energie gespeichert werden muss, benötigt sie einen Luftspalt. Der Großteil der Energie wird dann nicht mehr direkt im Kernmaterial (welches sättigen kann), sondern im Luftspalt gespeichert. Je größer der Luftspalt, desto mehr Energie kann die Spule speichern, allerdings benötigt man mehr Windungen um eine bestimmte Induktivität zu erreichen. Das gilt für Sperrwandler sowie Speicherdrosseln in Flusswandlern. Echte Trafos, wie z.&amp;amp;nbsp;B. im Übertrager eines Flusswandlers benötigen keinen Luftspalt.&lt;br /&gt;
&lt;br /&gt;
Die in Übertragern oder stromkompensierten Drosseln eingesetzten Ferritringkerne besitzen keinen Luftspalt. Daher können sie kaum Energie speichern, sind daher auch nicht für Speicherdrosseln oder Sperrwandler geeignet. Dafür erreichen diese mit wenigen Windungen schnell Induktivitäten im mH Bereich, wozu andere Spulen etliche 100 Windungen benötigen.&lt;br /&gt;
Eisenpulverringkerne gehen einen anderen Weg: Hier stellen die minimalen, mit Kunststoff gefüllten Zwischenräume zwischen den einzelnen Eisenteilchen bereits den Luftspalt dar, weshalb hier kein zusätzlicher Luftspalt erforderlich ist.&lt;br /&gt;
Die hierfür verwendeten Materialien besitzen allerdings deutlich höhere Ummagnetisierungsverluste als Ferrit, weshalb Eisenpulverkerne üblicherweise nur für niedrige Frequenzen eingesetzt werden. Das am weitesten verbreitete Material sind die gelb-weiß markierten Ringkerne mit dem Materialcode 26. Dieses zeichnet sich vor allem durch die niedrigen Kosten aus. Der Einsatzbereich liegt entweder in Entstördrosseln für Gleichstrom- oder 50Hz Anwendungen oder in Schaltnetzteilen bis 100kHz. Für höhere Frequenzen sind auch bessere, und natürlich teurere Materialien, erhältlich.&lt;br /&gt;
Dieser Spulentyp ist vor allem für Abwärtswandler sinnvoll, da Eisenpulverkerne kein Problem mit hohen DC Strömen, allerdings mit hohen AC Anteilen aufgrund ihrer höheren Kernverluste haben. Da der Stromripple bei diesem Wandlertyp meist kleiner als der DC Strom ist, sind beide Bedingungen erfüllt. Allerdings sollte man beachten, dass die Induktivität einer Eisenpulverringkernspule stark von der Frequenz, dem Strom und auch vom Alter abhängig ist! Je nach Temperatur altern Eisenpulverringkerne mehr oder weniger schnell und die Spule verliert dabei an Induktivität.&lt;br /&gt;
&lt;br /&gt;
Die Dimensionierung einer Eisenpulverringkernspule ist nicht ganz einfach, da hier sehr viele Faktoren beachtet werden müssen. Die Berechnung der Kernverluste ist auch aufwendig, einige Hersteller liefern dafür aber Formeln oder Berechnungsprogramme, so wie z.&amp;amp;nbsp;B. Micrometals:&lt;br /&gt;
[http://www.micrometals.com/software_index.html Berechnungsprogramm für Eisenpulverringkerne].&lt;br /&gt;
Vor allem Anfängern wird aber von der eigenen Dimensionierung von Eisenpulverringkernspulen abgeraten. Etliche Hersteller (wie z.&amp;amp;nbsp;B. Talema) haben fertige Ringkernspulen im Programm die bei verschiedenen Anbietern auch für Normalverbraucher erhältlich sind (z.&amp;amp;nbsp;B. bei elpro, DARISUS und vielen anderen).&lt;br /&gt;
&lt;br /&gt;
Zusammenfassend lässt sich sagen:&lt;br /&gt;
&amp;lt;math&amp;gt;B_{max}&amp;lt;/math&amp;gt; ist bei Eisenpulver höher als bei Ferrit (ca. 0,5T bei Eisenpulver und ca. 0,3T bei Ferrit), was bei gleicher Energiekapazität zu kompakteren Spulen führt. Demgegenüber sind die spezifischen Kernverluste (&amp;lt;math&amp;gt;P_{V_{Kern}} \sim \Delta B \cdot f &amp;lt;/math&amp;gt;) von Eisenpulver höher, so dass es nur bei relativ niedrigen Frequenzen und kleinen Flußdichteänderungen Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
=== Speicherspulen vs. Entstörspulen ===&lt;br /&gt;
&lt;br /&gt;
Nicht selten machen vor allem Anfänger den Fehler, die nächstbeste Spule mit einigermaßen passender Induktivität einzusetzen, ohne darauf zu achten, dass die Spule eigentlich als Entstörspule entwickelt wurde. Dies gilt vor allem für die Funkentstördrosseln der Baureihe MESC/MISC/77A die z.&amp;amp;nbsp;B. bei Reichelt erhältlich sind. Die Schaltungen funktionieren zwar einigermaßen, allerdings ist der Wirkungsgrad deutlich geringer als er es mit einer guten Spule wäre.&lt;br /&gt;
Dies liegt vor allem am Aufbau der Spule sowie deren vorhandenem Kern. Funkentstördrosseln sind dafür ausgelegt von einem niederfrequenten Strom durchflossen zu werden und einen, im Vergleich zum Nutzstrom niedrigen Störstrom mit hoher Frequenz abzublocken. Dadurch entstehen kaum Verluste im Kern, da das Magnetfeld konstant ist bzw. sich durch den niederfrequenten Strom nur sehr langsam ändert. Der Kern ist also nicht dafür ausgelegt verlustarm zu sein, bzw. es ist sogar erwünscht wenn er bei hohen Frequenzen gewisse Verluste aufweist, um Resonanzen innerhalb der Spule zu verhindern. Weiterhin kommt das Problem hinzu, dass aufgrund der großen Länge der Spule die Feldlinien außerhalb der Spule den magnetischen Kreis schließen und sich so ein deutliches Magnetfeld um die Spule herum aufbaut (Streufeld), diese arbeitet quasi wie eine Ferritstabantenne und erzeugt beträchtliche EMV Störungen! Speziell für Schaltnetzteile ausgelegte Spulen besitzen daher nicht selten einen entsprechenden mechanischen Aufbau um die Feldlinien möglichst innerhalb bzw. sehr nahe an der Spule zu halten um diese Störungen zu minimieren.&lt;br /&gt;
&lt;br /&gt;
Besonders bei Spulen mit Eisenpulverringkernen sollte man genau nachschauen ob die Angaben für Entstöranwendungen oder für Schaltnetzteilanwendungen gelten: Hier wird oft die gleiche Spule je nach Verwendungszweck unterschiedlich spezifiziert. Dies liegt daran, dass man bei der Entstöranwendung eben kaum Verluste im Kern hat und somit aufgrund der geringeren Erwärmung der Draht von einem höheren Strom durchflossen werden kann, ohne dass er überhitzt.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele geeigneter Spulen für Schaltregler ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Snt_spulen.jpg|thumb|250x250px|Verschiedene Spulen]]&lt;br /&gt;
&lt;br /&gt;
Von links nach rechts:&lt;br /&gt;
&lt;br /&gt;
*Speicherdrosseln: sehr gut geeignet&lt;br /&gt;
*Ringkernspulen: je nach Anwendung gut bis sehr gut geeignet&lt;br /&gt;
*Widerstandsbauform, Trommelkern: für (sehr) kleine Leistungen geeignet&lt;br /&gt;
*Entstörspulen: schlecht geeignet&lt;br /&gt;
*Stromkompensierte Drosseln: absolut ungeeignet&lt;br /&gt;
&lt;br /&gt;
Für kleinere Schaltregler in beliebiger Konfiguration (also StepUp, StepDown, invertierend) geeignete Spulen sind z.&amp;amp;nbsp;B. die L-PISxx Serien die z.&amp;amp;nbsp;B. bei Reichelt oder Conrad erhältlich sind, oder vergleichbare Spulen.&lt;br /&gt;
Aufgrund des Ferritkerns sind diese Spulen nahezu für alle üblichen Frequenzbereiche geeignet.&lt;br /&gt;
Für Stepdownregler unter 100kHz eignen sich auch Eisenpulverringkernspulen z.&amp;amp;nbsp;B. aus dem Material 26. Vor allem bei höheren Strömen sind diese oft deutlich preiswerter als vergleichbare Spulen mit Ferritkern.&lt;br /&gt;
&lt;br /&gt;
=== Spulen selber wickeln, quick &amp;amp; dirty ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine einfache Methode zur Berechnung von Spulen dargestellt werden. Dabei geht es um Drosseln für Schaltregler (Step up/down) , bzw. Trafos für Sperrwandler (flyback). Diese Spulen müssen Energie speichern, siehe auch den Artikel [[Transformatoren und Spulen#Drosseln | Transformatoren und Spulen]]. Damit hat man schell und einfach seine passende Spule berechnet und gewickelt. Es sei jedoch erwähnt, dass dies nur eine quick &amp;amp; dirty Lösung ist, welche nicht alle Feinheiten von Spulen abdeckt. Für Hobbyanwender wird es aber meist zu befriedigenden Ergebnissen führen.&lt;br /&gt;
&lt;br /&gt;
Vereinfacht kann man sagen, daß die Engergiespeicherfähigkeit einer Spule durch den magnetischen Kern bestimmt wird. Die Windungszahl hat keinen Einfluß! Denn ein und der selbe Kern kann die gleiche Energie bei wenig Windungen/Induktivität und viel Strom (großer Sättigungsstrom) oder vielen Windungen und wenig Strom speichern. Wenn eine Spule mit 20 Windungen bei 1A sättigt, dann sättigt sie bei 200 Windungen schon bei 0,1A. Die Windungszahl hat sich verzehnfach, die Induktivität aber verhundertfacht und der Sättigungsstrom ist auf 1/10tel gesunken. Die Energie bleibt aber gleich, wie die nachfolgende Formel zeigt.&lt;br /&gt;
&lt;br /&gt;
Zunächst muss man die benötigte Speicherkapazität berechnen. nehmen wir als Beispiel einen Step Up Schaltregler, welcher eine Spule von 330µH und 2,5A benötigt. Der Energiegehalt berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot L \cdot I^2 = \frac{1}{2} \cdot 330 \mu H \cdot (2,5A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hätten wir diese Spule mit 20 Windungen auf einen Kern gewickelt, könnten wir jetzt das Gedankenexperiment nachvollziehen. Wir erhöhen die Windungszahl auf 200, daraus resultiert eine Induktivität von 33mH und ein Sättigungsstrom von 250mA. Der maximale Energiegehalt wäre jedoch identisch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot 33 mH \cdot (0,25A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die maximal speicherbare Energie in einer Spule, unabhängig von ihrer Form (Ringkern, Schalenkern) berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E_{max} = \frac{1}{2} \cdot A_L \cdot (\frac{B_{sat} \cdot l_e}{\mu _r \cdot \mu_0})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; Induktivitätskonstante des Kerns &lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, B_{sat}&amp;lt;/math&amp;gt; Sättigungsflußdichte, ca. 0,3T für Ferrit und ca. 0,5T für Eisenpulver, ggf. im Datenblatt nachschauen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_e&amp;lt;/math&amp;gt; effektive magnetische Pfadlänge&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; relative bzw. effektive [http://de.wikipedia.org/wiki/Permeabilität_(Magnetismus) Permeabilität]&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu 0&amp;lt;/math&amp;gt; [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante Permeabilität des Vakuums], &amp;lt;math&amp;gt;\!\, 4 \pi \cdot 10^{-7} \frac{H}{m}= 1,2566 \cdot 10^{-6} \frac{H}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Werte für &amp;lt;math&amp;gt;\!\, A_L, l_e&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; sind im Datenblatt des Kerns zu finden. Daraus kann man zunächst berechnen, ob der Kern überhaupt in Frage kommt. Wie man sieht steht die Permeabilität im Nenner des Bruchs, d.h. Kerne mit geringer Permeabilität können mehr Energie speichern als Kerne mit hoher Permeabilität! Bei Ringkernen muss das Material stimmen, bei Schalenkernen kann man einen Luftspalt einfügen. Pi mal Daumen wird man in der Praxis für Speicherdrosseln ein &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; von ca. 50-200 anstreben wollen. Der zweite Schritt ist fast zu einfach, die Berechnung der Windungszahl.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N = \sqrt{\frac{L}{A_L}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachten muss man, welcher Drahtdurchmesser dabei möglich ist. Dabei hilft der [http://www.dl0hst.de/mini-ringkern-rechner.htm Mini Ringkern-Rechner]. Dieser rechnet auch gleich die Drahtlänge aus, und im Menü kann man noch die Berechnung des ohmschen WIderstands des Drahtes durchführen. Dabei sollte man mit 80-100°C Drahttemperatur rechnen, um auf der sicheren Seite zu bleiben. Als Orientierung sollte die Stromdichte 2-5A/mm^2 nicht übersteigen, bei einlagig gewickelten Ringkernen und guter Kühlung ggf. auch höher (10 A/mm^2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;S = \frac{4 \cdot I}{\pi \cdot d^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* S Stromdichte&lt;br /&gt;
* d Drahtdurchmesser&lt;br /&gt;
&lt;br /&gt;
=== Kerne recyceln ===&lt;br /&gt;
&lt;br /&gt;
Oft werden Kerne, vor allem Ringkerne, aus alten Netzteilen recycelt. Zu denen hat man kein Datenblatt. Aber auch hier gibt es Abhilfe. Man wickelt auf den Kern ca. 10..30 Windungen (mehr Windungen verringern den Messfehler) mit dünnem Draht, möglichst über den ganzen Wickelbereich bzw. Ringkern verteilt, und misst mittels LC-Meter die Induktivität. Damit kann man den &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt;-Wert berechnen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac{L}{N^2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die mittlere magnetische Pfadlänge ist beim Ringkern einfach der mittlere Umfang, berechenbar durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_e = \frac {\pi}{2} \cdot (d_a + d_i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_a &amp;lt;/math&amp;gt; Außendurchmesser&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_i &amp;lt;/math&amp;gt; Innendurchmesser&lt;br /&gt;
&lt;br /&gt;
Bei anderen Kernformen muss man die mittlere magnetische Pfadlänge kreativ schätzen, indem man gedanklich in den Schenkeln mittig eine geschlossene (Feld)Linie zieht. Damit kann man &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; auch näherungsweise berechnen. Dazu muss man unterscheiden, ob der Kern einheitlich aus einem Material besteht oder einen Luftspalt hat.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac {1}{R_m} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{ges} = R_{Eisen} + R_{Luftspalt} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Eisen} = \frac {l_{Eisen}}{\mu_r \cdot \mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Luftspalt} = \frac {l_{Luftspalt}}{\mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_m &amp;lt;/math&amp;gt;: Magnetischer Widerstand&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{ges} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des gesamten Kerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Eisen} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Eisenkerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Luftspalt} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Luftspalts&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A &amp;lt;/math&amp;gt;: magnetische Querschnittsfläche&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Eisen} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Eisen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Luftspalt} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Luftspalt&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu_0 &amp;lt;/math&amp;gt;: [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante magnetische Feldkonstante] = 1,257e-6&lt;br /&gt;
&lt;br /&gt;
Bleibt als letzte Herausforderung &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt;. Das berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu _r = \frac{L \cdot l_e}{N^2 \cdot A \cdot \mu _0}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Formel stimmt in erster Linie für [http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Ringspule Ringkerne], bei anderen Kernformen wird der Fehler etwas größer. Zur einfachen Anwendung gibt es alle Formeln in einer praktischen [[media:Drosseln.xls | Exceltabelle]]. Ausserdem gibt es den sehr praktischen [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner], welcher die Berechung vieler verschiedener Kerne sehr schnell ermöglicht. Als letzte Fomel sei die für den Sättigungsstrom genannt, welche direkt den meist gesuchten Wert liefert. Je nach bekannten Daten kann man sie mit verschiedenen Formeln ausrechnen, welche equivalent sind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;I_{sat}= \frac{B_{max} \cdot l_e}{N \cdot \mu _r \cdot \mu _0} = \frac{B_{max} \cdot A}{N \cdot A_L} = \frac{B_{max} \cdot A \cdot N}{L}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Transformatoren und Spulen]]&lt;br /&gt;
* [[Platinen-Induktivität]]&lt;br /&gt;
* [[MC34063]]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/9/9b/Drosseln.xls Exceltabelle] zur Drosselberechnung&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/217508?goto=2171452#2169791 Forumsbeitrag]: Grundlagenfrage zu Speicherspulen - Luftspalt&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/313893?goto=3393636#3393349 Forumsbeitrag]: Drossel für 200A/100Hz-Schweissgerät&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372156#4205430 Forumsbeitrag]: Energie einer Spule zurückgewinnen&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Induktivit%C3%A4t_%28Bauelement%29 Wikipedia: Induktivität]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
*Tolles [http://www.we-online.de/web/de/passive_bauelemente_-_standard/toolbox_pbs/Component_Selector_1.php Berechnungsprogramm] (Link tot) für Spulen in Schaltreglern der Firma Würth&lt;br /&gt;
*[http://schmidt-walter.eit.h-da.de/smps/smps.html Dimensionierung von Spulen in Schaltreglern]&lt;br /&gt;
* [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner]&lt;br /&gt;
* [http://www.dos4ever.com/flyback/flyback.html Flyback Converter for dummies], engl. Gute Seite über Sperrwandler und Drosselspulen für Nixieröhren mit einfacher Messung des Sättigungsstroms&lt;br /&gt;
* [http://www.sprut.de/electronic/switch/lc/lc.html Spulen und Kondensatoren ausmessen]&lt;br /&gt;
* [http://elm-chan.org/works/lchk/report.html Power Inductor Checker] auf ELM ChaN, engl.&lt;br /&gt;
* Hersteller&lt;br /&gt;
** [http://www.amidon.de/ Amidon]&lt;br /&gt;
** [http://www.ferroxcube.com/ Ferroxcube]&lt;br /&gt;
** [http://www.micrometals.com/ Micrometals]&lt;br /&gt;
** [http://www.epcos.de Epcos], ehemals Siemens&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104966</id>
		<title>Spule</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104966"/>
		<updated>2022-01-31T21:27:50Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vereinfachte Erklärung ==&lt;br /&gt;
&lt;br /&gt;
Während man sich einen Kondensator wie eine Art Lager für Elektronen vorstellen kann, und einen Widerstand wie ein mehr oder weniger enges Rohr für einen Wasserfluss, ist eine Analogie aus dem täglichen Leben für eine Spule ein Schwungrad. Man hat eine Antriebskraft, mit der man eine Achse in Bewegung setzen möchte, aber auf dieser ist ein großes Schwungrad befestigt. Damit sich die Antriebskraft in der Bewegung der Achse bemerkbar machen kann, muss das Schwungrad mit in Bewegung gesetzt werden, was nur langsam, nach und nach möglich ist, und wenn es sich einmal dreht, möchte es nach dem Beenden der Einwirkung der Antriebskraft zunächst einmal in derselben Richtung weiterlaufen, es kann nicht sofort abgebremst werden, und wenn man versucht, das drehende Schwungrad zu blockieren, wird bei diesem plötzlichen Abbremsen eine gewaltige Kraft freigesetzt.&lt;br /&gt;
&lt;br /&gt;
Eine Spule verhält sich ähnlich. Sie ist stets bestrebt, den Stromfluss aufrecht zu erhalten, sprich sie verzögert eine schnelle Änderung des Stromflusses. Soll der Strom ansteigen, muss zunächst ein Magnetfeld aufgebaut werden, das dauert je nach anliegender Spannung und Induktivität der Spule eine gewisse Zeit. Hier wird Energie gespeichert. Soll der Stromfluss abnehmen, muss das Magnetfeld erst abgebaut werden, hier wird Energie in den Stromkreis zurückgeführt.&lt;br /&gt;
&lt;br /&gt;
Diese Eigenschaft ist sehr wichtig für [[Transformatoren und Spulen]] in Schaltnetzteilen, Filtern und vielen anderen Anwendungen. Das Maß, wieviel Magnetfeld bei einem bestimmten Strom in der Spule gespeichert werden kann, wird mit dem Begriff Induktivität ausgedrückt.&lt;br /&gt;
&lt;br /&gt;
Manchmal ist eine Spule aber auch von Nachteil, wenn die nämlich ungewollt die schnelle Änderung des Stromflusses bremst. Das ist meist dann der Fall, wenn Bauteile zu lange Anschlussdrähte oder Zuleitungen haben. Hier spricht man von Streuinduktivität.&lt;br /&gt;
&lt;br /&gt;
== Berechnungsformeln für Spulen ==&lt;br /&gt;
&lt;br /&gt;
Eine wichtige Formel ist die zur Definition der Induktivität. Das ist der charakteristischste Parameter einer Spule.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=\frac{U \cdot t}{I}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Diese Formel ist vor allem für die Beschreibung des elektrischen Verhaltens einer Spule mit bekannter Induktivität wichtig. Sie sagt aus, dass wenn man an eine Spule mit 1H eine Spannung von 1V für 1s anlegt, steigt der Strom um 1A (Rampenfunktion).&lt;br /&gt;
&lt;br /&gt;
D.h. die Spule integriert (sammelt) eine an ihren Klemmen anliegende Spannung und baut damit ein Magnetfeld auf. Die Folge davon ist ein Stromfluss durch die Spule. Das ist das Gegenteil eines Kondensators. Dieser integriert (sammelt) einen an seinen Klemmen eingespeisten Strom und baut damit ein elektrisches Feld auf. Die Folge davon ist eine Spannung zwischen den Klemmen.&lt;br /&gt;
&lt;br /&gt;
In praktischen Anwendungen wickelt man [http://de.wikipedia.org/wiki/Spule_%28Elektrotechnik%29 Spulen] meist auf fertige Spulenkörper mit zugehörigen Kernen. Die Induktivität berechnet sich aus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=A_L \cdot N^2&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Der &amp;lt;math&amp;gt;A_L&amp;lt;/math&amp;gt;-Wert ist der Kehrwert des  [http://de.wikipedia.org/wiki/Magnetischer_Widerstand magnetischen Widerstands] der Spule (der Raum um den Drahtwickel) und beinhaltet sowohl die Geometrie als auch das Material des Kerns. Er wird im Datenblatt des Kerns angegeben, kann aber ggf. auch berechnet werden. Wichtig ist zu wissen, dass die Induktivität quadratisch von der Windungszahl abhängt, d.h. bei doppelter Windungszahl erhält man die vierfache Induktivität.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Spulenauswahl ==&lt;br /&gt;
&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
&lt;br /&gt;
Vor allem bei Schaltreglern sind folgende Daten der Spulen wichtig:&lt;br /&gt;
&lt;br /&gt;
* Induktivität&lt;br /&gt;
* Drahtwiderstand&lt;br /&gt;
* Maximaler Strom&lt;br /&gt;
* Sättigungsstrom&lt;br /&gt;
&lt;br /&gt;
==== Induktivität ====&lt;br /&gt;
&lt;br /&gt;
Die Induktivität gibt an, wie schnell sich der Strom bei einer anliegenden Spannung ändert. Üblicherweise berechnet man bei der Dimensionierung die minimale Spulengröße die notwendig ist, damit der Ripple des Stromes einen bestimmten Wert (typisch 50% des Ausgangsstroms bei einem StepDown) nicht überschreitet. Eine zu große Induktivität stört bei einem StepDown Regler meist nicht. Bei einem StepUp dagegen darf diese einen bestimmten Wert nicht überschreiten, damit der Regler die gewünschte Leistung liefern kann (siehe Artikel [[Transformatoren und Spulen#Energiespeicherung in Magnetkernen | Transformatoren und Spulen]]). Die Induktivität ist nicht konstant, sondern ändert sich je nach vorhandenem Kern mehr oder weniger mit Frequenz oder Strom.&lt;br /&gt;
Vor allem Eisenpulverkerne weisen eine ausgeprägte Abhängigkeit der Induktivität von Frequenz und Strom ab. Die Induktivität mit Nennstrom ist daher meist etwas geringer als die Induktivität ohne Stromfluss. Dies sollte bei der Spulendimensionierung beachtet werden. Aufgrund der starken Stromabhängigkeit erfolgt die Angabe der Induktivität bei Spulen mit Eisenpulverkernen häufig auch bei Nennstrom. Ohne Strombelastung liegt die Induktivität etwa Faktor 1,2-2 darüber. Bei Spulen mit Ferritkern dagegen wird die Induktivität meist ohne Strombelastung spezifiziert.&lt;br /&gt;
&lt;br /&gt;
==== Drahtwiderstand ====&lt;br /&gt;
&lt;br /&gt;
Der Drahtwiderstand beeinflusst vor allem den Wirkungsgrad der Schaltung bzw. begrenzt den maximal zulässigen Effektivwert des Stromes, der durch die Spule fließt. Vor allem bei StepUp Wandlern sollte man sich dem Einfluss des Spulenwiderstands bewusst sein: Möchte man z.&amp;amp;nbsp;B. aus 5V eine höhere Spannung erzeugen und verwendet eine Spule mit 2Ω die mit 0,5A angesteuert wird, dann fallen an dem Drahtwiderstand bereits 1Volt ab. Das entspricht 20% der Eingangsspannung!&lt;br /&gt;
&lt;br /&gt;
==== Maximaler Strom ====&lt;br /&gt;
&lt;br /&gt;
Der maximale Strom wird meist anhand der Erwärmung der Spule durch einen bestimmten Strom bestimmt. Oft ist dies der Punkt bei der sich die Spule um z.&amp;amp;nbsp;B. 40°C erwärmt. Häufig wird dies mit Gleichspannung gemessen oder bei einer niedrigen Frequenz deren Effektivwert angegeben wird. Bei Verwendung der Spule in einem Schaltregler reduziert sich dieser Wert daher um bis zu 50%, da einerseits der Sättigungsstrom beachtet werden muss und andererseits auch der Kern innerhalb der Spule durch den Wechselstromanteil sich auch erwärmt. Vor allem Eisenpulverkerne besitzen teilweise recht hohe Kernverluste, die bei einer üblichen Dimensionierung im gleichen Bereich wie die Verluste durch den Drahtwiderstand liegen. Der Spitzenstrom darf diesen Stromwert allerdings übersteigen, solange der Effektivwert bzw. die Erwärmung im zulässigen Bereich liegt.&lt;br /&gt;
&lt;br /&gt;
==== Sättigungsstrom ====&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom ist fast schon das wichtigste Kriterium bei der Spulenauswahl, denn wenn dieser Wert zu gering ist, ist die Spule unbrauchbar für die Schaltung. Wie bei der Induktivität schon geschrieben, ist diese mehr oder weniger abhängig vom Spulenstrom. Der Sättigungsstrom, der bei Spulen für Schaltregler immer angegeben ist, gibt meist den Strom an, bei dem die Induktivität um 10-40% gegenüber der Nenninduktivität gefallen ist. Erhöht man den Strom weiter, nimmt die Induktivität je nach Kernmaterial und mechanischem Aufbau schnell ab, eine Verringerung um den Faktor 10 ist keine Seltenheit.&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom wird bei einem ordentlich dimensionierten Schaltregler nie überschritten werden, da die Strombegrenzung vorher anspricht. Bei einem schlechten Design spricht die Strombegrenzung dagegen erst durch den hohen Strom an, wenn die Spule in die Sättigung geht. Dies führt nur zu unnötigen Verlusten und sollte daher vermieden werden.&lt;br /&gt;
&lt;br /&gt;
Für den [[MC34063]] heißt das konkret, dass der Strombegrenzungswiderstand Rsc auf einen Wert unterhalb des Sättigungsstromes dimensioniert werden muss!&lt;br /&gt;
Da die Induktivität einer Spule in der Sättigung minimal ist, kann diese auch keine weitere Energie speichern. Ein Großteil der in die Spule fließenden Energie wird daher im Drahtwiderstand bzw. im Schalttransistor in Wärme umgesetzt was den Wirkungsgrad stark reduziert und eventuell die Regelung des Schaltreglers durcheinander bringt.&lt;br /&gt;
&lt;br /&gt;
Bei einer typischen Spule für Schaltnetzteile liegt der Sättigungsstrom etwa Faktor 1,5-2 über dem Nennstrom. Dies erlaubt den Nennstrom voll auszunutzen, da der Stromripple bei der üblichen Spulendimensionierung bei etwa 50% des Nennstroms, der Spitzenstrom also bei etwa 1,5x Nennstrom liegt.&lt;br /&gt;
&lt;br /&gt;
Der durch den Begrenzungswiderstand definierte Strom kann auch im Leerlauf ohne Last auftreten, geringe Last schützt also nicht vor Sättigung!&lt;br /&gt;
&lt;br /&gt;
=== Ferritkern vs. Eisenpulverringkern ===&lt;br /&gt;
&lt;br /&gt;
Wenn in einer Spule aufgrund der Anwendung eine nennenswerte Menge Energie gespeichert werden muss, benötigt sie einen Luftspalt. Der Großteil der Energie wird dann nicht mehr direkt im Kernmaterial (welches sättigen kann), sondern im Luftspalt gespeichert. Je größer der Luftspalt, desto mehr Energie kann die Spule speichern, allerdings benötigt man mehr Windungen um eine bestimmte Induktivität zu erreichen. Das gilt für Sperrwandler sowie Speicherdrosseln in Flußwandlern. Echte Trafos, wie z.&amp;amp;nbsp;B. im Übertrager eines Flusswandlers benötigen keinen Luftspalt.&lt;br /&gt;
&lt;br /&gt;
Die in Übertragern oder stromkompensierten Drosseln eingesetzten Ferritringkerne besitzen keinen Luftspalt. Daher können sie kaum Energie speichern, sind daher auch nicht für Speicherdrosseln oder Sperrwandler geeignet. Dafür erreichen diese mit wenigen Windungen schnell Induktivitäten im mH Bereich, wozu andere Spulen etliche 100 Windungen benötigen.&lt;br /&gt;
Eisenpulverringkerne gehen einen anderen Weg: Hier stellen die minimalen, mit Kunststoff gefüllten Zwischenräume zwischen den einzelnen Eisenteilchen bereits den Luftspalt dar, weshalb hier kein zusätzlicher Luftspalt erforderlich ist.&lt;br /&gt;
Die hierfür verwendeten Materialien besitzen allerdings deutlich höhere Ummagnetisierungsverluste als Ferrit, weshalb Eisenpulverkerne üblicherweise nur für niedrige Frequenzen eingesetzt werden. Das am weitesten verbreitete Material sind die gelb-weiß markierten Ringkerne mit dem Materialcode 26. Dieses zeichnet sich vor allem durch die niedrigen Kosten aus. Der Einsatzbereich liegt entweder in Entstördrosseln für Gleichstrom- oder 50Hz Anwendungen oder in Schaltnetzteilen bis 100kHz. Für höhere Frequenzen sind auch bessere, und natürlich teurere Materialien, erhältlich.&lt;br /&gt;
Dieser Spulentyp ist vor allem für Abwärtswandler sinnvoll, da Eisenpulverkerne kein Problem mit hohen DC Strömen, allerdings mit hohen AC Anteilen aufgrund ihrer höheren Kernverluste haben. Da der Stromripple bei diesem Wandlertyp meist kleiner als der DC Strom ist, sind beide Bedingungen erfüllt. Allerdings sollte man beachten, dass die Induktivität einer Eisenpulverringkernspule stark von der Frequenz, dem Strom und auch vom Alter abhängig ist! Je nach Temperatur altern Eisenpulverringkerne mehr oder weniger schnell und die Spule verliert dabei an Induktivität.&lt;br /&gt;
&lt;br /&gt;
Die Dimensionierung einer Eisenpulverringkernspule ist nicht ganz einfach, da hier sehr viele Faktoren beachtet werden müssen. Die Berechnung der Kernverluste ist auch aufwendig, einige Hersteller liefern dafür aber Formeln oder Berechnungsprogramme, so wie z.&amp;amp;nbsp;B. Micrometals:&lt;br /&gt;
[http://www.micrometals.com/software_index.html Berechnungsprogramm für Eisenpulverringkerne].&lt;br /&gt;
Vor allem Anfängern wird aber von der eigenen Dimensionierung von Eisenpulverringkernspulen abgeraten. Etliche Hersteller (wie z.&amp;amp;nbsp;B. Talema) haben fertige Ringkernspulen im Programm die bei verschiedenen Anbietern auch für Normalverbraucher erhältlich sind (z.&amp;amp;nbsp;B. bei elpro, DARISUS und vielen anderen).&lt;br /&gt;
&lt;br /&gt;
Zusammenfassend lässt sich sagen:&lt;br /&gt;
&amp;lt;math&amp;gt;B_{max}&amp;lt;/math&amp;gt; ist bei Eisenpulver höher als bei Ferrit (ca. 0,5T bei Eisenpulver und ca. 0,3T bei Ferrit), was bei gleicher Energiekapazität zu kompakteren Spulen führt. Demgegenüber sind die spezifischen Kernverluste (&amp;lt;math&amp;gt;P_{V_{Kern}} \sim \Delta B \cdot f &amp;lt;/math&amp;gt;) von Eisenpulver höher, so dass es nur bei relativ niedrigen Frequenzen und kleinen Flußdichteänderungen Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
=== Speicherspulen vs. Entstörspulen ===&lt;br /&gt;
&lt;br /&gt;
Nicht selten machen vor allem Anfänger den Fehler, die nächstbeste Spule mit einigermaßen passender Induktivität einzusetzen, ohne darauf zu achten, dass die Spule eigentlich als Entstörspule entwickelt wurde. Dies gilt vor allem für die Funkentstördrosseln der Baureihe MESC/MISC/77A die z.&amp;amp;nbsp;B. bei Reichelt erhältlich sind. Die Schaltungen funktionieren zwar einigermaßen, allerdings ist der Wirkungsgrad deutlich geringer als er es mit einer guten Spule wäre.&lt;br /&gt;
Dies liegt vor allem am Aufbau der Spule sowie deren vorhandenem Kern. Funkentstördrosseln sind dafür ausgelegt von einem niederfrequenten Strom durchflossen zu werden und einen, im Vergleich zum Nutzstrom niedrigen Störstrom mit hoher Frequenz abzublocken. Dadurch entstehen kaum Verluste im Kern, da das Magnetfeld konstant ist bzw. sich durch den niederfrequenten Strom nur sehr langsam ändert. Der Kern ist also nicht dafür ausgelegt verlustarm zu sein, bzw. es ist sogar erwünscht wenn er bei hohen Frequenzen gewisse Verluste aufweist, um Resonanzen innerhalb der Spule zu verhindern. Weiterhin kommt das Problem hinzu, dass aufgrund der großen Länge der Spule die Feldlinien außerhalb der Spule den magnetischen Kreis schließen und sich so ein deutliches Magnetfeld um die Spule herum aufbaut (Streufeld), diese arbeitet quasi wie eine Ferritstabantenne und erzeugt beträchtliche EMV Störungen! Speziell für Schaltnetzteile ausgelegte Spulen besitzen daher nicht selten einen entsprechenden mechanischen Aufbau um die Feldlinien möglichst innerhalb bzw. sehr nahe an der Spule zu halten um diese Störungen zu minimieren.&lt;br /&gt;
&lt;br /&gt;
Besonders bei Spulen mit Eisenpulverringkernen sollte man genau nachschauen ob die Angaben für Entstöranwendungen oder für Schaltnetzteilanwendungen gelten: Hier wird oft die gleiche Spule je nach Verwendungszweck unterschiedlich spezifiziert. Dies liegt daran, dass man bei der Entstöranwendung eben kaum Verluste im Kern hat und somit aufgrund der geringeren Erwärmung der Draht von einem höheren Strom durchflossen werden kann, ohne dass er überhitzt.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele geeigneter Spulen für Schaltregler ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Snt_spulen.jpg|thumb|250x250px|Verschiedene Spulen]]&lt;br /&gt;
&lt;br /&gt;
Von links nach rechts:&lt;br /&gt;
&lt;br /&gt;
*Speicherdrosseln: sehr gut geeignet&lt;br /&gt;
*Ringkernspulen: je nach Anwendung gut bis sehr gut geeignet&lt;br /&gt;
*Widerstandsbauform, Trommelkern: für (sehr) kleine Leistungen geeignet&lt;br /&gt;
*Entstörspulen: schlecht geeignet&lt;br /&gt;
*Stromkompensierte Drosseln: absolut ungeeignet&lt;br /&gt;
&lt;br /&gt;
Für kleinere Schaltregler in beliebiger Konfiguration (also StepUp, StepDown, invertierend) geeignete Spulen sind z.&amp;amp;nbsp;B. die L-PISxx Serien die z.&amp;amp;nbsp;B. bei Reichelt oder Conrad erhältlich sind, oder vergleichbare Spulen.&lt;br /&gt;
Aufgrund des Ferritkerns sind diese Spulen nahezu für alle üblichen Frequenzbereiche geeignet.&lt;br /&gt;
Für Stepdownregler unter 100kHz eignen sich auch Eisenpulverringkernspulen z.&amp;amp;nbsp;B. aus dem Material 26. Vor allem bei höheren Strömen sind diese oft deutlich preiswerter als vergleichbare Spulen mit Ferritkern.&lt;br /&gt;
&lt;br /&gt;
=== Spulen selber wickeln, quick &amp;amp; dirty ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine einfache Methode zur Berechnung von Spulen dargestellt werden. Dabei geht es um Drosseln für Schaltregler (Step up/down) , bzw. Trafos für Sperrwandler (flyback). Diese Spulen müssen Energie speichern, siehe auch den Artikel [[Transformatoren und Spulen#Drosseln | Transformatoren und Spulen]]. Damit hat man schell und einfach seine passende Spule berechnet und gewickelt. Es sei jedoch erwähnt, dass dies nur eine quick &amp;amp; dirty Lösung ist, welche nicht alle Feinheiten von Spulen abdeckt. Für Hobbyanwender wird es aber meist zu befriedigenden Ergebnissen führen.&lt;br /&gt;
&lt;br /&gt;
Vereinfacht kann man sagen, daß die Engergiespeicherfähigkeit einer Spule durch den magnetischen Kern bestimmt wird. Die Windungszahl hat keinen Einfluß! Denn ein und der selbe Kern kann die gleiche Energie bei wenig Windungen/Induktivität und viel Strom (großer Sättigungsstrom) oder vielen Windungen und wenig Strom speichern. Wenn eine Spule mit 20 Windungen bei 1A sättigt, dann sättigt sie bei 200 Windungen schon bei 0,1A. Die Windungszahl hat sich verzehnfach, die Induktivität aber verhundertfacht und der Sättigungsstrom ist auf 1/10tel gesunken. Die Energie bleibt aber gleich, wie die nachfolgende Formel zeigt.&lt;br /&gt;
&lt;br /&gt;
Zunächst muss man die benötigte Speicherkapazität berechnen. nehmen wir als Beispiel einen Step Up Schaltregler, welcher eine Spule von 330µH und 2,5A benötigt. Der Energiegehalt berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot L \cdot I^2 = \frac{1}{2} \cdot 330 \mu H \cdot (2,5A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hätten wir diese Spule mit 20 Windungen auf einen Kern gewickelt, könnten wir jetzt das Gedankenexperiment nachvollziehen. Wir erhöhen die Windungszahl auf 200, daraus resultiert eine Induktivität von 33mH und ein Sättigungsstrom von 250mA. Der maximale Energiegehalt wäre jedoch identisch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot 33 mH \cdot (0,25A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die maximal speicherbare Energie in einer Spule, unabhängig von ihrer Form (Ringkern, Schalenkern) berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E_{max} = \frac{1}{2} \cdot A_L \cdot (\frac{B_{sat} \cdot l_e}{\mu _r \cdot \mu_0})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; Induktivitätskonstante des Kerns &lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, B_{sat}&amp;lt;/math&amp;gt; Sättigungsflußdichte, ca. 0,3T für Ferrit und ca. 0,5T für Eisenpulver, ggf. im Datenblatt nachschauen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_e&amp;lt;/math&amp;gt; effektive magnetische Pfadlänge&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; relative bzw. effektive [http://de.wikipedia.org/wiki/Permeabilität_(Magnetismus) Permeabilität]&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu 0&amp;lt;/math&amp;gt; [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante Permeabilität des Vakuums], &amp;lt;math&amp;gt;\!\, 4 \pi \cdot 10^{-7} \frac{H}{m}= 1,2566 \cdot 10^{-6} \frac{H}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Werte für &amp;lt;math&amp;gt;\!\, A_L, l_e&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; sind im Datenblatt des Kerns zu finden. Daraus kann man zunächst berechnen, ob der Kern überhaupt in Frage kommt. Wie man sieht steht die Permeabilität im Nenner des Bruchs, d.h. Kerne mit geringer Permeabilität können mehr Energie speichern als Kerne mit hoher Permeabilität! Bei Ringkernen muss das Material stimmen, bei Schalenkernen kann man einen Luftspalt einfügen. Pi mal Daumen wird man in der Praxis für Speicherdrosseln ein &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; von ca. 50-200 anstreben wollen. Der zweite Schritt ist fast zu einfach, die Berechnung der Windungszahl.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N = \sqrt{\frac{L}{A_L}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachten muss man, welcher Drahtdurchmesser dabei möglich ist. Dabei hilft der [http://www.dl0hst.de/mini-ringkern-rechner.htm Mini Ringkern-Rechner]. Dieser rechnet auch gleich die Drahtlänge aus, und im Menü kann man noch die Berechnung des ohmschen WIderstands des Drahtes durchführen. Dabei sollte man mit 80-100°C Drahttemperatur rechnen, um auf der sicheren Seite zu bleiben. Als Orientierung sollte die Stromdichte 2-5A/mm^2 nicht übersteigen, bei einlagig gewickelten Ringkernen und guter Kühlung ggf. auch höher (10 A/mm^2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;S = \frac{4 \cdot I}{\pi \cdot d^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* S Stromdichte&lt;br /&gt;
* d Drahtdurchmesser&lt;br /&gt;
&lt;br /&gt;
=== Kerne recyceln ===&lt;br /&gt;
&lt;br /&gt;
Oft werden Kerne, vor allem Ringkerne, aus alten Netzteilen recycelt. Zu denen hat man kein Datenblatt. Aber auch hier gibt es Abhilfe. Man wickelt auf den Kern ca. 10..30 Windungen (mehr Windungen verringern den Messfehler) mit dünnem Draht, möglichst über den ganzen Wickelbereich bzw. Ringkern verteilt, und misst mittels LC-Meter die Induktivität. Damit kann man den &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt;-Wert berechnen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac{L}{N^2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die mittlere magnetische Pfadlänge ist beim Ringkern einfach der mittlere Umfang, berechenbar durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_e = \frac {\pi}{2} \cdot (d_a + d_i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_a &amp;lt;/math&amp;gt; Außendurchmesser&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_i &amp;lt;/math&amp;gt; Innendurchmesser&lt;br /&gt;
&lt;br /&gt;
Bei anderen Kernformen muss man die mittlere magnetische Pfadlänge kreativ schätzen, indem man gedanklich in den Schenkeln mittig eine geschlossene (Feld)Linie zieht. Damit kann man &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; auch näherungsweise berechnen. Dazu muss man unterscheiden, ob der Kern einheitlich aus einem Material besteht oder einen Luftspalt hat.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac {1}{R_m} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{ges} = R_{Eisen} + R_{Luftspalt} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Eisen} = \frac {l_{Eisen}}{\mu_r \cdot \mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Luftspalt} = \frac {l_{Luftspalt}}{\mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_m &amp;lt;/math&amp;gt;: Magnetischer Widerstand&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{ges} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des gesamten Kerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Eisen} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Eisenkerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Luftspalt} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Luftspalts&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A &amp;lt;/math&amp;gt;: magnetische Querschnittsfläche&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Eisen} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Eisen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Luftspalt} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Luftspalt&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu_0 &amp;lt;/math&amp;gt;: [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante magnetische Feldkonstante] = 1,257e-6&lt;br /&gt;
&lt;br /&gt;
Bleibt als letzte Herausforderung &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt;. Das berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu _r = \frac{L \cdot l_e}{N^2 \cdot A \cdot \mu _0}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Formel stimmt in erster Linie für [http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Ringspule Ringkerne], bei anderen Kernformen wird der Fehler etwas größer. Zur einfachen Anwendung gibt es alle Formeln in einer praktischen [[media:Drosseln.xls | Exceltabelle]]. Ausserdem gibt es den sehr praktischen [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner], welcher die Berechung vieler verschiedener Kerne sehr schnell ermöglicht. Als letzte Fomel sei die für den Sättigungsstrom genannt, welche direkt den meist gesuchten Wert liefert. Je nach bekannten Daten kann man sie mit verschiedenen Formeln ausrechnen, welche equivalent sind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;I_{sat}= \frac{B_{max} \cdot l_e}{N \cdot \mu _r \cdot \mu _0} = \frac{B_{max} \cdot A}{N \cdot A_L} = \frac{B_{max} \cdot A \cdot N}{L}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Transformatoren und Spulen]]&lt;br /&gt;
* [[Platinen-Induktivität]]&lt;br /&gt;
* [[MC34063]]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/9/9b/Drosseln.xls Exceltabelle] zur Drosselberechnung&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/217508?goto=2171452#2169791 Forumsbeitrag]: Grundlagenfrage zu Speicherspulen - Luftspalt&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/313893?goto=3393636#3393349 Forumsbeitrag]: Drossel für 200A/100Hz-Schweissgerät&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372156#4205430 Forumsbeitrag]: Energie einer Spule zurückgewinnen&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Induktivit%C3%A4t_%28Bauelement%29 Wikipedia: Induktivität]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
*Tolles [http://www.we-online.de/web/de/passive_bauelemente_-_standard/toolbox_pbs/Component_Selector_1.php Berechnungsprogramm] (Link tot) für Spulen in Schaltreglern der Firma Würth&lt;br /&gt;
*[http://schmidt-walter.eit.h-da.de/smps/smps.html Dimensionierung von Spulen in Schaltreglern]&lt;br /&gt;
* [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner]&lt;br /&gt;
* [http://www.dos4ever.com/flyback/flyback.html Flyback Converter for dummies], engl. Gute Seite über Sperrwandler und Drosselspulen für Nixieröhren mit einfacher Messung des Sättigungsstroms&lt;br /&gt;
* [http://www.sprut.de/electronic/switch/lc/lc.html Spulen und Kondensatoren ausmessen]&lt;br /&gt;
* [http://elm-chan.org/works/lchk/report.html Power Inductor Checker] auf ELM ChaN, engl.&lt;br /&gt;
* Hersteller&lt;br /&gt;
** [http://www.amidon.de/ Amidon]&lt;br /&gt;
** [http://www.ferroxcube.com/ Ferroxcube]&lt;br /&gt;
** [http://www.micrometals.com/ Micrometals]&lt;br /&gt;
** [http://www.epcos.de Epcos], ehemals Siemens&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104964</id>
		<title>Spule</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104964"/>
		<updated>2022-01-31T21:26:53Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vereinfachte Erklärung ==&lt;br /&gt;
&lt;br /&gt;
Während man sich einen Kondensator wie eine Art Lager für Elektronen vorstellen kann, und einen Widerstand wie ein mehr oder weniger enges Rohr für einen Wasserfluß, ist eine Analogie aus dem täglichen Leben für eine Spule ein Schwungrad. Man hat eine Antriebskraft, mit der man eine Achse in Bewegung setzen möchte, aber auf dieser ist ein großes Schwungrad befestigt. Damit sich die Antriebskraft in der Bewegung der Achse bemerkbar machen kann, muss das Schwungrad mit in Bewegung gesetzt werden, was nur langsam, nach und nach möglich ist, und wenn es sich einmal dreht, möchte es nach dem Beenden der Einwirkung der Antriebskraft zunächst einmal in derselben Richtung weiterlaufen, es kann nicht sofort abgebremst werden, und wenn man versucht, das drehende Schwungrad zu blockieren, wird bei diesem plötzlichen Abbremsen eine gewaltige Kraft freigesetzt.&lt;br /&gt;
&lt;br /&gt;
Eine Spule verhält sich ähnlich. Sie ist stets bestrebt, den Stromfluß aufrecht zu erhalten, sprich sie verzögert eine schnelle Änderung des Stromflusses. Soll der Strom ansteigen, muss zunächst ein Magnetfeld aufgebaut werden, das dauert je nach anliegender Spannung und Induktivität der Spule eine gewisse Zeit. Hier wird Energie gespeichert. Soll der Stromfluß abnehmen, muss das Magnetfeld erst abgebaut werden, hier wird Energie in den Stromkreis zurückgeführt.&lt;br /&gt;
&lt;br /&gt;
Diese Eigenschaft ist sehr wichtig für [[Transformatoren und Spulen]] in Schaltnetzteilen, Filtern und vielen anderen Anwendungen. Das Maß, wieviel Magnetfeld bei einem bestimmten Strom in der Spule gespeichert werden kann, wird mit dem Begriff Induktivität ausgedrückt.&lt;br /&gt;
&lt;br /&gt;
Manchmal ist eine Spule aber auch von Nachteil, wenn die nämlich ungewollt die schnelle Änderung des Stromflusses bremst. Das ist meist dann der Fall, wenn Bauteile zu lange Anschlussdrähte oder Zuleitungen haben. Hier spricht man von Streuinduktivität.&lt;br /&gt;
&lt;br /&gt;
== Berechnungsformeln für Spulen ==&lt;br /&gt;
&lt;br /&gt;
Eine wichtige Formel ist die zur Definition der Induktivität. Das ist der charakteristischste Parameter einer Spule.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=\frac{U \cdot t}{I}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Diese Formel ist vor allem für die Beschreibung des elektrischen Verhaltens einer Spule mit bekannter Induktivität wichtig. Sie sagt aus, dass wenn man an eine Spule mit 1H eine Spannung von 1V für 1s anlegt, steigt der Strom um 1A (Rampenfunktion).&lt;br /&gt;
&lt;br /&gt;
D.h. die Spule integriert (sammelt) eine an ihren Klemmen anliegende Spannung und baut damit ein Magnetfeld auf. Die Folge davon ist ein Stromfluß durch die Spule. Das ist das Gegenteil eines Kondensators. Dieser integriert (sammelt) einen an seinen Klemmen eingespeisten Strom und baut damit ein elektrisches Feld auf. Die Folge davon ist eine Spannung zwischen den Klemmen.&lt;br /&gt;
&lt;br /&gt;
In praktischen Anwendungen wickelt man [http://de.wikipedia.org/wiki/Spule_%28Elektrotechnik%29 Spulen] meist auf fertige Spulenkörper mit zugehörigen Kernen. Die Induktivität berechnet sich aus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=A_L \cdot N^2&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Der &amp;lt;math&amp;gt;A_L&amp;lt;/math&amp;gt;-Wert ist der Kehrwert des  [http://de.wikipedia.org/wiki/Magnetischer_Widerstand magnetischen Widerstands] der Spule (der Raum um den Drahtwickel) und beinhaltet sowohl die Geometrie als auch das Material des Kerns. Er wird im Datenblatt des Kerns angegeben, kann aber ggf. auch berechnet werden. Wichtig ist zu wissen, dass die Induktivität quadratisch von der Windungszahl abhängt, d.h. bei doppelter Windungszahl erhält man die vierfache Induktivität.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Spulenauswahl ==&lt;br /&gt;
&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
&lt;br /&gt;
Vor allem bei Schaltreglern sind folgende Daten der Spulen wichtig:&lt;br /&gt;
&lt;br /&gt;
* Induktivität&lt;br /&gt;
* Drahtwiderstand&lt;br /&gt;
* Maximaler Strom&lt;br /&gt;
* Sättigungsstrom&lt;br /&gt;
&lt;br /&gt;
==== Induktivität ====&lt;br /&gt;
&lt;br /&gt;
Die Induktivität gibt an, wie schnell sich der Strom bei einer anliegenden Spannung ändert. Üblicherweise berechnet man bei der Dimensionierung die minimale Spulengröße die notwendig ist, damit der Ripple des Stromes einen bestimmten Wert (typisch 50% des Ausgangsstroms bei einem StepDown) nicht überschreitet. Eine zu große Induktivität stört bei einem StepDown Regler meist nicht. Bei einem StepUp dagegen darf diese einen bestimmten Wert nicht überschreiten, damit der Regler die gewünschte Leistung liefern kann (siehe Artikel [[Transformatoren und Spulen#Energiespeicherung in Magnetkernen | Transformatoren und Spulen]]). Die Induktivität ist nicht konstant, sondern ändert sich je nach vorhandenem Kern mehr oder weniger mit Frequenz oder Strom.&lt;br /&gt;
Vor allem Eisenpulverkerne weisen eine ausgeprägte Abhängigkeit der Induktivität von Frequenz und Strom ab. Die Induktivität mit Nennstrom ist daher meist etwas geringer als die Induktivität ohne Stromfluss. Dies sollte bei der Spulendimensionierung beachtet werden. Aufgrund der starken Stromabhängigkeit erfolgt die Angabe der Induktivität bei Spulen mit Eisenpulverkernen häufig auch bei Nennstrom. Ohne Strombelastung liegt die Induktivität etwa Faktor 1,2-2 darüber. Bei Spulen mit Ferritkern dagegen wird die Induktivität meist ohne Strombelastung spezifiziert.&lt;br /&gt;
&lt;br /&gt;
==== Drahtwiderstand ====&lt;br /&gt;
&lt;br /&gt;
Der Drahtwiderstand beeinflusst vor allem den Wirkungsgrad der Schaltung bzw. begrenzt den maximal zulässigen Effektivwert des Stromes, der durch die Spule fließt. Vor allem bei StepUp Wandlern sollte man sich dem Einfluss des Spulenwiderstands bewusst sein: Möchte man z.&amp;amp;nbsp;B. aus 5V eine höhere Spannung erzeugen und verwendet eine Spule mit 2Ω die mit 0,5A angesteuert wird, dann fallen an dem Drahtwiderstand bereits 1Volt ab. Das entspricht 20% der Eingangsspannung!&lt;br /&gt;
&lt;br /&gt;
==== Maximaler Strom ====&lt;br /&gt;
&lt;br /&gt;
Der maximale Strom wird meist anhand der Erwärmung der Spule durch einen bestimmten Strom bestimmt. Oft ist dies der Punkt bei der sich die Spule um z.&amp;amp;nbsp;B. 40°C erwärmt. Häufig wird dies mit Gleichspannung gemessen oder bei einer niedrigen Frequenz deren Effektivwert angegeben wird. Bei Verwendung der Spule in einem Schaltregler reduziert sich dieser Wert daher um bis zu 50%, da einerseits der Sättigungsstrom beachtet werden muss und andererseits auch der Kern innerhalb der Spule durch den Wechselstromanteil sich auch erwärmt. Vor allem Eisenpulverkerne besitzen teilweise recht hohe Kernverluste, die bei einer üblichen Dimensionierung im gleichen Bereich wie die Verluste durch den Drahtwiderstand liegen. Der Spitzenstrom darf diesen Stromwert allerdings übersteigen, solange der Effektivwert bzw. die Erwärmung im zulässigen Bereich liegt.&lt;br /&gt;
&lt;br /&gt;
==== Sättigungsstrom ====&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom ist fast schon das wichtigste Kriterium bei der Spulenauswahl, denn wenn dieser Wert zu gering ist, ist die Spule unbrauchbar für die Schaltung. Wie bei der Induktivität schon geschrieben, ist diese mehr oder weniger abhängig vom Spulenstrom. Der Sättigungsstrom, der bei Spulen für Schaltregler immer angegeben ist, gibt meist den Strom an, bei dem die Induktivität um 10-40% gegenüber der Nenninduktivität gefallen ist. Erhöht man den Strom weiter, nimmt die Induktivität je nach Kernmaterial und mechanischem Aufbau schnell ab, eine Verringerung um den Faktor 10 ist keine Seltenheit.&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom wird bei einem ordentlich dimensionierten Schaltregler nie überschritten werden, da die Strombegrenzung vorher anspricht. Bei einem schlechten Design spricht die Strombegrenzung dagegen erst durch den hohen Strom an, wenn die Spule in die Sättigung geht. Dies führt nur zu unnötigen Verlusten und sollte daher vermieden werden.&lt;br /&gt;
&lt;br /&gt;
Für den [[MC34063]] heißt das konkret, dass der Strombegrenzungswiderstand Rsc auf einen Wert unterhalb des Sättigungsstromes dimensioniert werden muss!&lt;br /&gt;
Da die Induktivität einer Spule in der Sättigung minimal ist, kann diese auch keine weitere Energie speichern. Ein Großteil der in die Spule fließenden Energie wird daher im Drahtwiderstand bzw. im Schalttransistor in Wärme umgesetzt was den Wirkungsgrad stark reduziert und eventuell die Regelung des Schaltreglers durcheinander bringt.&lt;br /&gt;
&lt;br /&gt;
Bei einer typischen Spule für Schaltnetzteile liegt der Sättigungsstrom etwa Faktor 1,5-2 über dem Nennstrom. Dies erlaubt den Nennstrom voll auszunutzen, da der Stromripple bei der üblichen Spulendimensionierung bei etwa 50% des Nennstroms, der Spitzenstrom also bei etwa 1,5x Nennstrom liegt.&lt;br /&gt;
&lt;br /&gt;
Der durch den Begrenzungswiderstand definierte Strom kann auch im Leerlauf ohne Last auftreten, geringe Last schützt also nicht vor Sättigung!&lt;br /&gt;
&lt;br /&gt;
=== Ferritkern vs. Eisenpulverringkern ===&lt;br /&gt;
&lt;br /&gt;
Wenn in einer Spule aufgrund der Anwendung eine nennenswerte Menge Energie gespeichert werden muss, benötigt sie einen Luftspalt. Der Großteil der Energie wird dann nicht mehr direkt im Kernmaterial (welches sättigen kann), sondern im Luftspalt gespeichert. Je größer der Luftspalt, desto mehr Energie kann die Spule speichern, allerdings benötigt man mehr Windungen um eine bestimmte Induktivität zu erreichen. Das gilt für Sperrwandler sowie Speicherdrosseln in Flußwandlern. Echte Trafos, wie z.&amp;amp;nbsp;B. im Übertrager eines Flusswandlers benötigen keinen Luftspalt.&lt;br /&gt;
&lt;br /&gt;
Die in Übertragern oder stromkompensierten Drosseln eingesetzten Ferritringkerne besitzen keinen Luftspalt. Daher können sie kaum Energie speichern, sind daher auch nicht für Speicherdrosseln oder Sperrwandler geeignet. Dafür erreichen diese mit wenigen Windungen schnell Induktivitäten im mH Bereich, wozu andere Spulen etliche 100 Windungen benötigen.&lt;br /&gt;
Eisenpulverringkerne gehen einen anderen Weg: Hier stellen die minimalen, mit Kunststoff gefüllten Zwischenräume zwischen den einzelnen Eisenteilchen bereits den Luftspalt dar, weshalb hier kein zusätzlicher Luftspalt erforderlich ist.&lt;br /&gt;
Die hierfür verwendeten Materialien besitzen allerdings deutlich höhere Ummagnetisierungsverluste als Ferrit, weshalb Eisenpulverkerne üblicherweise nur für niedrige Frequenzen eingesetzt werden. Das am weitesten verbreitete Material sind die gelb-weiß markierten Ringkerne mit dem Materialcode 26. Dieses zeichnet sich vor allem durch die niedrigen Kosten aus. Der Einsatzbereich liegt entweder in Entstördrosseln für Gleichstrom- oder 50Hz Anwendungen oder in Schaltnetzteilen bis 100kHz. Für höhere Frequenzen sind auch bessere, und natürlich teurere Materialien, erhältlich.&lt;br /&gt;
Dieser Spulentyp ist vor allem für Abwärtswandler sinnvoll, da Eisenpulverkerne kein Problem mit hohen DC Strömen, allerdings mit hohen AC Anteilen aufgrund ihrer höheren Kernverluste haben. Da der Stromripple bei diesem Wandlertyp meist kleiner als der DC Strom ist, sind beide Bedingungen erfüllt. Allerdings sollte man beachten, dass die Induktivität einer Eisenpulverringkernspule stark von der Frequenz, dem Strom und auch vom Alter abhängig ist! Je nach Temperatur altern Eisenpulverringkerne mehr oder weniger schnell und die Spule verliert dabei an Induktivität.&lt;br /&gt;
&lt;br /&gt;
Die Dimensionierung einer Eisenpulverringkernspule ist nicht ganz einfach, da hier sehr viele Faktoren beachtet werden müssen. Die Berechnung der Kernverluste ist auch aufwendig, einige Hersteller liefern dafür aber Formeln oder Berechnungsprogramme, so wie z.&amp;amp;nbsp;B. Micrometals:&lt;br /&gt;
[http://www.micrometals.com/software_index.html Berechnungsprogramm für Eisenpulverringkerne].&lt;br /&gt;
Vor allem Anfängern wird aber von der eigenen Dimensionierung von Eisenpulverringkernspulen abgeraten. Etliche Hersteller (wie z.&amp;amp;nbsp;B. Talema) haben fertige Ringkernspulen im Programm die bei verschiedenen Anbietern auch für Normalverbraucher erhältlich sind (z.&amp;amp;nbsp;B. bei elpro, DARISUS und vielen anderen).&lt;br /&gt;
&lt;br /&gt;
Zusammenfassend lässt sich sagen:&lt;br /&gt;
&amp;lt;math&amp;gt;B_{max}&amp;lt;/math&amp;gt; ist bei Eisenpulver höher als bei Ferrit (ca. 0,5T bei Eisenpulver und ca. 0,3T bei Ferrit), was bei gleicher Energiekapazität zu kompakteren Spulen führt. Demgegenüber sind die spezifischen Kernverluste (&amp;lt;math&amp;gt;P_{V_{Kern}} \sim \Delta B \cdot f &amp;lt;/math&amp;gt;) von Eisenpulver höher, so dass es nur bei relativ niedrigen Frequenzen und kleinen Flußdichteänderungen Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
=== Speicherspulen vs. Entstörspulen ===&lt;br /&gt;
&lt;br /&gt;
Nicht selten machen vor allem Anfänger den Fehler, die nächstbeste Spule mit einigermaßen passender Induktivität einzusetzen, ohne darauf zu achten, dass die Spule eigentlich als Entstörspule entwickelt wurde. Dies gilt vor allem für die Funkentstördrosseln der Baureihe MESC/MISC/77A die z.&amp;amp;nbsp;B. bei Reichelt erhältlich sind. Die Schaltungen funktionieren zwar einigermaßen, allerdings ist der Wirkungsgrad deutlich geringer als er es mit einer guten Spule wäre.&lt;br /&gt;
Dies liegt vor allem am Aufbau der Spule sowie deren vorhandenem Kern. Funkentstördrosseln sind dafür ausgelegt von einem niederfrequenten Strom durchflossen zu werden und einen, im Vergleich zum Nutzstrom niedrigen Störstrom mit hoher Frequenz abzublocken. Dadurch entstehen kaum Verluste im Kern, da das Magnetfeld konstant ist bzw. sich durch den niederfrequenten Strom nur sehr langsam ändert. Der Kern ist also nicht dafür ausgelegt verlustarm zu sein, bzw. es ist sogar erwünscht wenn er bei hohen Frequenzen gewisse Verluste aufweist, um Resonanzen innerhalb der Spule zu verhindern. Weiterhin kommt das Problem hinzu, dass aufgrund der großen Länge der Spule die Feldlinien außerhalb der Spule den magnetischen Kreis schließen und sich so ein deutliches Magnetfeld um die Spule herum aufbaut (Streufeld), diese arbeitet quasi wie eine Ferritstabantenne und erzeugt beträchtliche EMV Störungen! Speziell für Schaltnetzteile ausgelegte Spulen besitzen daher nicht selten einen entsprechenden mechanischen Aufbau um die Feldlinien möglichst innerhalb bzw. sehr nahe an der Spule zu halten um diese Störungen zu minimieren.&lt;br /&gt;
&lt;br /&gt;
Besonders bei Spulen mit Eisenpulverringkernen sollte man genau nachschauen ob die Angaben für Entstöranwendungen oder für Schaltnetzteilanwendungen gelten: Hier wird oft die gleiche Spule je nach Verwendungszweck unterschiedlich spezifiziert. Dies liegt daran, dass man bei der Entstöranwendung eben kaum Verluste im Kern hat und somit aufgrund der geringeren Erwärmung der Draht von einem höheren Strom durchflossen werden kann, ohne dass er überhitzt.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele geeigneter Spulen für Schaltregler ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Snt_spulen.jpg|thumb|250x250px|Verschiedene Spulen]]&lt;br /&gt;
&lt;br /&gt;
Von links nach rechts:&lt;br /&gt;
&lt;br /&gt;
*Speicherdrosseln: sehr gut geeignet&lt;br /&gt;
*Ringkernspulen: je nach Anwendung gut bis sehr gut geeignet&lt;br /&gt;
*Widerstandsbauform, Trommelkern: für (sehr) kleine Leistungen geeignet&lt;br /&gt;
*Entstörspulen: schlecht geeignet&lt;br /&gt;
*Stromkompensierte Drosseln: absolut ungeeignet&lt;br /&gt;
&lt;br /&gt;
Für kleinere Schaltregler in beliebiger Konfiguration (also StepUp, StepDown, invertierend) geeignete Spulen sind z.&amp;amp;nbsp;B. die L-PISxx Serien die z.&amp;amp;nbsp;B. bei Reichelt oder Conrad erhältlich sind, oder vergleichbare Spulen.&lt;br /&gt;
Aufgrund des Ferritkerns sind diese Spulen nahezu für alle üblichen Frequenzbereiche geeignet.&lt;br /&gt;
Für Stepdownregler unter 100kHz eignen sich auch Eisenpulverringkernspulen z.&amp;amp;nbsp;B. aus dem Material 26. Vor allem bei höheren Strömen sind diese oft deutlich preiswerter als vergleichbare Spulen mit Ferritkern.&lt;br /&gt;
&lt;br /&gt;
=== Spulen selber wickeln, quick &amp;amp; dirty ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine einfache Methode zur Berechnung von Spulen dargestellt werden. Dabei geht es um Drosseln für Schaltregler (Step up/down) , bzw. Trafos für Sperrwandler (flyback). Diese Spulen müssen Energie speichern, siehe auch den Artikel [[Transformatoren und Spulen#Drosseln | Transformatoren und Spulen]]. Damit hat man schell und einfach seine passende Spule berechnet und gewickelt. Es sei jedoch erwähnt, dass dies nur eine quick &amp;amp; dirty Lösung ist, welche nicht alle Feinheiten von Spulen abdeckt. Für Hobbyanwender wird es aber meist zu befriedigenden Ergebnissen führen.&lt;br /&gt;
&lt;br /&gt;
Vereinfacht kann man sagen, daß die Engergiespeicherfähigkeit einer Spule durch den magnetischen Kern bestimmt wird. Die Windungszahl hat keinen Einfluß! Denn ein und der selbe Kern kann die gleiche Energie bei wenig Windungen/Induktivität und viel Strom (großer Sättigungsstrom) oder vielen Windungen und wenig Strom speichern. Wenn eine Spule mit 20 Windungen bei 1A sättigt, dann sättigt sie bei 200 Windungen schon bei 0,1A. Die Windungszahl hat sich verzehnfach, die Induktivität aber verhundertfacht und der Sättigungsstrom ist auf 1/10tel gesunken. Die Energie bleibt aber gleich, wie die nachfolgende Formel zeigt.&lt;br /&gt;
&lt;br /&gt;
Zunächst muss man die benötigte Speicherkapazität berechnen. nehmen wir als Beispiel einen Step Up Schaltregler, welcher eine Spule von 330µH und 2,5A benötigt. Der Energiegehalt berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot L \cdot I^2 = \frac{1}{2} \cdot 330 \mu H \cdot (2,5A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hätten wir diese Spule mit 20 Windungen auf einen Kern gewickelt, könnten wir jetzt das Gedankenexperiment nachvollziehen. Wir erhöhen die Windungszahl auf 200, daraus resultiert eine Induktivität von 33mH und ein Sättigungsstrom von 250mA. Der maximale Energiegehalt wäre jedoch identisch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot 33 mH \cdot (0,25A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die maximal speicherbare Energie in einer Spule, unabhängig von ihrer Form (Ringkern, Schalenkern) berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E_{max} = \frac{1}{2} \cdot A_L \cdot (\frac{B_{sat} \cdot l_e}{\mu _r \cdot \mu_0})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; Induktivitätskonstante des Kerns &lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, B_{sat}&amp;lt;/math&amp;gt; Sättigungsflußdichte, ca. 0,3T für Ferrit und ca. 0,5T für Eisenpulver, ggf. im Datenblatt nachschauen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_e&amp;lt;/math&amp;gt; effektive magnetische Pfadlänge&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; relative bzw. effektive [http://de.wikipedia.org/wiki/Permeabilität_(Magnetismus) Permeabilität]&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu 0&amp;lt;/math&amp;gt; [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante Permeabilität des Vakuums], &amp;lt;math&amp;gt;\!\, 4 \pi \cdot 10^{-7} \frac{H}{m}= 1,2566 \cdot 10^{-6} \frac{H}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Werte für &amp;lt;math&amp;gt;\!\, A_L, l_e&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; sind im Datenblatt des Kerns zu finden. Daraus kann man zunächst berechnen, ob der Kern überhaupt in Frage kommt. Wie man sieht steht die Permeabilität im Nenner des Bruchs, d.h. Kerne mit geringer Permeabilität können mehr Energie speichern als Kerne mit hoher Permeabilität! Bei Ringkernen muss das Material stimmen, bei Schalenkernen kann man einen Luftspalt einfügen. Pi mal Daumen wird man in der Praxis für Speicherdrosseln ein &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; von ca. 50-200 anstreben wollen. Der zweite Schritt ist fast zu einfach, die Berechnung der Windungszahl.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N = \sqrt{\frac{L}{A_L}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachten muss man, welcher Drahtdurchmesser dabei möglich ist. Dabei hilft der [http://www.dl0hst.de/mini-ringkern-rechner.htm Mini Ringkern-Rechner]. Dieser rechnet auch gleich die Drahtlänge aus, und im Menü kann man noch die Berechnung des ohmschen WIderstands des Drahtes durchführen. Dabei sollte man mit 80-100°C Drahttemperatur rechnen, um auf der sicheren Seite zu bleiben. Als Orientierung sollte die Stromdichte 2-5A/mm^2 nicht übersteigen, bei einlagig gewickelten Ringkernen und guter Kühlung ggf. auch höher (10 A/mm^2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;S = \frac{4 \cdot I}{\pi \cdot d^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* S Stromdichte&lt;br /&gt;
* d Drahtdurchmesser&lt;br /&gt;
&lt;br /&gt;
=== Kerne recyceln ===&lt;br /&gt;
&lt;br /&gt;
Oft werden Kerne, vor allem Ringkerne, aus alten Netzteilen recycelt. Zu denen hat man kein Datenblatt. Aber auch hier gibt es Abhilfe. Man wickelt auf den Kern ca. 10..30 Windungen (mehr Windungen verringern den Messfehler) mit dünnem Draht, möglichst über den ganzen Wickelbereich bzw. Ringkern verteilt, und misst mittels LC-Meter die Induktivität. Damit kann man den &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt;-Wert berechnen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac{L}{N^2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die mittlere magnetische Pfadlänge ist beim Ringkern einfach der mittlere Umfang, berechenbar durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_e = \frac {\pi}{2} \cdot (d_a + d_i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_a &amp;lt;/math&amp;gt; Außendurchmesser&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_i &amp;lt;/math&amp;gt; Innendurchmesser&lt;br /&gt;
&lt;br /&gt;
Bei anderen Kernformen muss man die mittlere magnetische Pfadlänge kreativ schätzen, indem man gedanklich in den Schenkeln mittig eine geschlossene (Feld)Linie zieht. Damit kann man &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; auch näherungsweise berechnen. Dazu muss man unterscheiden, ob der Kern einheitlich aus einem Material besteht oder einen Luftspalt hat.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac {1}{R_m} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{ges} = R_{Eisen} + R_{Luftspalt} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Eisen} = \frac {l_{Eisen}}{\mu_r \cdot \mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Luftspalt} = \frac {l_{Luftspalt}}{\mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_m &amp;lt;/math&amp;gt;: Magnetischer Widerstand&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{ges} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des gesamten Kerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Eisen} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Eisenkerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Luftspalt} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Luftspalts&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A &amp;lt;/math&amp;gt;: magnetische Querschnittsfläche&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Eisen} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Eisen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Luftspalt} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Luftspalt&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu_0 &amp;lt;/math&amp;gt;: [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante magnetische Feldkonstante] = 1,257e-6&lt;br /&gt;
&lt;br /&gt;
Bleibt als letzte Herausforderung &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt;. Das berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu _r = \frac{L \cdot l_e}{N^2 \cdot A \cdot \mu _0}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Formel stimmt in erster Linie für [http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Ringspule Ringkerne], bei anderen Kernformen wird der Fehler etwas größer. Zur einfachen Anwendung gibt es alle Formeln in einer praktischen [[media:Drosseln.xls | Exceltabelle]]. Ausserdem gibt es den sehr praktischen [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner], welcher die Berechung vieler verschiedener Kerne sehr schnell ermöglicht. Als letzte Fomel sei die für den Sättigungsstrom genannt, welche direkt den meist gesuchten Wert liefert. Je nach bekannten Daten kann man sie mit verschiedenen Formeln ausrechnen, welche equivalent sind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;I_{sat}= \frac{B_{max} \cdot l_e}{N \cdot \mu _r \cdot \mu _0} = \frac{B_{max} \cdot A}{N \cdot A_L} = \frac{B_{max} \cdot A \cdot N}{L}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Transformatoren und Spulen]]&lt;br /&gt;
* [[Platinen-Induktivität]]&lt;br /&gt;
* [[MC34063]]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/9/9b/Drosseln.xls Exceltabelle] zur Drosselberechnung&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/217508?goto=2171452#2169791 Forumsbeitrag]: Grundlagenfrage zu Speicherspulen - Luftspalt&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/313893?goto=3393636#3393349 Forumsbeitrag]: Drossel für 200A/100Hz-Schweissgerät&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372156#4205430 Forumsbeitrag]: Energie einer Spule zurückgewinnen&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Induktivit%C3%A4t_%28Bauelement%29 Wikipedia: Induktivität]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
*Tolles [http://www.we-online.de/web/de/passive_bauelemente_-_standard/toolbox_pbs/Component_Selector_1.php Berechnungsprogramm] (Link tot) für Spulen in Schaltreglern der Firma Würth&lt;br /&gt;
*[http://schmidt-walter.eit.h-da.de/smps/smps.html Dimensionierung von Spulen in Schaltreglern]&lt;br /&gt;
* [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner]&lt;br /&gt;
* [http://www.dos4ever.com/flyback/flyback.html Flyback Converter for dummies], engl. Gute Seite über Sperrwandler und Drosselspulen für Nixieröhren mit einfacher Messung des Sättigungsstroms&lt;br /&gt;
* [http://www.sprut.de/electronic/switch/lc/lc.html Spulen und Kondensatoren ausmessen]&lt;br /&gt;
* [http://elm-chan.org/works/lchk/report.html Power Inductor Checker] auf ELM ChaN, engl.&lt;br /&gt;
* Hersteller&lt;br /&gt;
** [http://www.amidon.de/ Amidon]&lt;br /&gt;
** [http://www.ferroxcube.com/ Ferroxcube]&lt;br /&gt;
** [http://www.micrometals.com/ Micrometals]&lt;br /&gt;
** [http://www.epcos.de Epcos], ehemals Siemens&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104963</id>
		<title>Spule</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Spule&amp;diff=104963"/>
		<updated>2022-01-31T21:26:34Z</updated>

		<summary type="html">&lt;p&gt;172.26.36.196: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vereinfachte Erklärung ==&lt;br /&gt;
&lt;br /&gt;
Während man sich einen Kondensator wie eine Art Lager für Elektronen vorstellen kann, und einen Widerstand wie ein mehr oder weniger enges Rohr für einen Wasserfluß, ist eine Analogie aus dem täglichen Leben für eine Spule ein Schwungrad. Man hat eine Antriebskraft, mit der man eine Achse in Bewegung setzen möchte, aber auf dieser ist ein großes Schwungrad befestigt. Damit sich die Antriebskraft in der Bewegung der Achse bemerkbar machen kann, muss das Schwungrad mit in Bewegung gesetzt werden, was nur langsam, nach und nach möglich ist, und wenn es sich einmal dreht, möchte es nach dem Beenden der Einwirkung der Antriebskraft zunächst einmal in derselben Richtung weiterlaufen, es kann nicht sofort abgebremst werden, und wenn man versucht, das drehende Schwungrad zu blockieren, wird bei diesem plötzlichen Abbremsen eine gewaltige Kraft freigesetzt.&lt;br /&gt;
&lt;br /&gt;
Eine Spule verhält sich ähnlich. Sie ist stets bestrebt, den Stromfluß aufrecht zu erhalten, sprich sie verzögert eine schnelle Änderung des Stromflusses. Soll der Strom ansteigen, muss zunächst ein Magnetfeld aufgebaut werden, das dauert je nach anliegender Spannung und Induktivität der Spule eine gewisse Zeit. Hier wird Energie gespeichert. Soll der Stromfluß abnehmen, muss das Magnetfeld erst abgebaut werden, hier wird Energie in den Stromkreis zurückgeführt.&lt;br /&gt;
&lt;br /&gt;
Diese Eigenschaft ist sehr wichtig für [[Transformatoren und Spulen]] in Schaltnetzteilen, Filtern und vielen anderen Anwendungen. Das Maß, wieviel Magnetfeld bei einem bestimmten Strom in der Spule gespeichert werden kann, wird mit dem Begriff Induktivität ausgedrückt.&lt;br /&gt;
&lt;br /&gt;
Manchmal ist eine Spule aber auch von Nachteil, wenn die nämlich ungewollt die schnelle Änderung des Stromflusses bremst. Das ist meist dann der Fall, wenn Bauteile zu lange Anschlussdrähte oder Zuleitungen haben. Hier spricht man von Streuinduktivität.&lt;br /&gt;
&lt;br /&gt;
== Berechnungsformeln für Spulen ==&lt;br /&gt;
&lt;br /&gt;
Eine wichtige Formel ist die zur Definition der Induktivität. Das ist der charakteristischste Parameter einer Spule.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=\frac{U \cdot t}{I}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Diese Formel ist vor allem für die Beschreibung des elektrischen Verhaltens einer Spule mit bekannter Induktivität wichtig. Sie sagt aus, dass wenn man an eine Spule mit 1H eine Spannung von 1V für 1s anlegt, steigt der Strom um 1A (Rampenfunktion).&lt;br /&gt;
&lt;br /&gt;
D.h. die Spule integriert (sammelt) eine an ihren Klemmen anliegende Spannung und baut damit ein Magnetfeld auf. Die Folge davon ist ein Stromfluß durch die Spule. Das ist das Gegenteil eines Kondensators. Dieser integriert (sammelt) einen an seinen Klemmen eingespeisten Strom und baut damit ein elektrisches Feld auf. Die Folge davon ist eine Spannung zwischen den Klemmen.&lt;br /&gt;
&lt;br /&gt;
In praktischen Anwendungen wickelt man [http://de.wikipedia.org/wiki/Spule_%28Elektrotechnik%29 Spulen] meist auf fertige Spulenkörper mit zugehörigen Kernen. Die Induktivität berechnet sich aus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L=A_L \cdot N^2&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Der &amp;lt;math&amp;gt;A_L&amp;lt;/math&amp;gt;-Wert ist der Kehrwert des  [http://de.wikipedia.org/wiki/Magnetischer_Widerstand magnetischen Widerstands] der Spule (der Raum um den Drahtwickel) und beinhaltet sowohl die Geometrie als auch das Material des Kerns. Er wird im Datenblatt des Kerns angegeben, kann aber ggf. auch berechnet werden. Wichtig ist zu wissen, dass die Induktivität quadratisch von der Windungszahl abhängt, d.h. bei doppelter Windungszahl erhält man die vierfache Induktivität.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Spulenauswahl ==&lt;br /&gt;
&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
&lt;br /&gt;
Vor allem bei Schaltreglern sind folgende Daten der Spulen wichtig:&lt;br /&gt;
&lt;br /&gt;
* Induktivität&lt;br /&gt;
* Drahtwiderstand&lt;br /&gt;
* Maximaler Strom&lt;br /&gt;
* Sättigungsstrom&lt;br /&gt;
&lt;br /&gt;
==== Induktivität ====&lt;br /&gt;
&lt;br /&gt;
Die Induktivität gibt an, wie schnell sich der Strom bei einer anliegenden Spannung ändert. Üblicherweise berechnet man bei der Dimensionierung die minimale Spulengröße die notwendig ist, damit der Ripple des Stromes einen bestimmten Wert (typisch 50% des Ausgangsstroms bei einem StepDown) nicht überschreitet. Eine zu große Induktivität stört bei einem StepDown Regler meist nicht. Bei einem StepUp dagegen darf diese einen bestimmten Wert nicht überschreiten, damit der Regler die gewünschte Leistung liefern kann (siehe Artikel [[Transformatoren und Spulen#Energiespeicherung in Magnetkernen | Transformatoren und Spulen]]). Die Induktivität ist nicht konstant, sondern ändert sich je nach vorhandenem Kern mehr oder weniger mit Frequenz oder Strom.&lt;br /&gt;
Vor allem Eisenpulverkerne weisen eine ausgeprägte Abhängigkeit der Induktivität von Frequenz und Strom ab. Die Induktivität mit Nennstrom ist daher meist etwas geringer als die Induktivität ohne Stromfluss. Dies sollte bei der Spulendimensionierung beachtet werden. Aufgrund der starken Stromabhängigkeit erfolgt die Angabe der Induktivität bei Spulen mit Eisenpulverkernen häufig auch bei Nennstrom. Ohne Strombelastung liegt die Induktivität etwa Faktor 1,2-2 darüber. Bei Spulen mit Ferritkern dagegen wird die Induktivität meist ohne Strombelastung spezifiziert.&lt;br /&gt;
&lt;br /&gt;
==== Drahtwiderstand ====&lt;br /&gt;
&lt;br /&gt;
Der Drahtwiderstand beeinflusst vor allem den Wirkungsgrad der Schaltung bzw. begrenzt den maximal zulässigen Effektivwert des Stromes, der durch die Spule fließt. Vor allem bei StepUp Wandlern sollte man sich dem Einfluss des Spulenwiderstands bewußt sein: Möchte man z.&amp;amp;nbsp;B. aus 5V eine höhere Spannung erzeugen und verwendet eine Spule mit 2Ω die mit 0,5A angesteuert wird, dann fallen an dem Drahtwiderstand bereits 1Volt ab. Das entspricht 20% der Eingangsspannung!&lt;br /&gt;
&lt;br /&gt;
==== Maximaler Strom ====&lt;br /&gt;
&lt;br /&gt;
Der maximale Strom wird meist anhand der Erwärmung der Spule durch einen bestimmten Strom bestimmt. Oft ist dies der Punkt bei der sich die Spule um z.&amp;amp;nbsp;B. 40°C erwärmt. Häufig wird dies mit Gleichspannung gemessen oder bei einer niedrigen Frequenz deren Effektivwert angegeben wird. Bei Verwendung der Spule in einem Schaltregler reduziert sich dieser Wert daher um bis zu 50%, da einerseits der Sättigungsstrom beachtet werden muss und andererseits auch der Kern innerhalb der Spule durch den Wechselstromanteil sich auch erwärmt. Vor allem Eisenpulverkerne besitzen teilweise recht hohe Kernverluste, die bei einer üblichen Dimensionierung im gleichen Bereich wie die Verluste durch den Drahtwiderstand liegen. Der Spitzenstrom darf diesen Stromwert allerdings übersteigen, solange der Effektivwert bzw. die Erwärmung im zulässigen Bereich liegt.&lt;br /&gt;
&lt;br /&gt;
==== Sättigungsstrom ====&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom ist fast schon das wichtigste Kriterium bei der Spulenauswahl, denn wenn dieser Wert zu gering ist, ist die Spule unbrauchbar für die Schaltung. Wie bei der Induktivität schon geschrieben, ist diese mehr oder weniger abhängig vom Spulenstrom. Der Sättigungsstrom, der bei Spulen für Schaltregler immer angegeben ist, gibt meist den Strom an, bei dem die Induktivität um 10-40% gegenüber der Nenninduktivität gefallen ist. Erhöht man den Strom weiter, nimmt die Induktivität je nach Kernmaterial und mechanischem Aufbau schnell ab, eine Verringerung um den Faktor 10 ist keine Seltenheit.&lt;br /&gt;
&lt;br /&gt;
Der Sättigungsstrom wird bei einem ordentlich dimensionierten Schaltregler nie überschritten werden, da die Strombegrenzung vorher anspricht. Bei einem schlechten Design spricht die Strombegrenzung dagegen erst durch den hohen Strom an, wenn die Spule in die Sättigung geht. Dies führt nur zu unnötigen Verlusten und sollte daher vermieden werden.&lt;br /&gt;
&lt;br /&gt;
Für den [[MC34063]] heißt das konkret, dass der Strombegrenzungswiderstand Rsc auf einen Wert unterhalb des Sättigungsstromes dimensioniert werden muss!&lt;br /&gt;
Da die Induktivität einer Spule in der Sättigung minimal ist, kann diese auch keine weitere Energie speichern. Ein Großteil der in die Spule fließenden Energie wird daher im Drahtwiderstand bzw. im Schalttransistor in Wärme umgesetzt was den Wirkungsgrad stark reduziert und eventuell die Regelung des Schaltreglers durcheinander bringt.&lt;br /&gt;
&lt;br /&gt;
Bei einer typischen Spule für Schaltnetzteile liegt der Sättigungsstrom etwa Faktor 1,5-2 über dem Nennstrom. Dies erlaubt den Nennstrom voll auszunutzen, da der Stromripple bei der üblichen Spulendimensionierung bei etwa 50% des Nennstroms, der Spitzenstrom also bei etwa 1,5x Nennstrom liegt.&lt;br /&gt;
&lt;br /&gt;
Der durch den Begrenzungswiderstand definierte Strom kann auch im Leerlauf ohne Last auftreten, geringe Last schützt also nicht vor Sättigung!&lt;br /&gt;
&lt;br /&gt;
=== Ferritkern vs. Eisenpulverringkern ===&lt;br /&gt;
&lt;br /&gt;
Wenn in einer Spule aufgrund der Anwendung eine nennenswerte Menge Energie gespeichert werden muss, benötigt sie einen Luftspalt. Der Großteil der Energie wird dann nicht mehr direkt im Kernmaterial (welches sättigen kann), sondern im Luftspalt gespeichert. Je größer der Luftspalt, desto mehr Energie kann die Spule speichern, allerdings benötigt man mehr Windungen um eine bestimmte Induktivität zu erreichen. Das gilt für Sperrwandler sowie Speicherdrosseln in Flußwandlern. Echte Trafos, wie z.&amp;amp;nbsp;B. im Übertrager eines Flusswandlers benötigen keinen Luftspalt.&lt;br /&gt;
&lt;br /&gt;
Die in Übertragern oder stromkompensierten Drosseln eingesetzten Ferritringkerne besitzen keinen Luftspalt. Daher können sie kaum Energie speichern, sind daher auch nicht für Speicherdrosseln oder Sperrwandler geeignet. Dafür erreichen diese mit wenigen Windungen schnell Induktivitäten im mH Bereich, wozu andere Spulen etliche 100 Windungen benötigen.&lt;br /&gt;
Eisenpulverringkerne gehen einen anderen Weg: Hier stellen die minimalen, mit Kunststoff gefüllten Zwischenräume zwischen den einzelnen Eisenteilchen bereits den Luftspalt dar, weshalb hier kein zusätzlicher Luftspalt erforderlich ist.&lt;br /&gt;
Die hierfür verwendeten Materialien besitzen allerdings deutlich höhere Ummagnetisierungsverluste als Ferrit, weshalb Eisenpulverkerne üblicherweise nur für niedrige Frequenzen eingesetzt werden. Das am weitesten verbreitete Material sind die gelb-weiß markierten Ringkerne mit dem Materialcode 26. Dieses zeichnet sich vor allem durch die niedrigen Kosten aus. Der Einsatzbereich liegt entweder in Entstördrosseln für Gleichstrom- oder 50Hz Anwendungen oder in Schaltnetzteilen bis 100kHz. Für höhere Frequenzen sind auch bessere, und natürlich teurere Materialien, erhältlich.&lt;br /&gt;
Dieser Spulentyp ist vor allem für Abwärtswandler sinnvoll, da Eisenpulverkerne kein Problem mit hohen DC Strömen, allerdings mit hohen AC Anteilen aufgrund ihrer höheren Kernverluste haben. Da der Stromripple bei diesem Wandlertyp meist kleiner als der DC Strom ist, sind beide Bedingungen erfüllt. Allerdings sollte man beachten, dass die Induktivität einer Eisenpulverringkernspule stark von der Frequenz, dem Strom und auch vom Alter abhängig ist! Je nach Temperatur altern Eisenpulverringkerne mehr oder weniger schnell und die Spule verliert dabei an Induktivität.&lt;br /&gt;
&lt;br /&gt;
Die Dimensionierung einer Eisenpulverringkernspule ist nicht ganz einfach, da hier sehr viele Faktoren beachtet werden müssen. Die Berechnung der Kernverluste ist auch aufwendig, einige Hersteller liefern dafür aber Formeln oder Berechnungsprogramme, so wie z.&amp;amp;nbsp;B. Micrometals:&lt;br /&gt;
[http://www.micrometals.com/software_index.html Berechnungsprogramm für Eisenpulverringkerne].&lt;br /&gt;
Vor allem Anfängern wird aber von der eigenen Dimensionierung von Eisenpulverringkernspulen abgeraten. Etliche Hersteller (wie z.&amp;amp;nbsp;B. Talema) haben fertige Ringkernspulen im Programm die bei verschiedenen Anbietern auch für Normalverbraucher erhältlich sind (z.&amp;amp;nbsp;B. bei elpro, DARISUS und vielen anderen).&lt;br /&gt;
&lt;br /&gt;
Zusammenfassend lässt sich sagen:&lt;br /&gt;
&amp;lt;math&amp;gt;B_{max}&amp;lt;/math&amp;gt; ist bei Eisenpulver höher als bei Ferrit (ca. 0,5T bei Eisenpulver und ca. 0,3T bei Ferrit), was bei gleicher Energiekapazität zu kompakteren Spulen führt. Demgegenüber sind die spezifischen Kernverluste (&amp;lt;math&amp;gt;P_{V_{Kern}} \sim \Delta B \cdot f &amp;lt;/math&amp;gt;) von Eisenpulver höher, so dass es nur bei relativ niedrigen Frequenzen und kleinen Flußdichteänderungen Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
=== Speicherspulen vs. Entstörspulen ===&lt;br /&gt;
&lt;br /&gt;
Nicht selten machen vor allem Anfänger den Fehler, die nächstbeste Spule mit einigermaßen passender Induktivität einzusetzen, ohne darauf zu achten, dass die Spule eigentlich als Entstörspule entwickelt wurde. Dies gilt vor allem für die Funkentstördrosseln der Baureihe MESC/MISC/77A die z.&amp;amp;nbsp;B. bei Reichelt erhältlich sind. Die Schaltungen funktionieren zwar einigermaßen, allerdings ist der Wirkungsgrad deutlich geringer als er es mit einer guten Spule wäre.&lt;br /&gt;
Dies liegt vor allem am Aufbau der Spule sowie deren vorhandenem Kern. Funkentstördrosseln sind dafür ausgelegt von einem niederfrequenten Strom durchflossen zu werden und einen, im Vergleich zum Nutzstrom niedrigen Störstrom mit hoher Frequenz abzublocken. Dadurch entstehen kaum Verluste im Kern, da das Magnetfeld konstant ist bzw. sich durch den niederfrequenten Strom nur sehr langsam ändert. Der Kern ist also nicht dafür ausgelegt verlustarm zu sein, bzw. es ist sogar erwünscht wenn er bei hohen Frequenzen gewisse Verluste aufweist, um Resonanzen innerhalb der Spule zu verhindern. Weiterhin kommt das Problem hinzu, dass aufgrund der großen Länge der Spule die Feldlinien außerhalb der Spule den magnetischen Kreis schließen und sich so ein deutliches Magnetfeld um die Spule herum aufbaut (Streufeld), diese arbeitet quasi wie eine Ferritstabantenne und erzeugt beträchtliche EMV Störungen! Speziell für Schaltnetzteile ausgelegte Spulen besitzen daher nicht selten einen entsprechenden mechanischen Aufbau um die Feldlinien möglichst innerhalb bzw. sehr nahe an der Spule zu halten um diese Störungen zu minimieren.&lt;br /&gt;
&lt;br /&gt;
Besonders bei Spulen mit Eisenpulverringkernen sollte man genau nachschauen ob die Angaben für Entstöranwendungen oder für Schaltnetzteilanwendungen gelten: Hier wird oft die gleiche Spule je nach Verwendungszweck unterschiedlich spezifiziert. Dies liegt daran, dass man bei der Entstöranwendung eben kaum Verluste im Kern hat und somit aufgrund der geringeren Erwärmung der Draht von einem höheren Strom durchflossen werden kann, ohne dass er überhitzt.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele geeigneter Spulen für Schaltregler ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Snt_spulen.jpg|thumb|250x250px|Verschiedene Spulen]]&lt;br /&gt;
&lt;br /&gt;
Von links nach rechts:&lt;br /&gt;
&lt;br /&gt;
*Speicherdrosseln: sehr gut geeignet&lt;br /&gt;
*Ringkernspulen: je nach Anwendung gut bis sehr gut geeignet&lt;br /&gt;
*Widerstandsbauform, Trommelkern: für (sehr) kleine Leistungen geeignet&lt;br /&gt;
*Entstörspulen: schlecht geeignet&lt;br /&gt;
*Stromkompensierte Drosseln: absolut ungeeignet&lt;br /&gt;
&lt;br /&gt;
Für kleinere Schaltregler in beliebiger Konfiguration (also StepUp, StepDown, invertierend) geeignete Spulen sind z.&amp;amp;nbsp;B. die L-PISxx Serien die z.&amp;amp;nbsp;B. bei Reichelt oder Conrad erhältlich sind, oder vergleichbare Spulen.&lt;br /&gt;
Aufgrund des Ferritkerns sind diese Spulen nahezu für alle üblichen Frequenzbereiche geeignet.&lt;br /&gt;
Für Stepdownregler unter 100kHz eignen sich auch Eisenpulverringkernspulen z.&amp;amp;nbsp;B. aus dem Material 26. Vor allem bei höheren Strömen sind diese oft deutlich preiswerter als vergleichbare Spulen mit Ferritkern.&lt;br /&gt;
&lt;br /&gt;
=== Spulen selber wickeln, quick &amp;amp; dirty ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine einfache Methode zur Berechnung von Spulen dargestellt werden. Dabei geht es um Drosseln für Schaltregler (Step up/down) , bzw. Trafos für Sperrwandler (flyback). Diese Spulen müssen Energie speichern, siehe auch den Artikel [[Transformatoren und Spulen#Drosseln | Transformatoren und Spulen]]. Damit hat man schell und einfach seine passende Spule berechnet und gewickelt. Es sei jedoch erwähnt, dass dies nur eine quick &amp;amp; dirty Lösung ist, welche nicht alle Feinheiten von Spulen abdeckt. Für Hobbyanwender wird es aber meist zu befriedigenden Ergebnissen führen.&lt;br /&gt;
&lt;br /&gt;
Vereinfacht kann man sagen, daß die Engergiespeicherfähigkeit einer Spule durch den magnetischen Kern bestimmt wird. Die Windungszahl hat keinen Einfluß! Denn ein und der selbe Kern kann die gleiche Energie bei wenig Windungen/Induktivität und viel Strom (großer Sättigungsstrom) oder vielen Windungen und wenig Strom speichern. Wenn eine Spule mit 20 Windungen bei 1A sättigt, dann sättigt sie bei 200 Windungen schon bei 0,1A. Die Windungszahl hat sich verzehnfach, die Induktivität aber verhundertfacht und der Sättigungsstrom ist auf 1/10tel gesunken. Die Energie bleibt aber gleich, wie die nachfolgende Formel zeigt.&lt;br /&gt;
&lt;br /&gt;
Zunächst muss man die benötigte Speicherkapazität berechnen. nehmen wir als Beispiel einen Step Up Schaltregler, welcher eine Spule von 330µH und 2,5A benötigt. Der Energiegehalt berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot L \cdot I^2 = \frac{1}{2} \cdot 330 \mu H \cdot (2,5A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hätten wir diese Spule mit 20 Windungen auf einen Kern gewickelt, könnten wir jetzt das Gedankenexperiment nachvollziehen. Wir erhöhen die Windungszahl auf 200, daraus resultiert eine Induktivität von 33mH und ein Sättigungsstrom von 250mA. Der maximale Energiegehalt wäre jedoch identisch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E= \frac{1}{2} \cdot 33 mH \cdot (0,25A)^2 = 1,03 mJ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die maximal speicherbare Energie in einer Spule, unabhängig von ihrer Form (Ringkern, Schalenkern) berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E_{max} = \frac{1}{2} \cdot A_L \cdot (\frac{B_{sat} \cdot l_e}{\mu _r \cdot \mu_0})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; Induktivitätskonstante des Kerns &lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, B_{sat}&amp;lt;/math&amp;gt; Sättigungsflußdichte, ca. 0,3T für Ferrit und ca. 0,5T für Eisenpulver, ggf. im Datenblatt nachschauen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_e&amp;lt;/math&amp;gt; effektive magnetische Pfadlänge&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; relative bzw. effektive [http://de.wikipedia.org/wiki/Permeabilität_(Magnetismus) Permeabilität]&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu 0&amp;lt;/math&amp;gt; [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante Permeabilität des Vakuums], &amp;lt;math&amp;gt;\!\, 4 \pi \cdot 10^{-7} \frac{H}{m}= 1,2566 \cdot 10^{-6} \frac{H}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Werte für &amp;lt;math&amp;gt;\!\, A_L, l_e&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; sind im Datenblatt des Kerns zu finden. Daraus kann man zunächst berechnen, ob der Kern überhaupt in Frage kommt. Wie man sieht steht die Permeabilität im Nenner des Bruchs, d.h. Kerne mit geringer Permeabilität können mehr Energie speichern als Kerne mit hoher Permeabilität! Bei Ringkernen muss das Material stimmen, bei Schalenkernen kann man einen Luftspalt einfügen. Pi mal Daumen wird man in der Praxis für Speicherdrosseln ein &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt; von ca. 50-200 anstreben wollen. Der zweite Schritt ist fast zu einfach, die Berechnung der Windungszahl.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N = \sqrt{\frac{L}{A_L}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachten muss man, welcher Drahtdurchmesser dabei möglich ist. Dabei hilft der [http://www.dl0hst.de/mini-ringkern-rechner.htm Mini Ringkern-Rechner]. Dieser rechnet auch gleich die Drahtlänge aus, und im Menü kann man noch die Berechnung des ohmschen WIderstands des Drahtes durchführen. Dabei sollte man mit 80-100°C Drahttemperatur rechnen, um auf der sicheren Seite zu bleiben. Als Orientierung sollte die Stromdichte 2-5A/mm^2 nicht übersteigen, bei einlagig gewickelten Ringkernen und guter Kühlung ggf. auch höher (10 A/mm^2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;S = \frac{4 \cdot I}{\pi \cdot d^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* S Stromdichte&lt;br /&gt;
* d Drahtdurchmesser&lt;br /&gt;
&lt;br /&gt;
=== Kerne recyceln ===&lt;br /&gt;
&lt;br /&gt;
Oft werden Kerne, vor allem Ringkerne, aus alten Netzteilen recycelt. Zu denen hat man kein Datenblatt. Aber auch hier gibt es Abhilfe. Man wickelt auf den Kern ca. 10..30 Windungen (mehr Windungen verringern den Messfehler) mit dünnem Draht, möglichst über den ganzen Wickelbereich bzw. Ringkern verteilt, und misst mittels LC-Meter die Induktivität. Damit kann man den &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt;-Wert berechnen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac{L}{N^2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die mittlere magnetische Pfadlänge ist beim Ringkern einfach der mittlere Umfang, berechenbar durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_e = \frac {\pi}{2} \cdot (d_a + d_i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_a &amp;lt;/math&amp;gt; Außendurchmesser&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, d_i &amp;lt;/math&amp;gt; Innendurchmesser&lt;br /&gt;
&lt;br /&gt;
Bei anderen Kernformen muss man die mittlere magnetische Pfadlänge kreativ schätzen, indem man gedanklich in den Schenkeln mittig eine geschlossene (Feld)Linie zieht. Damit kann man &amp;lt;math&amp;gt;\!\, A_L&amp;lt;/math&amp;gt; auch näherungsweise berechnen. Dazu muss man unterscheiden, ob der Kern einheitlich aus einem Material besteht oder einen Luftspalt hat.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_L = \frac {1}{R_m} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{ges} = R_{Eisen} + R_{Luftspalt} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Eisen} = \frac {l_{Eisen}}{\mu_r \cdot \mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_{Luftspalt} = \frac {l_{Luftspalt}}{\mu_0 \cdot A} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_m &amp;lt;/math&amp;gt;: Magnetischer Widerstand&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{ges} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des gesamten Kerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Eisen} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Eisenkerns&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{Luftspalt} &amp;lt;/math&amp;gt;: Magnetischer Widerstand des Luftspalts&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, A &amp;lt;/math&amp;gt;: magnetische Querschnittsfläche&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Eisen} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Eisen&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, l_{Luftspalt} &amp;lt;/math&amp;gt;: magnetische Feldlinienlänge im Luftspalt&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, \mu_0 &amp;lt;/math&amp;gt;: [http://de.wikipedia.org/wiki/Magnetische_Feldkonstante magnetische Feldkonstante] = 1,257e-6&lt;br /&gt;
&lt;br /&gt;
Bleibt als letzte Herausforderung &amp;lt;math&amp;gt;\!\, \mu _r&amp;lt;/math&amp;gt;. Das berechnet sich aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu _r = \frac{L \cdot l_e}{N^2 \cdot A \cdot \mu _0}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Formel stimmt in erster Linie für [http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Ringspule Ringkerne], bei anderen Kernformen wird der Fehler etwas größer. Zur einfachen Anwendung gibt es alle Formeln in einer praktischen [[media:Drosseln.xls | Exceltabelle]]. Ausserdem gibt es den sehr praktischen [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner], welcher die Berechung vieler verschiedener Kerne sehr schnell ermöglicht. Als letzte Fomel sei die für den Sättigungsstrom genannt, welche direkt den meist gesuchten Wert liefert. Je nach bekannten Daten kann man sie mit verschiedenen Formeln ausrechnen, welche equivalent sind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;I_{sat}= \frac{B_{max} \cdot l_e}{N \cdot \mu _r \cdot \mu _0} = \frac{B_{max} \cdot A}{N \cdot A_L} = \frac{B_{max} \cdot A \cdot N}{L}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Transformatoren und Spulen]]&lt;br /&gt;
* [[Platinen-Induktivität]]&lt;br /&gt;
* [[MC34063]]&lt;br /&gt;
* [http://www.mikrocontroller.net/wikifiles/9/9b/Drosseln.xls Exceltabelle] zur Drosselberechnung&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/217508?goto=2171452#2169791 Forumsbeitrag]: Grundlagenfrage zu Speicherspulen - Luftspalt&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/313893?goto=3393636#3393349 Forumsbeitrag]: Drossel für 200A/100Hz-Schweissgerät&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372156#4205430 Forumsbeitrag]: Energie einer Spule zurückgewinnen&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Induktivit%C3%A4t_%28Bauelement%29 Wikipedia: Induktivität]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
*Tolles [http://www.we-online.de/web/de/passive_bauelemente_-_standard/toolbox_pbs/Component_Selector_1.php Berechnungsprogramm] (Link tot) für Spulen in Schaltreglern der Firma Würth&lt;br /&gt;
*[http://schmidt-walter.eit.h-da.de/smps/smps.html Dimensionierung von Spulen in Schaltreglern]&lt;br /&gt;
* [http://www.dl0hst.de/mini-ringkern-rechner.htm Ringkernrechner]&lt;br /&gt;
* [http://www.dos4ever.com/flyback/flyback.html Flyback Converter for dummies], engl. Gute Seite über Sperrwandler und Drosselspulen für Nixieröhren mit einfacher Messung des Sättigungsstroms&lt;br /&gt;
* [http://www.sprut.de/electronic/switch/lc/lc.html Spulen und Kondensatoren ausmessen]&lt;br /&gt;
* [http://elm-chan.org/works/lchk/report.html Power Inductor Checker] auf ELM ChaN, engl.&lt;br /&gt;
* Hersteller&lt;br /&gt;
** [http://www.amidon.de/ Amidon]&lt;br /&gt;
** [http://www.ferroxcube.com/ Ferroxcube]&lt;br /&gt;
** [http://www.micrometals.com/ Micrometals]&lt;br /&gt;
** [http://www.epcos.de Epcos], ehemals Siemens&lt;/div&gt;</summary>
		<author><name>172.26.36.196</name></author>
	</entry>
</feed>