<?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=Pnu</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=Pnu"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Pnu"/>
	<updated>2026-04-10T22:15:46Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=OCXO&amp;diff=92634</id>
		<title>OCXO</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=OCXO&amp;diff=92634"/>
		<updated>2016-03-31T00:05:32Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Die Isolierung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==OCXO, oven controlled crystal oscillator, Quarzoszillator-Thermostat&amp;quot;&amp;quot;==&lt;br /&gt;
Die Herstellung eines Thermostats mit Quarzoszillator wird beschrieben. Dabei werden auch die Gründe genannt, die für die Details des Aufbaus maßgebend sind. Ziel ist keine Maximallösung sondern eine im Bereich des für den Bastler realisierbare. Das Schwierigste ist dabei der für gute Lösung notwendige SMD-Aufbau. Aber auch mit THT-Technik kann eine gute Lösung erreicht werden.&lt;br /&gt;
=== Der Thermostat===&lt;br /&gt;
====Die Isolierung====&lt;br /&gt;
Ein erster wichtiger Teil ist die Isolierung des Thermostaten. Die soll so gut wie möglich sein und kann als Wärmewiderstand [K/W] angegeben werden.&lt;br /&gt;
 Der erste Grund für viele K/W besteht im Leistungsverbrauch. Nach einem Neu-Aufheizen dauert es etwa einen Tag, bis die Frequenz des Quarzes auf etwa 0,1ppm stabil ist und etwa eine Woche bis 0,01ppm Restfehler erreicht ist. Deshalb ist es notwendig, dass ein Quarzthermostat möglichst ständig durchläuft, um hohe Genauigkeit zu erreiche. Bei einem eventuellen Transport soll die Zwischenversorgung aus einem Akku möglich sein.&lt;br /&gt;
 Der zweite Grund ist die Leistungsersparnis. Wenig Leistungsfluss nach außen verkleinert die Temperaturunterschiede am Thermostaten und erhöht auch die Gleichmäßigkeit der Temperaturregelung.&lt;br /&gt;
 Bei einem vorangehenden Versuch verwendete ich eine alte Thermosflasche, und stopfte den Thermostaten mit Steinwolle darin fest. Der Wert von ca 140K/W wurde erreicht und bestand im Wesentlichen aus dem thermischen Nebenschluss nach außen durch die Anschlussdrähte. Das ganze war etwas sperrig, deshalb blieb als Lösung: Im Gehäuse eines alten PC-Netzteils wurde ein PS- (Polystyrol-)-Schaum-Gehäuse mit 80mm Höhe, 110mm Breite und 135mm Tiefe untergebracht. Dabei ergaben sich etwa folgende Wetre als Wärmewiderstand:&lt;br /&gt;
&lt;br /&gt;
  Einfacher PS-Schaum mit etwa 8mm-Körnung (Verpackungsmaterial): 45 K/W&lt;br /&gt;
  Etwas feinkörniger PS-Schaum (Verpackungsmaterial), ein etwas besseren Wert: 47K/W&lt;br /&gt;
  Leicht eingefärbter harter PS-Schaum (beim Bau als Wärmeisolierung üblich): 53 K/W&lt;br /&gt;
  Bräunlicher PU-Schaum (Polyurethan), bei Flachdach als Wärmeisolierung):55 K/W&lt;br /&gt;
  Faseriges Material wie Glaswolle, Steinwolle und Watte brachte deutlich schlechtere Werte,&lt;br /&gt;
  zwischen 20 und 30 K/W,  vermutlich weil es durch seine faserige Struktur &amp;quot;Zugluft&amp;quot; zuließ.&lt;br /&gt;
&lt;br /&gt;
Die beiden PS-Hälften wurden mit etwa 2mm dicker weicher Schaumstoffolie zum Sandwich aufgebaut, damit die Zuleitungen, vom weichen Schaum umhüllt keinen offenen Spalt erzeugen. zwei Schichten machen das Paket etwas höher als das Gehäuse, sodas es beim Schließen das Paket fest zusammen drückt.&lt;br /&gt;
&lt;br /&gt;
Bild des Aufbaus, noch ohne Frontplatte.&lt;br /&gt;
&lt;br /&gt;
===Der Trägerkörper==&lt;br /&gt;
Der Träger sollte möglichst hohe Masse haben, denn  er bildet einen themischen Kondensator [Ws/K] und mit dem Wärmewiderstand ein 2RC-Glied&amp;quot; das bei ...g Aluminium die Kapazität von  Ws/K und mit dem Wärmewidertsand ein RC-Glied mit einer Zeitkonstante von... Sekunden bildet. Natürlich hat die Regelschaltung umso weniger Probleme je größer diese Zeitkonstante ist. Ideal wäre eine rundum-Umhüllung des Quarzoszillators, die eine isothermische Umhüllung darstellt. Da aber die leiterplatten und das Quarzgehäuse mit dem Träger verklebt werden, nehmen sie auch so die Temperatur gleichmäßig an. Zusätzlich sollte der Träger möglichst wenig Oberfläche haben, da ja über diese die Wärme abgegeben wird. Deshalb auch der Aufbau in SMD-Technik: THT ist zwar auch möglich, aber der dann größere Aufbau nmmt Platz für die Isolierung weg, außerdem ist das Aufkleben auf den Träger dann nicht mehr möglich und einzelne ICs oder Widerstände erzeugen dann unterschiedliche Wärme in der Schaltung.&lt;br /&gt;
&lt;br /&gt;
Bilder der Teile , mit Hinweisen auf der Unterschrift.&lt;br /&gt;
&lt;br /&gt;
== Die Reglerschaltung==&lt;br /&gt;
T,bildet den Heizer. Seine Kollektorverlustleistung heizt den Träger. Ein PNP-Transistor BD138 hat da den Vorteil, dass er direkt auf den dann geeerdeten Träger geschrubt werden kann und die Wärme optimal dem Träger übergibt. In einer Kupfer-Version des Trägers habe ich einen FTZ... sogar mit der Kollektorfahne direkt aufgelötet.&lt;br /&gt;
Zusammen mit R und der Led bildet das Ganze eine Konstantstromquelle: Beim Anheizbetrieb wird der Strom auf etwa 100mA begrenzt, beim Einsatz des Regelbetriebs geht der Strom auf etwa 50mA zurück.&lt;br /&gt;
T bildet den Temperatursensor. Sein Kollektor muss möglichst nah am Kollektor des Heizers angelötet sein. Der Abstand bestimmt nämlich eine Totzeit zwische Regler und Sensor und bringt damit eine Schwingneigung des Regelkreises. Bei gutem Aufbau kan man dann R weglassen, ohne dass es schwingt, bei schlechterem Aufbau muss man eine R von 330...100kOhm einstzen, um die Schwingneigung zu unterdrücken.&lt;br /&gt;
T2 hat eien Beschaltung, die UCE etwa vierfach so groß macht wie UBE. Damit liebt UCE im Spannungsbereich, den der Opamp als Eingngsspannung zulässt und außerdem wird die Enmpfindlichkeit von -2mV/K auf -8mV/K erhöht.  &lt;br /&gt;
&lt;br /&gt;
 ==Die Reglerschaltung==&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=OCXO&amp;diff=92633</id>
		<title>OCXO</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=OCXO&amp;diff=92633"/>
		<updated>2016-03-30T23:58:25Z</updated>

		<summary type="html">&lt;p&gt;Pnu: Die Seite wurde neu angelegt: „==OCXO, oven controlled crystal oscillator, Quarzoszillator-Thermostat&amp;quot;&amp;quot;== Die Herstellung eines Thermostats mit Quarzoszillator wird beschrieben. Dabei werden…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==OCXO, oven controlled crystal oscillator, Quarzoszillator-Thermostat&amp;quot;&amp;quot;==&lt;br /&gt;
Die Herstellung eines Thermostats mit Quarzoszillator wird beschrieben. Dabei werden auch die Gründe genannt, die für die Details des Aufbaus maßgebend sind. Ziel ist keine Maximallösung sondern eine im Bereich des für den Bastler realisierbare. Das Schwierigste ist dabei der für gute Lösung notwendige SMD-Aufbau. Aber auch mit THT-Technik kann eine gute Lösung erreicht werden.&lt;br /&gt;
=== Der Thermostat===&lt;br /&gt;
====Die Isolierung====&lt;br /&gt;
Ein erster wichtiger Teil ist die Isolierung des Thermostaten. Die soll so gut wie möglich sein und kann als Wärmewiderstand [K/W] angegeben werden.&lt;br /&gt;
 Der erste Grund für viele K/W besteht im Leistungsverbrauch. Nach einem Neu-Aufheizen dauert es etwa einen Tag, bis die Frequenz des Quarzes auf etwa 0,1ppm stabil ist und etwa eine Woche bis 0,01ppm Restfehler erreicht ist. Deshalb ist es notwendig, dass ein Quarzthermostat möglichst ständig durchläuft, um hohe Genauigkeit zu erreiche. Bei einem eventuellen Transport soll die Zwischenversorgung aus einem Akku möglich sein.&lt;br /&gt;
 Der zweite Grund ist die Leistungserpsarnis. Wenig Leistungsfluss nach außen verkleinert die Temperaturunterschiede am Thermostaten und erhöht auch die Gleichmäßigkeit der Temperaturregelung.&lt;br /&gt;
 Bei einem vorangehenden Versuch verwendete ich eine alte Thermosflasche, und stpopfte den Thermostaten mit Steinwolle darin fest. Der Wert von ca 140K/W wurde erreicht und bestand im Wesentlichen aus dem thermischen Nebenschluss nach außen durch die Anschlussdrähte. Das ganze war etwas sperrig, deshalb blien als Lösung: Im Gehäuse eines alten PC-Netzteils wurde ein PS- (Polystyrol-)-Schaum-Gehäuse mit 80mm Höhe, 110mm Breite und 135mm Tiefe untergebracht.&lt;br /&gt;
&lt;br /&gt;
  Einfacher PS-Schaum mit etwa 8mm-Körnung (Verpackungsmaterial) brachte 45 K/W&lt;br /&gt;
  Etwas feinkörniger PS-Schaum (Verpackungsmaterial) brachte einen etwas besseren Wert 47K/W&lt;br /&gt;
  Leicht eingefärbter harter PS-Schaum (beim Bau als Wärmeisolierung) etwa 53 K/W&lt;br /&gt;
  Bräunlicher PU-Schaum (Polyurethan), bei Flachdach als Wärmeisolierung) etwa 55 K/W&lt;br /&gt;
  Faseriges Material wie Glaswolle, Steinwolle und Watte brachte deutlich schlechtere Werte,&lt;br /&gt;
  vermutlich weil es durch seine faserige Struktur &amp;quot;Zugluft&amp;quot; zuließ.&lt;br /&gt;
&lt;br /&gt;
Die beiden PS-Hälften wurden mit etwa 2mm dicker weicher Schaumstoffolie zum Sandwich aufgebaut, damit die Zuleitungen vom weichen Schum umhüllt keinen offenen Spalt erzeugen. zwei Schihcten machen das Paket etwas höher als das Gehäuse, sodas es beim Schließen das Paket fest zusammen drückt.&lt;br /&gt;
&lt;br /&gt;
Bild des Aufbaus, noch ohne Frontplatte.&lt;br /&gt;
&lt;br /&gt;
===Der Trägerkörper==&lt;br /&gt;
Der Träger sollte möglichst hohe Masse haben, denn  er bildet einen themischen Kondensator [Ws/K] und mit dem Wärmewiderstand ein 2RC-Glied&amp;quot; das bei ...g Aluminium die Kapazität von  Ws/K und mit dem Wärmewidertsand ein RC-Glied mit einer Zeitkonstante von... Sekunden bildet. Natürlich hat die Regelschaltung umso weniger Probleme je größer diese Zeitkonstante ist. Ideal wäre eine rundum-Umhüllung des Quarzoszillators, die eine isothermische Umhüllung darstellt. Da aber die leiterplatten und das Quarzgehäuse mit dem Träger verklebt werden, nehmen sie auch so die Temperatur gleichmäßig an. Zusätzlich sollte der Träger möglichst wenig Oberfläche haben, da ja über diese die Wärme abgegeben wird. Deshalb auch der Aufbau in SMD-Technik: THT ist zwar auch möglich, aber der dann größere Aufbau nmmt Platz für die Isolierung weg, außerdem ist das Aufkleben auf den Träger dann nicht mehr möglich und einzelne ICs oder Widerstände erzeugen dann unterschiedliche Wärme in der Schaltung.&lt;br /&gt;
&lt;br /&gt;
Bilder der Teile , mit Hinweisen auf der Unterschrift.&lt;br /&gt;
&lt;br /&gt;
== Die Reglerschaltung==&lt;br /&gt;
T,bildet den Heizer. Seine Kollektorverlustleistung heizt den Träger. Ein PNP-Transistor BD138 hat da den Vorteil, dass er direkt auf den dann geeerdeten Träger geschrubt werden kann und die Wärme optimal dem Träger übergibt. In einer Kupfer-Version des Trägers habe ich einen FTZ... sogar mit der Kollektorfahne direkt aufgelötet.&lt;br /&gt;
Zusammen mit R und der Led bildet das Ganze eine Konstantstromquelle: Beim Anheizbetrieb wird der Strom auf etwa 100mA begrenzt, beim Einsatz des Regelbetriebs geht der Strom auf etwa 50mA zurück.&lt;br /&gt;
T bildet den Temperatursensor. Sein Kollektor muss möglichst nah am Kollektor des Heizers angelötet sein. Der Abstand bestimmt nämlich eine Totzeit zwische Regler und Sensor und bringt damit eine Schwingneigung des Regelkreises. Bei gutem Aufbau kan man dann R weglassen, ohne dass es schwingt, bei schlechterem Aufbau muss man eine R von 330...100kOhm einstzen, um die Schwingneigung zu unterdrücken.&lt;br /&gt;
T2 hat eien Beschaltung, die UCE etwa vierfach so groß macht wie UBE. Damit liebt UCE im Spannungsbereich, den der Opamp als Eingngsspannung zulässt und außerdem wird die Enmpfindlichkeit von -2mV/K auf -8mV/K erhöht.  &lt;br /&gt;
&lt;br /&gt;
 ==Die Reglerschaltung==&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=92608</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=92608"/>
		<updated>2016-03-29T10:04:57Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Der Thermostat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll, dem Projekt einen aussagekräftigen Namen zu geben!  Viele der Projekte und Artikel haben &amp;quot;AVR&amp;quot; als Anfang im Artikelnamen stehen. Das erscheint sinnvoll, ist es aber nicht, denn in der alphabetischen Sortierung stehen diese alle unter &#039;A&#039;. Besser ist es, einen Namen zu vergeben, der mit dem Zweck des Projektes übereinstimmt. Also &amp;quot;Gray-Code Decoder für Drehgeber&amp;quot; anstatt &amp;quot;AVR-Drehgeberdecoder&amp;quot;. Bei Software, die nur auf dem AVR läuft, kann das &amp;quot;AVR&amp;quot; als Suchtag verwendet werden oder man sortiert den Artikel in die Kategorie [[:Kategorie:AVR-Projekte|Kategorie:AVR-Projekte]] ein. Falls die Software so geschrieben ist, dass sie auf mehreren verschiedenen CPUs läuft, soll keine CPU im Titel genannt werden.&lt;br /&gt;
&lt;br /&gt;
Hier steht eine kurze Beschreibung und ein Überblick über das Projekt. Wozu ist es gut, was macht es, etc. &lt;br /&gt;
&lt;br /&gt;
Nach dieser Einleitung wird das automatisch erzeugte Inhaltsverzeichnis angezeigteine.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Für viele Arbeiten ist eine präzise Frequenzquelle in Form eines OCXO (oven controlled oscillator) recht nützlich, also eines im Thermostaten untergebrachten Quarzoszillators. Die Ansprüche an so etwas können sehr verschieden sein, der hier aufgeführte ist eine recht bescheidene Version, dafür aber mit relativ wenig Aufwand selbst baubar.&lt;br /&gt;
* Es werden fast nur Standard-Bauelemente verwendet, die von Bastlern aus Altgeräten beschafft werden können.&lt;br /&gt;
* Die Genauigkeit der Frequenz stammt nicht vom OCXO selbst sondern muss durch DCF oder GPS hergestellt werden&lt;br /&gt;
* Für den Aufbau ist aus Raumgründen SMD-Technik zu empfehlen, man kann allerdings auch mit  bedrahteten Bauelementen arbeiten.&lt;br /&gt;
* Der Schwerpunkt der Arbeit besteht in dem Abgleich des fertigen Geräts, da muss man schon einigen Aufwand an Zeit betreiben.&lt;br /&gt;
&lt;br /&gt;
==Der Thermostat==&lt;br /&gt;
==Die Wärmeisolierung==&lt;br /&gt;
Die Wärmeisolierung muss so gut wie möglich sein. Erster Grund ist der Leistungsbedarf. So ein Thermostat mit Quarz sollte möglichst immer auf gleicher Temperatur gehalten werden. Nach einer Heizpause dauert es ca. einen Tag  bis ca. 1 exp -7 erreicht wird und noch ca. eine Woche für 1exp. -8. Auch sollte die Möglichkeit bestehen, bei kurzen Unterbrechungen (Transport, Stromunterbrechungen usw.) den Thermostaten aus einem Akku zu betreiben.  &lt;br /&gt;
Zweiter Grund besteht im regeltechnischen  Verhalten: Das Innere des Thermostaten stellt einen Wärme-Kondensator [Wattsekunden/Kelvin] dar, die Isolierung einen Wäermewiderstand [Kelvin/Watt]. Beide zusammen bilden einen Tiefpass innerhalb des Regelkreises, der um so leichter stabil zu halten ist, je größer seine Zeitkonstante ist. (R x C, thermisch ist eine Zeitkonstante [sec])&lt;br /&gt;
   In einem Vorversuch wurd sogar eine Thermosflasche zur Isolierung benutzt, das ergab einen Wärmewiderstand von etwa 140 K/W, das war nahezu der Wärmewiderstand der Zuleitungen zum Innern. Nur wurde deas Ganze viel zu sperrig. Meine Lösung ist ein Würfel aus PS-Hartschaum mit den Maßen 80 x 85 x 100 mm, passend in das Gehäuse eines PC-Schaltnetzteiles. Das hatte dann einen Wärmewiderstand von ......K/W. Die Heizleistung bei Raumtemperatur beträgt dann etwa 600mW&lt;br /&gt;
==Der Körper des Thermostatinneren.==&lt;br /&gt;
Der Körper sollte möglichst große Wärmekapazität [Ws/K]haben. Dagegen spricht allerdings: Die Oberfläche sollte möglichst klein sein, da über diese die Wärme ja abgeführt wird. Der Bearbeitbarkeit wegen wurde ein U-förmiges Aluminiumprofil mit 2,5mm Wandstärke, innerer Öffnung von 20mm Breite, 5mm Höhe und 35mm Länge genommen, aus einem 40x40-Aluprofil. Darin befindet sich der Oszillator. Der wird zusätzlixh it ewinem Deckel aus 0,5 mm Alu &amp;quot;eingepackt&amp;quot;. Das bildet eine isotherme Umhüllung, die verhindert, dass einzelne Teile des Oszillators insbesonders der Quarz stärker Wärme abgibt als andre.&lt;br /&gt;
== Aufbau der Elektronik ==&lt;br /&gt;
Als Heizelement wird ein PNP-Transistor (z.B. BD140) verwendet. Da sein Kollektor direkt auf das Alu geschraubt werden kann, ist dann das Ganze mit Masse verbunden und abgeschirmt. Wird Kupfer als Grundmetall genommen, kann man den Heiztransistor sogar direkt auf das Kupfer löten, das lässt dann am guten Wärmekontakt keine Zweifel mehr. Zusammen mit D und R entsteht eine Konstantstromquelle, die auf etwa 100 mA begrenzt.&lt;br /&gt;
Als Temperaturfühler wird auch ein PNP Transistor gewählt, der wird möglichst direkt am Heizer festgelötet, sodass der Wärmekontakt optimal ist. SOT23 isr gut, .... wäre noch besser. Jeder Abstand vergrößert die unvermeidliche Totzeit zwischen Heizer und Regler und vergrößert damit die Schwingneigung des Regelkreises.&lt;br /&gt;
Der PNP-Transistor wird mit R und R so beschaltet, dass sich die 0,6V UBE als 2,4V UCE wiederfinden. Das erhöht nicht nur die Temperaturempfindlichkeit von den ca. -2mV/K auf -8mV/K sondern UCE liegt dann auch im erlaubten Eingangsspannungsbereich des Opamps. R und R sind Teil einer Brücke. D-er linke Zweig dient durch R..  zur Einstellung des Temperatursollwerts.&lt;br /&gt;
Der Opamp hat seine Gegenkopplung primär über den Kreis Opamp-Heizer-Sensor und arbeitet bei gutem Kontakt Sensor-Heizer als P-Regler. Dann ist aber die Verstärkung so hoch, dass das Rauschen des Opamp im Heizstrom gut erkennbar ist. Der Kondensator setzt daher die Verstärkung bis zu wenigen Hz herab. Mit dem Widerstand R kann man die Verstärkung herabsetzen, Dann wird der Jitter des heizstroms und auch die Schwingneigung geringer. Nur wird dann die für die Genauigeit eines P-Reglers notwendige Verstärkung herabgesetzt.&lt;br /&gt;
Die Speisespannung der Brücke wird von einem 78L05 geliefert. Das ist eigentlich keine Präzisionsspannungsquelle, aber durch die Temperierung und die konstante Last ist er ausreichend konstant. Der zweite OPamp im IC versorgt als Spannungsfolger den Oszillator, sodass die last für den 78L05 praktisch konstant bleibt.&lt;br /&gt;
Sieben Leitunge führen zum Äußeren, ihr Querschnitt ist so gering, dass ihr Wärmewiderstand (geschätzt etwa ...K/W) keinen Nebenschluss zur Wärmeisolierung darstellt.&lt;br /&gt;
Die Leitungsbelegung siehe Tabelle. Als Stecker verwende ich eine Pinreihe eines IC-Sockels mit gedrehten Kontakten, ein Streifen mit gelochter Leiterplatte und etwas Schmelzkleber bilden den Knickschutz des Mehrleiterkabels aus einem alten PC. Gut ist auch ein D9-Stecker für RS232 mit angequetschtem Flachabndkabel. Die Leiterplatte mit der Elektronik sollt auf das Alu geklebt sein, damit guter Wärmekontakt dazu besteht.&lt;br /&gt;
&lt;br /&gt;
===Der Oszillator===&lt;br /&gt;
Der Oszillator ist nach der Problemstellung aufgebaut, dass er zuverlässig schwingt. Da ist noch keine Optimierung bezüglich Schwingamplitude, Rauscharmut usw. vorgenommen worden. Dadurch dass der Oszillator und vor Allem der Quarz auf dem Körper des Thermostaten festgeklebt ist, haben Quarz und die Kondensatoren über das dünne FR4 (0,8mm) guten Wärmekontakt und hoffentlich gleiche Temperatur. Die Kapdioden fpr die Feinkorrektur stammen aus einem alten TV-Tuner (UHF) und sollten mit einer Spannung höher als 5V arbeiten. Deshalb kann mit C  ein Feinkorrektur von C + C vorgenommen werden. Die Trennstufe mit dem zweiten Transistor verhindert eine Frequenzverschiebung durch die Belastung. &lt;br /&gt;
Präzisionsquarze sind für einen Bastler kaum zu erhalten und zu bezahlen, den sie sind üblicherweise nach genauer Spezifikation des Auftraggebers hergestellt und daher im üblichen Handel garnicht erhältlich. &amp;quot;Computerquarze&amp;quot; für die Verwendung an Kontrollern haben aber sehr großzügige Toleranzen, was beim Preis von wenigen -zig Cent kein Wunder ist. Etwas besser sind die Quarze aus den Frequenzaufbereitungen von TV-Tunern. Besonders die im kaltgeschweißten (und nicht gelöteten) Gehäuse haben schon die Alterung hinter sich, wenn man Glück hat, auch musste man damals keine solchen Kompromisse in richtung Preis machen,. Man sollte den Quarz auch auf den Thermostatkörper kleben. Die Temperierung geschieht nämlich weniger über die Anschlussdrähte sondern mehr über das Gehäuse und das darin befindliche Schutzgas (normalerweise Stickstoff, rein)&lt;br /&gt;
==Die Inbetriebnahme des Reglers==. Nach Bestückung R auf maximum, etwa 1kOhm stellen. R sollte unbedingt ein Schraubtrimmer in 20-gängiger Ausführung sein. Ein normaler Trimmer ist einfach zu ungenau einstellbar. R fehlt noch, also maximale Verstärkung für den Opamp. Dann den Widerstand  R langsam kleiner stellen, bis die LED gerade aufleuchtet, also der Heizsztrom einsetzt. Falls da die Kopplung Heizer-Sensor etwas weniger gut ist, wird bei erreichen der Solltemperatur Schwingen einsetzen. Mit einem 1MOhm-Trimmer kann  man den Wert suuchen, bei dem das Schwingen gerade aufhört. Diesen Widerstandswert sollte man nochmals halbieren, um genügend Sicherheit vor dem Schwingeinsatz zu haben. Dann  ist der Regler erst einmal grob eingestellt.&lt;br /&gt;
Anschließend kommt der Oszillator an die Reihe. C und C sollte so bestückt sein, dass bei %V an den Kapdioden Raumtemperatur der Quarz etwa 10ppm schneller schwingt als die exakte Frequenz. Dann wird er bei Erwärmung langsamer und bei der optimalen Temperatur genaue Frequenz haben. Jetht kommt das Henne-Ei-Problem. Man braucht eine exakte Vergleichsquelle. Zuerst stellt man das Poti R so ein, dass der thermostsat etwa auf 37 Grad heizt. Anschließend stellt man jeweils den Trimmer um eine Umdrehung in richtung höher Temperatur und wartet 2 Minuten. Das bringt dann eine Frequenzsenkung, die man mit R ausgleicht und die dazugehörige VCO-Spannung aufschreibt. Schrittweise wird dann die VCO-Spannung ansteigen, bis sie bei eta 54 bis 55 Grad einen Scheitelpunkt erreicht. Dort sitzt üblicherweise das Minimum des Temperaturgangs des Quarzes. Diesen Punkt sollte man als Betriebstemperatur des Thermostaten nehmen.&lt;br /&gt;
&lt;br /&gt;
Eine Luxusversion des Normals verwendet ein Vielgang-Potentiometer, mit einem 20gängigewn Trimmer gehts natürlich auch.&lt;br /&gt;
==Die Peripherie== &lt;br /&gt;
Zur Stromversorgung wird eine übliches 12V-Stecker-Schaltnetzteil mit interner Spannungregelung genommen. Extern wird mit einem OPamp aus den 5V im Thermostaten die 10V für die Kapdioden erzeugt und auch die 5V (3,3V) Betriebsspannung für den Frequenzteiler mit HCT oder HC Flipflops. Die Frequenzteilung bringt eine zsätzliche Unterdrückung des balstungseinflussen. Um sie nicht zu überlasten wird der Koax-Stecker nach außen über 470..1kOhm angeschlossen.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip Sourcecode] &lt;br /&gt;
* [http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf Schaltplan]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Bebilderung|Bebilderung von Artikeln]]&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:FPGA-Projekte]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=92600</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=92600"/>
		<updated>2016-03-28T22:19:36Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll, dem Projekt einen aussagekräftigen Namen zu geben!  Viele der Projekte und Artikel haben &amp;quot;AVR&amp;quot; als Anfang im Artikelnamen stehen. Das erscheint sinnvoll, ist es aber nicht, denn in der alphabetischen Sortierung stehen diese alle unter &#039;A&#039;. Besser ist es, einen Namen zu vergeben, der mit dem Zweck des Projektes übereinstimmt. Also &amp;quot;Gray-Code Decoder für Drehgeber&amp;quot; anstatt &amp;quot;AVR-Drehgeberdecoder&amp;quot;. Bei Software, die nur auf dem AVR läuft, kann das &amp;quot;AVR&amp;quot; als Suchtag verwendet werden oder man sortiert den Artikel in die Kategorie [[:Kategorie:AVR-Projekte|Kategorie:AVR-Projekte]] ein. Falls die Software so geschrieben ist, dass sie auf mehreren verschiedenen CPUs läuft, soll keine CPU im Titel genannt werden.&lt;br /&gt;
&lt;br /&gt;
Hier steht eine kurze Beschreibung und ein Überblick über das Projekt. Wozu ist es gut, was macht es, etc. &lt;br /&gt;
&lt;br /&gt;
Nach dieser Einleitung wird das automatisch erzeugte Inhaltsverzeichnis angezeigteine.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Für viele Arbeiten ist eine präzise Frequenzquelle in Form eines OCXO (oven controlled oscillator) recht nützlich, also eines im Thermostaten untergebrachten Quarzoszillators. Die Ansprüche an so etwas können sehr verschieden sein, der hier aufgeführte ist eine recht bescheidene Version, dafür aber mit relativ wenig Aufwand selbst baubar.&lt;br /&gt;
* Es werden fast nur Standard-Bauelemente verwendet, die von Bastlern aus Altgeräten beschafft werden können.&lt;br /&gt;
* Die Genauigkeit der Frequenz stammt nicht vom OCXO selbst sondern muss durch DCF oder GPS hergestellt werden&lt;br /&gt;
* Für den Aufbau ist aus Raumgründen SMD-Technik zu empfehlen, man kann allerdings auch mit  bedrahteten Bauelementen arbeiten.&lt;br /&gt;
* Der Schwerpunkt der Arbeit besteht in dem Abgleich des fertigen Geräts, da muss man schon einigen Aufwand an Zeit betreiben.&lt;br /&gt;
&lt;br /&gt;
==Der Thermostat==&lt;br /&gt;
===Die Wärmeisolierung===&lt;br /&gt;
Die Wärmeisolierung muss so gut wie möglich sein. Erster Grund ist der Leitungsbedarf. So ein Thermostat mit Quarz sollte möglichst immer auf gleicher Temperatur gehalten werden. Nach einer heizpause dauert es ca. einen Tag  bis ca. 1 exp -7 erreicht wird und noch ca. 1exp. -8. Auch sollte die Möglichkeit bestehen, bei kurzen Unterbrechungen (Transport, Stromunterbrechungen usw.) den Thermostaten aus einem Akku zu betreiben. Zweiter Grund besteht im regeltechnischen  Verhalten.&lt;br /&gt;
Das Innere des Thermostaten stellt einen Wärme-Kondensator [Wattsekunden/Kelvin] dar, die Isolierung einen Wäermewiderstand [Kelvin/Watt]. Beide zusammen bilden einen Tiefpass innerhalb des Regelkreises, der um so leichter stabil zu halten ist, je größer seine Zeitkonstante ist.&lt;br /&gt;
   In einem Vorversuch wurd sogar eine Thermosflasche zur Isolierung benutz, das ergab einen Wärmewiderstand von etwa 140 K/W, das war nahezu der Wärmewiderstand der Zuleitungen zum Innern. Nur wurde deas Ganze viel zu sperrig. Meine Lösung ist ein Würfel aus PS-Hartschaum mit den Maßen 80 x 85 x 100 mm, passend in das Gehäuse eines PC-Schaltnetzteiles. Das hatte dann einen Wärmewiderstand von ......K/W. Die Heizleistung bei Raumtemperatur beträgt dann etwa 600mW&lt;br /&gt;
===Der Körper des Thermostatinneren.===&lt;br /&gt;
Der Körper sollte möglichst große Wärmekapazität [Ws/K]haben. Dagegen spricht allerdings: Die Oberfläche sollte möglichstr klein sein, da über diese die Wärme ja abgeführt wird. Der Bearbeitbarkeit wegen wurde ein U-förmiges Aluminiumprofil mit 2,5mm Wandstärke, innerer Öffnung von 20mm Breite, 5mm Höhe und 35mm Länge genommen, aus einem 40x40-Alup&amp;quot;eingepackt. Das bildet eine isotherme Umhüllung, die verhindert, dass einzelne Teile des Oszillators insbesonders der Quarz stärker Wärme abgibt als andre.&lt;br /&gt;
=== Aufbau der Elektronik.==&lt;br /&gt;
Als Heizelement wird ein PNP-Transistor (z.B.BD140) verwendet. Da sein Kollektor direkt auf das Alu geschraubt werden kann, ist dann das Ganze mit Masse verbunden und abgeschirmt. Wird Kupfer als Grundmetall genommen, kann man den Heiztransistor sogar direkt auf das Kupfer löten, das lässt dann am guten Wärmekontakt keine Zweifel mehr.&lt;br /&gt;
Als Temperaturfühler wird auch ein PNP Transistor gewählt, der wird möglichst direkt am Heizer festgelötet, sodass der Wärmekontakt optimal ist. Jeder Abstand vergrößert die unvermeidliche Totzeit zwischen Heizer und Regler und vergrößert damit die Schwingneigung des Regelkreises.&lt;br /&gt;
Der PNP-Transistor wird mit R und R so beschaltet, dass sich die 0,6V UBE als 2,4V UCE wiederfinden. Das erhöht nicht nur die Temperaturempfindlichkeit von den ca. 2mV/K auf -8mV/K sondern UCE liegt dann auch im erlaubten Eingangsspannungsbereich des Opamps.R und R sind Teil einer Brücke, der linke Zweig dient durch R..  zur Einstellung des Temperatursollwerts.&lt;br /&gt;
Der Opamp hat seine Gegenkopplung primär über den Kreis Opamp-Heizer-Sensor und arbeitet bei gutem Kontakt Sensor-Heizer als P-Regler. Dann ist aber die Verstärkung so hoch, dass das Rauschen des Opamp im Heizstrom gut erkennbar ist. Der Kondensator setzt daher die Verstärkung bis zu wenigen Hz herab. Mit dem Widerstand R kann man die Verstärkung herabsetzen, nur wird dann die für die Genauigeit eines P-Reglers notwendige Verstärkung herabgesetzt.&lt;br /&gt;
Die Speisespannung der Brücke wird von einem 78L05 geliefert. Das ist eigentlich kein Präzisionsspannungsquelle, aber durch die Temmperierung und die konstante Last ist er ausreichend konstant. Der zweite OPamp im IC versorgt als Spannungsfolger den Oszillator mit dieser Konstantspannung.&lt;br /&gt;
Sieben Leitunge führen zum Äußeren, ihr Querschnitt ist so gering, dass ihr Wärmewiderstand (geschätzt etwa ...K/W) keinen Nebenschluss zur Wärmeisolierung darstellt.&lt;br /&gt;
Die Leitungsbelegung siehe Tabelle Als Stecker verwende ich eine Pinreihe eines IC-Sockels mit gedrehten Kontakten, ein Streifen mit gelochter Leiterplatte und etwas Schmelzkleber bilden den Knickschutz des Mehrleiterkabels aus einem alten PC.&lt;br /&gt;
===Der Oszillator==&lt;br /&gt;
Der Oszillator ist nach der Problemstellung aufgebaut &amp;quot;schwingt er?&amp;quot; Da ist noch keine Optimmierung bezüglich Schwingamplitude, Rauscharmut usw. vorgenommen worden. Dadurch dass der Oszillator und vor Allem der Quarz auf dem Körper des Thermostaten festgeklebt ist, haben Quarz und die Kondensatoren über das dünne FR4 (0,8mm) guten Wärmkontakt und hoffentlich gleiche Temperatur. Die Kapdioden stammen aus einem alten TV-Tuner (UHF) und sollten mit einer Spannung höher als 5V vorgespannt sein. Deshalb kann mit C  ein Feinkorrektur vo n C + C vorgenommen werden. Die Trennstufe mit dem zweiten Transistor verhindert eine Frequenzverschiebung durch die Belastung. &lt;br /&gt;
Präzisionsquarze sind für einen Bastler kaum zu erhalten und zu bezahlen, den sie sind üblicherweise nach genauer Spezifikation des Auftragsgebers hergestellt und daher im üblichen Handel garnicht erhältlich. &amp;quot;Computerquarze&amp;quot; für die Verwendung an Kontrollern haben aber sehr großzügige Toleranzen, was beim Preis von wenigen -zig Cent kein Wunder ist. Etwas besser sind die Quarze aus den Frequenzaufbereitungen von TV-Tunern. Besonders die im kaltgeschweißten (und nicht gelöteten) Gehäuse haben schon recht geringe Alterung, wenn man Glück hat. Man solte bei der Montage drauf achten, dass der Wärmekontakt zum Thermostatkörper gut ist. Die Temperierung geschieht nämlich weniger über die Anschlussdrähte sondern mehr übder das ghäuse und das darin befindliche Schutzgas (normalerweise Stickstoff, rein)&lt;br /&gt;
===Die Inbetriebnahme des Reglers===. Nach Bestückung R auf maximum, etwa 1kOhm stellen. R sollte unbedingt ein Schraubtrimmer in 20-gängiger Ausführung sein. Ein normaler Trimmer ist einfach zu ungenau einstellbar.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip Sourcecode] &lt;br /&gt;
* [http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf Schaltplan]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Bebilderung|Bebilderung von Artikeln]]&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:FPGA-Projekte]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=71542</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=71542"/>
		<updated>2013-01-31T05:47:23Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll, dem Projekt einen aussagekräftigen Namen zu geben!  Viele der Projekte und Artikel haben &amp;quot;AVR&amp;quot; als Anfang im Artikelnamen stehen. Das erscheint sinnvoll, ist es aber nicht, denn in der alphabetischen Sortierung stehen diese alle unter &#039;A&#039;. Besser ist es, einen Namen zu vergeben, der mit dem Zweck des Projektes übereinstimmt. Also &amp;quot;Gray-Code Decoder für Drehgeber&amp;quot; anstatt &amp;quot;AVR-Drehgeberdecoder&amp;quot;. Bei Software, die nur auf dem AVR läuft, kann das &amp;quot;AVR&amp;quot; als Suchtag verwendet werden oder man sortiert den Artikel in die Kategorie [[:Kategorie:AVR-Projekte|Kategorie:AVR-Projekte]] ein. Falls die Software so geschrieben ist, dass sie auf mehreren verschiedenen CPUs läuft, soll keine CPU im Titel genannt werden.&lt;br /&gt;
&lt;br /&gt;
Hier steht eine kurze Beschreibung und ein Überblick über das Projekt. Wozu ist es gut, was macht es, etc. &lt;br /&gt;
&lt;br /&gt;
Nach dieser Einleitung wird das automatisch erzeugte Inhaltsverzeichnis angezeigteine.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung des Projekts als Fließtext und/oder Liste von Features.  &lt;br /&gt;
&lt;br /&gt;
Es wurde ein Baustein aufgebaut, der eine zweistellige 7-Segment-LCD-Anzeige darstellt, mit I2C-Schnittstelle als Steuereingang. Die Anzeige mit Ziffernhöhe 13mm ist bei Reichelt erhältlich, ein atmega8 wird als Kontroller eingesetzt.  &lt;br /&gt;
&lt;br /&gt;
[[ Bild: Druckstock, teilbestückt, in erster Aufbaustufe]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip Sourcecode] &lt;br /&gt;
* [http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf Schaltplan]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Bebilderung|Bebilderung von Artikeln]]&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:FPGA-Projekte]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=71541</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=71541"/>
		<updated>2013-01-31T05:26:25Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll, dem Projekt einen aussagekräftigen Namen zu geben!  Viele der Projekte und Artikel haben &amp;quot;AVR&amp;quot; als Anfang im Artikelnamen stehen. Das erscheint sinnvoll, ist es aber nicht, denn in der alphabetischen Sortierung stehen diese alle unter &#039;A&#039;. Besser ist es, einen Namen zu vergeben, der mit dem Zweck des Projektes übereinstimmt. Also &amp;quot;Gray-Code Decoder für Drehgeber&amp;quot; anstatt &amp;quot;AVR-Drehgeberdecoder&amp;quot;. Bei Software, die nur auf dem AVR läuft, kann das &amp;quot;AVR&amp;quot; als Suchtag verwendet werden oder man sortiert den Artikel in die Kategorie [[:Kategorie:AVR-Projekte|Kategorie:AVR-Projekte]] ein. Falls die Software so geschrieben ist, dass sie auf mehreren verschiedenen CPUs läuft, soll keine CPU im Titel genannt werden.&lt;br /&gt;
&lt;br /&gt;
Hier steht eine kurze Beschreibung und ein Überblick über das Projekt. Wozu ist es gut, was macht es, etc. &lt;br /&gt;
&lt;br /&gt;
Nach dieser Einleitung wird das automatisch erzeugte Inhaltsverzeichnis angezeigteine.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung des Projekts als Fließtext und/oder Liste von Features.  &lt;br /&gt;
&lt;br /&gt;
Es wurde ein Baustein aufgebaut, der eine zweistellige 7-Segment-LCD-Anzeige darstellt, mit I2C-Schnittstelle als Steuereingang. Die Anzeige mit Ziffernhöhe 13mm ist bei Reichelt erhältlich, ein atmega8 wird als Kontroller eingesetzt.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip Sourcecode] &lt;br /&gt;
* [http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf Schaltplan]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Bebilderung|Bebilderung von Artikeln]]&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:FPGA-Projekte]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71504</id>
		<title>7-Segment LCD 2stellig</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71504"/>
		<updated>2013-01-30T15:40:56Z</updated>

		<summary type="html">&lt;p&gt;Pnu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Für eine Luftfeuchte-Anzeige habe ich ein zweistelliges Modul erstellt, das über I2C-Bus wie ein I2C Baustein zu behandeln ist.&lt;br /&gt;
&lt;br /&gt;
Hardware&lt;br /&gt;
&lt;br /&gt;
Die LCD-7Segment-Anzeige, zweistellig, gibt es bei Reichelt und hat 18 Anschlüsse.&lt;br /&gt;
Zum Bedienen der Anzeige genügt daher ein atmega8 mit internem Oszillator.&lt;br /&gt;
Der Druckstock wurde &amp;quot;leiterbahnorientiert&amp;quot; entworfen, mit möglichst wenig Überkreuzungen der Leiterbahnen. Die dadurch entstandene fast willkürliche Zuordnung LCDpin-Kontrollerpin wird per Software in lookup-Technik behoben.&lt;br /&gt;
                        &lt;br /&gt;
Die ISP-Buchse und die I2C-Buchse stellen eine individuelle Lösung dar. Hauptvorteil ist die Spiegelbarkeit: Spiegelfehler beim Druckstockentwurf spielen dann keine Rolle und auch das Stecken des Steckers kann wahlweise von B- oder von L-Seite erfolgen. Buchsen und Stecker lassen sich leicht aus DIL-IC-Sockeln mit gedrehten Kontakten herstellen.&lt;br /&gt;
                         Bild 1 Baustein, von L-Seite her&lt;br /&gt;
Software&lt;br /&gt;
&lt;br /&gt;
Bei der Software steht die Herstellung des LCD-Signals und die Erstellung der lookup-Tabelle im Vordergrund. Da hier die Pins außer fürs LCD nur noch für die I2C-Schnittstelle benutzt werden, braucht man eigentlich garnicht auf anderweitig benutzte Pins achten. Wegen eines größeren Projekts (3 stellige Anzeige mit TQFP44-Kontroller) wurde auch darauf geachtet. Mit den Kommentaren im .asm file habe ich versucht, möglichst viel zu erklären, ich hoffe, dass das ausreicht. Speziell das Vorgehen bei der Erstellung der lookup-Tabelle ist in der Beschreibung des Aufbauens nochmals dargestellt.&lt;br /&gt;
&lt;br /&gt;
Aufbau&lt;br /&gt;
Erste Bestückungsstufe sollte sein: ISP-Buchse, Stützkondensator und Kontroller.&lt;br /&gt;
Es empfiehlt sich, zunächst den Kontroller nur mit den Pins einzulöten, die für den ISP-Betrieb erforderlich sind. Im Fehlerfalle ist das Auslöten dann viel leichter. Ein erstes Erfolgserlebnis besteht dann darin, die Signatur abzurufen und sie vom Kontroller zurückzubekommen.&lt;br /&gt;
Zweite Bestückungsstufe.&lt;br /&gt;
Den Kontroller mit einem Prüfprogramm der Form (inc r16, out portn,r16))laden. Dann liefert er Rechteckspannungen an den Pins. Mit dem Scope kann  man dann schnell Kurzschlüsse zwischen den Pins (z.B. bei TQFP44 wichtig)oder Leiterbahnunterbrechungen aufspüren. Besonders fies wirkt sich aus, wenn die Reset-leitung eine Verbindung zu einem port-pin hat: Der Kontroller lässt sich zwar programmieren, aber sobald in init des Programms der Portpin zum Ausgang erklärt wird, stürzt der Kontroller ins reset.&lt;br /&gt;
Dritte Bestückungsstufe.&lt;br /&gt;
Das LCD einlöten und den Kontroller mit der Programmversion mit rcall Segmente1&lt;br /&gt;
laden. Da sollte mit dem Scope erkennbar sein, ob alle Pins mit Signal versorgt sind. Liegt eines der Pins an DC  (GND oder VCC) würde das zur Zerstörung des Display führen. Ohne Scope gehts auch mit DC-Voltmeter zu kontrollieren: Die Gleichspannung zwischen backplane und Segmentanschlüssen sollte kleiner als 50 mV sein (Datenblatt). Die Spannung an der backplane, wegen der symmetrischen Rechteckspannug sollte VCC/2 betragen.&lt;br /&gt;
Dritte Bestückungsstufe.&lt;br /&gt;
Die Programmversion mit rcall Segment2 aufspielen. Und ggfalls auf richtige Slave-Adresse einstellen. Die I2C-Routine ist eine Magerversion, läuft halt so gerade, ohne Fehlerbehandlung usw. Aber mir gehts mehr darum, zu zeigen, wie ein 7-Segment-LCD angesteuert wird. Jedenfalls hab ichs an diesem Projekt gelernt.&lt;br /&gt;
Erstellung der lookup-Tabelle.&lt;br /&gt;
Da man dabei sehr schnell die Übersicht verliert, verwende ich das Tabellenblatt aus der Anlage (Tabellenblatt)&lt;br /&gt;
Die erste Tabelle ist die generelle Zuordnung Ziffer-Segment und kann irgendwo abgeschrieben werden oder einfach selbst erstellt werden.&lt;br /&gt;
Die zweite Tabelle führt zunächst nur die Bits für portB auf. &lt;br /&gt;
Durch setzen einzelner Bits von r2 in der Programmversion mit rcall Segmente 1&lt;br /&gt;
(oder aus dem Schaltplan) kann man die Zuordnung portbit&amp;lt;--&amp;gt;Segment finden. Setzt man z.B. Bit 0 von r2, wird das Segment f der Zehnerstelle aktiv. IN die unterste zeile der Tabelle trägt man dann eben fZ ein. So arbeitet man eben alle Segmente durch. Anschließend kopiert man z.B.die Spalte f der ersten Tabelle in die Spalte B0 bzw. fZ Sind die nicht benutzten pins mit 0 belegt kann man aus den Zeilen die passenden 8-bit bytes bzw. die hex-Zahlen auslesen und ins Programm übertragen.&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71503</id>
		<title>7-Segment LCD 2stellig</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71503"/>
		<updated>2013-01-30T15:40:05Z</updated>

		<summary type="html">&lt;p&gt;Pnu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Für eine Luftfeuchte-Anzeige habe ich ein zweistelliges Modul erstellt, das über I2C-Bus wie ein I2C Baustein zu behandeln ist.&lt;br /&gt;
&lt;br /&gt;
Hardware&lt;br /&gt;
&lt;br /&gt;
Die LCD-7Segment-Anzeige, zweistellig, gibt es bei Reichelt und hat 18 Anschlüsse.&lt;br /&gt;
Zum Bedienen der Anzeige genügt daher ein atmega8 mit internem Oszillator.&lt;br /&gt;
Der Druckstock wurde &amp;quot;leiterbahnorientiert&amp;quot; entworfen, mit möglichst wenig Überkreuzungen der Leiterbahnen. Die dadurch entstandene fast willkürliche Zuordnung LCDPin-Kontrollerpin wird per Software in lookup-Technik behoben.&lt;br /&gt;
                        &lt;br /&gt;
Die ISP-Buchse und die I2C-Buchse stellen eine individuelle Lösung dar. Hauptvorteil ist die Spiegelbarkeit: Spiegelfehler beim Druckstockentwurf spielen dann keine Rolle und auch das Stecken des Steckers kann wahlweise von B- oder von L-Seite erfolgen. Buchsen und Stecker lassen sich leicht aus DIL-IC-Sockeln mit gedrehten Kontakten herstellen.&lt;br /&gt;
                         Bild 1 Baustein, von L-Seite her&lt;br /&gt;
Software&lt;br /&gt;
&lt;br /&gt;
Bei der Software steht die Herstellung des LCD-Signals und die Erstellung der lookup-Tabelle im Vordergrund. Da hier die Pins außer fürs LCD nur noch für die I2C-Schnittstelle benutzt werden, braucht man eigentlich garnicht auf anderweitig benutzte Pins achten. Wegen eines größeren Projekts (3 stellige Anzeige mit TQFP44-Kontroller) wurde auch darauf geachtet. Mit den Kommentaren im .asm file habe ich versucht, möglichst viel zu erklären, ich hoffe, dass das ausreicht. Speziell das Vorgehen bei der Erstellung der lookup-Tabelle ist in der Beschreibung des Aufbauens nochmals dargestellt.&lt;br /&gt;
&lt;br /&gt;
Aufbau&lt;br /&gt;
Erste Bestückungsstufe sollte sein: ISP-Buchse, Stützkondensator und Kontroller.&lt;br /&gt;
Es empfiehlt sich, zunächst den Kontroller nur mit den Pins einzulöten, die für den ISP-Betrieb erforderlich sind. Im Fehlerfalle ist das Auslöten dann viel leichter. Ein erstes Erfolgserlebnis besteht dann darin, die Signatur abzurufen und sie vom Kontroller zurückzubekommen.&lt;br /&gt;
Zweite Bestückungsstufe.&lt;br /&gt;
Den Kontroller mit einem Prüfprogramm der Form (inc r16, out portn,r16))laden. Dann liefert er Rechteckspannungen an den Pins. Mit dem Scope kann  man dann schnell Kurzschlüsse zwischen den Pins (z.B. bei TQFP44 wichtig)oder Leiterbahnunterbrechungen aufspüren. Besonders fies wirkt sich aus, wenn die Reset-leitung eine Verbindung zu einem port-pin hat: Der Kontroller lässt sich zwar programmieren, aber sobald in init des Programms der Portpin zum Ausgang erklärt wird, stürzt der Kontroller ins reset.&lt;br /&gt;
Dritte Bestückungsstufe.&lt;br /&gt;
Das LCD einlöten und den Kontroller mit der Programmversion mit rcall Segmente1&lt;br /&gt;
laden. Da sollte mit dem Scope erkennbar sein, ob alle Pins mit Signal versorgt sind. Liegt eines der Pins an DC  (GND oder VCC) würde das zur Zerstörung des Display führen. Ohne Scope gehts auch mit DC-Voltmeter zu kontrollieren: Die Gleichspannung zwischen backplane und Segmentanschlüssen sollte kleiner als 50 mV sein (Datenblatt). Die Spannung an der backplane, wegen der symmetrischen Rechteckspannug sollte VCC/2 betragen.&lt;br /&gt;
Dritte Bestückungsstufe.&lt;br /&gt;
Die Programmversion mit rcall Segment2 aufspielen. Und ggfalls auf richtige Slave-Adresse einstellen. Die I2C-Routine ist eine Magerversion, läuft halt so gerade, ohne Fehlerbehandlung usw. Aber mir gehts mehr darum, zu zeigen, wie ein 7-Segment-LCD angesteuert wird. Jedenfalls hab ichs an diesem Projekt gelernt.&lt;br /&gt;
Erstellung der lookup-Tabelle.&lt;br /&gt;
Da man dabei sehr schnell die Übersicht verliert, verwende ich das Tabellenblatt aus der Anlage (Tabellenblatt)&lt;br /&gt;
Die erste Tabelle ist die generelle Zuordnung Ziffer-Segment und kann irgendwo abgeschrieben werden oder einfach selbst erstellt werden.&lt;br /&gt;
Die zweite Tabelle führt zunächst nur die Bits für portB auf. &lt;br /&gt;
Durch setzen einzelner Bits von r2 in der Programmversion mit rcall Segmente 1&lt;br /&gt;
(oder aus dem Schaltplan) kann man die Zuordnung portbit&amp;lt;--&amp;gt;Segment finden. Setzt man z.B. Bit 0 von r2, wird das Segment f der Zehnerstelle aktiv. IN die unterste zeile der Tabelle trägt man dann eben fZ ein. So arbeitet man eben alle Segmente durch. Anschließend kopiert man z.B.die Spalte f der ersten Tabelle in die Spalte B0 bzw. fZ Sind die nicht benutzten pins mit 0 belegt kann man aus den Zeilen die passenden 8-bit bytes bzw. die hex-Zahlen auslesen und ins Programm übertragen.&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71496</id>
		<title>7-Segment LCD 2stellig</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71496"/>
		<updated>2013-01-30T15:20:28Z</updated>

		<summary type="html">&lt;p&gt;Pnu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Für eine Luftfeuchte-Anzeige habe ich ein zweistelliges Modul erstellt, das über I2C-Bus wie ein I2C Baustein zu behandeln ist.&lt;br /&gt;
&lt;br /&gt;
Hardware&lt;br /&gt;
&lt;br /&gt;
Die LCD-7Segment-Anzeige, zweistellig, gibt es bei Reichelt und hat 18 Anschlüsse.&lt;br /&gt;
Zum Bedienen der Anzeige genügt daher ein atmega8 mit internem Oszillator.&lt;br /&gt;
Der Druckstock wurde &amp;quot;leiterbahnorientiert&amp;quot; entworfen, mit möglichst wenig Überkreuzungen der Leiterbahnen. Die dadurch entstandene fast willkürliche Zuordnung LCDPin-Kontrollerpin wird per Software in lookup-Technik behoben.&lt;br /&gt;
                        &lt;br /&gt;
Die ISP-Buchse und die I2C-Buchse stellen eine individuelle Lösung dar. Hauptvorteil ist die Spiegelbarkeit: Spiegelfehler beim Druckstockentwurf spielen dann keine Rolle und auch das Stecken des Steckers kann wahlweise von B- oder von L-Seite erfolgen. Buchsen und Stecker lassen sich leicht aus DIL-IC-Sockeln mit gedrehten Kontakten herstellen.&lt;br /&gt;
                         Bild 1 Baustein, von L-Seite her&lt;br /&gt;
Software&lt;br /&gt;
&lt;br /&gt;
Bei der Software steht die Herstellung des LCD-Signals und die Erstellung der lookup-Tabelle im Vordergrund. Da hier die Pins außer fürs LCD nur noch für die I2C-Schnittstelle benutzt werden, braucht man eigentlich garnicht auf anderweitig benutzte Pins achten. Wegen eines gößeren Projekts (3 stellige Anzeige mit TQFP44-Kontroller) wurde auch darauf geachtet. Mit den Kommentaren im .asm file habe ich versucht, möglichst viel zu erklären, ich hoffe, dass das ausreicht. Speziell das Vorgehen bei der Erstellung der lookup-Tabelle ist in der Beschreibung des Aufbauens nochmals dargestellt.&lt;br /&gt;
&lt;br /&gt;
Aufbau&lt;br /&gt;
Erste Bestückungsstufe sollte sein: ISP-Buchse, Stützkondensator und Kontroller.&lt;br /&gt;
Es empfiehlt sich, zunächst den Kontroller nur mit den Pins einzulöten, die für den ISP-Betrieb erforderlich sind. Im Fehlerfalle ist das Auslöten dann viel leichter. Ein erstes Erfolgserlebnis besteht dann darin, die Signatur abzurufen und sie vom Kontroller zurückzubekommen.&lt;br /&gt;
Zweite Bestückungsstufe.&lt;br /&gt;
Den Kontroller mit einem Prüfprogramm der Form (inc r16, out portn,r16))laden. Dann liefert er Rechteckspannungen an den Pins. Mit dem Scope kann  man dann schnell Kurzschlüsse zwischen den Pins (z.B. bei TQFP44 wichtig)oder Leiterbahnunterbrechungen aufspüren. Besonders fies wirkt sich aus, wenn die Reset-leitung eine Verbindung zu einem port-pin hat: Der Kontroller lässt sich zwar programmieren, aber sobald in init der Portpin zum Ausgang erklärt wird, stürzt der Kontroller ins reset.&lt;br /&gt;
dritte Bestückungsstufe.&lt;br /&gt;
Das LCD einlöten und den Kontroller mit der Programmversion mit rcall Segmente1&lt;br /&gt;
laden. Da sollte mit dem Scope erkennbar sein, ob alle Pins mit Signal versorgt sind. Liegt eines der Pins an DC  (GND oder VCC) würde das zur Zerstörung des Display führen. Ohne Scope gehts auch mit DC-Voltmeter: Die Gleichspannung zwischen backplane und Segmentanschlüssen sollte kleiner als 50 mV sein (Datenblatt). Die Spannung an der backplane, wegen der symmetrischen Rechteckspannug sollte VCC/2 betragen.&lt;br /&gt;
Dritte Bestückungsstufe&lt;br /&gt;
Die Programmversion mit rcall Segment2 aufspielen. Und ggfalls auf richtige Slave-Adresse einstellen. Die I2C-Routine ist eine Magerversion läuft halt so gerade, ohne Fehlerbehandlung usw. Aber mir gehts mehr darum, zu zeigen, wie ein 7-Segment-LCD angesteuert wird. Jedenfalls hab ichs an diesem Projekt gelernt.&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71492</id>
		<title>7-Segment LCD 2stellig</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71492"/>
		<updated>2013-01-30T15:06:23Z</updated>

		<summary type="html">&lt;p&gt;Pnu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Für eine Luftfeuchte-Anzeige habe ich ein zweistelliges Modul erstellt, das über I2C-Bus wie ein I2C Baustein zu behandeln ist.&lt;br /&gt;
&lt;br /&gt;
Hardware&lt;br /&gt;
&lt;br /&gt;
Die LCD-7Segment-Anzeige, zweistellig, gibt es bei Reichelt und hat 18 Anschlüsse.&lt;br /&gt;
Zum Bedienen der Anzeige genügt daher ein atmega8 mit internem Oszillator.&lt;br /&gt;
Der Druckstock wurde &amp;quot;leiterbahnorientiert&amp;quot; entworfen, mit möglichst wenig Überkreuzungen der Leiterbahnen. Die dadurch entstandene fast willkürliche Zuordnung LCD-Pin-Kontrollerpin wird per Software in lookup-Technik behoben.&lt;br /&gt;
                        &lt;br /&gt;
Die ISP-Buchse und die I2C-Buchse stellen eine individuelle Lösung dar. Hauptvorteil ist die Spiegelbarkeit: Spiegelfehler beim Druckstockentwurf spielen dann keine Rolle und auch das Stecken des Steckers kann wahlweise von B- oder von L-Seite erfolgen. Buchsen und Stecker lassen sich leicht aus DIL-IC-Sockeln mit gedrehten Kontakten herstellen.&lt;br /&gt;
                         Bild 1 Baustein, von L-Seite her&lt;br /&gt;
Software&lt;br /&gt;
&lt;br /&gt;
Bei der Software steht die Herstellung des LCD-Signals und die Erstellung der lookup-Tabelle im Vordergrund. Da hier die Pins außer fürs LCD nur noch für die I2C-Schnittstelle benutzt werden, braucht man eigentlich garnicht auf anderweitig benutzte Pins achten. Wegen eines gößeren Projekts (3 stellige Anzeige mit TQFP44-Kontroller) wurde auch darauf geachtet. Mit den Kommentaren im .asm file habe ich versucht, möglichst viel zu erklären, ich hoffe, dass das ausreicht. Speziell das Vorgehen bei der Erstellung der lookup-Tabelle ist in der Beschreibung des Aufbauens nochmals dargestellt.&lt;br /&gt;
&lt;br /&gt;
Aufbau&lt;br /&gt;
Erste Bestückungsstufe sollte sein: ISP-Buchse, Stützkondensator und Kontroller.&lt;br /&gt;
Es empfiehlt sich, zunächst den Kontroller nur mit den Pins einzulöten, die für den ISP-Betrieb erforderlich sind. Im Fehlerfalle ist das Auslöten dann viel leichter. Ein erstes Erfolgserlebnis besteht dann darin, die Signatur abzurufen und sie vom Kontroller zurückzubekommen.&lt;br /&gt;
Zweite Bestückungsstufe.&lt;br /&gt;
Den Kontroller mit einem Prüfprogramm der Form (inc r16, out portn,r16))laden. Dann liefert er Rechteckspannungen an den Pins. Mit dem Scope kann  man dann schnell Kurzschlüsse zwischen den Pins (z.B. bei TQFP44 wichtig)oder Leiterbahnunterbrechungen aufspüren. Besonders fies wirkt sich aus, wenn die Reset-leitung eine Verbindung zu einem port-pin hat: Der Kontroller lässt sich zwar programmieren, aber soblald in init das port zum Ausgang erklärt wird, stürzt der Kontroller ins reset.&lt;br /&gt;
letzte Bestückungsstufe.&lt;br /&gt;
Das LCD einlöten und den Kontroller mit der Programmversion mit rcall Segmente1&lt;br /&gt;
laden. Da sollte mit dem Scope erkennbar sein, ob alle Pins mit Signal versorgt sind. Liegt eines der Pins an DC  (GND oder VCC) würde das zur Zerstörung des Display führen. Ohne Scope gehts auch mit DC-Violtmeter: Die Gleichspannung zwischen backplane und Segmentanschlüüsen sollte kleiner als 50 mV sein (Datenblatt)&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71491</id>
		<title>7-Segment LCD 2stellig</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71491"/>
		<updated>2013-01-30T14:59:50Z</updated>

		<summary type="html">&lt;p&gt;Pnu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Für eine Luftfeuchte-Anzeige habe ich ein zweistelliges Modul erstellt, das über I2C-Bus wie ein I2C Baustein zu behandeln ist.&lt;br /&gt;
&lt;br /&gt;
Hardware&lt;br /&gt;
&lt;br /&gt;
Die LCD-7Segment-Anzeige, zweistellig, gibt es bei Reichelt und hat 18 Anschlüsse.&lt;br /&gt;
Zum Bedienen der Anzeige genügt daher ein atmega8 mit internem Oszillator.&lt;br /&gt;
Der Druckstock wurde &amp;quot;leiterbahnorientiert&amp;quot; entworfen, mit möglichst wenig Überkreuzungen der Leiterbahnen. Die dadurch entstandene fast willkürliche Zuordnung LCD-Pin-Kontrollerpin wird per Software in lookup-Technik behoben.&lt;br /&gt;
                        &lt;br /&gt;
Die ISP-Buchse und die I2C-Buchse stellen eine individuelle Lösung dar. Hauptvorteil ist die Spiegelbarkeit: Spiegelfehler beim Druckstockentwurf spielen dann keine Rolle und auch das Stecken des Steckers kann wahlweise von B- oder von L-Seite erfolgen. Buchsen und Stecker lassen sich leicht aus DIL-IC-Sockeln mit gedrehten Kontakten herstellen.&lt;br /&gt;
                         Bild 1 Baustein, von L-Seite her&lt;br /&gt;
Software&lt;br /&gt;
&lt;br /&gt;
Bei der Software steht die Herstellung des LCD-Signals und die Erstellung der lookup-Tabelle im Vordergrund. Da hier die Pins außer fürs LCD nur noch für die I2C-Schnittstelle benutzt werden, braucht man eigentlich garnicht auf anderweitig benutzte Pins achten. Wegen eines gößeren Projekts (3 stellige Anzeige mit TQFP44-Kontroller)wurde auch darauf geachtet. Mit den Kommentaren im asm file habe ich versucht, möglichst viel zu erklären, ich hoffe, dass das ausreicht. Speziell das Vorgehen bei der Erstellung der lookup-Tabelle ist in der Beschreibung des Aufbauens nochmals dargestellt.&lt;br /&gt;
&lt;br /&gt;
Aufbau, erster Schritt.&lt;br /&gt;
Erste Bestückungsstufe sollte sein: ISP-Buchse, Stützkondensator und Kontroller.&lt;br /&gt;
Es empfiehlt sich, zunächst den Kontroller nur mit den Pins einzulöten, die für den ISP-Betrieb unbedingt erforderlich sind. Im Fehlerfalle ist das Auslöten dann viel leichter. Erysstes Erfolgserlebnis besteht dann darin, die Signatur abzurufen und sie vom Kontroller zurückzubekommen.&lt;br /&gt;
Zweite Bestückungsstufe.&lt;br /&gt;
Den Kontroller mit einem Prüfprogramm der Form (inc r16, out portn,r16))laden. Dann liefert er Rechteckspannungen an den Pins. Mit dem Scope kann  man dann schnell Kurzschlüsse zwischen den Pins (bei TQFP44. zB wichtig)oder Leiterbahnunterbrechungen aufspüren.&lt;br /&gt;
letzte Bestückungsstufe.&lt;br /&gt;
Das LCD einlöten und den Kontroller mit der Programmversion mit rcall Segmente1&lt;br /&gt;
laden. Da sollte mit dem Scope erkennbar sein, ob alle Pins mit Signal versorgt sind. Liegt eines der Pins an DC  (GND oder VCC) würde das zur Zerstörung des Display führen.&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71488</id>
		<title>7-Segment LCD 2stellig</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=7-Segment_LCD_2stellig&amp;diff=71488"/>
		<updated>2013-01-30T14:45:39Z</updated>

		<summary type="html">&lt;p&gt;Pnu: Die Seite wurde neu angelegt: „Für eine Luftfeuchte-Anzeige habe ich ein zweistelliges Modul erstellt, das über I2C-Bus wie ein I2C Baustein zu behandeln ist.  Hardware  Die LCD-7Segment-Anze…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Für eine Luftfeuchte-Anzeige habe ich ein zweistelliges Modul erstellt, das über I2C-Bus wie ein I2C Baustein zu behandeln ist.&lt;br /&gt;
&lt;br /&gt;
Hardware&lt;br /&gt;
&lt;br /&gt;
Die LCD-7Segment-Anzeige, zweistellig, gibt es bei Reichelt und hat 18 Anschlüsse.&lt;br /&gt;
Zum Bedienen der Anzeige genügt daher ein atmega8 mit internem Oszillator.&lt;br /&gt;
Der Druckstock wurde &amp;quot;leiterbahnorientiert&amp;quot; entworfen, mit möglichst wenig Überkreuzungen der leiterbahnen. Die dadurch entstandene fast willkürliche Zuordnung LCD-Pin-Kontrollerpin wird per Software in lookup-Technik behoben.&lt;br /&gt;
                        &lt;br /&gt;
Die ISP-Buchse und die I2C-Buchse stellen eine individuelle Lösung dar. Hauptvorteil ist die Spiegelbarkeit: Spiegelfehler beim Druckstockentwurf spielen dann keine Rolle und auch das Stecken des Steckers kann wahlweise von B- oder von L-Seite erfolgen. Buchsen und Stecker lassen sich leicht aus DIL-IC-Sockeln mit gedrehten Kontakten herstellen.&lt;br /&gt;
                         Bild 1 Baustein, von L-Seite her&lt;br /&gt;
Software&lt;br /&gt;
&lt;br /&gt;
Bei der Software steht die Herstellung des LCD-Signals und die Erstellung der lookup-Tabelle im Vordergrund. Da hier die Pins außer fürs LCD nur noch für die I2C-Schnittstelle benutzt werden, braucht man eigentlich garnicht auf anderweitig benutzte Pins achten. Wegen eines gößeren Projekts (3 stellige Anzeige mit TQFP44-Kontroller)wurde auch darauf geachtet.&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Quarze_und_AVR&amp;diff=66292</id>
		<title>Quarze und AVR</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Quarze_und_AVR&amp;diff=66292"/>
		<updated>2012-05-14T16:51:12Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Wahl der richtigen Frequenz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Quarz, eigentlich &amp;quot;Schwingquarz&amp;quot;, ist ein Bauteil zu Erzeugung einer bestimmten Frequenz. Die Genauigkeit von Quarzen liegt bei 10-100ppm	(1ppm = 0,0001 %) und wird somit nur noch vom [[Quarzoszillator]] überboten. Außerdem sind Quarze im Gegensatz zum internen Oszillator weniger temperaturabhängig.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Quarze sind in folgenden Situationen sinnvoll / notwendig:&lt;br /&gt;
&lt;br /&gt;
* Kein interner Oszillator im µC eingebaut&lt;br /&gt;
* Interner Oszillator des µC zu langsam&lt;br /&gt;
* Interner Oszillator des µC zu ungenau&lt;br /&gt;
**Bei Verwendung des [[UART]]&lt;br /&gt;
**Bei zeitkritischen Anwendungen wie z.B. eine Uhr&lt;br /&gt;
&lt;br /&gt;
== Wahl der richtigen Frequenz ==&lt;br /&gt;
Vor allem als Anfänger denkt man sich, &#039;&#039;ich kaufe einfach mal 10MHz, das ist eine so schön gerade Zahl&#039;&#039;. Allerdings sind diese Quarze nur in den seltensten Fällen sinnvoll. Viel sinnvoller sind [[Baudratenquarz]]e. Diese haben zwar auf den ersten Blick ziemlich &amp;quot;krumme&amp;quot; Werte, die aber zur Kommunikation über die serielle Schnittstelle viel höhere Baudraten ermöglichen.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Runde&amp;quot; Frequenzen (4MHz, 8MHz, 10MHz....) sind meist leichter erhältlich und haben den Vorteil, dass man Verzögerungsschleifen und Rechendauern relativ leicht errechnen kann.&lt;br /&gt;
&lt;br /&gt;
Ein Sonderfall ist 12MHz. Aus dieser Frequenz erzeugen Software-USB Programme oft den für USB notwendigen Takt.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Baudrate&amp;quot;-Frequenzen sind ganzzahlige Vielfache der bei RS232 üblichen Baudraten.&lt;br /&gt;
Mit Baudrate-Frequenz kann  man mit den im Kontroller enthaltenen Teilern exakte Baudraten erreichen, mit &amp;quot;runden&amp;quot; Frequenzen entstehen u.U. einige Prozent Fehler.&lt;br /&gt;
&lt;br /&gt;
== Anschluss an einen AVR ==&lt;br /&gt;
[[Bild:Quarz_Anschluss_AVR.png|right|framed]]&lt;br /&gt;
Die Kapazitäten von C1 und C2 entsprechen &#039;&#039;&#039;nicht&#039;&#039;&#039; der Lastkapazität des Quarzes!&lt;br /&gt;
Sie errechnen sich folgendermaßen:&lt;br /&gt;
&lt;br /&gt;
C=2xCL-(CP+CI)&lt;br /&gt;
&lt;br /&gt;
*CP: Leiterbahnen bedingte Kapazität&lt;br /&gt;
*CI: Portbedingte Kapazität&lt;br /&gt;
*CL: Datenblatt des Quarzes&lt;br /&gt;
*CP+CI ca. 5pF&lt;br /&gt;
&lt;br /&gt;
Am Beispiel von CL = 32pF:&lt;br /&gt;
&lt;br /&gt;
C = 2x32pF-5pF = 59pF&lt;br /&gt;
&lt;br /&gt;
C1 und C2 sind die vom Hersteller des Kontrollers empfohlenen Werte, mit ihnen wird die Schwingsicherheit der Oszillatorschaltung gewährleistet. C1 und C2 sollten in etwa eingehalten werden (so + - 20% machen aber nichts aus).&lt;br /&gt;
&lt;br /&gt;
CL, der im Datenblatt angegebene Wert, wird beim Abgleich des Quarzes während der Herstellung benutzt. &lt;br /&gt;
&lt;br /&gt;
Wenn CL nicht eingehalten wird, hat das keinen Einfluss auf das Schwingen des Oszillators (solange der Faktor2 nicht überschritten wird) sondern nur auf die Frequenz, aber das in einem Maße (max. 0,01%der Frequenz), das für die meisten Mikrokontrolleranwendungen bedeutungslos ist.&lt;br /&gt;
&lt;br /&gt;
== Einstellung der Fuses ==&lt;br /&gt;
{{Warnung |&lt;br /&gt;
;Hier ist besondere Vorsicht geboten. Fast immer liegt hier das Problem, wenn ein Mikrocontroller nicht mehr läuft!&lt;br /&gt;
}}&lt;br /&gt;
Ein Quarz ist &#039;&#039;&#039;keine&#039;&#039;&#039; &amp;quot;External Clock&amp;quot;, sondern ein &amp;quot;External Crystal/Ceramic Resonator&amp;quot;. Siehe auch: [[AVR_Fuses#Taktquellen_Fuse_Einstellung]]&lt;br /&gt;
&lt;br /&gt;
In der Begriffswelt der fuses gibt es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;internal Oscillator&amp;gt; meist die Grundeinstellung bei Auslieferung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;external Crystal&amp;gt; für Betrieb mit angeschlossenem Quarz und C1,C2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;external Oscillator&amp;gt; Steuerung durch externe Taktquelle&lt;br /&gt;
&lt;br /&gt;
Verwechslungsgefahr besteht meist zwischen external crystal und external oscillator&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
AppNotes von Atmel zum Thema Quarze:&lt;br /&gt;
[http://www.atmel.com/Images/doc2521.pdf]&lt;br /&gt;
[http://www.atmel.com/Images/doc8128.pdf]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Quarze_und_AVR&amp;diff=66291</id>
		<title>Quarze und AVR</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Quarze_und_AVR&amp;diff=66291"/>
		<updated>2012-05-14T16:49:34Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Wahl der richtigen Frequenz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Quarz, eigentlich &amp;quot;Schwingquarz&amp;quot;, ist ein Bauteil zu Erzeugung einer bestimmten Frequenz. Die Genauigkeit von Quarzen liegt bei 10-100ppm	(1ppm = 0,0001 %) und wird somit nur noch vom [[Quarzoszillator]] überboten. Außerdem sind Quarze im Gegensatz zum internen Oszillator weniger temperaturabhängig.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Quarze sind in folgenden Situationen sinnvoll / notwendig:&lt;br /&gt;
&lt;br /&gt;
* Kein interner Oszillator im µC eingebaut&lt;br /&gt;
* Interner Oszillator des µC zu langsam&lt;br /&gt;
* Interner Oszillator des µC zu ungenau&lt;br /&gt;
**Bei Verwendung des [[UART]]&lt;br /&gt;
**Bei zeitkritischen Anwendungen wie z.B. eine Uhr&lt;br /&gt;
&lt;br /&gt;
== Wahl der richtigen Frequenz ==&lt;br /&gt;
Vor allem als Anfänger denkt man sich, &#039;&#039;ich kaufe einfach mal 10MHz, das ist eine so schön gerade Zahl&#039;&#039;. Allerdings sind diese Quarze nur in den seltensten Fällen sinnvoll. Viel sinnvoller sind [[Baudratenquarz]]e. Diese haben zwar auf den ersten Blick ziemlich &amp;quot;krumme&amp;quot; Werte, die aber zur Kommunikation über die serielle Schnittstelle viel höhere Baudraten ermöglichen.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Runde&amp;quot; Frequenzen (4MHz, 8MHz, 10MHz....) sind meist leichter erhältlich und haben den Vorteil, dass man Verzögerungsschleifen und Rechendauern relativ leicht errechnen kann.&lt;br /&gt;
Ein Sonderfall ist 12MHz. Aus dieser Frequenz erzeugen Software-USB Programme oft den für USB notwendigen Takt.&lt;br /&gt;
&amp;quot;Baudrate&amp;quot;-Frequenzen sind ganzzahlige Vielfache der bei RS232 üblichen Baudraten.&lt;br /&gt;
Mit Baudrate kann  man mit den im Kontroller enthaltenen Teilern exakte baudraten erreichen, mit &amp;quot;runden&amp;quot; Frequenzen entstehen u.U. einnge Prozent Fehler.&lt;br /&gt;
&lt;br /&gt;
== Anschluss an einen AVR ==&lt;br /&gt;
[[Bild:Quarz_Anschluss_AVR.png|right|framed]]&lt;br /&gt;
Die Kapazitäten von C1 und C2 entsprechen &#039;&#039;&#039;nicht&#039;&#039;&#039; der Lastkapazität des Quarzes!&lt;br /&gt;
Sie errechnen sich folgendermaßen:&lt;br /&gt;
&lt;br /&gt;
C=2xCL-(CP+CI)&lt;br /&gt;
&lt;br /&gt;
*CP: Leiterbahnen bedingte Kapazität&lt;br /&gt;
*CI: Portbedingte Kapazität&lt;br /&gt;
*CL: Datenblatt des Quarzes&lt;br /&gt;
*CP+CI ca. 5pF&lt;br /&gt;
&lt;br /&gt;
Am Beispiel von CL = 32pF:&lt;br /&gt;
&lt;br /&gt;
C = 2x32pF-5pF = 59pF&lt;br /&gt;
&lt;br /&gt;
C1 und C2 sind die vom Hersteller des Kontrollers empfohlenen Werte, mit ihnen wird die Schwingsicherheit der Oszillatorschaltung gewährleistet. C1 und C2 sollten in etwa eingehalten werden (so + - 20% machen aber nichts aus).&lt;br /&gt;
&lt;br /&gt;
CL, der im Datenblatt angegebene Wert, wird beim Abgleich des Quarzes während der Herstellung benutzt. &lt;br /&gt;
&lt;br /&gt;
Wenn CL nicht eingehalten wird, hat das keinen Einfluss auf das Schwingen des Oszillators (solange der Faktor2 nicht überschritten wird) sondern nur auf die Frequenz, aber das in einem Maße (max. 0,01%der Frequenz), das für die meisten Mikrokontrolleranwendungen bedeutungslos ist.&lt;br /&gt;
&lt;br /&gt;
== Einstellung der Fuses ==&lt;br /&gt;
{{Warnung |&lt;br /&gt;
;Hier ist besondere Vorsicht geboten. Fast immer liegt hier das Problem, wenn ein Mikrocontroller nicht mehr läuft!&lt;br /&gt;
}}&lt;br /&gt;
Ein Quarz ist &#039;&#039;&#039;keine&#039;&#039;&#039; &amp;quot;External Clock&amp;quot;, sondern ein &amp;quot;External Crystal/Ceramic Resonator&amp;quot;. Siehe auch: [[AVR_Fuses#Taktquellen_Fuse_Einstellung]]&lt;br /&gt;
&lt;br /&gt;
In der Begriffswelt der fuses gibt es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;internal Oscillator&amp;gt; meist die Grundeinstellung bei Auslieferung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;external Crystal&amp;gt; für Betrieb mit angeschlossenem Quarz und C1,C2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;external Oscillator&amp;gt; Steuerung durch externe Taktquelle&lt;br /&gt;
&lt;br /&gt;
Verwechslungsgefahr besteht meist zwischen external crystal und external oscillator&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
AppNotes von Atmel zum Thema Quarze:&lt;br /&gt;
[http://www.atmel.com/Images/doc2521.pdf]&lt;br /&gt;
[http://www.atmel.com/Images/doc8128.pdf]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Quarze_und_AVR&amp;diff=66286</id>
		<title>Quarze und AVR</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Quarze_und_AVR&amp;diff=66286"/>
		<updated>2012-05-14T16:28:17Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Einstellung der Fuses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Quarz, eigentlich &amp;quot;Schwingquarz&amp;quot;, ist ein Bauteil zu Erzeugung einer bestimmten Frequenz. Die Genauigkeit von Quarzen liegt bei 10-100ppm	(1ppm = 0,0001 %) und wird somit nur noch vom [[Quarzoszillator]] überboten. Außerdem sind Quarze im Gegensatz zum internen Oszillator weniger temperaturabhängig.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Quarze sind in folgenden Situationen sinnvoll / notwendig:&lt;br /&gt;
&lt;br /&gt;
* Kein interner Oszillator im µC eingebaut&lt;br /&gt;
* Interner Oszillator des µC zu langsam&lt;br /&gt;
* Interner Oszillator des µC zu ungenau&lt;br /&gt;
**Bei Verwendung des [[UART]]&lt;br /&gt;
**Bei zeitkritischen Anwendungen wie z.B. eine Uhr&lt;br /&gt;
&lt;br /&gt;
== Wahl der richitgen Frequenz ==&lt;br /&gt;
Vor allem als Anfänger denkt man sich, &#039;&#039;ich kaufe einfach mal 10mHz, das ist eine so schön gerade Zahl&#039;&#039;. Allerdings sind diese Quarze nur in den seltensten Fällen sinnvoll. Viel sinnvoller sind [[Baudratenquarz]]e.&lt;br /&gt;
== Anschluss an einen AVR ==&lt;br /&gt;
[[Bild:Quarz_Anschluss_AVR.png|right|framed]]&lt;br /&gt;
Die Kapazitäten von C1 und C2 entsprechen &#039;&#039;&#039;nicht&#039;&#039;&#039; der Lastkapazität des Quarzes!&lt;br /&gt;
Sie errechnen sich folgendermaßen:&lt;br /&gt;
&lt;br /&gt;
C=2xCL-(CP+CI)&lt;br /&gt;
&lt;br /&gt;
*CP: Leiterbahnen bedingte Kapazität&lt;br /&gt;
*CI: Portbedingte Kapazität&lt;br /&gt;
*CL: Datenblatt des Quarzes&lt;br /&gt;
*CP+CI ca. 5pF&lt;br /&gt;
&lt;br /&gt;
Am Beispiel von CL = 32pF:&lt;br /&gt;
&lt;br /&gt;
C = 2x32pF-5pF = 59pF&lt;br /&gt;
&lt;br /&gt;
C1 und C2 sind die vom Hersteller des Kontrollers empfohlenen Werte, mit ihnen wird die Schwingsicherheit der Oszillatorschaltung gewährleistet. C1 und C2 sollten in etwa eingehalten werden (so + - 20% machen aber nichts aus).&lt;br /&gt;
&lt;br /&gt;
CL, der im Datenblatt angegebene Wert, wird beim Abgleich des Quarzes während der Herstellung benutzt. &lt;br /&gt;
&lt;br /&gt;
Wenn CL nicht eingehalten wird, hat das keinen Einfluss auf das Schwingen des Oszillators (solange der Faktor2 nicht überschritten wird) sondern nur auf die Frequenz, aber das in einem Maße (max. 0,01%der Frequenz), das für die meisten Mikrokontrolleranwendungen bedeutungslos ist.&lt;br /&gt;
&lt;br /&gt;
== Einstellung der Fuses ==&lt;br /&gt;
{{Warnung |&lt;br /&gt;
;Hier ist besondere Vorsicht geboten. Fast immer liegt hier das Problem, wenn ein Mikrocontroller nicht mehr läuft!&lt;br /&gt;
}}&lt;br /&gt;
Ein Quarz ist &#039;&#039;&#039;keine&#039;&#039;&#039; &amp;quot;External Clock&amp;quot;, sondern ein &amp;quot;External Crystal/Ceramic Resonator&amp;quot;. Siehe auch: [[AVR_Fuses#Taktquellen_Fuse_Einstellung]]&lt;br /&gt;
&lt;br /&gt;
In der Begriffswelt der fuses gibt es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;internal Oscillator&amp;gt; meist die Grundeinstellung bei Auslieferung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;external Crystal&amp;gt; für Betrieb mit angeschlossenem Quarz und C1,C2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;external Oscillator&amp;gt; Steuerung durch externe Taktquelle&lt;br /&gt;
&lt;br /&gt;
Verwechslungsgefahr besteht meist zwischen external crystal und external oscillator&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Quarze_und_AVR&amp;diff=66282</id>
		<title>Quarze und AVR</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Quarze_und_AVR&amp;diff=66282"/>
		<updated>2012-05-14T16:16:38Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Anschluss an einen AVR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Quarz, eigentlich &amp;quot;Schwingquarz&amp;quot;, ist ein Bauteil zu Erzeugung einer bestimmten Frequenz. Die Genauigkeit von Quarzen liegt bei 10-100ppm	und wird somit nur noch vom [[Quarzoszillator]] überboten. Außerdem sind Quarze im Gegensatz zum internen Oszillator weniger temperaturabhängig.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Quarze sind in folgenden Situationen sinnvoll / notwendig:&lt;br /&gt;
&lt;br /&gt;
* Kein interner Oszillator im µC eingebaut&lt;br /&gt;
* Interner Oszillator des µC zu ungenau&lt;br /&gt;
* Interner Oszillator des µC zu langsam&lt;br /&gt;
&lt;br /&gt;
== Anschluss an einen AVR ==&lt;br /&gt;
[[Bild:Quarz_Anschluss_AVR.png|right|framed]]&lt;br /&gt;
Die Kapazitäten von C1 und C2 entsprechen &#039;&#039;&#039;nicht&#039;&#039;&#039; der Lastkapazität des Quarzes!&lt;br /&gt;
Sie errechnen sich folgendermaßen:&lt;br /&gt;
&lt;br /&gt;
C=2xCL-(CP+CI)&lt;br /&gt;
&lt;br /&gt;
*CP: Leiterbahnen bedingte Kapazität&lt;br /&gt;
*CI: Portbedingte Kapazität&lt;br /&gt;
*CL: Datenblatt des Quarzes&lt;br /&gt;
*CP+CI ca. 5pF&lt;br /&gt;
&lt;br /&gt;
Am Beispiel von CL = 32pF:&lt;br /&gt;
&lt;br /&gt;
C = 2x32pF-5pF = 59pF&lt;br /&gt;
&lt;br /&gt;
C1 und C2 sind die vom Hersteller des Kontrollers empfohlenen Werte, mit ihnen wird die Schwingsicherheit der Oszillatorschaltung gewährleistet. C1 und C2 sollten in etwa eingehalten werden (so + - 20% machen aber nichts aus).&lt;br /&gt;
&lt;br /&gt;
CL, der im Datenblatt angegebene Wert, wird beim Abgleich des Quarzes während der Herstellung benutzt. &lt;br /&gt;
&lt;br /&gt;
Wenn CL nicht eingehalten wird, hat das keinen Einfluss auf das Schwingen des Oszillators (solange der Faktor2 nicht überschritten wird) sondern nur auf die Frequenz, aber das in einem Maße (max. 0,01%der Frequenz), das für die meisten Mikrokontrolleranwendungen bedeutungslos ist.&lt;br /&gt;
&lt;br /&gt;
== Einstellung der Fuses ==&lt;br /&gt;
{{Warnung |&lt;br /&gt;
;Hier ist besondere Vorsicht geboten. Fast immer liegt hier das Problem, wenn ein Mikrocontroller nicht mehr läuft!&lt;br /&gt;
}}&lt;br /&gt;
Ein Quarz ist &#039;&#039;&#039;keine&#039;&#039;&#039; &amp;quot;External Clock&amp;quot;, sondern ein &amp;quot;External Crystal/Ceramic Resonator&amp;quot;. Siehe auch: [[AVR_Fuses#Taktquellen_Fuse_Einstellung]]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Adapter.png&amp;diff=40636</id>
		<title>Datei:Adapter.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Adapter.png&amp;diff=40636"/>
		<updated>2009-11-13T11:08:41Z</updated>

		<summary type="html">&lt;p&gt;Pnu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=40625</id>
		<title>Diskussion:Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=40625"/>
		<updated>2009-11-12T20:28:55Z</updated>

		<summary type="html">&lt;p&gt;Pnu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist mein allererster Versuch, ein Wiki zu verfassen.&lt;br /&gt;
&lt;br /&gt;
Es passt, glaub ich, am besten ins AVR-Tutorial als Erstellen eiens Bootloaders für ATtiny13.&lt;br /&gt;
&lt;br /&gt;
Nur stehen vor mir noch ein Paar Fragezeichen:&lt;br /&gt;
&lt;br /&gt;
1. Braucht Jemand so etwas als Hilfe ? Oder lösch ichs besser ?&lt;br /&gt;
&lt;br /&gt;
2. Wie bringe ich ein PDF-Bild ( .brd) und ein JPEG (Feder, die den Kontroller auf das Board drückt) in den Text hinein&lt;br /&gt;
&lt;br /&gt;
3. Wie bringe ich einge Dinge weg die ich nicht aus der Vorlage brauche:&lt;br /&gt;
&lt;br /&gt;
Überschrift &amp;quot;Herstellung einesBootloaders für ATtiny13&amp;quot; anstatt &amp;quot;Vorlage für...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Software&amp;quot; weg&lt;br /&gt;
&lt;br /&gt;
usw....&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=40624</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=40624"/>
		<updated>2009-11-12T20:21:32Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Erstellung eines Bootloaders auf dem Attiny13, nach Peter Dannegger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Erstellung eines Bootloaders auf dem Attiny13&#039;&#039;&#039;, nach Peter Dannegger ==&lt;br /&gt;
&lt;br /&gt;
Peter Dannegger hat einen Bootloader geschrieben,der im Gegegensatz zu anderen Bootloadern ohne die UART des Kontrollers auskommt. Deshalb kann er auf den Attiny13 angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Eine Liste von Features:&lt;br /&gt;
&lt;br /&gt;
* verwendet AVR-Studio und dazu passenden ISP-Programmer&lt;br /&gt;
* one wire-Version möglich&lt;br /&gt;
&lt;br /&gt;
Leider ist der Thread zu Peter Danneggers Bootloader zu einem Monster mit über 500 Beiträgen angewachsen, es hat mich einen ganzen Tag gekostet, bis ich auch nur einen Überblick hatte.&lt;br /&gt;
&lt;br /&gt;
Es existiert zwar eine Gebrauchsanweisung, von Karsten Donat geschrieben, nur ist diese auf den Compiler WINAVR und auf avrdude zugeschnitten, sodass ich nicht damit zurecht kam.&lt;br /&gt;
&lt;br /&gt;
Diese Beschreibung arbeitet mit AVR Studio und dazu passendem ISP-Programmer (STK500-clone)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Files zusammenstellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. In AVRStudio: neues Projekt eröffnen (onewire13), mit AVR-Assembler, nicht mit GCC, dabei entstehen zwei ineinander geschachtelte Ordner, im inneren befindet sich ein .aps-file.&lt;br /&gt;
&lt;br /&gt;
2. BOOTLOADV21 (link siehe unten) downloaden, entzippen, alle files im Ordner Bootload in den Ordner platzieren, in dem das onewire13.aps -file befindet.&lt;br /&gt;
&lt;br /&gt;
3. Studio wieder öffnen, file Bootload.asm öffnen, den gesamten Text mit &amp;quot;Schere&amp;quot; (cut) ausschneiden in die Zwischenablage, mit &amp;quot;Briefumschlag&amp;quot;(paste) den Text in onewire13.asm platzieren, das bisher leer war.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anpassen des file onewire13&#039;&#039;&#039;, auf ATtiny13 und onewire-Betrieb&lt;br /&gt;
&lt;br /&gt;
1. &amp;quot;include tn13def.inc&amp;quot; durch Löschen des Semikolon am Zeilenanfang aktivieren (einkommentieren).Achtung: eventuell ist das include-statement zu einem anderen Kontrollertyp noch aktiv, dann dieses durch ein Semikolon am Zeilenanfang stillegen (auskommentieren).&lt;br /&gt;
&lt;br /&gt;
2. den gewünschten Programmierpin  (portb,0) zweimal angeben, bei STX und SRX, dann entsteht onewire Betrieb.&lt;br /&gt;
&lt;br /&gt;
3. Wenn two-wire Betrieb gewünscht wird, zwei verschiedene Pins angeben für SRX und STX.&lt;br /&gt;
&lt;br /&gt;
4. Starten der Assemblierung (F7) lässt, wenn alle Fehler beseitigt sind, das  file onewire13.hex entstehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transferieren in den Attiny13&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. ATtiny auf Programmierplatte aufklemmen (bzw mit ISP verbinden, siehe Hardware).&lt;br /&gt;
&lt;br /&gt;
2. file onewire13.hex über ISP-Schnittstelle einprogrammieren&lt;br /&gt;
&lt;br /&gt;
3. fuse SELFPRGEN programmieren, auch die für die spätere Anwendung notwendigen fuses programmieren, da der Bootloader fuses nicht ändern kann.&lt;br /&gt;
&lt;br /&gt;
Jetzt ist der ATtiny13 mit seinem Bootloader beladen, kann eingelötet oder eingesteckt werden und mit dem Anwenderprogramm programmiert werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Programmiervorgang mit dem Bootloader&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ein Anwenderprogramm, z.B. versuch.hex kann dann in folgenden Schritten einprogrammiert werden:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. AVRFlash2.1.1.exe installieren und  aufrufen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Um per Bootloader das Programm zu laden, ist das Programm FBOOT von Peter Dannegger auf dem PC notwendig oder das Programm AVRFlash.exe&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.Parameter eingeben&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Kopfzeile von AVRFlash hat drei aufrufbare Menus: Datei, Port, Passwort&lt;br /&gt;
&lt;br /&gt;
Datei:     Pfadangebe und Name des hex.file:  C:/..../versuch.hex&lt;br /&gt;
&lt;br /&gt;
Port:      (COM1, 38400Bd oder entsprechend)&lt;br /&gt;
&lt;br /&gt;
Passwort:  sich mit default zufrieden geben oder 100 Beiträge durchforsten&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. AVRFlash Programm ausführen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verbindung mit COM1 herstellen, dazu dient bei onewire die einfache Schaltung, die Peter Dannegger angibt (PDF: onewire, in Ordner BOOTLOAD).&lt;br /&gt;
Bei twowire benötigt man RS-232-TTL-Schnittstellenbausteine, denn der tiny verträgt keine RS232-Pegel &lt;br /&gt;
&lt;br /&gt;
Flash-Button anklicken und innerhalb der Timeout-Zeit Reset des ATtiny.&lt;br /&gt;
Bei Erfolg leuchten die drei &amp;quot;Leuchtdioden&amp;quot; grün.&lt;br /&gt;
&lt;br /&gt;
Erst nach Trennen von COM1 und neuem Reset läuft danach das Anwenderprogramm, wahrscheinlich gibt es Störungen von der Leitung 2 des COM-Ports im onewire-modus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hardware Programmierplatte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Als Ersatz für einen teuren Programmiersockel war die folgende Programmierplatte hilfreich.&lt;br /&gt;
&lt;br /&gt;
Bild der Programmierplatte&lt;br /&gt;
&lt;br /&gt;
Sie enthält den Footprint des SMD-Attiny13, mit dem Stecker für die ISP-Schnittstelle. (Ich selbst verwende meine private ISP-Verbindung, aus einer 7-Pin-Reihe eines alten 14-Pin IC-Sockels bestehend, die Reihenfolge der Signale ist so gewählt, dass es hier ohne Überkreuzung geht. Diese ist hier im PDF des Drockstocks zu sehen).&lt;br /&gt;
Die Leiterbahnen wurden zuerst verzinnt, anschließend im Bereich des Kontrollers so gut wie möglich mit Lötlitze wieder entzinnt.&lt;br /&gt;
Eine Kontaktfeder aus einem Platinen-Direktstecker (alte 5-1/2-Zoll-Floppy) drückt das IC auf die Platte. Solange die Pins nicht verbogen wurden, ergibt sich ein ausreichender Kontakt, was sich beim Lesen der Signatur und beim Verify zeigt.. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fundstellen bzw. Quellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Thread zu Peter Danneggers Bootloader ist elend lang (576 Beiträge)deshalb die Angabe einiger Fundstellen in Datumsform:&lt;br /&gt;
&lt;br /&gt;
30.09.09  AVRFlash2.1.1.exe (Programm für den PC, zur Benutzung des Bootloaders)&lt;br /&gt;
&lt;br /&gt;
15.10.09  Adapter für onewire, auch im Ordner BOOTLOAD von PeDA&lt;br /&gt;
&lt;br /&gt;
26.10.07  Protokoll des Bootloaders&lt;br /&gt;
&lt;br /&gt;
07.08.09  FBOOT, die DOS-Variante des PC-Bedienprogramms für den Bootloader&lt;br /&gt;
&lt;br /&gt;
Die (neueste) Version 2.2 des Bootloaders von Peter Dannegger ist findbar in:&lt;br /&gt;
&lt;br /&gt;
http://www.avrfreaks.net/index.php?module=Freaks%...&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* Sourcecode: http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip&lt;br /&gt;
* Schaltplan: http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=40623</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=40623"/>
		<updated>2009-11-12T19:59:59Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Bootloader für Attiny13, nach Peter Dannegger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Erstellung eines Bootloaders auf dem Attiny13&#039;&#039;&#039;, nach Peter Dannegger ==&lt;br /&gt;
&lt;br /&gt;
Peter Dannegger hat einen Bootloader geschrieben,der im Gegegensatz zu anderen Bootloadern ohne die UART des Kontrollers auskommt. Deshalb kann er auf den Attiny13 angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Eine Liste von Features:&lt;br /&gt;
&lt;br /&gt;
* verwendet AVR-Studio und dazu passenden ISP-Programmer&lt;br /&gt;
* one wire-Version möglich&lt;br /&gt;
&lt;br /&gt;
Leider ist der Thread zu Peter Danneggers Bootloader zu einem Monster mit über 500 Beiträgen angewachsen, es hat mich einen ganzen Tag gekostet, bis ich auch nur einen Überblick hatte.&lt;br /&gt;
&lt;br /&gt;
Es existiert zwar eine Gebrauchsanweisung, von Karsten Donat geschrieben, nur ist diese auf den Compiler WINAVR und auf avrdude zugeschnitten, sodass ich nicht damit zurecht kam.&lt;br /&gt;
&lt;br /&gt;
Diese Beschreibung arbeitet mit AVR Studio und dazu passendem ISP-Programmer (STK500-clone)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Files zusammenstellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. In AVRStudio: neues Projekt eröffnen (onewire13), mit AVR-Assembler, nicht mit GCC, dabei entstehen zwei ineinander geschachtelte Ordner, im inneren befindet sich ein .aps-file.&lt;br /&gt;
&lt;br /&gt;
2. BOOTLOADV21 (link siehe unten) downloaden, entzippen, alle files im Ordner Bootload in den Ordner platzieren, in dem das onewire13.aps -file befindet.&lt;br /&gt;
&lt;br /&gt;
3. Studio wieder öffnen, file Bootload.asm öffnen, den gesamten Text mit &amp;quot;Schere&amp;quot; (cut) ausschneiden in die Zwischenablage, mit &amp;quot;Briefumschlag&amp;quot;(paste) den Text in onewire13.asm platzieren, das bisher leer war.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anpassen des file onewire13&#039;&#039;&#039;, auf ATtiny13 und onewire-Betrieb&lt;br /&gt;
&lt;br /&gt;
1. &amp;quot;include tn13def.inc&amp;quot; durch Löschen des Semikolon am Zeilenanfang aktivieren (einkommentieren).Achtung: eventuell ist das include-statement zu einem anderen Kontrollertyp noch aktiv, dann dieses doch ein Semikolon am Zeilenanfang stillegen (auskommentieren).&lt;br /&gt;
&lt;br /&gt;
2. den gewünschten Programmierpin  (portb,0) zweimal angeben, bei STX und SRX, dann entsteht onewire Betrieb.&lt;br /&gt;
&lt;br /&gt;
3. Wenn two-wire Betrieb gewünscht wird, zwei verschiedene Pins angeben für SRX und STX.&lt;br /&gt;
&lt;br /&gt;
4. Starten der Assemblierung (F7) lässt, wenn alle Fehler beseitigt sind, das .hex file onewire13 entstehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transferieren in den Attiny13&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. ATtiny auf Programmierplatte aufklemmen (bzw mit ISP verbinden, siehe Hardware).&lt;br /&gt;
&lt;br /&gt;
2. file onewire13.hex über ISP-Schnittstelle einprogrammieren&lt;br /&gt;
&lt;br /&gt;
3. fuse SELFPRGEN programmieren, auch die für die spätere Anwendung notwendigen fuses programmieren, da der Bootloader fuses nicht ändern kann.&lt;br /&gt;
&lt;br /&gt;
Jetzt ist der ATtiny13 mit seinem Bootloader beladen, kann eingelötet oder eingesteckt werden und mit dem Anwenderprogramm programmiert werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Programmiervorgang mit dem Bootloader&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ein Anwenderprogramm, z.B. versuch.hex kann dann in folgenden Schritten einprogrammiert werden:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. AVRFlash2.1.1.exe installieren und  aufrufen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Um per Bootloader das Programm zu laden, ist das Programm FBOOT von Peter Dannegger auf dem PC notwendig oder das Programm AVRFlash.exe&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.Parameter eingeben&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Kopfzeile von AVRFlash hat drei aufrufbare Menus: Datei, Port, Passwort&lt;br /&gt;
&lt;br /&gt;
Datei:     Pfadangebe und Name des hex.file:  C:/..../versuch.hex&lt;br /&gt;
Port:      (COM1, 38400Bd oder entsprechend)&lt;br /&gt;
Passwort:  sich mit default zufrieden geben oder 100 Beiträge durchforsten&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. AVRFlash Programm ausführen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verbindung mit COM1 herstellen, dazu dient bei onewire die einfache Schaltung, die Peter Dannegger angibt (PDF: onewire, in Ordner BOOTLOAD).&lt;br /&gt;
Bei twowire benötigt man RS-232-TTL-Schnittstellenbausteine &lt;br /&gt;
&lt;br /&gt;
Flash-Botton anklicken und innerhalb der Timeout-Zeit Reset des ATtiny.&lt;br /&gt;
Bei Erfolg leuchten die drei &amp;quot;Leuchtdioden&amp;quot; grün.&lt;br /&gt;
&lt;br /&gt;
Erst nach Trennen von COM1 und neuem Reset läuft danach das Anwenderprogramm, wahrscheinlich gibt es Störungen von der Leitung2 im onewire-modus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hardware Programmierplatte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Als Ersatz für einen teuren Programmiersockel war die folgende Programmierplatte hilfreich.&lt;br /&gt;
&lt;br /&gt;
Bild der Programmierplatte&lt;br /&gt;
&lt;br /&gt;
Sie enthält den Footprint des SMD-Attiny13, mit dem Stecker für die ISP-Schnittstelle. (Ich selbst verwende meine private ISP-Verbindung, aus einer 7-Pin-Reihe eines alten 14-Pin IC-Sockels bestehend, die Reihenfolge der Signale ist so gewählt, dass es hier ohne Überkreuzung geht.&lt;br /&gt;
Die Leiterbahnen wurden zuerst verzinnt, anschließend im Bereich des Kontrollers so gut wie möglich mit Lötlitze wieder entzinnt.&lt;br /&gt;
Eine Kontaktfeder aus einem Platinen-Direktstecker (alte 5-1/2-Zoll-Floppy) drückt das IC auf die Platte. Solange die Pins nicht verbogen wurden, ergibt sich ein ausreichender Kontakt, was sich beim Lesen der Signatur und beim Verify zeigt.. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fundstellen bzw. Quellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Thread zu Peter Danneggers Bootloader ist elend lang (576 Beiträge)deshalb die Angabe einiger Fundstellen in Datumsform:&lt;br /&gt;
&lt;br /&gt;
30.09.09  AVRFlash2.1.1.exe (Programm für den PC, zur Benutzung des Bootloaders)&lt;br /&gt;
&lt;br /&gt;
15.10.09  Adapter für onewire, auch im Ordner BOOTLOAD von PeDA&lt;br /&gt;
&lt;br /&gt;
26.10.07  Protokoll des Bootloaders&lt;br /&gt;
&lt;br /&gt;
07.08.09  FBOOT, die DOS-Variante des PC-Bedienprogramms für den Bootloader&lt;br /&gt;
&lt;br /&gt;
Die (neueste) Version 2.2 des Bootloaders von Peter Dannegger ist findbar in:&lt;br /&gt;
&lt;br /&gt;
http://www.avrfreaks.net/index.php?module=Freaks%...&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* Sourcecode: http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip&lt;br /&gt;
* Schaltplan: http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=40622</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=40622"/>
		<updated>2009-11-12T19:46:06Z</updated>

		<summary type="html">&lt;p&gt;Pnu: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Bootloader für Attiny13&#039;&#039;&#039;, nach Peter Dannegger ==&lt;br /&gt;
&lt;br /&gt;
Peter Dannegger hat einen Bootloader geschrieben,der im Gegegensatz zu anderen Bootloadern ohne die UART des Kontrollers auskommt. Deshalb kann er auf den Attiny13 angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Eine Liste von Features:&lt;br /&gt;
&lt;br /&gt;
* verwendet AVR-Studio und dazu passenden ISP-Programmer&lt;br /&gt;
* one wire-Version möglich&lt;br /&gt;
&lt;br /&gt;
Leider ist der Thread zu Peter Danneggers Bootloader zu einem Monster mit über 500 Beiträgen angewachsen, es hat mich einen ganzen Tag gekostet, bis ich auch nur einen Überblick hatte.&lt;br /&gt;
&lt;br /&gt;
Es existiert zwar eine Gebrauchsanweisung, von Karsten Donat geschrieben, nur ist diese auf den Compiler WINAVR und auf avrdude zugeschnitten, sodass ich nicht damit zurecht kam.&lt;br /&gt;
&lt;br /&gt;
Diese Beschreibung arbeitet mit AVR Studio und dazu passendem ISP-Programmer (STK500-clone)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Files zusammenstellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. In AVRStudio: neues Projekt eröffnen (onewire13), mit AVR-Assembler, nicht mit GCC, dabei entstehen zwei ineinander geschachtelte Ordner, im inneren befindet sich ein .aps-file.&lt;br /&gt;
&lt;br /&gt;
2. BOOTLOADV21 (link siehe unten) downloaden, entzippen, alle files im Ordner Bootload in den Ordner platzieren, in dem das onewire13.aps -file befindet.&lt;br /&gt;
&lt;br /&gt;
3. Studio wieder öffnen, file Bootload.asm öffnen, den gesamten Text mit &amp;quot;Schere&amp;quot; (cut) ausschneiden in die Zwischenablage, mit &amp;quot;Briefumschlag&amp;quot;(paste) den Text in onewire13.asm platzieren, das bisher leer war.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anpassen des file onewire13&#039;&#039;&#039;, auf ATtiny13 und onewire-Betrieb&lt;br /&gt;
&lt;br /&gt;
1. &amp;quot;include tn13def.inc&amp;quot; durch Löschen des Semikolon am Zeilenanfang aktivieren (einkommentieren).Achtung: eventuell ist das include-statement zu einem anderen Kontrollertyp noch aktiv, dann dieses doch ein Semikolon am Zeilenanfang stillegen (auskommentieren).&lt;br /&gt;
&lt;br /&gt;
2. den gewünschten Programmierpin  (portb,0) zweimal angeben, bei STX und SRX, dann entsteht onewire Betrieb.&lt;br /&gt;
&lt;br /&gt;
3. Wenn two-wire Betrieb gewünscht wird, zwei verschiedene Pins angeben für SRX und STX.&lt;br /&gt;
&lt;br /&gt;
4. Starten der Assemblierung (F7) lässt, wenn alle Fehler beseitigt sind, das .hex file onewire13 entstehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transferieren in den Attiny13&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. ATtiny auf Programmierplatte aufklemmen (bzw mit ISP verbinden, siehe Hardware).&lt;br /&gt;
&lt;br /&gt;
2. file onewire13.hex über ISP-Schnittstelle einprogrammieren&lt;br /&gt;
&lt;br /&gt;
3. fuse SELFPRGEN programmieren, auch die für die spätere Anwendung notwendigen fuses programmieren, da der Bootloader fuses nicht ändern kann.&lt;br /&gt;
&lt;br /&gt;
Jetzt ist der ATtiny13 mit seinem Bootloader beladen, kann eingelötet oder eingesteckt werden und mit dem Anwenderprogramm programmiert werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Programmiervorgang mit dem Bootloader&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ein Anwenderprogramm, z.B. versuch.hex kann dann in folgenden Schritten einprogrammiert werden:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. AVRFlash2.1.1.exe installieren und  aufrufen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Um per Bootloader das Programm zu laden, ist das Programm FBOOT von Peter Dannegger auf dem PC notwendig oder das Programm AVRFlash.exe&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.Parameter eingeben&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Kopfzeile von AVRFlash hat drei aufrufbare Menus: Datei, Port, Passwort&lt;br /&gt;
&lt;br /&gt;
Datei:     Pfadangebe und Name des hex.file:  C:/..../versuch.hex&lt;br /&gt;
Port:      (COM1, 38400Bd oder entsprechend)&lt;br /&gt;
Passwort:  sich mit default zufrieden geben oder 100 Beiträge durchforsten&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. AVRFlash Programm ausführen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verbindung mit COM1 herstellen, dazu dient bei onewire die einfache Schaltung, die Peter Dannegger angibt (PDF: onewire, in Ordner BOOTLOAD).&lt;br /&gt;
Bei twowire benötigt man RS-232-TTL-Schnittstellenbausteine &lt;br /&gt;
&lt;br /&gt;
Flash-Botton anklicken und innerhalb der Timeout-Zeit Reset des ATtiny.&lt;br /&gt;
Bei Erfolg leuchten die drei &amp;quot;Leuchtdioden&amp;quot; grün.&lt;br /&gt;
&lt;br /&gt;
Erst nach Trennen von COM1 und neuem Reset läuft danach das Anwenderprogramm, wahrscheinlich gibt es Störungen von der Leitung2 im onewire-modus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hardware Programmierplatte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Als Ersatz für einen teuren Programmiersockel war die folgende Programmierplatte hilfreich.&lt;br /&gt;
&lt;br /&gt;
Bild der Programmierplatte&lt;br /&gt;
&lt;br /&gt;
Sie enthält den Footprint des SMD-Attiny13, mit dem Stecker für die ISP-Schnittstelle. (Ich selbst verwende meine private ISP-Verbindung, aus einer 7-Pin-Reihe eines alten 14-Pin IC-Sockels bestehend, die Reihenfolge der Signale ist so gewählt, dass es hier ohne Überkreuzung geht.&lt;br /&gt;
Die Leiterbahnen wurden zuerst verzinnt, anschließend im Bereich des Kontrollers so gut wie möglich mit Lötlitze wieder entzinnt.&lt;br /&gt;
Eine Kontaktfeder aus einem Platinen-Direktstecker (alte 5-1/2-Zoll-Floppy) drückt das IC auf die Platte. Solange die Pins nicht verbogen wurden, ergibt sich ein ausreichender Kontakt, was sich beim Lesen der Signatur und beim Verify zeigt.. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fundstellen bzw. Quellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Thread zu Peter Danneggers Bootloader ist elend lang (576 Beiträge)deshalb die Angabe einiger Fundstellen in Datumsform:&lt;br /&gt;
&lt;br /&gt;
30.09.09  AVRFlash2.1.1.exe (Programm für den PC, zur Benutzung des Bootloaders)&lt;br /&gt;
&lt;br /&gt;
15.10.09  Adapter für onewire, auch im Ordner BOOTLOAD von PeDA&lt;br /&gt;
&lt;br /&gt;
26.10.07  Protokoll des Bootloaders&lt;br /&gt;
&lt;br /&gt;
07.08.09  FBOOT, die DOS-Variante des PC-Bedienprogramms für den Bootloader&lt;br /&gt;
&lt;br /&gt;
Die (neueste) Version 2.2 des Bootloaders von Peter Dannegger ist findbar in:&lt;br /&gt;
&lt;br /&gt;
http://www.avrfreaks.net/index.php?module=Freaks%...&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* Sourcecode: http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip&lt;br /&gt;
* Schaltplan: http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Pnu</name></author>
	</entry>
</feed>