<?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=Longri</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=Longri"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Longri"/>
	<updated>2026-04-12T08:53:10Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Infineon_XMC_2Go&amp;diff=101942</id>
		<title>Infineon XMC 2Go</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Infineon_XMC_2Go&amp;diff=101942"/>
		<updated>2020-04-25T12:48:19Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das Infineon XMC 2GO ist ein Entwicklungsboard für den ARM Cortex M0-basierten Mikrocontroller [https://www.mikrocontroller.net/part/XMC1100 XMC1100] (64 kB Flash, 16 kB RAM). Auf dem Board ist ein weiterer Controller der über USB Programmierung &amp;amp; Debugging ermöglicht, und die serielle UART-Schnittstelle des XMC1100 als virtuellen COM Port bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Das XMC 2Go eignet sich besonders für Ein- und Umsteiger von 8-Bit-Controllern, da die Hardware sehr übersichtlich ist, Kommunikation mit dem PC auf einfache Weise über ein UART stattfinden kann, und es durch seine geringe Größe gut zum Einsatz auf einem [[Breadboard]] geeignet ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:XMC 2Go mediu 002.jpg|Das Board im Detail&lt;br /&gt;
Datei:XMC 2Go hand.jpeg|Größenvergleich&lt;br /&gt;
Datei:XMC 2Go breadboard-1.jpeg|Anwendungsbeispiel mit [[Breadboard]]&lt;br /&gt;
Datei:XMC2GO.PNG|Komponenten und Abmessungen&lt;br /&gt;
Datei:XMC 2Go Schematic.svg|Schaltplan&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den einfachsten Einstieg bietet die Entwicklungsumgebung [http://www.infineon.com/cms/en/product/microcontrollers/development-tools,-software-and-kits/dave-tm-3-%2013-auto-code-generation-and-free-tools/channel.html?channel=db3a30433580b37101359f8ee6963814 DAVE]. DAVE basiert auf Eclipse CDT, und enthält neben dem GNU C Compiler (GCC) die für das Flashen und Debuggen des Mikrocontrollers nötigen Tools. Grundsätzlich lässt sich allerdings auch jede andere Entwicklungsumgebung (bzw. jeder Compiler verwenden), die Code für Cortex M0 erzeugen kann.&lt;br /&gt;
&lt;br /&gt;
Von Keil gibt es kostenlos eine spezielle Version der Entwicklungsumgebung MDK für XMC1000-Controller, welche im Gegensatz zur normalen MDK Lite-Version bis zu 128 kB Code unterstützt [http://www2.keil.com/infineon/mdk/].&lt;br /&gt;
&lt;br /&gt;
Die Fa. iSYSTEM stellt neben einem Debug-plugin für Dave mit winIDEAOpen eine kostenlose Entwicklungsumgebung für Cortex-M MCU&#039;s zur Verfügung[http://www.isystem.com/download/winideaopen]. Diese arbeitet unlimitiert mit dem GCC und für die Keil bzw. IAR Compiler bis zu 32K Code. Auf der winIDEAOpen Seite steht auch ein Beispielpaket für die XMC1000 und XMC4000 Familien zum Download bereit. Neben den Infineon EasyStart und RunningLEDs Beispielen beinhaltet dies auch bereits ein FreeRTOS Projekt. winIDEAOpen enthält einen Kernel plugin für FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
* [http://www.infineon.com/dgdl/xmc1100_ds_v1.2_2013_12.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a30433d1d0bbe013d256b60160b7f&amp;amp;ack=t XMC1100 Datenblatt]&lt;br /&gt;
* [http://www.infineon.com/dgdl/xmc1100_rm_v1+0_2013_03.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a30433cfb5caa013d1600856033eb&amp;amp;ack=t XMC1100 Reference Manual]&lt;br /&gt;
* [http://www.infineon.com/dgdl/Board_Users_Manual_XMC_2Go_Kit_with_XMC1100_R1.0.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a3043444ee5dc014453d6c75078c6&amp;amp;ack=t XMC 2Go Manual]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.ehitex.de/application-kits/infineon/471/xmc-2go Hitex (5.00€)]&lt;br /&gt;
* [http://shop.myavr.de/Aktionen/XMC%202Go.htm?sp=article.sp.php&amp;amp;artID=200128 MyAVR (6€)]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://mikrocontroller.bplaced.net/wordpress/?page_id=580 Schritt-für-Schritt-Anleitung und Beispielprojekt für Keil µVision]&lt;br /&gt;
* [https://www.longrisoft.de/ucontroller-technik/infinion-xmc/xmc2go Eine weitere Seite zur Entwicklung mit dem XMC 2Go unter Keil µVison]&lt;br /&gt;
* [http://eleceng.dit.ie/frank/arm/BareMetalXMC2Go/index.html Programmierung des XMC 2Go unter Linux ohne IDE mittels Makefile und Seggers JLink für Linux]&lt;br /&gt;
[[Category:ARM]]&lt;br /&gt;
[[Category:Infineon XMC]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Mcruler&amp;diff=84536</id>
		<title>Mcruler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Mcruler&amp;diff=84536"/>
		<updated>2014-08-18T12:16:07Z</updated>

		<summary type="html">&lt;p&gt;Longri: /* Vorbestellungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Infos ==&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Community Variante eines Lineals entstehen, nach Vorbild des µRuler von EEVBlog/Dave Jones:&lt;br /&gt;
&lt;br /&gt;
[[Datei:uRuler.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktueller Stand:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://raw.github.com/maugsburger/ucruler/master/ucruler_top.png Top]&lt;br /&gt;
&lt;br /&gt;
[https://raw.github.com/maugsburger/ucruler/master/ucruler_bot.png Bottom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thread im Forum:&#039;&#039;&#039; http://www.mikrocontroller.net/topic/313642&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt-Seite auf GitHub:&#039;&#039;&#039; https://github.com/maugsburger/ucruler&lt;br /&gt;
&lt;br /&gt;
== Spezifikationen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Maße             || 200 x 32 mm&lt;br /&gt;
|-&lt;br /&gt;
| PCB              || 0.5mm oder 0.8mm FR4 &#039;&#039;&#039;1-Layer&#039;&#039;&#039; 35µ (TBD)&lt;br /&gt;
|-&lt;br /&gt;
| Oberfläche       || gold (ENIG)&lt;br /&gt;
|-&lt;br /&gt;
| Lötstop          || beidseitig, Farbe TBD&lt;br /&gt;
|-&lt;br /&gt;
| Bestückungsdruck || beidseitig, weiß&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Preise&#039;&#039;&#039;     || ca. 2 € / MOQ: 5 Stück oder vielfaches von 3 (TBD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Farbe des Lötstopplackes ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grün    |&lt;br /&gt;
gelb    |&lt;br /&gt;
schwarz |24&lt;br /&gt;
weiß    |1&lt;br /&gt;
rot     |10&lt;br /&gt;
blau    |5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
einfach bitte die Zahl hinter die Farbe, die euch als Lötstopplack am besten gefallen würde, erhöhen.&lt;br /&gt;
&lt;br /&gt;
== minimale Schriftgröße ==&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/attachment/196856/ucruler.pdf ausdrucken und die eigenen Augen testen.&lt;br /&gt;
&lt;br /&gt;
Dann bitte eintragen, welche Größe gerade noch lesbar ist. Die normale Schrift wird eins größer werden, aber falls mal wirklich kein Platz mehr sein sollte würde ich darauf zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1,8 |&lt;br /&gt;
1,6 |&lt;br /&gt;
1,4 |&lt;br /&gt;
1,2 | 6&lt;br /&gt;
1,0 | 6&lt;br /&gt;
0,8 |&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anpassungen/Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
Bitte einfach die Zahl bei + oder - erhöhen oder gar nichts eintragen (wichtig, brauch ich nicht, egal), so dass am Ende ein Stimmungsbild entsteht. Daraus ergeben sich dann Prioritäten, in deren Reihenfolge der Platz aufgefüllt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Wertung !! Beschreibung&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Formelsamlung&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Vielleicht könnte man auch ein paar Formeln unterbringen die oft verwendet werden und trotzdem gerne vergessen werden.&lt;br /&gt;
&lt;br /&gt;
Vorschläge [[Mcnet-ruler#Vorschl.C3.A4ge_f.C3.BCr_Formelsammlung|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Leiterbahnstärken &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1| 1&lt;br /&gt;
2| 21&lt;br /&gt;
3|&lt;br /&gt;
4|&lt;br /&gt;
5|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Bitte genau eine Möglichkeit mit + wählen:&lt;br /&gt;
# Bahnen in mm und mil, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mm, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mil, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mm, beschriftet in mm&lt;br /&gt;
# Bahnen in mil, beschriftet in mil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Inches in mm &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Bitte generell Inches in mm umrechnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Isolationsabstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 29&lt;br /&gt;
-|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Die Tabelle für Isolationsabstände (Luft-/Kriechstrecken) ggf. an in Deutschland geltende Normen anpassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kabel-Widerstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 15&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Wenn noch Platz ist, wäre eine Tabelle für Kabel-Widerstände gut (sortiert nach gängigen Querschnitten, pro m oder 10m Kabellänge).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Widerstands-Farbcode-Tabelle &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 16&lt;br /&gt;
-| 18&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Rückseite Widerstands-Farbcode-Tabelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  LM317 &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 23&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Tabelle für LM317-Widerstandswerte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kapazitäts-/Induktivitätsbelag &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 9&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Tabellen zum Kapazitäts-/Induktivitätsbelag von Leiterbahnen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Wellenwiderstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 9&lt;br /&gt;
-| 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Richtwerttabellen für Wellenwiderstände, Micro Striplines (insbes. für USB/Ethernet Routing), etc. auf gängigen PCBs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Wechselstrom Ueff, Upp &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 3&lt;br /&gt;
-| 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Wenn immer noch Platz ist: Tabelle zur Umrechnung von Wechselstromgrößen (Ueff, Upp für gängige Trafowicklungen, 110V, 230V, 240V, 400V, 600V)&lt;br /&gt;
&lt;br /&gt;
Anm.: Sinnvoll für gängige Elko-Spannungen 16VDC, 25VDC, 50VDC, 63VDC, 80VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  f/T-Umrechnung &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 4&lt;br /&gt;
-| 19&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Und wenn dann noch Platz wäre: Tabelle mit f und T für gängige µC-Frequenzen und Samplingraten&lt;br /&gt;
&lt;br /&gt;
Anm.: Sinnvoll und platzsparend, wenn wie vorgeschlagen für einige wenige gängige Werte (z.B. &amp;quot;8 MHz / 125 ns&amp;quot; und &amp;quot;48 kHz / 20,8 µs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  PCB-Kühlkörper &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Was auch interessant wäre, ist eine Tabelle für Leiterplattenkühlkoerper. K/W pro cm² für div. Kupferstärken!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ SMD-Footprints R &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 30&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Die Idee mit den SMD Footprints auf der Rückseite finde ich auch sehr gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ SMD-Größen R &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 19&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Größen (im Sinne von Maßen) von SMD Widerständen ist auch manchmal ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓  SMD-Footprints ElKo &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 25&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Zudem wäre der Footprint von SMD Elkos wenn möglich auf der Rückseite auch ganz praktisch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓  SMD-Größen Elko &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 22&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Größen (im Sinne von Maßen) von SMD Elkos ist auch manchmal ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  E-Reihen &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 14&lt;br /&gt;
-| 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Abdruck der E24-Reihe mit Markierungen für E12, E6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  TQFP, SOP und SOT Footprint &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 21&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Der Footprint von TQFP, SOT und SOP Bauteilen auf der Rückseite könnte sich auch als nützlich erweisen&lt;br /&gt;
&lt;br /&gt;
Vorschläge für Footprints [[Mcnet-ruler#Vorschl.C3.A4ge_f.C3.BCr_Footprints|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ THT Lochreihe &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 12&lt;br /&gt;
-| 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Ebenso eine kurze Lochreihe im 2,54mm-Raster für THT.&lt;br /&gt;
&lt;br /&gt;
Anm.: Bitte eine lange Lochreihe ähnlich wie von [http://www.mikrocontroller.net/topic/313642#3389830 Chris gezeigt].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Kleines Namensfeld &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 22&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Damit die Lineale nicht &amp;quot;verschwinden&amp;quot;, zum selbst beschriften.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Tabelle Leitfähigkeit/spezifischer Widerstand &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit der Leitfähigkeit/spezifischer Widerstand von z.B. Kupfer, Aluminium, Eisen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Temperaturkoeffizent &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 4&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Temperaturkoeffizenten (alpha in 1/k) von z.B. Kupfer, Aluminium, Eisen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓ Transistor-Schaltungssymbole &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 10&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Aufdruck von Transistor-Schaltungssymbolen (bipolar/FET) und THT-LEDs, [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg siehe hier]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Pin-Beschriftung für einige Footprints &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 8&lt;br /&gt;
-| &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Einige Footprints (z.B. TO-92, SOT-23 etc.) sollten Beschriftungen für BCE/GDS für gängige Transistortypen bekommen, siehe [http://dmohankumar.files.wordpress.com/2011/05/table-showing-the-pins-of-common-transistors.pdf hier] und [http://www.radiomuseum.org/forum/transistor_connections.html hier]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kabelschablone&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 6&lt;br /&gt;
-| &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Ähnlich dem [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg Adafruit Ruler], aber als Tabelle in AWG und mm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Seitenansicht bedrahtetes LED Gehäuse&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 2&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Somit kann man auch bei einer verbauten LED (oder entlöteten LED) mit einem Blick von der Seite erkennen, welcher Pin Anode und welche Kathode ist&lt;br /&gt;
Ähnlich dem [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg Adafruit Ruler], unter &amp;quot;AWG 13&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für Formelsammlung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Wertung !! Beschreibung&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| C/L &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/d/5/5/d550b39c146790974bae8a9a2e1830fb.png&lt;br /&gt;
&lt;br /&gt;
http://upload.wikimedia.org/math/0/9/a/09ab806c34320b749ddadca35a32fc8a.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Elektrische_Kapazit%C3%A4t#Kapazit.C3.A4t_bestimmter_Leiteranordnungen&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Zylinderspule&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Eckfrequenz RC-Glied HP/LP &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/5/d/1/5d1295e236a3c860416fbdb9940fb043.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/RC-Glied#Tiefpass&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| I(t) / U(t) für C/L &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 2&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/0/b/9/0b93b4a1ce2832629d42509b43184894.png&lt;br /&gt;
&lt;br /&gt;
http://upload.wikimedia.org/math/9/e/6/9e6ea02a73a08f263454786c1c9d7e44.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Zeitkonstante#Kondensator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Wärmewiderstand  &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/8/7/b/87b98460f0867373471f540167591ebb.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/W%C3%A4rmewiderstand#Definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für Footprints ==&lt;br /&gt;
&lt;br /&gt;
Vorschläge für Footprints auf der Rückseite. Es werden die Pads in Kupfer ausgeführt (also theoretisch lötbar), der Rand des Bauteils im Bestückungsdruck.&lt;br /&gt;
&lt;br /&gt;
* http://www.fairchildsemi.com/package/&lt;br /&gt;
* http://www.maximintegrated.com/design/packaging/&lt;br /&gt;
* http://www.infineon.com/cms/de/product/technology/packages/index.html&lt;br /&gt;
* http://www.nxp.com/packages&lt;br /&gt;
* http://www.topline.tv/Drawings/PDF/QFP/TQFP_Library.pdf&lt;br /&gt;
* http://www.linear.com/designtools/packaging/&lt;br /&gt;
* http://ww1.microchip.com/downloads/en/PackagingSpec/00049AR.pdf&lt;br /&gt;
&lt;br /&gt;
=== Standardisierungen === &lt;br /&gt;
* http://www.jedec.org/category/technology-focus-area/registered-outlines-jep95&lt;br /&gt;
&lt;br /&gt;
=== Inspirationen ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [http://www.adafruit.com/blog/2013/10/11/new-product-adafruit-pcb-ruler-6/ Adafruit Ruler].&lt;br /&gt;
&lt;br /&gt;
http://www.adafruit.com/images/large/1554bottom_LRG.jpg&lt;br /&gt;
&lt;br /&gt;
=== Widerstände &amp;amp; Kondensatoren ===&lt;br /&gt;
Maße siehe z.B. http://www.panasonic.com/industrial/components/pdf/AOA0000CE1.pdf&lt;br /&gt;
&lt;br /&gt;
* ✓ 0201 (wenn der Fertiger des Lineal das kann...)&lt;br /&gt;
* ✓ 0402&lt;br /&gt;
* ✓ 0603&lt;br /&gt;
* ✓ 0805&lt;br /&gt;
* ✓ 1206&lt;br /&gt;
* ✓ 1210&lt;br /&gt;
* 1812 (wenn noch Platz ist)&lt;br /&gt;
* 2010 (wenn noch Platz ist)&lt;br /&gt;
* 2512 (wenn noch Platz ist)&lt;br /&gt;
&lt;br /&gt;
=== Transistoren &amp;amp; ICs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SC-70&lt;br /&gt;
* ✓ SOT-23&lt;br /&gt;
* ✓ SOT-23-6&lt;br /&gt;
* ✓ SOT-89&lt;br /&gt;
* ✓ SOT-223&lt;br /&gt;
* ✓ TO-252 / DPAK http://www.fairchildsemi.com/dwg/TO/TO252A03.pdf&lt;br /&gt;
* ✓ TO-263 / D2PAK http://www.fairchildsemi.com/dwg/TO/TO263A02.pdf&lt;br /&gt;
&lt;br /&gt;
=== Dioden &amp;amp; LEDs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SMA / DO-214AC http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ SMB / DO-214AA http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ SMC / DO-214AB http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ Melf http://www.cdil.com/package/do213ab_dwng.pdf&lt;br /&gt;
* ✓ MiniMelf http://www.cdil.com/package/sod_80c.pdf&lt;br /&gt;
* ✓ MicroMelf http://www.vishay.com/docs/20003/smm0102.pdf&lt;br /&gt;
* ✓ PLCC-4 / 3528 http://catalog.osram-os.com/media/_en/Graphics/00042269_0.pdf&lt;br /&gt;
* ✓ PLCC-6 / 5050 http://ledversand24.de/media/pdf/ws2812preliminary51337f1c83131.pdf&lt;br /&gt;
* ✓ SOD323/SC76 http://www.infineon.com/dgdl/SOD323-Package_Overview.pdf?folderId=db3a30431936bc4b011952aab84f3bbe&amp;amp;fileId=db3a30431936bc4b011952beed653be3&lt;br /&gt;
&lt;br /&gt;
=== ICs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SOIC-24, 3.9mm-Body, ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
* ✓ SOIC-24, 7.5mm-Body, ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
Diese beiden SOIC-Breiten wenn möglich in einem Footprint zusammenfassen, also z.B. die linken Pins gemeinsam verwenden. Die beiden&lt;br /&gt;
Breiten dann über Bestückungsdruck-Linien kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
* ✓ SSOP-28, 5,3mm-Body, 0,65mm Pitch. Das ist die gängigste Variante, es gibt aber leider auch einige Abweichler mit anderem Pitch und Bodybreite die sich auch SSOP nennen :(&lt;br /&gt;
* TSSOP-28, 4,4mm-Body, 0,65mm Pitch&lt;br /&gt;
Auch bei diesen beiden: ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24,28 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
&lt;br /&gt;
Für die Maße: http://www.microchip.com/stellent/groups/techpub_sg/documents/packagingspec/en012702.pdf&lt;br /&gt;
&lt;br /&gt;
Wenn noch Platz:&lt;br /&gt;
* TQFP32, 0.8mm Pitch http://www.microchip.com/stellent/groups/techpub_sg/documents/packagingspec/en012702.pdf&lt;br /&gt;
* TQFP48 / LQFP48, 0.5mm Pitch http://www.nxp.com/documents/outline_drawing/sot313-2_po.pdf&lt;br /&gt;
* ✓ QFN32, 0.5mm Pitch http://www.linear.com/docs/38749&lt;br /&gt;
&lt;br /&gt;
== Vorbestellungen ==&lt;br /&gt;
Interessenten tragen sich bitte &#039;&#039;&#039;am Ende der Liste ein und aktualisieren den Zwischenstand&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
Mindestbestellmenge ist nach aktuellem Stand 5 Stück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10  Dominik S. (dasd)&lt;br /&gt;
 5  Dennis X. (debegr92) &lt;br /&gt;
 2  Arne M. (armut) &lt;br /&gt;
 3  Benedikt K. (benek) &lt;br /&gt;
10  avr avr (colombo010) &lt;br /&gt;
 5  Jürgen (Gast) &lt;br /&gt;
 5  Uwe ... (uwegw) &lt;br /&gt;
15  Rene H. (promeus) &lt;br /&gt;
 5  hum (Gast) &lt;br /&gt;
 3  Werner A. (homebrew) &lt;br /&gt;
 2  Frank Werner (wesoft)&lt;br /&gt;
 5  Jan B. (diphthong) &lt;br /&gt;
 5  Thomas J. (tom16) &lt;br /&gt;
15  Felix Schulze (pepe) &lt;br /&gt;
 3  Patrick Berninghaus (patricck) &lt;br /&gt;
 5  B. B. (morgenmuffel) &lt;br /&gt;
 5  Bernd D. (bernd_d56)&lt;br /&gt;
 5  Daniel (Gast) &lt;br /&gt;
 5  Jan Dressler (keyman) &lt;br /&gt;
 3  Gerd E. (robberknight) &lt;br /&gt;
10  Ralf Engelhardt (r_e)&lt;br /&gt;
 5  D. S. (compuvidy) &lt;br /&gt;
 5  Michael R. (elektr-hobbyist) &lt;br /&gt;
10  Samuel Hildebrandt (musicsammy) &lt;br /&gt;
 5  Martin H. (marrtn) &lt;br /&gt;
 5  Michael Becker (mich_at_el) &lt;br /&gt;
 5  Marco André (marphy) &lt;br /&gt;
 5  Chris (Gast) &lt;br /&gt;
 5  mr. mo (Gast) &lt;br /&gt;
 5  Martin R. (martin84) &lt;br /&gt;
 3  J. S. (voochee) &lt;br /&gt;
 5  Andreas H. (ahz) &lt;br /&gt;
 5  Ronny Spiegel (duselbaer) &lt;br /&gt;
10  G. L. (lele) &lt;br /&gt;
 3  Axel Jäger (axeljaeger) &lt;br /&gt;
 5  Stephan G. (stephan_g35)&lt;br /&gt;
 5  Gibts Ne (schneeblau) &lt;br /&gt;
 5  Sascha G. (sascha-g) &lt;br /&gt;
 5  Richard Zink (Gast) &lt;br /&gt;
 5  Stephan K. (nightowl) &lt;br /&gt;
 5  Martin Wende (Firma: fritzler-avr.de) (fritzler) &lt;br /&gt;
 5  Jörg S. (Gast)&lt;br /&gt;
10  J. L. (lindenbaum) &lt;br /&gt;
10  Jan M. (mueschel) &lt;br /&gt;
 5  Bad Urban (bad_urban) &lt;br /&gt;
 5  Daniel M. (amad)&lt;br /&gt;
 5  Sascha S. (dec) &lt;br /&gt;
 5  A. S. (rava) &lt;br /&gt;
10  Jens M. (jens-m) &lt;br /&gt;
 5  Sascha E. (baracuss) &lt;br /&gt;
 5  avr avr (colombo010) &lt;br /&gt;
 5  Michael B. (michael_b25) &lt;br /&gt;
10  Thomas Sch. (doschi_) &lt;br /&gt;
10  K. J. (theborg0815)&lt;br /&gt;
 5  Daniel C. (cecky) &lt;br /&gt;
 3  Philipp E. (erlang) &lt;br /&gt;
 5  Thorsten Ostermann (Firma: mechapro GmbH) (ostermann)&lt;br /&gt;
10  vophatec (Manuel Z.)&lt;br /&gt;
 3  Carsten Peschke &lt;br /&gt;
 2  J.O. (Gast)&lt;br /&gt;
 5  D. Braun (garag)&lt;br /&gt;
 5  Michael.S. (michael0307)&lt;br /&gt;
 5  Didi S. (kokisan2000)&lt;br /&gt;
 5  Thomas L. (ics1702)&lt;br /&gt;
 5  Sebastian Engel (s-engel)&lt;br /&gt;
 5  Peter Sieg (petersieg)&lt;br /&gt;
 5  Martin S. (martin_s91)&lt;br /&gt;
 5  Manuel Steiner (steinerhippo)&lt;br /&gt;
 5  Nico B. (vegetico)&lt;br /&gt;
 5  Axel P. (axel_p)&lt;br /&gt;
 5  Mh. M. (mhm)&lt;br /&gt;
 5  Friedrich K (*)&lt;br /&gt;
 5  O.Hagendorf (ohagendorf)&lt;br /&gt;
10  Jonas K. (jonas k)&lt;br /&gt;
 5  Sam .. (sam1994)&lt;br /&gt;
10  Jens A. (Nepi) (erhöht von 5 auf 10 am 15.1.2014)&lt;br /&gt;
 5  Tom Z. (tom_z)&lt;br /&gt;
 5  Sven K. (herbivore)&lt;br /&gt;
 5  Steffen A (*)&lt;br /&gt;
 3  Stephan Henning (stephan-) notfalls auch 5&lt;br /&gt;
 5  Benjamin Jung (benjamin_j)&lt;br /&gt;
 5  Kai D. (kai1972)&lt;br /&gt;
 5  Gerd B. (bertr2d2)&lt;br /&gt;
 5  Martin G. (magoe)&lt;br /&gt;
 5  Stefan K. (oxid)&lt;br /&gt;
 5  S. Q. (frido2001)&lt;br /&gt;
 5  D. K. (elektricar)&lt;br /&gt;
 5  Markus C. (ljmarkus)&lt;br /&gt;
 5  Alexander K. (minjaman)&lt;br /&gt;
10  Dominic A. (neo123)&lt;br /&gt;
 3  Oliver S. (Oliver_S) notfalls auch 5&lt;br /&gt;
 5  Tobias S. (x12z34)&lt;br /&gt;
 5  Frank F. (frohf)&lt;br /&gt;
 5  Kalle S. (kallebmw)&lt;br /&gt;
 5  Bjoern G. (tueftler)&lt;br /&gt;
 5  Akif D. (adnc)&lt;br /&gt;
 5  Rico T. (tyrann410)&lt;br /&gt;
 5  Axel (axelg)&lt;br /&gt;
10  Elmar N. (zulue)&lt;br /&gt;
 5  Frank G. (frank_g53)&lt;br /&gt;
15  pko pprasch (pkopprasch)&lt;br /&gt;
 5  Alexander D. (Gast)&lt;br /&gt;
 5  Marius B. (majus)&lt;br /&gt;
20  F.FO (foldi)&lt;br /&gt;
 5  Stefan P. (nett_flanders)&lt;br /&gt;
 5  Carsten Wille (eagle38106)&lt;br /&gt;
 5  Steffen Schröter (stesch99)&lt;br /&gt;
 5  Guido C. (guidoanalog)&lt;br /&gt;
 5  Yann L. (ylere)&lt;br /&gt;
 5  Benedikt R. (da_miez)&lt;br /&gt;
 5  Thorsten F. (tfol)&lt;br /&gt;
 3  Oliver H. (oliver h) notfalls auch 5&lt;br /&gt;
 2  Zoidberg (Gast) 5 nur extrem ungern&lt;br /&gt;
 5  Markus M (mmax)&lt;br /&gt;
10  Maik Fox (sabuty)&lt;br /&gt;
 5  DL9RDW (Bernhard Schröcker)&lt;br /&gt;
10  Fer T. (fer_t)&lt;br /&gt;
 5  Einhart (einhart)&lt;br /&gt;
 5  Teo Derix (teoderix)&lt;br /&gt;
 3  Volker R. (Pcl86) wenn&#039;s nicht anders geht auch 5&lt;br /&gt;
 5  John (karabka)&lt;br /&gt;
 5  Matthias N. (nippey)&lt;br /&gt;
 5  David Z. (hawk_2k)&lt;br /&gt;
 5  Volker G. (voga2073)&lt;br /&gt;
20  Stefan Wagner (dl6dx)&lt;br /&gt;
20  Tobias Hochgürtel (tobias_h94)&lt;br /&gt;
10  Matthias H. (kaplic)&lt;br /&gt;
 5  Juli V. (torten_juli)&lt;br /&gt;
 5  Edu B.  (edu)&lt;br /&gt;
 5  Joe G. (Feinmechaniker)&lt;br /&gt;
10  Peter (elektronik24)&lt;br /&gt;
10  Nico S. (longri)&lt;br /&gt;
-------------------------------------&lt;br /&gt;
789 ZWISCHENSTAND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Mcruler&amp;diff=84535</id>
		<title>Mcruler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Mcruler&amp;diff=84535"/>
		<updated>2014-08-18T12:14:47Z</updated>

		<summary type="html">&lt;p&gt;Longri: /* Anpassungen/Ergänzungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Infos ==&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Community Variante eines Lineals entstehen, nach Vorbild des µRuler von EEVBlog/Dave Jones:&lt;br /&gt;
&lt;br /&gt;
[[Datei:uRuler.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktueller Stand:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://raw.github.com/maugsburger/ucruler/master/ucruler_top.png Top]&lt;br /&gt;
&lt;br /&gt;
[https://raw.github.com/maugsburger/ucruler/master/ucruler_bot.png Bottom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thread im Forum:&#039;&#039;&#039; http://www.mikrocontroller.net/topic/313642&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt-Seite auf GitHub:&#039;&#039;&#039; https://github.com/maugsburger/ucruler&lt;br /&gt;
&lt;br /&gt;
== Spezifikationen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Maße             || 200 x 32 mm&lt;br /&gt;
|-&lt;br /&gt;
| PCB              || 0.5mm oder 0.8mm FR4 &#039;&#039;&#039;1-Layer&#039;&#039;&#039; 35µ (TBD)&lt;br /&gt;
|-&lt;br /&gt;
| Oberfläche       || gold (ENIG)&lt;br /&gt;
|-&lt;br /&gt;
| Lötstop          || beidseitig, Farbe TBD&lt;br /&gt;
|-&lt;br /&gt;
| Bestückungsdruck || beidseitig, weiß&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Preise&#039;&#039;&#039;     || ca. 2 € / MOQ: 5 Stück oder vielfaches von 3 (TBD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Farbe des Lötstopplackes ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grün    |&lt;br /&gt;
gelb    |&lt;br /&gt;
schwarz |24&lt;br /&gt;
weiß    |1&lt;br /&gt;
rot     |10&lt;br /&gt;
blau    |5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
einfach bitte die Zahl hinter die Farbe, die euch als Lötstopplack am besten gefallen würde, erhöhen.&lt;br /&gt;
&lt;br /&gt;
== minimale Schriftgröße ==&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/attachment/196856/ucruler.pdf ausdrucken und die eigenen Augen testen.&lt;br /&gt;
&lt;br /&gt;
Dann bitte eintragen, welche Größe gerade noch lesbar ist. Die normale Schrift wird eins größer werden, aber falls mal wirklich kein Platz mehr sein sollte würde ich darauf zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1,8 |&lt;br /&gt;
1,6 |&lt;br /&gt;
1,4 |&lt;br /&gt;
1,2 | 6&lt;br /&gt;
1,0 | 6&lt;br /&gt;
0,8 |&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anpassungen/Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
Bitte einfach die Zahl bei + oder - erhöhen oder gar nichts eintragen (wichtig, brauch ich nicht, egal), so dass am Ende ein Stimmungsbild entsteht. Daraus ergeben sich dann Prioritäten, in deren Reihenfolge der Platz aufgefüllt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Wertung !! Beschreibung&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Formelsamlung&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Vielleicht könnte man auch ein paar Formeln unterbringen die oft verwendet werden und trotzdem gerne vergessen werden.&lt;br /&gt;
&lt;br /&gt;
Vorschläge [[Mcnet-ruler#Vorschl.C3.A4ge_f.C3.BCr_Formelsammlung|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Leiterbahnstärken &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1| 1&lt;br /&gt;
2| 21&lt;br /&gt;
3|&lt;br /&gt;
4|&lt;br /&gt;
5|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Bitte genau eine Möglichkeit mit + wählen:&lt;br /&gt;
# Bahnen in mm und mil, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mm, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mil, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mm, beschriftet in mm&lt;br /&gt;
# Bahnen in mil, beschriftet in mil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Inches in mm &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Bitte generell Inches in mm umrechnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Isolationsabstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 29&lt;br /&gt;
-|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Die Tabelle für Isolationsabstände (Luft-/Kriechstrecken) ggf. an in Deutschland geltende Normen anpassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kabel-Widerstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 15&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Wenn noch Platz ist, wäre eine Tabelle für Kabel-Widerstände gut (sortiert nach gängigen Querschnitten, pro m oder 10m Kabellänge).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Widerstands-Farbcode-Tabelle &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 16&lt;br /&gt;
-| 18&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Rückseite Widerstands-Farbcode-Tabelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  LM317 &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 23&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Tabelle für LM317-Widerstandswerte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kapazitäts-/Induktivitätsbelag &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 9&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Tabellen zum Kapazitäts-/Induktivitätsbelag von Leiterbahnen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Wellenwiderstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 9&lt;br /&gt;
-| 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Richtwerttabellen für Wellenwiderstände, Micro Striplines (insbes. für USB/Ethernet Routing), etc. auf gängigen PCBs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Wechselstrom Ueff, Upp &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 3&lt;br /&gt;
-| 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Wenn immer noch Platz ist: Tabelle zur Umrechnung von Wechselstromgrößen (Ueff, Upp für gängige Trafowicklungen, 110V, 230V, 240V, 400V, 600V)&lt;br /&gt;
&lt;br /&gt;
Anm.: Sinnvoll für gängige Elko-Spannungen 16VDC, 25VDC, 50VDC, 63VDC, 80VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  f/T-Umrechnung &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 4&lt;br /&gt;
-| 19&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Und wenn dann noch Platz wäre: Tabelle mit f und T für gängige µC-Frequenzen und Samplingraten&lt;br /&gt;
&lt;br /&gt;
Anm.: Sinnvoll und platzsparend, wenn wie vorgeschlagen für einige wenige gängige Werte (z.B. &amp;quot;8 MHz / 125 ns&amp;quot; und &amp;quot;48 kHz / 20,8 µs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  PCB-Kühlkörper &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Was auch interessant wäre, ist eine Tabelle für Leiterplattenkühlkoerper. K/W pro cm² für div. Kupferstärken!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ SMD-Footprints R &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 30&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Die Idee mit den SMD Footprints auf der Rückseite finde ich auch sehr gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ SMD-Größen R &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 19&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Größen (im Sinne von Maßen) von SMD Widerständen ist auch manchmal ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓  SMD-Footprints ElKo &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 25&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Zudem wäre der Footprint von SMD Elkos wenn möglich auf der Rückseite auch ganz praktisch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓  SMD-Größen Elko &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 22&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Größen (im Sinne von Maßen) von SMD Elkos ist auch manchmal ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  E-Reihen &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 14&lt;br /&gt;
-| 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Abdruck der E24-Reihe mit Markierungen für E12, E6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  TQFP, SOP und SOT Footprint &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 21&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Der Footprint von TQFP, SOT und SOP Bauteilen auf der Rückseite könnte sich auch als nützlich erweisen&lt;br /&gt;
&lt;br /&gt;
Vorschläge für Footprints [[Mcnet-ruler#Vorschl.C3.A4ge_f.C3.BCr_Footprints|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ THT Lochreihe &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 12&lt;br /&gt;
-| 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Ebenso eine kurze Lochreihe im 2,54mm-Raster für THT.&lt;br /&gt;
&lt;br /&gt;
Anm.: Bitte eine lange Lochreihe ähnlich wie von [http://www.mikrocontroller.net/topic/313642#3389830 Chris gezeigt].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Kleines Namensfeld &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 22&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Damit die Lineale nicht &amp;quot;verschwinden&amp;quot;, zum selbst beschriften.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Tabelle Leitfähigkeit/spezifischer Widerstand &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit der Leitfähigkeit/spezifischer Widerstand von z.B. Kupfer, Aluminium, Eisen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Temperaturkoeffizent &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 4&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Temperaturkoeffizenten (alpha in 1/k) von z.B. Kupfer, Aluminium, Eisen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓ Transistor-Schaltungssymbole &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 10&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Aufdruck von Transistor-Schaltungssymbolen (bipolar/FET) und THT-LEDs, [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg siehe hier]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Pin-Beschriftung für einige Footprints &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 8&lt;br /&gt;
-| &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Einige Footprints (z.B. TO-92, SOT-23 etc.) sollten Beschriftungen für BCE/GDS für gängige Transistortypen bekommen, siehe [http://dmohankumar.files.wordpress.com/2011/05/table-showing-the-pins-of-common-transistors.pdf hier] und [http://www.radiomuseum.org/forum/transistor_connections.html hier]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kabelschablone&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 6&lt;br /&gt;
-| &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Ähnlich dem [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg Adafruit Ruler], aber als Tabelle in AWG und mm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Seitenansicht bedrahtetes LED Gehäuse&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 2&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Somit kann man auch bei einer verbauten LED (oder entlöteten LED) mit einem Blick von der Seite erkennen, welcher Pin Anode und welche Kathode ist&lt;br /&gt;
Ähnlich dem [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg Adafruit Ruler], unter &amp;quot;AWG 13&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für Formelsammlung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Wertung !! Beschreibung&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| C/L &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/d/5/5/d550b39c146790974bae8a9a2e1830fb.png&lt;br /&gt;
&lt;br /&gt;
http://upload.wikimedia.org/math/0/9/a/09ab806c34320b749ddadca35a32fc8a.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Elektrische_Kapazit%C3%A4t#Kapazit.C3.A4t_bestimmter_Leiteranordnungen&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Zylinderspule&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Eckfrequenz RC-Glied HP/LP &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/5/d/1/5d1295e236a3c860416fbdb9940fb043.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/RC-Glied#Tiefpass&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| I(t) / U(t) für C/L &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 2&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/0/b/9/0b93b4a1ce2832629d42509b43184894.png&lt;br /&gt;
&lt;br /&gt;
http://upload.wikimedia.org/math/9/e/6/9e6ea02a73a08f263454786c1c9d7e44.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Zeitkonstante#Kondensator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Wärmewiderstand  &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/8/7/b/87b98460f0867373471f540167591ebb.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/W%C3%A4rmewiderstand#Definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für Footprints ==&lt;br /&gt;
&lt;br /&gt;
Vorschläge für Footprints auf der Rückseite. Es werden die Pads in Kupfer ausgeführt (also theoretisch lötbar), der Rand des Bauteils im Bestückungsdruck.&lt;br /&gt;
&lt;br /&gt;
* http://www.fairchildsemi.com/package/&lt;br /&gt;
* http://www.maximintegrated.com/design/packaging/&lt;br /&gt;
* http://www.infineon.com/cms/de/product/technology/packages/index.html&lt;br /&gt;
* http://www.nxp.com/packages&lt;br /&gt;
* http://www.topline.tv/Drawings/PDF/QFP/TQFP_Library.pdf&lt;br /&gt;
* http://www.linear.com/designtools/packaging/&lt;br /&gt;
* http://ww1.microchip.com/downloads/en/PackagingSpec/00049AR.pdf&lt;br /&gt;
&lt;br /&gt;
=== Standardisierungen === &lt;br /&gt;
* http://www.jedec.org/category/technology-focus-area/registered-outlines-jep95&lt;br /&gt;
&lt;br /&gt;
=== Inspirationen ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [http://www.adafruit.com/blog/2013/10/11/new-product-adafruit-pcb-ruler-6/ Adafruit Ruler].&lt;br /&gt;
&lt;br /&gt;
http://www.adafruit.com/images/large/1554bottom_LRG.jpg&lt;br /&gt;
&lt;br /&gt;
=== Widerstände &amp;amp; Kondensatoren ===&lt;br /&gt;
Maße siehe z.B. http://www.panasonic.com/industrial/components/pdf/AOA0000CE1.pdf&lt;br /&gt;
&lt;br /&gt;
* ✓ 0201 (wenn der Fertiger des Lineal das kann...)&lt;br /&gt;
* ✓ 0402&lt;br /&gt;
* ✓ 0603&lt;br /&gt;
* ✓ 0805&lt;br /&gt;
* ✓ 1206&lt;br /&gt;
* ✓ 1210&lt;br /&gt;
* 1812 (wenn noch Platz ist)&lt;br /&gt;
* 2010 (wenn noch Platz ist)&lt;br /&gt;
* 2512 (wenn noch Platz ist)&lt;br /&gt;
&lt;br /&gt;
=== Transistoren &amp;amp; ICs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SC-70&lt;br /&gt;
* ✓ SOT-23&lt;br /&gt;
* ✓ SOT-23-6&lt;br /&gt;
* ✓ SOT-89&lt;br /&gt;
* ✓ SOT-223&lt;br /&gt;
* ✓ TO-252 / DPAK http://www.fairchildsemi.com/dwg/TO/TO252A03.pdf&lt;br /&gt;
* ✓ TO-263 / D2PAK http://www.fairchildsemi.com/dwg/TO/TO263A02.pdf&lt;br /&gt;
&lt;br /&gt;
=== Dioden &amp;amp; LEDs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SMA / DO-214AC http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ SMB / DO-214AA http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ SMC / DO-214AB http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ Melf http://www.cdil.com/package/do213ab_dwng.pdf&lt;br /&gt;
* ✓ MiniMelf http://www.cdil.com/package/sod_80c.pdf&lt;br /&gt;
* ✓ MicroMelf http://www.vishay.com/docs/20003/smm0102.pdf&lt;br /&gt;
* ✓ PLCC-4 / 3528 http://catalog.osram-os.com/media/_en/Graphics/00042269_0.pdf&lt;br /&gt;
* ✓ PLCC-6 / 5050 http://ledversand24.de/media/pdf/ws2812preliminary51337f1c83131.pdf&lt;br /&gt;
* ✓ SOD323/SC76 http://www.infineon.com/dgdl/SOD323-Package_Overview.pdf?folderId=db3a30431936bc4b011952aab84f3bbe&amp;amp;fileId=db3a30431936bc4b011952beed653be3&lt;br /&gt;
&lt;br /&gt;
=== ICs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SOIC-24, 3.9mm-Body, ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
* ✓ SOIC-24, 7.5mm-Body, ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
Diese beiden SOIC-Breiten wenn möglich in einem Footprint zusammenfassen, also z.B. die linken Pins gemeinsam verwenden. Die beiden&lt;br /&gt;
Breiten dann über Bestückungsdruck-Linien kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
* ✓ SSOP-28, 5,3mm-Body, 0,65mm Pitch. Das ist die gängigste Variante, es gibt aber leider auch einige Abweichler mit anderem Pitch und Bodybreite die sich auch SSOP nennen :(&lt;br /&gt;
* TSSOP-28, 4,4mm-Body, 0,65mm Pitch&lt;br /&gt;
Auch bei diesen beiden: ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24,28 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
&lt;br /&gt;
Für die Maße: http://www.microchip.com/stellent/groups/techpub_sg/documents/packagingspec/en012702.pdf&lt;br /&gt;
&lt;br /&gt;
Wenn noch Platz:&lt;br /&gt;
* TQFP32, 0.8mm Pitch http://www.microchip.com/stellent/groups/techpub_sg/documents/packagingspec/en012702.pdf&lt;br /&gt;
* TQFP48 / LQFP48, 0.5mm Pitch http://www.nxp.com/documents/outline_drawing/sot313-2_po.pdf&lt;br /&gt;
* ✓ QFN32, 0.5mm Pitch http://www.linear.com/docs/38749&lt;br /&gt;
&lt;br /&gt;
== Vorbestellungen ==&lt;br /&gt;
Interessenten tragen sich bitte &#039;&#039;&#039;am Ende der Liste ein und aktualisieren den Zwischenstand&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
Mindestbestellmenge ist nach aktuellem Stand 5 Stück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10  Dominik S. (dasd)&lt;br /&gt;
 5  Dennis X. (debegr92) &lt;br /&gt;
 2  Arne M. (armut) &lt;br /&gt;
 3  Benedikt K. (benek) &lt;br /&gt;
10  avr avr (colombo010) &lt;br /&gt;
 5  Jürgen (Gast) &lt;br /&gt;
 5  Uwe ... (uwegw) &lt;br /&gt;
15  Rene H. (promeus) &lt;br /&gt;
 5  hum (Gast) &lt;br /&gt;
 3  Werner A. (homebrew) &lt;br /&gt;
 2  Frank Werner (wesoft)&lt;br /&gt;
 5  Jan B. (diphthong) &lt;br /&gt;
 5  Thomas J. (tom16) &lt;br /&gt;
15  Felix Schulze (pepe) &lt;br /&gt;
 3  Patrick Berninghaus (patricck) &lt;br /&gt;
 5  B. B. (morgenmuffel) &lt;br /&gt;
 5  Bernd D. (bernd_d56)&lt;br /&gt;
 5  Daniel (Gast) &lt;br /&gt;
 5  Jan Dressler (keyman) &lt;br /&gt;
 3  Gerd E. (robberknight) &lt;br /&gt;
10  Ralf Engelhardt (r_e)&lt;br /&gt;
 5  D. S. (compuvidy) &lt;br /&gt;
 5  Michael R. (elektr-hobbyist) &lt;br /&gt;
10  Samuel Hildebrandt (musicsammy) &lt;br /&gt;
 5  Martin H. (marrtn) &lt;br /&gt;
 5  Michael Becker (mich_at_el) &lt;br /&gt;
 5  Marco André (marphy) &lt;br /&gt;
 5  Chris (Gast) &lt;br /&gt;
 5  mr. mo (Gast) &lt;br /&gt;
 5  Martin R. (martin84) &lt;br /&gt;
 3  J. S. (voochee) &lt;br /&gt;
 5  Andreas H. (ahz) &lt;br /&gt;
 5  Ronny Spiegel (duselbaer) &lt;br /&gt;
10  G. L. (lele) &lt;br /&gt;
 3  Axel Jäger (axeljaeger) &lt;br /&gt;
 5  Stephan G. (stephan_g35)&lt;br /&gt;
 5  Gibts Ne (schneeblau) &lt;br /&gt;
 5  Sascha G. (sascha-g) &lt;br /&gt;
 5  Richard Zink (Gast) &lt;br /&gt;
 5  Stephan K. (nightowl) &lt;br /&gt;
 5  Martin Wende (Firma: fritzler-avr.de) (fritzler) &lt;br /&gt;
 5  Jörg S. (Gast)&lt;br /&gt;
10  J. L. (lindenbaum) &lt;br /&gt;
10  Jan M. (mueschel) &lt;br /&gt;
 5  Bad Urban (bad_urban) &lt;br /&gt;
 5  Daniel M. (amad)&lt;br /&gt;
 5  Sascha S. (dec) &lt;br /&gt;
 5  A. S. (rava) &lt;br /&gt;
10  Jens M. (jens-m) &lt;br /&gt;
 5  Sascha E. (baracuss) &lt;br /&gt;
 5  avr avr (colombo010) &lt;br /&gt;
 5  Michael B. (michael_b25) &lt;br /&gt;
10  Thomas Sch. (doschi_) &lt;br /&gt;
10  K. J. (theborg0815)&lt;br /&gt;
 5  Daniel C. (cecky) &lt;br /&gt;
 3  Philipp E. (erlang) &lt;br /&gt;
 5  Thorsten Ostermann (Firma: mechapro GmbH) (ostermann)&lt;br /&gt;
10  vophatec (Manuel Z.)&lt;br /&gt;
 3  Carsten Peschke &lt;br /&gt;
 2  J.O. (Gast)&lt;br /&gt;
 5  D. Braun (garag)&lt;br /&gt;
 5  Michael.S. (michael0307)&lt;br /&gt;
 5  Didi S. (kokisan2000)&lt;br /&gt;
 5  Thomas L. (ics1702)&lt;br /&gt;
 5  Sebastian Engel (s-engel)&lt;br /&gt;
 5  Peter Sieg (petersieg)&lt;br /&gt;
 5  Martin S. (martin_s91)&lt;br /&gt;
 5  Manuel Steiner (steinerhippo)&lt;br /&gt;
 5  Nico B. (vegetico)&lt;br /&gt;
 5  Axel P. (axel_p)&lt;br /&gt;
 5  Mh. M. (mhm)&lt;br /&gt;
 5  Friedrich K (*)&lt;br /&gt;
 5  O.Hagendorf (ohagendorf)&lt;br /&gt;
10  Jonas K. (jonas k)&lt;br /&gt;
 5  Sam .. (sam1994)&lt;br /&gt;
10  Jens A. (Nepi) (erhöht von 5 auf 10 am 15.1.2014)&lt;br /&gt;
 5  Tom Z. (tom_z)&lt;br /&gt;
 5  Sven K. (herbivore)&lt;br /&gt;
 5  Steffen A (*)&lt;br /&gt;
 3  Stephan Henning (stephan-) notfalls auch 5&lt;br /&gt;
 5  Benjamin Jung (benjamin_j)&lt;br /&gt;
 5  Kai D. (kai1972)&lt;br /&gt;
 5  Gerd B. (bertr2d2)&lt;br /&gt;
 5  Martin G. (magoe)&lt;br /&gt;
 5  Stefan K. (oxid)&lt;br /&gt;
 5  S. Q. (frido2001)&lt;br /&gt;
 5  D. K. (elektricar)&lt;br /&gt;
 5  Markus C. (ljmarkus)&lt;br /&gt;
 5  Alexander K. (minjaman)&lt;br /&gt;
10  Dominic A. (neo123)&lt;br /&gt;
 3  Oliver S. (Oliver_S) notfalls auch 5&lt;br /&gt;
 5  Tobias S. (x12z34)&lt;br /&gt;
 5  Frank F. (frohf)&lt;br /&gt;
 5  Kalle S. (kallebmw)&lt;br /&gt;
 5  Bjoern G. (tueftler)&lt;br /&gt;
 5  Akif D. (adnc)&lt;br /&gt;
 5  Rico T. (tyrann410)&lt;br /&gt;
 5  Axel (axelg)&lt;br /&gt;
10  Elmar N. (zulue)&lt;br /&gt;
 5  Frank G. (frank_g53)&lt;br /&gt;
15  pko pprasch (pkopprasch)&lt;br /&gt;
 5  Alexander D. (Gast)&lt;br /&gt;
 5  Marius B. (majus)&lt;br /&gt;
20  F.FO (foldi)&lt;br /&gt;
 5  Stefan P. (nett_flanders)&lt;br /&gt;
 5  Carsten Wille (eagle38106)&lt;br /&gt;
 5  Steffen Schröter (stesch99)&lt;br /&gt;
 5  Guido C. (guidoanalog)&lt;br /&gt;
 5  Yann L. (ylere)&lt;br /&gt;
 5  Benedikt R. (da_miez)&lt;br /&gt;
 5  Thorsten F. (tfol)&lt;br /&gt;
 3  Oliver H. (oliver h) notfalls auch 5&lt;br /&gt;
 2  Zoidberg (Gast) 5 nur extrem ungern&lt;br /&gt;
 5  Markus M (mmax)&lt;br /&gt;
10  Maik Fox (sabuty)&lt;br /&gt;
 5  DL9RDW (Bernhard Schröcker)&lt;br /&gt;
10  Fer T. (fer_t)&lt;br /&gt;
 5  Einhart (einhart)&lt;br /&gt;
 5  Teo Derix (teoderix)&lt;br /&gt;
 3  Volker R. (Pcl86) wenn&#039;s nicht anders geht auch 5&lt;br /&gt;
 5  John (karabka)&lt;br /&gt;
 5  Matthias N. (nippey)&lt;br /&gt;
 5  David Z. (hawk_2k)&lt;br /&gt;
 5  Volker G. (voga2073)&lt;br /&gt;
20  Stefan Wagner (dl6dx)&lt;br /&gt;
20  Tobias Hochgürtel (tobias_h94)&lt;br /&gt;
10  Matthias H. (kaplic)&lt;br /&gt;
 5  Juli V. (torten_juli)&lt;br /&gt;
 5  Edu B.  (edu)&lt;br /&gt;
 5  Joe G. (Feinmechaniker)&lt;br /&gt;
10  Peter (elektronik24)&lt;br /&gt;
-------------------------------------&lt;br /&gt;
779 ZWISCHENSTAND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Mcruler&amp;diff=84534</id>
		<title>Mcruler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Mcruler&amp;diff=84534"/>
		<updated>2014-08-18T12:13:01Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Infos ==&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Community Variante eines Lineals entstehen, nach Vorbild des µRuler von EEVBlog/Dave Jones:&lt;br /&gt;
&lt;br /&gt;
[[Datei:uRuler.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktueller Stand:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://raw.github.com/maugsburger/ucruler/master/ucruler_top.png Top]&lt;br /&gt;
&lt;br /&gt;
[https://raw.github.com/maugsburger/ucruler/master/ucruler_bot.png Bottom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thread im Forum:&#039;&#039;&#039; http://www.mikrocontroller.net/topic/313642&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt-Seite auf GitHub:&#039;&#039;&#039; https://github.com/maugsburger/ucruler&lt;br /&gt;
&lt;br /&gt;
== Spezifikationen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Maße             || 200 x 32 mm&lt;br /&gt;
|-&lt;br /&gt;
| PCB              || 0.5mm oder 0.8mm FR4 &#039;&#039;&#039;1-Layer&#039;&#039;&#039; 35µ (TBD)&lt;br /&gt;
|-&lt;br /&gt;
| Oberfläche       || gold (ENIG)&lt;br /&gt;
|-&lt;br /&gt;
| Lötstop          || beidseitig, Farbe TBD&lt;br /&gt;
|-&lt;br /&gt;
| Bestückungsdruck || beidseitig, weiß&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Preise&#039;&#039;&#039;     || ca. 2 € / MOQ: 5 Stück oder vielfaches von 3 (TBD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Farbe des Lötstopplackes ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grün    |&lt;br /&gt;
gelb    |&lt;br /&gt;
schwarz |24&lt;br /&gt;
weiß    |1&lt;br /&gt;
rot     |10&lt;br /&gt;
blau    |5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
einfach bitte die Zahl hinter die Farbe, die euch als Lötstopplack am besten gefallen würde, erhöhen.&lt;br /&gt;
&lt;br /&gt;
== minimale Schriftgröße ==&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/attachment/196856/ucruler.pdf ausdrucken und die eigenen Augen testen.&lt;br /&gt;
&lt;br /&gt;
Dann bitte eintragen, welche Größe gerade noch lesbar ist. Die normale Schrift wird eins größer werden, aber falls mal wirklich kein Platz mehr sein sollte würde ich darauf zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1,8 |&lt;br /&gt;
1,6 |&lt;br /&gt;
1,4 |&lt;br /&gt;
1,2 | 6&lt;br /&gt;
1,0 | 6&lt;br /&gt;
0,8 |&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anpassungen/Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
Bitte einfach die Zahl bei + oder - erhöhen oder gar nichts eintragen (wichtig, brauch ich nicht, egal), so dass am Ende ein Stimmungsbild entsteht. Daraus ergeben sich dann Prioritäten, in deren Reihenfolge der Platz aufgefüllt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Wertung !! Beschreibung&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Formelsamlung&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Vielleicht könnte man auch ein paar Formeln unterbringen die oft verwendet werden und trotzdem gerne vergessen werden.&lt;br /&gt;
&lt;br /&gt;
Vorschläge [[Mcnet-ruler#Vorschl.C3.A4ge_f.C3.BCr_Formelsammlung|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Leiterbahnstärken &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1| 1&lt;br /&gt;
2| 21&lt;br /&gt;
3|&lt;br /&gt;
4|&lt;br /&gt;
5|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Bitte genau eine Möglichkeit mit + wählen:&lt;br /&gt;
# Bahnen in mm und mil, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mm, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mil, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mm, beschriftet in mm&lt;br /&gt;
# Bahnen in mil, beschriftet in mil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Inches in mm &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Bitte generell Inches in mm umrechnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Isolationsabstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 28&lt;br /&gt;
-|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Die Tabelle für Isolationsabstände (Luft-/Kriechstrecken) ggf. an in Deutschland geltende Normen anpassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kabel-Widerstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 15&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Wenn noch Platz ist, wäre eine Tabelle für Kabel-Widerstände gut (sortiert nach gängigen Querschnitten, pro m oder 10m Kabellänge).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Widerstands-Farbcode-Tabelle &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 15&lt;br /&gt;
-| 18&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Rückseite Widerstands-Farbcode-Tabelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  LM317 &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Tabelle für LM317-Widerstandswerte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kapazitäts-/Induktivitätsbelag &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 9&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Tabellen zum Kapazitäts-/Induktivitätsbelag von Leiterbahnen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Wellenwiderstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 9&lt;br /&gt;
-| 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Richtwerttabellen für Wellenwiderstände, Micro Striplines (insbes. für USB/Ethernet Routing), etc. auf gängigen PCBs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Wechselstrom Ueff, Upp &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 3&lt;br /&gt;
-| 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Wenn immer noch Platz ist: Tabelle zur Umrechnung von Wechselstromgrößen (Ueff, Upp für gängige Trafowicklungen, 110V, 230V, 240V, 400V, 600V)&lt;br /&gt;
&lt;br /&gt;
Anm.: Sinnvoll für gängige Elko-Spannungen 16VDC, 25VDC, 50VDC, 63VDC, 80VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  f/T-Umrechnung &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 4&lt;br /&gt;
-| 19&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Und wenn dann noch Platz wäre: Tabelle mit f und T für gängige µC-Frequenzen und Samplingraten&lt;br /&gt;
&lt;br /&gt;
Anm.: Sinnvoll und platzsparend, wenn wie vorgeschlagen für einige wenige gängige Werte (z.B. &amp;quot;8 MHz / 125 ns&amp;quot; und &amp;quot;48 kHz / 20,8 µs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  PCB-Kühlkörper &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Was auch interessant wäre, ist eine Tabelle für Leiterplattenkühlkoerper. K/W pro cm² für div. Kupferstärken!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ SMD-Footprints R &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 30&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Die Idee mit den SMD Footprints auf der Rückseite finde ich auch sehr gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ SMD-Größen R &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 19&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Größen (im Sinne von Maßen) von SMD Widerständen ist auch manchmal ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓  SMD-Footprints ElKo &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 25&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Zudem wäre der Footprint von SMD Elkos wenn möglich auf der Rückseite auch ganz praktisch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓  SMD-Größen Elko &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 22&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Größen (im Sinne von Maßen) von SMD Elkos ist auch manchmal ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  E-Reihen &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 14&lt;br /&gt;
-| 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Abdruck der E24-Reihe mit Markierungen für E12, E6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  TQFP, SOP und SOT Footprint &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Der Footprint von TQFP, SOT und SOP Bauteilen auf der Rückseite könnte sich auch als nützlich erweisen&lt;br /&gt;
&lt;br /&gt;
Vorschläge für Footprints [[Mcnet-ruler#Vorschl.C3.A4ge_f.C3.BCr_Footprints|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ THT Lochreihe &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 11&lt;br /&gt;
-| 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Ebenso eine kurze Lochreihe im 2,54mm-Raster für THT.&lt;br /&gt;
&lt;br /&gt;
Anm.: Bitte eine lange Lochreihe ähnlich wie von [http://www.mikrocontroller.net/topic/313642#3389830 Chris gezeigt].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Kleines Namensfeld &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 22&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Damit die Lineale nicht &amp;quot;verschwinden&amp;quot;, zum selbst beschriften.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Tabelle Leitfähigkeit/spezifischer Widerstand &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit der Leitfähigkeit/spezifischer Widerstand von z.B. Kupfer, Aluminium, Eisen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Temperaturkoeffizent &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 4&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Temperaturkoeffizenten (alpha in 1/k) von z.B. Kupfer, Aluminium, Eisen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓ Transistor-Schaltungssymbole &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 10&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Aufdruck von Transistor-Schaltungssymbolen (bipolar/FET) und THT-LEDs, [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg siehe hier]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Pin-Beschriftung für einige Footprints &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 8&lt;br /&gt;
-| &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Einige Footprints (z.B. TO-92, SOT-23 etc.) sollten Beschriftungen für BCE/GDS für gängige Transistortypen bekommen, siehe [http://dmohankumar.files.wordpress.com/2011/05/table-showing-the-pins-of-common-transistors.pdf hier] und [http://www.radiomuseum.org/forum/transistor_connections.html hier]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kabelschablone&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 6&lt;br /&gt;
-| &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Ähnlich dem [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg Adafruit Ruler], aber als Tabelle in AWG und mm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Seitenansicht bedrahtetes LED Gehäuse&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Somit kann man auch bei einer verbauten LED (oder entlöteten LED) mit einem Blick von der Seite erkennen, welcher Pin Anode und welche Kathode ist&lt;br /&gt;
Ähnlich dem [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg Adafruit Ruler], unter &amp;quot;AWG 13&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für Formelsammlung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Wertung !! Beschreibung&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| C/L &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/d/5/5/d550b39c146790974bae8a9a2e1830fb.png&lt;br /&gt;
&lt;br /&gt;
http://upload.wikimedia.org/math/0/9/a/09ab806c34320b749ddadca35a32fc8a.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Elektrische_Kapazit%C3%A4t#Kapazit.C3.A4t_bestimmter_Leiteranordnungen&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Zylinderspule&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Eckfrequenz RC-Glied HP/LP &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/5/d/1/5d1295e236a3c860416fbdb9940fb043.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/RC-Glied#Tiefpass&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| I(t) / U(t) für C/L &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 2&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/0/b/9/0b93b4a1ce2832629d42509b43184894.png&lt;br /&gt;
&lt;br /&gt;
http://upload.wikimedia.org/math/9/e/6/9e6ea02a73a08f263454786c1c9d7e44.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Zeitkonstante#Kondensator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Wärmewiderstand  &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/8/7/b/87b98460f0867373471f540167591ebb.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/W%C3%A4rmewiderstand#Definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für Footprints ==&lt;br /&gt;
&lt;br /&gt;
Vorschläge für Footprints auf der Rückseite. Es werden die Pads in Kupfer ausgeführt (also theoretisch lötbar), der Rand des Bauteils im Bestückungsdruck.&lt;br /&gt;
&lt;br /&gt;
* http://www.fairchildsemi.com/package/&lt;br /&gt;
* http://www.maximintegrated.com/design/packaging/&lt;br /&gt;
* http://www.infineon.com/cms/de/product/technology/packages/index.html&lt;br /&gt;
* http://www.nxp.com/packages&lt;br /&gt;
* http://www.topline.tv/Drawings/PDF/QFP/TQFP_Library.pdf&lt;br /&gt;
* http://www.linear.com/designtools/packaging/&lt;br /&gt;
* http://ww1.microchip.com/downloads/en/PackagingSpec/00049AR.pdf&lt;br /&gt;
&lt;br /&gt;
=== Standardisierungen === &lt;br /&gt;
* http://www.jedec.org/category/technology-focus-area/registered-outlines-jep95&lt;br /&gt;
&lt;br /&gt;
=== Inspirationen ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [http://www.adafruit.com/blog/2013/10/11/new-product-adafruit-pcb-ruler-6/ Adafruit Ruler].&lt;br /&gt;
&lt;br /&gt;
http://www.adafruit.com/images/large/1554bottom_LRG.jpg&lt;br /&gt;
&lt;br /&gt;
=== Widerstände &amp;amp; Kondensatoren ===&lt;br /&gt;
Maße siehe z.B. http://www.panasonic.com/industrial/components/pdf/AOA0000CE1.pdf&lt;br /&gt;
&lt;br /&gt;
* ✓ 0201 (wenn der Fertiger des Lineal das kann...)&lt;br /&gt;
* ✓ 0402&lt;br /&gt;
* ✓ 0603&lt;br /&gt;
* ✓ 0805&lt;br /&gt;
* ✓ 1206&lt;br /&gt;
* ✓ 1210&lt;br /&gt;
* 1812 (wenn noch Platz ist)&lt;br /&gt;
* 2010 (wenn noch Platz ist)&lt;br /&gt;
* 2512 (wenn noch Platz ist)&lt;br /&gt;
&lt;br /&gt;
=== Transistoren &amp;amp; ICs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SC-70&lt;br /&gt;
* ✓ SOT-23&lt;br /&gt;
* ✓ SOT-23-6&lt;br /&gt;
* ✓ SOT-89&lt;br /&gt;
* ✓ SOT-223&lt;br /&gt;
* ✓ TO-252 / DPAK http://www.fairchildsemi.com/dwg/TO/TO252A03.pdf&lt;br /&gt;
* ✓ TO-263 / D2PAK http://www.fairchildsemi.com/dwg/TO/TO263A02.pdf&lt;br /&gt;
&lt;br /&gt;
=== Dioden &amp;amp; LEDs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SMA / DO-214AC http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ SMB / DO-214AA http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ SMC / DO-214AB http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ Melf http://www.cdil.com/package/do213ab_dwng.pdf&lt;br /&gt;
* ✓ MiniMelf http://www.cdil.com/package/sod_80c.pdf&lt;br /&gt;
* ✓ MicroMelf http://www.vishay.com/docs/20003/smm0102.pdf&lt;br /&gt;
* ✓ PLCC-4 / 3528 http://catalog.osram-os.com/media/_en/Graphics/00042269_0.pdf&lt;br /&gt;
* ✓ PLCC-6 / 5050 http://ledversand24.de/media/pdf/ws2812preliminary51337f1c83131.pdf&lt;br /&gt;
* ✓ SOD323/SC76 http://www.infineon.com/dgdl/SOD323-Package_Overview.pdf?folderId=db3a30431936bc4b011952aab84f3bbe&amp;amp;fileId=db3a30431936bc4b011952beed653be3&lt;br /&gt;
&lt;br /&gt;
=== ICs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SOIC-24, 3.9mm-Body, ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
* ✓ SOIC-24, 7.5mm-Body, ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
Diese beiden SOIC-Breiten wenn möglich in einem Footprint zusammenfassen, also z.B. die linken Pins gemeinsam verwenden. Die beiden&lt;br /&gt;
Breiten dann über Bestückungsdruck-Linien kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
* ✓ SSOP-28, 5,3mm-Body, 0,65mm Pitch. Das ist die gängigste Variante, es gibt aber leider auch einige Abweichler mit anderem Pitch und Bodybreite die sich auch SSOP nennen :(&lt;br /&gt;
* TSSOP-28, 4,4mm-Body, 0,65mm Pitch&lt;br /&gt;
Auch bei diesen beiden: ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24,28 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
&lt;br /&gt;
Für die Maße: http://www.microchip.com/stellent/groups/techpub_sg/documents/packagingspec/en012702.pdf&lt;br /&gt;
&lt;br /&gt;
Wenn noch Platz:&lt;br /&gt;
* TQFP32, 0.8mm Pitch http://www.microchip.com/stellent/groups/techpub_sg/documents/packagingspec/en012702.pdf&lt;br /&gt;
* TQFP48 / LQFP48, 0.5mm Pitch http://www.nxp.com/documents/outline_drawing/sot313-2_po.pdf&lt;br /&gt;
* ✓ QFN32, 0.5mm Pitch http://www.linear.com/docs/38749&lt;br /&gt;
&lt;br /&gt;
== Vorbestellungen ==&lt;br /&gt;
Interessenten tragen sich bitte &#039;&#039;&#039;am Ende der Liste ein und aktualisieren den Zwischenstand&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
Mindestbestellmenge ist nach aktuellem Stand 5 Stück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10  Dominik S. (dasd)&lt;br /&gt;
 5  Dennis X. (debegr92) &lt;br /&gt;
 2  Arne M. (armut) &lt;br /&gt;
 3  Benedikt K. (benek) &lt;br /&gt;
10  avr avr (colombo010) &lt;br /&gt;
 5  Jürgen (Gast) &lt;br /&gt;
 5  Uwe ... (uwegw) &lt;br /&gt;
15  Rene H. (promeus) &lt;br /&gt;
 5  hum (Gast) &lt;br /&gt;
 3  Werner A. (homebrew) &lt;br /&gt;
 2  Frank Werner (wesoft)&lt;br /&gt;
 5  Jan B. (diphthong) &lt;br /&gt;
 5  Thomas J. (tom16) &lt;br /&gt;
15  Felix Schulze (pepe) &lt;br /&gt;
 3  Patrick Berninghaus (patricck) &lt;br /&gt;
 5  B. B. (morgenmuffel) &lt;br /&gt;
 5  Bernd D. (bernd_d56)&lt;br /&gt;
 5  Daniel (Gast) &lt;br /&gt;
 5  Jan Dressler (keyman) &lt;br /&gt;
 3  Gerd E. (robberknight) &lt;br /&gt;
10  Ralf Engelhardt (r_e)&lt;br /&gt;
 5  D. S. (compuvidy) &lt;br /&gt;
 5  Michael R. (elektr-hobbyist) &lt;br /&gt;
10  Samuel Hildebrandt (musicsammy) &lt;br /&gt;
 5  Martin H. (marrtn) &lt;br /&gt;
 5  Michael Becker (mich_at_el) &lt;br /&gt;
 5  Marco André (marphy) &lt;br /&gt;
 5  Chris (Gast) &lt;br /&gt;
 5  mr. mo (Gast) &lt;br /&gt;
 5  Martin R. (martin84) &lt;br /&gt;
 3  J. S. (voochee) &lt;br /&gt;
 5  Andreas H. (ahz) &lt;br /&gt;
 5  Ronny Spiegel (duselbaer) &lt;br /&gt;
10  G. L. (lele) &lt;br /&gt;
 3  Axel Jäger (axeljaeger) &lt;br /&gt;
 5  Stephan G. (stephan_g35)&lt;br /&gt;
 5  Gibts Ne (schneeblau) &lt;br /&gt;
 5  Sascha G. (sascha-g) &lt;br /&gt;
 5  Richard Zink (Gast) &lt;br /&gt;
 5  Stephan K. (nightowl) &lt;br /&gt;
 5  Martin Wende (Firma: fritzler-avr.de) (fritzler) &lt;br /&gt;
 5  Jörg S. (Gast)&lt;br /&gt;
10  J. L. (lindenbaum) &lt;br /&gt;
10  Jan M. (mueschel) &lt;br /&gt;
 5  Bad Urban (bad_urban) &lt;br /&gt;
 5  Daniel M. (amad)&lt;br /&gt;
 5  Sascha S. (dec) &lt;br /&gt;
 5  A. S. (rava) &lt;br /&gt;
10  Jens M. (jens-m) &lt;br /&gt;
 5  Sascha E. (baracuss) &lt;br /&gt;
 5  avr avr (colombo010) &lt;br /&gt;
 5  Michael B. (michael_b25) &lt;br /&gt;
10  Thomas Sch. (doschi_) &lt;br /&gt;
10  K. J. (theborg0815)&lt;br /&gt;
 5  Daniel C. (cecky) &lt;br /&gt;
 3  Philipp E. (erlang) &lt;br /&gt;
 5  Thorsten Ostermann (Firma: mechapro GmbH) (ostermann)&lt;br /&gt;
10  vophatec (Manuel Z.)&lt;br /&gt;
 3  Carsten Peschke &lt;br /&gt;
 2  J.O. (Gast)&lt;br /&gt;
 5  D. Braun (garag)&lt;br /&gt;
 5  Michael.S. (michael0307)&lt;br /&gt;
 5  Didi S. (kokisan2000)&lt;br /&gt;
 5  Thomas L. (ics1702)&lt;br /&gt;
 5  Sebastian Engel (s-engel)&lt;br /&gt;
 5  Peter Sieg (petersieg)&lt;br /&gt;
 5  Martin S. (martin_s91)&lt;br /&gt;
 5  Manuel Steiner (steinerhippo)&lt;br /&gt;
 5  Nico B. (vegetico)&lt;br /&gt;
 5  Axel P. (axel_p)&lt;br /&gt;
 5  Mh. M. (mhm)&lt;br /&gt;
 5  Friedrich K (*)&lt;br /&gt;
 5  O.Hagendorf (ohagendorf)&lt;br /&gt;
10  Jonas K. (jonas k)&lt;br /&gt;
 5  Sam .. (sam1994)&lt;br /&gt;
10  Jens A. (Nepi) (erhöht von 5 auf 10 am 15.1.2014)&lt;br /&gt;
 5  Tom Z. (tom_z)&lt;br /&gt;
 5  Sven K. (herbivore)&lt;br /&gt;
 5  Steffen A (*)&lt;br /&gt;
 3  Stephan Henning (stephan-) notfalls auch 5&lt;br /&gt;
 5  Benjamin Jung (benjamin_j)&lt;br /&gt;
 5  Kai D. (kai1972)&lt;br /&gt;
 5  Gerd B. (bertr2d2)&lt;br /&gt;
 5  Martin G. (magoe)&lt;br /&gt;
 5  Stefan K. (oxid)&lt;br /&gt;
 5  S. Q. (frido2001)&lt;br /&gt;
 5  D. K. (elektricar)&lt;br /&gt;
 5  Markus C. (ljmarkus)&lt;br /&gt;
 5  Alexander K. (minjaman)&lt;br /&gt;
10  Dominic A. (neo123)&lt;br /&gt;
 3  Oliver S. (Oliver_S) notfalls auch 5&lt;br /&gt;
 5  Tobias S. (x12z34)&lt;br /&gt;
 5  Frank F. (frohf)&lt;br /&gt;
 5  Kalle S. (kallebmw)&lt;br /&gt;
 5  Bjoern G. (tueftler)&lt;br /&gt;
 5  Akif D. (adnc)&lt;br /&gt;
 5  Rico T. (tyrann410)&lt;br /&gt;
 5  Axel (axelg)&lt;br /&gt;
10  Elmar N. (zulue)&lt;br /&gt;
 5  Frank G. (frank_g53)&lt;br /&gt;
15  pko pprasch (pkopprasch)&lt;br /&gt;
 5  Alexander D. (Gast)&lt;br /&gt;
 5  Marius B. (majus)&lt;br /&gt;
20  F.FO (foldi)&lt;br /&gt;
 5  Stefan P. (nett_flanders)&lt;br /&gt;
 5  Carsten Wille (eagle38106)&lt;br /&gt;
 5  Steffen Schröter (stesch99)&lt;br /&gt;
 5  Guido C. (guidoanalog)&lt;br /&gt;
 5  Yann L. (ylere)&lt;br /&gt;
 5  Benedikt R. (da_miez)&lt;br /&gt;
 5  Thorsten F. (tfol)&lt;br /&gt;
 3  Oliver H. (oliver h) notfalls auch 5&lt;br /&gt;
 2  Zoidberg (Gast) 5 nur extrem ungern&lt;br /&gt;
 5  Markus M (mmax)&lt;br /&gt;
10  Maik Fox (sabuty)&lt;br /&gt;
 5  DL9RDW (Bernhard Schröcker)&lt;br /&gt;
10  Fer T. (fer_t)&lt;br /&gt;
 5  Einhart (einhart)&lt;br /&gt;
 5  Teo Derix (teoderix)&lt;br /&gt;
 3  Volker R. (Pcl86) wenn&#039;s nicht anders geht auch 5&lt;br /&gt;
 5  John (karabka)&lt;br /&gt;
 5  Matthias N. (nippey)&lt;br /&gt;
 5  David Z. (hawk_2k)&lt;br /&gt;
 5  Volker G. (voga2073)&lt;br /&gt;
20  Stefan Wagner (dl6dx)&lt;br /&gt;
20  Tobias Hochgürtel (tobias_h94)&lt;br /&gt;
10  Matthias H. (kaplic)&lt;br /&gt;
 5  Juli V. (torten_juli)&lt;br /&gt;
 5  Edu B.  (edu)&lt;br /&gt;
 5  Joe G. (Feinmechaniker)&lt;br /&gt;
10  Peter (elektronik24)&lt;br /&gt;
-------------------------------------&lt;br /&gt;
779 ZWISCHENSTAND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Mcruler&amp;diff=84533</id>
		<title>Mcruler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Mcruler&amp;diff=84533"/>
		<updated>2014-08-18T12:12:28Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Infos ==&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Community Variante eines Lineals entstehen, nach Vorbild des µRuler von EEVBlog/Dave Jones:&lt;br /&gt;
&lt;br /&gt;
[[Datei:uRuler.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktueller Stand:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://raw.github.com/maugsburger/ucruler/master/ucruler_top.png Top]&lt;br /&gt;
&lt;br /&gt;
[https://raw.github.com/maugsburger/ucruler/master/ucruler_bot.png Bottom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thread im Forum:&#039;&#039;&#039; http://www.mikrocontroller.net/topic/313642&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt-Seite auf GitHub:&#039;&#039;&#039; https://github.com/maugsburger/ucruler&lt;br /&gt;
&lt;br /&gt;
== Spezifikationen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Maße             || 200 x 32 mm&lt;br /&gt;
|-&lt;br /&gt;
| PCB              || 0.5mm oder 0.8mm FR4 &#039;&#039;&#039;1-Layer&#039;&#039;&#039; 35µ (TBD)&lt;br /&gt;
|-&lt;br /&gt;
| Oberfläche       || gold (ENIG)&lt;br /&gt;
|-&lt;br /&gt;
| Lötstop          || beidseitig, Farbe TBD&lt;br /&gt;
|-&lt;br /&gt;
| Bestückungsdruck || beidseitig, weiß&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Preise&#039;&#039;&#039;     || ca. 2 € / MOQ: 5 Stück oder vielfaches von 3 (TBD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Farbe des Lötstopplackes ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grün    |&lt;br /&gt;
gelb    |&lt;br /&gt;
schwarz |24&lt;br /&gt;
weiß    |1&lt;br /&gt;
rot     |10&lt;br /&gt;
blau    |5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
einfach bitte die Zahl hinter die Farbe, die euch als Lötstopplack am besten gefallen würde, erhöhen.&lt;br /&gt;
&lt;br /&gt;
== minimale Schriftgröße ==&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/attachment/196856/ucruler.pdf ausdrucken und die eigenen Augen testen.&lt;br /&gt;
&lt;br /&gt;
Dann bitte eintragen, welche Größe gerade noch lesbar ist. Die normale Schrift wird eins größer werden, aber falls mal wirklich kein Platz mehr sein sollte würde ich darauf zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1,8 |&lt;br /&gt;
1,6 |&lt;br /&gt;
1,4 |&lt;br /&gt;
1,2 | 6&lt;br /&gt;
1,0 | 6&lt;br /&gt;
0,8 |&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anpassungen/Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
Bitte einfach die Zahl bei + oder - erhöhen oder gar nichts eintragen (wichtig, brauch ich nicht, egal), so dass am Ende ein Stimmungsbild entsteht. Daraus ergeben sich dann Prioritäten, in deren Reihenfolge der Platz aufgefüllt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Wertung !! Beschreibung&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Formelsamlung&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Vielleicht könnte man auch ein paar Formeln unterbringen die oft verwendet werden und trotzdem gerne vergessen werden.&lt;br /&gt;
&lt;br /&gt;
Vorschläge [[Mcnet-ruler#Vorschl.C3.A4ge_f.C3.BCr_Formelsammlung|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Leiterbahnstärken &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1| 1&lt;br /&gt;
2| 20&lt;br /&gt;
3|&lt;br /&gt;
4|&lt;br /&gt;
5|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Bitte genau eine Möglichkeit mit + wählen:&lt;br /&gt;
# Bahnen in mm und mil, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mm, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mil, beschriftet in mm und mil&lt;br /&gt;
# Bahnen in mm, beschriftet in mm&lt;br /&gt;
# Bahnen in mil, beschriftet in mil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Inches in mm &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Bitte generell Inches in mm umrechnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Isolationsabstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 28&lt;br /&gt;
-|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Die Tabelle für Isolationsabstände (Luft-/Kriechstrecken) ggf. an in Deutschland geltende Normen anpassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kabel-Widerstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 15&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Wenn noch Platz ist, wäre eine Tabelle für Kabel-Widerstände gut (sortiert nach gängigen Querschnitten, pro m oder 10m Kabellänge).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Widerstands-Farbcode-Tabelle &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 15&lt;br /&gt;
-| 18&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Rückseite Widerstands-Farbcode-Tabelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  LM317 &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Tabelle für LM317-Widerstandswerte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kapazitäts-/Induktivitätsbelag &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 9&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Tabellen zum Kapazitäts-/Induktivitätsbelag von Leiterbahnen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Wellenwiderstände &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 9&lt;br /&gt;
-| 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Richtwerttabellen für Wellenwiderstände, Micro Striplines (insbes. für USB/Ethernet Routing), etc. auf gängigen PCBs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Wechselstrom Ueff, Upp &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 3&lt;br /&gt;
-| 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Wenn immer noch Platz ist: Tabelle zur Umrechnung von Wechselstromgrößen (Ueff, Upp für gängige Trafowicklungen, 110V, 230V, 240V, 400V, 600V)&lt;br /&gt;
&lt;br /&gt;
Anm.: Sinnvoll für gängige Elko-Spannungen 16VDC, 25VDC, 50VDC, 63VDC, 80VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  f/T-Umrechnung &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 4&lt;br /&gt;
-| 19&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Und wenn dann noch Platz wäre: Tabelle mit f und T für gängige µC-Frequenzen und Samplingraten&lt;br /&gt;
&lt;br /&gt;
Anm.: Sinnvoll und platzsparend, wenn wie vorgeschlagen für einige wenige gängige Werte (z.B. &amp;quot;8 MHz / 125 ns&amp;quot; und &amp;quot;48 kHz / 20,8 µs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  PCB-Kühlkörper &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Was auch interessant wäre, ist eine Tabelle für Leiterplattenkühlkoerper. K/W pro cm² für div. Kupferstärken!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ SMD-Footprints R &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 30&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Die Idee mit den SMD Footprints auf der Rückseite finde ich auch sehr gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ SMD-Größen R &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 19&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Größen (im Sinne von Maßen) von SMD Widerständen ist auch manchmal ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓  SMD-Footprints ElKo &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 25&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Zudem wäre der Footprint von SMD Elkos wenn möglich auf der Rückseite auch ganz praktisch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓  SMD-Größen Elko &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 22&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Größen (im Sinne von Maßen) von SMD Elkos ist auch manchmal ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  E-Reihen &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 14&lt;br /&gt;
-| 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Abdruck der E24-Reihe mit Markierungen für E12, E6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  TQFP, SOP und SOT Footprint &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 20&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Der Footprint von TQFP, SOT und SOP Bauteilen auf der Rückseite könnte sich auch als nützlich erweisen&lt;br /&gt;
&lt;br /&gt;
Vorschläge für Footprints [[Mcnet-ruler#Vorschl.C3.A4ge_f.C3.BCr_Footprints|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ THT Lochreihe &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 11&lt;br /&gt;
-| 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Ebenso eine kurze Lochreihe im 2,54mm-Raster für THT.&lt;br /&gt;
&lt;br /&gt;
Anm.: Bitte eine lange Lochreihe ähnlich wie von [http://www.mikrocontroller.net/topic/313642#3389830 Chris gezeigt].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  ✓ Kleines Namensfeld &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 22&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Damit die Lineale nicht &amp;quot;verschwinden&amp;quot;, zum selbst beschriften.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Tabelle Leitfähigkeit/spezifischer Widerstand &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 5&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit der Leitfähigkeit/spezifischer Widerstand von z.B. Kupfer, Aluminium, Eisen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Temperaturkoeffizent &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 4&lt;br /&gt;
-| 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Eine Tabelle mit den Temperaturkoeffizenten (alpha in 1/k) von z.B. Kupfer, Aluminium, Eisen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ✓ Transistor-Schaltungssymbole &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 10&lt;br /&gt;
-| 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Aufdruck von Transistor-Schaltungssymbolen (bipolar/FET) und THT-LEDs, [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg siehe hier]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Pin-Beschriftung für einige Footprints &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 8&lt;br /&gt;
-| &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Einige Footprints (z.B. TO-92, SOT-23 etc.) sollten Beschriftungen für BCE/GDS für gängige Transistortypen bekommen, siehe [http://dmohankumar.files.wordpress.com/2011/05/table-showing-the-pins-of-common-transistors.pdf hier] und [http://www.radiomuseum.org/forum/transistor_connections.html hier]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Kabelschablone&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 6&lt;br /&gt;
-| &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Ähnlich dem [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg Adafruit Ruler], aber als Tabelle in AWG und mm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|  Seitenansicht bedrahtetes LED Gehäuse&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Somit kann man auch bei einer verbauten LED (oder entlöteten LED) mit einem Blick von der Seite erkennen, welcher Pin Anode und welche Kathode ist&lt;br /&gt;
Ähnlich dem [http://www.adafruit.com/index.php?main_page=popup_image_additional&amp;amp;pID=1554&amp;amp;pic=1&amp;amp;products_image_large_additional=images/large/1554bottom_LRG.jpg Adafruit Ruler], unter &amp;quot;AWG 13&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für Formelsammlung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Wertung !! Beschreibung&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| C/L &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/d/5/5/d550b39c146790974bae8a9a2e1830fb.png&lt;br /&gt;
&lt;br /&gt;
http://upload.wikimedia.org/math/0/9/a/09ab806c34320b749ddadca35a32fc8a.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Elektrische_Kapazit%C3%A4t#Kapazit.C3.A4t_bestimmter_Leiteranordnungen&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Induktivit%C3%A4t#Induktivit.C3.A4t_einer_Zylinderspule&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Eckfrequenz RC-Glied HP/LP &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 2&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/5/d/1/5d1295e236a3c860416fbdb9940fb043.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/RC-Glied#Tiefpass&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| I(t) / U(t) für C/L &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 2&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/0/b/9/0b93b4a1ce2832629d42509b43184894.png&lt;br /&gt;
&lt;br /&gt;
http://upload.wikimedia.org/math/9/e/6/9e6ea02a73a08f263454786c1c9d7e44.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/Zeitkonstante#Kondensator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Wärmewiderstand  &lt;br /&gt;
||&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+| 1&lt;br /&gt;
-| 1&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
http://upload.wikimedia.org/math/8/7/b/87b98460f0867373471f540167591ebb.png&lt;br /&gt;
&lt;br /&gt;
http://de.wikipedia.org/wiki/W%C3%A4rmewiderstand#Definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für Footprints ==&lt;br /&gt;
&lt;br /&gt;
Vorschläge für Footprints auf der Rückseite. Es werden die Pads in Kupfer ausgeführt (also theoretisch lötbar), der Rand des Bauteils im Bestückungsdruck.&lt;br /&gt;
&lt;br /&gt;
* http://www.fairchildsemi.com/package/&lt;br /&gt;
* http://www.maximintegrated.com/design/packaging/&lt;br /&gt;
* http://www.infineon.com/cms/de/product/technology/packages/index.html&lt;br /&gt;
* http://www.nxp.com/packages&lt;br /&gt;
* http://www.topline.tv/Drawings/PDF/QFP/TQFP_Library.pdf&lt;br /&gt;
* http://www.linear.com/designtools/packaging/&lt;br /&gt;
* http://ww1.microchip.com/downloads/en/PackagingSpec/00049AR.pdf&lt;br /&gt;
&lt;br /&gt;
=== Standardisierungen === &lt;br /&gt;
* http://www.jedec.org/category/technology-focus-area/registered-outlines-jep95&lt;br /&gt;
&lt;br /&gt;
=== Inspirationen ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [http://www.adafruit.com/blog/2013/10/11/new-product-adafruit-pcb-ruler-6/ Adafruit Ruler].&lt;br /&gt;
&lt;br /&gt;
http://www.adafruit.com/images/large/1554bottom_LRG.jpg&lt;br /&gt;
&lt;br /&gt;
=== Widerstände &amp;amp; Kondensatoren ===&lt;br /&gt;
Maße siehe z.B. http://www.panasonic.com/industrial/components/pdf/AOA0000CE1.pdf&lt;br /&gt;
&lt;br /&gt;
* ✓ 0201 (wenn der Fertiger des Lineal das kann...)&lt;br /&gt;
* ✓ 0402&lt;br /&gt;
* ✓ 0603&lt;br /&gt;
* ✓ 0805&lt;br /&gt;
* ✓ 1206&lt;br /&gt;
* ✓ 1210&lt;br /&gt;
* 1812 (wenn noch Platz ist)&lt;br /&gt;
* 2010 (wenn noch Platz ist)&lt;br /&gt;
* 2512 (wenn noch Platz ist)&lt;br /&gt;
&lt;br /&gt;
=== Transistoren &amp;amp; ICs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SC-70&lt;br /&gt;
* ✓ SOT-23&lt;br /&gt;
* ✓ SOT-23-6&lt;br /&gt;
* ✓ SOT-89&lt;br /&gt;
* ✓ SOT-223&lt;br /&gt;
* ✓ TO-252 / DPAK http://www.fairchildsemi.com/dwg/TO/TO252A03.pdf&lt;br /&gt;
* ✓ TO-263 / D2PAK http://www.fairchildsemi.com/dwg/TO/TO263A02.pdf&lt;br /&gt;
&lt;br /&gt;
=== Dioden &amp;amp; LEDs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SMA / DO-214AC http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ SMB / DO-214AA http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ SMC / DO-214AB http://www.jedec.org/sites/default/files/docs/DO-214D.PDF&lt;br /&gt;
* ✓ Melf http://www.cdil.com/package/do213ab_dwng.pdf&lt;br /&gt;
* ✓ MiniMelf http://www.cdil.com/package/sod_80c.pdf&lt;br /&gt;
* ✓ MicroMelf http://www.vishay.com/docs/20003/smm0102.pdf&lt;br /&gt;
* ✓ PLCC-4 / 3528 http://catalog.osram-os.com/media/_en/Graphics/00042269_0.pdf&lt;br /&gt;
* ✓ PLCC-6 / 5050 http://ledversand24.de/media/pdf/ws2812preliminary51337f1c83131.pdf&lt;br /&gt;
* ✓ SOD323/SC76 http://www.infineon.com/dgdl/SOD323-Package_Overview.pdf?folderId=db3a30431936bc4b011952aab84f3bbe&amp;amp;fileId=db3a30431936bc4b011952beed653be3&lt;br /&gt;
&lt;br /&gt;
=== ICs ===&lt;br /&gt;
&lt;br /&gt;
* ✓ SOIC-24, 3.9mm-Body, ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
* ✓ SOIC-24, 7.5mm-Body, ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
Diese beiden SOIC-Breiten wenn möglich in einem Footprint zusammenfassen, also z.B. die linken Pins gemeinsam verwenden. Die beiden&lt;br /&gt;
Breiten dann über Bestückungsdruck-Linien kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
* ✓ SSOP-28, 5,3mm-Body, 0,65mm Pitch. Das ist die gängigste Variante, es gibt aber leider auch einige Abweichler mit anderem Pitch und Bodybreite die sich auch SSOP nennen :(&lt;br /&gt;
* TSSOP-28, 4,4mm-Body, 0,65mm Pitch&lt;br /&gt;
Auch bei diesen beiden: ein Footprint, aber mit Bestückungsdruck-Linien die kleineren Varianten für 8,14,16,20,24,28 Pins anzeichen, Pinzahl ranschreiben&lt;br /&gt;
&lt;br /&gt;
Für die Maße: http://www.microchip.com/stellent/groups/techpub_sg/documents/packagingspec/en012702.pdf&lt;br /&gt;
&lt;br /&gt;
Wenn noch Platz:&lt;br /&gt;
* TQFP32, 0.8mm Pitch http://www.microchip.com/stellent/groups/techpub_sg/documents/packagingspec/en012702.pdf&lt;br /&gt;
* TQFP48 / LQFP48, 0.5mm Pitch http://www.nxp.com/documents/outline_drawing/sot313-2_po.pdf&lt;br /&gt;
* ✓ QFN32, 0.5mm Pitch http://www.linear.com/docs/38749&lt;br /&gt;
&lt;br /&gt;
== Vorbestellungen ==&lt;br /&gt;
Interessenten tragen sich bitte &#039;&#039;&#039;am Ende der Liste ein und aktualisieren den Zwischenstand&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
Mindestbestellmenge ist nach aktuellem Stand 5 Stück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10  Dominik S. (dasd)&lt;br /&gt;
 5  Dennis X. (debegr92) &lt;br /&gt;
 2  Arne M. (armut) &lt;br /&gt;
 3  Benedikt K. (benek) &lt;br /&gt;
10  avr avr (colombo010) &lt;br /&gt;
 5  Jürgen (Gast) &lt;br /&gt;
 5  Uwe ... (uwegw) &lt;br /&gt;
15  Rene H. (promeus) &lt;br /&gt;
 5  hum (Gast) &lt;br /&gt;
 3  Werner A. (homebrew) &lt;br /&gt;
 2  Frank Werner (wesoft)&lt;br /&gt;
 5  Jan B. (diphthong) &lt;br /&gt;
 5  Thomas J. (tom16) &lt;br /&gt;
15  Felix Schulze (pepe) &lt;br /&gt;
 3  Patrick Berninghaus (patricck) &lt;br /&gt;
 5  B. B. (morgenmuffel) &lt;br /&gt;
 5  Bernd D. (bernd_d56)&lt;br /&gt;
 5  Daniel (Gast) &lt;br /&gt;
 5  Jan Dressler (keyman) &lt;br /&gt;
 3  Gerd E. (robberknight) &lt;br /&gt;
10  Ralf Engelhardt (r_e)&lt;br /&gt;
 5  D. S. (compuvidy) &lt;br /&gt;
 5  Michael R. (elektr-hobbyist) &lt;br /&gt;
10  Samuel Hildebrandt (musicsammy) &lt;br /&gt;
 5  Martin H. (marrtn) &lt;br /&gt;
 5  Michael Becker (mich_at_el) &lt;br /&gt;
 5  Marco André (marphy) &lt;br /&gt;
 5  Chris (Gast) &lt;br /&gt;
 5  mr. mo (Gast) &lt;br /&gt;
 5  Martin R. (martin84) &lt;br /&gt;
 3  J. S. (voochee) &lt;br /&gt;
 5  Andreas H. (ahz) &lt;br /&gt;
 5  Ronny Spiegel (duselbaer) &lt;br /&gt;
10  G. L. (lele) &lt;br /&gt;
 3  Axel Jäger (axeljaeger) &lt;br /&gt;
 5  Stephan G. (stephan_g35)&lt;br /&gt;
 5  Gibts Ne (schneeblau) &lt;br /&gt;
 5  Sascha G. (sascha-g) &lt;br /&gt;
 5  Richard Zink (Gast) &lt;br /&gt;
 5  Stephan K. (nightowl) &lt;br /&gt;
 5  Martin Wende (Firma: fritzler-avr.de) (fritzler) &lt;br /&gt;
 5  Jörg S. (Gast)&lt;br /&gt;
10  J. L. (lindenbaum) &lt;br /&gt;
10  Jan M. (mueschel) &lt;br /&gt;
 5  Bad Urban (bad_urban) &lt;br /&gt;
 5  Daniel M. (amad)&lt;br /&gt;
 5  Sascha S. (dec) &lt;br /&gt;
 5  A. S. (rava) &lt;br /&gt;
10  Jens M. (jens-m) &lt;br /&gt;
 5  Sascha E. (baracuss) &lt;br /&gt;
 5  avr avr (colombo010) &lt;br /&gt;
 5  Michael B. (michael_b25) &lt;br /&gt;
10  Thomas Sch. (doschi_) &lt;br /&gt;
10  K. J. (theborg0815)&lt;br /&gt;
 5  Daniel C. (cecky) &lt;br /&gt;
 3  Philipp E. (erlang) &lt;br /&gt;
 5  Thorsten Ostermann (Firma: mechapro GmbH) (ostermann)&lt;br /&gt;
10  vophatec (Manuel Z.)&lt;br /&gt;
 3  Carsten Peschke &lt;br /&gt;
 2  J.O. (Gast)&lt;br /&gt;
 5  D. Braun (garag)&lt;br /&gt;
 5  Michael.S. (michael0307)&lt;br /&gt;
 5  Didi S. (kokisan2000)&lt;br /&gt;
 5  Thomas L. (ics1702)&lt;br /&gt;
 5  Sebastian Engel (s-engel)&lt;br /&gt;
 5  Peter Sieg (petersieg)&lt;br /&gt;
 5  Martin S. (martin_s91)&lt;br /&gt;
 5  Manuel Steiner (steinerhippo)&lt;br /&gt;
 5  Nico B. (vegetico)&lt;br /&gt;
 5  Axel P. (axel_p)&lt;br /&gt;
 5  Mh. M. (mhm)&lt;br /&gt;
 5  Friedrich K (*)&lt;br /&gt;
 5  O.Hagendorf (ohagendorf)&lt;br /&gt;
10  Jonas K. (jonas k)&lt;br /&gt;
 5  Sam .. (sam1994)&lt;br /&gt;
10  Jens A. (Nepi) (erhöht von 5 auf 10 am 15.1.2014)&lt;br /&gt;
 5  Tom Z. (tom_z)&lt;br /&gt;
 5  Sven K. (herbivore)&lt;br /&gt;
 5  Steffen A (*)&lt;br /&gt;
 3  Stephan Henning (stephan-) notfalls auch 5&lt;br /&gt;
 5  Benjamin Jung (benjamin_j)&lt;br /&gt;
 5  Kai D. (kai1972)&lt;br /&gt;
 5  Gerd B. (bertr2d2)&lt;br /&gt;
 5  Martin G. (magoe)&lt;br /&gt;
 5  Stefan K. (oxid)&lt;br /&gt;
 5  S. Q. (frido2001)&lt;br /&gt;
 5  D. K. (elektricar)&lt;br /&gt;
 5  Markus C. (ljmarkus)&lt;br /&gt;
 5  Alexander K. (minjaman)&lt;br /&gt;
10  Dominic A. (neo123)&lt;br /&gt;
 3  Oliver S. (Oliver_S) notfalls auch 5&lt;br /&gt;
 5  Tobias S. (x12z34)&lt;br /&gt;
 5  Frank F. (frohf)&lt;br /&gt;
 5  Kalle S. (kallebmw)&lt;br /&gt;
 5  Bjoern G. (tueftler)&lt;br /&gt;
 5  Akif D. (adnc)&lt;br /&gt;
 5  Rico T. (tyrann410)&lt;br /&gt;
 5  Axel (axelg)&lt;br /&gt;
10  Elmar N. (zulue)&lt;br /&gt;
 5  Frank G. (frank_g53)&lt;br /&gt;
15  pko pprasch (pkopprasch)&lt;br /&gt;
 5  Alexander D. (Gast)&lt;br /&gt;
 5  Marius B. (majus)&lt;br /&gt;
20  F.FO (foldi)&lt;br /&gt;
 5  Stefan P. (nett_flanders)&lt;br /&gt;
 5  Carsten Wille (eagle38106)&lt;br /&gt;
 5  Steffen Schröter (stesch99)&lt;br /&gt;
 5  Guido C. (guidoanalog)&lt;br /&gt;
 5  Yann L. (ylere)&lt;br /&gt;
 5  Benedikt R. (da_miez)&lt;br /&gt;
 5  Thorsten F. (tfol)&lt;br /&gt;
 3  Oliver H. (oliver h) notfalls auch 5&lt;br /&gt;
 2  Zoidberg (Gast) 5 nur extrem ungern&lt;br /&gt;
 5  Markus M (mmax)&lt;br /&gt;
10  Maik Fox (sabuty)&lt;br /&gt;
 5  DL9RDW (Bernhard Schröcker)&lt;br /&gt;
10  Fer T. (fer_t)&lt;br /&gt;
 5  Einhart (einhart)&lt;br /&gt;
 5  Teo Derix (teoderix)&lt;br /&gt;
 3  Volker R. (Pcl86) wenn&#039;s nicht anders geht auch 5&lt;br /&gt;
 5  John (karabka)&lt;br /&gt;
 5  Matthias N. (nippey)&lt;br /&gt;
 5  David Z. (hawk_2k)&lt;br /&gt;
 5  Volker G. (voga2073)&lt;br /&gt;
20  Stefan Wagner (dl6dx)&lt;br /&gt;
20  Tobias Hochgürtel (tobias_h94)&lt;br /&gt;
10  Matthias H. (kaplic)&lt;br /&gt;
 5  Juli V. (torten_juli)&lt;br /&gt;
 5  Edu B.  (edu)&lt;br /&gt;
 5  Joe G. (Feinmechaniker)&lt;br /&gt;
10  Peter (elektronik24)&lt;br /&gt;
-------------------------------------&lt;br /&gt;
779 ZWISCHENSTAND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84356</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84356"/>
		<updated>2014-08-05T13:22:29Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt. Die Schaltung und das Layout für Hardware wurde mit der Software Eagle 6.4 in der Freeware-Version erstellt. Das übertragen des Layouts auf die Leiterplatten erfolgte im Tonertransfer-Verfahren, geätzt wurde mit CuCl&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; &lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ham-radio/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:Messkoppler.JPG|SWR-Messkoppler&lt;br /&gt;
Datei:Prozessorboard.jpg|Prozessorboard&lt;br /&gt;
Datei:Motoransteuerung.jpg|Motoransteuerung&lt;br /&gt;
Datei:RS-232_Schnittstelle.jpg|RS-232 Schittstelle&lt;br /&gt;
Datei:Prototyp.jpg|Prototyp&lt;br /&gt;
Datei:DAVE3.jpg|DAVE3-Apps&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Medium:Hardware.zip|Schaltungsunterlagen]]&lt;br /&gt;
&lt;br /&gt;
[[Medium:Software.zip|Software]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[http://www.mikrocontroller.net/user/show/longri Kontakt zum Autor hier im Forum]&lt;br /&gt;
*[http://longrisoft.de/ Homepage des Autors]&lt;br /&gt;
*[http://www.infineonforums.com/forums/8-XMC-Forum XMC-Forum] (englisch)&lt;br /&gt;
*[http://www.keil.com/pack/doc/cmsis_rtx/index.html CMSIS-RTX Dokumentation]&lt;br /&gt;
*[http://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html Beispielprojekte von Infineon]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84038</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84038"/>
		<updated>2014-07-20T15:51:18Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt. Die Schaltung und das Layout für Hardware wurde mit der Software Eagle 6.4 in der Freeware-Version erstellt. Das übertragen des Layouts auf die Leiterplatten erfolgte im Tonertransfer-Verfahren, geätzt wurde mit CuCl&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; &lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:Messkoppler.JPG|SWR-Messkoppler&lt;br /&gt;
Datei:Prozessorboard.jpg|Prozessorboard&lt;br /&gt;
Datei:Motoransteuerung.jpg|Motoransteuerung&lt;br /&gt;
Datei:RS-232_Schnittstelle.jpg|RS-232 Schittstelle&lt;br /&gt;
Datei:Prototyp.jpg|Prototyp&lt;br /&gt;
Datei:DAVE3.jpg|DAVE3-Apps&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Medium:Hardware.zip|Schaltungsunterlagen]]&lt;br /&gt;
&lt;br /&gt;
[[Medium:Software.zip|Software]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[http://www.mikrocontroller.net/user/show/longri Kontakt zum Autor hier im Forum]&lt;br /&gt;
*[http://longrisoft.de/ Homepage des Autors]&lt;br /&gt;
*[http://www.infineonforums.com/forums/8-XMC-Forum XMC-Forum] (englisch)&lt;br /&gt;
*[http://www.keil.com/pack/doc/cmsis_rtx/index.html CMSIS-RTX Dokumentation]&lt;br /&gt;
*[http://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html Beispielprojekte von Infineon]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84036</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84036"/>
		<updated>2014-07-20T15:19:07Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:Messkoppler.JPG|SWR-Messkoppler&lt;br /&gt;
Datei:Prozessorboard.jpg|Prozessorboard&lt;br /&gt;
Datei:Motoransteuerung.jpg|Motoransteuerung&lt;br /&gt;
Datei:RS-232_Schnittstelle.jpg|RS-232 Schittstelle&lt;br /&gt;
Datei:Prototyp.jpg|Prototyp&lt;br /&gt;
Datei:DAVE3.jpg|DAVE3-Apps&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Medium:Hardware.zip|Schaltungsunterlagen]]&lt;br /&gt;
&lt;br /&gt;
[[Medium:Software.zip|Software]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[http://www.mikrocontroller.net/user/show/longri Kontakt zum Autor hier im Forum]&lt;br /&gt;
*[http://longrisoft.de/ Homepage des Autors]&lt;br /&gt;
*[http://www.infineonforums.com/forums/8-XMC-Forum XMC-Forum] (englisch)&lt;br /&gt;
*[http://www.keil.com/pack/doc/cmsis_rtx/index.html CMSIS-RTX Dokumentation]&lt;br /&gt;
*[http://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html Beispielprojekte von Infineon]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Hardware.zip&amp;diff=84035</id>
		<title>Datei:Hardware.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Hardware.zip&amp;diff=84035"/>
		<updated>2014-07-20T15:17:58Z</updated>

		<summary type="html">&lt;p&gt;Longri: Longri lud eine neue Version von „Datei:Hardware.zip“ hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Hardware.zip&amp;diff=84034</id>
		<title>Datei:Hardware.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Hardware.zip&amp;diff=84034"/>
		<updated>2014-07-20T15:17:41Z</updated>

		<summary type="html">&lt;p&gt;Longri: Longri lud eine neue Version von „Datei:Hardware.zip“ hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84033</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84033"/>
		<updated>2014-07-20T15:10:17Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:Messkoppler.JPG|SWR-Messkoppler&lt;br /&gt;
Datei:Prozessorboard.jpg|Prozessorboard&lt;br /&gt;
Datei:Motoransteuerung.jpg|Motoransteuerung&lt;br /&gt;
Datei:RS-232_Schnittstelle.jpg|RS-232 Schittstelle&lt;br /&gt;
Datei:Prototyp.jpg|Prototyp&lt;br /&gt;
Datei:DAVE3.jpg|DAVE3-Apps&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Hardware.zip|Schaltungsunterlagen]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Software.zip|Software]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[http://www.mikrocontroller.net/user/show/longri Kontakt zum Autor hier im Forum]&lt;br /&gt;
*[http://longrisoft.de/ Homepage des Autors]&lt;br /&gt;
*[http://www.infineonforums.com/forums/8-XMC-Forum XMC-Forum] (englisch)&lt;br /&gt;
*[http://www.keil.com/pack/doc/cmsis_rtx/index.html CMSIS-RTX Dokumentation]&lt;br /&gt;
*[http://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html Beispielprojekte von Infineon]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84032</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84032"/>
		<updated>2014-07-20T15:08:28Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:Messkoppler.JPG|SWR-Messkoppler&lt;br /&gt;
Datei:Prozessorboard.jpg|Prozessorboard&lt;br /&gt;
Datei:Motoransteuerung.jpg|Motoransteuerung&lt;br /&gt;
Datei:RS-232_Schnittstelle.jpg|RS-232 Schittstelle&lt;br /&gt;
Datei:Prototyp.jpg|Prototyp&lt;br /&gt;
Datei:DAVE3.jpg|DAVE3-Apps&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Hardware.zip|Schaltungsunterlagen]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Software.zip|Software]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[http://www.mikrocontroller.net/user/show/longri Kontakt zum Autor hier im Forum]&lt;br /&gt;
*[http://longrisoft.de/ Homepage des Autors]&lt;br /&gt;
*[http://www.infineonforums.com/forums/8-XMC-Forum XMC-Forum] (englisch)&lt;br /&gt;
*[http://www.keil.com/pack/doc/cmsis_rtx/index.html CMSIS-RTX Dokumentation]&lt;br /&gt;
*[http://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html Beispielprojekte von Infineon]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Software.zip&amp;diff=84027</id>
		<title>Datei:Software.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Software.zip&amp;diff=84027"/>
		<updated>2014-07-20T15:03:55Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Hardware.zip&amp;diff=84022</id>
		<title>Datei:Hardware.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Hardware.zip&amp;diff=84022"/>
		<updated>2014-07-20T14:59:21Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84021</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84021"/>
		<updated>2014-07-20T14:58:55Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:Messkoppler.JPG|SWR-Messkoppler&lt;br /&gt;
Datei:Prozessorboard.jpg|Prozessorboard&lt;br /&gt;
Datei:Motoransteuerung.jpg|Motoransteuerung&lt;br /&gt;
Datei:RS-232_Schnittstelle.jpg|RS-232 Schittstelle&lt;br /&gt;
Datei:Prototyp.jpg|Prototyp&lt;br /&gt;
Datei:DAVE3.jpg|DAVE3-Apps&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Hardware.zip|Schaltungsunterlagen]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Software.zip|Software]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[http://www.mikrocontroller.net/user/show/longri Kontakt zum Autor hier im Forum]&lt;br /&gt;
*[http://longrisoft.de/ Homepage des Autors]&lt;br /&gt;
*[http://www.infineonforums.com/forums/8-XMC-Forum XMC-Forum] (englisch)&lt;br /&gt;
*[http://www.keil.com/pack/doc/cmsis_rtx/index.html CMSIS-RTX Dokumentation]&lt;br /&gt;
*[http://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html Beispielprojekte von Infineon]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84020</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84020"/>
		<updated>2014-07-20T14:48:32Z</updated>

		<summary type="html">&lt;p&gt;Longri: Weitere Vervollständigung der Seite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Datei:Messkoppler.JPG|miniatur|zentriert|SWR-Messkoppler]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Prozessorboard.jpg|miniatur|zentriert|Prozessorboard]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Motoransteuerung.jpg|miniatur|zentriert|Motoransteuerung]]&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
[[Datei:RS-232_Schnittstelle.jpg|miniatur|zentriert|RS-232 Schittstelle]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Prototyp.jpg|miniatur|zentriert|Prototyp]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:DAVE3.jpg|miniatur|zentriert|DAVE3-Apps]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Hardware.zip|Schaltungsunterlagen]]&lt;br /&gt;
&lt;br /&gt;
[[Software.zip|Software]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[http://www.mikrocontroller.net/user/show/longri Kontakt zum Autor hier im Forum]&lt;br /&gt;
*[http://longrisoft.de/ Homepage des Autors]&lt;br /&gt;
*[http://www.infineonforums.com/forums/8-XMC-Forum XMC-Forum] (englisch)&lt;br /&gt;
*[http://www.keil.com/pack/doc/cmsis_rtx/index.html CMSIS-RTX Dokumentation]&lt;br /&gt;
*[http://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html Beispielprojekte von Infineon]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:DAVE3.jpg&amp;diff=84019</id>
		<title>Datei:DAVE3.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:DAVE3.jpg&amp;diff=84019"/>
		<updated>2014-07-20T14:32:43Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Prototyp.jpg&amp;diff=84018</id>
		<title>Datei:Prototyp.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Prototyp.jpg&amp;diff=84018"/>
		<updated>2014-07-20T14:32:27Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84017</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84017"/>
		<updated>2014-07-20T14:32:11Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Datei:Messkoppler.JPG|miniatur|zentriert|SWR-Messkoppler]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Prozessorboard.jpg|miniatur|zentriert|Prozessorboard]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Motoransteuerung.jpg|miniatur|zentriert|Motoransteuerung]]&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
[[Datei:RS-232_Schnittstelle.jpg|miniatur|zentriert|RS-232 Schittstelle]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Prototyp.jpg|miniatur|zentriert|Prototyp]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:DAVE3.jpg|miniatur|zentriert|DAVE3-Apps]]&lt;br /&gt;
|}&lt;br /&gt;
      &lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84016</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84016"/>
		<updated>2014-07-20T14:30:41Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Datei:Messkoppler.JPG|miniatur|zentriert|SWR-Messkoppler]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Prozessorboard.jpg|miniatur|zentriert|Prozessorboard]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Motoransteuerung1.jpg|miniatur|zentriert|Motoransteuerung]]&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
[[Datei:RS-232_Schnittstelle.jpg|miniatur|zentriert|RS-232 Schittstelle]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Prototyp.jpg|miniatur|zentriert|Prototyp]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:DAVE3.jpg|miniatur|zentriert|DAVE3-Apps]]&lt;br /&gt;
|}&lt;br /&gt;
      &lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:RS-232_Schnittstelle.jpg&amp;diff=84015</id>
		<title>Datei:RS-232 Schnittstelle.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:RS-232_Schnittstelle.jpg&amp;diff=84015"/>
		<updated>2014-07-20T14:30:02Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Motoransteuerung.jpg&amp;diff=84014</id>
		<title>Datei:Motoransteuerung.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Motoransteuerung.jpg&amp;diff=84014"/>
		<updated>2014-07-20T14:29:32Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Prozessorboard.jpg&amp;diff=84013</id>
		<title>Datei:Prozessorboard.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Prozessorboard.jpg&amp;diff=84013"/>
		<updated>2014-07-20T14:29:11Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Messkoppler.JPG&amp;diff=84012</id>
		<title>Datei:Messkoppler.JPG</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Messkoppler.JPG&amp;diff=84012"/>
		<updated>2014-07-20T14:28:39Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84011</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84011"/>
		<updated>2014-07-20T14:28:08Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Datei:Messkoppler.JPG|miniatur|zentriert|SWR-Messkoppler]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Prozessorboard.jpg|miniatur|zentriert|Prozessorboard]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Motoransteuerung.jpg|miniatur|zentriert|Motoransteuerung]]&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
[[Datei:RS-232_Schnittstelle.jpg|miniatur|zentriert|RS-232 Schittstelle]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:Prototyp.jpg|miniatur|zentriert|Prototyp]]&lt;br /&gt;
||&lt;br /&gt;
[[Datei:DAVE3.jpg|miniatur|zentriert|DAVE3-Apps]]&lt;br /&gt;
|}&lt;br /&gt;
      &lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84010</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84010"/>
		<updated>2014-07-20T14:15:46Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:Messkoppler.jpg|miniatur]]&lt;br /&gt;
|}&lt;br /&gt;
      &lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84009</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84009"/>
		<updated>2014-07-20T14:05:20Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
[[Datei:Messkoppler.jpg|miniatur|SWR-Messkoppler]]&lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
      &lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Messkoppler.jpg&amp;diff=84008</id>
		<title>Datei:Messkoppler.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Messkoppler.jpg&amp;diff=84008"/>
		<updated>2014-07-20T14:04:04Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84007</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=84007"/>
		<updated>2014-07-20T14:00:43Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler === &lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente. Auf dem XMC 2Go sollte zum Schutz zwischen der Spannungsversorgung über USB und der Spannungsversorgung vom System die 3,3V Verbindung unterbrochen werden. Dieses geschieht am besten in der Nähe von C1/C2.  &lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kommunikation zwischen den einzelnen Threads habe ich per Mailbox gelöst. Solch eine Mailbox einzurichten ist relativ einfach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
typedef struct	               		       // Struktur der Mailbox festlegen&lt;br /&gt;
{&lt;br /&gt;
	char Message[16];												&lt;br /&gt;
	uint8_t	Lenght;													&lt;br /&gt;
} Mail_Queue_struct;&lt;br /&gt;
&lt;br /&gt;
osMailQId Mail_Queue;	                       // Definition der Mailbóx&lt;br /&gt;
osMailQDef(Mail_Queue, 16, Mail_Queue_Struct); // Definition der Parameter für Mailbox&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   ...&lt;br /&gt;
   Mail_Queue = osMailCreate(osMailQ(Mail_Queue), NULL); // Mailbox anlegen  	&lt;br /&gt;
&lt;br /&gt;
   osKernelInitialize();         		// RTX-Kernel initialisieren&lt;br /&gt;
   osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Mailboxen können dann mit &#039;&#039;osMailPut()&#039;&#039; gefüllt werden. Mit &#039;&#039;osMailGet()&#039;&#039; können die Nachrichten vom Empfänger wieder abgeholt werden. Näheres dazu in der [http://www.keil.com/pack/doc/cmsis_rtx/group___c_m_s_i_s___r_t_o_s___mail.html Dokumentation] und in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;system_running()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Gerade in der Entwicklungsphase und auch später ist es wichtig zu überwachen ob das Betriebssystem noch läuft oder irgendwo &amp;quot;hängt&amp;quot;. Dazu habe ich einen separaten Thread geschrieben, in dem nur die LED 1 auf dem XMC 2Go blinkt. Bei der Fehlersuche kann man so leicht feststellen ob das Betriebssystem noch läuft oder ein &#039;&#039;Lock&#039;&#039; aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;uart_transmit()&#039;&#039; === &lt;br /&gt;
&lt;br /&gt;
Um aktuelle Messwerte ausgeben zu können ist eine Möglichkeit Daten zum PC zu senden implementiert. Momentan ist dieses über den Debugger des XMC 2Go aktiviert, kann aber durch Pinänderung in DAVE3 leicht in die implementierte serielle Schnittstelle umgeschaltet werden. Die Sendedaten erhält der Thread per Mailbox.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;swr_messung()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Im Thread &#039;&#039;swr-messung()&#039;&#039; werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\text{SWR} = \frac{V+R}{V-R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert und wird berechnet. Nach der Berechnung wird das SWR per Mailbox an den Thread &#039;&#039;control()&#039;&#039; gesendet.&lt;br /&gt;
&lt;br /&gt;
=== Thread &#039;&#039;control()&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
In diesem Thread werden die Steueraufgaben des Systems abgearbeitet. Bei per Mailbox eintreffenden SWR über einem bestimmten Schwellwert wird der Motor am Abstimmkondensator so lange gedreht bis das SWR unter den Schwellwert gefallen ist. Da im momentanen Ausbauzustand noch kein Drehwinkelgeber und keine Frequenzanalyse implementiert ist, hat der Motor bei Automatikbetrieb noch keine Drehrichtungsvorwahl. Bei unterschreiten eines SWR von 2.0 wird der Motor auf die hälfte der Geschwindigkeit reduziert um eine feinere Abstimmung zu ermöglichen. Weiterhin werden in diesem Thread die beiden Taster zur manuellen Abstimmung abgefragt. Hier ist eine Richtungsvorwahl bei niedriger Geschwindigkeit möglich.&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
Es macht immer wieder Spaß sich in neue Prozessoren einzuarbeiten. Sehr nützlich ist dabei wenn auch mal andere Personen ihre Ideen und Einfälle dazu beitragen. Auch bringt ein solches Projekt Erfahrungen in vorher nicht angeschnittenen Themengebieten. Momentan liegt die Steuerung als Prototyp in der Erprobungsphase vor und ist auch als solche zu betrachten. Ich übernehme keine Haftung für Schäden an anderen und anderen Geräten. In meiner knapp bemessenden Freizeit werde ich das Projekt weiter vervollständigen und diesen Artikel von Zeit zu Zeit aktualisieren. Ein aktueller Stand ist immer auf meiner [http://longrisoft.de/index.php/ucontroller-technik/steuergeraet-fuer-antennen Homepage] zu finden.&lt;br /&gt;
Ich möchte mich bei allen bedanken die mir bei diesem Projekt mit Rat und Tat zur Seite standen. Inbesondere sind hier zu nennen Frau Katja Koller von der Firma Infineon, Volker [http://elektronikbasteln.pl7.de/ SM5ZBS] und mein Vater.     &lt;br /&gt;
&lt;br /&gt;
      &lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83915</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83915"/>
		<updated>2014-07-19T14:34:11Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden.&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler ===&lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente.&lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMSIS RTOS RTX ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fortsetzung folgt ...&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83907</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83907"/>
		<updated>2014-07-19T02:25:29Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden.&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler ===&lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente.&lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMX-RTOS ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fortsetzung folgt ...&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83906</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83906"/>
		<updated>2014-07-19T02:24:50Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden.&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler ===&lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente.&lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMX-RTOS ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 500ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fortsetzung folgt ...&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;br /&gt;
[http://www.mikrocontroller.net/user/show/longri Kontakt]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83905</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83905"/>
		<updated>2014-07-19T02:17:18Z</updated>

		<summary type="html">&lt;p&gt;Longri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;&#039;&#039;Dieser Artikel nimmt am Artikelwettbewerb [http://www.mikrocontroller.net/topic/infineon-xmc-design-contest-2014 Infineon XMC Design Contest 2014] teil.&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden.&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler ===&lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente.&lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMX-RTOS ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 1000ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fortsetzung folgt ...&lt;br /&gt;
[[Kategorie:Infineon_XMC_Design_Contest_2014]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83904</id>
		<title>Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Entwicklung_eines_Steuerger%C3%A4ts_zur_automatischen_Antennenabstimmung&amp;diff=83904"/>
		<updated>2014-07-19T02:09:51Z</updated>

		<summary type="html">&lt;p&gt;Longri: Die Seite wurde neu angelegt: „&amp;#039;&amp;#039;von Nico Schmidt DD6VFS&amp;#039;&amp;#039;  Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört …“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von Nico Schmidt DD6VFS&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ich besitze für meine Amateurfunkaktivitäten auf den Kurzwellenbändern eine selbstgebaute Magnetic-Loop. Was mich dabei stört ist das die Neuabstimmung immer sehr umständlich ist, da meine Funk- und Bastelecke (der sogenannte Shack) und der Standort der Antenne räumlich auseinanderliegen. Dafür sollte nun Abhilfe geschehen. Der Aufbau sollte größtenteils mit noch vorhandenen Bauelementen erfolgen. Zunächst soll ein Prototyp zum Verständnis der Arbeitsweise des XMC1100 entstehen  der nach Bedarf ausbaufähig ist. Weiterhin soll die fehlerfreie Zusammenarbeit der Komponenten erprobt und optimiert werden.&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Eine Antenne sollte bei ihrer Benutzung auf der benutzten Frequenz abgestimmt sein. Dieses wird als Resonanz bezeichnet. Nur so wird die optimale Leistung von der Antenne aufgenommen bzw. abgegeben([http://de.wikipedia.org/wiki/Leistungsanpassung Leistungsanpassung]). Um die Resonanz einer Antenne zu bestimmen gibt es mehrere Möglichkeiten.  Bei diesem Projekt wird die Resonanz über das Stehwellenverhältnis (englisch standing wave ratio SWR) ermittelt.&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware besteht aus hauptsächlich aus einem SWR-Koppler, einem Prozessorboard mit dem XMC 2Go Board und einer Motoransteuerung. Um das Projekt erweitern und auch an eigene Ideen anpassen  zu können, ist die Hardware modular ausgeführt.&lt;br /&gt;
=== SWR-Messkoppler ===&lt;br /&gt;
Der SWR-Messkoppler basiert auf einer Standartschaltung, zu finden bei Volker, [http://elektronikbasteln.pl7.de/umbau-eines-swr-meters.html SM5ZBS], und anderen. Er befindet sich, um Störungen an der anderen Hardware zu vermeiden, komplett in einem Weißblechgehäuse. Aus diesem werden nur die gemessene Vorwärts- und Rückwärtsleistung (über die jeweiligen Spannungen) sowie die Koaxialkabelanschlüsse für Sender und Antenne  herausgeführt.&lt;br /&gt;
=== Prozessorboard ===&lt;br /&gt;
Auf dem Prozessorboard befindet findet das XMC 2Go. Als zentrale Schaltstelle des Systems sind auf  ihm die Verbindungen zum SWR-Messkoppler, zur RS232-Schnittstelle, zur Motoransteuerung und eine SPI-Schnittstelle herausgeführt. Es sind Anschlüsse zum für Taster manuellen Rechts-/Linkslauf sowie eine  Weiterhin befinden sich dort die 3,3V Spannungsregelung und Anschlüsse für die Bedienelemente.&lt;br /&gt;
Die gewandelten Spannungen vom SWR-Messkoppler werden über Schutzdioden an den Ports P2.8/P2.9 zum XMC 2Go geführt. Über P0.0 und P0.5 werden die Signale zur Motoransteuerung herausgeführt. Weiterhin sind an P2.10 und P2.11 die Anschlüsse für den manuellen Rechts-Linkslauf.&lt;br /&gt;
Auf der 2. Anschlussleiste des XMC 2Go befindet sich an P0.6/P0.7 die serielle Schnittstelle. An P0.8, P0.9, P0.14 und P0.15 befindet sich die SPI-Schnittstelle. Über P2.0 wurde ein Anschluss für die „SWR Ok“-Signalisierung vorgesehen.&lt;br /&gt;
=== Motoransteuerung ===  &lt;br /&gt;
Als Motor ist bei diesem Projekt ein modifizierter Modellbauservo mit den Kenndaten 4,8V/150mA vorgesehen. Die Ansteuerung des Motors erfolgt über eine Halbbrücke L293D. Die Umschaltung der Drehrichtung erfolgt über Logikgatter SN74LS00 die auch für die Anpassung CMOS-TTL sorgen. Als Signale vom Prozessorboard genügen damit nur ein Richtungs- und das PWM-Signal. Aufgrund des Langsamlauf des Motors und des nachgeschalteten Schneckengetriebes wird der Bremsmodus des L293D nicht benötigt. Zusätzlich wird der Motor über Pulsweitenmodulation angesteuert.&lt;br /&gt;
=== RS232 Schnittstelle ===&lt;br /&gt;
Um die Anzeige der aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden.&lt;br /&gt;
=== SPI-Schnittstelle ===&lt;br /&gt;
Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung oder ein EEPROM, wurde ein SPI-Schnittstelle herausgeführt. Diese ist beim momentanen Ausbaustand aber noch nicht in Benutzung.&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Als Netzteil wird ein einfaches 5V-Netzteil auf Basis eines Low-Drop-Reglers L4950V mit Standartbauelementen benutzt. Aus dieser wird dann auf dem Prozessorboard die 3,3V Spannung erzeugt.&lt;br /&gt;
== Software ==&lt;br /&gt;
Die Softwareentwicklung erfolgte mit unter DAVE3 von Infineon und Keil µVision 5. Mit DAVE3 wurden die DAVE-Apps eingerichtet und mit µVision erfolgte die Programmierung der Funktionen und Threads. Um meine im Studium gesammelten Kenntnisse zu festigen und neue Erfahrungen zu sammeln ist das Programm für die Steuerung RTOS-basiert. Durch die Firmen Keil und Infineon wird bei ihren Entwicklungsumgebungen ein frei benutzbares Echtzeitbetriebssystem mit. Auch ist die Implementierung neuer Funktionen so um einiges leichter. &lt;br /&gt;
=== CMX-RTOS ===&lt;br /&gt;
Ein großer Vorteil von Echtzeitbetriebssystemen ist, neben der zeitlichen Vorhersagbarkeit und der Prioritätensteuerung, die Möglichkeit Funktionen in eigenständige Threads auszulagern. Es gibt weitere Vorteile, die hier aber nicht weiter betrachtet werden. Der Nachteil ist das durch das Betriebssystem mehr Flash-Speicher und mehr internes RAM verbraucht wird.&lt;br /&gt;
Einen neuen Thread anzulegen ist relativ einfach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;DAVE3.h&amp;gt;					// für DAVE3-Funktionen&lt;br /&gt;
&lt;br /&gt;
void test(void const *arg);				// Prototype für Thread „test“&lt;br /&gt;
&lt;br /&gt;
osThreadDef (test, osPriorityNormal, 1, 0);		// Definition von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	DAVE_Init();					// Initialisation der DAVE Apps&lt;br /&gt;
&lt;br /&gt;
	osThreadCreate (osThread (test), NULL);		// Anlegen von Thread &amp;quot;test&amp;quot;&lt;br /&gt;
	osKernelInitialize();				// RTX-Kernel initialisieren&lt;br /&gt;
	osKernelStart ();				// RTX-Kernel starten&lt;br /&gt;
&lt;br /&gt;
	while(1);			 		// Endlosschleife&lt;br /&gt;
}&lt;br /&gt;
																								&lt;br /&gt;
void test(void const *arg)				// Thread „test“&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dieser Thread kann dann wie gewohnt mit unser &#039;&#039;while(1)&#039;&#039;-Endlosschleife gefüllt werden. Wichtig ist dabei in dieser Schleife das im Thread mit einer &#039;&#039;wait&#039;&#039;-Funktion ist da andernfalls der Thread die komplette Rechenleistung des Controllers komplett für sich in Anspruch nimmt und andere Threads mit gleicher oder niedriger Priorität nicht mehr ausgeführt werden können. Von diesen &#039;&#039;wait&#039;&#039;-Funktionen gibt es mehrere. Näheres dazu in der Onlinedokumentation sowie in meinem Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void test(void const *arg)&lt;br /&gt;
{&lt;br /&gt;
	while(1)					// Endlosschleife	&lt;br /&gt;
	{	&lt;br /&gt;
		IO004_TogglePin(IO004_Handle0); 	// Pin umschalten&lt;br /&gt;
		osDelay(500);				// 1000ms warten&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fortsetzung folgt ...&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Infineon_XMC_2Go&amp;diff=83010</id>
		<title>Infineon XMC 2Go</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Infineon_XMC_2Go&amp;diff=83010"/>
		<updated>2014-05-16T06:27:13Z</updated>

		<summary type="html">&lt;p&gt;Longri: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das Infineon XMC 2GO ist ein Entwicklungsboard für den ARM Cortex M0-basierten Mikrocontroller [https://www.mikrocontroller.net/part/XMC1100 XMC1100] (64 kB Flash, 16 kB RAM). Auf dem Board ist ein weiterer Controller der über USB Programmierung &amp;amp; Debugging ermöglicht, und die serielle UART-Schnittstelle des XMC1100 als virtuellen COM Port bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Das XMC 2Go eignet sich besonders für Ein- und Umsteiger von 8-Bit-Controllern, da die Hardware sehr übersichtlich ist, Kommunikation mit dem PC auf einfache Weise über ein UART stattfinden kann, und es durch seine geringe Größe gut zum Einsatz auf einem [[Breadboard]] geeignet ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:XMC 2Go mediu 002.jpg|Das Board im Detail&lt;br /&gt;
Datei:XMC 2Go hand.jpeg|Größenvergleich&lt;br /&gt;
Datei:XMC 2Go breadboard-1.jpeg|Anwendungsbeispiel mit [[Breadboard]]&lt;br /&gt;
Datei:XMC2GO.PNG|Komponenten und Abmessungen&lt;br /&gt;
Datei:XMC 2Go Schematic.svg|Schaltplan&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den einfachsten Einstieg bietet die Entwicklungsumgebung [http://www.infineon.com/cms/en/product/microcontrollers/development-tools,-software-and-kits/dave-tm-3-%2013-auto-code-generation-and-free-tools/channel.html?channel=db3a30433580b37101359f8ee6963814 DAVE]. DAVE basiert auf Eclipse CDT, und enthält neben dem GNU C Compiler (GCC) die für das Flashen und Debuggen des Mikrocontrollers nötigen Tools. Grundsätzlich lässt sich allerdings auch jede andere Entwicklungsumgebung (bzw. jeder Compiler verwenden), die Code für Cortex M0 erzeugen kann.&lt;br /&gt;
&lt;br /&gt;
Von Keil gibt es kostenlos eine spezielle Version der Entwicklungsumgebung MDK für XMC1000-Controller, welche im Gegensatz zur normalen MDK Lite-Version bis zu 128 kB Code unterstützt [http://www2.keil.com/infineon/mdk/].&lt;br /&gt;
&lt;br /&gt;
Die Fa. iSYSTEM stellt neben einem Debug-plugin für Dave mit winIDEAOpen eine kostenlose Entwicklungsumgebung für Cortex-M MCU&#039;s zur Verfügung[http://www.isystem.com/download/winideaopen]. Diese arbeitet unlimitiert mit dem GCC und für die Keil bzw. IAR Compiler bis zu 32K Code. Auf der winIDEAOpen Seite steht auch ein Beispielpaket für die XMC1000 und XMC4000 Familien zum Download bereit. Neben den Infineon EasyStart und RunningLEDs Beispielen beinhaltet dies auch bereits ein FreeRTOS Projekt. winIDEAOpen enthält einen Kernel plugin für FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
* [http://www.infineon.com/dgdl/xmc1100_ds_v1.2_2013_12.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a30433d1d0bbe013d256b60160b7f&amp;amp;ack=t XMC1100 Datenblatt]&lt;br /&gt;
* [http://www.infineon.com/dgdl/xmc1100_rm_v1+0_2013_03.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a30433cfb5caa013d1600856033eb&amp;amp;ack=t XMC1100 Reference Manual]&lt;br /&gt;
* [http://www.infineon.com/dgdl/Board_Users_Manual_XMC_2Go_Kit_with_XMC1100_R1.0.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a3043444ee5dc014453d6c75078c6&amp;amp;ack=t XMC 2Go Manual]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.ehitex.de/application-kits/infineon/471/xmc-2go Hitex (5€)]&lt;br /&gt;
* [http://shop.myavr.de/Aktionen/XMC%202Go.htm?sp=article.sp.php&amp;amp;artID=200128 MyAVR (6€)]&lt;br /&gt;
* [http://www.digikey.de/product-search/de?x=0&amp;amp;y=0&amp;amp;lang=de&amp;amp;site=de&amp;amp;KeyWords=xmc2go Digikey (~8€)]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://mikrocontroller.bplaced.net/wordpress/?page_id=3834 Schritt-für-Schritt-Anleitung und Beispielprojekt für Keil µVision]&lt;br /&gt;
* [http://longrisoft.de/index.php/ucontroller-technik/xmc2go Eine weitere Seite zur Entwicklung mit dem XMC 2Go unter Keil µVison]&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM]]&lt;br /&gt;
[[Category:Infineon XMC]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Infineon_XMC_2Go&amp;diff=82995</id>
		<title>Infineon XMC 2Go</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Infineon_XMC_2Go&amp;diff=82995"/>
		<updated>2014-05-13T17:18:18Z</updated>

		<summary type="html">&lt;p&gt;Longri: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das Infineon XMC 2GO ist ein Entwicklungsboard für den ARM Cortex M0-basierten Mikrocontroller [https://www.mikrocontroller.net/part/XMC1100 XMC1100] (64 kB Flash, 16 kB RAM). Auf dem Board ist ein weiterer Controller der über USB Programmierung &amp;amp; Debugging ermöglicht, und die serielle UART-Schnittstelle des XMC1100 als virtuellen COM Port bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Das XMC 2Go eignet sich besonders für Ein- und Umsteiger von 8-Bit-Controllern, da die Hardware sehr übersichtlich ist, Kommunikation mit dem PC auf einfache Weise über ein UART stattfinden kann, und es durch seine geringe Größe gut zum Einsatz auf einem [[Breadboard]] geeignet ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:XMC 2Go mediu 002.jpg|Das Board im Detail&lt;br /&gt;
Datei:XMC 2Go hand.jpeg|Größenvergleich&lt;br /&gt;
Datei:XMC 2Go breadboard-1.jpeg|Anwendungsbeispiel mit [[Breadboard]]&lt;br /&gt;
Datei:XMC2GO.PNG|Komponenten und Abmessungen&lt;br /&gt;
Datei:XMC 2Go Schematic.svg|Schaltplan&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den einfachsten Einstieg bietet die Entwicklungsumgebung [http://www.infineon.com/cms/en/product/microcontrollers/development-tools,-software-and-kits/dave-tm-3-%2013-auto-code-generation-and-free-tools/channel.html?channel=db3a30433580b37101359f8ee6963814 DAVE]. DAVE basiert auf Eclipse CDT, und enthält neben dem GNU C Compiler (GCC) die für das Flashen und Debuggen des Mikrocontrollers nötigen Tools. Grundsätzlich lässt sich allerdings auch jede andere Entwicklungsumgebung (bzw. jeder Compiler verwenden), die Code für Cortex M0 erzeugen kann.&lt;br /&gt;
&lt;br /&gt;
Von Keil gibt es kostenlos eine spezielle Version der Entwicklungsumgebung MDK für XMC1000-Controller, welche im Gegensatz zur normalen MDK Lite-Version bis zu 128 kB Code unterstützt [http://www2.keil.com/infineon/mdk/].&lt;br /&gt;
&lt;br /&gt;
Die Fa. iSYSTEM stellt neben einem Debug-plugin für Dave mit winIDEAOpen eine kostenlose Entwicklungsumgebung für Cortex-M MCU&#039;s zur Verfügung[http://www.isystem.com/download/winideaopen]. Diese arbeitet unlimitiert mit dem GCC und für die Keil bzw. IAR Compiler bis zu 32K Code. Auf der winIDEAOpen Seite steht auch ein Beispielpaket für die XMC1000 und XMC4000 Familien zum Download bereit. Neben den Infineon EasyStart und RunningLEDs Beispielen beinhaltet dies auch bereits ein FreeRTOS Projekt. winIDEAOpen enthält einen Kernel plugin für FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
* [http://www.infineon.com/dgdl/xmc1100_ds_v1.2_2013_12.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a30433d1d0bbe013d256b60160b7f&amp;amp;ack=t XMC1100 Datenblatt]&lt;br /&gt;
* [http://www.infineon.com/dgdl/xmc1100_rm_v1+0_2013_03.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a30433cfb5caa013d1600856033eb&amp;amp;ack=t XMC1100 Reference Manual]&lt;br /&gt;
* [http://www.infineon.com/dgdl/Board_Users_Manual_XMC_2Go_Kit_with_XMC1100_R1.0.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a3043444ee5dc014453d6c75078c6&amp;amp;ack=t XMC 2Go Manual]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.ehitex.de/application-kits/infineon/471/xmc-2go Hitex (5€)]&lt;br /&gt;
* [http://shop.myavr.de/Aktionen/XMC%202Go.htm?sp=article.sp.php&amp;amp;artID=200128 MyAVR (6€)]&lt;br /&gt;
* [http://www.digikey.de/product-search/de?x=0&amp;amp;y=0&amp;amp;lang=de&amp;amp;site=de&amp;amp;KeyWords=xmc2go Digikey (~8€)]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://mikrocontroller.bplaced.net/wordpress/?page_id=3834 Schritt-für-Schritt-Anleitung und Beispielprojekt für Keil µVision]&lt;br /&gt;
* [http://longrisoft.de/index.php/elektronik/ucontroller-technik/xmc2go Eine weitere Seite zur Entwicklung mit dem XMC 2Go unter Keil µVison]&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM]]&lt;br /&gt;
[[Category:Infineon XMC]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Infineon_XMC_2Go&amp;diff=82994</id>
		<title>Infineon XMC 2Go</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Infineon_XMC_2Go&amp;diff=82994"/>
		<updated>2014-05-13T17:16:49Z</updated>

		<summary type="html">&lt;p&gt;Longri: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das Infineon XMC 2GO ist ein Entwicklungsboard für den ARM Cortex M0-basierten Mikrocontroller [https://www.mikrocontroller.net/part/XMC1100 XMC1100] (64 kB Flash, 16 kB RAM). Auf dem Board ist ein weiterer Controller der über USB Programmierung &amp;amp; Debugging ermöglicht, und die serielle UART-Schnittstelle des XMC1100 als virtuellen COM Port bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Das XMC 2Go eignet sich besonders für Ein- und Umsteiger von 8-Bit-Controllern, da die Hardware sehr übersichtlich ist, Kommunikation mit dem PC auf einfache Weise über ein UART stattfinden kann, und es durch seine geringe Größe gut zum Einsatz auf einem [[Breadboard]] geeignet ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:XMC 2Go mediu 002.jpg|Das Board im Detail&lt;br /&gt;
Datei:XMC 2Go hand.jpeg|Größenvergleich&lt;br /&gt;
Datei:XMC 2Go breadboard-1.jpeg|Anwendungsbeispiel mit [[Breadboard]]&lt;br /&gt;
Datei:XMC2GO.PNG|Komponenten und Abmessungen&lt;br /&gt;
Datei:XMC 2Go Schematic.svg|Schaltplan&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den einfachsten Einstieg bietet die Entwicklungsumgebung [http://www.infineon.com/cms/en/product/microcontrollers/development-tools,-software-and-kits/dave-tm-3-%2013-auto-code-generation-and-free-tools/channel.html?channel=db3a30433580b37101359f8ee6963814 DAVE]. DAVE basiert auf Eclipse CDT, und enthält neben dem GNU C Compiler (GCC) die für das Flashen und Debuggen des Mikrocontrollers nötigen Tools. Grundsätzlich lässt sich allerdings auch jede andere Entwicklungsumgebung (bzw. jeder Compiler verwenden), die Code für Cortex M0 erzeugen kann.&lt;br /&gt;
&lt;br /&gt;
Von Keil gibt es kostenlos eine spezielle Version der Entwicklungsumgebung MDK für XMC1000-Controller, welche im Gegensatz zur normalen MDK Lite-Version bis zu 128 kB Code unterstützt [http://www2.keil.com/infineon/mdk/].&lt;br /&gt;
&lt;br /&gt;
Die Fa. iSYSTEM stellt neben einem Debug-plugin für Dave mit winIDEAOpen eine kostenlose Entwicklungsumgebung für Cortex-M MCU&#039;s zur Verfügung[http://www.isystem.com/download/winideaopen]. Diese arbeitet unlimitiert mit dem GCC und für die Keil bzw. IAR Compiler bis zu 32K Code. Auf der winIDEAOpen Seite steht auch ein Beispielpaket für die XMC1000 und XMC4000 Familien zum Download bereit. Neben den Infineon EasyStart und RunningLEDs Beispielen beinhaltet dies auch bereits ein FreeRTOS Projekt. winIDEAOpen enthält einen Kernel plugin für FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
* [http://www.infineon.com/dgdl/xmc1100_ds_v1.2_2013_12.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a30433d1d0bbe013d256b60160b7f&amp;amp;ack=t XMC1100 Datenblatt]&lt;br /&gt;
* [http://www.infineon.com/dgdl/xmc1100_rm_v1+0_2013_03.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a30433cfb5caa013d1600856033eb&amp;amp;ack=t XMC1100 Reference Manual]&lt;br /&gt;
* [http://www.infineon.com/dgdl/Board_Users_Manual_XMC_2Go_Kit_with_XMC1100_R1.0.pdf?folderId=db3a30433580b3710135a47f3eb76c98&amp;amp;fileId=db3a3043444ee5dc014453d6c75078c6&amp;amp;ack=t XMC 2Go Manual]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
* [http://www.ehitex.de/application-kits/infineon/471/xmc-2go Hitex (5€)]&lt;br /&gt;
* [http://shop.myavr.de/Aktionen/XMC%202Go.htm?sp=article.sp.php&amp;amp;artID=200128 MyAVR (6€)]&lt;br /&gt;
* [http://www.digikey.de/product-search/de?x=0&amp;amp;y=0&amp;amp;lang=de&amp;amp;site=de&amp;amp;KeyWords=xmc2go Digikey (~8€)]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://mikrocontroller.bplaced.net/wordpress/?page_id=3834 Schritt-für-Schritt-Anleitung und Beispielprojekt für Keil µVision]&lt;br /&gt;
* [http://longrisoft.de/index.php/elektronik/ucontroller-technik/xmc2go Eine weitere Seite zur Entwicklung mit dem XMC 2Go unter Keil µVison]&lt;br /&gt;
[[Category:ARM]]&lt;br /&gt;
[[Category:Infineon XMC]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Eagle-Wishlist&amp;diff=81822</id>
		<title>Eagle-Wishlist</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Eagle-Wishlist&amp;diff=81822"/>
		<updated>2014-02-26T20:57:03Z</updated>

		<summary type="html">&lt;p&gt;Longri: Wünsche zugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Auf dieser Seite können Wünsche zur Erweiterung der Funktionen des Leiterplatten CAD Programms Cadsoft EAGLE eingetragen werden. Es ist keine offizelle Wunschliste von Cadsoft und es ist nicht bekannt, ob Cadsoft-Mitarbeiter diese Seite regelmässig sichten. Cadsoft sollte sicherheitshalber regelmäßig angeschrieben werden, damit diese Liste nicht in Vergessenheit gerät.&lt;br /&gt;
&lt;br /&gt;
Damit sich die beliebtesten Wünsche herauskristallisieren, macht jeder einfach einen virtuellen Strich dahinter: | (Windows: ALT-GR Taste und &amp;lt; Taste drücken, Mac OS X: Alt-Taste und 7 Taste drücken). Alle fünf Striche (|||||) bitte immer ein Leerzeichen einfügen.&lt;br /&gt;
&lt;br /&gt;
Neue Wünsche einfügen darf und soll natürlich auch jeder. Einfach ganz viele Striche auf einmal hinter einem Wunsch einzufügen ist zwecklos. Das erkennt man in der History, und es gibt viele Leute, die diese Seite überwachen...&lt;br /&gt;
&lt;br /&gt;
Ja, die Einleitung ist von der Reichelt-Wishlist geklaut. Existenzberechtigung für diese Seite: Farnell will Eagle verbessern. Siehe [http://de.farnell.com/jsp/bespoke/bespoke2.jsp?ICID=i-7706-00001001&amp;amp;bespokepage=farnell/de/design-link/cadsoft.jsp]&lt;br /&gt;
&lt;br /&gt;
== Programmfunktionen ==&lt;br /&gt;
&lt;br /&gt;
=== Control Panel ===&lt;br /&gt;
&lt;br /&gt;
* In Bibliothek: Bei Klick auf ein Device soll das Fenster an der aktuellen Position stehenbleiben ||&lt;br /&gt;
* In Bibliothek: Bildposition vom Symbol und Package soll fixed sein (mitscrollen), bei großen Device-Kollektionen vorteilhaft ||&lt;br /&gt;
* Backupdateien in Unterverzeichnisse packen ||||| ||||&lt;br /&gt;
* Raster-/Grid-Größe für X und Y Achse getrennt angeben |&lt;br /&gt;
* Möglichkeit einbauen um alle Bibliotheken INKL. Unterverzeichnisse zuladen.&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan-Editor ===&lt;br /&gt;
* Bibliotheken aus dem Download Bereich in die Releases mit aufnehmen ||||| || | 8&lt;br /&gt;
* Richtungsabhängige Labels: (3erlei) verschiedene Labels mit denen zusätzlich zum Netznamen die Signalrichtung (Eingang, Ausgang, Bidirektional) visualisiert werden kann ||||| ||||| || 12&lt;br /&gt;
* Farbige XREFs → Das Netz dazu in der gleichen Farbe ||||| 5&lt;br /&gt;
* Eigenen &#039;Lagerbestand&#039; mitverwalten, sodass beim Zeichnen von Plänen direkt nur Lagerteile verbaut werden (nützlich bei diesen ganzen SMD-Varianten) ||||| |||| 9&lt;br /&gt;
* &amp;quot;hierarchisches Design&amp;quot; von identisch aufgebauten Unterbaugruppen, sprich Subcomponenten mit definierten Input/Output-Signalen aus z.B. einer speziellen hierarchy.lib. Diese kann dann ja im gleichen Verzeichnis wieder als Schematic abgelegt werden. Mit dazugehöriger Board-Datei läßt sich dann auch das Layout clonen. ||||| ||||| ||||| |||| 19&lt;br /&gt;
* Drucken: neue Option &amp;quot;Automatisch drehen&amp;quot;, um bei mehrseitigen Plänen mit wechselnder Seitenorientierung automatisch auszurichten |||||  5&lt;br /&gt;
* Tastatur-/Maus-Bedienkonzept: z.B. Move, Copy etc. alle auf Tasten der linken Tastaturhälfte (bzw. auf der rechten für Linkshänder) und zwar ohne Ctrl/Shift etc. so daß man zügig arbeiten kann, ohne ständig mit der Maus umschalten zu müssen. ||||| |||| 9&lt;br /&gt;
* Der relative, beliebig setzbare Ursprung sollte vom absoluten zu unterscheiden sein (andere Farbe...) ||| 3&lt;br /&gt;
* Bauteilwerte direkt im ADD-Befehl festlegbar machen (-&amp;gt; Standardbauteile im Textmenü) |||| 4&lt;br /&gt;
* Der &amp;quot;Gruppenauswahlrahmen&amp;quot; sollte sich bei gedrückter Maustaste immer aufziehen lassen, nicht erst nach Druck auf Group. (Im Board auch) ||||| || 7&lt;br /&gt;
* Ein markiertes Bauteil/e sollte sich einfach mit Druck auf ENTF löschen lassen. ||||| 5&lt;br /&gt;
* Beim Herstellen elektrischer Verbindungen(net), an den der Maus am nächsten liegenden Pin kontaktieren (Fangen). Beim verwenden von Bibliotheken die in anderem Raster erstellt wurden, ist es teilweise nicht möglich eine Schaltung zu zeichen, weil man die Pins nicht trifft.&lt;br /&gt;
&lt;br /&gt;
=== Board-Editor ===&lt;br /&gt;
* MOVE mit einstellbaren Freiheitsgraden. Beispielsweise, um parallel (nur horizontal/vertikal) oder diagonal zu verschieben | 1&lt;br /&gt;
* Mathematik-Funktionen in Eingabefeldern (+ plus, - minus, * mal, / geteilt und () Klammern) z.B.: 375mil+(13,6mm/2)  || 2&lt;br /&gt;
* Kacheln-Funktion im Drucken Dialog ||||| ||||| | 11&lt;br /&gt;
* Netznamen in verlegten Leiterbahnen einblenden&amp;lt;ref&amp;gt;Wird z.&amp;amp;nbsp;B. im AltiumDesigner so gemacht. Abstand und Größe der Beschriftung erfolgt je nach Zoom-Stufe.&amp;lt;/ref&amp;gt; ||||| ||||| 10&lt;br /&gt;
* Die Auswahl von Bauteilen sperren, die mit dem aktuellen Werkzeug nicht bearbeitet können&amp;lt;ref&amp;gt;Wenn zB eine Leiterbahn durch einen Bauteilmittelpunkt läuft und man mit Ripup auf den Mittelpunkt klickt, will man natürlich die Leiterbahn auflösen. Ripup lässt sich ja nicht auf Bauteile anwenden. Warum muss man also mit linker Maustaste wählen, auf was man Ripup anwenden will?&amp;lt;/ref&amp;gt; ||||| || 7&lt;br /&gt;
* Routing mit Walkaround/Push/Hug&amp;amp;Push Funktionen (Hindernisse automatisch umrouten beim FollowMe) ||||| || 7&lt;br /&gt;
* Parameter eines Objektes (Via, Track,..) per Doppelklick-Option bearbeitbar ||||| ||||| ||||| 15&lt;br /&gt;
* Thermal Vias für unterschiedliche Gehäuse einzeln anpassbar machen ||||| 5&lt;br /&gt;
* Padstack frei definierbar || 2&lt;br /&gt;
* Direkte Implementierung von EAGLE 3D ||||| ||||| ||||| ||||| ||||| ||||| 29&lt;br /&gt;
* Messung der Leiterbahnlänge &amp;lt;ref&amp;gt;Die Messung der Länge einer Leiterbahn sollte zwischen zwei beliebigen Segmenten möglich sein. Man könnte dafür Start- und Endsegment markieren.&amp;lt;/ref&amp;gt; ||||| ||||| ||||| ||||| ||||| ||||| 30&lt;br /&gt;
* Weitere Standardgeometrien (Spiralen, Heaxagon u.ä.) ||||| ||||| || 12&lt;br /&gt;
* Andere Farben für Versorgungsspannungen definierbar machen ||||| ||||| |||| |||| 19&lt;br /&gt;
* Impedanzkontrolle von Leiterbahnen ||||| ||||| ||||| ||||| || 22&lt;br /&gt;
* Board im Editor drehen (90°-Schritte) und Umdrehen (Oberseite/Unterseite) ||||| ||||| ||||| ||| 18&lt;br /&gt;
* Kopieren von Leiterbahnen/Gruppen ||||| ||||| | 11&lt;br /&gt;
* Online (Echtzeit) DRC ||||| ||||| ||||| | 16&lt;br /&gt;
* Direkte Integration von Teardrops bzw SnowMans ||||| || 7&lt;br /&gt;
* Chamfered edge (Anfasungen bei T-Leiterbahnverbindungen) | 1&lt;br /&gt;
* selektives Ratsnest (nicht mit dem Bauteil verbundene Luftlinien beim Plazieren ausblenden) ||||| || 7&lt;br /&gt;
* dynamisches Ratsnest (Luftlinien des Bauteils beim Plazieren zum nächstgelegenen Pin verbinden) ||||| ||||| ||||| | 16&lt;br /&gt;
* Benannte Gruppen in Editor und Schaltplan z.&amp;amp;nbsp;B. analog1 oder power zum einfachen plazieren || 2&lt;br /&gt;
* Dxf Drag and Drop Mechanische Teile direkt in eagle boards und libs ziehen | 1&lt;br /&gt;
* Parametrische Library-Erstellung über Textfile | 1&lt;br /&gt;
* Iges / Step Export. 3D Darstellung für Mcad exportieren |||| 4&lt;br /&gt;
* 3DScanner Import. Da eine fertige Leiterplatte die Lageinformationen aller Bauteile hat, wird über einen 3D-Scanner die Höheninformationen der Bauteile eingelesen und in die Bibliothek übertragen. || 2&lt;br /&gt;
* Direkte, einfache Nutzung von Layout- und Schaltplanmodulen | 1&lt;br /&gt;
* Im Layouteditor Bauteile konsistent platzieren sowie kopieren können || 2&lt;br /&gt;
* DRC: Bestückungsdruck auf PADs, SMDs oder VIAs ||| 3&lt;br /&gt;
* DRC: Warnung / Meldung über nicht geroutete Netze / bestehende Luftlinien ||||| ||||| ||||| ||||| || 22&lt;br /&gt;
* Layer werden sofort aktiviert/deaktiviert ohne erst &amp;quot;Übernehmen&amp;quot; anklicken zu müssen ||||| ||||| 10&lt;br /&gt;
* Wert von &amp;quot;Alle Packages anzeigen&amp;quot; im change technology-Dialog merken | 1&lt;br /&gt;
* Busse werden automatisch umbenannt falls Nets umbenannt werden |||| 4&lt;br /&gt;
* Unrouted Layer nur für aktivertes Bauteil (oder Bereich) anzeigen lassen | 1&lt;br /&gt;
* Schrift-Ausrichtung: alle vier Richtungen zulassen, anstatt nur nach rechts oder oben. Dafür Ausrichtungen links/zentriert/rechts zulassen || 2&lt;br /&gt;
* unsplit-Funktion: einen Knick aus einem Wire löschen (z.B. als Shift-optimize) ||||| ||||| 10&lt;br /&gt;
* Busse (oder mehrere parallele Leitungen gleichzeitig) verlegen (wo es Sinn macht) ||||| | 6&lt;br /&gt;
* &amp;quot;clonen&amp;quot; von Leiterbahnen-Routings von einer Baugruppe zu einer anderen ||||| 5&lt;br /&gt;
* Ausblenden von Bauelementen im Layouteditor. Beispielsweise nach einer bestimmten Buchse Stecker Kombination im Schaltplan. Wäre hilfreich um Bauelemente im Gehäuse darzustelle | 1&lt;br /&gt;
* &amp;quot;Lochrastermodus&amp;quot; um noch einfacher Pläne für Lochrasterplatinen zu erstellen ||||| 5&lt;br /&gt;
* Symmetrierfunktion, um Bauteile automatisch symmetrisch um eine Achse oder Punkt anordnen zu können || 2&lt;br /&gt;
* automatische Platzierung von Bauteilen im Board ||||| ||| 8&lt;br /&gt;
* Der relative, beliebig setzbare Ursprung sollte vom absoluten zu unterscheiden sein (ander Farbe...) ||| 3&lt;br /&gt;
* Offset Routing  - Gleichzeitiges verlegen von paralell verlaufenden Leiterbahnen || 2&lt;br /&gt;
* Polygone gegen Verschieben schützen können (lock) || 2&lt;br /&gt;
* In Bauteilinfo die zugehörige Schaltplanseitennummer anzeigen || 2&lt;br /&gt;
* In Bauteilinfo die auch das DEVICE anzeigen (wie im Schaltplan) | 1&lt;br /&gt;
* Beim DRC einen Hinweis geben, wenn der Fehler durch Netzklassenregeln bedingt ist || 2&lt;br /&gt;
* Über Rechtsklickmenü eine ausgewählte Gruppe ins Raster setzen || 2&lt;br /&gt;
* die Airwires zeigen auf das Zentrum eines SMD Pads, das meist nicht auf dem raster liegt. Besser währe, wenn ein Bereich innerhalb des Pads als zulässiges Airwire-Ziel akzeptiert wird. Oft sind kleine Leiterbahnschnippsel übrig, mit denen man kämpfen muss. Pad ist eigentlich kontaktiert, aber man hat das zentrum wieder nicht getroffen. || 2&lt;br /&gt;
* invertierter Text einfach über Textbefehl einfügen zu können | 1&lt;br /&gt;
&lt;br /&gt;
=== Autorouter ===&lt;br /&gt;
&lt;br /&gt;
* Ausführungen des Autorouters zurücksetzen (z.&amp;amp;nbsp;B. mit Ctrl + Z) ||||| ||||| ||||| ||||| ||||| |||| 29&lt;br /&gt;
* Autorouter um Autoplacer von nicht gelockten Bauteilen ergänzen ||||| | 6&lt;br /&gt;
&lt;br /&gt;
=== Bibiliotheks-Editor ===&lt;br /&gt;
&lt;br /&gt;
* Alle Packages zentral speichern, zB in ref-packages. Andere Libs laden dann von da das Package und verbinden das mit ihren Symbols ||||| ||||| ||||| |||| |20&lt;br /&gt;
* Verschiedene Symbole für ein Bauteil (Auswählbar im Schaltplaneditor) ||||| |6&lt;br /&gt;
* Möglichkeit Symbole einzeln zu kopieren und nicht nur als Device inkl. allen Varianten/ Packages ||||| 5&lt;br /&gt;
* Pin-Namen und Nummern per Smash-Befehl verschiebbar und drehbar ||| 3&lt;br /&gt;
* Pin-Namen und Nummern auch in Schriftgröße einstellbar || 2&lt;br /&gt;
* Bibliotheken ausblenden oder Favoritenliste | 1&lt;br /&gt;
* Pin-Namen im Symbol mit auswählbaren Alternativen versehen (bei MCUs teilweise 8fach belegt) ||| 3&lt;br /&gt;
* Bauteile im Device als optional kennzeichnen, damit z.B. für MCUs unterschiedliche Packages als Varianten ausgewählt werden können | 1&lt;br /&gt;
&lt;br /&gt;
== Preispolitik/Sonstiges ==&lt;br /&gt;
* Funktionsumfang der Non-Profit Version auf Schaltplan+Board mit 2 Layern reduzieren (Autorouter und 2 Innenlagen fallen weg), dafür max. Leiterplattengröße auf Doppel-Euro erhöhen. Besser noch 320cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; in beliebigem Format. ||||| ||||| ||||| ||||| ||||| ||||| ||| 32&lt;br /&gt;
* Kostenlose Studentenversion ||||| ||||| ||||| ||||| ||||| | 26&lt;br /&gt;
* max. Leiterplattengröße der Light-Version auf 160x100mm erhöhen. Dafür den Autorouter weglassen. ||||| ||||| ||||| ||||| ||||| ||||| | 30&lt;br /&gt;
* Light Version auf 2 Signal + 2 Power Lagen anheben. 2 Lagen ist nicht mehr Zeitgemäß ||||| ||||| | 11&lt;br /&gt;
* Generell eine ordentlicher strukturierte Bibliothek. Beispielsweise Widerstandsgehäuse in unterschiedlichen Rastern (&amp;quot;lange Beinchen&amp;quot;), einheitliches Bezeichnungsschema usw. ||||| ||||| | 11&lt;br /&gt;
* Bibliotheken mit Sammlungen der Bestände verschiedener Lieferanten (Reichelt, Segor, Farnell) ||||| ||||| | 11&lt;br /&gt;
&lt;br /&gt;
== Erledigte Punkte ==&lt;br /&gt;
* Mehrzeilige Texte (Mehrzeilige Texte sind ab Version 6.3 möglich) |||| 4&lt;br /&gt;
* Neben Ckeckbox &amp;quot;Smds&amp;quot; neue Checkbox &amp;quot;bedrahtet&amp;quot;, sodass diese ausgeschaltet werden können, wenn nur mit SMDs gearbeitet wird (wurde nun in die Suchfunktion übernommen) ||||| |||| 9&lt;br /&gt;
* Meanderstrukturen für Leiterbahnlängenausgleich ||||| ||| 8&lt;br /&gt;
* Standardbauteile oder Makros in &amp;quot;Schnellzugriff&amp;quot; (Symbolleiste) für den Schnellzugriff (Mit dem &#039;&#039;MENU&#039;&#039;-Befehl lässt sich eine Symbolleiste erzeugen, deren Knöpfe wiederum mit beliebigen Befehlen belegt werden können, einschließlich &#039;&#039;ADD&#039;&#039; --[[Benutzer:Haku|Haku]] 08:47, 21. Feb. 2010 (UTC)) oder &#039;&#039;RUN&#039;&#039;/&#039;&#039;SCRIPT&#039;&#039; für Makros. |||&lt;br /&gt;
* 2-3 frei definierbare Layerauswahlen, die sofort per Klick bzw. Shortcut übernommen und angezeigt werden (Es gibt die ALIAS-Option für den DISPLAY-Befehl. Shortcut dann wieder mit MENU oder direkt in den Einstellungen eine Tastenkombination festlegen) || 2 &lt;br /&gt;
* Auswahlmenü beim Kopieren von Bauteilen, damit nur einzelne Packages (z.&amp;amp;nbsp;B. nur SO16) kopiert werden können und nicht zusätzlich alle anderen Varianten (z.&amp;amp;nbsp;B. DIL16, TSSOP16, usw.) (spätestens ab 6.5.0) |||| 4&lt;br /&gt;
* Zusätzliches Flag für Bauteile (Bestückt / Unbestückt), damit Bestückungsvarianten erstellt werden können (Bestückungsvarianten, spätestens ab 6.5.0 verfügbar) ||||| 5&lt;br /&gt;
* Einem Pin im Symbol können mehrere Pins eines Packages zugewiesen werden ||||| ||| 8  - gibt es ab 6.xx&lt;br /&gt;
* Polygone (mit Pad-Namen) zulassen für PAD-Sonderformen ||||| ||| 8 - gibt es indirekt ab 6.x&lt;br /&gt;
* Aktualisierung der Programmdateien statt jedes mal im neuen Ordner zu installieren &amp;lt;ref&amp;gt;&#039;&#039;Nichts&#039;&#039; anderes passiert bei Installation im &#039;&#039;gleichen&#039;&#039; Ordner. Lesen lernen... → Diskussion --[[Benutzer:Hownottobeseen|Hownottobeseen]]&amp;lt;/ref&amp;gt; ||||| | 6&lt;br /&gt;
* Abstandsmessung (Wie in Sprint-Layout: Mit Maustaste auf Startpunk klicken, gedrückt halten und zum Endpunkt ziehen. Länge und Winkel der Strecke werden in Echtzeit angezeigt.) (Dazu benutzt man en MARK-Befehl, um den Startpunkt zu setzen. Dann werden Winkel, Abstand und x/y-Offset in Echtzeit angezeigt) ||||| ||||| ||||| ||||| ||| 23&lt;br /&gt;
* Suche im Bauteilkatalog nach Lieferanten-Artikelnummer (sofern gepflegt) (spätestens ab 6.5.0 kann man nach Attributen und Attributwerten suchen) ||| 3&lt;br /&gt;
* Routen von LVDS-Leitungspaaren (Mäander) ||||| ||||| 10&lt;br /&gt;
* Möglichkeit, für unterschiedliche Programmversionen auch unterschiedliche Projektverzeichnisse zu verwenden. (Ab Version 5.11 gibt es die Kommandozeilen-Option -U) |&lt;br /&gt;
&lt;br /&gt;
== Anmerkungen ==&lt;br /&gt;
Diskussion im Forum: http://www.mikrocontroller.net/topic/169171&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Eagle]]&lt;/div&gt;</summary>
		<author><name>Longri</name></author>
	</entry>
</feed>