<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dennis.strehl</id>
		<title>RN-Wissen.de - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dennis.strehl"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Dennis.strehl"/>
		<updated>2026-04-11T16:18:29Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8537</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8537"/>
				<updated>2006-08-19T00:51:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: 2. Ordnung -&amp;gt; Güte&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
Zur Glättung von Spannungen und / oder Strömen werden auch Filter eingesetzt. Eine Kombination aus Spule und Kondensator (LC-Filter) setzt man beispielsweise häufig vor der ADC-Versorgung von Mikrocontrollern ein. Diese Filter filtern doppelt: Wenn die Versorgungsspannung plötzlich leicht abfällt, ändert sich zunächst der Strom in der Spule, aber wie gesagt wurde, durch die Induktivität verlangsamt. Wenn der Strom etwas abgefallen ist, wird das zweite Filterelement - der Kondensator - aktiv, denn durch ihn muss zuerst ein Strom fließen, damit sich die Spannung am Ausgang der Schaltung ändern kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Phantomspeisung (gecancelt: Gebräuchliche Systeme wie PoE brauchen dafür afaik keine echten Filter.)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
Nun gibt es aber zig verschiedene Möglichkeiten, Filter aufzubauen, noch dazu ist jede nur für spezielle Anwendungen geeignet.&amp;lt;br&amp;gt;&lt;br /&gt;
Man unterteilt Filter zunächst in aktive Filter und passive Filter: Passive Filter sind solche, die nur aus passiven Bauteilen bestehen. Dazu gehören die oben angesprochenen Kondensatoren, Spulen und Widerstände, aber auch Quarze.&lt;br /&gt;
Aktive Filter enthalten als aktive Komponente meist einen Operationsverstärker. Der Vorteil liegt auf der Hand: Der Ausgang des OpAmps ist auch der Ausgang des Filters, der damit auch ruhig bis einige Milliampere belastet werden kann - bei passiven Filtern ist dies meistens nicht ohne weiteres möglich, die Ausgangsspannung würde sich dabei ändern. Der Nachteil sollte auch klar sein: Ein OpAmp, und jede andere aktive Komponente auch, braucht ne Versorgungsspannung. Für eine Frequenzweiche in einer passiven Standbox (d.h. der Verstärker ist nicht integriert) sind aktive Filter dadurch ungeeignet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filterordnungen.gif|thumb|Beispiele für verschiedene Filterordnungen]]&lt;br /&gt;
Weiterhin unterscheidet man Filter nach verschiedenen Ordnungen. Die Ordnung spiegelt dabei die Anzahl der frequenzabhängigen Bauteile wieder. Ein Filter höherer Ordnung, beispielsweise die oben beschriebene Kombination aus Spule und Kondensator, hat eine bessere Trennschärfe. Das bedeutet, dass der Abstand zwischen Frequenzen, die durchgelassen werden, und Frequenzen, die gesperrt werden, kleiner ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Nun gut, im Bild rechts sieht man schon dass das so nicht ganz stimmt: Jede Frequenz wird noch irgendwie durchgelassen, aber die Dämpfung, die in dB gemessen wird, wird immer stärker. Man müsste also eigentlich sagen, dass der Abstand der Frequenzen, die als durchgelassen '''bezeichnet''' werden können und der Frequenzen, die als gesperrt '''bezeichnet''' werden können, kleiner ist. Ab welcher Dämpfung eine Frequenz als gesperrt oder durchgelassen bezeichnet werden kann, das hängt wiederrum von der Anwendung ab. In Audioanwendungen reicht ein Filter 1. Ordnung meist völlig aus, aber um beispielsweise ein PWM-Signal in eine Gleichspannung zu wandelt, muss eine bestimmte Frequenz unbedingt möglichst schwach gedämpft durchgelassen werden, während die PWM-Frequenz möglichst stark gedämpft werden soll. Deshalb nutzt man hierfür vorwiegend Filter höherer Ordnungen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filtervergleich.gif|thumb|Beispiele für verschiedene Filtercharakteristiken]]&lt;br /&gt;
Zuletzt unterteilt man Filter noch in verschiedene Charakteristiken, namentlich Tiefpässe, Hochpässe, Bandpässe und Bandsperren.&lt;br /&gt;
*Tiefpässe lassen tiefe Frequenzen durch und sperren hohe Frequenzen. (siehe blaue Kurve im Bild.) Eine typische Anwendung wäre die Glättung eines Signals mithilfe einer Kombination aus Spule und Kondensator. &lt;br /&gt;
*Hochpässe machen das Gegenteil: Sie sperren tiefe Frequenzen und lassen hohe Frequenzen durch. (siehe grüne Kurve im Bild.) Beispiele wären eine Gleichspannungsentkopplung oder eine Frequenzweiche für einen Hochtonlautsprecher.&lt;br /&gt;
*Bandpässe sperren hohe und tiefe Frequenzen - Ein bestimmter Frequenzbereich wird jedoch durchgelassen. (siehe rote Kurve im Bild.) Eine Anwendung hierfür wäre eine Frequenzweiche vor einem Mitteltöner '''''(Sorry für die ganzen Beispiele aus dem Audiobereich, fällt vielleicht wem was besseres ein? Passiv-PFC würde mir einfallen, würde aber ne längere Erläuterung notwendig machen.)'''''&lt;br /&gt;
*Bandsperren sind das Gegenstück zu den Bandpässen: Hohe und tiefe Frequenzen werden durchgelassen, ein bestimmter Frequenzbereich wird gesperrt. (siehe türkise Kurve im Bild.) Eine solche Schaltung kann beispielsweise verwendet werden, um die möglicherweise bei Datenübertragungen über Modem störenden Gebührenimpulse aus der Telefonleitung herauszufiltern.&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, sind die Bezeichnungen so gut wie selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
&lt;br /&gt;
Wenn man einen Filter für eine bestimmte Anwendung berechnen will, braucht man folgende Informationen:&lt;br /&gt;
* Die Grenzfrequenz. Das ist die Frequenz, ab der die Ausgangsspannung gegenüber der Eingangsspannung um 3dB abgeschwächt wird - das entspricht in etwa einer Abschwächum um den Faktor 1,414, genauer um &amp;lt;math&amp;gt;\sqrt{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Die Ordnung des Filters. Diese ergibt sich aus den Anforderungen in der Anwendung.&lt;br /&gt;
* Ob der Filter aktiv oder passiv ausgeführt werden soll&lt;br /&gt;
&lt;br /&gt;
Alle Arten von Filtern, also solche 1. Ordnung, 2. Ordnung, Tiefpässe, Hochpässe etc. lassen sich sowohl Passiv als auch Aktiv aufbauen. Beginnen wir zunächst mit den passiven Filtern:&lt;br /&gt;
&lt;br /&gt;
== Passiv ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung, Tiefpass und Hochpass ===&lt;br /&gt;
&lt;br /&gt;
Für Tief- und Hochpässe 1. Ordnung gibt es zwei Möglichkeiten: Entweder man schaltet das frequenzabhängige Bauteil vor einen Lastwiderstand (beispielsweise einen Lautsprecher), oder man schaltet den Widerstand vor das frequenzabhängige Bauteil. Wie das dann aussieht, zeigt die folgende Abbildung:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filter 1.Ordnung.gif]]&lt;br /&gt;
&lt;br /&gt;
Ue ist die Eingangsspannung, vor dem Filter, und Ua ist die Spannung, die am Ausgang der Schaltung anliegt um weiterverarbeitet zu werden. Die obigen Aufbauten, mit dem frequenzabhängigen Bauteil vor dem Lastwiderstand, bieten sich an, wenn man bereits einen Lastwiderstand - beispielsweise einen Lautsprecher - gegeben hat. Den Widerstand R ersetzt man dann durch diese Last - und hat ein Bauteil weniger zu verbasteln.&lt;br /&gt;
Das RC-Glied (links unten) bietet sich an, wenn man einen Tiefpassfilter mit hoher Eingangsimpedanz benötigt. Das ist beispielsweise der Fall, wenn man eine Referenzspannung glätten möchte.&lt;br /&gt;
Das RL-Glied bietet sich meines Wissens überhaupt nicht an :D, da für die im Hobbybereich gängigen Frequenzen entweder ein sehr kleiner Widerstand R oder eine sehr große Spule nötig würde. Lösung 1 hat dann einen extrem kleinen Eingangswiderstand, Lösung 2 verbraucht massig Platz und ist teuer.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Berechnungen sind, egal ob Hochpass oder Tiefpass, jeweils identisch. Bei einer Spule als frequenzabhängiges Bauteil gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L = \frac{R}{2\pi*f_g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird dagegen ein Kondensator benutzt, gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C = \frac{1}{2\pi*f_g*R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung, Bandpass und Bandsperre ===&lt;br /&gt;
&lt;br /&gt;
==== Bandpass ====&lt;br /&gt;
&lt;br /&gt;
[[Bild:Bandpass-Schaltung.gif|thumb|Die Schaltung für einen Bandpassfilter]]&lt;br /&gt;
Bei diesen Arten von Filtern ist die Berechnung einen Tacken komplizierter. Im Grunde haben diese Filter eine obere und eine untere Grenzfrequenz, so dass verschieden große Frequenzbereiche beeinflusst werden können.&lt;br /&gt;
Am einfachsten ist es dann, zwei einzelne Filter zu dimensionieren, nämlich einen Hochpass und einen Tiefpass und diese dann zu einem Filter zusammenzufassen. Aufgrund von Resonanz ü.ä. entspricht der entstehende Frequenzgang nicht dem, der entstehen würde, wenn man einfach die Dämpfungen der beiden Filter zusammenrechnet. Solange der Filter ein ganzes Frequenzband durchlassen soll, macht dies aber in den seltensten Fällen einen Unterschied. Wenn aber nur eine Frequenz durchgelassen werden soll, unterscheidet dich der Frequenzgang stark von dem der Einzelnen Filter. Es gibt dann eine Resonanzfrequenz, bei der die Dämpfung extrem gering wird. Wenn man sich von der Resonanzfrequenz wegbewegt, steigt die Dämpfung erst sehr schnell an, und geht schließlich in einen Abfall um 20dB / Dekade (das ist eine Verzehnfachung der Frequenz) über.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein Problem gibt es aber dabei: Wenn die Abweichungen der Bauteile zu groß sind (und Kondensatoren sowie Spulen haben nunmal meistens sehr große Toleranzen), wird die Frequenz möglicherweise nicht getroffen, und der Filter macht nicht das was er soll. Abhilfe schafft entweder die Verwendeung von Bauteilen mit geringen Toleranzen (teuer!) oder eine Vergrößerung des Frequenzbandes, das durchgelassen werden soll. Letzteres ist in den meisten Fällen die bessere Lösung.&amp;lt;br&amp;gt;&lt;br /&gt;
Das gleiche gilt übrigens bei Bandsperren!&lt;br /&gt;
&lt;br /&gt;
[[Bild:bandpass-Ergebnis.gif|thumb|Das Ergebnis der Berechnung: Die Grenzfrequenzen stimmen mit den erwarteten mit ausreichender Genauigkeit überein.]]&lt;br /&gt;
Ein Beispiel zur Berechnung: Nehmen wir an, wir brauchen einen Bandpass, der das hörbare Frequenzband von 20 Hertz bis 20 Kilohertz durchlässt. Diese Frequenzen sollten dann zugleich die Grenzfrequenzen des Filters sein. Wir berechnen dann einen Hochpassfilter, um Frequenzen unter 20 Hertz zu sperren, und einen Tiefpass, der Frequenzen über 20 Kilohertz sperren würde. Da ein Lastwiderstand, ein Breitbandlautsprecher mit einer Impedanz von 8 Ohm, gegeben ist, benutzen wir die oberen Aufbauten aus der obigen Grafik. Wir erhalten für die Induktivität &amp;lt;math&amp;gt;L \approx 63\mu H&amp;lt;/math&amp;gt; und für den Kondensator &amp;lt;math&amp;gt;C \approx 1000\mu F&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Schaltung wird in dem Bild oben rechts gezeigt, die beiden Filter werden sozusagen hintereinandergeschaltet.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Ergebnis ist in dem Bild darunter dargestellt: Die Grenzfrequenzen liegen mit ausreichender Genauigkeit bei den erwarteten Frequenzen von 20 Hertz und 20 Kilohertz.&lt;br /&gt;
&lt;br /&gt;
==== Bandsperre ====&lt;br /&gt;
&lt;br /&gt;
[[Bild:Bandsperre-Schaltung.gif|thumb|Die Schaltung für eine Bandsperre]]&lt;br /&gt;
Bei einer Bandsperre verfährt man fast genauso. Man berechnet einen Tiefpassfilter für die untere Grenzfrequenz und einen Hochpassfilter für die obere Grenzfrequenz. Die Frequenzanteile, die dann zwischen den Grenzfrequezen liegen, werden mehr oder weniger stark gesperrt, je nachdem, wie weit sie von den Grenzfrequezen entfernt sind. In der geometrischen Mitte der beiden Frequenzen tritt eine Resonanz auf, die Sperrwirkung des Filters ist dann fast unendlich groß. &lt;br /&gt;
&lt;br /&gt;
Bei einer Bandsperre werden die beiden frequenzabhängigen Bauteile parallel geschaltet. Die Schaltung sieht dann so aus wie in der nebenstehenden Abbildung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Passiv 1.Ordnung: Bandpass und Bandsperre &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
&lt;br /&gt;
=== Passiv, 2. Ordnung ===&lt;br /&gt;
&lt;br /&gt;
Bei passiven Filtern zweiter Ordnung sind ein paar Schritte mehr notwendig. Zuerst einmal muss man wissen, welche Güte der Filter haben soll. Diese beschreibt die Schwingfähigkeit des Filters. Im Audiobereich nutzt man Filter mit möglichst geringen Güten und dadurch schwacher Schwingneigung. Wenn aber eine hohe Trennschärfe gefordert ist, kann man diese durch Erhöhung der Güte verbessern.&lt;br /&gt;
Bei Filtern mit hoher Güte sinkt die Dämpfung beim Übergang zum Sperrbereich des Filters erst ab, in einem bestimmten Bereich wird sie sogar kleiner als 1. Das heißt das Signal wird sogar noch verstärkt. Danach steigt die Dämpfung relativ schnell an.&lt;br /&gt;
Bei einer Güte, die kleiner ist als die Wurzel aus 1/2 (ca. 0,707) tritt dieses sogenannte Überschwingen des Frequenzgangs nicht auf. Diese Güte ist auch die gebräuchlichste, sie ist meistens ein guter Kompromiss. Filter mit dieser Güte haben eine Butterworth-Charakteristik.&lt;br /&gt;
Daneben gibt es noch andere: Ein Filter mit Tschebyshev-Charakteristik ist jeder Filter mit einer Güte, die größer ist als die Wurzel aus 1/2. Bei diesen Filtern tritt besagtes Überschwingen auf, je höher die Güte, desto stärker ist das Überschwingen.&lt;br /&gt;
Ein Filter mit Bessel-Charakteristik hat eine Güte von Wurzel aus 1/3. Die Trennschärfe bei diesen Filtern ist schlechter als bei Filtern mit Butterworth-Charakteristik, aber Signale, deren Frequenzanteile im Durchlassbereich liegen, werden nicht so stark verzerrt. Das ist auch der Grund, warum dieser Filter in Audioanwendungen die beste Qualität liefert.&lt;br /&gt;
&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8495</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8495"/>
				<updated>2006-08-01T00:55:58Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* 1. Ordnung, Bandpass und Bandsperre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
Zur Glättung von Spannungen und / oder Strömen werden auch Filter eingesetzt. Eine Kombination aus Spule und Kondensator (LC-Filter) setzt man beispielsweise häufig vor der ADC-Versorgung von Mikrocontrollern ein. Diese Filter filtern doppelt: Wenn die Versorgungsspannung plötzlich leicht abfällt, ändert sich zunächst der Strom in der Spule, aber wie gesagt wurde, durch die Induktivität verlangsamt. Wenn der Strom etwas abgefallen ist, wird das zweite Filterelement - der Kondensator - aktiv, denn durch ihn muss zuerst ein Strom fließen, damit sich die Spannung am Ausgang der Schaltung ändern kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Phantomspeisung (gecancelt: Gebräuchliche Systeme wie PoE brauchen dafür afaik keine echten Filter.)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
Nun gibt es aber zig verschiedene Möglichkeiten, Filter aufzubauen, noch dazu ist jede nur für spezielle Anwendungen geeignet.&amp;lt;br&amp;gt;&lt;br /&gt;
Man unterteilt Filter zunächst in aktive Filter und passive Filter: Passive Filter sind solche, die nur aus passiven Bauteilen bestehen. Dazu gehören die oben angesprochenen Kondensatoren, Spulen und Widerstände, aber auch Quarze.&lt;br /&gt;
Aktive Filter enthalten als aktive Komponente meist einen Operationsverstärker. Der Vorteil liegt auf der Hand: Der Ausgang des OpAmps ist auch der Ausgang des Filters, der damit auch ruhig bis einige Milliampere belastet werden kann - bei passiven Filtern ist dies meistens nicht ohne weiteres möglich, die Ausgangsspannung würde sich dabei ändern. Der Nachteil sollte auch klar sein: Ein OpAmp, und jede andere aktive Komponente auch, braucht ne Versorgungsspannung. Für eine Frequenzweiche in einer passiven Standbox (d.h. der Verstärker ist nicht integriert) sind aktive Filter dadurch ungeeignet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filterordnungen.gif|thumb|Beispiele für verschiedene Filterordnungen]]&lt;br /&gt;
Weiterhin unterscheidet man Filter nach verschiedenen Ordnungen. Die Ordnung spiegelt dabei die Anzahl der frequenzabhängigen Bauteile wieder. Ein Filter höherer Ordnung, beispielsweise die oben beschriebene Kombination aus Spule und Kondensator, hat eine bessere Trennschärfe. Das bedeutet, dass der Abstand zwischen Frequenzen, die durchgelassen werden, und Frequenzen, die gesperrt werden, kleiner ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Nun gut, im Bild rechts sieht man schon dass das so nicht ganz stimmt: Jede Frequenz wird noch irgendwie durchgelassen, aber die Dämpfung, die in dB gemessen wird, wird immer stärker. Man müsste also eigentlich sagen, dass der Abstand der Frequenzen, die als durchgelassen '''bezeichnet''' werden können und der Frequenzen, die als gesperrt '''bezeichnet''' werden können, kleiner ist. Ab welcher Dämpfung eine Frequenz als gesperrt oder durchgelassen bezeichnet werden kann, das hängt wiederrum von der Anwendung ab. In Audioanwendungen reicht ein Filter 1. Ordnung meist völlig aus, aber um beispielsweise ein PWM-Signal in eine Gleichspannung zu wandelt, muss eine bestimmte Frequenz unbedingt möglichst schwach gedämpft durchgelassen werden, während die PWM-Frequenz möglichst stark gedämpft werden soll. Deshalb nutzt man hierfür vorwiegend Filter höherer Ordnungen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filtervergleich.gif|thumb|Beispiele für verschiedene Filtercharakteristiken]]&lt;br /&gt;
Zuletzt unterteilt man Filter noch in verschiedene Charakteristiken, namentlich Tiefpässe, Hochpässe, Bandpässe und Bandsperren.&lt;br /&gt;
*Tiefpässe lassen tiefe Frequenzen durch und sperren hohe Frequenzen. (siehe blaue Kurve im Bild.) Eine typische Anwendung wäre die Glättung eines Signals mithilfe einer Kombination aus Spule und Kondensator. &lt;br /&gt;
*Hochpässe machen das Gegenteil: Sie sperren tiefe Frequenzen und lassen hohe Frequenzen durch. (siehe grüne Kurve im Bild.) Beispiele wären eine Gleichspannungsentkopplung oder eine Frequenzweiche für einen Hochtonlautsprecher.&lt;br /&gt;
*Bandpässe sperren hohe und tiefe Frequenzen - Ein bestimmter Frequenzbereich wird jedoch durchgelassen. (siehe rote Kurve im Bild.) Eine Anwendung hierfür wäre eine Frequenzweiche vor einem Mitteltöner '''''(Sorry für die ganzen Beispiele aus dem Audiobereich, fällt vielleicht wem was besseres ein? Passiv-PFC würde mir einfallen, würde aber ne längere Erläuterung notwendig machen.)'''''&lt;br /&gt;
*Bandsperren sind das Gegenstück zu den Bandpässen: Hohe und tiefe Frequenzen werden durchgelassen, ein bestimmter Frequenzbereich wird gesperrt. (siehe türkise Kurve im Bild.) Eine solche Schaltung kann beispielsweise verwendet werden, um die möglicherweise bei Datenübertragungen über Modem störenden Gebührenimpulse aus der Telefonleitung herauszufiltern.&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, sind die Bezeichnungen so gut wie selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
&lt;br /&gt;
Wenn man einen Filter für eine bestimmte Anwendung berechnen will, braucht man folgende Informationen:&lt;br /&gt;
* Die Grenzfrequenz. Das ist die Frequenz, ab der die Ausgangsspannung gegenüber der Eingangsspannung um 3dB abgeschwächt wird - das entspricht in etwa einer Abschwächum um den Faktor 1,414, genauer um &amp;lt;math&amp;gt;\sqrt{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Die Ordnung des Filters. Diese ergibt sich aus den Anforderungen in der Anwendung.&lt;br /&gt;
* Ob der Filter aktiv oder passiv ausgeführt werden soll&lt;br /&gt;
&lt;br /&gt;
Alle Arten von Filtern, also solche 1. Ordnung, 2. Ordnung, Tiefpässe, Hochpässe etc. lassen sich sowohl Passiv als auch Aktiv aufbauen. Beginnen wir zunächst mit den passiven Filtern:&lt;br /&gt;
&lt;br /&gt;
== Passiv ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung, Tiefpass und Hochpass ===&lt;br /&gt;
&lt;br /&gt;
Für Tief- und Hochpässe 1. Ordnung gibt es zwei Möglichkeiten: Entweder man schaltet das frequenzabhängige Bauteil vor einen Lastwiderstand (beispielsweise einen Lautsprecher), oder man schaltet den Widerstand vor das frequenzabhängige Bauteil. Wie das dann aussieht, zeigt die folgende Abbildung:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filter 1.Ordnung.gif]]&lt;br /&gt;
&lt;br /&gt;
Ue ist die Eingangsspannung, vor dem Filter, und Ua ist die Spannung, die am Ausgang der Schaltung anliegt um weiterverarbeitet zu werden. Die obigen Aufbauten, mit dem frequenzabhängigen Bauteil vor dem Lastwiderstand, bieten sich an, wenn man bereits einen Lastwiderstand - beispielsweise einen Lautsprecher - gegeben hat. Den Widerstand R ersetzt man dann durch diese Last - und hat ein Bauteil weniger zu verbasteln.&lt;br /&gt;
Das RC-Glied (links unten) bietet sich an, wenn man einen Tiefpassfilter mit hoher Eingangsimpedanz benötigt. Das ist beispielsweise der Fall, wenn man eine Referenzspannung glätten möchte.&lt;br /&gt;
Das RL-Glied bietet sich meines Wissens überhaupt nicht an :D, da für die im Hobbybereich gängigen Frequenzen entweder ein sehr kleiner Widerstand R oder eine sehr große Spule nötig würde. Lösung 1 hat dann einen extrem kleinen Eingangswiderstand, Lösung 2 verbraucht massig Platz und ist teuer.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Berechnungen sind, egal ob Hochpass oder Tiefpass, jeweils identisch. Bei einer Spule als frequenzabhängiges Bauteil gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L = \frac{R}{2\pi*f_g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird dagegen ein Kondensator benutzt, gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C = \frac{1}{2\pi*f_g*R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung, Bandpass und Bandsperre ===&lt;br /&gt;
&lt;br /&gt;
==== Bandpass ====&lt;br /&gt;
&lt;br /&gt;
[[Bild:Bandpass-Schaltung.gif|thumb|Die Schaltung für einen Bandpassfilter]]&lt;br /&gt;
Bei diesen Arten von Filtern ist die Berechnung einen Tacken komplizierter. Im Grunde haben diese Filter eine obere und eine untere Grenzfrequenz, so dass verschieden große Frequenzbereiche beeinflusst werden können.&lt;br /&gt;
Am einfachsten ist es dann, zwei einzelne Filter zu dimensionieren, nämlich einen Hochpass und einen Tiefpass und diese dann zu einem Filter zusammenzufassen. Aufgrund von Resonanz ü.ä. entspricht der entstehende Frequenzgang nicht dem, der entstehen würde, wenn man einfach die Dämpfungen der beiden Filter zusammenrechnet. Solange der Filter ein ganzes Frequenzband durchlassen soll, macht dies aber in den seltensten Fällen einen Unterschied. Wenn aber nur eine Frequenz durchgelassen werden soll, unterscheidet dich der Frequenzgang stark von dem der Einzelnen Filter. Es gibt dann eine Resonanzfrequenz, bei der die Dämpfung extrem gering wird. Wenn man sich von der Resonanzfrequenz wegbewegt, steigt die Dämpfung erst sehr schnell an, und geht schließlich in einen Abfall um 20dB / Dekade (das ist eine Verzehnfachung der Frequenz) über.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein Problem gibt es aber dabei: Wenn die Abweichungen der Bauteile zu groß sind (und Kondensatoren sowie Spulen haben nunmal meistens sehr große Toleranzen), wird die Frequenz möglicherweise nicht getroffen, und der Filter macht nicht das was er soll. Abhilfe schafft entweder die Verwendeung von Bauteilen mit geringen Toleranzen (teuer!) oder eine Vergrößerung des Frequenzbandes, das durchgelassen werden soll. Letzteres ist in den meisten Fällen die bessere Lösung.&amp;lt;br&amp;gt;&lt;br /&gt;
Das gleiche gilt übrigens bei Bandsperren!&lt;br /&gt;
&lt;br /&gt;
[[Bild:bandpass-Ergebnis.gif|thumb|Das Ergebnis der Berechnung: Die Grenzfrequenzen stimmen mit den erwarteten mit ausreichender Genauigkeit überein.]]&lt;br /&gt;
Ein Beispiel zur Berechnung: Nehmen wir an, wir brauchen einen Bandpass, der das hörbare Frequenzband von 20 Hertz bis 20 Kilohertz durchlässt. Diese Frequenzen sollten dann zugleich die Grenzfrequenzen des Filters sein. Wir berechnen dann einen Hochpassfilter, um Frequenzen unter 20 Hertz zu sperren, und einen Tiefpass, der Frequenzen über 20 Kilohertz sperren würde. Da ein Lastwiderstand, ein Breitbandlautsprecher mit einer Impedanz von 8 Ohm, gegeben ist, benutzen wir die oberen Aufbauten aus der obigen Grafik. Wir erhalten für die Induktivität &amp;lt;math&amp;gt;L \approx 63\mu H&amp;lt;/math&amp;gt; und für den Kondensator &amp;lt;math&amp;gt;C \approx 1000\mu F&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Schaltung wird in dem Bild oben rechts gezeigt, die beiden Filter werden sozusagen hintereinandergeschaltet.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Ergebnis ist in dem Bild darunter dargestellt: Die Grenzfrequenzen liegen mit ausreichender Genauigkeit bei den erwarteten Frequenzen von 20 Hertz und 20 Kilohertz.&lt;br /&gt;
&lt;br /&gt;
==== Bandsperre ====&lt;br /&gt;
&lt;br /&gt;
[[Bild:Bandsperre-Schaltung.gif|thumb|Die Schaltung für eine Bandsperre]]&lt;br /&gt;
Bei einer Bandsperre verfährt man fast genauso. Man berechnet einen Tiefpassfilter für die untere Grenzfrequenz und einen Hochpassfilter für die obere Grenzfrequenz. Die Frequenzanteile, die dann zwischen den Grenzfrequezen liegen, werden mehr oder weniger stark gesperrt, je nachdem, wie weit sie von den Grenzfrequezen entfernt sind. In der geometrischen Mitte der beiden Frequenzen tritt eine Resonanz auf, die Sperrwirkung des Filters ist dann fast unendlich groß. &lt;br /&gt;
&lt;br /&gt;
Bei einer Bandsperre werden die beiden frequenzabhängigen Bauteile parallel geschaltet. Die Schaltung sieht dann so aus wie in der nebenstehenden Abbildung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Passiv 1.Ordnung: Bandpass und Bandsperre &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Bandsperre-Schaltung.gif&amp;diff=8494</id>
		<title>Datei:Bandsperre-Schaltung.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Bandsperre-Schaltung.gif&amp;diff=8494"/>
				<updated>2006-08-01T00:14:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8493</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8493"/>
				<updated>2006-08-01T00:13:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Bandsperre&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
Zur Glättung von Spannungen und / oder Strömen werden auch Filter eingesetzt. Eine Kombination aus Spule und Kondensator (LC-Filter) setzt man beispielsweise häufig vor der ADC-Versorgung von Mikrocontrollern ein. Diese Filter filtern doppelt: Wenn die Versorgungsspannung plötzlich leicht abfällt, ändert sich zunächst der Strom in der Spule, aber wie gesagt wurde, durch die Induktivität verlangsamt. Wenn der Strom etwas abgefallen ist, wird das zweite Filterelement - der Kondensator - aktiv, denn durch ihn muss zuerst ein Strom fließen, damit sich die Spannung am Ausgang der Schaltung ändern kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Phantomspeisung (gecancelt: Gebräuchliche Systeme wie PoE brauchen dafür afaik keine echten Filter.)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
Nun gibt es aber zig verschiedene Möglichkeiten, Filter aufzubauen, noch dazu ist jede nur für spezielle Anwendungen geeignet.&amp;lt;br&amp;gt;&lt;br /&gt;
Man unterteilt Filter zunächst in aktive Filter und passive Filter: Passive Filter sind solche, die nur aus passiven Bauteilen bestehen. Dazu gehören die oben angesprochenen Kondensatoren, Spulen und Widerstände, aber auch Quarze.&lt;br /&gt;
Aktive Filter enthalten als aktive Komponente meist einen Operationsverstärker. Der Vorteil liegt auf der Hand: Der Ausgang des OpAmps ist auch der Ausgang des Filters, der damit auch ruhig bis einige Milliampere belastet werden kann - bei passiven Filtern ist dies meistens nicht ohne weiteres möglich, die Ausgangsspannung würde sich dabei ändern. Der Nachteil sollte auch klar sein: Ein OpAmp, und jede andere aktive Komponente auch, braucht ne Versorgungsspannung. Für eine Frequenzweiche in einer passiven Standbox (d.h. der Verstärker ist nicht integriert) sind aktive Filter dadurch ungeeignet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filterordnungen.gif|thumb|Beispiele für verschiedene Filterordnungen]]&lt;br /&gt;
Weiterhin unterscheidet man Filter nach verschiedenen Ordnungen. Die Ordnung spiegelt dabei die Anzahl der frequenzabhängigen Bauteile wieder. Ein Filter höherer Ordnung, beispielsweise die oben beschriebene Kombination aus Spule und Kondensator, hat eine bessere Trennschärfe. Das bedeutet, dass der Abstand zwischen Frequenzen, die durchgelassen werden, und Frequenzen, die gesperrt werden, kleiner ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Nun gut, im Bild rechts sieht man schon dass das so nicht ganz stimmt: Jede Frequenz wird noch irgendwie durchgelassen, aber die Dämpfung, die in dB gemessen wird, wird immer stärker. Man müsste also eigentlich sagen, dass der Abstand der Frequenzen, die als durchgelassen '''bezeichnet''' werden können und der Frequenzen, die als gesperrt '''bezeichnet''' werden können, kleiner ist. Ab welcher Dämpfung eine Frequenz als gesperrt oder durchgelassen bezeichnet werden kann, das hängt wiederrum von der Anwendung ab. In Audioanwendungen reicht ein Filter 1. Ordnung meist völlig aus, aber um beispielsweise ein PWM-Signal in eine Gleichspannung zu wandelt, muss eine bestimmte Frequenz unbedingt möglichst schwach gedämpft durchgelassen werden, während die PWM-Frequenz möglichst stark gedämpft werden soll. Deshalb nutzt man hierfür vorwiegend Filter höherer Ordnungen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filtervergleich.gif|thumb|Beispiele für verschiedene Filtercharakteristiken]]&lt;br /&gt;
Zuletzt unterteilt man Filter noch in verschiedene Charakteristiken, namentlich Tiefpässe, Hochpässe, Bandpässe und Bandsperren.&lt;br /&gt;
*Tiefpässe lassen tiefe Frequenzen durch und sperren hohe Frequenzen. (siehe blaue Kurve im Bild.) Eine typische Anwendung wäre die Glättung eines Signals mithilfe einer Kombination aus Spule und Kondensator. &lt;br /&gt;
*Hochpässe machen das Gegenteil: Sie sperren tiefe Frequenzen und lassen hohe Frequenzen durch. (siehe grüne Kurve im Bild.) Beispiele wären eine Gleichspannungsentkopplung oder eine Frequenzweiche für einen Hochtonlautsprecher.&lt;br /&gt;
*Bandpässe sperren hohe und tiefe Frequenzen - Ein bestimmter Frequenzbereich wird jedoch durchgelassen. (siehe rote Kurve im Bild.) Eine Anwendung hierfür wäre eine Frequenzweiche vor einem Mitteltöner '''''(Sorry für die ganzen Beispiele aus dem Audiobereich, fällt vielleicht wem was besseres ein? Passiv-PFC würde mir einfallen, würde aber ne längere Erläuterung notwendig machen.)'''''&lt;br /&gt;
*Bandsperren sind das Gegenstück zu den Bandpässen: Hohe und tiefe Frequenzen werden durchgelassen, ein bestimmter Frequenzbereich wird gesperrt. (siehe türkise Kurve im Bild.) Eine solche Schaltung kann beispielsweise verwendet werden, um die möglicherweise bei Datenübertragungen über Modem störenden Gebührenimpulse aus der Telefonleitung herauszufiltern.&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, sind die Bezeichnungen so gut wie selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
&lt;br /&gt;
Wenn man einen Filter für eine bestimmte Anwendung berechnen will, braucht man folgende Informationen:&lt;br /&gt;
* Die Grenzfrequenz. Das ist die Frequenz, ab der die Ausgangsspannung gegenüber der Eingangsspannung um 3dB abgeschwächt wird - das entspricht in etwa einer Abschwächum um den Faktor 1,414, genauer um &amp;lt;math&amp;gt;\sqrt{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Die Ordnung des Filters. Diese ergibt sich aus den Anforderungen in der Anwendung.&lt;br /&gt;
* Ob der Filter aktiv oder passiv ausgeführt werden soll&lt;br /&gt;
&lt;br /&gt;
Alle Arten von Filtern, also solche 1. Ordnung, 2. Ordnung, Tiefpässe, Hochpässe etc. lassen sich sowohl Passiv als auch Aktiv aufbauen. Beginnen wir zunächst mit den passiven Filtern:&lt;br /&gt;
&lt;br /&gt;
== Passiv ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung, Tiefpass und Hochpass ===&lt;br /&gt;
&lt;br /&gt;
Für Tief- und Hochpässe 1. Ordnung gibt es zwei Möglichkeiten: Entweder man schaltet das frequenzabhängige Bauteil vor einen Lastwiderstand (beispielsweise einen Lautsprecher), oder man schaltet den Widerstand vor das frequenzabhängige Bauteil. Wie das dann aussieht, zeigt die folgende Abbildung:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filter 1.Ordnung.gif]]&lt;br /&gt;
&lt;br /&gt;
Ue ist die Eingangsspannung, vor dem Filter, und Ua ist die Spannung, die am Ausgang der Schaltung anliegt um weiterverarbeitet zu werden. Die obigen Aufbauten, mit dem frequenzabhängigen Bauteil vor dem Lastwiderstand, bieten sich an, wenn man bereits einen Lastwiderstand - beispielsweise einen Lautsprecher - gegeben hat. Den Widerstand R ersetzt man dann durch diese Last - und hat ein Bauteil weniger zu verbasteln.&lt;br /&gt;
Das RC-Glied (links unten) bietet sich an, wenn man einen Tiefpassfilter mit hoher Eingangsimpedanz benötigt. Das ist beispielsweise der Fall, wenn man eine Referenzspannung glätten möchte.&lt;br /&gt;
Das RL-Glied bietet sich meines Wissens überhaupt nicht an :D, da für die im Hobbybereich gängigen Frequenzen entweder ein sehr kleiner Widerstand R oder eine sehr große Spule nötig würde. Lösung 1 hat dann einen extrem kleinen Eingangswiderstand, Lösung 2 verbraucht massig Platz und ist teuer.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Berechnungen sind, egal ob Hochpass oder Tiefpass, jeweils identisch. Bei einer Spule als frequenzabhängiges Bauteil gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L = \frac{R}{2\pi*f_g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird dagegen ein Kondensator benutzt, gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C = \frac{1}{2\pi*f_g*R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung, Bandpass und Bandsperre ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Bandpass-Schaltung.gif|thumb|Die Schaltung für einen Bandpassfilter]]&lt;br /&gt;
Bei diesen Arten von Filtern ist die Berechnung einen Tacken komplizierter. Im Grunde haben diese Filter eine obere und eine untere Grenzfrequenz, so dass verschieden große Frequenzbereiche beeinflusst werden können.&lt;br /&gt;
Am einfachsten ist es dann, zwei einzelne Filter zu dimensionieren, nämlich einen Hochpass und einen Tiefpass und diese dann zu einem Filter zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:bandpass-Ergebnis.gif|thumb|Das Ergebnis der Berechnung: Die Grenzfrequenzen stimmen mit den erwarteten mit ausreichender Genauigkeit überein.]]&lt;br /&gt;
Ein Beispiel: Wir brauchen einen Bandpass, der das hörbare Frequenzband von 20 Hertz bis 20 Kilohertz durchlässt. Diese Frequenzen sollten dann zugleich die Grenzfrequenzen des Filters sein. Wir berechnen dann einen Hochpassfilter, um Frequenzen unter 20 Hertz zu sperren, und einen Tiefpass, der Frequenzen über 20 Kilohertz sperren würde. Da ein Lastwiderstand, ein Breitbandlautsprecher mit einer Impedanz von 8 Ohm, gegeben ist, benutzen wir die oberen Aufbauten aus der obigen Grafik. Wir erhalten für die Induktivität &amp;lt;math&amp;gt;L \approx 63\mu H&amp;lt;/math&amp;gt; und für den Kondensator &amp;lt;math&amp;gt;C \approx 1000\mu F&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Schaltung wird in dem Bild oben rechts gezeigt, die beiden Filter werden sozusagen hintereinandergeschaltet.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Ergebnis ist in dem Bild darunter dargestellt: Die Grenzfrequenzen liegen mit ausreichender Genauigkeit bei den erwarteten Frequenzen von 20 Hertz und 20 Kilohertz.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Bandsperre-Schaltung.gif|thumb|Die Schaltung für eine Bandsperre]]&lt;br /&gt;
Bei einer Bandsperre verfährt man fast genauso. Man berechnet einen Tiefpassfilter für die untere Grenzfrequenz und einen Hochpassfilter für die obere Grenzfrequenz. Die Frequenzanteile, die dann zwischen den Grenzfrequezen liegen, werden mehr oder weniger stark gesperrt, je nachdem, wie weit sie von den Grenzfrequezen entfernt sind. In der geometrischen Mitte der beiden Frequenzen tritt eine Resonanz auf, die Sperrwirkung des Filters ist dann fast unendlich groß.&lt;br /&gt;
&lt;br /&gt;
Bei einer Bandsperre werden die beiden frequenzabhängigen Bauteile parallel geschaltet. Die Schaltung sieht dann so aus wie in der nebenstehenden Abbildung.&lt;br /&gt;
&lt;br /&gt;
Sowohl bei Bandsperren als auch bei Bandpässen ist es möglich, nur einen sehr kleinen Frequenzbereich durchzulassen bzw. zu sperren. Man dimensioniert dann die zugrundeliegenden Filter (Hochpass und Tiefpass) so, dass die jeweilige Frequenz die Grenzfrequenz des einzelnen Filters ist. Bei der jeweiligen Frequenz tritt dann eine Resonanz auf, so dass das Signal beim Bandpass überhaupt nicht (In der Praxis tritt durch den Eigenwiderstand der Spule und des Kondensators eine sehr geringe Dämpfung auf) bzw. bei der Bandsperre komplett gesperrt wird (Wobei auch hier in der Praxis noch ein sehr geringer Teil des Signals durchgelassen wird)&amp;lt;br&amp;gt;&lt;br /&gt;
Allerdings ist hier Vorsicht geboten. Durch Abweichungen der Bauteile kann es passieren, dass sich die sog. Resonanzfrequenz des Filters verschiebt und der Filter dadurch nicht mehr das vorgesehene Verhalten zeigt. Dann wird eine Frequenz plötzlich gesperrt, die eigentlich durchgelassen werden sollte. Oder es passiert genau das Gegenteil. Um dies zu verhindern, sollte man entweder Bauteile mit sehr geringen Toleranzen benutzen (teuer!) oder das jeweilige Frequenzband etwas breiter machen. Dann ist die Trennschärfe etwas geringer, aber das ist in den meisten Anwendungen von geringer Bedeutung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Passiv 1.Ordnung: Bandpass und Bandsperre &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8459</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8459"/>
				<updated>2006-07-19T00:45:26Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Bandpass&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
Zur Glättung von Spannungen und / oder Strömen werden auch Filter eingesetzt. Eine Kombination aus Spule und Kondensator (LC-Filter) setzt man beispielsweise häufig vor der ADC-Versorgung von Mikrocontrollern ein. Diese Filter filtern doppelt: Wenn die Versorgungsspannung plötzlich leicht abfällt, ändert sich zunächst der Strom in der Spule, aber wie gesagt wurde, durch die Induktivität verlangsamt. Wenn der Strom etwas abgefallen ist, wird das zweite Filterelement - der Kondensator - aktiv, denn durch ihn muss zuerst ein Strom fließen, damit sich die Spannung am Ausgang der Schaltung ändern kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Phantomspeisung (gecancelt: Gebräuchliche Systeme wie PoE brauchen dafür afaik keine echten Filter.)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
Nun gibt es aber zig verschiedene Möglichkeiten, Filter aufzubauen, noch dazu ist jede nur für spezielle Anwendungen geeignet.&amp;lt;br&amp;gt;&lt;br /&gt;
Man unterteilt Filter zunächst in aktive Filter und passive Filter: Passive Filter sind solche, die nur aus passiven Bauteilen bestehen. Dazu gehören die oben angesprochenen Kondensatoren, Spulen und Widerstände, aber auch Quarze.&lt;br /&gt;
Aktive Filter enthalten als aktive Komponente meist einen Operationsverstärker. Der Vorteil liegt auf der Hand: Der Ausgang des OpAmps ist auch der Ausgang des Filters, der damit auch ruhig bis einige Milliampere belastet werden kann - bei passiven Filtern ist dies meistens nicht ohne weiteres möglich, die Ausgangsspannung würde sich dabei ändern. Der Nachteil sollte auch klar sein: Ein OpAmp, und jede andere aktive Komponente auch, braucht ne Versorgungsspannung. Für eine Frequenzweiche in einer passiven Standbox (d.h. der Verstärker ist nicht integriert) sind aktive Filter dadurch ungeeignet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filterordnungen.gif|thumb|Beispiele für verschiedene Filterordnungen]]&lt;br /&gt;
Weiterhin unterscheidet man Filter nach verschiedenen Ordnungen. Die Ordnung spiegelt dabei die Anzahl der frequenzabhängigen Bauteile wieder. Ein Filter höherer Ordnung, beispielsweise die oben beschriebene Kombination aus Spule und Kondensator, hat eine bessere Trennschärfe. Das bedeutet, dass der Abstand zwischen Frequenzen, die durchgelassen werden, und Frequenzen, die gesperrt werden, kleiner ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Nun gut, im Bild rechts sieht man schon dass das so nicht ganz stimmt: Jede Frequenz wird noch irgendwie durchgelassen, aber die Dämpfung, die in dB gemessen wird, wird immer stärker. Man müsste also eigentlich sagen, dass der Abstand der Frequenzen, die als durchgelassen '''bezeichnet''' werden können und der Frequenzen, die als gesperrt '''bezeichnet''' werden können, kleiner ist. Ab welcher Dämpfung eine Frequenz als gesperrt oder durchgelassen bezeichnet werden kann, das hängt wiederrum von der Anwendung ab. In Audioanwendungen reicht ein Filter 1. Ordnung meist völlig aus, aber um beispielsweise ein PWM-Signal in eine Gleichspannung zu wandelt, muss eine bestimmte Frequenz unbedingt möglichst schwach gedämpft durchgelassen werden, während die PWM-Frequenz möglichst stark gedämpft werden soll. Deshalb nutzt man hierfür vorwiegend Filter höherer Ordnungen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filtervergleich.gif|thumb|Beispiele für verschiedene Filtercharakteristiken]]&lt;br /&gt;
Zuletzt unterteilt man Filter noch in verschiedene Charakteristiken, namentlich Tiefpässe, Hochpässe, Bandpässe und Bandsperren.&lt;br /&gt;
*Tiefpässe lassen tiefe Frequenzen durch und sperren hohe Frequenzen. (siehe blaue Kurve im Bild.) Eine typische Anwendung wäre die Glättung eines Signals mithilfe einer Kombination aus Spule und Kondensator. &lt;br /&gt;
*Hochpässe machen das Gegenteil: Sie sperren tiefe Frequenzen und lassen hohe Frequenzen durch. (siehe grüne Kurve im Bild.) Beispiele wären eine Gleichspannungsentkopplung oder eine Frequenzweiche für einen Hochtonlautsprecher.&lt;br /&gt;
*Bandpässe sperren hohe und tiefe Frequenzen - Ein bestimmter Frequenzbereich wird jedoch durchgelassen. (siehe rote Kurve im Bild.) Eine Anwendung hierfür wäre eine Frequenzweiche vor einem Mitteltöner '''''(Sorry für die ganzen Beispiele aus dem Audiobereich, fällt vielleicht wem was besseres ein? Passiv-PFC würde mir einfallen, würde aber ne längere Erläuterung notwendig machen.)'''''&lt;br /&gt;
*Bandsperren sind das Gegenstück zu den Bandpässen: Hohe und tiefe Frequenzen werden durchgelassen, ein bestimmter Frequenzbereich wird gesperrt. (siehe türkise Kurve im Bild.)&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, sind die Bezeichnungen so gut wie selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
&lt;br /&gt;
Wenn man einen Filter für eine bestimmte Anwendung berechnen will, braucht man folgende Informationen:&lt;br /&gt;
* Die Grenzfrequenz. Das ist die Frequenz, ab der die Ausgangsspannung gegenüber der Eingangsspannung um 3dB abgeschwächt wird - das entspricht in etwa einer Abschwächum um den Faktor 1,414, genauer um &amp;lt;math&amp;gt;\sqrt{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Die Ordnung des Filters. Diese ergibt sich aus den Anforderungen in der Anwendung.&lt;br /&gt;
* Ob der Filter aktiv oder passiv ausgeführt werden soll&lt;br /&gt;
&lt;br /&gt;
Alle Arten von Filtern, also solche 1. Ordnung, 2. Ordnung, Tiefpässe, Hochpässe etc. lassen sich sowohl Passiv als auch Aktiv aufbauen. Beginnen wir zunächst mit den passiven Filtern:&lt;br /&gt;
&lt;br /&gt;
== Passiv ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung, Tiefpass und Hochpass ===&lt;br /&gt;
&lt;br /&gt;
Für Tief- und Hochpässe 1. Ordnung gibt es zwei Möglichkeiten: Entweder man schaltet das frequenzabhängige Bauteil vor einen Lastwiderstand (beispielsweise einen Lautsprecher), oder man schaltet den Widerstand vor das frequenzabhängige Bauteil. Wie das dann aussieht, zeigt die folgende Abbildung:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filter 1.Ordnung.gif]]&lt;br /&gt;
&lt;br /&gt;
Ue ist die Eingangsspannung, vor dem Filter, und Ua ist die Spannung, die am Ausgang der Schaltung anliegt um weiterverarbeitet zu werden. Die obigen Aufbauten, mit dem frequenzabhängigen Bauteil vor dem Lastwiderstand, bieten sich an, wenn man bereits einen Lastwiderstand - beispielsweise einen Lautsprecher - gegeben hat. Den Widerstand R ersetzt man dann durch diese Last - und hat ein Bauteil weniger zu verbasteln.&lt;br /&gt;
Das RC-Glied (links unten) bietet sich an, wenn man einen Tiefpassfilter mit hoher Eingangsimpedanz benötigt. Das ist beispielsweise der Fall, wenn man eine Referenzspannung glätten möchte.&lt;br /&gt;
Das RL-Glied bietet sich meines Wissens überhaupt nicht an :D, da für die im Hobbybereich gängigen Frequenzen entweder ein sehr kleiner Widerstand R oder eine sehr große Spule nötig würde. Lösung 1 hat dann einen extrem kleinen Eingangswiderstand, Lösung 2 verbraucht massig Platz und ist teuer.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Berechnungen sind, egal ob Hochpass oder Tiefpass, jeweils identisch. Bei einer Spule als frequenzabhängiges Bauteil gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L = \frac{R}{2\pi*f_g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird dagegen ein Kondensator benutzt, gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C = \frac{1}{2\pi*f_g*R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung, Bandpass und Bandsperre ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:Bandpass-Schaltung.gif|thumb|Die Schaltung für einen Bandpassfilter]]&lt;br /&gt;
Bei diesen Arten von Filtern ist die Berechnung einen Tacken komplizierter. Im Grunde haben diese Filter eine obere und eine untere Grenzfrequenz, so dass verschieden große Frequenzbereiche beeinflusst werden können.&lt;br /&gt;
Am einfachsten ist es dann, zwei einzelne Filter zu dimensionieren, nämlich einen Hochpass und einen Tiefpass und diese dann zu einem Filter zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:bandpass-Ergebnis.gif|thumb|Das Ergebnis der Berechnung: Die Grenzfrequenzen stimmen mit den erwarteten mit ausreichender Genauigkeit überein.]]&lt;br /&gt;
Ein Beispiel: Wir brauchen einen Bandpass, der das hörbare Frequenzband von 20 Hertz bis 20 Kilohertz durchlässt. Diese Frequenzen sollten dann zugleich die Grenzfrequenzen des Filters sein. Wir berechnen dann einen Hochpassfilter, um Frequenzen unter 20 Hertz zu sperren, und einen Tiefpass, der Frequenzen über 20 Kilohertz sperren würde. Da ein Lastwiderstand, ein Breitbandlautsprecher mit einer Impedanz von 8 Ohm, gegeben ist, benutzen wir die oberen Aufbauten aus der obigen Grafik. Wir erhalten für die Induktivität &amp;lt;math&amp;gt;L \approx 63\mu H&amp;lt;/math&amp;gt; und für den Kondensator &amp;lt;math&amp;gt;C \approx 1000\mu F&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Schaltung wird in dem Bild oben rechts gezeigt, die beiden Filter werden sozusagen hintereinandergeschaltet.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Ergebnis ist in dem Bild darunter dargestellt: Die Grenzfrequenzen liegen mit ausreichender Genauigkeit bei den erwarteten Frequenzen von 20 Hertz und 20 Kilohertz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Passiv 1.Ordnung: Bandpass und Bandsperre &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Bandpass-Ergebnis.gif&amp;diff=8458</id>
		<title>Datei:Bandpass-Ergebnis.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Bandpass-Ergebnis.gif&amp;diff=8458"/>
				<updated>2006-07-19T00:40:16Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Bandpass-Schaltung.gif&amp;diff=8457</id>
		<title>Datei:Bandpass-Schaltung.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Bandpass-Schaltung.gif&amp;diff=8457"/>
				<updated>2006-07-19T00:40:10Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8352</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8352"/>
				<updated>2006-07-14T21:49:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* 1. Ordnung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
Zur Glättung von Spannungen und / oder Strömen werden auch Filter eingesetzt. Eine Kombination aus Spule und Kondensator (LC-Filter) setzt man beispielsweise häufig vor der ADC-Versorgung von Mikrocontrollern ein. Diese Filter filtern doppelt: Wenn die Versorgungsspannung plötzlich leicht abfällt, ändert sich zunächst der Strom in der Spule, aber wie gesagt wurde, durch die Induktivität verlangsamt. Wenn der Strom etwas abgefallen ist, wird das zweite Filterelement - der Kondensator - aktiv, denn durch ihn muss zuerst ein Strom fließen, damit sich die Spannung am Ausgang der Schaltung ändern kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Phantomspeisung (gecancelt: Gebräuchliche Systeme wie PoE brauchen dafür afaik keine echten Filter.)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
Nun gibt es aber zig verschiedene Möglichkeiten, Filter aufzubauen, noch dazu ist jede nur für spezielle Anwendungen geeignet.&amp;lt;br&amp;gt;&lt;br /&gt;
Man unterteilt Filter zunächst in aktive Filter und passive Filter: Passive Filter sind solche, die nur aus passiven Bauteilen bestehen. Dazu gehören die oben angesprochenen Kondensatoren, Spulen und Widerstände, aber auch Quarze.&lt;br /&gt;
Aktive Filter enthalten als aktive Komponente meist einen Operationsverstärker. Der Vorteil liegt auf der Hand: Der Ausgang des OpAmps ist auch der Ausgang des Filters, der damit auch ruhig bis einige Milliampere belastet werden kann - bei passiven Filtern ist dies meistens nicht ohne weiteres möglich, die Ausgangsspannung würde sich dabei ändern. Der Nachteil sollte auch klar sein: Ein OpAmp, und jede andere aktive Komponente auch, braucht ne Versorgungsspannung. Für eine Frequenzweiche in einer passiven Standbox (d.h. der Verstärker ist nicht integriert) sind aktive Filter dadurch ungeeignet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filterordnungen.gif|thumb|Beispiele für verschiedene Filterordnungen]]&lt;br /&gt;
Weiterhin unterscheidet man Filter nach verschiedenen Ordnungen. Die Ordnung spiegelt dabei die Anzahl der frequenzabhängigen Bauteile wieder. Ein Filter höherer Ordnung, beispielsweise die oben beschriebene Kombination aus Spule und Kondensator, hat eine bessere Trennschärfe. Das bedeutet, dass der Abstand zwischen Frequenzen, die durchgelassen werden, und Frequenzen, die gesperrt werden, kleiner ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Nun gut, im Bild rechts sieht man schon dass das so nicht ganz stimmt: Jede Frequenz wird noch irgendwie durchgelassen, aber die Dämpfung, die in dB gemessen wird, wird immer stärker. Man müsste also eigentlich sagen, dass der Abstand der Frequenzen, die als durchgelassen '''bezeichnet''' werden können und der Frequenzen, die als gesperrt '''bezeichnet''' werden können, kleiner ist. Ab welcher Dämpfung eine Frequenz als gesperrt oder durchgelassen bezeichnet werden kann, das hängt wiederrum von der Anwendung ab. In Audioanwendungen reicht ein Filter 1. Ordnung meist völlig aus, aber um beispielsweise ein PWM-Signal in eine Gleichspannung zu wandelt, muss eine bestimmte Frequenz unbedingt möglichst schwach gedämpft durchgelassen werden, während die PWM-Frequenz möglichst stark gedämpft werden soll. Deshalb nutzt man hierfür vorwiegend Filter höherer Ordnungen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filtervergleich.gif|thumb|Beispiele für verschiedene Filtercharakteristiken]]&lt;br /&gt;
Zuletzt unterteilt man Filter noch in verschiedene Charakteristiken, namentlich Tiefpässe, Hochpässe, Bandpässe und Bandsperren.&lt;br /&gt;
*Tiefpässe lassen tiefe Frequenzen durch und sperren hohe Frequenzen. (siehe blaue Kurve im Bild.) Eine typische Anwendung wäre die Glättung eines Signals mithilfe einer Kombination aus Spule und Kondensator. &lt;br /&gt;
*Hochpässe machen das Gegenteil: Sie sperren tiefe Frequenzen und lassen hohe Frequenzen durch. (siehe grüne Kurve im Bild.) Beispiele wären eine Gleichspannungsentkopplung oder eine Frequenzweiche für einen Hochtonlautsprecher.&lt;br /&gt;
*Bandpässe sperren hohe und tiefe Frequenzen - Ein bestimmter Frequenzbereich wird jedoch durchgelassen. (siehe rote Kurve im Bild.) Eine Anwendung hierfür wäre eine Frequenzweiche vor einem Mitteltöner '''''(Sorry für die ganzen Beispiele aus dem Audiobereich, fällt vielleicht wem was besseres ein? Passiv-PFC würde mir einfallen, würde aber ne längere Erläuterung notwendig machen.)'''''&lt;br /&gt;
*Bandsperren sind das Gegenstück zu den Bandpässen: Hohe und tiefe Frequenzen werden durchgelassen, ein bestimmter Frequenzbereich wird gesperrt. (siehe türkise Kurve im Bild.)&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, sind die Bezeichnungen so gut wie selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
&lt;br /&gt;
Wenn man einen Filter für eine bestimmte Anwendung berechnen will, braucht man folgende Informationen:&lt;br /&gt;
* Die Grenzfrequenz. Das ist die Frequenz, ab der die Ausgangsspannung gegenüber der Eingangsspannung um 3dB abgeschwächt wird - das entspricht in etwa einer Abschwächum um den Faktor 1,414, genauer um &amp;lt;math&amp;gt;\sqrt{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Die Ordnung des Filters. Diese ergibt sich aus den Anforderungen in der Anwendung.&lt;br /&gt;
* Ob der Filter aktiv oder passiv ausgeführt werden soll&lt;br /&gt;
&lt;br /&gt;
Alle Arten von Filtern, also solche 1. Ordnung, 2. Ordnung, Tiefpässe, Hochpässe etc. lassen sich sowohl Passiv als auch Aktiv aufbauen. Beginnen wir zunächst mit den passiven Filtern:&lt;br /&gt;
&lt;br /&gt;
== Passiv ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung ===&lt;br /&gt;
&lt;br /&gt;
Für Tief- und Hochpässe 1. Ordnung gibt es zwei Möglichkeiten: Entweder man schaltet das frequenzabhängige Bauteil vor einen Lastwiderstand (beispielsweise einen Lautsprecher), oder man schaltet den Widerstand vor das frequenzabhängige Bauteil. Wie das dann aussieht, zeigt die folgende Abbildung:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filter 1.Ordnung.gif]]&lt;br /&gt;
&lt;br /&gt;
Ue ist die Eingangsspannung, vor dem Filter, und Ua ist die Spannung, die am Ausgang der Schaltung anliegt um weiterverarbeitet zu werden. Die obigen Aufbauten, mit dem frequenzabhängigen Bauteil vor dem Lastwiderstand, bieten sich an, wenn man bereits einen Lastwiderstand - beispielsweise einen Lautsprecher - gegeben hat. Den Widerstand R ersetzt man dann durch diese Last - und hat ein Bauteil weniger zu verbasteln.&lt;br /&gt;
Das RC-Glied (links unten) bietet sich an, wenn man einen Tiefpassfilter mit hoher Eingangsimpedanz benötigt. Das ist beispielsweise der Fall, wenn man eine Referenzspannung glätten möchte.&lt;br /&gt;
Das RL-Glied bietet sich meines Wissens überhaupt nicht an :D, da für die im Hobbybereich gängigen Frequenzen entweder ein sehr kleiner Widerstand R oder eine sehr große Spule nötig würde. Lösung 1 hat dann einen extrem kleinen Eingangswiderstand, Lösung 2 verbraucht massig Platz und ist teuer.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Berechnungen sind, egal ob Hochpass oder Tiefpass, jeweils identisch. Bei einer Spule als frequenzabhängiges Bauteil gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L = \frac{R}{2\pi*f_g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird dagegen ein Kondensator benutzt, gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C = \frac{1}{2\pi*f_g*R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Filter_1.Ordnung.gif&amp;diff=8351</id>
		<title>Datei:Filter 1.Ordnung.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Filter_1.Ordnung.gif&amp;diff=8351"/>
				<updated>2006-07-14T21:49:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Verschiedene passive Filter 1. Ordnung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Verschiedene passive Filter 1. Ordnung&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8350</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8350"/>
				<updated>2006-07-14T21:48:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Realisierung Passiv 1..Ordnung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
Zur Glättung von Spannungen und / oder Strömen werden auch Filter eingesetzt. Eine Kombination aus Spule und Kondensator (LC-Filter) setzt man beispielsweise häufig vor der ADC-Versorgung von Mikrocontrollern ein. Diese Filter filtern doppelt: Wenn die Versorgungsspannung plötzlich leicht abfällt, ändert sich zunächst der Strom in der Spule, aber wie gesagt wurde, durch die Induktivität verlangsamt. Wenn der Strom etwas abgefallen ist, wird das zweite Filterelement - der Kondensator - aktiv, denn durch ihn muss zuerst ein Strom fließen, damit sich die Spannung am Ausgang der Schaltung ändern kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Phantomspeisung (gecancelt: Gebräuchliche Systeme wie PoE brauchen dafür afaik keine echten Filter.)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
Nun gibt es aber zig verschiedene Möglichkeiten, Filter aufzubauen, noch dazu ist jede nur für spezielle Anwendungen geeignet.&amp;lt;br&amp;gt;&lt;br /&gt;
Man unterteilt Filter zunächst in aktive Filter und passive Filter: Passive Filter sind solche, die nur aus passiven Bauteilen bestehen. Dazu gehören die oben angesprochenen Kondensatoren, Spulen und Widerstände, aber auch Quarze.&lt;br /&gt;
Aktive Filter enthalten als aktive Komponente meist einen Operationsverstärker. Der Vorteil liegt auf der Hand: Der Ausgang des OpAmps ist auch der Ausgang des Filters, der damit auch ruhig bis einige Milliampere belastet werden kann - bei passiven Filtern ist dies meistens nicht ohne weiteres möglich, die Ausgangsspannung würde sich dabei ändern. Der Nachteil sollte auch klar sein: Ein OpAmp, und jede andere aktive Komponente auch, braucht ne Versorgungsspannung. Für eine Frequenzweiche in einer passiven Standbox (d.h. der Verstärker ist nicht integriert) sind aktive Filter dadurch ungeeignet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filterordnungen.gif|thumb|Beispiele für verschiedene Filterordnungen]]&lt;br /&gt;
Weiterhin unterscheidet man Filter nach verschiedenen Ordnungen. Die Ordnung spiegelt dabei die Anzahl der frequenzabhängigen Bauteile wieder. Ein Filter höherer Ordnung, beispielsweise die oben beschriebene Kombination aus Spule und Kondensator, hat eine bessere Trennschärfe. Das bedeutet, dass der Abstand zwischen Frequenzen, die durchgelassen werden, und Frequenzen, die gesperrt werden, kleiner ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Nun gut, im Bild rechts sieht man schon dass das so nicht ganz stimmt: Jede Frequenz wird noch irgendwie durchgelassen, aber die Dämpfung, die in dB gemessen wird, wird immer stärker. Man müsste also eigentlich sagen, dass der Abstand der Frequenzen, die als durchgelassen '''bezeichnet''' werden können und der Frequenzen, die als gesperrt '''bezeichnet''' werden können, kleiner ist. Ab welcher Dämpfung eine Frequenz als gesperrt oder durchgelassen bezeichnet werden kann, das hängt wiederrum von der Anwendung ab. In Audioanwendungen reicht ein Filter 1. Ordnung meist völlig aus, aber um beispielsweise ein PWM-Signal in eine Gleichspannung zu wandelt, muss eine bestimmte Frequenz unbedingt möglichst schwach gedämpft durchgelassen werden, während die PWM-Frequenz möglichst stark gedämpft werden soll. Deshalb nutzt man hierfür vorwiegend Filter höherer Ordnungen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filtervergleich.gif|thumb|Beispiele für verschiedene Filtercharakteristiken]]&lt;br /&gt;
Zuletzt unterteilt man Filter noch in verschiedene Charakteristiken, namentlich Tiefpässe, Hochpässe, Bandpässe und Bandsperren.&lt;br /&gt;
*Tiefpässe lassen tiefe Frequenzen durch und sperren hohe Frequenzen. (siehe blaue Kurve im Bild.) Eine typische Anwendung wäre die Glättung eines Signals mithilfe einer Kombination aus Spule und Kondensator. &lt;br /&gt;
*Hochpässe machen das Gegenteil: Sie sperren tiefe Frequenzen und lassen hohe Frequenzen durch. (siehe grüne Kurve im Bild.) Beispiele wären eine Gleichspannungsentkopplung oder eine Frequenzweiche für einen Hochtonlautsprecher.&lt;br /&gt;
*Bandpässe sperren hohe und tiefe Frequenzen - Ein bestimmter Frequenzbereich wird jedoch durchgelassen. (siehe rote Kurve im Bild.) Eine Anwendung hierfür wäre eine Frequenzweiche vor einem Mitteltöner '''''(Sorry für die ganzen Beispiele aus dem Audiobereich, fällt vielleicht wem was besseres ein? Passiv-PFC würde mir einfallen, würde aber ne längere Erläuterung notwendig machen.)'''''&lt;br /&gt;
*Bandsperren sind das Gegenstück zu den Bandpässen: Hohe und tiefe Frequenzen werden durchgelassen, ein bestimmter Frequenzbereich wird gesperrt. (siehe türkise Kurve im Bild.)&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, sind die Bezeichnungen so gut wie selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
&lt;br /&gt;
Wenn man einen Filter für eine bestimmte Anwendung berechnen will, braucht man folgende Informationen:&lt;br /&gt;
* Die Grenzfrequenz. Das ist die Frequenz, ab der die Ausgangsspannung gegenüber der Eingangsspannung um 3dB abgeschwächt wird - das entspricht in etwa einer Abschwächum um den Faktor 1,414, genauer um &amp;lt;math&amp;gt;\sqrt{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Die Ordnung des Filters. Diese ergibt sich aus den Anforderungen in der Anwendung.&lt;br /&gt;
* Ob der Filter aktiv oder passiv ausgeführt werden soll&lt;br /&gt;
&lt;br /&gt;
Alle Arten von Filtern, also solche 1. Ordnung, 2. Ordnung, Tiefpässe, Hochpässe etc. lassen sich sowohl Passiv als auch Aktiv aufbauen. Beginnen wir zunächst mit den passiven Filtern:&lt;br /&gt;
&lt;br /&gt;
== Passiv ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Ordnung ===&lt;br /&gt;
&lt;br /&gt;
Für Tief- und Hochpässe 1. Ordnung gibt es zwei Möglichkeiten: Entweder man schaltet das frequenzabhängige Bauteil vor einen Lastwiderstand (beispielsweise einen Lautsprecher), oder man schaltet den Widerstand vor das frequenzabhängige Bauteil. Wie das dann aussieht, zeigt die folgende Abbildung:&lt;br /&gt;
[[Bild:Filter 1.Ordnung.gif]]&lt;br /&gt;
Ue ist die Eingangsspannung, vor dem Filter, und Ua ist die Spannung, die am Ausgang der Schaltung anliegt um weiterverarbeitet zu werden. Die obigen Aufbauten, mit dem frequenzabhängigen Bauteil vor dem Lastwiderstand, bieten sich an, wenn man bereits einen Lastwiderstand - beispielsweise einen Lautsprecher - gegeben hat. Den Widerstand R ersetzt man dann durch diese Last - und hat ein Bauteil weniger zu verbasteln.&lt;br /&gt;
Das RC-Glied (links unten) bietet sich an, wenn man einen Tiefpassfilter mit hoher Eingangsimpedanz benötigt. Das ist beispielsweise der Fall, wenn man eine Referenzspannung glätten möchte.&lt;br /&gt;
Das RL-Glied bietet sich meines Wissens überhaupt nicht an :D, da für die im Hobbybereich gängigen Frequenzen entweder ein sehr kleiner Widerstand R oder eine sehr große Spule nötig würde. Lösung 1 hat dann einen extrem kleinen Eingangswiderstand, Lösung 2 verbraucht massig Platz und ist teuer.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Berechnungen sind, egal ob Hochpass oder Tiefpass, jeweils identisch. Bei einer Spule als frequenzabhängiges Bauteil gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L = \frac{R}{2\pi*f_g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird dagegen ein Kondensator benutzt, gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C = \frac{1}{2\pi*f_g*R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8341</id>
		<title>Navigation</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8341"/>
				<updated>2006-07-14T15:21:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Trägheitsnavigation */  Nachtrag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Navigation bezeichnet man das Sichzurechtfinden in einem geografischen Raum, um einen bestimmten Ort zu erreichen. Die Tätigkeit des Navigierens besteht aus drei Teilbereichen:&lt;br /&gt;
&lt;br /&gt;
* Bestimmen der geografischen Position durch Ortung nach verschiedensten Methoden &lt;br /&gt;
* Berechnen des Weges zum Ziel und &lt;br /&gt;
* Führung des Fahrzeugs zu diesem Ziel, also vor allem das Halten des optimalen Kurses&lt;br /&gt;
&lt;br /&gt;
Es ist also eine zentrale Aufgabe beim Bau von Robotern. Es ist sogar das Thema, das einen besonders großen Reiz auf die Bastler ausübt.&lt;br /&gt;
&lt;br /&gt;
==Orientierung und Navigation==&lt;br /&gt;
Ein mobiler Roboter, der durch Bewegung mit seiner Umgebung in Kontakt tritt, braucht Sensoren zur Orientierung und er wird auch eine einfache Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung in natürlicher Umgebung== &lt;br /&gt;
Im einfachsten Fall werden es Berührungssensoren sein, mit denen der Roboter feststellt, ob ein Hindernis direkt vor ihm oder in seiner Reichweite ist. &lt;br /&gt;
Auch beim Einsatz von komplexeren Sensoren zum berührungslosen Orten von natürlichen Hindernissen sind einfache Kontaktsensoren zur Unterstützung sinnvoll. &lt;br /&gt;
Mit diesen Sensoren kann eine Orientierung aufgebaut werden, wenn Objekte der natürlichen Umgebung erkannt und in der Position registriert werden. Sie können beispielsweise in eine Karte eingetragen werden. &lt;br /&gt;
Die sogenannte natürliche Umgebung ist dabei in vielen Fällen speziell im Indoor-Bereich kaum von der Natur geschaffen, es sind hier vor allem Wände, Türen, Möbel. Sie wird nur so genannt, weil sie andererseits nicht zur Orientierung geschaffen wurde. &lt;br /&gt;
&lt;br /&gt;
===Ortung durch Berührung===&lt;br /&gt;
&lt;br /&gt;
Üblicherweise sind das Mikro-Schalter, die über eine Stoßstange (BUMPER) den passiven oder aktiven Kontakt mit einem Hindernis erkennen.&lt;br /&gt;
* Aktiver Kontakt - der Robby ist beim Fahren drangestoßen (Tischbein)&lt;br /&gt;
* Passiver Kontakt - Irgendwas hat den Robby berührt, z.B. die Hauskatze&lt;br /&gt;
&lt;br /&gt;
Den Unterschied kann der Roboter nur feststellen, wenn er seine momentane Bewegungsrichtung weiss und berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Bei einfachen Systemen wird meist so vorgegangen: &lt;br /&gt;
:Bumper rechts: etwas nach links drehen&lt;br /&gt;
:Bumper links: etwas nach rechts drehen&lt;br /&gt;
:Beide Bumper: umdrehen&lt;br /&gt;
&lt;br /&gt;
===Berührungslose Ortung===&lt;br /&gt;
&lt;br /&gt;
Zur berührungslosen Orientierung an Objekten in der Umgebung kann der Roboter selbst ein akustisches oder optisches Testsignal aussenden und damit die Umgebung abtasten oder er kann sich am Bild der Umgebung orientieren. &lt;br /&gt;
&lt;br /&gt;
====1. Akustische Abtastung====&lt;br /&gt;
&lt;br /&gt;
1.a. Akustischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei der akustischen Abtastung des Raumes stellt die &amp;quot;Einparkhilfe&amp;quot; die einfachste Lösung dar. Hier wird eine Sende- und eine Empfangskapsel über einen Verstärker gekoppelt und wenn im Bereich des Sensors ein Hindernis die Kopplung zwischen beiden erhöht, dann kommt es zum Anschwingen und damit zur Anzeige eines Hindernisses. Das Verfahren ist einfach, billig und lässt allenfalls senkrecht vor einer glatten Wand eine Bestimmung des Abstands zu. &lt;br /&gt;
Beispiel: Einparkhilfe Bild&lt;br /&gt;
&lt;br /&gt;
1.b. Akustische Laufzeitmessung&lt;br /&gt;
[[Bild:srf08.jpeg|right|200px|Beispiel SFR08]]&lt;br /&gt;
Etwas aufwendiger und genauer arbeiten die Ultraschallsensoren mit Laufzeitmessung. Hier wird ein Ultraschall-Impuls von 8-16 Perioden Dauer ausgesendet und es wird die Zeit gemessen, bis das Echo eintrifft. Mit diesem Verfahren kann ganz konkret die Zeit bis zum ersten Echo gemessen und über die Schallgeschwindigkeit der Abstand bestimmt werden. Die Genauigkeit liegt dabei im cm-Bereich.&lt;br /&gt;
&lt;br /&gt;
====2. Optische Abtastung==== &lt;br /&gt;
&lt;br /&gt;
2.a. Optischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei den optischen Verfahren gibt es auch den einfachen Fall des Reflexsensors. Ein integriertes Sensor-IC gibt Stromimpulse für eine IR-LED aus und detektiert die Echos, die diesem Impulsmuster entsprechen. Man erreicht damit eine gute Unterdrückung der Umgebungshelligkeit, aber - wie auch im akustischen Fall - ist das Verfahren sehr von den Reflexionseigenschaften des Objektes abhängig und lässt kaum eine Bestimmung des Abstandes zu. &lt;br /&gt;
Beispiel IRF471 Bild &lt;br /&gt;
&lt;br /&gt;
2.b. Optische Triangulation&lt;br /&gt;
&lt;br /&gt;
Sehr viel genauer arbeiten die Sensoren, die den Abstand bis zu einem Hindernis trigonometrisch vermessen. Sie bestehen aus einer IR-Diode und einem Empfänger, die zusammen mit einer Steuerung in einem Modul integriert sind. Die Impulse werden wieder nach einem Schema zur Unterdrückung der Umgebungshelligkeit ausgesendet und detektiert. Hier aber handelt es sich um einen gebündelten Lichtstrahl, der auf das Hindernis trifft und der seitlich versetzte Empfänger - eine Position Sensitive Device (PSD) - misst, aus welchem Winkel das Licht reflektiert wird und setzt den Winkel in einen Spannungswert um. &lt;br /&gt;
Beispiel Sharp [[Sensorarten|GP2D12]]  &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/bilder/gp2d12-nb.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gp2d12diagram_a.jpeg&lt;br /&gt;
&lt;br /&gt;
2.c. Optische Laufzeitmessung&lt;br /&gt;
&lt;br /&gt;
Auch bei den optischen Verfahren gibt es Sensoren, die nach dem Laufzeitprinzip arbeiten. Sie sind allerdings bis heute Messgeräte, die noch so groß sind, dass sie kaum als Sensoren in Robotern eingesetzt werden. Ein vielversprechender Ansatz, einen Sensor als Modul zu realisieren, wurde vor ein paar Monaten von einem Fraunhofer Institut vorgestellt.&lt;br /&gt;
&lt;br /&gt;
====3. Bildverarbeitung====&lt;br /&gt;
&lt;br /&gt;
Das Beispiel der optischen Abtastung mit trigonometrischer Messung funktioniert nicht nur mit einem PSD, sondern auch mit einer Kamera, mit der man den Winkel misst, unter dem der Teststrahl auf dem Objekt erscheint. &lt;br /&gt;
Darüber hinaus ist es natürlich auch möglich, das Bild der Umgebung mit zwei Kameras stereoskopisch aufzunehmen und durch Bildverarbeitung die Abstände zu den einzelnen Objekten zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung an künstlichen Markierungen==&lt;br /&gt;
&lt;br /&gt;
===1. Passive Markierungen===&lt;br /&gt;
Künstliche Markierungen sind solche, die speziell zur Markierung geschaffen oder zur Orientierung ausgewählt und beschrieben sind. Ein typisches Beispiel für künstliche Markierungen sind Reflexmarken am Ende eines Gangs, durch den ein Roboter fahren soll. Er kann sich zunächst leicht am Verlauf des Gangs orientieren, zur Bestätigung, dass genau an einer bestimmten Stelle abgebogen werden soll, wird man zusätzlich eine Reflexmarke anbringen. Vorteilhaft ist eine passive Marke, die nicht mit Energie versorgt werden muss, denn die geringe Energie, die Marke zu finden, kann der autonom fahrende Roboter leicht selbst aufbringen. &lt;br /&gt;
&lt;br /&gt;
Viel häufiger als einzelne Reflexmarken sind noch dunkle Linien anzutreffen, denen ein Roboter folgen soll. Viele Einsteiger-Modelle, wie die Modelle von Lego und natürlich auch ASURO, sind dafür ausgerüstet. Am vorderen Ende des Fahrzeugs ist dazu eine Beleuchtung angebracht, die auf den Boden vor dem Fahrzeug gerichtet ist. Es reichen dann zwei lichtempfindliche Sensoren rechts und links von der Linie aus, um die Spurverfolgung zu kontrollieren und Abweichungen zu melden. Der Abstand vom Drehpunkt des Fahrzeugs im Zusammenspiel mit der Fahrtregelung ermöglicht dann unterschiedlich schnelle und sichere Aktionen zum Halten der Spur bei rascher Verfolgung der Linie. &lt;br /&gt;
&lt;br /&gt;
===2. Aktive Markierungen===&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake&lt;br /&gt;
Ein noch recht einfach umzusetzendes Prinzip für eine aktive Bake. Über IR-LEDs wird ein codiertes Signal ausgestrahlt. Der Roboter besitzt einen Infrarotempfänger mit relativ geringem Öffnungswinkel mit nachgeschaltetem Decoder für das Signal. Hiermit kann der Roboter feststellen, ob der Empfänger gerade in Richtung der Bake zeigt. Da durch die Codierung des Signals (und evtl mehrere Trägerfrequenzen) mehr als einen Bake gleichzeitig aktiv sein darf, kann man mit mehreren Baken, die man nacheinader anpeilt und dabei die Winkel misst, auch die absolute Position feststellen.&lt;br /&gt;
&lt;br /&gt;
[http://www.robotmaker.de/fernbed.html Eine beliebte Schaltung für ein solche IR-Bake] &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
* induktive Begrenzungsschleifen&lt;br /&gt;
Dieses Verfahren wird vor allem bei einigen Rasenmäher-Robotern benutzt. Ein Draht wird am Rand der für den Roboter zulässigen Fläche ausgelegt (oder eingegraben). Über den Draht wird ein Signal gesendet, das von einem Empänger im Roboter empfangen wird, falls sich der Roboter dem Draht nähert.&lt;br /&gt;
&lt;br /&gt;
==Koppelnavigation== &lt;br /&gt;
Als Koppelnavigation wird die fortlaufende Ortsbestimmung aus momentanem Kurs und Geschwindigkeit bezeichnet. Die so bestimmte Position wird dann auch als Koppelort bezeichnet. &lt;br /&gt;
&lt;br /&gt;
Ausgehend von Position &lt;br /&gt;
Richtung, Geschwindigkeit und Dauer festlegen. &lt;br /&gt;
&lt;br /&gt;
Gezielte Vorgaben &lt;br /&gt;
Kontrolle&lt;br /&gt;
&lt;br /&gt;
===Odometrie===&lt;br /&gt;
Erfassung der Richtung und Weg/Geschwindigkeit durch &lt;br /&gt;
*die Einschaltdauer des Antriebs&lt;br /&gt;
*zählen der getätigten Steps von Schrittmotoren&lt;br /&gt;
*sensorisch durch [[Sensorarten#Drehgeber_Sharp_GP1A30_und_GP1A38|spezielle Encoder]], aber auch Kugel-, Rad- und optische Mäuse&lt;br /&gt;
&lt;br /&gt;
==Trägheitsnavigation== &lt;br /&gt;
Beschleunigung &lt;br /&gt;
Winkelbeschleunigung &lt;br /&gt;
&lt;br /&gt;
Die Trägheitsnavigation ist eine Art der Koppelnavigation.&lt;br /&gt;
Die Position wird hierbei durch Messung von Beschleunigungen und Drehungen bestimmt. Um zu wissen, welcher Beschleunigungssensor für welche Richtung im Raum zuständig ist, muss aber erstmal bestimmt werden, in welcher Lage sich der Roboter (vornehmlich Flugroboter, bei anderen Arten macht Trägheitsnavigation wenig Sinn) befindet. Ist nämich z.B. die Nase, beispielsweise bei einem Luftschiff, angehoben, misst der Beschleunigungssensor, der in Längsrichtung montiert ist, auch einen Teil der vertikalen Beschleunigung.&lt;br /&gt;
Die Bestimmung der Lage erfolgt meist über Gyrometer. Diese geben die Drehung des Objekts um eine bestimmte Achse aus. Dieser Wert wird aufsummiert (integriert), der integrierte Wert ist dann die Drehung des Objekts um eine bestimmte Achse.&lt;br /&gt;
Der Wert, den die Beschleunigungsensoren ausgeben, wird je nach Lage aufgeteilt und auf verschiedene Achsen aufsummiert, als Ergebnis hat man dann die Geschwindigkeit. Ein weiteres Aufsummieren ergibt den Weg, den das Objekt zurückgelegt hat - fertig.&lt;br /&gt;
&lt;br /&gt;
===Globale Orientierung===&lt;br /&gt;
Globale Felder Erdmagnetfeld Luftdruck &lt;br /&gt;
GPS&lt;br /&gt;
&lt;br /&gt;
===Kompass Höhenmesser===&lt;br /&gt;
natürliche Felder zur globalen Orientierung &lt;br /&gt;
Erdmagnetfeld, barometrischer Luftdruck&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
Ultimativ, aber für kleine Roboter und auch in geschlossenen Räumen nur bedingt zu verwenden&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Sensorarten]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Kategorie:Robotikeinstieg]]&lt;br /&gt;
 [[Kategorie:Microcontroller]]&lt;br /&gt;
 [[Kategorie:Elektronik]]&lt;br /&gt;
 [[Kategorie:Grundlagen]]&lt;br /&gt;
 [[Kategorie:Praxis]]&lt;br /&gt;
 [[Kategorie:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8340</id>
		<title>Navigation</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8340"/>
				<updated>2006-07-14T15:18:04Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Trägheitsnavigation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Navigation bezeichnet man das Sichzurechtfinden in einem geografischen Raum, um einen bestimmten Ort zu erreichen. Die Tätigkeit des Navigierens besteht aus drei Teilbereichen:&lt;br /&gt;
&lt;br /&gt;
* Bestimmen der geografischen Position durch Ortung nach verschiedensten Methoden &lt;br /&gt;
* Berechnen des Weges zum Ziel und &lt;br /&gt;
* Führung des Fahrzeugs zu diesem Ziel, also vor allem das Halten des optimalen Kurses&lt;br /&gt;
&lt;br /&gt;
Es ist also eine zentrale Aufgabe beim Bau von Robotern. Es ist sogar das Thema, das einen besonders großen Reiz auf die Bastler ausübt.&lt;br /&gt;
&lt;br /&gt;
==Orientierung und Navigation==&lt;br /&gt;
Ein mobiler Roboter, der durch Bewegung mit seiner Umgebung in Kontakt tritt, braucht Sensoren zur Orientierung und er wird auch eine einfache Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung in natürlicher Umgebung== &lt;br /&gt;
Im einfachsten Fall werden es Berührungssensoren sein, mit denen der Roboter feststellt, ob ein Hindernis direkt vor ihm oder in seiner Reichweite ist. &lt;br /&gt;
Auch beim Einsatz von komplexeren Sensoren zum berührungslosen Orten von natürlichen Hindernissen sind einfache Kontaktsensoren zur Unterstützung sinnvoll. &lt;br /&gt;
Mit diesen Sensoren kann eine Orientierung aufgebaut werden, wenn Objekte der natürlichen Umgebung erkannt und in der Position registriert werden. Sie können beispielsweise in eine Karte eingetragen werden. &lt;br /&gt;
Die sogenannte natürliche Umgebung ist dabei in vielen Fällen speziell im Indoor-Bereich kaum von der Natur geschaffen, es sind hier vor allem Wände, Türen, Möbel. Sie wird nur so genannt, weil sie andererseits nicht zur Orientierung geschaffen wurde. &lt;br /&gt;
&lt;br /&gt;
===Ortung durch Berührung===&lt;br /&gt;
&lt;br /&gt;
Üblicherweise sind das Mikro-Schalter, die über eine Stoßstange (BUMPER) den passiven oder aktiven Kontakt mit einem Hindernis erkennen.&lt;br /&gt;
* Aktiver Kontakt - der Robby ist beim Fahren drangestoßen (Tischbein)&lt;br /&gt;
* Passiver Kontakt - Irgendwas hat den Robby berührt, z.B. die Hauskatze&lt;br /&gt;
&lt;br /&gt;
Den Unterschied kann der Roboter nur feststellen, wenn er seine momentane Bewegungsrichtung weiss und berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Bei einfachen Systemen wird meist so vorgegangen: &lt;br /&gt;
:Bumper rechts: etwas nach links drehen&lt;br /&gt;
:Bumper links: etwas nach rechts drehen&lt;br /&gt;
:Beide Bumper: umdrehen&lt;br /&gt;
&lt;br /&gt;
===Berührungslose Ortung===&lt;br /&gt;
&lt;br /&gt;
Zur berührungslosen Orientierung an Objekten in der Umgebung kann der Roboter selbst ein akustisches oder optisches Testsignal aussenden und damit die Umgebung abtasten oder er kann sich am Bild der Umgebung orientieren. &lt;br /&gt;
&lt;br /&gt;
====1. Akustische Abtastung====&lt;br /&gt;
&lt;br /&gt;
1.a. Akustischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei der akustischen Abtastung des Raumes stellt die &amp;quot;Einparkhilfe&amp;quot; die einfachste Lösung dar. Hier wird eine Sende- und eine Empfangskapsel über einen Verstärker gekoppelt und wenn im Bereich des Sensors ein Hindernis die Kopplung zwischen beiden erhöht, dann kommt es zum Anschwingen und damit zur Anzeige eines Hindernisses. Das Verfahren ist einfach, billig und lässt allenfalls senkrecht vor einer glatten Wand eine Bestimmung des Abstands zu. &lt;br /&gt;
Beispiel: Einparkhilfe Bild&lt;br /&gt;
&lt;br /&gt;
1.b. Akustische Laufzeitmessung&lt;br /&gt;
[[Bild:srf08.jpeg|right|200px|Beispiel SFR08]]&lt;br /&gt;
Etwas aufwendiger und genauer arbeiten die Ultraschallsensoren mit Laufzeitmessung. Hier wird ein Ultraschall-Impuls von 8-16 Perioden Dauer ausgesendet und es wird die Zeit gemessen, bis das Echo eintrifft. Mit diesem Verfahren kann ganz konkret die Zeit bis zum ersten Echo gemessen und über die Schallgeschwindigkeit der Abstand bestimmt werden. Die Genauigkeit liegt dabei im cm-Bereich.&lt;br /&gt;
&lt;br /&gt;
====2. Optische Abtastung==== &lt;br /&gt;
&lt;br /&gt;
2.a. Optischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei den optischen Verfahren gibt es auch den einfachen Fall des Reflexsensors. Ein integriertes Sensor-IC gibt Stromimpulse für eine IR-LED aus und detektiert die Echos, die diesem Impulsmuster entsprechen. Man erreicht damit eine gute Unterdrückung der Umgebungshelligkeit, aber - wie auch im akustischen Fall - ist das Verfahren sehr von den Reflexionseigenschaften des Objektes abhängig und lässt kaum eine Bestimmung des Abstandes zu. &lt;br /&gt;
Beispiel IRF471 Bild &lt;br /&gt;
&lt;br /&gt;
2.b. Optische Triangulation&lt;br /&gt;
&lt;br /&gt;
Sehr viel genauer arbeiten die Sensoren, die den Abstand bis zu einem Hindernis trigonometrisch vermessen. Sie bestehen aus einer IR-Diode und einem Empfänger, die zusammen mit einer Steuerung in einem Modul integriert sind. Die Impulse werden wieder nach einem Schema zur Unterdrückung der Umgebungshelligkeit ausgesendet und detektiert. Hier aber handelt es sich um einen gebündelten Lichtstrahl, der auf das Hindernis trifft und der seitlich versetzte Empfänger - eine Position Sensitive Device (PSD) - misst, aus welchem Winkel das Licht reflektiert wird und setzt den Winkel in einen Spannungswert um. &lt;br /&gt;
Beispiel Sharp [[Sensorarten|GP2D12]]  &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/bilder/gp2d12-nb.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gp2d12diagram_a.jpeg&lt;br /&gt;
&lt;br /&gt;
2.c. Optische Laufzeitmessung&lt;br /&gt;
&lt;br /&gt;
Auch bei den optischen Verfahren gibt es Sensoren, die nach dem Laufzeitprinzip arbeiten. Sie sind allerdings bis heute Messgeräte, die noch so groß sind, dass sie kaum als Sensoren in Robotern eingesetzt werden. Ein vielversprechender Ansatz, einen Sensor als Modul zu realisieren, wurde vor ein paar Monaten von einem Fraunhofer Institut vorgestellt.&lt;br /&gt;
&lt;br /&gt;
====3. Bildverarbeitung====&lt;br /&gt;
&lt;br /&gt;
Das Beispiel der optischen Abtastung mit trigonometrischer Messung funktioniert nicht nur mit einem PSD, sondern auch mit einer Kamera, mit der man den Winkel misst, unter dem der Teststrahl auf dem Objekt erscheint. &lt;br /&gt;
Darüber hinaus ist es natürlich auch möglich, das Bild der Umgebung mit zwei Kameras stereoskopisch aufzunehmen und durch Bildverarbeitung die Abstände zu den einzelnen Objekten zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung an künstlichen Markierungen==&lt;br /&gt;
&lt;br /&gt;
===1. Passive Markierungen===&lt;br /&gt;
Künstliche Markierungen sind solche, die speziell zur Markierung geschaffen oder zur Orientierung ausgewählt und beschrieben sind. Ein typisches Beispiel für künstliche Markierungen sind Reflexmarken am Ende eines Gangs, durch den ein Roboter fahren soll. Er kann sich zunächst leicht am Verlauf des Gangs orientieren, zur Bestätigung, dass genau an einer bestimmten Stelle abgebogen werden soll, wird man zusätzlich eine Reflexmarke anbringen. Vorteilhaft ist eine passive Marke, die nicht mit Energie versorgt werden muss, denn die geringe Energie, die Marke zu finden, kann der autonom fahrende Roboter leicht selbst aufbringen. &lt;br /&gt;
&lt;br /&gt;
Viel häufiger als einzelne Reflexmarken sind noch dunkle Linien anzutreffen, denen ein Roboter folgen soll. Viele Einsteiger-Modelle, wie die Modelle von Lego und natürlich auch ASURO, sind dafür ausgerüstet. Am vorderen Ende des Fahrzeugs ist dazu eine Beleuchtung angebracht, die auf den Boden vor dem Fahrzeug gerichtet ist. Es reichen dann zwei lichtempfindliche Sensoren rechts und links von der Linie aus, um die Spurverfolgung zu kontrollieren und Abweichungen zu melden. Der Abstand vom Drehpunkt des Fahrzeugs im Zusammenspiel mit der Fahrtregelung ermöglicht dann unterschiedlich schnelle und sichere Aktionen zum Halten der Spur bei rascher Verfolgung der Linie. &lt;br /&gt;
&lt;br /&gt;
===2. Aktive Markierungen===&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake&lt;br /&gt;
Ein noch recht einfach umzusetzendes Prinzip für eine aktive Bake. Über IR-LEDs wird ein codiertes Signal ausgestrahlt. Der Roboter besitzt einen Infrarotempfänger mit relativ geringem Öffnungswinkel mit nachgeschaltetem Decoder für das Signal. Hiermit kann der Roboter feststellen, ob der Empfänger gerade in Richtung der Bake zeigt. Da durch die Codierung des Signals (und evtl mehrere Trägerfrequenzen) mehr als einen Bake gleichzeitig aktiv sein darf, kann man mit mehreren Baken, die man nacheinader anpeilt und dabei die Winkel misst, auch die absolute Position feststellen.&lt;br /&gt;
&lt;br /&gt;
[http://www.robotmaker.de/fernbed.html Eine beliebte Schaltung für ein solche IR-Bake] &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
* induktive Begrenzungsschleifen&lt;br /&gt;
Dieses Verfahren wird vor allem bei einigen Rasenmäher-Robotern benutzt. Ein Draht wird am Rand der für den Roboter zulässigen Fläche ausgelegt (oder eingegraben). Über den Draht wird ein Signal gesendet, das von einem Empänger im Roboter empfangen wird, falls sich der Roboter dem Draht nähert.&lt;br /&gt;
&lt;br /&gt;
==Koppelnavigation== &lt;br /&gt;
Als Koppelnavigation wird die fortlaufende Ortsbestimmung aus momentanem Kurs und Geschwindigkeit bezeichnet. Die so bestimmte Position wird dann auch als Koppelort bezeichnet. &lt;br /&gt;
&lt;br /&gt;
Ausgehend von Position &lt;br /&gt;
Richtung, Geschwindigkeit und Dauer festlegen. &lt;br /&gt;
&lt;br /&gt;
Gezielte Vorgaben &lt;br /&gt;
Kontrolle&lt;br /&gt;
&lt;br /&gt;
===Odometrie===&lt;br /&gt;
Erfassung der Richtung und Weg/Geschwindigkeit durch &lt;br /&gt;
*die Einschaltdauer des Antriebs&lt;br /&gt;
*zählen der getätigten Steps von Schrittmotoren&lt;br /&gt;
*sensorisch durch [[Sensorarten#Drehgeber_Sharp_GP1A30_und_GP1A38|spezielle Encoder]], aber auch Kugel-, Rad- und optische Mäuse&lt;br /&gt;
&lt;br /&gt;
==Trägheitsnavigation== &lt;br /&gt;
Beschleunigung &lt;br /&gt;
Winkelbeschleunigung &lt;br /&gt;
&lt;br /&gt;
Die Trägheitsnavigation ist eine Art der Koppelnavigation.&lt;br /&gt;
Die Geschwindigkeit wird hierbei durch Messung von Beschleunigungen und Drehungen gemessen. Um zu wissen, welcher Beschleunigungssensor für welche Richtung im Raum zuständig ist, muss aber erstmal bestimmt werden, in welcher Lage sich der Roboter (vornehmlich Flugroboter, bei anderen Arten macht Trägheitsnavigation wenig Sinn) befindet. Ist nämich z.B. die Nase, beispielsweise bei einem Luftschiff, angehoben, misst der Beschleunigungssensor, der in Längsrichtung montiert ist, auch einen Teil der vertikalen Beschleunigung.&lt;br /&gt;
Die Bestimmung der Lage erfolgt meist über Gyrometer. Diese geben die Drehung des Objekts um eine bestimmte Achse aus. Dieser Wert wird aufsummiert (integriert), der integrierte Wert ist dann die Drehung des Objekts um eine bestimmte Achse.&lt;br /&gt;
Der Wert, den die Beschleunigungsensoren ausgeben, wird je nach Lage aufgeteilt und auf verschiedene Achsen aufsummiert, als Ergebnis hat man dann die Geschwindigkeit. Ein weiteres Aufsummieren ergibt den Weg, den das Objekt zurückgelegt hat - fertig.&lt;br /&gt;
&lt;br /&gt;
===Globale Orientierung===&lt;br /&gt;
Globale Felder Erdmagnetfeld Luftdruck &lt;br /&gt;
GPS&lt;br /&gt;
&lt;br /&gt;
===Kompass Höhenmesser===&lt;br /&gt;
natürliche Felder zur globalen Orientierung &lt;br /&gt;
Erdmagnetfeld, barometrischer Luftdruck&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
Ultimativ, aber für kleine Roboter und auch in geschlossenen Räumen nur bedingt zu verwenden&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Sensorarten]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Kategorie:Robotikeinstieg]]&lt;br /&gt;
 [[Kategorie:Microcontroller]]&lt;br /&gt;
 [[Kategorie:Elektronik]]&lt;br /&gt;
 [[Kategorie:Grundlagen]]&lt;br /&gt;
 [[Kategorie:Praxis]]&lt;br /&gt;
 [[Kategorie:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8326</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8326"/>
				<updated>2006-07-14T01:45:43Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
Zur Glättung von Spannungen und / oder Strömen werden auch Filter eingesetzt. Eine Kombination aus Spule und Kondensator (LC-Filter) setzt man beispielsweise häufig vor der ADC-Versorgung von Mikrocontrollern ein. Diese Filter filtern doppelt: Wenn die Versorgungsspannung plötzlich leicht abfällt, ändert sich zunächst der Strom in der Spule, aber wie gesagt wurde, durch die Induktivität verlangsamt. Wenn der Strom etwas abgefallen ist, wird das zweite Filterelement - der Kondensator - aktiv, denn durch ihn muss zuerst ein Strom fließen, damit sich die Spannung am Ausgang der Schaltung ändern kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Phantomspeisung (gecancelt: Gebräuchliche Systeme wie PoE brauchen dafür afaik keine echten Filter.)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
Nun gibt es aber zig verschiedene Möglichkeiten, Filter aufzubauen, noch dazu ist jede nur für spezielle Anwendungen geeignet.&amp;lt;br&amp;gt;&lt;br /&gt;
Man unterteilt Filter zunächst in aktive Filter und passive Filter: Passive Filter sind solche, die nur aus passiven Bauteilen bestehen. Dazu gehören die oben angesprochenen Kondensatoren, Spulen und Widerstände, aber auch Quarze.&lt;br /&gt;
Aktive Filter enthalten als aktive Komponente meist einen Operationsverstärker. Der Vorteil liegt auf der Hand: Der Ausgang des OpAmps ist auch der Ausgang des Filters, der damit auch ruhig bis einige Milliampere belastet werden kann - bei passiven Filtern ist dies meistens nicht ohne weiteres möglich, die Ausgangsspannung würde sich dabei ändern. Der Nachteil sollte auch klar sein: Ein OpAmp, und jede andere aktive Komponente auch, braucht ne Versorgungsspannung. Für eine Frequenzweiche in einer passiven Standbox (d.h. der Verstärker ist nicht integriert) sind aktive Filter dadurch ungeeignet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filterordnungen.gif|thumb|Beispiele für verschiedene Filterordnungen]]&lt;br /&gt;
Weiterhin unterscheidet man Filter nach verschiedenen Ordnungen. Die Ordnung spiegelt dabei die Anzahl der frequenzabhängigen Bauteile wieder. Ein Filter höherer Ordnung, beispielsweise die oben beschriebene Kombination aus Spule und Kondensator, hat eine bessere Trennschärfe. Das bedeutet, dass der Abstand zwischen Frequenzen, die durchgelassen werden, und Frequenzen, die gesperrt werden, kleiner ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Nun gut, im Bild rechts sieht man schon dass das so nicht ganz stimmt: Jede Frequenz wird noch irgendwie durchgelassen, aber die Dämpfung, die in dB gemessen wird, wird immer stärker. Man müsste also eigentlich sagen, dass der Abstand der Frequenzen, die als durchgelassen '''bezeichnet''' werden können und der Frequenzen, die als gesperrt '''bezeichnet''' werden können, kleiner ist. Ab welcher Dämpfung eine Frequenz als gesperrt oder durchgelassen bezeichnet werden kann, das hängt wiederrum von der Anwendung ab. In Audioanwendungen reicht ein Filter 1. Ordnung meist völlig aus, aber um beispielsweise ein PWM-Signal in eine Gleichspannung zu wandelt, muss eine bestimmte Frequenz unbedingt möglichst schwach gedämpft durchgelassen werden, während die PWM-Frequenz möglichst stark gedämpft werden soll. Deshalb nutzt man hierfür vorwiegend Filter höherer Ordnungen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Filtervergleich.gif|thumb|Beispiele für verschiedene Filtercharakteristiken]]&lt;br /&gt;
Zuletzt unterteilt man Filter noch in verschiedene Charakteristiken, namentlich Tiefpässe, Hochpässe, Bandpässe und Bandsperren.&lt;br /&gt;
*Tiefpässe lassen tiefe Frequenzen durch und sperren hohe Frequenzen. (siehe blaue Kurve im Bild.) Eine typische Anwendung wäre die Glättung eines Signals mithilfe einer Kombination aus Spule und Kondensator. &lt;br /&gt;
*Hochpässe machen das Gegenteil: Sie sperren tiefe Frequenzen und lassen hohe Frequenzen durch. (siehe grüne Kurve im Bild.) Beispiele wären eine Gleichspannungsentkopplung oder eine Frequenzweiche für einen Hochtonlautsprecher.&lt;br /&gt;
*Bandpässe sperren hohe und tiefe Frequenzen - Ein bestimmter Frequenzbereich wird jedoch durchgelassen. (siehe rote Kurve im Bild.) Eine Anwendung hierfür wäre eine Frequenzweiche vor einem Mitteltöner '''''(Sorry für die ganzen Beispiele aus dem Audiobereich, fällt vielleicht wem was besseres ein? Passiv-PFC würde mir einfallen, würde aber ne längere Erläuterung notwendig machen.)'''''&lt;br /&gt;
*Bandsperren sind das Gegenstück zu den Bandpässen: Hohe und tiefe Frequenzen werden durchgelassen, ein bestimmter Frequenzbereich wird gesperrt. (siehe türkise Kurve im Bild.)&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, sind die Bezeichnungen so gut wie selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
== Passiv ==&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Filterordnungen.gif&amp;diff=8325</id>
		<title>Datei:Filterordnungen.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Filterordnungen.gif&amp;diff=8325"/>
				<updated>2006-07-14T01:42:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Beispiele für Tiefpässe der Ordnungen 1, 2, 3 und 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beispiele für Tiefpässe der Ordnungen 1, 2, 3 und 4&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Filtervergleich.gif&amp;diff=8324</id>
		<title>Datei:Filtervergleich.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Filtervergleich.gif&amp;diff=8324"/>
				<updated>2006-07-14T01:17:18Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Beispiele für verschiedene Filtercharakteristiken:
Blau - Tiefpass
Grün - Hochpass
Rot - Bandpass
Türkis - Bandsperre&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beispiele für verschiedene Filtercharakteristiken:&lt;br /&gt;
Blau - Tiefpass&lt;br /&gt;
Grün - Hochpass&lt;br /&gt;
Rot - Bandpass&lt;br /&gt;
Türkis - Bandsperre&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8320</id>
		<title>Sensorarten</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8320"/>
				<updated>2006-07-13T01:57:21Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* KTYs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welche Sensorarten gibt es==&lt;br /&gt;
Damit sich ein Roboter in seiner Umgebung bewegen kann, ohne an Hindernisse anzustoßen, und damit er ein Ziel finden und ansteuern kann, muß er irgendwie seine Umwelt &amp;quot;wahrnehmen&amp;quot;. &lt;br /&gt;
Hauptanwendung für diese Informationen aus der Umwelt ist die [[Navigation]]&lt;br /&gt;
&lt;br /&gt;
==Bumpers==&lt;br /&gt;
Als Bumpers bezeichnet man eine Art Stoßstange, die einen Mikro-Switch auslöst. &lt;br /&gt;
&lt;br /&gt;
[[Bild:microschalter.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung erfolgt am besten digital an einem Pin mit Pull-up Widerstand. Man kann den Eingang pollen (abfragen), aber auch einen Interrupt auslösen lassen. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Whiskers (Fühler)==&lt;br /&gt;
Das sind flexible Kunststoff-Streifen von ca. 10 cm Länge, eigentlich für Datenhandschuhe vorgesehen. Aber man kann sie auch als Fühler einsetzen, und daher auch für die Kollisions-Sensorik verwenden. Beim Verbiegen steigt der Widerstand an.  &lt;br /&gt;
&lt;br /&gt;
[[Bild:flexs_200.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Um zu messen, wird mit einem zweiten Widerstand ein Spannungsteiler aufgebaut, der dann mit einem Analog-Eingang einen Grad der Verbiegung erkennen läßt. Sie werden häufig auch Flexsensoren genannt. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incremental-Geber==&lt;br /&gt;
Dienen zur Erfassung von Drehzahl bzw. der Messung von Wegstrecken&lt;br /&gt;
===Drehgeber Sharp GP1A30 und GP1A38===&lt;br /&gt;
&lt;br /&gt;
[[Bild:gp1a30.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Beim Sharp GP1A30 und GP1A38 handelt es sich um Gabellichtschranken mit inkrementaler Drehgeberfunktion. Beide sind im Grunde von den Anschlüssen identisch, lediglich kann GP1A38 noch etwas höhere Drehzahlen messen. Im Gegensatz zu herkömmlichen Gabellichtschranken können mit dieser sowohl Drehzahl als auch Drehrichtung ermittelt werden. Notwendig sind dafür nur 2 digitale Ports. Verzichtet man auf die Auswertung der Drehrichtung, reicht nur ein Port.&lt;br /&gt;
Der Sensor hat den Vorteil das die Signale bereits TTL kompatibel sind und direkt an ein Controllerboard angeschlossen werden können. Ein Beispielprogramm zu [[RN-Control]] findet man hier&lt;br /&gt;
&lt;br /&gt;
* [[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP1A30.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung inkrementaler Drehgeber ist recht einfach. Ein Ausgang liefert einen Impuls pro Markierung (Scheibe auf der Welle). Prüft man bei jedem Impuls (Flanke) noch gleichzeitig den aktuellen Pegel des zweiten Ausganges, so kann daraus die Drehrichtung abgeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Der Signalverlauf an den Sensorausgängen ist phasenversetzt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:inkremental1.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:drehgeber_an_rncontrol.gif|center|framed|Beispielschaltung wenn man lediglich die Drehzahl ohne Drehrichtung auswerten möchte. Als Widerstand hat sich 330 Ohm als gut erwiesen.]]&lt;br /&gt;
&lt;br /&gt;
==Optische Sensoren==&lt;br /&gt;
===Helligkeit=== &lt;br /&gt;
Die Hauptanwendung solcher Sensoren ist, den hellsten Fleck im Raum zu finden.&lt;br /&gt;
Dies ist auch Teil vieler Roboterwettbewerbe. (Robo Callenge (2002 sic!), 'Ein Platz an der Sonne')&lt;br /&gt;
&lt;br /&gt;
Solche Sensoren können einfache [[LDR]]s oder [[Photodioden]] bzw. [[Phototransistoren]] sein.&lt;br /&gt;
LDRs haben den Vorteil, dass sie relativ hoch aussteuern, der große Nachteil ist aber, dass diese Sensoren ziemlich Wärmeempfindlich und etwas träge.&lt;br /&gt;
Photodioden und Phototransistoren haben den Vorteil, dass sie sehr genau sind, aber nicht besonders hoch aussteuern. Diese sollte man evtl. über einen OpAmp verstärken.&lt;br /&gt;
&lt;br /&gt;
[[Bild:fotowiderstand.jpg|center|framed|Ein typischer Fotowiderstand]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:SFH300.jpg|center|framed|SFH300, ein typischer Phototransistor]]&lt;br /&gt;
&lt;br /&gt;
Die Suche nach dem Hellsten Fleck im Rraum ist wie ich finde ein gutes Einsteigerthema!&lt;br /&gt;
&lt;br /&gt;
===CNY70===&lt;br /&gt;
&lt;br /&gt;
Der CNY70 ist ein Foto-Reflex Optokoppler. In einem würfelförmigem Gehäuse befindet sich eine Infrarot LED als Sender und ein Infrarot Fototransistor als Empfänger. Damit kann auf kurze Entfernung (wenige Millimeter) das reflektierte Licht der IR-LED durch den IR-Fototransistor gemessen werden.  &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Bild:cny70.jpg|thumb|200px|CNY70]]&lt;br /&gt;
|[[Bild:cny70_pinout.jpg|framed|CNY70 Vishay Pinout]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Achtung:''' Es existiert auch noch ein CNY70 von Temic mit anderer Pinbelegung, dort ist der Fototransistor verdreht eingebaut.&lt;br /&gt;
&lt;br /&gt;
Der CNY70 eignet sich für eine Vielzahl von Sensoren. Z.B. als Liniensensor, Radencoder, Abgrunddetektor und Lichtschranke. Allerdings ist er empfindlich gegen Streulicht, da  das Licht der IR-LED nicht moduliert ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cny70_schem1.gif|thumb|center|600px|CNY70 als Liniensensor]]&lt;br /&gt;
[[Bild:cny70_schem2.gif|thumb|center|600px|CNY70 als Radencoder mit Schmitt-Trigger]]&lt;br /&gt;
&lt;br /&gt;
===Distanzsensor IS471F===&lt;br /&gt;
&lt;br /&gt;
IS471F - Hindernisserkennung mit Infrarot Distanzsensor&lt;br /&gt;
&lt;br /&gt;
Das hier vorgestellte IC IS471F erlaubt eine einfach und sogar recht preisgünstige Hinternisserkennung per Infarot. Dazu muß im wesentlichen nur noch eine Infrarot-Diode an das IC angeschlossen werden. Das modulierte Licht wird von einem Gegenstand direkt auf das IC zurückgeworfen und somit das Hinterniss erkannt. Tageslicht/Fremdlicht stört den IS471 überhaupt nicht, da das Licht mit einer bestimmten Frequenz moduliert wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der normale Schaltungsaufbau sieht also wie oben abgebildet aus! In der Praxis kann das dann in etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471beispiel.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das englische Datenblatt findet man im Roboternetz-Download-Bereich&lt;br /&gt;
&lt;br /&gt;
Die normale Reichweite ist in gewissen Grenzen abhängig von der Farbe des Hinternisses. In der Regel reicht es jedoch durchaus einige cm so das langsame Roboter durchaus sehr gut damit zurecht kommen. Durch besonders helle Infrarot LED´s und durch zusätzlich LED-Fassungen kann man die Reichweite erhöhen. Wem das noch nicht reicht, der kann über einen zusätzlichen Transistor die Strahlungsleistung der LED noch weiter erhöhen. &lt;br /&gt;
&lt;br /&gt;
[[Bild:is471verstaerkung.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/bilder/mehrereis471.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sharp Infrarotsensoren===&lt;br /&gt;
&lt;br /&gt;
Sharp hat eine ganz interessante Serie von Bausteinen herausgebracht mit denen ein Roboter sogar recht genau Entfernungen messen kann. Das Messergebnis ist nahezu unabhängig von der Farbe und Helligkeit des gemessenen Objektes. Die Ansteuerung ist sehr einfach, der Sensorausgang kann zum Beispiel direkt an einen analogen Eingang eines Mikrocontrollers angeschlossen werden. Die Sensoren sind unter den Roboter-Bastlern weit verbreitet. &lt;br /&gt;
Bei vielen Händlern erhältlich kosten die Sensoren derzeit je nach Typ und Händlerspanne zwischen 13 bis 25 Euro.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Sharpentfernungssensor.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oft werden selbst in kleinen Roboter-Projekten mehrere dieser Sensoren genutzt da sie nur einen äußerst engen Erfassungsbereich haben. Sie eignen sich daher sehr gut zur Vermessung einer Umgebung, insbesondere dann wenn Sie drehbar auf einem Servo montiert werden. Als Kollisionsschutz sind sie wegen dem engen Winkel nur bedingt geeignet, zu diesem Zweck eignen sich zum Beispiel Ultraschallsensoren besser.&lt;br /&gt;
Das Funktionsprinzip der Sensoren ist einfach. Der Sensor besteht aus Sender und Empfänger. Der Sender sendet einen Infrarot-Strahl aus, der vom Hindernis reflektiert wird. Je nach Entfernung trifft der reflektierte Strahl an einer unterschiedlichen Stelle auf den Empfänger (ein sog. Position Sensitive Device, PSD). Der Empfänger setzt den Auftreffpunkt in einen analogen Spannungswert um. Eine schöne Skizze dazu:  &lt;br /&gt;
&lt;br /&gt;
[[Bild:sharpfunktion.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Einige der beliebtesten Bausteine sind:'''&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D12==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
Dies ist der am häufigsten eingesetzte Sharp Typ bei mobilen Robotern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP2D12anschluss.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2YA21YK==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt &lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D120====&lt;br /&gt;
Distanz 4 - 30 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2Y0A02YK====&lt;br /&gt;
Distanz 20 - 150 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/sensoren/gp2y0a02yk_diagramm.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D02====&lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch 8 Bit Digitalausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D150====&lt;br /&gt;
Distanz 3-30 cm - 1 Bit Schaltausgang  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Datenblätter zu den oberen Sensoren findet man im Download-Bereich des Roboternetz, siehe unter [[#Weblinks]].&lt;br /&gt;
 &lt;br /&gt;
Um die analogen Spannung der Sensoren in eine Entfernung umzurechnen, kann man sich mit Hilfe des Datenblattes oder einfacher Probemessungen Tabellen erstellen, welche dann vom Controller zur Umsetzung genutzt werden.&lt;br /&gt;
Bequemer ist allerdings eine Näherungsformel:&lt;br /&gt;
&lt;br /&gt;
====Formel zur Entfernungsberechnung==== &lt;br /&gt;
 D = A/(X-B) &lt;br /&gt;
&lt;br /&gt;
 D ist die Entfernung &lt;br /&gt;
 X ist der Ausgabewert des Sensors &lt;br /&gt;
 A ist die Steigung der Kurve A/X &lt;br /&gt;
 B ist der Offset der Kurve &lt;br /&gt;
&lt;br /&gt;
Die Konstanten A und B ermittelt man am besten über zwei Probemessungen: &lt;br /&gt;
&lt;br /&gt;
D und X sind die Entfernung und der Ausgabewert der ersten Messung (z.B. bei 20 cm) &lt;br /&gt;
D' und X' sind die Entfernung und der Ausgabewert der zweiten Messung (z.B. bei 60 cm) &lt;br /&gt;
&lt;br /&gt;
 A = ((X' - X) * D' * D) /(D - D' ) &lt;br /&gt;
 B = (D' * X' - D * X) /(D' - D) &lt;br /&gt;
&lt;br /&gt;
====GP2D12 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd12kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====GPD120 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd120kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Ultraschall Sensoren== &lt;br /&gt;
===Ultraschallsensoren SRF04===&lt;br /&gt;
Die Firma '''Devantech''' hat eine Serie von sehr günstigen und kleinen Ultraschallsensoren entwickelt, die sich im Bereich &amp;quot;autonome Robotersysteme&amp;quot; durchgesetzt haben. Sie sind sehr verbreitet, da sie auch für &amp;quot;Hobby-Robotiker&amp;quot; erschwinglich sind und es sich nicht lohnen würde vergleichbare Module selber zu bauen, da diese meistens ungenauer und teurer wären.&lt;br /&gt;
&lt;br /&gt;
Bekannt wurde die Serie durch den '''SRF04'''. Mit seinen kleinen Abmessungen, der niedrigen Stromaufnahme und der hohen Genauigkeit ist er für kleine Messaufgaben im Entfernungsbereich von 3cm bis 3m gut geeignet. Der SRF04 kann einen 3cm dicken Besenstiel in 2m Entfernung erkennen und wird durch ein [[PWM]]-Signal ausgewertet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf_04a.jpg]] [[Bild:srf_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ultraschallsensor SRF05===&lt;br /&gt;
Der Nachfolger des SRF04 ist der neuer SRF05. Er besitzt noch eine etwas höhere Reichweite bis 4 Meter. Zudem besitzt er neben dem kompatibel Mode zu SRF04 noch eine Betriebsart bei der er über einen einzigen Port (Pin) gesteuert wird. Das heißt sowohl der Start der Messung und das Ergebnis wird über die gleiche Leitung übertragen. [[Ultraschall SRF05 an RN-MiniControl|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Srf05mode1.jpg|center]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2diagram.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SRF08===&lt;br /&gt;
Die Alternative zu SRF04 und SRF05 ist der beliebte  '''SRF08''' und dessen Nachfolger '''SRF10''', der nun über den [[I2C]]-Bus ausgewertet werden kann und über eine Reichweite von 3cm bis 6m verfügt. Er hat eine noch kleinere Stromaufnahme und zusätzlich befindet sich auf der Platinenfront ein Fotowiderstand(LDR) dessen Lichtmesswerte sich ebenfalls über den [[I2C]]-Bus auswerten lassen. Durch den SRF08 wird es möglich auch bis zu 16 Mehrfachechos, von weiter hinten gelegenen Gegenständen, auszuwerten, die bei dem SRF04 ignoriert wurden. Über den [[I2C]]-Bus kann man die Messwerte in cm, zoll und in der Laufzeit µs auslesen und spart sich somit die externe Auswertung der Laufzeit, wie bei dem SRF04. Weiterhin können insgesamt 16 SRF08-Module an einen [[I2C]]-Bus angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf08_a.jpg]]  [[Bild:srf08_b.jpg]]&lt;br /&gt;
&lt;br /&gt;
===SRF08 Programmbeispiel===&lt;br /&gt;
SFR08 Programm Beispiel mit [[Bascom]]&lt;br /&gt;
Über die grundsätzliche Behandlung des [[I2C]]-Bus mit [[Bascom]] kann man [[I2C|hier]] nachlesen. &lt;br /&gt;
&lt;br /&gt;
 Const Sf08_adr_0 = &amp;amp;HE0             ' I2C Adresse&lt;br /&gt;
 Const Sf08_c_range = 100            ' Reichweite&lt;br /&gt;
 Const Sf08_c_gain = 1               ' Empfindlichkeit&lt;br /&gt;
&lt;br /&gt;
Die Adresse ist der Default-Wert für den Sensor, und kann eingestellt werden. &lt;br /&gt;
Range und Gain sind anzupassen, die angegeben Werte sind aber mal grundsätzlich verwendbar.&lt;br /&gt;
&lt;br /&gt;
'''Setup'''&lt;br /&gt;
Nach dem Reset sind einmal Range und Gain zu setzen.&lt;br /&gt;
&lt;br /&gt;
'''Setzen Range'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' register &amp;quot;range&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_range  &lt;br /&gt;
      I2cstop&lt;br /&gt;
 &lt;br /&gt;
'''Setzen Gain'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 1            ' register &amp;quot;gain&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_gain    &lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
'''Abfrage Trigger'''&lt;br /&gt;
&lt;br /&gt;
Die Abfrage soll laut Beschreibung in zwei Schritten erfolgen, zwischen denen ca 70 mS gewartet werden soll. Diese Zeit braucht das Gerät zum Messen. &lt;br /&gt;
&lt;br /&gt;
'''Trigger'''  &lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 0            ' register &amp;quot;Trigger&amp;quot;&lt;br /&gt;
      I2cwbyte 81           ' Meßwert in Zentimetern&lt;br /&gt;
&lt;br /&gt;
      Waitms 70 &lt;br /&gt;
&lt;br /&gt;
'''Ergebnis abholen'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM Lsb as Byte&lt;br /&gt;
 DIM Msb as Byte&lt;br /&gt;
 DIM IVal as word&lt;br /&gt;
&lt;br /&gt;
      I2cstart              ' Repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' Meßwert US&lt;br /&gt;
&lt;br /&gt;
      I2cstart                 ' repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0 + 1  ' Device I2C Adresse READ!&lt;br /&gt;
      I2crbyte Msb , Ack      ' Bit 8-15&lt;br /&gt;
      I2crbyte Lsb , Nack     ' Bit 0-7&lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
      Ival = Makeint(lsb , Msb) ' umwandeln in Word (16 Bit)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SRF10 Ultraschallsensor ===&lt;br /&gt;
SRF10 ist quasi der Nachfolger von SRF08. Er bietet die gleiche Leistung und ist sogar gegenüber Spannungschankungen noch etwas unempfindlicher als der Vorgänger. Der größte Vorteil besteht jedoch darin das er ca. 1/3 kleiner als sein Vorgänger ist.   &lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10foto1.jpg]] [[Bild:srf10foto2.gif]]&lt;br /&gt;
&lt;br /&gt;
Die technischen Daten sind ähnlich:&lt;br /&gt;
* Betriebsspannung: 5V &lt;br /&gt;
* Stromaufnahme: ca. 3mA Standby, ca. 15mA während des Messens Frequenz: 40KHz &lt;br /&gt;
* Maximale Reichweite: 6 m &lt;br /&gt;
* Minimale Reichweite: 4 cm &lt;br /&gt;
* Messwerterfassung: intern, kein externer Controller zur Zeitmessung notwendig &lt;br /&gt;
* Interface: Standard – I2C (passend zu zahlreichen Controllerboards, z.B. RN-Control) &lt;br /&gt;
* Ausgabeformat: µs, cm oder Zoll &lt;br /&gt;
* Feature: Analogverstärkung 40 - 700 (einstellbar, 16 Stufen) &lt;br /&gt;
* Abmessungen: 32mm x 15mm x 10mm &lt;br /&gt;
* Hersteller: Devantech Ltd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Ultraschall_SRF10_an_RN-Control|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10ausbreitung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
=== Vergleichstabelle ===&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|{{Blaueschmaltabelle}}&lt;br /&gt;
 |&lt;br /&gt;
 |'''SRF10'''&lt;br /&gt;
 |'''SRF08'''&lt;br /&gt;
 |'''SRF05'''&lt;br /&gt;
 |'''SRF04'''&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Betr. Spannung'''&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Stromaufnahme'''&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |4mA typ,&amp;lt;br&amp;gt; 30mA max.&lt;br /&gt;
 |30mA typ,&amp;lt;br&amp;gt; 50mA max.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''US Leistung'''&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Frequenz'''&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bereich'''&lt;br /&gt;
 |72&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Reichweite'''&lt;br /&gt;
 |4cm - 6m&lt;br /&gt;
 |3cm - 6m&lt;br /&gt;
 |3cm - 4m&lt;br /&gt;
 |3cm - 3m&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Triggerimpuls'''&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Abmessung in mm'''&lt;br /&gt;
 |32 x 15 x 10&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Interface'''&lt;br /&gt;
 |I2C&lt;br /&gt;
 |I2C&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Feature'''&lt;br /&gt;
 |Minimodul&lt;br /&gt;
 |Lichtsensor&lt;br /&gt;
 |SRF04 Modus&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Preis ca. *'''&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |22,00 €&lt;br /&gt;
 |25,00 €&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''*''' Der Preis dient nur zum vergleich untereinander, nicht als Referenz !&lt;br /&gt;
&lt;br /&gt;
==Kompaß== &lt;br /&gt;
===Kompaß-Modul CMPS03===&lt;br /&gt;
Laut der Doku ist diese Modul speziell für die Bedürnisse von Robotern gestaltet worden. Es mißt seine Lage relativ zum Erdmagnetfeld und liefert diesen Wert&lt;br /&gt;
* Als PWM-Signal &lt;br /&gt;
* Über I2C entweder 0-255 als Byte oder&lt;br /&gt;
* 0-3599 als 16-Bit Wert (MSB first)&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Doku ist eine fixe I2C-Adresse von 0xC0 angegeben. Was leider noch fehlt, sind Angaben, ob und wie diese Adresse geändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Bei waagrechter Montage ist das also ein Kompaß, bei senkrechter Montage dieser Module kann man auch die Neigung in Nord-Süd-Richtung messen. Hierzu sind 2 Module nötig, die zueinander um 90° gedreht angeordnet sein müssen. Die Neigung in Ost-West-Richtung zu messen, ist dagegen leider nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Das Ganze ist eine Anwendung des Philips-KMZ51 Magnet-Feld-Sensors mittels eines PIC16F872&lt;br /&gt;
&lt;br /&gt;
Gelegentlich sollte das Modul kalibriert werden. Das kann über den I2C-Bus, aber auch mittels einen Pins am Modul initiiert werden. Dann muß das Module langsam um 360 Grad gedreht werden. Dabei nimmt das Modul 4 Meßpunkte auf und speichert sie im EEPROM. &lt;br /&gt;
&lt;br /&gt;
Ein Beispielprogramm findet man hier:&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cmps3pin.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Beschleunigung==&lt;br /&gt;
&lt;br /&gt;
Beschleunigungssensoren messen die Beschleunigung, die auf sie wirkt - wenn sie auf dem Tisch liegen, messen sie beispielsweise die Erdbeschleunigung von 1g. In einem Auto können weitere Beschleunigungen hinzukommen: Zur Seite beim Kurvenfahren, nach vorne oder hinten beim Beschleunigen, oder bei zügiger Fahrt über eine Bergkuppe auch mal welche in vertikaler Richtung.&amp;lt;br&amp;gt;&lt;br /&gt;
Beschleunigungssensoren sind meist mehrdimensional ausgelegt, so dass für mehrere Achsen ein Sensor verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
Anwendungen finden sie in ESP-Systemen in Autos, die u.a. über die Querbeschleunigung ausrechnen können, ob das Fahrzeug seitlich driftet oder gar schleudert.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine andere wichtige Aufgabe übernehmen sie zusammen mit Gyroskopen in Trägheitsnavigationssystemen, die dann sowohl die Lage im Raum als auch die Bewegung feststellen können.&lt;br /&gt;
&lt;br /&gt;
Moderne Piezo-Sensoren sind nur noch Chip-gross und können direkt in Schaltungen integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Drehung==&lt;br /&gt;
&lt;br /&gt;
Um Drehungen zu messen, werden sogenannte Gyroskope, kurz &amp;quot;Gyros&amp;quot; verwendet. Typische Vertreter sind hier die ADXRS-Familie von Analog Devices. Diese sind allerdigs, anders als die Beschleunigungssensoren, meistens nur für eine Achse ausgelegt. Die Ausgabe erfolgt meist analog, jede Ausgangsspannung entspricht einer bestimmten Drehrate in °/Sekunde.&lt;br /&gt;
&lt;br /&gt;
Gemessen wird die Auswirkung der Corioleskraft auf zwei gleiche, in Bewegung gehaltene Massen. Diese schwingen radial, d.h. 90° verdreht zu der Achse, auf der die Drehung gemessen werden soll. Wird der Sensor um die Achse gedreht, ändert sich die Geschwindigkeit dieser Massen, da sie auf einer gedachten Scheibe abwechselnd nach innen und außen wandern. Je weiter sie außen sind, desto höher ist ihre Geschwindigkeit, je weiter innen, desto langsamer sind sie. Bei der Bewegung nach außen müssen sie also beschleunigt werden, andersherum genauso. Die dabei auftretenden Beschleunigungen werden mittels einiger Fühler gemessen, die einen Plattenkondensator bilden.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung sind im Flugmodellbau Gyro-&amp;quot;Taillocks&amp;quot;, die in Hubschraubern die Heckstabilität verbessern und ESP-Systeme in Autos, die u.a. durch die Messung der Gierrate, also der Drehung des Fahrzeugs um die Hochachse, feststellen können, ob das Fahrzeug seitlich driftet oder sogar schleudert.&lt;br /&gt;
&lt;br /&gt;
==Temperatur== &lt;br /&gt;
===NTCs===&lt;br /&gt;
===PTCs===&lt;br /&gt;
&lt;br /&gt;
PTCs sind Temperatursensoren, deren Widerstand sich mit steigender Temperatur erhöht. Dazu gehören&lt;br /&gt;
&lt;br /&gt;
*PT100, PT1000 etc.&lt;br /&gt;
*Die KTYxx-xxx Reihe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== KTY: Silizium Temperatursensoren ====&lt;br /&gt;
&lt;br /&gt;
Die KTY-Temperatursensoren sind verglichen mit anderen Temperatursensoren verhältnismäßig günstig, haben dafür aber auch mehr Nachteile.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Genauigkeit ist ziemlich eingeschränkt, weshalb die KTY-Temperatursensoren zuerst kalibriert werden sollten. Dies muss Schaltungstechnisch oder in Software erfolgen, eine eingebaute Kalibrierung gibt es nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Andererseits lassen sich mittels Oversampling sehr hoch aufgelöst Temperaturen messen, was aufgrund mittelmäßiger Linearität (auch nach der Linearisierung) aber nur bei der Messung kleiner Temperaturunterschiede empfehlenswert ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Linearisiert werden die KTY an 5 Volt mit einem Reihenwiderstand von etwa 2,7 kOhm bis 3,3 kOhm.&lt;br /&gt;
&lt;br /&gt;
===Temperatur-Sensor LM75===&lt;br /&gt;
&lt;br /&gt;
[[Bild:lm75.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Dieser Chip von National Semiconductors kann die Umgebungstemperatur mit einer Genauigkeit von 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; Grad Celsius messen. Das angegebene Bereich ist -25&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; bis 100&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; C. Es wird zweierlei geboten:&lt;br /&gt;
* Ein Schaltausgang - Wenn man also z.B. einen Ventilator einschalten möchte&lt;br /&gt;
* I2C - Der obere Teil der Adresse ist fix 0x9n, die Bits 1-3 kann man mit Jumper einstellbar machen oder fest verdrahten. &lt;br /&gt;
&lt;br /&gt;
Durch einen einfachen I2C-Lesebefehl kann man die Temperatur einlesen (16-Bit), das Format ist allerdings etwas tricky. Das erste Byte (8-Bit) ist die Temperatur in ganzen Grad, als normales signed char, vom zweiten Byte gibt das MSB an, ob noch 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; '''dazuzuzählen''' sind (also auch, wenn vorne eine negative Zahl steht)  &lt;br /&gt;
&lt;br /&gt;
Der Grund ist der: die vorzeichenbehaftete 9-Bit Zahl, die da linksbündig in zwei Datenbytes übertragen wird, gibt eigentlich an, wieviel 0.5 Grad - Einheiten gemessen wurden. Rein rechnerisch wäre also Temperatur = Wert * 0.5, das müßte man aber als float durchführen oder erweitern&lt;br /&gt;
&lt;br /&gt;
===Programm-Beispiel für LM75===&lt;br /&gt;
Der LM75 wird über den [[I2C]]-Bus angesprochen&lt;br /&gt;
In BasCom, wo es ja keine signed char gibt, wird das Interpretieren auf sehr unterschiedliche Art empfohlen. &lt;br /&gt;
&lt;br /&gt;
Ich empfehle:&lt;br /&gt;
&lt;br /&gt;
 dim Ival as integer&lt;br /&gt;
 dim Msb as byte&lt;br /&gt;
 dim Lsb as byte&lt;br /&gt;
         I2cstart&lt;br /&gt;
         I2cwbyte &amp;amp;H91   ' Lese-adresse !  &lt;br /&gt;
         If Err = 1 Then&lt;br /&gt;
            I2cstop       ' kein ACK vom LM75 --&amp;gt; irgendein Fehler&lt;br /&gt;
            Ival = 9999   ' Zeichen, daß der Wert ungültig ist !&lt;br /&gt;
         Else&lt;br /&gt;
            I2crbyte Msb , Ack&lt;br /&gt;
            I2crbyte Lsb , Nack&lt;br /&gt;
            I2cstop&lt;br /&gt;
            If Msb.7 = 1 Then&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;HFF)   ' auffüllen mit den Vorzeichen bits&lt;br /&gt;
            Else&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;H00)   ' positiv, also bleibt es so&lt;br /&gt;
            End If&lt;br /&gt;
            Ival = Ival * 10                ' erweitern &lt;br /&gt;
            If Lsb.7 = 1 Then&lt;br /&gt;
              Ival = Ival + 5               ' fünf Zehntel Grad dazu &lt;br /&gt;
            End If&lt;br /&gt;
         End if&lt;br /&gt;
&lt;br /&gt;
das ergibt die Temperatur in Zehntel-Grad (Natürlich nur, wenn's keine Fehler gab).&lt;br /&gt;
&lt;br /&gt;
==Resistive Sensoren==&lt;br /&gt;
...&lt;br /&gt;
==Kapazitive Sensoren==&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel für kapazitive Sensoren sind Luftfeuchtigkeitsmesser, die ihre Kapazität entsprechend der Luftfeuchtigkeit ändern. Das Auslesen der Kapazität kann prinzipiell über das Ausmessen von Ladekurven geschehen. Dies ist jedoch bei kleinen Kapazitäten nicht praktisch durchführbar, weshalb man in diesem Falle meist einen Schwingkreis baut, dessen Frequenz man dann misst und so dann zusammen mit der bekannten Induktivität der Spule die Kapazität des Kondensators ausrechnen kann.&lt;br /&gt;
&lt;br /&gt;
==Induktive Sensoren==&lt;br /&gt;
Induktiver Näherungsschalter&lt;br /&gt;
&lt;br /&gt;
Sensoren die ihre Induktivität entsprechend der Messgröße ändern können auch mit Hilfe eines Schwingkreises mit bekannter Kapazität ausgemessen werden.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Piezoelektrische Sensoren==&lt;br /&gt;
Hier ist ein Experiment dargestellt das die Funktion von Piezowandlern demonstriert.&lt;br /&gt;
&lt;br /&gt;
Drückt man auf eine längliche Glasplatte (Mikroskopträger Länge 76mm), die an den Enden auf je einem Piezo Wandler gelagert ist, dann ergeben sich Signale, die von den Kräften auf die Wandler abhängig sind. &lt;br /&gt;
&lt;br /&gt;
Die Summe der beiden Kräfte entspricht der Gesamtkraft. Das Verhältnis der beiden Kräfte entspricht dem Verhältnis der Abstände des Druckpunktes zum Wandler. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Piezowandler.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Versuch wurde mit der Frequenz von ca. 4Hz (0,5s/div) von einem Ende bis zum anderen auf die Platte gedrückt. (Tonleiter). Die Signale der beiden Wandler sind im Oszillogramm aufgetragen und die Folge der Druck-Positionen ist auf den ersten Blick schon mal nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
==PIR Passiv Infrarot Sensoren==&lt;br /&gt;
Hier handelt es sich um Passiv-Infrarot-Bewegungsmelder. Bewegungsmelder regieren beim Eintritt einer Person (Tier) in das Erfassungsfeld des Sensors. Die Anwendungsmöglichkeiten sind nahezu unbegrenzt, man kennt die Technik ja von vielen Terrassenlampen, welche sich beim vorbeigehen automatisch einschalten.&lt;br /&gt;
Reagiert wird also auf Die Körperwärme einer sich im Erfassungsfeld bewegenden Person.&lt;br /&gt;
[[Bild:pir.jpg|right]]&lt;br /&gt;
Zum Prinzip: &lt;br /&gt;
Wärmestrahlen, die einen Erfassungsvorgang auslösen, liegen im Infrarot-Bereich des Wellenspektrums. In diesem Bereich gibt der menschliche Körper seine Wärmestrahlung ab. Leuchtmittel wie Glüh- , Halogen- und Entladungslampen, die für eine Strahlung im sichtbaren Bereich um 0,555 μm entwickelt wurden, geben jedoch auch einen erheblichen Teil an Wärmestrahlung im Infrarot-Bereich ab.&lt;br /&gt;
Im Spektrum oberhalb des sichtbaren Licht, ab 0,780 μm, beginnt der Infrarot-Bereich. Die Wellenlänge&lt;br /&gt;
dieser IR-Strahlung ist abhängig von der Temperatur eines Körpers. Die Wärmestrahlung&lt;br /&gt;
des Menschen hat ihr Maximum zwischen 9 und 10 μm im Infrarot-Bereich.&lt;br /&gt;
Diese Tatsache nutzt der PIR Sensor mittels sogenannter pyroelektrischer IRDetektoren, welche eine hohe Empfindlichkeit im langwelligen Infrarot-Bereich aufweisen. Die Infrarot-&lt;br /&gt;
Strahlung verhält sich ähnlich wie sichtbares Licht. Sie kann reflektiert und durch Linsen&lt;br /&gt;
gebündelt werden.&lt;br /&gt;
Basis eines solchen IR-Detektors (Sensors) sind Lithium-Tantalatkristalle. Diese Kristalle erzeugen,&lt;br /&gt;
bei Wärmeänderung (positive oder negative Temperaturänderung), eine elektrische Spannung.&lt;br /&gt;
Die von den Kristallen abgegebene Spannung liegt im Bereich von einigen μV (μV = millionstel Volt) und ist von folgenden Bedingungen abhängig: &lt;br /&gt;
* Der Intensität der Wärmequelle (Temperatur und Größe)&lt;br /&gt;
* Dem Umgebungsmedium (Temperatur, unterschiedliche Luftfeuchtigkeit)&lt;br /&gt;
* Der Entfernung zwischen Wärmequelle und IR-Sensor&lt;br /&gt;
* Der Bewegungsgeschwindigkeit und Bewegungsrichtung der Wärmequelle&lt;br /&gt;
* Der Empfindlichkeit des PIR-Elementes (frequenzabhängiges Bandpaßverhalten mit Maximum bei ca. 0,1 Hz)&lt;br /&gt;
&lt;br /&gt;
Zur Unterdrückung von Einflüssen aus der Umgebung (übliche wetterbedingte Temperaturänderungen), sind in jedem Sensor 2 Kristalle antiparallel geschaltet. &lt;br /&gt;
Einer der Kristalle gibt, bei Auftreffen von Wärmestrahlung einen positiven, der andere einen negativen Spannungsimpuls ab. Wärmeänderungen die gleichzeitig und mit gleicher Intensität auf beide Kristalle einwirken lösen so keinen Erfassungsvorgang aus, denn die beiden Impulse heben sich gegenseitig auf. Dadurch ist ein Auslösen bei Wärmeänderungen der Umgebung weitgehend ausgeschlossen.&lt;br /&gt;
Anders verhält es sich bei schnellen Bewegungen. Die Lithiumtantalat-Kristalle geben, entsprechend&lt;br /&gt;
der Bewegung und der dadurch hervorgerufenen Wärmeänderung im Erfassungsfeld, ihre&lt;br /&gt;
Impulse zeitversetzt ab. Die beiden Impulse addieren sich zu einer Wechselgröße mit höherer&lt;br /&gt;
Signalamplitude. Dieses elektrische Ausgangssignalist proportional der Wärmeänderung und führt zur Meldung einer Bewegung.&lt;br /&gt;
&lt;br /&gt;
==Autoren==&lt;br /&gt;
* [[Benutzer:PicNick|PicNick]]&lt;br /&gt;
* [[Benutzer:Frank|Frank]] &lt;br /&gt;
* [[Benutzer:Dennis.strehl|Dennis.strehl]]&lt;br /&gt;
* [[Benutzer:Florian|Florian]]&lt;br /&gt;
* Topic&lt;br /&gt;
* [[Benutzer:Manf|Manf]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Navigation]]&lt;br /&gt;
* [[Sensoren]]&lt;br /&gt;
* [[Graycode]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
* [[Ultraschall SRF05 an RN-MiniControl]]&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
*[http://www.ikm.uni-karlsruhe.de/forschung/pzt_webseiten/de/grundlagen/pyro.html Piezoelektrische Sensoren]&lt;br /&gt;
*[http://www.roboternetz.de/phpBB2/dload.php?action=category&amp;amp;cat_id=2 Datenblätter im Download-Bereich des Roboternetz]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8319</id>
		<title>Sensorarten</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8319"/>
				<updated>2006-07-13T01:47:21Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Drehung - Nachtrag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welche Sensorarten gibt es==&lt;br /&gt;
Damit sich ein Roboter in seiner Umgebung bewegen kann, ohne an Hindernisse anzustoßen, und damit er ein Ziel finden und ansteuern kann, muß er irgendwie seine Umwelt &amp;quot;wahrnehmen&amp;quot;. &lt;br /&gt;
Hauptanwendung für diese Informationen aus der Umwelt ist die [[Navigation]]&lt;br /&gt;
&lt;br /&gt;
==Bumpers==&lt;br /&gt;
Als Bumpers bezeichnet man eine Art Stoßstange, die einen Mikro-Switch auslöst. &lt;br /&gt;
&lt;br /&gt;
[[Bild:microschalter.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung erfolgt am besten digital an einem Pin mit Pull-up Widerstand. Man kann den Eingang pollen (abfragen), aber auch einen Interrupt auslösen lassen. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Whiskers (Fühler)==&lt;br /&gt;
Das sind flexible Kunststoff-Streifen von ca. 10 cm Länge, eigentlich für Datenhandschuhe vorgesehen. Aber man kann sie auch als Fühler einsetzen, und daher auch für die Kollisions-Sensorik verwenden. Beim Verbiegen steigt der Widerstand an.  &lt;br /&gt;
&lt;br /&gt;
[[Bild:flexs_200.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Um zu messen, wird mit einem zweiten Widerstand ein Spannungsteiler aufgebaut, der dann mit einem Analog-Eingang einen Grad der Verbiegung erkennen läßt. Sie werden häufig auch Flexsensoren genannt. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incremental-Geber==&lt;br /&gt;
Dienen zur Erfassung von Drehzahl bzw. der Messung von Wegstrecken&lt;br /&gt;
===Drehgeber Sharp GP1A30 und GP1A38===&lt;br /&gt;
&lt;br /&gt;
[[Bild:gp1a30.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Beim Sharp GP1A30 und GP1A38 handelt es sich um Gabellichtschranken mit inkrementaler Drehgeberfunktion. Beide sind im Grunde von den Anschlüssen identisch, lediglich kann GP1A38 noch etwas höhere Drehzahlen messen. Im Gegensatz zu herkömmlichen Gabellichtschranken können mit dieser sowohl Drehzahl als auch Drehrichtung ermittelt werden. Notwendig sind dafür nur 2 digitale Ports. Verzichtet man auf die Auswertung der Drehrichtung, reicht nur ein Port.&lt;br /&gt;
Der Sensor hat den Vorteil das die Signale bereits TTL kompatibel sind und direkt an ein Controllerboard angeschlossen werden können. Ein Beispielprogramm zu [[RN-Control]] findet man hier&lt;br /&gt;
&lt;br /&gt;
* [[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP1A30.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung inkrementaler Drehgeber ist recht einfach. Ein Ausgang liefert einen Impuls pro Markierung (Scheibe auf der Welle). Prüft man bei jedem Impuls (Flanke) noch gleichzeitig den aktuellen Pegel des zweiten Ausganges, so kann daraus die Drehrichtung abgeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Der Signalverlauf an den Sensorausgängen ist phasenversetzt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:inkremental1.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:drehgeber_an_rncontrol.gif|center|framed|Beispielschaltung wenn man lediglich die Drehzahl ohne Drehrichtung auswerten möchte. Als Widerstand hat sich 330 Ohm als gut erwiesen.]]&lt;br /&gt;
&lt;br /&gt;
==Optische Sensoren==&lt;br /&gt;
===Helligkeit=== &lt;br /&gt;
Die Hauptanwendung solcher Sensoren ist, den hellsten Fleck im Raum zu finden.&lt;br /&gt;
Dies ist auch Teil vieler Roboterwettbewerbe. (Robo Callenge (2002 sic!), 'Ein Platz an der Sonne')&lt;br /&gt;
&lt;br /&gt;
Solche Sensoren können einfache [[LDR]]s oder [[Photodioden]] bzw. [[Phototransistoren]] sein.&lt;br /&gt;
LDRs haben den Vorteil, dass sie relativ hoch aussteuern, der große Nachteil ist aber, dass diese Sensoren ziemlich Wärmeempfindlich und etwas träge.&lt;br /&gt;
Photodioden und Phototransistoren haben den Vorteil, dass sie sehr genau sind, aber nicht besonders hoch aussteuern. Diese sollte man evtl. über einen OpAmp verstärken.&lt;br /&gt;
&lt;br /&gt;
[[Bild:fotowiderstand.jpg|center|framed|Ein typischer Fotowiderstand]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:SFH300.jpg|center|framed|SFH300, ein typischer Phototransistor]]&lt;br /&gt;
&lt;br /&gt;
Die Suche nach dem Hellsten Fleck im Rraum ist wie ich finde ein gutes Einsteigerthema!&lt;br /&gt;
&lt;br /&gt;
===CNY70===&lt;br /&gt;
&lt;br /&gt;
Der CNY70 ist ein Foto-Reflex Optokoppler. In einem würfelförmigem Gehäuse befindet sich eine Infrarot LED als Sender und ein Infrarot Fototransistor als Empfänger. Damit kann auf kurze Entfernung (wenige Millimeter) das reflektierte Licht der IR-LED durch den IR-Fototransistor gemessen werden.  &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Bild:cny70.jpg|thumb|200px|CNY70]]&lt;br /&gt;
|[[Bild:cny70_pinout.jpg|framed|CNY70 Vishay Pinout]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Achtung:''' Es existiert auch noch ein CNY70 von Temic mit anderer Pinbelegung, dort ist der Fototransistor verdreht eingebaut.&lt;br /&gt;
&lt;br /&gt;
Der CNY70 eignet sich für eine Vielzahl von Sensoren. Z.B. als Liniensensor, Radencoder, Abgrunddetektor und Lichtschranke. Allerdings ist er empfindlich gegen Streulicht, da  das Licht der IR-LED nicht moduliert ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cny70_schem1.gif|thumb|center|600px|CNY70 als Liniensensor]]&lt;br /&gt;
[[Bild:cny70_schem2.gif|thumb|center|600px|CNY70 als Radencoder mit Schmitt-Trigger]]&lt;br /&gt;
&lt;br /&gt;
===Distanzsensor IS471F===&lt;br /&gt;
&lt;br /&gt;
IS471F - Hindernisserkennung mit Infrarot Distanzsensor&lt;br /&gt;
&lt;br /&gt;
Das hier vorgestellte IC IS471F erlaubt eine einfach und sogar recht preisgünstige Hinternisserkennung per Infarot. Dazu muß im wesentlichen nur noch eine Infrarot-Diode an das IC angeschlossen werden. Das modulierte Licht wird von einem Gegenstand direkt auf das IC zurückgeworfen und somit das Hinterniss erkannt. Tageslicht/Fremdlicht stört den IS471 überhaupt nicht, da das Licht mit einer bestimmten Frequenz moduliert wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der normale Schaltungsaufbau sieht also wie oben abgebildet aus! In der Praxis kann das dann in etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471beispiel.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das englische Datenblatt findet man im Roboternetz-Download-Bereich&lt;br /&gt;
&lt;br /&gt;
Die normale Reichweite ist in gewissen Grenzen abhängig von der Farbe des Hinternisses. In der Regel reicht es jedoch durchaus einige cm so das langsame Roboter durchaus sehr gut damit zurecht kommen. Durch besonders helle Infrarot LED´s und durch zusätzlich LED-Fassungen kann man die Reichweite erhöhen. Wem das noch nicht reicht, der kann über einen zusätzlichen Transistor die Strahlungsleistung der LED noch weiter erhöhen. &lt;br /&gt;
&lt;br /&gt;
[[Bild:is471verstaerkung.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/bilder/mehrereis471.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sharp Infrarotsensoren===&lt;br /&gt;
&lt;br /&gt;
Sharp hat eine ganz interessante Serie von Bausteinen herausgebracht mit denen ein Roboter sogar recht genau Entfernungen messen kann. Das Messergebnis ist nahezu unabhängig von der Farbe und Helligkeit des gemessenen Objektes. Die Ansteuerung ist sehr einfach, der Sensorausgang kann zum Beispiel direkt an einen analogen Eingang eines Mikrocontrollers angeschlossen werden. Die Sensoren sind unter den Roboter-Bastlern weit verbreitet. &lt;br /&gt;
Bei vielen Händlern erhältlich kosten die Sensoren derzeit je nach Typ und Händlerspanne zwischen 13 bis 25 Euro.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Sharpentfernungssensor.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oft werden selbst in kleinen Roboter-Projekten mehrere dieser Sensoren genutzt da sie nur einen äußerst engen Erfassungsbereich haben. Sie eignen sich daher sehr gut zur Vermessung einer Umgebung, insbesondere dann wenn Sie drehbar auf einem Servo montiert werden. Als Kollisionsschutz sind sie wegen dem engen Winkel nur bedingt geeignet, zu diesem Zweck eignen sich zum Beispiel Ultraschallsensoren besser.&lt;br /&gt;
Das Funktionsprinzip der Sensoren ist einfach. Der Sensor besteht aus Sender und Empfänger. Der Sender sendet einen Infrarot-Strahl aus, der vom Hindernis reflektiert wird. Je nach Entfernung trifft der reflektierte Strahl an einer unterschiedlichen Stelle auf den Empfänger (ein sog. Position Sensitive Device, PSD). Der Empfänger setzt den Auftreffpunkt in einen analogen Spannungswert um. Eine schöne Skizze dazu:  &lt;br /&gt;
&lt;br /&gt;
[[Bild:sharpfunktion.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Einige der beliebtesten Bausteine sind:'''&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D12==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
Dies ist der am häufigsten eingesetzte Sharp Typ bei mobilen Robotern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP2D12anschluss.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2YA21YK==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt &lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D120====&lt;br /&gt;
Distanz 4 - 30 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2Y0A02YK====&lt;br /&gt;
Distanz 20 - 150 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/sensoren/gp2y0a02yk_diagramm.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D02====&lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch 8 Bit Digitalausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D150====&lt;br /&gt;
Distanz 3-30 cm - 1 Bit Schaltausgang  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Datenblätter zu den oberen Sensoren findet man im Download-Bereich des Roboternetz, siehe unter [[#Weblinks]].&lt;br /&gt;
 &lt;br /&gt;
Um die analogen Spannung der Sensoren in eine Entfernung umzurechnen, kann man sich mit Hilfe des Datenblattes oder einfacher Probemessungen Tabellen erstellen, welche dann vom Controller zur Umsetzung genutzt werden.&lt;br /&gt;
Bequemer ist allerdings eine Näherungsformel:&lt;br /&gt;
&lt;br /&gt;
====Formel zur Entfernungsberechnung==== &lt;br /&gt;
 D = A/(X-B) &lt;br /&gt;
&lt;br /&gt;
 D ist die Entfernung &lt;br /&gt;
 X ist der Ausgabewert des Sensors &lt;br /&gt;
 A ist die Steigung der Kurve A/X &lt;br /&gt;
 B ist der Offset der Kurve &lt;br /&gt;
&lt;br /&gt;
Die Konstanten A und B ermittelt man am besten über zwei Probemessungen: &lt;br /&gt;
&lt;br /&gt;
D und X sind die Entfernung und der Ausgabewert der ersten Messung (z.B. bei 20 cm) &lt;br /&gt;
D' und X' sind die Entfernung und der Ausgabewert der zweiten Messung (z.B. bei 60 cm) &lt;br /&gt;
&lt;br /&gt;
 A = ((X' - X) * D' * D) /(D - D' ) &lt;br /&gt;
 B = (D' * X' - D * X) /(D' - D) &lt;br /&gt;
&lt;br /&gt;
====GP2D12 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd12kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====GPD120 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd120kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Ultraschall Sensoren== &lt;br /&gt;
===Ultraschallsensoren SRF04===&lt;br /&gt;
Die Firma '''Devantech''' hat eine Serie von sehr günstigen und kleinen Ultraschallsensoren entwickelt, die sich im Bereich &amp;quot;autonome Robotersysteme&amp;quot; durchgesetzt haben. Sie sind sehr verbreitet, da sie auch für &amp;quot;Hobby-Robotiker&amp;quot; erschwinglich sind und es sich nicht lohnen würde vergleichbare Module selber zu bauen, da diese meistens ungenauer und teurer wären.&lt;br /&gt;
&lt;br /&gt;
Bekannt wurde die Serie durch den '''SRF04'''. Mit seinen kleinen Abmessungen, der niedrigen Stromaufnahme und der hohen Genauigkeit ist er für kleine Messaufgaben im Entfernungsbereich von 3cm bis 3m gut geeignet. Der SRF04 kann einen 3cm dicken Besenstiel in 2m Entfernung erkennen und wird durch ein [[PWM]]-Signal ausgewertet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf_04a.jpg]] [[Bild:srf_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ultraschallsensor SRF05===&lt;br /&gt;
Der Nachfolger des SRF04 ist der neuer SRF05. Er besitzt noch eine etwas höhere Reichweite bis 4 Meter. Zudem besitzt er neben dem kompatibel Mode zu SRF04 noch eine Betriebsart bei der er über einen einzigen Port (Pin) gesteuert wird. Das heißt sowohl der Start der Messung und das Ergebnis wird über die gleiche Leitung übertragen. [[Ultraschall SRF05 an RN-MiniControl|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Srf05mode1.jpg|center]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2diagram.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SRF08===&lt;br /&gt;
Die Alternative zu SRF04 und SRF05 ist der beliebte  '''SRF08''' und dessen Nachfolger '''SRF10''', der nun über den [[I2C]]-Bus ausgewertet werden kann und über eine Reichweite von 3cm bis 6m verfügt. Er hat eine noch kleinere Stromaufnahme und zusätzlich befindet sich auf der Platinenfront ein Fotowiderstand(LDR) dessen Lichtmesswerte sich ebenfalls über den [[I2C]]-Bus auswerten lassen. Durch den SRF08 wird es möglich auch bis zu 16 Mehrfachechos, von weiter hinten gelegenen Gegenständen, auszuwerten, die bei dem SRF04 ignoriert wurden. Über den [[I2C]]-Bus kann man die Messwerte in cm, zoll und in der Laufzeit µs auslesen und spart sich somit die externe Auswertung der Laufzeit, wie bei dem SRF04. Weiterhin können insgesamt 16 SRF08-Module an einen [[I2C]]-Bus angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf08_a.jpg]]  [[Bild:srf08_b.jpg]]&lt;br /&gt;
&lt;br /&gt;
===SRF08 Programmbeispiel===&lt;br /&gt;
SFR08 Programm Beispiel mit [[Bascom]]&lt;br /&gt;
Über die grundsätzliche Behandlung des [[I2C]]-Bus mit [[Bascom]] kann man [[I2C|hier]] nachlesen. &lt;br /&gt;
&lt;br /&gt;
 Const Sf08_adr_0 = &amp;amp;HE0             ' I2C Adresse&lt;br /&gt;
 Const Sf08_c_range = 100            ' Reichweite&lt;br /&gt;
 Const Sf08_c_gain = 1               ' Empfindlichkeit&lt;br /&gt;
&lt;br /&gt;
Die Adresse ist der Default-Wert für den Sensor, und kann eingestellt werden. &lt;br /&gt;
Range und Gain sind anzupassen, die angegeben Werte sind aber mal grundsätzlich verwendbar.&lt;br /&gt;
&lt;br /&gt;
'''Setup'''&lt;br /&gt;
Nach dem Reset sind einmal Range und Gain zu setzen.&lt;br /&gt;
&lt;br /&gt;
'''Setzen Range'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' register &amp;quot;range&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_range  &lt;br /&gt;
      I2cstop&lt;br /&gt;
 &lt;br /&gt;
'''Setzen Gain'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 1            ' register &amp;quot;gain&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_gain    &lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
'''Abfrage Trigger'''&lt;br /&gt;
&lt;br /&gt;
Die Abfrage soll laut Beschreibung in zwei Schritten erfolgen, zwischen denen ca 70 mS gewartet werden soll. Diese Zeit braucht das Gerät zum Messen. &lt;br /&gt;
&lt;br /&gt;
'''Trigger'''  &lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 0            ' register &amp;quot;Trigger&amp;quot;&lt;br /&gt;
      I2cwbyte 81           ' Meßwert in Zentimetern&lt;br /&gt;
&lt;br /&gt;
      Waitms 70 &lt;br /&gt;
&lt;br /&gt;
'''Ergebnis abholen'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM Lsb as Byte&lt;br /&gt;
 DIM Msb as Byte&lt;br /&gt;
 DIM IVal as word&lt;br /&gt;
&lt;br /&gt;
      I2cstart              ' Repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' Meßwert US&lt;br /&gt;
&lt;br /&gt;
      I2cstart                 ' repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0 + 1  ' Device I2C Adresse READ!&lt;br /&gt;
      I2crbyte Msb , Ack      ' Bit 8-15&lt;br /&gt;
      I2crbyte Lsb , Nack     ' Bit 0-7&lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
      Ival = Makeint(lsb , Msb) ' umwandeln in Word (16 Bit)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SRF10 Ultraschallsensor ===&lt;br /&gt;
SRF10 ist quasi der Nachfolger von SRF08. Er bietet die gleiche Leistung und ist sogar gegenüber Spannungschankungen noch etwas unempfindlicher als der Vorgänger. Der größte Vorteil besteht jedoch darin das er ca. 1/3 kleiner als sein Vorgänger ist.   &lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10foto1.jpg]] [[Bild:srf10foto2.gif]]&lt;br /&gt;
&lt;br /&gt;
Die technischen Daten sind ähnlich:&lt;br /&gt;
* Betriebsspannung: 5V &lt;br /&gt;
* Stromaufnahme: ca. 3mA Standby, ca. 15mA während des Messens Frequenz: 40KHz &lt;br /&gt;
* Maximale Reichweite: 6 m &lt;br /&gt;
* Minimale Reichweite: 4 cm &lt;br /&gt;
* Messwerterfassung: intern, kein externer Controller zur Zeitmessung notwendig &lt;br /&gt;
* Interface: Standard – I2C (passend zu zahlreichen Controllerboards, z.B. RN-Control) &lt;br /&gt;
* Ausgabeformat: µs, cm oder Zoll &lt;br /&gt;
* Feature: Analogverstärkung 40 - 700 (einstellbar, 16 Stufen) &lt;br /&gt;
* Abmessungen: 32mm x 15mm x 10mm &lt;br /&gt;
* Hersteller: Devantech Ltd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Ultraschall_SRF10_an_RN-Control|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10ausbreitung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
=== Vergleichstabelle ===&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|{{Blaueschmaltabelle}}&lt;br /&gt;
 |&lt;br /&gt;
 |'''SRF10'''&lt;br /&gt;
 |'''SRF08'''&lt;br /&gt;
 |'''SRF05'''&lt;br /&gt;
 |'''SRF04'''&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Betr. Spannung'''&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Stromaufnahme'''&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |4mA typ,&amp;lt;br&amp;gt; 30mA max.&lt;br /&gt;
 |30mA typ,&amp;lt;br&amp;gt; 50mA max.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''US Leistung'''&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Frequenz'''&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bereich'''&lt;br /&gt;
 |72&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Reichweite'''&lt;br /&gt;
 |4cm - 6m&lt;br /&gt;
 |3cm - 6m&lt;br /&gt;
 |3cm - 4m&lt;br /&gt;
 |3cm - 3m&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Triggerimpuls'''&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Abmessung in mm'''&lt;br /&gt;
 |32 x 15 x 10&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Interface'''&lt;br /&gt;
 |I2C&lt;br /&gt;
 |I2C&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Feature'''&lt;br /&gt;
 |Minimodul&lt;br /&gt;
 |Lichtsensor&lt;br /&gt;
 |SRF04 Modus&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Preis ca. *'''&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |22,00 €&lt;br /&gt;
 |25,00 €&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''*''' Der Preis dient nur zum vergleich untereinander, nicht als Referenz !&lt;br /&gt;
&lt;br /&gt;
==Kompaß== &lt;br /&gt;
===Kompaß-Modul CMPS03===&lt;br /&gt;
Laut der Doku ist diese Modul speziell für die Bedürnisse von Robotern gestaltet worden. Es mißt seine Lage relativ zum Erdmagnetfeld und liefert diesen Wert&lt;br /&gt;
* Als PWM-Signal &lt;br /&gt;
* Über I2C entweder 0-255 als Byte oder&lt;br /&gt;
* 0-3599 als 16-Bit Wert (MSB first)&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Doku ist eine fixe I2C-Adresse von 0xC0 angegeben. Was leider noch fehlt, sind Angaben, ob und wie diese Adresse geändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Bei waagrechter Montage ist das also ein Kompaß, bei senkrechter Montage dieser Module kann man auch die Neigung in Nord-Süd-Richtung messen. Hierzu sind 2 Module nötig, die zueinander um 90° gedreht angeordnet sein müssen. Die Neigung in Ost-West-Richtung zu messen, ist dagegen leider nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Das Ganze ist eine Anwendung des Philips-KMZ51 Magnet-Feld-Sensors mittels eines PIC16F872&lt;br /&gt;
&lt;br /&gt;
Gelegentlich sollte das Modul kalibriert werden. Das kann über den I2C-Bus, aber auch mittels einen Pins am Modul initiiert werden. Dann muß das Module langsam um 360 Grad gedreht werden. Dabei nimmt das Modul 4 Meßpunkte auf und speichert sie im EEPROM. &lt;br /&gt;
&lt;br /&gt;
Ein Beispielprogramm findet man hier:&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cmps3pin.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Beschleunigung==&lt;br /&gt;
&lt;br /&gt;
Beschleunigungssensoren messen die Beschleunigung, die auf sie wirkt - wenn sie auf dem Tisch liegen, messen sie beispielsweise die Erdbeschleunigung von 1g. In einem Auto können weitere Beschleunigungen hinzukommen: Zur Seite beim Kurvenfahren, nach vorne oder hinten beim Beschleunigen, oder bei zügiger Fahrt über eine Bergkuppe auch mal welche in vertikaler Richtung.&amp;lt;br&amp;gt;&lt;br /&gt;
Beschleunigungssensoren sind meist mehrdimensional ausgelegt, so dass für mehrere Achsen ein Sensor verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
Anwendungen finden sie in ESP-Systemen in Autos, die u.a. über die Querbeschleunigung ausrechnen können, ob das Fahrzeug seitlich driftet oder gar schleudert.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine andere wichtige Aufgabe übernehmen sie zusammen mit Gyroskopen in Trägheitsnavigationssystemen, die dann sowohl die Lage im Raum als auch die Bewegung feststellen können.&lt;br /&gt;
&lt;br /&gt;
Moderne Piezo-Sensoren sind nur noch Chip-gross und können direkt in Schaltungen integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Drehung==&lt;br /&gt;
&lt;br /&gt;
Um Drehungen zu messen, werden sogenannte Gyroskope, kurz &amp;quot;Gyros&amp;quot; verwendet. Typische Vertreter sind hier die ADXRS-Familie von Analog Devices. Diese sind allerdigs, anders als die Beschleunigungssensoren, meistens nur für eine Achse ausgelegt. Die Ausgabe erfolgt meist analog, jede Ausgangsspannung entspricht einer bestimmten Drehrate in °/Sekunde.&lt;br /&gt;
&lt;br /&gt;
Gemessen wird die Auswirkung der Corioleskraft auf zwei gleiche, in Bewegung gehaltene Massen. Diese schwingen radial, d.h. 90° verdreht zu der Achse, auf der die Drehung gemessen werden soll. Wird der Sensor um die Achse gedreht, ändert sich die Geschwindigkeit dieser Massen, da sie auf einer gedachten Scheibe abwechselnd nach innen und außen wandern. Je weiter sie außen sind, desto höher ist ihre Geschwindigkeit, je weiter innen, desto langsamer sind sie. Bei der Bewegung nach außen müssen sie also beschleunigt werden, andersherum genauso. Die dabei auftretenden Beschleunigungen werden mittels einiger Fühler gemessen, die einen Plattenkondensator bilden.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung sind im Flugmodellbau Gyro-&amp;quot;Taillocks&amp;quot;, die in Hubschraubern die Heckstabilität verbessern und ESP-Systeme in Autos, die u.a. durch die Messung der Gierrate, also der Drehung des Fahrzeugs um die Hochachse, feststellen können, ob das Fahrzeug seitlich driftet oder sogar schleudert.&lt;br /&gt;
&lt;br /&gt;
==Temperatur== &lt;br /&gt;
===NTCs===&lt;br /&gt;
===PTCs===&lt;br /&gt;
===Temperatur-Sensor LM75===&lt;br /&gt;
&lt;br /&gt;
[[Bild:lm75.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Dieser Chip von National Semiconductors kann die Umgebungstemperatur mit einer Genauigkeit von 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; Grad Celsius messen. Das angegebene Bereich ist -25&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; bis 100&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; C. Es wird zweierlei geboten:&lt;br /&gt;
* Ein Schaltausgang - Wenn man also z.B. einen Ventilator einschalten möchte&lt;br /&gt;
* I2C - Der obere Teil der Adresse ist fix 0x9n, die Bits 1-3 kann man mit Jumper einstellbar machen oder fest verdrahten. &lt;br /&gt;
&lt;br /&gt;
Durch einen einfachen I2C-Lesebefehl kann man die Temperatur einlesen (16-Bit), das Format ist allerdings etwas tricky. Das erste Byte (8-Bit) ist die Temperatur in ganzen Grad, als normales signed char, vom zweiten Byte gibt das MSB an, ob noch 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; '''dazuzuzählen''' sind (also auch, wenn vorne eine negative Zahl steht)  &lt;br /&gt;
&lt;br /&gt;
Der Grund ist der: die vorzeichenbehaftete 9-Bit Zahl, die da linksbündig in zwei Datenbytes übertragen wird, gibt eigentlich an, wieviel 0.5 Grad - Einheiten gemessen wurden. Rein rechnerisch wäre also Temperatur = Wert * 0.5, das müßte man aber als float durchführen oder erweitern&lt;br /&gt;
&lt;br /&gt;
===Programm-Beispiel für LM75===&lt;br /&gt;
Der LM75 wird über den [[I2C]]-Bus angesprochen&lt;br /&gt;
In BasCom, wo es ja keine signed char gibt, wird das Interpretieren auf sehr unterschiedliche Art empfohlen. &lt;br /&gt;
&lt;br /&gt;
Ich empfehle:&lt;br /&gt;
&lt;br /&gt;
 dim Ival as integer&lt;br /&gt;
 dim Msb as byte&lt;br /&gt;
 dim Lsb as byte&lt;br /&gt;
         I2cstart&lt;br /&gt;
         I2cwbyte &amp;amp;H91   ' Lese-adresse !  &lt;br /&gt;
         If Err = 1 Then&lt;br /&gt;
            I2cstop       ' kein ACK vom LM75 --&amp;gt; irgendein Fehler&lt;br /&gt;
            Ival = 9999   ' Zeichen, daß der Wert ungültig ist !&lt;br /&gt;
         Else&lt;br /&gt;
            I2crbyte Msb , Ack&lt;br /&gt;
            I2crbyte Lsb , Nack&lt;br /&gt;
            I2cstop&lt;br /&gt;
            If Msb.7 = 1 Then&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;HFF)   ' auffüllen mit den Vorzeichen bits&lt;br /&gt;
            Else&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;H00)   ' positiv, also bleibt es so&lt;br /&gt;
            End If&lt;br /&gt;
            Ival = Ival * 10                ' erweitern &lt;br /&gt;
            If Lsb.7 = 1 Then&lt;br /&gt;
              Ival = Ival + 5               ' fünf Zehntel Grad dazu &lt;br /&gt;
            End If&lt;br /&gt;
         End if&lt;br /&gt;
&lt;br /&gt;
das ergibt die Temperatur in Zehntel-Grad (Natürlich nur, wenn's keine Fehler gab).&lt;br /&gt;
&lt;br /&gt;
==Resistive Sensoren==&lt;br /&gt;
...&lt;br /&gt;
==Kapazitive Sensoren==&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel für kapazitive Sensoren sind Luftfeuchtigkeitsmesser, die ihre Kapazität entsprechend der Luftfeuchtigkeit ändern. Das Auslesen der Kapazität kann prinzipiell über das Ausmessen von Ladekurven geschehen. Dies ist jedoch bei kleinen Kapazitäten nicht praktisch durchführbar, weshalb man in diesem Falle meist einen Schwingkreis baut, dessen Frequenz man dann misst und so dann zusammen mit der bekannten Induktivität der Spule die Kapazität des Kondensators ausrechnen kann.&lt;br /&gt;
&lt;br /&gt;
==Induktive Sensoren==&lt;br /&gt;
Induktiver Näherungsschalter&lt;br /&gt;
&lt;br /&gt;
Sensoren die ihre Induktivität entsprechend der Messgröße ändern können auch mit Hilfe eines Schwingkreises mit bekannter Kapazität ausgemessen werden.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Piezoelektrische Sensoren==&lt;br /&gt;
Hier ist ein Experiment dargestellt das die Funktion von Piezowandlern demonstriert.&lt;br /&gt;
&lt;br /&gt;
Drückt man auf eine längliche Glasplatte (Mikroskopträger Länge 76mm), die an den Enden auf je einem Piezo Wandler gelagert ist, dann ergeben sich Signale, die von den Kräften auf die Wandler abhängig sind. &lt;br /&gt;
&lt;br /&gt;
Die Summe der beiden Kräfte entspricht der Gesamtkraft. Das Verhältnis der beiden Kräfte entspricht dem Verhältnis der Abstände des Druckpunktes zum Wandler. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Piezowandler.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Versuch wurde mit der Frequenz von ca. 4Hz (0,5s/div) von einem Ende bis zum anderen auf die Platte gedrückt. (Tonleiter). Die Signale der beiden Wandler sind im Oszillogramm aufgetragen und die Folge der Druck-Positionen ist auf den ersten Blick schon mal nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
==PIR Passiv Infrarot Sensoren==&lt;br /&gt;
Hier handelt es sich um Passiv-Infrarot-Bewegungsmelder. Bewegungsmelder regieren beim Eintritt einer Person (Tier) in das Erfassungsfeld des Sensors. Die Anwendungsmöglichkeiten sind nahezu unbegrenzt, man kennt die Technik ja von vielen Terrassenlampen, welche sich beim vorbeigehen automatisch einschalten.&lt;br /&gt;
Reagiert wird also auf Die Körperwärme einer sich im Erfassungsfeld bewegenden Person.&lt;br /&gt;
[[Bild:pir.jpg|right]]&lt;br /&gt;
Zum Prinzip: &lt;br /&gt;
Wärmestrahlen, die einen Erfassungsvorgang auslösen, liegen im Infrarot-Bereich des Wellenspektrums. In diesem Bereich gibt der menschliche Körper seine Wärmestrahlung ab. Leuchtmittel wie Glüh- , Halogen- und Entladungslampen, die für eine Strahlung im sichtbaren Bereich um 0,555 μm entwickelt wurden, geben jedoch auch einen erheblichen Teil an Wärmestrahlung im Infrarot-Bereich ab.&lt;br /&gt;
Im Spektrum oberhalb des sichtbaren Licht, ab 0,780 μm, beginnt der Infrarot-Bereich. Die Wellenlänge&lt;br /&gt;
dieser IR-Strahlung ist abhängig von der Temperatur eines Körpers. Die Wärmestrahlung&lt;br /&gt;
des Menschen hat ihr Maximum zwischen 9 und 10 μm im Infrarot-Bereich.&lt;br /&gt;
Diese Tatsache nutzt der PIR Sensor mittels sogenannter pyroelektrischer IRDetektoren, welche eine hohe Empfindlichkeit im langwelligen Infrarot-Bereich aufweisen. Die Infrarot-&lt;br /&gt;
Strahlung verhält sich ähnlich wie sichtbares Licht. Sie kann reflektiert und durch Linsen&lt;br /&gt;
gebündelt werden.&lt;br /&gt;
Basis eines solchen IR-Detektors (Sensors) sind Lithium-Tantalatkristalle. Diese Kristalle erzeugen,&lt;br /&gt;
bei Wärmeänderung (positive oder negative Temperaturänderung), eine elektrische Spannung.&lt;br /&gt;
Die von den Kristallen abgegebene Spannung liegt im Bereich von einigen μV (μV = millionstel Volt) und ist von folgenden Bedingungen abhängig: &lt;br /&gt;
* Der Intensität der Wärmequelle (Temperatur und Größe)&lt;br /&gt;
* Dem Umgebungsmedium (Temperatur, unterschiedliche Luftfeuchtigkeit)&lt;br /&gt;
* Der Entfernung zwischen Wärmequelle und IR-Sensor&lt;br /&gt;
* Der Bewegungsgeschwindigkeit und Bewegungsrichtung der Wärmequelle&lt;br /&gt;
* Der Empfindlichkeit des PIR-Elementes (frequenzabhängiges Bandpaßverhalten mit Maximum bei ca. 0,1 Hz)&lt;br /&gt;
&lt;br /&gt;
Zur Unterdrückung von Einflüssen aus der Umgebung (übliche wetterbedingte Temperaturänderungen), sind in jedem Sensor 2 Kristalle antiparallel geschaltet. &lt;br /&gt;
Einer der Kristalle gibt, bei Auftreffen von Wärmestrahlung einen positiven, der andere einen negativen Spannungsimpuls ab. Wärmeänderungen die gleichzeitig und mit gleicher Intensität auf beide Kristalle einwirken lösen so keinen Erfassungsvorgang aus, denn die beiden Impulse heben sich gegenseitig auf. Dadurch ist ein Auslösen bei Wärmeänderungen der Umgebung weitgehend ausgeschlossen.&lt;br /&gt;
Anders verhält es sich bei schnellen Bewegungen. Die Lithiumtantalat-Kristalle geben, entsprechend&lt;br /&gt;
der Bewegung und der dadurch hervorgerufenen Wärmeänderung im Erfassungsfeld, ihre&lt;br /&gt;
Impulse zeitversetzt ab. Die beiden Impulse addieren sich zu einer Wechselgröße mit höherer&lt;br /&gt;
Signalamplitude. Dieses elektrische Ausgangssignalist proportional der Wärmeänderung und führt zur Meldung einer Bewegung.&lt;br /&gt;
&lt;br /&gt;
==Autoren==&lt;br /&gt;
* [[Benutzer:PicNick|PicNick]]&lt;br /&gt;
* [[Benutzer:Frank|Frank]] &lt;br /&gt;
* [[Benutzer:Dennis.strehl|Dennis.strehl]]&lt;br /&gt;
* [[Benutzer:Florian|Florian]]&lt;br /&gt;
* Topic&lt;br /&gt;
* [[Benutzer:Manf|Manf]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Navigation]]&lt;br /&gt;
* [[Sensoren]]&lt;br /&gt;
* [[Graycode]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
* [[Ultraschall SRF05 an RN-MiniControl]]&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
*[http://www.ikm.uni-karlsruhe.de/forschung/pzt_webseiten/de/grundlagen/pyro.html Piezoelektrische Sensoren]&lt;br /&gt;
*[http://www.roboternetz.de/phpBB2/dload.php?action=category&amp;amp;cat_id=2 Datenblätter im Download-Bereich des Roboternetz]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8318</id>
		<title>Sensorarten</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8318"/>
				<updated>2006-07-13T01:27:23Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Beschleunigungssensoren und Gyros aufgesplittet und erweitert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welche Sensorarten gibt es==&lt;br /&gt;
Damit sich ein Roboter in seiner Umgebung bewegen kann, ohne an Hindernisse anzustoßen, und damit er ein Ziel finden und ansteuern kann, muß er irgendwie seine Umwelt &amp;quot;wahrnehmen&amp;quot;. &lt;br /&gt;
Hauptanwendung für diese Informationen aus der Umwelt ist die [[Navigation]]&lt;br /&gt;
&lt;br /&gt;
==Bumpers==&lt;br /&gt;
Als Bumpers bezeichnet man eine Art Stoßstange, die einen Mikro-Switch auslöst. &lt;br /&gt;
&lt;br /&gt;
[[Bild:microschalter.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung erfolgt am besten digital an einem Pin mit Pull-up Widerstand. Man kann den Eingang pollen (abfragen), aber auch einen Interrupt auslösen lassen. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Whiskers (Fühler)==&lt;br /&gt;
Das sind flexible Kunststoff-Streifen von ca. 10 cm Länge, eigentlich für Datenhandschuhe vorgesehen. Aber man kann sie auch als Fühler einsetzen, und daher auch für die Kollisions-Sensorik verwenden. Beim Verbiegen steigt der Widerstand an.  &lt;br /&gt;
&lt;br /&gt;
[[Bild:flexs_200.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Um zu messen, wird mit einem zweiten Widerstand ein Spannungsteiler aufgebaut, der dann mit einem Analog-Eingang einen Grad der Verbiegung erkennen läßt. Sie werden häufig auch Flexsensoren genannt. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incremental-Geber==&lt;br /&gt;
Dienen zur Erfassung von Drehzahl bzw. der Messung von Wegstrecken&lt;br /&gt;
===Drehgeber Sharp GP1A30 und GP1A38===&lt;br /&gt;
&lt;br /&gt;
[[Bild:gp1a30.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Beim Sharp GP1A30 und GP1A38 handelt es sich um Gabellichtschranken mit inkrementaler Drehgeberfunktion. Beide sind im Grunde von den Anschlüssen identisch, lediglich kann GP1A38 noch etwas höhere Drehzahlen messen. Im Gegensatz zu herkömmlichen Gabellichtschranken können mit dieser sowohl Drehzahl als auch Drehrichtung ermittelt werden. Notwendig sind dafür nur 2 digitale Ports. Verzichtet man auf die Auswertung der Drehrichtung, reicht nur ein Port.&lt;br /&gt;
Der Sensor hat den Vorteil das die Signale bereits TTL kompatibel sind und direkt an ein Controllerboard angeschlossen werden können. Ein Beispielprogramm zu [[RN-Control]] findet man hier&lt;br /&gt;
&lt;br /&gt;
* [[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP1A30.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung inkrementaler Drehgeber ist recht einfach. Ein Ausgang liefert einen Impuls pro Markierung (Scheibe auf der Welle). Prüft man bei jedem Impuls (Flanke) noch gleichzeitig den aktuellen Pegel des zweiten Ausganges, so kann daraus die Drehrichtung abgeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Der Signalverlauf an den Sensorausgängen ist phasenversetzt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:inkremental1.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:drehgeber_an_rncontrol.gif|center|framed|Beispielschaltung wenn man lediglich die Drehzahl ohne Drehrichtung auswerten möchte. Als Widerstand hat sich 330 Ohm als gut erwiesen.]]&lt;br /&gt;
&lt;br /&gt;
==Optische Sensoren==&lt;br /&gt;
===Helligkeit=== &lt;br /&gt;
Die Hauptanwendung solcher Sensoren ist, den hellsten Fleck im Raum zu finden.&lt;br /&gt;
Dies ist auch Teil vieler Roboterwettbewerbe. (Robo Callenge (2002 sic!), 'Ein Platz an der Sonne')&lt;br /&gt;
&lt;br /&gt;
Solche Sensoren können einfache [[LDR]]s oder [[Photodioden]] bzw. [[Phototransistoren]] sein.&lt;br /&gt;
LDRs haben den Vorteil, dass sie relativ hoch aussteuern, der große Nachteil ist aber, dass diese Sensoren ziemlich Wärmeempfindlich und etwas träge.&lt;br /&gt;
Photodioden und Phototransistoren haben den Vorteil, dass sie sehr genau sind, aber nicht besonders hoch aussteuern. Diese sollte man evtl. über einen OpAmp verstärken.&lt;br /&gt;
&lt;br /&gt;
[[Bild:fotowiderstand.jpg|center|framed|Ein typischer Fotowiderstand]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:SFH300.jpg|center|framed|SFH300, ein typischer Phototransistor]]&lt;br /&gt;
&lt;br /&gt;
Die Suche nach dem Hellsten Fleck im Rraum ist wie ich finde ein gutes Einsteigerthema!&lt;br /&gt;
&lt;br /&gt;
===CNY70===&lt;br /&gt;
&lt;br /&gt;
Der CNY70 ist ein Foto-Reflex Optokoppler. In einem würfelförmigem Gehäuse befindet sich eine Infrarot LED als Sender und ein Infrarot Fototransistor als Empfänger. Damit kann auf kurze Entfernung (wenige Millimeter) das reflektierte Licht der IR-LED durch den IR-Fototransistor gemessen werden.  &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Bild:cny70.jpg|thumb|200px|CNY70]]&lt;br /&gt;
|[[Bild:cny70_pinout.jpg|framed|CNY70 Vishay Pinout]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Achtung:''' Es existiert auch noch ein CNY70 von Temic mit anderer Pinbelegung, dort ist der Fototransistor verdreht eingebaut.&lt;br /&gt;
&lt;br /&gt;
Der CNY70 eignet sich für eine Vielzahl von Sensoren. Z.B. als Liniensensor, Radencoder, Abgrunddetektor und Lichtschranke. Allerdings ist er empfindlich gegen Streulicht, da  das Licht der IR-LED nicht moduliert ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cny70_schem1.gif|thumb|center|600px|CNY70 als Liniensensor]]&lt;br /&gt;
[[Bild:cny70_schem2.gif|thumb|center|600px|CNY70 als Radencoder mit Schmitt-Trigger]]&lt;br /&gt;
&lt;br /&gt;
===Distanzsensor IS471F===&lt;br /&gt;
&lt;br /&gt;
IS471F - Hindernisserkennung mit Infrarot Distanzsensor&lt;br /&gt;
&lt;br /&gt;
Das hier vorgestellte IC IS471F erlaubt eine einfach und sogar recht preisgünstige Hinternisserkennung per Infarot. Dazu muß im wesentlichen nur noch eine Infrarot-Diode an das IC angeschlossen werden. Das modulierte Licht wird von einem Gegenstand direkt auf das IC zurückgeworfen und somit das Hinterniss erkannt. Tageslicht/Fremdlicht stört den IS471 überhaupt nicht, da das Licht mit einer bestimmten Frequenz moduliert wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der normale Schaltungsaufbau sieht also wie oben abgebildet aus! In der Praxis kann das dann in etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471beispiel.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das englische Datenblatt findet man im Roboternetz-Download-Bereich&lt;br /&gt;
&lt;br /&gt;
Die normale Reichweite ist in gewissen Grenzen abhängig von der Farbe des Hinternisses. In der Regel reicht es jedoch durchaus einige cm so das langsame Roboter durchaus sehr gut damit zurecht kommen. Durch besonders helle Infrarot LED´s und durch zusätzlich LED-Fassungen kann man die Reichweite erhöhen. Wem das noch nicht reicht, der kann über einen zusätzlichen Transistor die Strahlungsleistung der LED noch weiter erhöhen. &lt;br /&gt;
&lt;br /&gt;
[[Bild:is471verstaerkung.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/bilder/mehrereis471.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sharp Infrarotsensoren===&lt;br /&gt;
&lt;br /&gt;
Sharp hat eine ganz interessante Serie von Bausteinen herausgebracht mit denen ein Roboter sogar recht genau Entfernungen messen kann. Das Messergebnis ist nahezu unabhängig von der Farbe und Helligkeit des gemessenen Objektes. Die Ansteuerung ist sehr einfach, der Sensorausgang kann zum Beispiel direkt an einen analogen Eingang eines Mikrocontrollers angeschlossen werden. Die Sensoren sind unter den Roboter-Bastlern weit verbreitet. &lt;br /&gt;
Bei vielen Händlern erhältlich kosten die Sensoren derzeit je nach Typ und Händlerspanne zwischen 13 bis 25 Euro.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Sharpentfernungssensor.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oft werden selbst in kleinen Roboter-Projekten mehrere dieser Sensoren genutzt da sie nur einen äußerst engen Erfassungsbereich haben. Sie eignen sich daher sehr gut zur Vermessung einer Umgebung, insbesondere dann wenn Sie drehbar auf einem Servo montiert werden. Als Kollisionsschutz sind sie wegen dem engen Winkel nur bedingt geeignet, zu diesem Zweck eignen sich zum Beispiel Ultraschallsensoren besser.&lt;br /&gt;
Das Funktionsprinzip der Sensoren ist einfach. Der Sensor besteht aus Sender und Empfänger. Der Sender sendet einen Infrarot-Strahl aus, der vom Hindernis reflektiert wird. Je nach Entfernung trifft der reflektierte Strahl an einer unterschiedlichen Stelle auf den Empfänger (ein sog. Position Sensitive Device, PSD). Der Empfänger setzt den Auftreffpunkt in einen analogen Spannungswert um. Eine schöne Skizze dazu:  &lt;br /&gt;
&lt;br /&gt;
[[Bild:sharpfunktion.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Einige der beliebtesten Bausteine sind:'''&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D12==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
Dies ist der am häufigsten eingesetzte Sharp Typ bei mobilen Robotern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP2D12anschluss.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2YA21YK==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt &lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D120====&lt;br /&gt;
Distanz 4 - 30 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2Y0A02YK====&lt;br /&gt;
Distanz 20 - 150 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/sensoren/gp2y0a02yk_diagramm.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D02====&lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch 8 Bit Digitalausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D150====&lt;br /&gt;
Distanz 3-30 cm - 1 Bit Schaltausgang  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Datenblätter zu den oberen Sensoren findet man im Download-Bereich des Roboternetz, siehe unter [[#Weblinks]].&lt;br /&gt;
 &lt;br /&gt;
Um die analogen Spannung der Sensoren in eine Entfernung umzurechnen, kann man sich mit Hilfe des Datenblattes oder einfacher Probemessungen Tabellen erstellen, welche dann vom Controller zur Umsetzung genutzt werden.&lt;br /&gt;
Bequemer ist allerdings eine Näherungsformel:&lt;br /&gt;
&lt;br /&gt;
====Formel zur Entfernungsberechnung==== &lt;br /&gt;
 D = A/(X-B) &lt;br /&gt;
&lt;br /&gt;
 D ist die Entfernung &lt;br /&gt;
 X ist der Ausgabewert des Sensors &lt;br /&gt;
 A ist die Steigung der Kurve A/X &lt;br /&gt;
 B ist der Offset der Kurve &lt;br /&gt;
&lt;br /&gt;
Die Konstanten A und B ermittelt man am besten über zwei Probemessungen: &lt;br /&gt;
&lt;br /&gt;
D und X sind die Entfernung und der Ausgabewert der ersten Messung (z.B. bei 20 cm) &lt;br /&gt;
D' und X' sind die Entfernung und der Ausgabewert der zweiten Messung (z.B. bei 60 cm) &lt;br /&gt;
&lt;br /&gt;
 A = ((X' - X) * D' * D) /(D - D' ) &lt;br /&gt;
 B = (D' * X' - D * X) /(D' - D) &lt;br /&gt;
&lt;br /&gt;
====GP2D12 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd12kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====GPD120 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd120kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Ultraschall Sensoren== &lt;br /&gt;
===Ultraschallsensoren SRF04===&lt;br /&gt;
Die Firma '''Devantech''' hat eine Serie von sehr günstigen und kleinen Ultraschallsensoren entwickelt, die sich im Bereich &amp;quot;autonome Robotersysteme&amp;quot; durchgesetzt haben. Sie sind sehr verbreitet, da sie auch für &amp;quot;Hobby-Robotiker&amp;quot; erschwinglich sind und es sich nicht lohnen würde vergleichbare Module selber zu bauen, da diese meistens ungenauer und teurer wären.&lt;br /&gt;
&lt;br /&gt;
Bekannt wurde die Serie durch den '''SRF04'''. Mit seinen kleinen Abmessungen, der niedrigen Stromaufnahme und der hohen Genauigkeit ist er für kleine Messaufgaben im Entfernungsbereich von 3cm bis 3m gut geeignet. Der SRF04 kann einen 3cm dicken Besenstiel in 2m Entfernung erkennen und wird durch ein [[PWM]]-Signal ausgewertet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf_04a.jpg]] [[Bild:srf_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ultraschallsensor SRF05===&lt;br /&gt;
Der Nachfolger des SRF04 ist der neuer SRF05. Er besitzt noch eine etwas höhere Reichweite bis 4 Meter. Zudem besitzt er neben dem kompatibel Mode zu SRF04 noch eine Betriebsart bei der er über einen einzigen Port (Pin) gesteuert wird. Das heißt sowohl der Start der Messung und das Ergebnis wird über die gleiche Leitung übertragen. [[Ultraschall SRF05 an RN-MiniControl|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Srf05mode1.jpg|center]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2diagram.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SRF08===&lt;br /&gt;
Die Alternative zu SRF04 und SRF05 ist der beliebte  '''SRF08''' und dessen Nachfolger '''SRF10''', der nun über den [[I2C]]-Bus ausgewertet werden kann und über eine Reichweite von 3cm bis 6m verfügt. Er hat eine noch kleinere Stromaufnahme und zusätzlich befindet sich auf der Platinenfront ein Fotowiderstand(LDR) dessen Lichtmesswerte sich ebenfalls über den [[I2C]]-Bus auswerten lassen. Durch den SRF08 wird es möglich auch bis zu 16 Mehrfachechos, von weiter hinten gelegenen Gegenständen, auszuwerten, die bei dem SRF04 ignoriert wurden. Über den [[I2C]]-Bus kann man die Messwerte in cm, zoll und in der Laufzeit µs auslesen und spart sich somit die externe Auswertung der Laufzeit, wie bei dem SRF04. Weiterhin können insgesamt 16 SRF08-Module an einen [[I2C]]-Bus angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf08_a.jpg]]  [[Bild:srf08_b.jpg]]&lt;br /&gt;
&lt;br /&gt;
===SRF08 Programmbeispiel===&lt;br /&gt;
SFR08 Programm Beispiel mit [[Bascom]]&lt;br /&gt;
Über die grundsätzliche Behandlung des [[I2C]]-Bus mit [[Bascom]] kann man [[I2C|hier]] nachlesen. &lt;br /&gt;
&lt;br /&gt;
 Const Sf08_adr_0 = &amp;amp;HE0             ' I2C Adresse&lt;br /&gt;
 Const Sf08_c_range = 100            ' Reichweite&lt;br /&gt;
 Const Sf08_c_gain = 1               ' Empfindlichkeit&lt;br /&gt;
&lt;br /&gt;
Die Adresse ist der Default-Wert für den Sensor, und kann eingestellt werden. &lt;br /&gt;
Range und Gain sind anzupassen, die angegeben Werte sind aber mal grundsätzlich verwendbar.&lt;br /&gt;
&lt;br /&gt;
'''Setup'''&lt;br /&gt;
Nach dem Reset sind einmal Range und Gain zu setzen.&lt;br /&gt;
&lt;br /&gt;
'''Setzen Range'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' register &amp;quot;range&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_range  &lt;br /&gt;
      I2cstop&lt;br /&gt;
 &lt;br /&gt;
'''Setzen Gain'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 1            ' register &amp;quot;gain&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_gain    &lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
'''Abfrage Trigger'''&lt;br /&gt;
&lt;br /&gt;
Die Abfrage soll laut Beschreibung in zwei Schritten erfolgen, zwischen denen ca 70 mS gewartet werden soll. Diese Zeit braucht das Gerät zum Messen. &lt;br /&gt;
&lt;br /&gt;
'''Trigger'''  &lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 0            ' register &amp;quot;Trigger&amp;quot;&lt;br /&gt;
      I2cwbyte 81           ' Meßwert in Zentimetern&lt;br /&gt;
&lt;br /&gt;
      Waitms 70 &lt;br /&gt;
&lt;br /&gt;
'''Ergebnis abholen'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM Lsb as Byte&lt;br /&gt;
 DIM Msb as Byte&lt;br /&gt;
 DIM IVal as word&lt;br /&gt;
&lt;br /&gt;
      I2cstart              ' Repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' Meßwert US&lt;br /&gt;
&lt;br /&gt;
      I2cstart                 ' repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0 + 1  ' Device I2C Adresse READ!&lt;br /&gt;
      I2crbyte Msb , Ack      ' Bit 8-15&lt;br /&gt;
      I2crbyte Lsb , Nack     ' Bit 0-7&lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
      Ival = Makeint(lsb , Msb) ' umwandeln in Word (16 Bit)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SRF10 Ultraschallsensor ===&lt;br /&gt;
SRF10 ist quasi der Nachfolger von SRF08. Er bietet die gleiche Leistung und ist sogar gegenüber Spannungschankungen noch etwas unempfindlicher als der Vorgänger. Der größte Vorteil besteht jedoch darin das er ca. 1/3 kleiner als sein Vorgänger ist.   &lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10foto1.jpg]] [[Bild:srf10foto2.gif]]&lt;br /&gt;
&lt;br /&gt;
Die technischen Daten sind ähnlich:&lt;br /&gt;
* Betriebsspannung: 5V &lt;br /&gt;
* Stromaufnahme: ca. 3mA Standby, ca. 15mA während des Messens Frequenz: 40KHz &lt;br /&gt;
* Maximale Reichweite: 6 m &lt;br /&gt;
* Minimale Reichweite: 4 cm &lt;br /&gt;
* Messwerterfassung: intern, kein externer Controller zur Zeitmessung notwendig &lt;br /&gt;
* Interface: Standard – I2C (passend zu zahlreichen Controllerboards, z.B. RN-Control) &lt;br /&gt;
* Ausgabeformat: µs, cm oder Zoll &lt;br /&gt;
* Feature: Analogverstärkung 40 - 700 (einstellbar, 16 Stufen) &lt;br /&gt;
* Abmessungen: 32mm x 15mm x 10mm &lt;br /&gt;
* Hersteller: Devantech Ltd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Ultraschall_SRF10_an_RN-Control|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10ausbreitung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
=== Vergleichstabelle ===&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|{{Blaueschmaltabelle}}&lt;br /&gt;
 |&lt;br /&gt;
 |'''SRF10'''&lt;br /&gt;
 |'''SRF08'''&lt;br /&gt;
 |'''SRF05'''&lt;br /&gt;
 |'''SRF04'''&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Betr. Spannung'''&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Stromaufnahme'''&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |4mA typ,&amp;lt;br&amp;gt; 30mA max.&lt;br /&gt;
 |30mA typ,&amp;lt;br&amp;gt; 50mA max.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''US Leistung'''&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Frequenz'''&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bereich'''&lt;br /&gt;
 |72&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Reichweite'''&lt;br /&gt;
 |4cm - 6m&lt;br /&gt;
 |3cm - 6m&lt;br /&gt;
 |3cm - 4m&lt;br /&gt;
 |3cm - 3m&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Triggerimpuls'''&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Abmessung in mm'''&lt;br /&gt;
 |32 x 15 x 10&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Interface'''&lt;br /&gt;
 |I2C&lt;br /&gt;
 |I2C&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Feature'''&lt;br /&gt;
 |Minimodul&lt;br /&gt;
 |Lichtsensor&lt;br /&gt;
 |SRF04 Modus&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Preis ca. *'''&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |22,00 €&lt;br /&gt;
 |25,00 €&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''*''' Der Preis dient nur zum vergleich untereinander, nicht als Referenz !&lt;br /&gt;
&lt;br /&gt;
==Kompaß== &lt;br /&gt;
===Kompaß-Modul CMPS03===&lt;br /&gt;
Laut der Doku ist diese Modul speziell für die Bedürnisse von Robotern gestaltet worden. Es mißt seine Lage relativ zum Erdmagnetfeld und liefert diesen Wert&lt;br /&gt;
* Als PWM-Signal &lt;br /&gt;
* Über I2C entweder 0-255 als Byte oder&lt;br /&gt;
* 0-3599 als 16-Bit Wert (MSB first)&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Doku ist eine fixe I2C-Adresse von 0xC0 angegeben. Was leider noch fehlt, sind Angaben, ob und wie diese Adresse geändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Bei waagrechter Montage ist das also ein Kompaß, bei senkrechter Montage dieser Module kann man auch die Neigung in Nord-Süd-Richtung messen. Hierzu sind 2 Module nötig, die zueinander um 90° gedreht angeordnet sein müssen. Die Neigung in Ost-West-Richtung zu messen, ist dagegen leider nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Das Ganze ist eine Anwendung des Philips-KMZ51 Magnet-Feld-Sensors mittels eines PIC16F872&lt;br /&gt;
&lt;br /&gt;
Gelegentlich sollte das Modul kalibriert werden. Das kann über den I2C-Bus, aber auch mittels einen Pins am Modul initiiert werden. Dann muß das Module langsam um 360 Grad gedreht werden. Dabei nimmt das Modul 4 Meßpunkte auf und speichert sie im EEPROM. &lt;br /&gt;
&lt;br /&gt;
Ein Beispielprogramm findet man hier:&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cmps3pin.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Beschleunigung==&lt;br /&gt;
&lt;br /&gt;
Beschleunigungssensoren messen die Beschleunigung, die auf sie wirkt - wenn sie auf dem Tisch liegen, messen sie beispielsweise die Erdbeschleunigung von 1g. In einem Auto können weitere Beschleunigungen hinzukommen: Zur Seite beim Kurvenfahren, nach vorne oder hinten beim Beschleunigen, oder bei zügiger Fahrt über eine Bergkuppe auch mal welche in vertikaler Richtung.&amp;lt;br&amp;gt;&lt;br /&gt;
Beschleunigungssensoren sind meist mehrdimensional ausgelegt, so dass für mehrere Achsen ein Sensor verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
Anwendungen finden sie in ESP-Systemen in Autos, die u.a. über die Querbeschleunigung ausrechnen können, ob das Fahrzeug seitlich driftet oder gar schleudert.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine andere wichtige Aufgabe übernehmen sie zusammen mit Gyroskopen in Trägheitsnavigationssystemen, die dann sowohl die Lage im Raum als auch die Bewegung feststellen können.&lt;br /&gt;
&lt;br /&gt;
Moderne Piezo-Sensoren sind nur noch Chip-gross und können direkt in Schaltungen integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Drehung==&lt;br /&gt;
&lt;br /&gt;
Um Drehungen zu messen, werden sogenannte Gyroskope, kurz &amp;quot;Gyros&amp;quot; verwendet. Typische Vertreter sind hier die ADXRS-Familie von Analog Devices. Diese sind allerdigs, anders als die Beschleunigungssensoren, meistens nur für eine Achse ausgelegt. Die Ausgabe erfolgt meist analog, jede Ausgangsspannung entspricht einer bestimmten Drehrate in °/Sekunde.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung sind im Flugmodellbau Gyro-&amp;quot;Taillocks&amp;quot;, die in Hubschraubern die Heckstabilität verbessern und ESP-Systeme in Autos, die u.a. durch die Messung der Gierrate, also der Drehung des Fahrzeugs um die Hochachse, feststellen können, ob das Fahrzeug seitlich driftet oder sogar schleudert.&lt;br /&gt;
&lt;br /&gt;
==Temperatur== &lt;br /&gt;
===NTCs===&lt;br /&gt;
===PTCs===&lt;br /&gt;
===Temperatur-Sensor LM75===&lt;br /&gt;
&lt;br /&gt;
[[Bild:lm75.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Dieser Chip von National Semiconductors kann die Umgebungstemperatur mit einer Genauigkeit von 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; Grad Celsius messen. Das angegebene Bereich ist -25&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; bis 100&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; C. Es wird zweierlei geboten:&lt;br /&gt;
* Ein Schaltausgang - Wenn man also z.B. einen Ventilator einschalten möchte&lt;br /&gt;
* I2C - Der obere Teil der Adresse ist fix 0x9n, die Bits 1-3 kann man mit Jumper einstellbar machen oder fest verdrahten. &lt;br /&gt;
&lt;br /&gt;
Durch einen einfachen I2C-Lesebefehl kann man die Temperatur einlesen (16-Bit), das Format ist allerdings etwas tricky. Das erste Byte (8-Bit) ist die Temperatur in ganzen Grad, als normales signed char, vom zweiten Byte gibt das MSB an, ob noch 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; '''dazuzuzählen''' sind (also auch, wenn vorne eine negative Zahl steht)  &lt;br /&gt;
&lt;br /&gt;
Der Grund ist der: die vorzeichenbehaftete 9-Bit Zahl, die da linksbündig in zwei Datenbytes übertragen wird, gibt eigentlich an, wieviel 0.5 Grad - Einheiten gemessen wurden. Rein rechnerisch wäre also Temperatur = Wert * 0.5, das müßte man aber als float durchführen oder erweitern&lt;br /&gt;
&lt;br /&gt;
===Programm-Beispiel für LM75===&lt;br /&gt;
Der LM75 wird über den [[I2C]]-Bus angesprochen&lt;br /&gt;
In BasCom, wo es ja keine signed char gibt, wird das Interpretieren auf sehr unterschiedliche Art empfohlen. &lt;br /&gt;
&lt;br /&gt;
Ich empfehle:&lt;br /&gt;
&lt;br /&gt;
 dim Ival as integer&lt;br /&gt;
 dim Msb as byte&lt;br /&gt;
 dim Lsb as byte&lt;br /&gt;
         I2cstart&lt;br /&gt;
         I2cwbyte &amp;amp;H91   ' Lese-adresse !  &lt;br /&gt;
         If Err = 1 Then&lt;br /&gt;
            I2cstop       ' kein ACK vom LM75 --&amp;gt; irgendein Fehler&lt;br /&gt;
            Ival = 9999   ' Zeichen, daß der Wert ungültig ist !&lt;br /&gt;
         Else&lt;br /&gt;
            I2crbyte Msb , Ack&lt;br /&gt;
            I2crbyte Lsb , Nack&lt;br /&gt;
            I2cstop&lt;br /&gt;
            If Msb.7 = 1 Then&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;HFF)   ' auffüllen mit den Vorzeichen bits&lt;br /&gt;
            Else&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;H00)   ' positiv, also bleibt es so&lt;br /&gt;
            End If&lt;br /&gt;
            Ival = Ival * 10                ' erweitern &lt;br /&gt;
            If Lsb.7 = 1 Then&lt;br /&gt;
              Ival = Ival + 5               ' fünf Zehntel Grad dazu &lt;br /&gt;
            End If&lt;br /&gt;
         End if&lt;br /&gt;
&lt;br /&gt;
das ergibt die Temperatur in Zehntel-Grad (Natürlich nur, wenn's keine Fehler gab).&lt;br /&gt;
&lt;br /&gt;
==Resistive Sensoren==&lt;br /&gt;
...&lt;br /&gt;
==Kapazitive Sensoren==&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel für kapazitive Sensoren sind Luftfeuchtigkeitsmesser, die ihre Kapazität entsprechend der Luftfeuchtigkeit ändern. Das Auslesen der Kapazität kann prinzipiell über das Ausmessen von Ladekurven geschehen. Dies ist jedoch bei kleinen Kapazitäten nicht praktisch durchführbar, weshalb man in diesem Falle meist einen Schwingkreis baut, dessen Frequenz man dann misst und so dann zusammen mit der bekannten Induktivität der Spule die Kapazität des Kondensators ausrechnen kann.&lt;br /&gt;
&lt;br /&gt;
==Induktive Sensoren==&lt;br /&gt;
Induktiver Näherungsschalter&lt;br /&gt;
&lt;br /&gt;
Sensoren die ihre Induktivität entsprechend der Messgröße ändern können auch mit Hilfe eines Schwingkreises mit bekannter Kapazität ausgemessen werden.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Piezoelektrische Sensoren==&lt;br /&gt;
Hier ist ein Experiment dargestellt das die Funktion von Piezowandlern demonstriert.&lt;br /&gt;
&lt;br /&gt;
Drückt man auf eine längliche Glasplatte (Mikroskopträger Länge 76mm), die an den Enden auf je einem Piezo Wandler gelagert ist, dann ergeben sich Signale, die von den Kräften auf die Wandler abhängig sind. &lt;br /&gt;
&lt;br /&gt;
Die Summe der beiden Kräfte entspricht der Gesamtkraft. Das Verhältnis der beiden Kräfte entspricht dem Verhältnis der Abstände des Druckpunktes zum Wandler. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Piezowandler.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Versuch wurde mit der Frequenz von ca. 4Hz (0,5s/div) von einem Ende bis zum anderen auf die Platte gedrückt. (Tonleiter). Die Signale der beiden Wandler sind im Oszillogramm aufgetragen und die Folge der Druck-Positionen ist auf den ersten Blick schon mal nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
==PIR Passiv Infrarot Sensoren==&lt;br /&gt;
Hier handelt es sich um Passiv-Infrarot-Bewegungsmelder. Bewegungsmelder regieren beim Eintritt einer Person (Tier) in das Erfassungsfeld des Sensors. Die Anwendungsmöglichkeiten sind nahezu unbegrenzt, man kennt die Technik ja von vielen Terrassenlampen, welche sich beim vorbeigehen automatisch einschalten.&lt;br /&gt;
Reagiert wird also auf Die Körperwärme einer sich im Erfassungsfeld bewegenden Person.&lt;br /&gt;
[[Bild:pir.jpg|right]]&lt;br /&gt;
Zum Prinzip: &lt;br /&gt;
Wärmestrahlen, die einen Erfassungsvorgang auslösen, liegen im Infrarot-Bereich des Wellenspektrums. In diesem Bereich gibt der menschliche Körper seine Wärmestrahlung ab. Leuchtmittel wie Glüh- , Halogen- und Entladungslampen, die für eine Strahlung im sichtbaren Bereich um 0,555 μm entwickelt wurden, geben jedoch auch einen erheblichen Teil an Wärmestrahlung im Infrarot-Bereich ab.&lt;br /&gt;
Im Spektrum oberhalb des sichtbaren Licht, ab 0,780 μm, beginnt der Infrarot-Bereich. Die Wellenlänge&lt;br /&gt;
dieser IR-Strahlung ist abhängig von der Temperatur eines Körpers. Die Wärmestrahlung&lt;br /&gt;
des Menschen hat ihr Maximum zwischen 9 und 10 μm im Infrarot-Bereich.&lt;br /&gt;
Diese Tatsache nutzt der PIR Sensor mittels sogenannter pyroelektrischer IRDetektoren, welche eine hohe Empfindlichkeit im langwelligen Infrarot-Bereich aufweisen. Die Infrarot-&lt;br /&gt;
Strahlung verhält sich ähnlich wie sichtbares Licht. Sie kann reflektiert und durch Linsen&lt;br /&gt;
gebündelt werden.&lt;br /&gt;
Basis eines solchen IR-Detektors (Sensors) sind Lithium-Tantalatkristalle. Diese Kristalle erzeugen,&lt;br /&gt;
bei Wärmeänderung (positive oder negative Temperaturänderung), eine elektrische Spannung.&lt;br /&gt;
Die von den Kristallen abgegebene Spannung liegt im Bereich von einigen μV (μV = millionstel Volt) und ist von folgenden Bedingungen abhängig: &lt;br /&gt;
* Der Intensität der Wärmequelle (Temperatur und Größe)&lt;br /&gt;
* Dem Umgebungsmedium (Temperatur, unterschiedliche Luftfeuchtigkeit)&lt;br /&gt;
* Der Entfernung zwischen Wärmequelle und IR-Sensor&lt;br /&gt;
* Der Bewegungsgeschwindigkeit und Bewegungsrichtung der Wärmequelle&lt;br /&gt;
* Der Empfindlichkeit des PIR-Elementes (frequenzabhängiges Bandpaßverhalten mit Maximum bei ca. 0,1 Hz)&lt;br /&gt;
&lt;br /&gt;
Zur Unterdrückung von Einflüssen aus der Umgebung (übliche wetterbedingte Temperaturänderungen), sind in jedem Sensor 2 Kristalle antiparallel geschaltet. &lt;br /&gt;
Einer der Kristalle gibt, bei Auftreffen von Wärmestrahlung einen positiven, der andere einen negativen Spannungsimpuls ab. Wärmeänderungen die gleichzeitig und mit gleicher Intensität auf beide Kristalle einwirken lösen so keinen Erfassungsvorgang aus, denn die beiden Impulse heben sich gegenseitig auf. Dadurch ist ein Auslösen bei Wärmeänderungen der Umgebung weitgehend ausgeschlossen.&lt;br /&gt;
Anders verhält es sich bei schnellen Bewegungen. Die Lithiumtantalat-Kristalle geben, entsprechend&lt;br /&gt;
der Bewegung und der dadurch hervorgerufenen Wärmeänderung im Erfassungsfeld, ihre&lt;br /&gt;
Impulse zeitversetzt ab. Die beiden Impulse addieren sich zu einer Wechselgröße mit höherer&lt;br /&gt;
Signalamplitude. Dieses elektrische Ausgangssignalist proportional der Wärmeänderung und führt zur Meldung einer Bewegung.&lt;br /&gt;
&lt;br /&gt;
==Autoren==&lt;br /&gt;
* [[Benutzer:PicNick|PicNick]]&lt;br /&gt;
* [[Benutzer:Frank|Frank]] &lt;br /&gt;
* [[Benutzer:Dennis.strehl|Dennis.strehl]]&lt;br /&gt;
* [[Benutzer:Florian|Florian]]&lt;br /&gt;
* Topic&lt;br /&gt;
* [[Benutzer:Manf|Manf]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Navigation]]&lt;br /&gt;
* [[Sensoren]]&lt;br /&gt;
* [[Graycode]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
* [[Ultraschall SRF05 an RN-MiniControl]]&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
*[http://www.ikm.uni-karlsruhe.de/forschung/pzt_webseiten/de/grundlagen/pyro.html Piezoelektrische Sensoren]&lt;br /&gt;
*[http://www.roboternetz.de/phpBB2/dload.php?action=category&amp;amp;cat_id=2 Datenblätter im Download-Bereich des Roboternetz]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8317</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8317"/>
				<updated>2006-07-13T00:53:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
Zur Glättung von Spannungen und / oder Strömen werden auch Filter eingesetzt. Eine Kombination aus Spule und Kondensator (LC-Filter) setzt man beispielsweise häufig vor der ADC-Versorgung von Mikrocontrollern ein. Diese Filter filtern doppelt: Wenn die Versorgungsspannung plötzlich leicht abfällt, ändert sich zunächst der Strom in der Spule, aber wie gesagt wurde, durch die Induktivität verlangsamt. Wenn der Strom etwas abgefallen ist, wird das zweite Filterelement - der Kondensator - aktiv, denn durch ihn muss zuerst ein Strom fließen, damit sich die Spannung am Ausgang der Schaltung ändern kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Phantomspeisung (gecancelt: Gebräuchliche Systeme wie PoE brauchen dafür afaik keine echten Filter.)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
Nun gibt es aber zig verschiedene Möglichkeiten, Filter aufzubauen, noch dazu ist jede nur für spezielle Anwendungen geeignet.&amp;lt;br&amp;gt;&lt;br /&gt;
Man unterteilt Filter zunächst in aktive Filter und passive Filter: Passive Filter sind solche, die nur aus passiven Bauteilen bestehen. Dazu gehören die oben angesprochenen Kondensatoren, Spulen und Widerstände, aber auch Quarze.&lt;br /&gt;
Aktive Filter enthalten als aktive Komponente meist einen Operationsverstärker. Der Vorteil liegt auf der Hand: Der Ausgang des OpAmps ist auch der Ausgang des Filters, der damit auch ruhig bis einige Milliampere belastet werden kann - bei passiven Filtern ist dies meistens nicht ohne weiteres möglich, die Ausgangsspannung würde sich dabei ändern. Der Nachteil sollte auch klar sein: Ein OpAmp, und jede andere aktive Komponente auch, braucht ne Versorgungsspannung. Für eine Frequenzweiche in einer passiven Standbox (d.h. der Verstärker ist nicht integriert) sind aktive Filter dadurch ungeeignet.&lt;br /&gt;
&lt;br /&gt;
Weiterhin unterscheidet man Filter nach verschiedenen Ordnungen. Die Ordnung spiegelt dabei die Anzahl der frequenzabhängigen Bauteile wieder. Ein Filter höherer Ordnung, beispielsweise die oben beschriebene Kombination aus Spule und Kondensator, hat eine bessere Trennschärfe. Das bedeutet, dass der Abstand zwischen Frequenzen, die durchgelassen werden, und Frequenzen, die gesperrt werden, kleiner ist. Nun, im Grunde wird jede Frequenz zwar noch irgendwie durchgelassen, jedoch immer stärker abgeschwächt - aber dazu später.&lt;br /&gt;
&lt;br /&gt;
Zuletzt unterteilt man Filter noch in verschiedene Charakteristiken, namentlich Tiefpässe, Hochpässe, Bandpässe und Bandsperren.&lt;br /&gt;
*Tiefpässe lassen tiefe Frequenzen durch und sperren hohe Frequenzen. Eine typische Anwendung wäre die Glättung eines Signals mithilfe einer Kombination aus Spule und Kondensator.&lt;br /&gt;
*Hochpässe machen das Gegenteil: Sie sperren tiefe Frequenzen und lassen hohe Frequenzen durch. Beispiele wären eine Gleichspannungsentkopplung oder eine Frequenzweiche für einen Hochtonlautsprecher.&lt;br /&gt;
*Bandpässe sperren hohe und tiefe Frequenzen - Ein bestimmter Frequenzbereich wird jedoch durchgelassen. Eine Anwendung hierfür wäre eine Frequenzweiche vor einem Mitteltöner '''''(Sorry für die ganzen Beispiele aus dem Audiobereich, fällt vielleicht wem was besseres ein? Passiv-PFC würde mir einfallen, würde aber ne längere Erläuterung notwendig machen.)'''''&lt;br /&gt;
*Bandsperren sind das Gegenstück zu den Bandpässen: Hohe und tiefe Frequenzen werden durchgelassen, ein bestimmter Frequenzbereich wird gesperrt&lt;br /&gt;
&lt;br /&gt;
Wie man sieht, sind die Bezeichnungen so gut wie selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
== Passiv ==&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8208</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8208"/>
				<updated>2006-07-06T23:37:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Formulierung geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&lt;br /&gt;
&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&lt;br /&gt;
&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule, nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch den Lautsprecher und die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss einstellen kann - die Signale werden von der Spule blockiert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Gleichstrom/spannungsentkopplung, z.B. Entkopplungskondensatoren bei Verstärkerschaltungen&lt;br /&gt;
*Störungsunterdrückung / Glättung von Signalen&lt;br /&gt;
*Phantomspeisung (bzw. generell Datenübertragung über Versorgungsleitungen)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
*Aktiv vs. Passiv&lt;br /&gt;
*1. Ordnung, 2. Ordnung&lt;br /&gt;
*Tiefpass / Hochpass / Bandpass / Bandsperre&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
== Passiv ==&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8207</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8207"/>
				<updated>2006-07-06T23:33:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Beispiel: Tieftöner&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&lt;br /&gt;
&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
Als zweites Beispiel nehmen wir uns nochmal Audio-Kram her: Wir haben nen Tieftöner, den wir an unsere Stereoanlage anschließen wollen. Die tiefen Frequenzen soll er ruhig wiedergeben - die hohen Frequenzen jedoch nicht, denn für die sind die Hochtöner zuständig.&lt;br /&gt;
&lt;br /&gt;
Eine Spule, die hier in Reihe zum Lautsprecher geschaltet wird, erfüllt diese Bedingungen. Wenn ein Signal an die Kombination aus Lautsprecher und Spule angelegt wird, steigt der Strom, bedingt durch die Induktivität der Spule nur langsam an. Bei tiefen Frequenzen fällt das kaum auf, denn eine Halbwelle ist lang genug, um den Strom durch die Spule zu erhöhen. Bei hohen Frequenzen dagegen sind die Halbwellen so kurz, dass sich kein nennenswerter Stromfluss durch die Spule einstellen kann.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Gleichstrom/spannungsentkopplung, z.B. Entkopplungskondensatoren bei Verstärkerschaltungen&lt;br /&gt;
*Störungsunterdrückung / Glättung von Signalen&lt;br /&gt;
*Phantomspeisung (bzw. generell Datenübertragung über Versorgungsleitungen)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
*Aktiv vs. Passiv&lt;br /&gt;
*1. Ordnung, 2. Ordnung&lt;br /&gt;
*Tiefpass / Hochpass / Bandpass / Bandsperre&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
== Passiv ==&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8204</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8204"/>
				<updated>2006-07-06T20:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Beispiel: Entkopplung bei Emitterschaltung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
Für Filter gibt es eine ganze Menge Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Als erstes Beispiel nehmen wir uns mal einen Verstärker her, einen einfachen. Einen Transistor in Emitterschaltung zum Beispiel. Am Eingang dieser Schaltung liegt die Basis des Transistors, beschaltet mit einem Vorwiderstand von Vcc aus. Dieser dient dazu, den Arbeitspunkt des Transistors festzulegen und &amp;quot;zieht&amp;quot; die Basis des Transistors zum Beispiel auf 0,70 Volt.&lt;br /&gt;
Was passiert wenn man nun ein Signal anlegt, beispielsweise ein Audiosignal, welches zwischen 0,1 Volt und -0,1 Volt schwingt? Die Basis wird auf eben diese (im Mittel) 0 Volt heruntergezogen, und der Strom, der eigentlich für die Basis vorgesehen war, fließt nun einfach in die Signalquelle ab.&lt;br /&gt;
&lt;br /&gt;
Hier schafft ein Entkopplungskondensator, den man zwischen Signalquelle und Basis des Transistors schaltet, Abhilfe: Die Spannung zwischen dessen Anschlüssen steigt durch den abfließenden Strom langsam an. Die Spannung an der zum Transistor gewandten Seite steigt also an, und irgendwann ist die Spannung soweit gestiegen, dass durch die Basis des Transistors wieder der entsprechende Strom fließen kann. Durch den Kondensator fließt dann kein Gleichstrom mehr.&lt;br /&gt;
Die Wechselspannung, in diesem Fall das Audiosignal, wird dagegen durchgelassen. Dabei fließt nämlich während der positiven Halbwelle Strom in die Schaltung herein, bei der negativen Halbwelle des Signals dagegen fließt der Strom wieder heraus. Diese Strompulse sind so kurz, dass der Kondensator seine Spannung dabei kaum ändert, sie werden also fast ungehindert durchgelassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Gleichstrom/spannungsentkopplung, z.B. Entkopplungskondensatoren bei Verstärkerschaltungen&lt;br /&gt;
*Störungsunterdrückung / Glättung von Signalen&lt;br /&gt;
*Phantomspeisung (bzw. generell Datenübertragung über Versorgungsleitungen)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
*Aktiv vs. Passiv&lt;br /&gt;
*1. Ordnung, 2. Ordnung&lt;br /&gt;
*Tiefpass / Hochpass / Bandpass / Bandsperre&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
== Passiv ==&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8199</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8199"/>
				<updated>2006-07-06T17:41:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
*Gleichstrom/spannungsentkopplung, z.B. Entkopplungskondensatoren bei Verstärkerschaltungen&lt;br /&gt;
*Störungsunterdrückung / Glättung von Signalen&lt;br /&gt;
*Phantomspeisung (bzw. generell Datenübertragung über Versorgungsleitungen)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
*Aktiv vs. Passiv&lt;br /&gt;
*1. Ordnung, 2. Ordnung&lt;br /&gt;
*Tiefpass / Hochpass / Bandpass / Bandsperre&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
== Passiv ==&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8198</id>
		<title>Filter (Elektronik)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Filter_(Elektronik)&amp;diff=8198"/>
				<updated>2006-07-06T17:39:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Wozu benutzt man Filter? =&lt;br /&gt;
&lt;br /&gt;
*Gleichstrom/spannungsentkopplung&lt;br /&gt;
*Störungsunterdrückung / Glättung von Signalen&lt;br /&gt;
*Phantomspeisung (bzw. generell Datenübertragung über Versorgungsleitungen)&lt;br /&gt;
&lt;br /&gt;
= Arten von Filtern =&lt;br /&gt;
&lt;br /&gt;
*Aktiv vs. Passiv&lt;br /&gt;
*1. Ordnung, 2. Ordnung&lt;br /&gt;
*Tiefpass / Hochpass / Bandpass / Bandsperre&lt;br /&gt;
&lt;br /&gt;
= Realisierung =&lt;br /&gt;
== Passiv ==&lt;br /&gt;
*Passiv 1.Ordnung: Tiefpässe, Hochpässe, (Bandpass und Bandsperre) &amp;lt;- letztere sind genaugenommen Filter 2.Ordnung, ich würde die trotzdem als Filter 1. Ordnung einstufen&lt;br /&gt;
*Passiv 2.Ordnung: Güte, Bessel, Butterworth, Chebyshev&lt;br /&gt;
== Aktiv ==&lt;br /&gt;
*Aktiv  1.Ordnung: Integrator, Differentiator&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User&amp;diff=8194</id>
		<title>Assembler Einführung für Bascom-User</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User&amp;diff=8194"/>
				<updated>2006-07-06T16:28:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* INC/DEC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Was hier folgt, ist nichts für Profis und Power-User, die mögen weiterblättern. Ich versuche hier, absolute Neueinsteiger nach und nach mit ein paar Grundinformationen zu versorgen. &lt;br /&gt;
&lt;br /&gt;
==Assembler Einführung für Bascom-User==&lt;br /&gt;
&lt;br /&gt;
===Wieso Bascom ?===&lt;br /&gt;
Eine der einfachsten Möglichkeiten, sich an Assembler heranzutasten, ist es, den Bascom-Compiler als Workbench zu benutzen. &lt;br /&gt;
&lt;br /&gt;
Die Vorteile:&lt;br /&gt;
*Das Drumherum mit der richtigen Initialisierung, auch der Perpipherie, kann man bequem von Bascom machen lassen, bis man sich halt auskennt.  &lt;br /&gt;
*Wenn irgendeine Berechnung oder Teil-Funktion nervt oder nicht gleich richtig hinhaut, schreibt man halt doch ein paar Bascom-Statements. &lt;br /&gt;
*fürs Erste reicht die Demo-Version allemal&lt;br /&gt;
&lt;br /&gt;
Die Nachteile:&lt;br /&gt;
*Gott-weiß-wie komfortabel ist der Bascom-Assembler natürlich nicht, aber es reicht. &lt;br /&gt;
*Bei manchen Befehlen ist es nicht klar, ob das ein Assembler oder ein Bascom-Befehl ist. In diesem Fall muß man ein &amp;quot;!&amp;quot; Rufzeichen davor setzen. Man erkennt das aber sofort, denn diese reservierten Bascom-Wort mach er sofort in '''Fettschrift'''. Trotzdem aufpassen !&lt;br /&gt;
&lt;br /&gt;
==Ein Grund-Programm==&lt;br /&gt;
Nicht lachen, auch das ist ein Bascom-Programm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$asm&lt;br /&gt;
   &lt;br /&gt;
$end Asm&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das Programm macht natürlich überhaupt nix. Aber durch die paar Zeilen hat Bascom alle notwendigen Initialisierungen schon erledigt und wir brauchen uns um nichts zu kümmern.&lt;br /&gt;
Zwischen &amp;quot;$asm&amp;quot; und &amp;quot;$end asm&amp;quot; kann man nun nach Herzenslust irgendwas Assemblermäßiges reinschreiben und mit dem Simulator rumprobieren. &lt;br /&gt;
&lt;br /&gt;
Auch &amp;quot;REGFILE&amp;quot; müßte man nicht hinschreiben, dann gilt eben das, was man in &amp;quot;OPTIONS/COMPILER/CHIP&amp;quot; eingestellt hat.&lt;br /&gt;
&lt;br /&gt;
==Der Zentral-Prozessor (CPU)==&lt;br /&gt;
Das ist der Kollege, dem man mit &amp;quot;Assembler-Instruktionen&amp;quot; davon überzeugen muß, irgendwas zu tun. Ohne den läuft garnix. Der hat als Hilfe einen &amp;quot;'''Befehlszähler'''&amp;quot; (PC), der immer auf den nächsten Befehl zeigt, der drankommt. Und dann hat er noch eine Reihe &amp;quot;'''Register'''&amp;quot;, das sind kleine Zwischenspeicher, mit denen er arbeiten kann. Die heissen einfach &amp;quot;R0&amp;quot;, &amp;quot;R1&amp;quot;,....&amp;quot;R31&amp;quot;, also 32 Stück, in jedes paßt genau ein Byte, und ein Byte, das wissen wir, besteht wiederum aus 8 Bits.&lt;br /&gt;
&lt;br /&gt;
===Registerverwendung===&lt;br /&gt;
An sich sind wir zwischen &amp;quot;$asm&amp;quot; und &amp;quot;$end asm&amp;quot; alleiniger Herrscher über den Mikrokontroller. Damit aber auch dem Bascom ein bißchen was zu Leben bleibt, sollten wir einige Register entweder in Ruhe lassen oder erst sichern und dann wieder herstellen. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 R4, R5         ' die beiden verwendet Bascom für temporäre Sachen. &lt;br /&gt;
 R6             ' da speichert er einige Schalter (Bits)&lt;br /&gt;
 R8, R9         ' verwendet es für  &amp;quot;READ&amp;quot; und &amp;quot;RESTORE&amp;quot; etc. &lt;br /&gt;
                ' haben wir sowas aber garnicht, ist es egal&lt;br /&gt;
 R28, R29       ' braucht Bascom aber nur, wenn wir Funktionen und Subs aufrufen. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den folgenden Beispielen brauchen wir uns aber darum nicht zu kümmern, es wird nix davon gebraucht. Ich wollt' es nur gesagt haben.&lt;br /&gt;
&lt;br /&gt;
===Daten-Transfer Operationen===&lt;br /&gt;
Bevor wir mit diesen Registern irgendetwas ausprobieren können, müssen wir erstmal gezielt bestimmte Werte reinschreiben können. Sowas heißt eben &amp;quot;Transfer&amp;quot;. Da wir ja erst am Anfang sind, reicht uns zum Beispiel:&lt;br /&gt;
 LDI   R24, 14&lt;br /&gt;
Damit wird in das Register R24 der Binärwert von &amp;quot;14&amp;quot; reingestellt, das sind die Bits &amp;quot;00001110&amp;quot;. Der maximale Wert, da es ja nur ein Byte ist, wäre &amp;quot;255&amp;quot;, also &amp;quot;11111111&amp;quot;. &lt;br /&gt;
Für den Befehl &amp;quot;LDI&amp;quot; können wir übrigens leider nur die Register R16 - R31 setzen, das ist so eine Einschränkung von wegen &amp;quot;RISC&amp;quot; Architektur.&lt;br /&gt;
 MOV   R3, R24&lt;br /&gt;
Deswegen auch der zweite Befehl &amp;quot;MOV&amp;quot;, damit wird im Beispiel der Inhalt von R24 in das Register R3 kopiert. Somit können wir mit maximal zwei Befehlen also jeder beliebige Register von R0 bis R31 mit beliebigen Werten laden. &lt;br /&gt;
Natürlich gibt es noch eine Menge mehr an Transferbefehlen, aber Listen von Assembler-Befehlen gibt es schon genug, da brauchen wir hier nicht auch noch eine.&lt;br /&gt;
&lt;br /&gt;
===Arithmetisch-Logische Operationen===&lt;br /&gt;
Laden wir mal zwei Register:&lt;br /&gt;
 LDI   R25, 17&lt;br /&gt;
 LDI   R24, 14&lt;br /&gt;
&lt;br /&gt;
Und jetzt die Grund-Befehle, Varianten später:&lt;br /&gt;
*Arithmetisch&lt;br /&gt;
 ADD   R25, R24       addieren      R25 + R24, Ergebnis nach R25&lt;br /&gt;
 !SUB   R25, R24       subtrahieren&lt;br /&gt;
*Logisch &lt;br /&gt;
 !AND   R25, R24       &amp;quot;UND&amp;quot;&lt;br /&gt;
 !OR    R25, R24       &amp;quot;ODER&amp;quot;&lt;br /&gt;
 EOR   R25, R24       &amp;quot;Exklusiv-ODER&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis steht immer in Operand-1&lt;br /&gt;
&lt;br /&gt;
===Gleich mal ausprobieren===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$asm&lt;br /&gt;
 LDI   R25, 17        ' Laden&lt;br /&gt;
 LDI   R24, 14        ' Laden&lt;br /&gt;
 ADD   R25, R24       'addieren  17 + 14, Ergebnis in R25&lt;br /&gt;
&lt;br /&gt;
 LDI   R25, 17        'Nachladen, da R25 durch &amp;quot;ADD&amp;quot; ja verändert wurde&lt;br /&gt;
 !SUB   R25, R24       'subtrahieren  17 - 14&lt;br /&gt;
&lt;br /&gt;
 LDI   R25, 17        ' Laden&lt;br /&gt;
 LDI   R24, 14        ' Laden&lt;br /&gt;
 !AND   R25, R24       ' Es kommt überall dort &amp;quot;1&amp;quot; raus, wo sowohl r25 als auch R24 eine 1 haben&lt;br /&gt;
 &lt;br /&gt;
 LDI   R25, 17        ' Laden&lt;br /&gt;
 LDI   R24, 14        ' Laden&lt;br /&gt;
 !OR    R25, R24       ' Es kommt überall dort &amp;quot;1&amp;quot; raus, wo r25 oder R24 eine 1 haben&lt;br /&gt;
                      '  (ODER BEIDE !)&lt;br /&gt;
&lt;br /&gt;
 LDI   R25, 17        ' Laden&lt;br /&gt;
 LDI   R24, 14        ' Laden&lt;br /&gt;
 EOR   R25, R24       ' Es kommt überall dort &amp;quot;1&amp;quot; raus, wo ENTWEDER  r25 oder R24 eine 1 haben&lt;br /&gt;
                      '  (ABER NICHT BEIDE !)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$end Asm&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Probieren ist das am besten mit dem Simulator. (Register-Fenster öffnen und Einzelschritte)&lt;br /&gt;
&lt;br /&gt;
===Ergebnis prüfen===&lt;br /&gt;
Normalerweise ist es ja nicht so, daß vor solchen Operationen die Rechenwerte direkt geladen werden, sondern die kommen ja von irgendwo aussen her. Und da muß man ja dann anders reagieren, je nachdem, ob die Werte gleich waren, ob r25 größer oder kleiner als r24 war, und so weiter. &lt;br /&gt;
&lt;br /&gt;
Da helfen die &amp;quot;Flags&amp;quot; im '''Status-Register''' (SREG). Das ist zwar auch ein normales Byte, nur haben die einzelnen Bits darin eine spezielle Bedeutung und geben eben nähere Auskunft über die gerade abgelaufenen Operation. Nur das Wichtigste:&lt;br /&gt;
*ZERO-Bit  Es wird automatisch gesetzt, wenn das Ergebnis genau NULL ergeben hat.  &lt;br /&gt;
*CARRY-Bit Es wird automatisch gesetzt, wenn es einen &amp;quot;Übertrag&amp;quot; gegeben hat&lt;br /&gt;
&lt;br /&gt;
Man kann diese (und noch andere) Flags sehen, wenn man im Simulator auf &amp;quot;µP&amp;quot; drückt. &lt;br /&gt;
 Z = ZERO&lt;br /&gt;
 C = CARRY&lt;br /&gt;
'''Beispiele:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LDI   R25, 17       &lt;br /&gt;
LDI   R24, 14       &lt;br /&gt;
!SUB   R25, R24       &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zero &amp;amp; Carry sind nicht gesetzt, denn das Ergebnis ist ungleich NULL, und &amp;quot;17&amp;quot; ist außerdem größer als &amp;quot;14&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LDI   R25, 17       &lt;br /&gt;
LDI   R24, 17       &lt;br /&gt;
!SUB   R25, R24       &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Jetzt ist Zero gesetzt, denn das Ergebnis ist gleich NULL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LDI   R25, 12       &lt;br /&gt;
LDI   R24, 44       &lt;br /&gt;
!SUB   R25, R24       &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Jetzt ist das Carry-Bit gesetzt, denn &amp;quot;12&amp;quot; ist ja kleiner als &amp;quot;44&amp;quot;, das Ergebnis ist also negativ, und ein &amp;quot;Übertrag&amp;quot; ist auch aufgetreten.&lt;br /&gt;
&lt;br /&gt;
===Vergleichen===&lt;br /&gt;
&amp;quot;Vergleichen&amp;quot; ist für die ALU (Recheneinheit) das Gleiche wie Subtrahieren (SUB), nur daß das eigentliche Rechenergebnis nirgends hingeschrieben wird und NUR DIE FLAGS gesetzt werden. &lt;br /&gt;
 CP  R25, R24       &lt;br /&gt;
&lt;br /&gt;
===Verzweigen===&lt;br /&gt;
Wir haben ja gesagt, es wird verglichen, damit der Rechner je nach Vergleichs- der Rechenergebnis was anderes tut. &amp;quot;Was anderes tun&amp;quot; heißt anderer Code, also muß der &amp;quot;Befehlszähler&amp;quot; einen anderen Wert bekommen, damit der Programmablauf dort fortgesetzt wird. Dazu gibt es natürlich die &amp;quot;unbedingten&amp;quot; Varianten&lt;br /&gt;
 JMP  Zieladresse  ' oder&lt;br /&gt;
 RJMP Zieladresse  ' das nimmt man, wenn das Ziel in der Nähe ist&lt;br /&gt;
Oder eben die &amp;quot;Verzweigung unter bestimmten Bedingungen&amp;quot; (conditional branch) &lt;br /&gt;
 BRxxx Zieladresse &lt;br /&gt;
Für &amp;quot;xxx&amp;quot; (Bedingung) gibt es nun eine ganze Reihe Möglichkeiten. Es gibt im Prinzip für jedes Bit im Status-Register (s.o) eine Abfrage &amp;quot;wenn gesetzt&amp;quot; und &amp;quot;wenn nicht gesetzt&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Die wohl wichtigsten sind die Möglichkeiten, die sich aus dem &amp;quot;ZERO&amp;quot;- und dem &amp;quot;CARRY&amp;quot;-Flag ergeben:&lt;br /&gt;
 BREQ Zieladresse   ' Verzweigen, wenn &amp;quot;GLEICH&amp;quot;  (equal)                      Zero  = 1&lt;br /&gt;
 BRNE Zieladresse   ' Verzweigen, wenn &amp;quot;NICHT GLEICH&amp;quot;  (not equal)            Zero  = 0&lt;br /&gt;
 BRLO Zieladresse   ' Verzweigen, wenn &amp;quot;KLEINER&amp;quot;  (lower)                     Carry = 1&lt;br /&gt;
 BRSH Zieladresse   ' Verzweigen, wenn &amp;quot;GLEICH ODER GRÖSSER&amp;quot; (same or higher) Carry = 0&lt;br /&gt;
Und, die Überraschung, ausgerechnet sowas Häufiges wie &lt;br /&gt;
 Verzweigen, wenn &amp;quot;GRÖSSER&amp;quot;&lt;br /&gt;
gibt's überhaupt nicht. Nun, dazu müßten ja eigentlich zwei Flags abgefragt werden. &amp;quot;Größer&amp;quot; heißt nämlich CARRY = 0 UND ZERO = 0. Und das ist in der &amp;quot;RISC&amp;quot; Welt nicht drin, da wird gespart.&lt;br /&gt;
&lt;br /&gt;
===Beispiel===&lt;br /&gt;
Lieber gleich ein Beispiel zum Ausprobieren und Festigen, das war ja doch etwas gebündelt. Aber davor gleich noch eins drauf: Eine &amp;quot;Zieladresse&amp;quot; ist der (im ganzen Programm) eindeutige Name eines Befehls (ein &amp;quot;Label&amp;quot;), der in der Zeile ganz links beginnt und mit Doppelpunkt abgeschlossen wird&lt;br /&gt;
&lt;br /&gt;
====Flußdiagramm====&lt;br /&gt;
*Theoretisch sieht das ja so aus:&lt;br /&gt;
[[Bild:Compare1.png]]&lt;br /&gt;
&lt;br /&gt;
*Da es aber keiner Programmierspache möglich ist, alternativen Code nebeneinander zu schreiben, muß dieser Teil auf &amp;quot;Spaghetti&amp;quot;-Code umstrukturiert werden. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Hochsprachen&amp;quot; machen das versteckt im Maschinencode, beim Assembler müssen wir selbst machen. Und natürlich auch &amp;quot;GOTO&amp;quot; (=JMP) verwenden, ein sonst in allen Büchern als &amp;quot;no, no&amp;quot; (=pfui) beschriebener Befehl.  &lt;br /&gt;
====Die Praxis====&lt;br /&gt;
&lt;br /&gt;
[[Bild:Compare2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Programm_Beginn:                            ' das ist zum Beispiel gleich ein &amp;quot;Label&amp;quot;&lt;br /&gt;
          LDI         R25, 12       ' R25 = 12&lt;br /&gt;
          LDI         R24, 44       ' R24 = 44&lt;br /&gt;
'--------------------------------------&lt;br /&gt;
'  nun der Vergleich   &lt;br /&gt;
'--------------------------------------&lt;br /&gt;
          CP          R25, R24       &lt;br /&gt;
          BREQ        Label_1    ' Verzweigen nach &amp;quot;Ziel&amp;quot;, wenn R25 = R24&lt;br /&gt;
&lt;br /&gt;
          LDI         R16, 1      ' das machen wir (zum Beispiel), wenn R25 NICHT= r24 ist &lt;br /&gt;
          RJMP        Label_2    'wir müssen unbedingt springen, sonst laufen wir ja &lt;br /&gt;
                                         ' in den Zweig &amp;quot;ist_gleich&amp;quot;  rein&lt;br /&gt;
Label_1:&lt;br /&gt;
          LDI         R16, 0      ' das machen wir (zum Beispiel), wenn R25 = r24 ist &lt;br /&gt;
&lt;br /&gt;
'----------------------------     ' da treffen wir uns wieder&lt;br /&gt;
Label_2:            &lt;br /&gt;
         da geht er wieder gemeinsam weiter &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ich kann nur dringend empfehlen, sich mit diesem Beispiel zu beschäftigen und auch mit anderen Werten rumzuprobieren, das &amp;quot;bedingte Verzweigen&amp;quot; in allen Varianten ist das A und O der Programmiererei, beim Assembler eben auch ein bißchen verschärft.&lt;br /&gt;
&lt;br /&gt;
====Eine Alternative: Bedingtes &amp;quot;Skip&amp;quot;====&lt;br /&gt;
Was der AVR noch anbietet, ist eine Reihe von &amp;quot;SKIP IF&amp;quot; Befehlen. Für unseren Registervergleich gibt es aber nur den &lt;br /&gt;
 CPSE Register, Register &lt;br /&gt;
Befehl. Er bedeutet:&lt;br /&gt;
 &amp;quot;Vergleiche die Register, und wenn die Inhalte gleich sind, überspringe den nächsten Befehl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Das wird uns das Herumspringen und das Verwenden von Labeln erspart. Allerdings kann immer nur EIN Befehl übersprungen werden&lt;br /&gt;
&lt;br /&gt;
[[Bild:skip.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
eine Besonderheit hat der Befehl noch: Da er ja Vergleich und Bedingungsabfrage in Einem ist, werden auch keine Flags im Statusregister (SREG) verändert. Das ist praktisch, wenn man diese Flags durch eine andere Operation vorher gesetzt hat, und sie über diesen Vergleichs + Sprung - Befehl  darüber-retten will. Das ist aber im Moment schon etwas fortgeschritten.&lt;br /&gt;
&lt;br /&gt;
==Kurze Zusammenfassung==&lt;br /&gt;
*Wir können also beliebige Register mit beliebigen Werten laden, &lt;br /&gt;
*Wir können mit diesen Werten rechnen oder sie vergleichen&lt;br /&gt;
*Und je nach Vergleichs- oder Rechenergebnis unterschiedlichen Code durchlaufen. &lt;br /&gt;
&lt;br /&gt;
*Man könnte aber auch ein paar Lehren daraus ziehen: &lt;br /&gt;
**die Register R16 - R31 braucht man unter Umständen für Zwischenschritte, um Werte in die Register R0 - R15 laden zu können. Man sollte also diese Register nicht zu schnell fest belegen und vollräumen, damit man dafür noch Spielraum behält.&lt;br /&gt;
**Auch doch recht simple IF .. ELSE Konstrukte können ein gewisses vorher überlegtes Konzept brauchen, sonst verliert man schnell den Überblick. Ein Blatt Papier und ein Bleistift sind also recht hilfreich. Assembler schreibt man nicht einfach in den Bildschirm rein.&lt;br /&gt;
&lt;br /&gt;
==Schleifen==&lt;br /&gt;
Eigentlich ist das ja nichts speziell Assembler-spezifisches, aber was soll's. &lt;br /&gt;
===Flußdiagramme===&lt;br /&gt;
Es gibt zwei Grundmuster für Schleifen (Befehlswiederholungen).&lt;br /&gt;
&lt;br /&gt;
*WHILE  &amp;quot;solange ''Bedingung'' erfüllt ist, mache was&amp;quot;&lt;br /&gt;
[[Bild:While.png]]&lt;br /&gt;
&lt;br /&gt;
*DO...LOOP WHILE  &amp;quot;mache was, solange ''Bedingung'' erfüllt ist&amp;quot;&lt;br /&gt;
[[Bild:DoWhile.png]]&lt;br /&gt;
&lt;br /&gt;
Der Unterschied ist wichtig: Bei &amp;quot;WHILE&amp;quot; wird nur was gemacht, wenn die Bedingung schon zutrifft, Bei &amp;quot;DO..WHILE&amp;quot; werden die Befehle auf jeden Fall wenigstens einmal ausgeführt, erst dann wird gecheckt, ob wiederholt werden soll.&lt;br /&gt;
&lt;br /&gt;
===Praxis===&lt;br /&gt;
Theoretisch sieht das ja gut aus, und mit Hochsprachen kann man das auch meist so formulieren. Beim Assembler geht das aber nur so schön übersichtlich, wenn man nur eine einzelne Bedingung hat. Eine einfache Zähl-Schleife in der &amp;quot;WHILE&amp;quot; Version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$asm&lt;br /&gt;
   LDI   r25, 0         ' R25 = 0&lt;br /&gt;
   LDI   r24, 1         ' R24 = 1&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12           ' Der Befehl ist neu: vergleiche R25 mit dem festen Wert &amp;quot;12&amp;quot; &lt;br /&gt;
   BREQ  SchleifenAusgang  ' Wenn R25 = 12, verlassen wir die Schleife&lt;br /&gt;
   ADD   R25, R24          ' auf R25 den Wert von R24 draufaddieren &lt;br /&gt;
   RJMP  SchleifenBeginn   ' und wieder rauf zur Prüfung&lt;br /&gt;
SchleifenAusgang:&lt;br /&gt;
   ...&lt;br /&gt;
$end Asm&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Was geschieht, ist klar: R25 beginnt mit Null. Wenn der R25 NICHT= &amp;quot;12&amp;quot;, addieren wir &amp;quot;1&amp;quot; auf R25 und wiederholen das Ganze. Wenn R25 = &amp;quot;12&amp;quot;, verlassen wir die Schleife. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nehmen wir aber an, wir hätten zwei Bedingungen (es geht hier nicht um Sinn oder Unsinn der Abfrage):&lt;br /&gt;
*WHILE R25 NICHT= &amp;quot;12  UND R24 = &amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12           ' Der Befehl ist neu: vergleiche R25 mit dem festen Wert &amp;quot;12&amp;quot; &lt;br /&gt;
   BREQ  SchleifenAusgang  ' Wenn R25 = 12, verlassen wir die Schleife&lt;br /&gt;
   CPI   R24, 1            ' s.o&lt;br /&gt;
   BRNE  SchleifenAusgang  ' Wenn R24 NICHT= 1, verlassen wir die Schleife&lt;br /&gt;
   ADD   R25, R24          ' auf R25 den Wert von R24 draufaddieren &lt;br /&gt;
   RJMP  SchleifenBeginn   ' und wieder rauf zur Prüfung&lt;br /&gt;
SchleifenAusgang:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*WHILE R25 NICHT= &amp;quot;12  ODER R24 &amp;lt; R25&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 &lt;br /&gt;
SchleifenBody:&lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  SchleifenBody&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn wir da nicht im Kommentar dazuschreiben, worum es geht, kennt sich ein Fremder erst nach einiger Überlegung aus.&lt;br /&gt;
&lt;br /&gt;
===Tips===&lt;br /&gt;
Mehrere Bedingungen in eine UND-ODER Beziehung sind immer fehleranfällig und leicht unübersichtlich&lt;br /&gt;
&lt;br /&gt;
*Als Erstes immer die RICHTIGE (und am besten verständliche) Lösung suchen, und erst dann durch Umformungen die &amp;quot;SCHÖNE&amp;quot; Lösung. &lt;br /&gt;
&lt;br /&gt;
*Also nochmal das obige &amp;quot;ODER&amp;quot; Beispiel, erst in der vollen Grundform&lt;br /&gt;
&lt;br /&gt;
 WHILE  ( R25 NICHT= &amp;quot;12 ) ODER  ( R24 &amp;lt; R25 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12           ' R25 &amp;lt;=&amp;gt; 12&lt;br /&gt;
   BREQ  R25_ist_12&lt;br /&gt;
   JMP   R25_ist_nicht_12&lt;br /&gt;
&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   ADD   R25, R24          ' der &amp;quot;BODY&amp;quot; steht ja fest &lt;br /&gt;
   RJMP  SchleifenBeginn   ' das ist auch sicher&lt;br /&gt;
&lt;br /&gt;
SchleifenAusgang:          ' ausgang gibt es (eigentlich) immer&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das fehlt was ? Ja, denn jetzt erst sollten wir die Ziele auch hinschreiben&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Wir machen den &amp;quot;body&amp;quot; immer, wenn   r25 nicht gleich 12&lt;br /&gt;
&lt;br /&gt;
also schreiben wir das hin&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12           ' &lt;br /&gt;
   BREQ  R25_ist_12&lt;br /&gt;
   JMP   R25_ist_nicht_12  ' abgehakt&lt;br /&gt;
&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25&lt;br /&gt;
&lt;br /&gt;
R25_ist_nicht_12:          ' &lt;br /&gt;
   ADD   R25, R24          ' &lt;br /&gt;
   RJMP  SchleifenBeginn   ' &lt;br /&gt;
&lt;br /&gt;
SchleifenAusgang:          ' &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Wir machen den &amp;quot;body&amp;quot; immer, wenn   r24 kleiner als r25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12&lt;br /&gt;
   JMP   R25_ist_nicht_12           ' abgehakt&lt;br /&gt;
&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        ' abgehakt&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25  ' &lt;br /&gt;
&lt;br /&gt;
r24_ist_kleiner_r25:&lt;br /&gt;
R25_ist_nicht_12:           &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn    &lt;br /&gt;
&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anmerkung: wir können an der selben Stelle beliebig viele Label vergeben&lt;br /&gt;
&lt;br /&gt;
3. Was ist, wenn r25 = 12 ?  dann müssen wir die zweite Bedingung prüfen (ist ja ein ODER) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 ' abgehakt&lt;br /&gt;
   JMP   R25_ist_nicht_12           ' abgehakt&lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        ' abgehakt&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25  ' &lt;br /&gt;
&lt;br /&gt;
r24_ist_kleiner_r25:&lt;br /&gt;
R25_ist_nicht_12:           &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn    &lt;br /&gt;
&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
4. Bleibt nurmehr &amp;quot;r24 ist nicht kleiner r25&amp;quot;.  Da geht's offenbar dann hin, wenn KEINE der Bedingungen erfüllt ist, also: raus aus der Schleife&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 ' abgehakt &lt;br /&gt;
   JMP   R25_ist_nicht_12           ' abgehakt &lt;br /&gt;
&lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        ' abgehakt&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25  ' abgehakt&lt;br /&gt;
&lt;br /&gt;
r24_ist_kleiner_r25:&lt;br /&gt;
R25_ist_nicht_12:           &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
  &lt;br /&gt;
r24_ist_nicht_kleiner_r25:&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt ist das Ganze zwar nicht elegant, aber richtig und leicht nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
Wenn der Sprungbefehl und das Ziel unmittelbar hintereinander stehen, können wir uns den Sprung sparen. Also bauen wir etwas um, damit das auch so ist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 '&lt;br /&gt;
   JMP   R25_ist_nicht_12           ' steht jetzt direkt dahinter&lt;br /&gt;
&lt;br /&gt;
r24_ist_kleiner_r25:                'den ganzen Block raufgeschoben &lt;br /&gt;
R25_ist_nicht_12:           &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
&lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        '&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25  ' steht jetzt direkt dahinter&lt;br /&gt;
 &lt;br /&gt;
r24_ist_nicht_kleiner_r25:&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und kürzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 &lt;br /&gt;
r24_ist_kleiner_r25:      &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        &lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ob das nun ein &amp;quot;WHILE&amp;quot; oder ein &amp;quot;DO..WHILE&amp;quot;  wird, hängt nurmehr davon ab, wo wir zu Beginn in die Befehlsfolge reinspringen. &lt;br /&gt;
*Von oben weg, wie es dort steht, ist es eine &amp;quot;WHILE&amp;quot; Schleife&lt;br /&gt;
*Eine &amp;quot;DO..WHILE&amp;quot; Schleife (Bedingung am Ende prüfen) wird es, wenn wir zuerst mit dem &amp;quot;Body&amp;quot; beginnen. Also &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   JMP   r24_ist_kleiner_r25     ' Erst die Aktion, DANN die Bedingung prüfen &lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 &lt;br /&gt;
r24_ist_kleiner_r25:      &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        &lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist doch praktisch ? &lt;br /&gt;
&lt;br /&gt;
Assembler-mäßig ist das nun ok und erträglich. Aber mit dem theoretischen WHILE-Flußdiagramm hat das nun nicht mehr viel gemeinsam.&lt;br /&gt;
&lt;br /&gt;
==Weg vom Simulator auf den µC==&lt;br /&gt;
Jetzt wird's Zeit, die ersten Schritte in die AVR-Realität zu machen, immer Simulator ist ja langweilig, fast so, als würden wir im Trockenen schwimmen lernen müssen. &lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir vom Bascom ja nur die äussere Programmhülle verwendet, jetzt soll er doch auch wirklich was tun. &lt;br /&gt;
&lt;br /&gt;
===Datenaustausch mit BasCom===&lt;br /&gt;
Das funktioniert über Datenfelder, die wir irgendwie definieren müssen. Weil's so einfach ist, lassen wir das erstmal Bascom übernehmen. Das ist kein Rückschritt auf dem Weg zum Assemblerprogrammierer, denn das Definieren von Daten ist ja nichts anderes, als Felderen im SRAM (also im eigentlichen Arbeitsspeicher) Namen zuzuweisen. Über den Namen kann man diese Felder dann auch im Assembler ansprechen. &lt;br /&gt;
&lt;br /&gt;
*'''Bascom--&amp;gt;Assembler'''&lt;br /&gt;
Damit Bascom ein Feld für uns definiert, sagen wir einfach (aber außerhalb der &amp;quot;$asm&amp;quot; / &amp;quot;$end asm&amp;quot; Bereiches) &lt;br /&gt;
 DIM Meinfeld AS BYTE &lt;br /&gt;
Im Bascom, das weiß der Leser vielleicht ja schon, kann man da Werte reinschreiben, so wie wir das mit dem &amp;quot;LDI&amp;quot; Befehl bei Registern gemacht haben&lt;br /&gt;
  Meinfeld = 85 &lt;br /&gt;
Jetzt steht an irgendeiner Speicherstelle (egal wo, wir sprechen es eh' nur über den Namen an) der Binärwert von 85  (Hexadezimal &amp;amp;H55 oder in Bits &amp;amp;B01010101).&lt;br /&gt;
Dieses Feld können wir aber nun auch mit dem Assembler lesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte           ' definition&lt;br /&gt;
&lt;br /&gt;
   Meinfeld = 85               'Wertzuweisung&lt;br /&gt;
&lt;br /&gt;
   $asm&lt;br /&gt;
   lds   r24, {Meinfeld}        '(das sind zwei geschwungene Klammern)&lt;br /&gt;
                                ' das ist wieder ein neuer Befehl: &amp;quot;LDS&amp;quot;&lt;br /&gt;
   $end Asm&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LDS&amp;quot; lädt in ein beliebiges Register den Wert von der Speicherstelle, die &amp;quot;Meinfeld&amp;quot; heißt. &lt;br /&gt;
&lt;br /&gt;
*'''Assembler--&amp;gt;Bascom'''&lt;br /&gt;
Das geht auch umgekehrt. Wenn wir den Bascomteil noch etwas vervollständigen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000               ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                     ' die Baudrate für das Terminal&lt;br /&gt;
                                 ' dadurch macht Bascom alle Einstellungen, die wir für das &lt;br /&gt;
                                 ' Terminal brauchen&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte      ' definition&lt;br /&gt;
&lt;br /&gt;
   $asm&lt;br /&gt;
   LDI   R24, 85&lt;br /&gt;
   STS   {Meinfeld}, R24  ' &amp;quot;STS&amp;quot; ist das Gegenstück zu &amp;quot;LDS&amp;quot;, also vom Register zum Speicher&lt;br /&gt;
   $end Asm&lt;br /&gt;
&lt;br /&gt;
   PRINT  str(Meinfeld)   ' Und schon gibt uns Bascom den Wert (dezimal) auf dem Terminal aus&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Das ist der Vorteil den wir haben, wenn wir Assembler mit Bascom anfangen und nicht mit einem &amp;quot;richtigen&amp;quot; Assembler wie das AVR-Studio. Denn das Gefummel mit der Terminalausgabe erledigt alles Bascom, sonst müßten wir es selbst erst wo abschreiben oder lernen, bis wir auch nur einen Pieps auf dem Terminal sehen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Wenn es interessiert: Das, was wir zuletzt im Assembler geschrieben haben, ist auch genau das, was Bascom an Maschinencode produziert, wenn wir &lt;br /&gt;
 Meinfeld = 85&lt;br /&gt;
hinschreiben&lt;br /&gt;
&lt;br /&gt;
*'''Bascom--&amp;gt;Assembler--&amp;gt;Bascom'''&lt;br /&gt;
Noch immer können wir nur mit fest einprogrammierten Werten arbeiten, d.h. für was anderes als &amp;quot;85&amp;quot; müssen wir ändern, übersetzen und brennen.&lt;br /&gt;
&lt;br /&gt;
Wir wollen nun versuchen, etwas über das Terminal einzugeben, bearbeiten und dann wieder ausgeben. &lt;br /&gt;
&lt;br /&gt;
'''Flußdiagramm'''&lt;br /&gt;
&lt;br /&gt;
[[Bild:InOut.png]]&lt;br /&gt;
&lt;br /&gt;
Den Input lassen wir Bascom übernehmen. INKEY() holt einen Wert von der Tastatur. Er wartet aber nicht, bis was gedrückt wird, sondern gibt einfach NULL aus, wenn nix da ist. &lt;br /&gt;
Wir arbeiten also nur etwas, wenn ein Wert &amp;gt; NULL da ist. &lt;br /&gt;
&lt;br /&gt;
*Zuerst übernehmen wir nur den Part &amp;quot;Bearbeitung&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000               ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                     ' die Baudrate für das Terminal&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte             &lt;br /&gt;
DO&lt;br /&gt;
   Meinfeld = INKEY()            '&amp;quot;EINGABE&amp;quot;&lt;br /&gt;
   IF Meinfeld &amp;lt;&amp;gt; 0 THEN         '&amp;quot;BEDINGUNG&amp;quot;&lt;br /&gt;
       $asm                      '&amp;quot;BEARBEITUNG&amp;quot;&lt;br /&gt;
       lds   r24, {Meinfeld}&lt;br /&gt;
       '-------- Da kommt dann Code rein&lt;br /&gt;
       STS   {Meinfeld}, R24  &lt;br /&gt;
       $end Asm&lt;br /&gt;
       PRINT  str(Meinfeld)      '&amp;quot;AUSGABE&amp;quot;&lt;br /&gt;
   END IF&lt;br /&gt;
&lt;br /&gt;
   LOOP                          'Wiederholung&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, wie das Beispiel jetzt ist, ändern wir aber nichts wirklich, sondern schauen mal, was passiert.&lt;br /&gt;
&lt;br /&gt;
Und es passiert Merkwürdiges:&lt;br /&gt;
&lt;br /&gt;
Wenn wir das laufen lassen und in vielleicht gewohnter Manier &amp;quot;85&amp;quot; tippen und &amp;lt;ENTER&amp;gt; drücken, erscheint auf dem Terminal &lt;br /&gt;
 56&lt;br /&gt;
 53&lt;br /&gt;
 13&lt;br /&gt;
Einerseits ist es ja klar, wenn wir drei Tasten drücken, kriegen wir auch dreimal was zurück, aber wie bekommen wir dann in EIN Byte EINE Zahl &amp;quot;85&amp;quot; ? &lt;br /&gt;
&lt;br /&gt;
Also ein kurzer Side-Step.&lt;br /&gt;
&lt;br /&gt;
==Das Byte und seine vielen Bedeutungen==&lt;br /&gt;
&lt;br /&gt;
Nach wie vor ist klar: Ein Byte besteht aus 8 Bit, die in 256 Möglichkeiten kombiniert werden können. &lt;br /&gt;
&lt;br /&gt;
Das sagt aber nicht aus, was irgendeine dieser Bit-Kombinationen eigentlich '''bedeutet'''.&lt;br /&gt;
&lt;br /&gt;
*Das Byte als Bit-Container&lt;br /&gt;
Da hat jedes Bit seine eigene Bedeutung, unabhängig von den anderen. Also einfach &amp;quot;Schalter&amp;quot; und/oder JA-Nein Anzeigen. &lt;br /&gt;
&lt;br /&gt;
Typisch: '''Status-Register (SREG)'''.&lt;br /&gt;
&lt;br /&gt;
*Das Byte als (binär) Zahl. Hier repräsentieren die 256 Möglichkeiten wirklich die Zahlen von 0-255. Mit diesen Zahlen kann nach den binären Regeln gerechnet werden. &lt;br /&gt;
*Das Byte als zwei '''BCD'''Zahlen. Da besteht das Byte eigentlich aus zweimal 4 Bit (&amp;quot;Nibbles&amp;quot;). Jedes Nibble stellt die Zahlen 0 - 9 dar. Ist inzwischen eine recht exotische Verwendung, überhaupt als &amp;quot;gepacktes&amp;quot; Format, wo in einem Nibble auch noch ein Vorzeichen reinkodiert wurde. &lt;br /&gt;
*Das Byte als (binär) Zahl mit Vorzeichen. Das ist eine Kombination von Zahl und Schalter. Das Bit 2^^7 zeigt das Vorzeichen an. Solange es NULL ist, können die restlichen 7 Bit für Zahlen von (+) 0 - 127 normal verwendet werden. Ist das Vorzeichenbit = &amp;quot;1&amp;quot;, gelten die anderen Bit als Negativ-Zahl. Und sie werden als 2- Komplement dargestellt, d.h. 11111111 = -1. Dadurch geht das Bereich von -128 (10000000) bis +127 (01111111).&lt;br /&gt;
*Das Byte als Zahl, die Zahl ist aber ein Tabellenwert in einer standardisierten Tabelle.  &lt;br /&gt;
Typisch: '''ASCII und seine Varianten'''. Was heißt das ? Nun, gespeichert und hin-und hergeschickt wird zum Beispiel 01000001, das bedeutet aber nicht &amp;amp;H41 oder dezimal 65, sondern das, was in der ASCII-Tabelle an der Stelle 65 steht, und das ist ein großes &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ich werd' mich hüten, hier eine ASCII-Tablle reinzustellen, die gibt es im Internet in Massen. Festgelegt sind die Werte 0 - 127. Wichtig ist nur die Gruppierung:&lt;br /&gt;
*0-31 sind &amp;quot;Steuerzeichen&amp;quot; für die Kommunikation. (&amp;quot;13&amp;quot; stellt das berühmte &amp;lt;ENTER&amp;gt; dar)&lt;br /&gt;
*32 bezeichnet eine Leerstelle (&amp;quot;blank&amp;quot;)&lt;br /&gt;
*48 - 57  für die Ziffern 0 - 9&lt;br /&gt;
*65 - 90  Großbuchstaben &amp;quot;A&amp;quot; bis &amp;quot;Z&amp;quot;&lt;br /&gt;
*97 - 122 Kleinbuchstaben &amp;quot;a&amp;quot; bis &amp;quot;z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Numerischer Input vom Terminal==&lt;br /&gt;
Nachdem sich offenbar unterscheidet, was wir direkt vom Terminal bekommen und was wir davon brauchen können, brauchen wir ein zweites Datenfeld. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000               ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                     ' die Baudrate für das Terminal&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte             ' das bekommen wir vom Terminal&lt;br /&gt;
Dim Meinezahl As Byte            ' das soll die eigentliche Zahl werden&lt;br /&gt;
&lt;br /&gt;
DO&lt;br /&gt;
   Meinfeld = INKEY()            '&amp;quot;EINGABE&amp;quot;&lt;br /&gt;
   IF Meinfeld &amp;lt;&amp;gt; 0 THEN         '&amp;quot;BEDINGUNG&amp;quot;&lt;br /&gt;
       $asm                      '&amp;quot;BEARBEITUNG&amp;quot;&lt;br /&gt;
       '....   CODE .... (s.u.)&lt;br /&gt;
       $end Asm&lt;br /&gt;
       PRINT  str(Meinezahl)     'die zeigt er nach jeder Taste an&lt;br /&gt;
   END IF&lt;br /&gt;
   LOOP                          'Wiederholung&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Soweit das Gerüst bzw. der Rahmen. In &amp;quot;Meinfeld&amp;quot; stellt der Bascom rein, was getippt wurde und wir müssen das verarbeiten und stellen das jeweilige Ergebnis nach &amp;quot;Meinezahl&amp;quot; rein. &lt;br /&gt;
&lt;br /&gt;
Was ist zu tun ? &lt;br /&gt;
*Prüfen, was getippt wurde.&lt;br /&gt;
*davon abhängig &lt;br /&gt;
**Meinfeld=13 (&amp;lt;ENTER&amp;gt;). Die bisher bekommene Zahl ist komplett, jetzt könnten wir mit ihr irgendetwas rechnen oder sonstwas tun. &lt;br /&gt;
**Meinfeld= 48-57 ('0'-'9'). &lt;br /&gt;
***Das, was bisher in &amp;quot;Meinezahl&amp;quot; steht, multiplizieren wir mit 10, an der Einerstelle steht nun auf jeden Fall einen NULL, die bisherigen Zahlen links davon.&lt;br /&gt;
***Und dann müssen wir das, was reingekommen ist, auf binär 0-9 umwandeln und draufaddieren. &lt;br /&gt;
**Alles Andere ignorieren wir einfach.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000                                          ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                                                ' die Baudrate für das Terminal&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte&lt;br /&gt;
Dim Meinezahl As Byte&lt;br /&gt;
Do&lt;br /&gt;
   Meinfeld = Inkey()                                       '&amp;quot;EINGABE&amp;quot;&lt;br /&gt;
   If Meinfeld &amp;lt;&amp;gt; 0 Then                                    '&amp;quot;BEDINGUNG&amp;quot;&lt;br /&gt;
       $asm                                                 '&amp;quot;BEARBEITUNG&amp;quot;&lt;br /&gt;
       lds     r22, {Meinezahl}                             'die bisherige Zahl&lt;br /&gt;
       lds     r24, {Meinfeld}                              'die neue Ziffer&lt;br /&gt;
       cpi     r24, 13                                      '&amp;lt;ENTER&amp;gt; ?&lt;br /&gt;
       brne    Is_numerisch&lt;br /&gt;
       ' ENTER Gedrückt&lt;br /&gt;
       ' Zahl verarbeiten&lt;br /&gt;
       ' dann löschen für ein Neues&lt;br /&gt;
       clr   r22&lt;br /&gt;
       rjmp    Fertig&lt;br /&gt;
Is_numerisch:&lt;br /&gt;
       cpi     r24, 48                                      '48 = '0'&lt;br /&gt;
       brlo    Fertig                                       'keine Ziffer--&amp;gt;ignorieren&lt;br /&gt;
       cpi     r24, 57 + 1                                  '57 = '9'&lt;br /&gt;
       brsh    Fertig                                       'keine Ziffer--&amp;gt;ignorieren&lt;br /&gt;
Einfügen:&lt;br /&gt;
' Bisherige Zahl * 10   Methode:  n * 10 =&amp;gt; n (8 + 2) =&amp;gt; n * 8 + n * 2&lt;br /&gt;
       lsl     r22                                          ' (n * 2)&lt;br /&gt;
       mov     r23, r22                                     ' kopieren&lt;br /&gt;
       lsl     r23                                          ' (n * 2) * 2&lt;br /&gt;
       lsl     r23                                          ' (n * 2 * 2) * 2&lt;br /&gt;
       add     r22, r23                                     'n * 8 + n * 2&lt;br /&gt;
' neue Ziffer umwandeln&lt;br /&gt;
       andi    r24, 15&lt;br /&gt;
' und addieren&lt;br /&gt;
       add     r22, r24&lt;br /&gt;
Fertig:&lt;br /&gt;
       STS   {Meinezahl}, R22&lt;br /&gt;
       $end Asm&lt;br /&gt;
       Print Str(meinezahl)                                 '&amp;quot;AUSGABE&amp;quot;&lt;br /&gt;
   End If&lt;br /&gt;
   Loop                                                     'Wiederholung&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Da sind ein paar Sachen dabei, die hatten wir noch nicht&lt;br /&gt;
&lt;br /&gt;
*Ich beginne mal von hinten: Bei &amp;quot;Fertig&amp;quot; wird das Register R22 nach &amp;quot;Meinezahl&amp;quot; geschrieben, Bascom zeigt es dann her. Wir müssen also sehen, das in R22 immer das Richtige drin steht.&lt;br /&gt;
*Also, jetzt wieder von vorn, wir holen den bisherigen Wert von &amp;quot;Meinezahl&amp;quot; gleich mal ins R22.&lt;br /&gt;
(Das ist am Anfang einfach NULL)&lt;br /&gt;
*Dann die neue Eingabe in R24&lt;br /&gt;
*Die vergleichen wir mir &amp;quot;13&amp;quot; == &amp;lt;ENTER&amp;gt;&lt;br /&gt;
**ist es eine andere Eingabe (BRNE), schauen wir bei &amp;quot;Is_numerisch&amp;quot; weiter&lt;br /&gt;
**Wenn aber ja, könnten wir jetzt was tun. Wir machen aber weiter nichts, löschen aber R22 und damit &amp;quot;Meinezahl&amp;quot; (s.o) auf NULL, damit wir für eine neue Eingabe bereit sind.&lt;br /&gt;
*Is_numerisch: &lt;br /&gt;
**Die Eingabe ist kleiner als 48 ('0'), keine Ziffer, wir sind auch schon fertig&lt;br /&gt;
**Jetzt müßten wir vergleichen, ob die Eingabe größer als 57 ('9') ist. Das geht nicht [[Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User#Verzweigen|(siehe weiter oben bei den Verzweigungen)]], also vergleichen wir mit 57+1, bei gleich oder größer ist die Eingabe auch keine Ziffer, also --&amp;gt; fertig.&lt;br /&gt;
*Einfügen: &lt;br /&gt;
**Bisheriger Wert * 10: Bei manchen µC gibt es einen Multiplikationsbefehl, aber diese einfache Rechnung machen wir zu Fuß, ist einfach mehr Spaß und mehr neue Befehle. &lt;br /&gt;
&lt;br /&gt;
n * 10 kann man ja zerlegen in n*(8+2). Und sowohl 8 als auch 2 sind ja 2-er Potenzen, da kann einfach Bit-weise nach links schieben.&lt;br /&gt;
 &amp;quot;LSL  R22&amp;quot;  ist gleich  R22 * 2   &amp;quot;LSL  Logical Shift Left&amp;quot;&lt;br /&gt;
damit haben wir schon mal Meinezahl * 2 gerechnet. Das kopieren wir nach R23 und schieben dort noch zweimal nach links. In R23 steht nun also insgesamt Meinezahl * 8. Das addieren wir nun.  &lt;br /&gt;
*Umwandeln: Die Ziffern '0'-'9', also 48 - 57 schauen hexadezimal ja so aus:&lt;br /&gt;
 0x30 = dezimal 48 = ASCII '0' bis &lt;br /&gt;
 0x39 = dezimal 57 = ASCII '9'&lt;br /&gt;
Wir brauchen also nur die '3' irgendwie zu löschen, dann haben wir sofort unsere 0-9. Das geschieht durch &lt;br /&gt;
 ANDI     R24, 15          ' &amp;quot;AND&amp;quot; mit einer Konstanten &lt;br /&gt;
In R24 bleiben nur die 1-er übrig, wo auch in '15' ein 1-er ist. Damit ist die '3' weg.&lt;br /&gt;
*Addieren&lt;br /&gt;
 ADD  R22, r24           'Meinezahl + neuerWert&lt;br /&gt;
und fertig. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Anmerkung: Wir haben noch keine Prüfung, ob die Zahl für ein Byte nicht zu groß wird. Wenn wir also 9999 eintippen, kommt Schrott heraus.&lt;br /&gt;
&lt;br /&gt;
==Mehr als ein Byte==&lt;br /&gt;
Mit einzelnen Bytes geht es ja jetzt schon recht gut. Aber es gibt ja auch größere Zahlen. &lt;br /&gt;
===16 Bit Zahlen===&lt;br /&gt;
Das nächstgrößere ist eine 16-Bit Zahl. Bei Bascom ist das dann ein &lt;br /&gt;
*WORD   für den Zahlenbereich 0 - 65535 und &lt;br /&gt;
*INTEGER für -32768 bis +32767&lt;br /&gt;
&lt;br /&gt;
Beides wird in zwei hintereinanderliegenden Bytes gespeichert, also  &lt;br /&gt;
 MeinByte und &lt;br /&gt;
 MeinByte + 1&lt;br /&gt;
Und zwar so, daß erst das niederwertigere und dann das höherwertige Byte gespeichert werden. &lt;br /&gt;
Also die 16-Bit Binärzahl  &lt;br /&gt;
 0001001000110100 = Hexadezimal &amp;amp;H1234 &lt;br /&gt;
steht im Speicher in zwei Bytes als&lt;br /&gt;
 00110100 00010010 =  &amp;amp;H34 &amp;amp;H12&lt;br /&gt;
&lt;br /&gt;
Genauso ist es mit den Registern, üblicherweise steht das erste Byte in einem geradzahligen Register und das zweite im nächsthöherem. z.B.:&lt;br /&gt;
 R24: 00110100 =  &amp;amp;H34&lt;br /&gt;
 R25: 00010010 =  &amp;amp;H12&lt;br /&gt;
Sowas nennt man dann &amp;quot;Register-Paar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Der AVR µC kann einige seiner 32 Register als Registerpaar verwenden. Das sind &lt;br /&gt;
 R0:R1       (aber nur bei den Multiplikationsbefehlen für das Ergebnis)&lt;br /&gt;
 R24:R25     (für 16-Bit Berechnungen)&lt;br /&gt;
 R26:R27     (für 16-Bit Berechnungen und als &amp;quot;Pointer&amp;quot; X)&lt;br /&gt;
 R28:R29     (für 16-Bit Berechnungen und als &amp;quot;Pointer&amp;quot; Y)&lt;br /&gt;
 R30:R31     (für 16-Bit Berechnungen und als &amp;quot;Pointer&amp;quot; Z)&lt;br /&gt;
Wobei es aber nur zwei solche Berechnungen gibt&lt;br /&gt;
 ADIW     R24 , zahl       ' addieren zahl auf r24:r25&lt;br /&gt;
 SBIW     R24 , zahl       ' subtrahieren zahl von r24:r25&lt;br /&gt;
Die anderen 16-Bit Befehle sind eher Adress-Arithmetik. &lt;br /&gt;
&lt;br /&gt;
*Datenaustausch Bascom &amp;lt;=&amp;gt; Assembler&lt;br /&gt;
Um ein WORD (oder INTEGER) mit Bascom auszutauschen, geht z.B. folgendes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM word_1 AS WORD&lt;br /&gt;
     $asm&lt;br /&gt;
     LDS      R24, {word_1}    'holen Byte 1  (bits 0-7)&lt;br /&gt;
     LDS      R25, {word_1+1}  'holen Byte 2  (bits 8-15)&lt;br /&gt;
     ADIW     R24, 42          'addieren von 42 auf das Paar r24:r25&lt;br /&gt;
     STS      {word_1}, R24    'speichern Byte 1&lt;br /&gt;
     STS      {word_1+1}, R25  'speichern Byte 2&lt;br /&gt;
     $end asm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Arithmetik mit 16 Bit &lt;br /&gt;
Der Unterschied zur 8-Bit Verarbeitung ist eigentlich nicht groß. Es gibt zu allen Arithmetik Befehlen des AVR eine &amp;quot;Carry&amp;quot;-Variante, die einen Übertrag von der Aktion vorher berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Angenommen zwei 16-Bit Werte in den Registerpaaren R24:R25 und R22:R23&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ADD    R24, R22           'Addieren der niederwertigen Bytes&lt;br /&gt;
 ADC    R25, R23           'Addieren der höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
&lt;br /&gt;
 SUB    R24, R22           'Subtrahieren der niederwertigen Bytes&lt;br /&gt;
 SBC    R25, R23           'Subtrahieren der höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Vergleichen mit 16 Bit &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CP     R24, R22           'Vergleich der niederwertigen Bytes&lt;br /&gt;
 CPC    R25, R23           'Vergleich der höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
           ' jetzt können die normalen &amp;quot;bedingte Verzweigung&amp;quot;-Befehle verwendet werden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===32 Bit Zahlen===&lt;br /&gt;
Bei Bascom heissen die LONG und die sind immer Vorzeichenbehaftet. Im AVR Instructionset gibt es keine 32-Bit Befehle. Die physische Speicherung ist wie bei den 16-Bit Feldern&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM long_1 AS LONG&lt;br /&gt;
     $asm&lt;br /&gt;
     LDS      R24, {long_1}    'holen Byte 1  (bits 0-7)&lt;br /&gt;
     LDS      R25, {long_1+1}  'holen Byte 2  (bits 8-15)&lt;br /&gt;
     LDS      R26, {long_1+2}  'holen Byte 3  (bits 16-23)&lt;br /&gt;
     LDS      R27, {long_1+3}  'holen Byte 4  (bits 24-31)&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Arithmetik mit 32 Bit &lt;br /&gt;
Eigentlich läuft das ab 16-Bit immer gleich ab, und man kann genauso 24-Bit wie 40 oder 48 Bit rechnen. &lt;br /&gt;
Angenommen zwei 32-Bit Werte in den Registern  R16-&amp;gt;R19 und R20-&amp;gt;R23&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ADD    R16, R20           'Addieren der niederwertigen Bytes&lt;br /&gt;
 ADC    R17, R21           'Addieren des nächst-höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
 ADC    R18, R22           'Addieren des nächst-höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
 ADC    R19, R23           'Addieren des nächst-höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Single und Double Zahlen===&lt;br /&gt;
das sind 32- bzw. 64-Bitzahlen, allerdings haben die eine eigene Float-Struktur. Das ist dann schon ein eigenes Thema, mit denen was zu machen. &lt;br /&gt;
&lt;br /&gt;
===Strings===&lt;br /&gt;
Strings sind Bytefolgen, in denen ASCII-Zeichen einfach von links nach rechts gespeichert werden können. Das Ende-Kennzeichen der immer variabel langen Texte ist ein NULL-Byte. Daher braucht in Bascom ein String für (max) 20 Zeichen lange Strings auch in Wirklichkeit 21 Byte Speicher.&lt;br /&gt;
&lt;br /&gt;
Strings sind gut geeignet, eine andere Art vorzustellen, wie man Daten lesen oder speichern kann: Über POINTER-Register&lt;br /&gt;
&lt;br /&gt;
Gleich ganz in die Praxis: Wir wollen die Länge eines Bascom-Strings festellen, natürlich im Assembler&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000                                          ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                                                ' die Baudrate für das Terminal&lt;br /&gt;
&lt;br /&gt;
Dim Text As String * 20                                     ' das ist der String&lt;br /&gt;
Dim Strlen As Byte                                          ' da sol die Länge rein&lt;br /&gt;
&lt;br /&gt;
      Text = &amp;quot;Hello, world !&amp;quot;                               ' wir befüllen den String&lt;br /&gt;
&lt;br /&gt;
      $asm&lt;br /&gt;
      Loadadr Text , X            '&amp;quot;adresse von Text nach R26:r27&amp;quot; &lt;br /&gt;
      clr      r24                'löschen vom Zähler&lt;br /&gt;
Schleife: &lt;br /&gt;
      ld       r22, X+            ' s.u.&lt;br /&gt;
      cpi      r22, 0             'Vergleichen mit NULL&lt;br /&gt;
      breq     Fertig             'fertig&lt;br /&gt;
      inc      r24                'Zähler erhöhen&lt;br /&gt;
      rjmp     Schleife           'weiter&lt;br /&gt;
Fertig:&lt;br /&gt;
      sts   {strlen}, r24         'ergebnis ablegen&lt;br /&gt;
      $end Asm&lt;br /&gt;
&lt;br /&gt;
      Print Str(strlen)           'herzeigen&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Loadadr''' ist ein Bascom-Statement, mit dem das Registerpaar R26:R27 mit der '''Adresse''' von &amp;quot;Text&amp;quot; geladen wird. In einem &amp;quot;echten&amp;quot; Assembler kann man das auch assemblermäßiger formulieren, aber in Bascom muß man das so machen&lt;br /&gt;
*'''LD'''&lt;br /&gt;
      ld       r22, X+        'Das Zeichen, wo X hinzeigt, nach R22 und X um eins erhöhen&lt;br /&gt;
Den Rest kennen wir eigentlich schon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ST''' ist übrigens das Gegenstück zu LD&lt;br /&gt;
      st       X+, r22        'R22 dorhin, wo X hinzeigt, und dann X um eins erhöhen&lt;br /&gt;
&lt;br /&gt;
==Bascom als Messlatte==&lt;br /&gt;
Eine sehr gute Möglichkeite, Assembler zu trainieren, ist es, irgendwelche Bascom-Statements durch eigene Inline-Assembler-Blöcke zu ersetzen. Dabei kann man immer auch Varianten ausprobieren. &lt;br /&gt;
*Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DIM  Wert1 AS WORD&lt;br /&gt;
DIM  Wert2 AS WORD&lt;br /&gt;
        Wert1 = Wert2   ' Bascom-Statement&lt;br /&gt;
&lt;br /&gt;
'als Inline-Assembler  EINE Möglichkeit&lt;br /&gt;
        $asm&lt;br /&gt;
        LDS     R24, {Wert1}&lt;br /&gt;
        STS     {Wert2}, R24&lt;br /&gt;
        LDS     R24, {Wert1+1}&lt;br /&gt;
        STS     {Wert2+1}, R24&lt;br /&gt;
        $end asm&lt;br /&gt;
'als Inline-Assembler  ANDERE Möglichkeit&lt;br /&gt;
        $asm&lt;br /&gt;
        LOADADR Wert1, X&lt;br /&gt;
        LD     R24, X+&lt;br /&gt;
        LD     R25, X+&lt;br /&gt;
        LOADADR Wert2, X&lt;br /&gt;
        ST     X+, R24&lt;br /&gt;
        ST     X+, R25&lt;br /&gt;
        $end asm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bascom_Inside-Code|Es gibt hier ein paar Beispiele]], wie Bascom dieses oder jenes in Maschinencode umsetzt, dabei ist es auch sehr lehrreich, erstmal zu überlegen, wie man es selbst machen würde, und dann erst nachzusehen, wie es Bacom gelöst hat.&lt;br /&gt;
&lt;br /&gt;
==ALU und Status-Register (SREG)==&lt;br /&gt;
Bisher haben wir nur von Zero-Bits und &amp;quot;Oberflow&amp;quot; bzw. Carry-Bit gesprochen und uns da ein wenig drübergeschwindelt. Es ist ja auch tatsächlich so, daß man mit dem bisher erworbenen Wissen ganze Legionen von Robotern programmieren kann. &lt;br /&gt;
&lt;br /&gt;
Aber ganz kommt man an den diversen Flags im Statusregister ja doch nicht vorbei, schon garnicht, wenn man ernsthafte Berechnungen anstellen will.  &lt;br /&gt;
&lt;br /&gt;
Zwei Bit im SREG brauchen wir an dieser Stelle aber nicht weiter zu beachten&lt;br /&gt;
*T-Bit oder Transfer-Bit. Das dient für einige Befehle als &amp;quot;Zwischendepot&amp;quot; für einzelne Bits&lt;br /&gt;
*Global Interrupt Enable-Bit. Wie der Name sagt, werden damit einfach alle Interrupts zugelassen oder eben nicht. Von Interrupts haben wir aber noch garnicht gesprochen &lt;br /&gt;
*Die andern Bits dienen der ALU (Arithmetic-Logical-Unit) als Ergebnis-Anzeige bei den ganzen arithmetisch-logischen Befehlen&lt;br /&gt;
===ALU (Recheneinheit)=== &lt;br /&gt;
Immer, wenn zwei Bytes zu vermangeln sind, geht das mit der Recheneinheit. Die hat 4 Byte zur Verfügung:&lt;br /&gt;
*Input-Byte A&lt;br /&gt;
*Input-Byte B&lt;br /&gt;
*Output-Byte R&lt;br /&gt;
*Statusregister SREG&lt;br /&gt;
(Daß er dabei Input A gleichzeitig als Output verwendet, ignorieren wir mal einfach, das verwirrt nur und ändert nix grundsätzliches)&lt;br /&gt;
&lt;br /&gt;
====Ein-Bit-Volladdierer==== &lt;br /&gt;
Wir wissen ja alle noch, wie das mit dem Addieren im 2-er System funktioniert ?  &lt;br /&gt;
 A   B    R&lt;br /&gt;
 0 + 0  = 0&lt;br /&gt;
 0 + 1  = 1&lt;br /&gt;
 1 + 0  = 1&lt;br /&gt;
 1 + 1  = 0  und Überlauf&lt;br /&gt;
Diesen Überlauf muß man nun an das nächsthöhere Bit weitergeben. Andererseits kommt von dem niedrigeren Bit ja auch ein Überlauf daher. Also sieht das für ein Bit dann so aus&lt;br /&gt;
[[Bild:ALU1.png]]&lt;br /&gt;
&lt;br /&gt;
====Mit 8-Bit==== &lt;br /&gt;
Für alle 8 Bit wird es etwas größer, ein paar direkte Status-Bit hab ich gleich eingezeichnet&lt;br /&gt;
[[Bild:ALU2.png]]&lt;br /&gt;
*Der Schalter &amp;quot;mit od. ohne Carry&amp;quot; ist da, ob man einen vorherigen Überlauf miteinbeziehen will &lt;br /&gt;
 ADD   register, register         OHNE Carry &lt;br /&gt;
 ADC   register, register         MIT  Carry&lt;br /&gt;
*N-Bit:  Ist einfach der Wert (0 oder 1), den das Bit 2^^7 im Ergebnis hat&lt;br /&gt;
*Z-Bit:  Steht im Ergebnis alles auf 0, wird das gesetzt&lt;br /&gt;
*Half-Carry: Das wird gesetzt, wenn es vom Bit 2^^3 einen Überlauf in Richtung 2^^4 gegeben hat. (Das braucht man, wenn man mit BCD-Zahlen, also nur von 0-9 rechnen will. Dazu später, wenn Interesse da ist)&lt;br /&gt;
*Carry-Bit: Ist nun klar, das ist einfach der Überlauf vom 2^^7 Bit.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;S&amp;quot; und &amp;quot;V&amp;quot; Bit====&lt;br /&gt;
=====8 Bit mit Vorzeichen=====&lt;br /&gt;
Kurze Wiederholung *gähn*, wie das mit den Vorzeichen ist: Man &amp;quot;spiegelt&amp;quot; die Zahlen an der Null-Stelle. Nehmen wir an, wir haben grad eine NULL im Byte. Ziehen wir jetzt 1 ab, soll ja offenbar -1 rauskommen. Was steht im Byte tatsächlich drin ? Richtig, Hexadezimal FF. Und genauso schaut auch -1 eben aus. Alle diese negativen Zahlen haben gemeinsam, daß zumindest das Bit 2^^7 eine 1 zeigt. Daran erkennt man, daß die Zahl negativ ist. Das funktioniert aber nur so bis -128 (hex 80) und +127 (hex 7F). &lt;br /&gt;
&lt;br /&gt;
Negative Zahlen werden also dargestellt als &amp;quot;2-er Komplement&amp;quot;. &lt;br /&gt;
*Man dreht 0-er und 1-er im Byte um&lt;br /&gt;
*und addiert &amp;quot;1&amp;quot; drauf. &lt;br /&gt;
           0b01111000 hex 78 = dezimal 120&lt;br /&gt;
 umdrehen: 0b10000111 hex 87  &lt;br /&gt;
 +1      : 0b10001000 hex 88  Das stellt jetzt -120 dar.&lt;br /&gt;
&lt;br /&gt;
=====Rechnen mit vorzeichenbehafteten 8 Bit=====&lt;br /&gt;
Der Sinn und Zweck des &amp;quot;S&amp;quot; und &amp;quot;V&amp;quot; Bit ist nun leicht verständlich. &lt;br /&gt;
*Bisher wurde ja addiert&lt;br /&gt;
     0b01111000 hex 78 = dezimal 120&lt;br /&gt;
   + 0b00001010 hex 0A = dezimal  10&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82 = dezimal 130       &lt;br /&gt;
*Addiert wird jetzt immer noch genauso, aber jetzt hat das Bit 2^^7 eine andere Bedeutung, weil es das Vorzeichen darstellt&lt;br /&gt;
*Ein Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     0b10000000 hex 80 = dezimal -128&lt;br /&gt;
   + 0b00000010 hex 02 = dezimal   +2&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82  (Vorzeichenbit ist gesetzt)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorzeichenbit gesetzt-&amp;gt; hex 82 ist also ein zweier-Komplement, und damit ist es -126.&lt;br /&gt;
&lt;br /&gt;
*Aber nun:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     0b01111000 hex 78 = dezimal +120&lt;br /&gt;
   + 0b00001010 hex 0A = dezimal  +10&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82  (Vorzeichenbit ist gesetzt)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorzeichenbit gesetzt-&amp;gt; hex 82 ist also ein zweier-Komplement, und damit ist es -126.&lt;br /&gt;
&lt;br /&gt;
'''Bitte ???'''&lt;br /&gt;
&lt;br /&gt;
Das kann ja wohl nicht sein, es muß ja +130 rauskommen. &lt;br /&gt;
&lt;br /&gt;
Das Carry-Bit hilft nichts, das ist immer NULL geblieben. &lt;br /&gt;
&lt;br /&gt;
*Genau da hilft das &amp;quot;V&amp;quot; Bit&lt;br /&gt;
&lt;br /&gt;
[[Bild:ALU3.png]]&lt;br /&gt;
&lt;br /&gt;
Das V-Bit = 1, &lt;br /&gt;
*wenn entweder die beiden Input-Bytes positiv waren (2^^7=0) UND das Ergebnis aber 2^^7=1 zeigt. &lt;br /&gt;
*wenn beiden Input-Bytes negativ waren (2^^7=1) UND das Ergebnis aber 2^^7=0 zeigt. &lt;br /&gt;
&lt;br /&gt;
Im Prinzip sagt also das V-Bit aus, ob das Vorzeichenbit im Ergebnis durch einen Überlauf zustandegekommen ist. &lt;br /&gt;
&lt;br /&gt;
*Und das &amp;quot;S&amp;quot;-Bit ? Das kombiniert das Vorzeichen im Ergebnis mit diesem &amp;quot;V&amp;quot;-Bit.&lt;br /&gt;
**S=1, wenn das Vorzeichenbit im Ergebnis zwar NULL ist, aber nur, weil ein Überlauf stattgefunden hat. Das Ergebnis ist also trotzdem negativ und stellt ein 2-er Komplement dar.  &lt;br /&gt;
**S=1, wenn das Vorzeichenbit im Ergebnis EINS ist, und zwar OHNE, daß ein Überlauf stattgefunden hätte. Das Ergebnis ist also korrekt negativ und stellt auch ein 2-er Komplement dar&lt;br /&gt;
&lt;br /&gt;
Ob an das nächsthöhere Byte ein Überlauf weiterzugeben ist, sagt bei Vorzeichen-Bytes nun das &amp;quot;V&amp;quot; Bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nochmal die obigen Vorzeichen-Beispiele zum mitsingen, aber diesmal mit den N, V und S Flags &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     0b10000000 hex 80 = dezimal -128&lt;br /&gt;
   + 0b00000010 hex 02 = dezimal   +2&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82   N=1 V=0 S=1    Ist also negativ, 2-er Kompl. kein Überlauf --&amp;gt;  -126&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     0b01111000 hex 78 = dezimal +120&lt;br /&gt;
   + 0b00001010 hex 0A = dezimal  +10&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82   N=1 V=1 S=0    Ist also positiv, 2^^7 löschen, der Rest bleibt &lt;br /&gt;
                                        (dezimal 2), hat aber Überlauf, der ist +128 wert, &lt;br /&gt;
                                        insgesamt also --&amp;gt; 128 + 2 = +130&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Mehr als 8 Bit mit Vorzeichen=====&lt;br /&gt;
Keine Sorge, das Vorzeichenbit gibt es bei allen binärzahlen immer nur einmal, an der höchsten Stelle. Wir haben also auch bei eine 8-Byte / 64-Bit Variablen nur ein einziges Mal das Problem.&lt;br /&gt;
&lt;br /&gt;
*Das Vorzeichenbit ist immer das MSB (höchst aussagekräftige Bit = most significant Bit). Zwei 32 Bit sieht das so aus:&lt;br /&gt;
 0b00000000000000000000000111111111 = hex 000001FF = dezimal +511&lt;br /&gt;
 0b11111111111111111111110000000001 = hex FFFFFC01 = dezimal -1023&lt;br /&gt;
Das Vorzeichenbit ist das ganz links (2^^31) &lt;br /&gt;
&lt;br /&gt;
Addiert werden solche Zahlen erstmal ganz normal &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dim Vala As Long&lt;br /&gt;
Dim Valb As Long&lt;br /&gt;
Dim Stat As Byte&lt;br /&gt;
&lt;br /&gt;
      Vala = 511&lt;br /&gt;
      Valb = -1023&lt;br /&gt;
      Print Hex(vala) ; &amp;quot;+&amp;quot; ; Hex(valb) ; &amp;quot;=&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
      $asm&lt;br /&gt;
      lds      r16, {vala}&lt;br /&gt;
      lds      r17, {vala+1}&lt;br /&gt;
      lds      r18, {vala+2}&lt;br /&gt;
      lds      r19, {vala+3}&lt;br /&gt;
&lt;br /&gt;
      lds      r20, {valb}&lt;br /&gt;
      lds      r21, {valb+1}&lt;br /&gt;
      lds      r22, {valb+2}&lt;br /&gt;
      lds      r23, {valb+3}&lt;br /&gt;
&lt;br /&gt;
      add      r16, r20            'das erste Byte noch ohne Carry&lt;br /&gt;
      adc      r17, r21            'der Rest mit Carry&lt;br /&gt;
      adc      r18, r22&lt;br /&gt;
      adc      r19, r23&lt;br /&gt;
&lt;br /&gt;
      in       r20, sreg           ' Wir holen uns die Status-Bits&lt;br /&gt;
      sts      {stat}, r20         ' speichern&lt;br /&gt;
&lt;br /&gt;
      sts      {Vala}, r16         ' speichern Ergebnis&lt;br /&gt;
      sts      {Vala+1}, r17&lt;br /&gt;
      sts      {Vala+2}, r18&lt;br /&gt;
      sts      {Vala+3}, r19&lt;br /&gt;
&lt;br /&gt;
      $end Asm&lt;br /&gt;
      Print Hex(vala) ; &amp;quot; &amp;quot; ; Bin(stat) ; &amp;quot; &amp;quot; ; Str(vala)            ' Zum Anschauen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wir sehen, gesetzt wird von der ALU letzlich: &lt;br /&gt;
 S=1 und N=1&lt;br /&gt;
Also ist die Zahl negativ (S=1) und muß als 2-er Komplement verstanden werden.&lt;br /&gt;
&lt;br /&gt;
===Das Carry-Bit beim Bit-Verschieben===&lt;br /&gt;
Häufig wird das Carry-Bit auch als Zwischenlager und Anzeige bei den Schiebe- und Rotationsbefehlen. &lt;br /&gt;
&lt;br /&gt;
Es verhält sich da wie ein 9.Bit zu den 8-Bits im Register. &lt;br /&gt;
&lt;br /&gt;
Die Links- und Rechts-Schiebebefehle sind völlig symmetrisch&lt;br /&gt;
====LSL &amp;amp; ROL====&lt;br /&gt;
[[Bild:Left.png]]&lt;br /&gt;
 LSL register &lt;br /&gt;
 ROL register&lt;br /&gt;
Die Bits im Register werden bei beiden Befehlen eine Stelle nach links verschoben, das höchste Bit wandert in das Carry-Bit. &lt;br /&gt;
*Bei LSL wird eine NULL in das niederwertigste Bit des Registers reingeschoben&lt;br /&gt;
*Bei ROL wird das Carry-Bit (von vorher) in dieses Bit gestellt.&lt;br /&gt;
&lt;br /&gt;
====LSR &amp;amp; ROR====&lt;br /&gt;
[[Bild:Right.png]]&lt;br /&gt;
 LSR register &lt;br /&gt;
 ROR register&lt;br /&gt;
Die Bits im Register werden bei beiden Befehlen eine Stelle nach rechts verschoben, das niederste Bit wandert in das Carry-Bit. &lt;br /&gt;
*Bei LSR wird eine NULL in das höchste Bit des Registers reingeschoben&lt;br /&gt;
*Bei ROR wird das Carry-Bit (von vorher) in dieses Bit gestellt.&lt;br /&gt;
&lt;br /&gt;
====Anwendungen====&lt;br /&gt;
*Multiplizieren mit 2, 4, 8,... &lt;br /&gt;
Bei einem Byte ist da wohl nicht viel dazu zu sagen. &lt;br /&gt;
 LDI   register, &amp;amp;H05   ' register = &amp;amp;H05   = dezimal 5&lt;br /&gt;
 LSL   register         ' register = &amp;amp;H0A   = dezimal 10&lt;br /&gt;
Bei mehreren Bytes, also Variablen mit mehr als 8 Bit, beginnt man immer mit dem niederwertigsten Byte, der erste Befehl OHNE Carry, damit nicht irgendetwas ungewolltes reinrutscht, und dann weiter mit den anderen Bytes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  LDS  register, {long_variable }    ' einlesen&lt;br /&gt;
  LSL  register                      ' verschieben, 2^^7 kommt ins Carry, bleibt&lt;br /&gt;
                                     ' 0 kommt nach 2^^0&lt;br /&gt;
  STS  {long_variable }, register    ' speichern (ändert nix im SREG)&lt;br /&gt;
&lt;br /&gt;
  LDS  register, {long_variable +1 }    ' einlesen (ändert auch nix im SREG)&lt;br /&gt;
  ROL  register                         ' verschieben, &lt;br /&gt;
                                        ' carry von vorher nach 2^^0&lt;br /&gt;
                                        ' 2^^7 ins Carry, bleibt&lt;br /&gt;
  STS  {long_variable + 1}, register    ' speichern &lt;br /&gt;
    .usw. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Dividieren durch 2, 4, 8,... &lt;br /&gt;
Da ist eben alles genau umgekehrt. Beginnen mit dem höchsten, sonst wie gehabt &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  LDS  register, {long_variable + 3}    &lt;br /&gt;
  LSR  register                         ' verschieben, 2^^0 kommt ins Carry und bleibt&lt;br /&gt;
                                        ' 0 kommt nach 2^^7&lt;br /&gt;
  STS  {long_variable +3}, register       &lt;br /&gt;
&lt;br /&gt;
  LDS  register, {long_variable + 2 }    &lt;br /&gt;
  ROR  register                         ' verschieben, &lt;br /&gt;
                                        ' carry von vorher nach 2^^7&lt;br /&gt;
                                        ' 2^^0 ins Carry&lt;br /&gt;
  STS  {long_variable + 2}, register    &lt;br /&gt;
    .usw. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Anwendung Lauflicht====&lt;br /&gt;
Ist auch beliebt. Angenommen, wir haben auf PORTB 8 LED hängen und möchten da ein Lauflicht haben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    $asm&lt;br /&gt;
    LDI    r24, &amp;amp;HFF&lt;br /&gt;
    !OUT   DDRB, R24           ' wir setzen das Port auf OUTPUT&lt;br /&gt;
    LDI    r16, &amp;amp;H00           ' das &amp;quot;SchiebeByte&amp;quot; auf NULL&lt;br /&gt;
    SEC                        ' wir setzen das Carry Bit, damit ein 1-er da ist &lt;br /&gt;
Dauerschleife:&lt;br /&gt;
    ROL    r16                 ' Beim ersten Mal rutscht das carry-Bit rein&lt;br /&gt;
                               ' danach geht der 1-er automatisch im Kreis&lt;br /&gt;
    !OUT   PORTB, R16          ' wir legen das Byte mit dem einen 1-er an das Port&lt;br /&gt;
                               '---------------------------------------------------&lt;br /&gt;
                               ' Hier muß aber eine Verzögerung rein, sonst ist das &lt;br /&gt;
                               ' viel zu schnell&lt;br /&gt;
                               '---------------------------------------------------&lt;br /&gt;
    RJMP   Dauerschleife       ' und immer weiter&lt;br /&gt;
    $end asm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Schreiben wir&lt;br /&gt;
     ROR    r16&lt;br /&gt;
geht's in die andere Richtung&lt;br /&gt;
&lt;br /&gt;
==Ecken, Kanten und Tücken==&lt;br /&gt;
Das AVR-Instruction-Set weist einige Feinheiten auf, die schon manchen Assembler-Roboter auf Kollisionskurs gebracht haben. &lt;br /&gt;
&lt;br /&gt;
Grad' dieses Kapitel kann ich nur nach und nach auffüllen, weil mir auch nicht immer gleich alles so einfällt. Vielleicht gibt's aber auch ein paar andere Assembleure, die ihren Erfahrungsschatz hier einbringen. &lt;br /&gt;
&lt;br /&gt;
Ich kann nur raten, beim Programmieren immer zumindest das &amp;quot;Complete Instruction Set Summary&amp;quot; bei der Hand zu haben. Immer wieder nachsehen, ob ein gerade ausgewählter Befehl das macht, was man sich vorstellt, und vor allem, ob er auch alle die Status-Register-Flags so setzt oder löscht, die man braucht. &lt;br /&gt;
&lt;br /&gt;
===INC/DEC===&lt;br /&gt;
Für Schleifenzähler etc. werden ja gerne &amp;quot;INC&amp;quot; (register +1) oder &amp;quot;DEC&amp;quot; (register -1) verwendet. Mit einem Vergleich auf einen Wert kontrolliert man dann diese Schleife. Ist ja auch ok. &lt;br /&gt;
&lt;br /&gt;
Muß man den Schleifenzähler aber nun so erweitern, daß man mehr als ein Byte braucht, muß man aufpassen. &lt;br /&gt;
&lt;br /&gt;
'''INC od. DEC   kümmern sich NICHT um das Carry-Bit !'''  &lt;br /&gt;
&lt;br /&gt;
*wer also schreibt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 clr r0        (manche nehmen das gerne als Register, in dem immer NULL steht. Ist praktisch)&lt;br /&gt;
 ....&lt;br /&gt;
 INC r16&lt;br /&gt;
 adc r17, r0 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
kann sein blaues Wunder erleben. &lt;br /&gt;
&lt;br /&gt;
Da INC bei einem Überlauf einfach wieder bei NULL weitermacht, das Carry-Bit aber nicht anrührt, addieren wir im &amp;quot;ADC&amp;quot; Befehl ein Carry-Bit dazu, das von irgendeinem Befehl vorher übriggeblieben ist.&lt;br /&gt;
&lt;br /&gt;
Für ein sauberes Carry-Bit muß man also auf einen &amp;quot;echten&amp;quot; Additionsbefehl umsteigen. Und was sehen wir ?&lt;br /&gt;
&lt;br /&gt;
'''Es gibt keinen &amp;quot;ADDI&amp;quot; Befehl'''  ( für sowas wie &amp;quot;addi register, 1&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Wenn wir also kein Register zur Hand haben, in das wir einen 1-er reinschreiben können, müssen wir&lt;br /&gt;
 SUBI register, -1 &lt;br /&gt;
schreiben. Ist klar:  register - (-1) = register + 1, also das, was wir brauchen. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CLR     r0          ' s.o.&lt;br /&gt;
 ....&lt;br /&gt;
 SUBI    r16, -1        &lt;br /&gt;
 ADC     r17, r0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Beim Dekrementieren ist die Sache aber teilweise anders: Es gibt nämlich einen Befehl &lt;br /&gt;
 SBCI  (abziehen festen Wert von Register MIT CARRY) &lt;br /&gt;
Da können wir uns also das mit Register r0  ersparen &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ....&lt;br /&gt;
 SUBI    r16, 1        &lt;br /&gt;
 SBCI    r17, 0    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ja, es gibt aber doch was für 16 Bit ?'''&lt;br /&gt;
 ADIW  register:register+1 ,  nn  ' nn auf die 16-bit von register:register+1 addieren &lt;br /&gt;
 SBIW  register:register+1 ,  nn  ' nn von den 16-bit von register:register+1 subtrahieren&lt;br /&gt;
(''nn'' kann sein 0 - 63)&lt;br /&gt;
&lt;br /&gt;
Ja, aber das geht nur mit den Registerpaaren R24:R25, R26:R27, R28:R29, R30:R31&lt;br /&gt;
&lt;br /&gt;
Da die Paare R26:R27, R28:R29, R30:R31 aber gleichzeitig die einzigen Pointer-Register sind (dazu kommen wir noch, aber grad in Schleifen braucht man die meist für was anderes)&lt;br /&gt;
&lt;br /&gt;
'''Bleibt eigentlich nur R24:R25 für solche 16-Bit Befehle'''&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
[[User:PicNick|PicNick]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[AVR_Assembler_Einf%C3%BChrung]]&lt;br /&gt;
*[[Bascom]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User&amp;diff=8193</id>
		<title>Assembler Einführung für Bascom-User</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User&amp;diff=8193"/>
				<updated>2006-07-06T15:54:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* INC/DEC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Was hier folgt, ist nichts für Profis und Power-User, die mögen weiterblättern. Ich versuche hier, absolute Neueinsteiger nach und nach mit ein paar Grundinformationen zu versorgen. &lt;br /&gt;
&lt;br /&gt;
==Assembler Einführung für Bascom-User==&lt;br /&gt;
&lt;br /&gt;
===Wieso Bascom ?===&lt;br /&gt;
Eine der einfachsten Möglichkeiten, sich an Assembler heranzutasten, ist es, den Bascom-Compiler als Workbench zu benutzen. &lt;br /&gt;
&lt;br /&gt;
Die Vorteile:&lt;br /&gt;
*Das Drumherum mit der richtigen Initialisierung, auch der Perpipherie, kann man bequem von Bascom machen lassen, bis man sich halt auskennt.  &lt;br /&gt;
*Wenn irgendeine Berechnung oder Teil-Funktion nervt oder nicht gleich richtig hinhaut, schreibt man halt doch ein paar Bascom-Statements. &lt;br /&gt;
*fürs Erste reicht die Demo-Version allemal&lt;br /&gt;
&lt;br /&gt;
Die Nachteile:&lt;br /&gt;
*Gott-weiß-wie komfortabel ist der Bascom-Assembler natürlich nicht, aber es reicht. &lt;br /&gt;
*Bei manchen Befehlen ist es nicht klar, ob das ein Assembler oder ein Bascom-Befehl ist. In diesem Fall muß man ein &amp;quot;!&amp;quot; Rufzeichen davor setzen. Man erkennt das aber sofort, denn diese reservierten Bascom-Wort mach er sofort in '''Fettschrift'''. Trotzdem aufpassen !&lt;br /&gt;
&lt;br /&gt;
==Ein Grund-Programm==&lt;br /&gt;
Nicht lachen, auch das ist ein Bascom-Programm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$asm&lt;br /&gt;
   &lt;br /&gt;
$end Asm&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das Programm macht natürlich überhaupt nix. Aber durch die paar Zeilen hat Bascom alle notwendigen Initialisierungen schon erledigt und wir brauchen uns um nichts zu kümmern.&lt;br /&gt;
Zwischen &amp;quot;$asm&amp;quot; und &amp;quot;$end asm&amp;quot; kann man nun nach Herzenslust irgendwas Assemblermäßiges reinschreiben und mit dem Simulator rumprobieren. &lt;br /&gt;
&lt;br /&gt;
Auch &amp;quot;REGFILE&amp;quot; müßte man nicht hinschreiben, dann gilt eben das, was man in &amp;quot;OPTIONS/COMPILER/CHIP&amp;quot; eingestellt hat.&lt;br /&gt;
&lt;br /&gt;
==Der Zentral-Prozessor (CPU)==&lt;br /&gt;
Das ist der Kollege, dem man mit &amp;quot;Assembler-Instruktionen&amp;quot; davon überzeugen muß, irgendwas zu tun. Ohne den läuft garnix. Der hat als Hilfe einen &amp;quot;'''Befehlszähler'''&amp;quot; (PC), der immer auf den nächsten Befehl zeigt, der drankommt. Und dann hat er noch eine Reihe &amp;quot;'''Register'''&amp;quot;, das sind kleine Zwischenspeicher, mit denen er arbeiten kann. Die heissen einfach &amp;quot;R0&amp;quot;, &amp;quot;R1&amp;quot;,....&amp;quot;R31&amp;quot;, also 32 Stück, in jedes paßt genau ein Byte, und ein Byte, das wissen wir, besteht wiederum aus 8 Bits.&lt;br /&gt;
&lt;br /&gt;
===Registerverwendung===&lt;br /&gt;
An sich sind wir zwischen &amp;quot;$asm&amp;quot; und &amp;quot;$end asm&amp;quot; alleiniger Herrscher über den Mikrokontroller. Damit aber auch dem Bascom ein bißchen was zu Leben bleibt, sollten wir einige Register entweder in Ruhe lassen oder erst sichern und dann wieder herstellen. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 R4, R5         ' die beiden verwendet Bascom für temporäre Sachen. &lt;br /&gt;
 R6             ' da speichert er einige Schalter (Bits)&lt;br /&gt;
 R8, R9         ' verwendet es für  &amp;quot;READ&amp;quot; und &amp;quot;RESTORE&amp;quot; etc. &lt;br /&gt;
                ' haben wir sowas aber garnicht, ist es egal&lt;br /&gt;
 R28, R29       ' braucht Bascom aber nur, wenn wir Funktionen und Subs aufrufen. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den folgenden Beispielen brauchen wir uns aber darum nicht zu kümmern, es wird nix davon gebraucht. Ich wollt' es nur gesagt haben.&lt;br /&gt;
&lt;br /&gt;
===Daten-Transfer Operationen===&lt;br /&gt;
Bevor wir mit diesen Registern irgendetwas ausprobieren können, müssen wir erstmal gezielt bestimmte Werte reinschreiben können. Sowas heißt eben &amp;quot;Transfer&amp;quot;. Da wir ja erst am Anfang sind, reicht uns zum Beispiel:&lt;br /&gt;
 LDI   R24, 14&lt;br /&gt;
Damit wird in das Register R24 der Binärwert von &amp;quot;14&amp;quot; reingestellt, das sind die Bits &amp;quot;00001110&amp;quot;. Der maximale Wert, da es ja nur ein Byte ist, wäre &amp;quot;255&amp;quot;, also &amp;quot;11111111&amp;quot;. &lt;br /&gt;
Für den Befehl &amp;quot;LDI&amp;quot; können wir übrigens leider nur die Register R16 - R31 setzen, das ist so eine Einschränkung von wegen &amp;quot;RISC&amp;quot; Architektur.&lt;br /&gt;
 MOV   R3, R24&lt;br /&gt;
Deswegen auch der zweite Befehl &amp;quot;MOV&amp;quot;, damit wird im Beispiel der Inhalt von R24 in das Register R3 kopiert. Somit können wir mit maximal zwei Befehlen also jeder beliebige Register von R0 bis R31 mit beliebigen Werten laden. &lt;br /&gt;
Natürlich gibt es noch eine Menge mehr an Transferbefehlen, aber Listen von Assembler-Befehlen gibt es schon genug, da brauchen wir hier nicht auch noch eine.&lt;br /&gt;
&lt;br /&gt;
===Arithmetisch-Logische Operationen===&lt;br /&gt;
Laden wir mal zwei Register:&lt;br /&gt;
 LDI   R25, 17&lt;br /&gt;
 LDI   R24, 14&lt;br /&gt;
&lt;br /&gt;
Und jetzt die Grund-Befehle, Varianten später:&lt;br /&gt;
*Arithmetisch&lt;br /&gt;
 ADD   R25, R24       addieren      R25 + R24, Ergebnis nach R25&lt;br /&gt;
 !SUB   R25, R24       subtrahieren&lt;br /&gt;
*Logisch &lt;br /&gt;
 !AND   R25, R24       &amp;quot;UND&amp;quot;&lt;br /&gt;
 !OR    R25, R24       &amp;quot;ODER&amp;quot;&lt;br /&gt;
 EOR   R25, R24       &amp;quot;Exklusiv-ODER&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis steht immer in Operand-1&lt;br /&gt;
&lt;br /&gt;
===Gleich mal ausprobieren===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$asm&lt;br /&gt;
 LDI   R25, 17        ' Laden&lt;br /&gt;
 LDI   R24, 14        ' Laden&lt;br /&gt;
 ADD   R25, R24       'addieren  17 + 14, Ergebnis in R25&lt;br /&gt;
&lt;br /&gt;
 LDI   R25, 17        'Nachladen, da R25 durch &amp;quot;ADD&amp;quot; ja verändert wurde&lt;br /&gt;
 !SUB   R25, R24       'subtrahieren  17 - 14&lt;br /&gt;
&lt;br /&gt;
 LDI   R25, 17        ' Laden&lt;br /&gt;
 LDI   R24, 14        ' Laden&lt;br /&gt;
 !AND   R25, R24       ' Es kommt überall dort &amp;quot;1&amp;quot; raus, wo sowohl r25 als auch R24 eine 1 haben&lt;br /&gt;
 &lt;br /&gt;
 LDI   R25, 17        ' Laden&lt;br /&gt;
 LDI   R24, 14        ' Laden&lt;br /&gt;
 !OR    R25, R24       ' Es kommt überall dort &amp;quot;1&amp;quot; raus, wo r25 oder R24 eine 1 haben&lt;br /&gt;
                      '  (ODER BEIDE !)&lt;br /&gt;
&lt;br /&gt;
 LDI   R25, 17        ' Laden&lt;br /&gt;
 LDI   R24, 14        ' Laden&lt;br /&gt;
 EOR   R25, R24       ' Es kommt überall dort &amp;quot;1&amp;quot; raus, wo ENTWEDER  r25 oder R24 eine 1 haben&lt;br /&gt;
                      '  (ABER NICHT BEIDE !)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$end Asm&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Probieren ist das am besten mit dem Simulator. (Register-Fenster öffnen und Einzelschritte)&lt;br /&gt;
&lt;br /&gt;
===Ergebnis prüfen===&lt;br /&gt;
Normalerweise ist es ja nicht so, daß vor solchen Operationen die Rechenwerte direkt geladen werden, sondern die kommen ja von irgendwo aussen her. Und da muß man ja dann anders reagieren, je nachdem, ob die Werte gleich waren, ob r25 größer oder kleiner als r24 war, und so weiter. &lt;br /&gt;
&lt;br /&gt;
Da helfen die &amp;quot;Flags&amp;quot; im '''Status-Register''' (SREG). Das ist zwar auch ein normales Byte, nur haben die einzelnen Bits darin eine spezielle Bedeutung und geben eben nähere Auskunft über die gerade abgelaufenen Operation. Nur das Wichtigste:&lt;br /&gt;
*ZERO-Bit  Es wird automatisch gesetzt, wenn das Ergebnis genau NULL ergeben hat.  &lt;br /&gt;
*CARRY-Bit Es wird automatisch gesetzt, wenn es einen &amp;quot;Übertrag&amp;quot; gegeben hat&lt;br /&gt;
&lt;br /&gt;
Man kann diese (und noch andere) Flags sehen, wenn man im Simulator auf &amp;quot;µP&amp;quot; drückt. &lt;br /&gt;
 Z = ZERO&lt;br /&gt;
 C = CARRY&lt;br /&gt;
'''Beispiele:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LDI   R25, 17       &lt;br /&gt;
LDI   R24, 14       &lt;br /&gt;
!SUB   R25, R24       &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zero &amp;amp; Carry sind nicht gesetzt, denn das Ergebnis ist ungleich NULL, und &amp;quot;17&amp;quot; ist außerdem größer als &amp;quot;14&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LDI   R25, 17       &lt;br /&gt;
LDI   R24, 17       &lt;br /&gt;
!SUB   R25, R24       &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Jetzt ist Zero gesetzt, denn das Ergebnis ist gleich NULL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LDI   R25, 12       &lt;br /&gt;
LDI   R24, 44       &lt;br /&gt;
!SUB   R25, R24       &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Jetzt ist das Carry-Bit gesetzt, denn &amp;quot;12&amp;quot; ist ja kleiner als &amp;quot;44&amp;quot;, das Ergebnis ist also negativ, und ein &amp;quot;Übertrag&amp;quot; ist auch aufgetreten.&lt;br /&gt;
&lt;br /&gt;
===Vergleichen===&lt;br /&gt;
&amp;quot;Vergleichen&amp;quot; ist für die ALU (Recheneinheit) das Gleiche wie Subtrahieren (SUB), nur daß das eigentliche Rechenergebnis nirgends hingeschrieben wird und NUR DIE FLAGS gesetzt werden. &lt;br /&gt;
 CP  R25, R24       &lt;br /&gt;
&lt;br /&gt;
===Verzweigen===&lt;br /&gt;
Wir haben ja gesagt, es wird verglichen, damit der Rechner je nach Vergleichs- der Rechenergebnis was anderes tut. &amp;quot;Was anderes tun&amp;quot; heißt anderer Code, also muß der &amp;quot;Befehlszähler&amp;quot; einen anderen Wert bekommen, damit der Programmablauf dort fortgesetzt wird. Dazu gibt es natürlich die &amp;quot;unbedingten&amp;quot; Varianten&lt;br /&gt;
 JMP  Zieladresse  ' oder&lt;br /&gt;
 RJMP Zieladresse  ' das nimmt man, wenn das Ziel in der Nähe ist&lt;br /&gt;
Oder eben die &amp;quot;Verzweigung unter bestimmten Bedingungen&amp;quot; (conditional branch) &lt;br /&gt;
 BRxxx Zieladresse &lt;br /&gt;
Für &amp;quot;xxx&amp;quot; (Bedingung) gibt es nun eine ganze Reihe Möglichkeiten. Es gibt im Prinzip für jedes Bit im Status-Register (s.o) eine Abfrage &amp;quot;wenn gesetzt&amp;quot; und &amp;quot;wenn nicht gesetzt&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Die wohl wichtigsten sind die Möglichkeiten, die sich aus dem &amp;quot;ZERO&amp;quot;- und dem &amp;quot;CARRY&amp;quot;-Flag ergeben:&lt;br /&gt;
 BREQ Zieladresse   ' Verzweigen, wenn &amp;quot;GLEICH&amp;quot;  (equal)                      Zero  = 1&lt;br /&gt;
 BRNE Zieladresse   ' Verzweigen, wenn &amp;quot;NICHT GLEICH&amp;quot;  (not equal)            Zero  = 0&lt;br /&gt;
 BRLO Zieladresse   ' Verzweigen, wenn &amp;quot;KLEINER&amp;quot;  (lower)                     Carry = 1&lt;br /&gt;
 BRSH Zieladresse   ' Verzweigen, wenn &amp;quot;GLEICH ODER GRÖSSER&amp;quot; (same or higher) Carry = 0&lt;br /&gt;
Und, die Überraschung, ausgerechnet sowas Häufiges wie &lt;br /&gt;
 Verzweigen, wenn &amp;quot;GRÖSSER&amp;quot;&lt;br /&gt;
gibt's überhaupt nicht. Nun, dazu müßten ja eigentlich zwei Flags abgefragt werden. &amp;quot;Größer&amp;quot; heißt nämlich CARRY = 0 UND ZERO = 0. Und das ist in der &amp;quot;RISC&amp;quot; Welt nicht drin, da wird gespart.&lt;br /&gt;
&lt;br /&gt;
===Beispiel===&lt;br /&gt;
Lieber gleich ein Beispiel zum Ausprobieren und Festigen, das war ja doch etwas gebündelt. Aber davor gleich noch eins drauf: Eine &amp;quot;Zieladresse&amp;quot; ist der (im ganzen Programm) eindeutige Name eines Befehls (ein &amp;quot;Label&amp;quot;), der in der Zeile ganz links beginnt und mit Doppelpunkt abgeschlossen wird&lt;br /&gt;
&lt;br /&gt;
====Flußdiagramm====&lt;br /&gt;
*Theoretisch sieht das ja so aus:&lt;br /&gt;
[[Bild:Compare1.png]]&lt;br /&gt;
&lt;br /&gt;
*Da es aber keiner Programmierspache möglich ist, alternativen Code nebeneinander zu schreiben, muß dieser Teil auf &amp;quot;Spaghetti&amp;quot;-Code umstrukturiert werden. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Hochsprachen&amp;quot; machen das versteckt im Maschinencode, beim Assembler müssen wir selbst machen. Und natürlich auch &amp;quot;GOTO&amp;quot; (=JMP) verwenden, ein sonst in allen Büchern als &amp;quot;no, no&amp;quot; (=pfui) beschriebener Befehl.  &lt;br /&gt;
====Die Praxis====&lt;br /&gt;
&lt;br /&gt;
[[Bild:Compare2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Programm_Beginn:                            ' das ist zum Beispiel gleich ein &amp;quot;Label&amp;quot;&lt;br /&gt;
          LDI         R25, 12       ' R25 = 12&lt;br /&gt;
          LDI         R24, 44       ' R24 = 44&lt;br /&gt;
'--------------------------------------&lt;br /&gt;
'  nun der Vergleich   &lt;br /&gt;
'--------------------------------------&lt;br /&gt;
          CP          R25, R24       &lt;br /&gt;
          BREQ        Label_1    ' Verzweigen nach &amp;quot;Ziel&amp;quot;, wenn R25 = R24&lt;br /&gt;
&lt;br /&gt;
          LDI         R16, 1      ' das machen wir (zum Beispiel), wenn R25 NICHT= r24 ist &lt;br /&gt;
          RJMP        Label_2    'wir müssen unbedingt springen, sonst laufen wir ja &lt;br /&gt;
                                         ' in den Zweig &amp;quot;ist_gleich&amp;quot;  rein&lt;br /&gt;
Label_1:&lt;br /&gt;
          LDI         R16, 0      ' das machen wir (zum Beispiel), wenn R25 = r24 ist &lt;br /&gt;
&lt;br /&gt;
'----------------------------     ' da treffen wir uns wieder&lt;br /&gt;
Label_2:            &lt;br /&gt;
         da geht er wieder gemeinsam weiter &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ich kann nur dringend empfehlen, sich mit diesem Beispiel zu beschäftigen und auch mit anderen Werten rumzuprobieren, das &amp;quot;bedingte Verzweigen&amp;quot; in allen Varianten ist das A und O der Programmiererei, beim Assembler eben auch ein bißchen verschärft.&lt;br /&gt;
&lt;br /&gt;
====Eine Alternative: Bedingtes &amp;quot;Skip&amp;quot;====&lt;br /&gt;
Was der AVR noch anbietet, ist eine Reihe von &amp;quot;SKIP IF&amp;quot; Befehlen. Für unseren Registervergleich gibt es aber nur den &lt;br /&gt;
 CPSE Register, Register &lt;br /&gt;
Befehl. Er bedeutet:&lt;br /&gt;
 &amp;quot;Vergleiche die Register, und wenn die Inhalte gleich sind, überspringe den nächsten Befehl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Das wird uns das Herumspringen und das Verwenden von Labeln erspart. Allerdings kann immer nur EIN Befehl übersprungen werden&lt;br /&gt;
&lt;br /&gt;
[[Bild:skip.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
eine Besonderheit hat der Befehl noch: Da er ja Vergleich und Bedingungsabfrage in Einem ist, werden auch keine Flags im Statusregister (SREG) verändert. Das ist praktisch, wenn man diese Flags durch eine andere Operation vorher gesetzt hat, und sie über diesen Vergleichs + Sprung - Befehl  darüber-retten will. Das ist aber im Moment schon etwas fortgeschritten.&lt;br /&gt;
&lt;br /&gt;
==Kurze Zusammenfassung==&lt;br /&gt;
*Wir können also beliebige Register mit beliebigen Werten laden, &lt;br /&gt;
*Wir können mit diesen Werten rechnen oder sie vergleichen&lt;br /&gt;
*Und je nach Vergleichs- oder Rechenergebnis unterschiedlichen Code durchlaufen. &lt;br /&gt;
&lt;br /&gt;
*Man könnte aber auch ein paar Lehren daraus ziehen: &lt;br /&gt;
**die Register R16 - R31 braucht man unter Umständen für Zwischenschritte, um Werte in die Register R0 - R15 laden zu können. Man sollte also diese Register nicht zu schnell fest belegen und vollräumen, damit man dafür noch Spielraum behält.&lt;br /&gt;
**Auch doch recht simple IF .. ELSE Konstrukte können ein gewisses vorher überlegtes Konzept brauchen, sonst verliert man schnell den Überblick. Ein Blatt Papier und ein Bleistift sind also recht hilfreich. Assembler schreibt man nicht einfach in den Bildschirm rein.&lt;br /&gt;
&lt;br /&gt;
==Schleifen==&lt;br /&gt;
Eigentlich ist das ja nichts speziell Assembler-spezifisches, aber was soll's. &lt;br /&gt;
===Flußdiagramme===&lt;br /&gt;
Es gibt zwei Grundmuster für Schleifen (Befehlswiederholungen).&lt;br /&gt;
&lt;br /&gt;
*WHILE  &amp;quot;solange ''Bedingung'' erfüllt ist, mache was&amp;quot;&lt;br /&gt;
[[Bild:While.png]]&lt;br /&gt;
&lt;br /&gt;
*DO...LOOP WHILE  &amp;quot;mache was, solange ''Bedingung'' erfüllt ist&amp;quot;&lt;br /&gt;
[[Bild:DoWhile.png]]&lt;br /&gt;
&lt;br /&gt;
Der Unterschied ist wichtig: Bei &amp;quot;WHILE&amp;quot; wird nur was gemacht, wenn die Bedingung schon zutrifft, Bei &amp;quot;DO..WHILE&amp;quot; werden die Befehle auf jeden Fall wenigstens einmal ausgeführt, erst dann wird gecheckt, ob wiederholt werden soll.&lt;br /&gt;
&lt;br /&gt;
===Praxis===&lt;br /&gt;
Theoretisch sieht das ja gut aus, und mit Hochsprachen kann man das auch meist so formulieren. Beim Assembler geht das aber nur so schön übersichtlich, wenn man nur eine einzelne Bedingung hat. Eine einfache Zähl-Schleife in der &amp;quot;WHILE&amp;quot; Version:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$asm&lt;br /&gt;
   LDI   r25, 0         ' R25 = 0&lt;br /&gt;
   LDI   r24, 1         ' R24 = 1&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12           ' Der Befehl ist neu: vergleiche R25 mit dem festen Wert &amp;quot;12&amp;quot; &lt;br /&gt;
   BREQ  SchleifenAusgang  ' Wenn R25 = 12, verlassen wir die Schleife&lt;br /&gt;
   ADD   R25, R24          ' auf R25 den Wert von R24 draufaddieren &lt;br /&gt;
   RJMP  SchleifenBeginn   ' und wieder rauf zur Prüfung&lt;br /&gt;
SchleifenAusgang:&lt;br /&gt;
   ...&lt;br /&gt;
$end Asm&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Was geschieht, ist klar: R25 beginnt mit Null. Wenn der R25 NICHT= &amp;quot;12&amp;quot;, addieren wir &amp;quot;1&amp;quot; auf R25 und wiederholen das Ganze. Wenn R25 = &amp;quot;12&amp;quot;, verlassen wir die Schleife. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nehmen wir aber an, wir hätten zwei Bedingungen (es geht hier nicht um Sinn oder Unsinn der Abfrage):&lt;br /&gt;
*WHILE R25 NICHT= &amp;quot;12  UND R24 = &amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12           ' Der Befehl ist neu: vergleiche R25 mit dem festen Wert &amp;quot;12&amp;quot; &lt;br /&gt;
   BREQ  SchleifenAusgang  ' Wenn R25 = 12, verlassen wir die Schleife&lt;br /&gt;
   CPI   R24, 1            ' s.o&lt;br /&gt;
   BRNE  SchleifenAusgang  ' Wenn R24 NICHT= 1, verlassen wir die Schleife&lt;br /&gt;
   ADD   R25, R24          ' auf R25 den Wert von R24 draufaddieren &lt;br /&gt;
   RJMP  SchleifenBeginn   ' und wieder rauf zur Prüfung&lt;br /&gt;
SchleifenAusgang:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*WHILE R25 NICHT= &amp;quot;12  ODER R24 &amp;lt; R25&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 &lt;br /&gt;
SchleifenBody:&lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  SchleifenBody&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn wir da nicht im Kommentar dazuschreiben, worum es geht, kennt sich ein Fremder erst nach einiger Überlegung aus.&lt;br /&gt;
&lt;br /&gt;
===Tips===&lt;br /&gt;
Mehrere Bedingungen in eine UND-ODER Beziehung sind immer fehleranfällig und leicht unübersichtlich&lt;br /&gt;
&lt;br /&gt;
*Als Erstes immer die RICHTIGE (und am besten verständliche) Lösung suchen, und erst dann durch Umformungen die &amp;quot;SCHÖNE&amp;quot; Lösung. &lt;br /&gt;
&lt;br /&gt;
*Also nochmal das obige &amp;quot;ODER&amp;quot; Beispiel, erst in der vollen Grundform&lt;br /&gt;
&lt;br /&gt;
 WHILE  ( R25 NICHT= &amp;quot;12 ) ODER  ( R24 &amp;lt; R25 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12           ' R25 &amp;lt;=&amp;gt; 12&lt;br /&gt;
   BREQ  R25_ist_12&lt;br /&gt;
   JMP   R25_ist_nicht_12&lt;br /&gt;
&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   ADD   R25, R24          ' der &amp;quot;BODY&amp;quot; steht ja fest &lt;br /&gt;
   RJMP  SchleifenBeginn   ' das ist auch sicher&lt;br /&gt;
&lt;br /&gt;
SchleifenAusgang:          ' ausgang gibt es (eigentlich) immer&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das fehlt was ? Ja, denn jetzt erst sollten wir die Ziele auch hinschreiben&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Wir machen den &amp;quot;body&amp;quot; immer, wenn   r25 nicht gleich 12&lt;br /&gt;
&lt;br /&gt;
also schreiben wir das hin&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12           ' &lt;br /&gt;
   BREQ  R25_ist_12&lt;br /&gt;
   JMP   R25_ist_nicht_12  ' abgehakt&lt;br /&gt;
&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25&lt;br /&gt;
&lt;br /&gt;
R25_ist_nicht_12:          ' &lt;br /&gt;
   ADD   R25, R24          ' &lt;br /&gt;
   RJMP  SchleifenBeginn   ' &lt;br /&gt;
&lt;br /&gt;
SchleifenAusgang:          ' &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Wir machen den &amp;quot;body&amp;quot; immer, wenn   r24 kleiner als r25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12&lt;br /&gt;
   JMP   R25_ist_nicht_12           ' abgehakt&lt;br /&gt;
&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        ' abgehakt&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25  ' &lt;br /&gt;
&lt;br /&gt;
r24_ist_kleiner_r25:&lt;br /&gt;
R25_ist_nicht_12:           &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn    &lt;br /&gt;
&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anmerkung: wir können an der selben Stelle beliebig viele Label vergeben&lt;br /&gt;
&lt;br /&gt;
3. Was ist, wenn r25 = 12 ?  dann müssen wir die zweite Bedingung prüfen (ist ja ein ODER) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 ' abgehakt&lt;br /&gt;
   JMP   R25_ist_nicht_12           ' abgehakt&lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        ' abgehakt&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25  ' &lt;br /&gt;
&lt;br /&gt;
r24_ist_kleiner_r25:&lt;br /&gt;
R25_ist_nicht_12:           &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn    &lt;br /&gt;
&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
4. Bleibt nurmehr &amp;quot;r24 ist nicht kleiner r25&amp;quot;.  Da geht's offenbar dann hin, wenn KEINE der Bedingungen erfüllt ist, also: raus aus der Schleife&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 ' abgehakt &lt;br /&gt;
   JMP   R25_ist_nicht_12           ' abgehakt &lt;br /&gt;
&lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        ' abgehakt&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25  ' abgehakt&lt;br /&gt;
&lt;br /&gt;
r24_ist_kleiner_r25:&lt;br /&gt;
R25_ist_nicht_12:           &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
  &lt;br /&gt;
r24_ist_nicht_kleiner_r25:&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt ist das Ganze zwar nicht elegant, aber richtig und leicht nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
Wenn der Sprungbefehl und das Ziel unmittelbar hintereinander stehen, können wir uns den Sprung sparen. Also bauen wir etwas um, damit das auch so ist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 '&lt;br /&gt;
   JMP   R25_ist_nicht_12           ' steht jetzt direkt dahinter&lt;br /&gt;
&lt;br /&gt;
r24_ist_kleiner_r25:                'den ganzen Block raufgeschoben &lt;br /&gt;
R25_ist_nicht_12:           &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
&lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        '&lt;br /&gt;
   JMP   r24_ist_nicht_kleiner_r25  ' steht jetzt direkt dahinter&lt;br /&gt;
 &lt;br /&gt;
r24_ist_nicht_kleiner_r25:&lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und kürzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 &lt;br /&gt;
r24_ist_kleiner_r25:      &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        &lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ob das nun ein &amp;quot;WHILE&amp;quot; oder ein &amp;quot;DO..WHILE&amp;quot;  wird, hängt nurmehr davon ab, wo wir zu Beginn in die Befehlsfolge reinspringen. &lt;br /&gt;
*Von oben weg, wie es dort steht, ist es eine &amp;quot;WHILE&amp;quot; Schleife&lt;br /&gt;
*Eine &amp;quot;DO..WHILE&amp;quot; Schleife (Bedingung am Ende prüfen) wird es, wenn wir zuerst mit dem &amp;quot;Body&amp;quot; beginnen. Also &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   JMP   r24_ist_kleiner_r25     ' Erst die Aktion, DANN die Bedingung prüfen &lt;br /&gt;
SchleifenBeginn:&lt;br /&gt;
   CPI   R25, 12            &lt;br /&gt;
   BREQ  R25_ist_12                 &lt;br /&gt;
r24_ist_kleiner_r25:      &lt;br /&gt;
   ADD   R25, R24           &lt;br /&gt;
   RJMP  SchleifenBeginn  &lt;br /&gt;
R25_ist_12:&lt;br /&gt;
   CP    R24, R25&lt;br /&gt;
   BRLO  r24_ist_kleiner_r25        &lt;br /&gt;
SchleifenAusgang:           &lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist doch praktisch ? &lt;br /&gt;
&lt;br /&gt;
Assembler-mäßig ist das nun ok und erträglich. Aber mit dem theoretischen WHILE-Flußdiagramm hat das nun nicht mehr viel gemeinsam.&lt;br /&gt;
&lt;br /&gt;
==Weg vom Simulator auf den µC==&lt;br /&gt;
Jetzt wird's Zeit, die ersten Schritte in die AVR-Realität zu machen, immer Simulator ist ja langweilig, fast so, als würden wir im Trockenen schwimmen lernen müssen. &lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir vom Bascom ja nur die äussere Programmhülle verwendet, jetzt soll er doch auch wirklich was tun. &lt;br /&gt;
&lt;br /&gt;
===Datenaustausch mit BasCom===&lt;br /&gt;
Das funktioniert über Datenfelder, die wir irgendwie definieren müssen. Weil's so einfach ist, lassen wir das erstmal Bascom übernehmen. Das ist kein Rückschritt auf dem Weg zum Assemblerprogrammierer, denn das Definieren von Daten ist ja nichts anderes, als Felderen im SRAM (also im eigentlichen Arbeitsspeicher) Namen zuzuweisen. Über den Namen kann man diese Felder dann auch im Assembler ansprechen. &lt;br /&gt;
&lt;br /&gt;
*'''Bascom--&amp;gt;Assembler'''&lt;br /&gt;
Damit Bascom ein Feld für uns definiert, sagen wir einfach (aber außerhalb der &amp;quot;$asm&amp;quot; / &amp;quot;$end asm&amp;quot; Bereiches) &lt;br /&gt;
 DIM Meinfeld AS BYTE &lt;br /&gt;
Im Bascom, das weiß der Leser vielleicht ja schon, kann man da Werte reinschreiben, so wie wir das mit dem &amp;quot;LDI&amp;quot; Befehl bei Registern gemacht haben&lt;br /&gt;
  Meinfeld = 85 &lt;br /&gt;
Jetzt steht an irgendeiner Speicherstelle (egal wo, wir sprechen es eh' nur über den Namen an) der Binärwert von 85  (Hexadezimal &amp;amp;H55 oder in Bits &amp;amp;B01010101).&lt;br /&gt;
Dieses Feld können wir aber nun auch mit dem Assembler lesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte           ' definition&lt;br /&gt;
&lt;br /&gt;
   Meinfeld = 85               'Wertzuweisung&lt;br /&gt;
&lt;br /&gt;
   $asm&lt;br /&gt;
   lds   r24, {Meinfeld}        '(das sind zwei geschwungene Klammern)&lt;br /&gt;
                                ' das ist wieder ein neuer Befehl: &amp;quot;LDS&amp;quot;&lt;br /&gt;
   $end Asm&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;LDS&amp;quot; lädt in ein beliebiges Register den Wert von der Speicherstelle, die &amp;quot;Meinfeld&amp;quot; heißt. &lt;br /&gt;
&lt;br /&gt;
*'''Assembler--&amp;gt;Bascom'''&lt;br /&gt;
Das geht auch umgekehrt. Wenn wir den Bascomteil noch etwas vervollständigen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000               ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                     ' die Baudrate für das Terminal&lt;br /&gt;
                                 ' dadurch macht Bascom alle Einstellungen, die wir für das &lt;br /&gt;
                                 ' Terminal brauchen&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte      ' definition&lt;br /&gt;
&lt;br /&gt;
   $asm&lt;br /&gt;
   LDI   R24, 85&lt;br /&gt;
   STS   {Meinfeld}, R24  ' &amp;quot;STS&amp;quot; ist das Gegenstück zu &amp;quot;LDS&amp;quot;, also vom Register zum Speicher&lt;br /&gt;
   $end Asm&lt;br /&gt;
&lt;br /&gt;
   PRINT  str(Meinfeld)   ' Und schon gibt uns Bascom den Wert (dezimal) auf dem Terminal aus&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Das ist der Vorteil den wir haben, wenn wir Assembler mit Bascom anfangen und nicht mit einem &amp;quot;richtigen&amp;quot; Assembler wie das AVR-Studio. Denn das Gefummel mit der Terminalausgabe erledigt alles Bascom, sonst müßten wir es selbst erst wo abschreiben oder lernen, bis wir auch nur einen Pieps auf dem Terminal sehen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Wenn es interessiert: Das, was wir zuletzt im Assembler geschrieben haben, ist auch genau das, was Bascom an Maschinencode produziert, wenn wir &lt;br /&gt;
 Meinfeld = 85&lt;br /&gt;
hinschreiben&lt;br /&gt;
&lt;br /&gt;
*'''Bascom--&amp;gt;Assembler--&amp;gt;Bascom'''&lt;br /&gt;
Noch immer können wir nur mit fest einprogrammierten Werten arbeiten, d.h. für was anderes als &amp;quot;85&amp;quot; müssen wir ändern, übersetzen und brennen.&lt;br /&gt;
&lt;br /&gt;
Wir wollen nun versuchen, etwas über das Terminal einzugeben, bearbeiten und dann wieder ausgeben. &lt;br /&gt;
&lt;br /&gt;
'''Flußdiagramm'''&lt;br /&gt;
&lt;br /&gt;
[[Bild:InOut.png]]&lt;br /&gt;
&lt;br /&gt;
Den Input lassen wir Bascom übernehmen. INKEY() holt einen Wert von der Tastatur. Er wartet aber nicht, bis was gedrückt wird, sondern gibt einfach NULL aus, wenn nix da ist. &lt;br /&gt;
Wir arbeiten also nur etwas, wenn ein Wert &amp;gt; NULL da ist. &lt;br /&gt;
&lt;br /&gt;
*Zuerst übernehmen wir nur den Part &amp;quot;Bearbeitung&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000               ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                     ' die Baudrate für das Terminal&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte             &lt;br /&gt;
DO&lt;br /&gt;
   Meinfeld = INKEY()            '&amp;quot;EINGABE&amp;quot;&lt;br /&gt;
   IF Meinfeld &amp;lt;&amp;gt; 0 THEN         '&amp;quot;BEDINGUNG&amp;quot;&lt;br /&gt;
       $asm                      '&amp;quot;BEARBEITUNG&amp;quot;&lt;br /&gt;
       lds   r24, {Meinfeld}&lt;br /&gt;
       '-------- Da kommt dann Code rein&lt;br /&gt;
       STS   {Meinfeld}, R24  &lt;br /&gt;
       $end Asm&lt;br /&gt;
       PRINT  str(Meinfeld)      '&amp;quot;AUSGABE&amp;quot;&lt;br /&gt;
   END IF&lt;br /&gt;
&lt;br /&gt;
   LOOP                          'Wiederholung&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, wie das Beispiel jetzt ist, ändern wir aber nichts wirklich, sondern schauen mal, was passiert.&lt;br /&gt;
&lt;br /&gt;
Und es passiert Merkwürdiges:&lt;br /&gt;
&lt;br /&gt;
Wenn wir das laufen lassen und in vielleicht gewohnter Manier &amp;quot;85&amp;quot; tippen und &amp;lt;ENTER&amp;gt; drücken, erscheint auf dem Terminal &lt;br /&gt;
 56&lt;br /&gt;
 53&lt;br /&gt;
 13&lt;br /&gt;
Einerseits ist es ja klar, wenn wir drei Tasten drücken, kriegen wir auch dreimal was zurück, aber wie bekommen wir dann in EIN Byte EINE Zahl &amp;quot;85&amp;quot; ? &lt;br /&gt;
&lt;br /&gt;
Also ein kurzer Side-Step.&lt;br /&gt;
&lt;br /&gt;
==Das Byte und seine vielen Bedeutungen==&lt;br /&gt;
&lt;br /&gt;
Nach wie vor ist klar: Ein Byte besteht aus 8 Bit, die in 256 Möglichkeiten kombiniert werden können. &lt;br /&gt;
&lt;br /&gt;
Das sagt aber nicht aus, was irgendeine dieser Bit-Kombinationen eigentlich '''bedeutet'''.&lt;br /&gt;
&lt;br /&gt;
*Das Byte als Bit-Container&lt;br /&gt;
Da hat jedes Bit seine eigene Bedeutung, unabhängig von den anderen. Also einfach &amp;quot;Schalter&amp;quot; und/oder JA-Nein Anzeigen. &lt;br /&gt;
&lt;br /&gt;
Typisch: '''Status-Register (SREG)'''.&lt;br /&gt;
&lt;br /&gt;
*Das Byte als (binär) Zahl. Hier repräsentieren die 256 Möglichkeiten wirklich die Zahlen von 0-255. Mit diesen Zahlen kann nach den binären Regeln gerechnet werden. &lt;br /&gt;
*Das Byte als zwei '''BCD'''Zahlen. Da besteht das Byte eigentlich aus zweimal 4 Bit (&amp;quot;Nibbles&amp;quot;). Jedes Nibble stellt die Zahlen 0 - 9 dar. Ist inzwischen eine recht exotische Verwendung, überhaupt als &amp;quot;gepacktes&amp;quot; Format, wo in einem Nibble auch noch ein Vorzeichen reinkodiert wurde. &lt;br /&gt;
*Das Byte als (binär) Zahl mit Vorzeichen. Das ist eine Kombination von Zahl und Schalter. Das Bit 2^^7 zeigt das Vorzeichen an. Solange es NULL ist, können die restlichen 7 Bit für Zahlen von (+) 0 - 127 normal verwendet werden. Ist das Vorzeichenbit = &amp;quot;1&amp;quot;, gelten die anderen Bit als Negativ-Zahl. Und sie werden als 2- Komplement dargestellt, d.h. 11111111 = -1. Dadurch geht das Bereich von -128 (10000000) bis +127 (01111111).&lt;br /&gt;
*Das Byte als Zahl, die Zahl ist aber ein Tabellenwert in einer standardisierten Tabelle.  &lt;br /&gt;
Typisch: '''ASCII und seine Varianten'''. Was heißt das ? Nun, gespeichert und hin-und hergeschickt wird zum Beispiel 01000001, das bedeutet aber nicht &amp;amp;H41 oder dezimal 65, sondern das, was in der ASCII-Tabelle an der Stelle 65 steht, und das ist ein großes &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ich werd' mich hüten, hier eine ASCII-Tablle reinzustellen, die gibt es im Internet in Massen. Festgelegt sind die Werte 0 - 127. Wichtig ist nur die Gruppierung:&lt;br /&gt;
*0-31 sind &amp;quot;Steuerzeichen&amp;quot; für die Kommunikation. (&amp;quot;13&amp;quot; stellt das berühmte &amp;lt;ENTER&amp;gt; dar)&lt;br /&gt;
*32 bezeichnet eine Leerstelle (&amp;quot;blank&amp;quot;)&lt;br /&gt;
*48 - 57  für die Ziffern 0 - 9&lt;br /&gt;
*65 - 90  Großbuchstaben &amp;quot;A&amp;quot; bis &amp;quot;Z&amp;quot;&lt;br /&gt;
*97 - 122 Kleinbuchstaben &amp;quot;a&amp;quot; bis &amp;quot;z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Numerischer Input vom Terminal==&lt;br /&gt;
Nachdem sich offenbar unterscheidet, was wir direkt vom Terminal bekommen und was wir davon brauchen können, brauchen wir ein zweites Datenfeld. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000               ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                     ' die Baudrate für das Terminal&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte             ' das bekommen wir vom Terminal&lt;br /&gt;
Dim Meinezahl As Byte            ' das soll die eigentliche Zahl werden&lt;br /&gt;
&lt;br /&gt;
DO&lt;br /&gt;
   Meinfeld = INKEY()            '&amp;quot;EINGABE&amp;quot;&lt;br /&gt;
   IF Meinfeld &amp;lt;&amp;gt; 0 THEN         '&amp;quot;BEDINGUNG&amp;quot;&lt;br /&gt;
       $asm                      '&amp;quot;BEARBEITUNG&amp;quot;&lt;br /&gt;
       '....   CODE .... (s.u.)&lt;br /&gt;
       $end Asm&lt;br /&gt;
       PRINT  str(Meinezahl)     'die zeigt er nach jeder Taste an&lt;br /&gt;
   END IF&lt;br /&gt;
   LOOP                          'Wiederholung&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Soweit das Gerüst bzw. der Rahmen. In &amp;quot;Meinfeld&amp;quot; stellt der Bascom rein, was getippt wurde und wir müssen das verarbeiten und stellen das jeweilige Ergebnis nach &amp;quot;Meinezahl&amp;quot; rein. &lt;br /&gt;
&lt;br /&gt;
Was ist zu tun ? &lt;br /&gt;
*Prüfen, was getippt wurde.&lt;br /&gt;
*davon abhängig &lt;br /&gt;
**Meinfeld=13 (&amp;lt;ENTER&amp;gt;). Die bisher bekommene Zahl ist komplett, jetzt könnten wir mit ihr irgendetwas rechnen oder sonstwas tun. &lt;br /&gt;
**Meinfeld= 48-57 ('0'-'9'). &lt;br /&gt;
***Das, was bisher in &amp;quot;Meinezahl&amp;quot; steht, multiplizieren wir mit 10, an der Einerstelle steht nun auf jeden Fall einen NULL, die bisherigen Zahlen links davon.&lt;br /&gt;
***Und dann müssen wir das, was reingekommen ist, auf binär 0-9 umwandeln und draufaddieren. &lt;br /&gt;
**Alles Andere ignorieren wir einfach.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000                                          ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                                                ' die Baudrate für das Terminal&lt;br /&gt;
&lt;br /&gt;
Dim Meinfeld As Byte&lt;br /&gt;
Dim Meinezahl As Byte&lt;br /&gt;
Do&lt;br /&gt;
   Meinfeld = Inkey()                                       '&amp;quot;EINGABE&amp;quot;&lt;br /&gt;
   If Meinfeld &amp;lt;&amp;gt; 0 Then                                    '&amp;quot;BEDINGUNG&amp;quot;&lt;br /&gt;
       $asm                                                 '&amp;quot;BEARBEITUNG&amp;quot;&lt;br /&gt;
       lds     r22, {Meinezahl}                             'die bisherige Zahl&lt;br /&gt;
       lds     r24, {Meinfeld}                              'die neue Ziffer&lt;br /&gt;
       cpi     r24, 13                                      '&amp;lt;ENTER&amp;gt; ?&lt;br /&gt;
       brne    Is_numerisch&lt;br /&gt;
       ' ENTER Gedrückt&lt;br /&gt;
       ' Zahl verarbeiten&lt;br /&gt;
       ' dann löschen für ein Neues&lt;br /&gt;
       clr   r22&lt;br /&gt;
       rjmp    Fertig&lt;br /&gt;
Is_numerisch:&lt;br /&gt;
       cpi     r24, 48                                      '48 = '0'&lt;br /&gt;
       brlo    Fertig                                       'keine Ziffer--&amp;gt;ignorieren&lt;br /&gt;
       cpi     r24, 57 + 1                                  '57 = '9'&lt;br /&gt;
       brsh    Fertig                                       'keine Ziffer--&amp;gt;ignorieren&lt;br /&gt;
Einfügen:&lt;br /&gt;
' Bisherige Zahl * 10   Methode:  n * 10 =&amp;gt; n (8 + 2) =&amp;gt; n * 8 + n * 2&lt;br /&gt;
       lsl     r22                                          ' (n * 2)&lt;br /&gt;
       mov     r23, r22                                     ' kopieren&lt;br /&gt;
       lsl     r23                                          ' (n * 2) * 2&lt;br /&gt;
       lsl     r23                                          ' (n * 2 * 2) * 2&lt;br /&gt;
       add     r22, r23                                     'n * 8 + n * 2&lt;br /&gt;
' neue Ziffer umwandeln&lt;br /&gt;
       andi    r24, 15&lt;br /&gt;
' und addieren&lt;br /&gt;
       add     r22, r24&lt;br /&gt;
Fertig:&lt;br /&gt;
       STS   {Meinezahl}, R22&lt;br /&gt;
       $end Asm&lt;br /&gt;
       Print Str(meinezahl)                                 '&amp;quot;AUSGABE&amp;quot;&lt;br /&gt;
   End If&lt;br /&gt;
   Loop                                                     'Wiederholung&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Da sind ein paar Sachen dabei, die hatten wir noch nicht&lt;br /&gt;
&lt;br /&gt;
*Ich beginne mal von hinten: Bei &amp;quot;Fertig&amp;quot; wird das Register R22 nach &amp;quot;Meinezahl&amp;quot; geschrieben, Bascom zeigt es dann her. Wir müssen also sehen, das in R22 immer das Richtige drin steht.&lt;br /&gt;
*Also, jetzt wieder von vorn, wir holen den bisherigen Wert von &amp;quot;Meinezahl&amp;quot; gleich mal ins R22.&lt;br /&gt;
(Das ist am Anfang einfach NULL)&lt;br /&gt;
*Dann die neue Eingabe in R24&lt;br /&gt;
*Die vergleichen wir mir &amp;quot;13&amp;quot; == &amp;lt;ENTER&amp;gt;&lt;br /&gt;
**ist es eine andere Eingabe (BRNE), schauen wir bei &amp;quot;Is_numerisch&amp;quot; weiter&lt;br /&gt;
**Wenn aber ja, könnten wir jetzt was tun. Wir machen aber weiter nichts, löschen aber R22 und damit &amp;quot;Meinezahl&amp;quot; (s.o) auf NULL, damit wir für eine neue Eingabe bereit sind.&lt;br /&gt;
*Is_numerisch: &lt;br /&gt;
**Die Eingabe ist kleiner als 48 ('0'), keine Ziffer, wir sind auch schon fertig&lt;br /&gt;
**Jetzt müßten wir vergleichen, ob die Eingabe größer als 57 ('9') ist. Das geht nicht [[Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User#Verzweigen|(siehe weiter oben bei den Verzweigungen)]], also vergleichen wir mit 57+1, bei gleich oder größer ist die Eingabe auch keine Ziffer, also --&amp;gt; fertig.&lt;br /&gt;
*Einfügen: &lt;br /&gt;
**Bisheriger Wert * 10: Bei manchen µC gibt es einen Multiplikationsbefehl, aber diese einfache Rechnung machen wir zu Fuß, ist einfach mehr Spaß und mehr neue Befehle. &lt;br /&gt;
&lt;br /&gt;
n * 10 kann man ja zerlegen in n*(8+2). Und sowohl 8 als auch 2 sind ja 2-er Potenzen, da kann einfach Bit-weise nach links schieben.&lt;br /&gt;
 &amp;quot;LSL  R22&amp;quot;  ist gleich  R22 * 2   &amp;quot;LSL  Logical Shift Left&amp;quot;&lt;br /&gt;
damit haben wir schon mal Meinezahl * 2 gerechnet. Das kopieren wir nach R23 und schieben dort noch zweimal nach links. In R23 steht nun also insgesamt Meinezahl * 8. Das addieren wir nun.  &lt;br /&gt;
*Umwandeln: Die Ziffern '0'-'9', also 48 - 57 schauen hexadezimal ja so aus:&lt;br /&gt;
 0x30 = dezimal 48 = ASCII '0' bis &lt;br /&gt;
 0x39 = dezimal 57 = ASCII '9'&lt;br /&gt;
Wir brauchen also nur die '3' irgendwie zu löschen, dann haben wir sofort unsere 0-9. Das geschieht durch &lt;br /&gt;
 ANDI     R24, 15          ' &amp;quot;AND&amp;quot; mit einer Konstanten &lt;br /&gt;
In R24 bleiben nur die 1-er übrig, wo auch in '15' ein 1-er ist. Damit ist die '3' weg.&lt;br /&gt;
*Addieren&lt;br /&gt;
 ADD  R22, r24           'Meinezahl + neuerWert&lt;br /&gt;
und fertig. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Anmerkung: Wir haben noch keine Prüfung, ob die Zahl für ein Byte nicht zu groß wird. Wenn wir also 9999 eintippen, kommt Schrott heraus.&lt;br /&gt;
&lt;br /&gt;
==Mehr als ein Byte==&lt;br /&gt;
Mit einzelnen Bytes geht es ja jetzt schon recht gut. Aber es gibt ja auch größere Zahlen. &lt;br /&gt;
===16 Bit Zahlen===&lt;br /&gt;
Das nächstgrößere ist eine 16-Bit Zahl. Bei Bascom ist das dann ein &lt;br /&gt;
*WORD   für den Zahlenbereich 0 - 65535 und &lt;br /&gt;
*INTEGER für -32768 bis +32767&lt;br /&gt;
&lt;br /&gt;
Beides wird in zwei hintereinanderliegenden Bytes gespeichert, also  &lt;br /&gt;
 MeinByte und &lt;br /&gt;
 MeinByte + 1&lt;br /&gt;
Und zwar so, daß erst das niederwertigere und dann das höherwertige Byte gespeichert werden. &lt;br /&gt;
Also die 16-Bit Binärzahl  &lt;br /&gt;
 0001001000110100 = Hexadezimal &amp;amp;H1234 &lt;br /&gt;
steht im Speicher in zwei Bytes als&lt;br /&gt;
 00110100 00010010 =  &amp;amp;H34 &amp;amp;H12&lt;br /&gt;
&lt;br /&gt;
Genauso ist es mit den Registern, üblicherweise steht das erste Byte in einem geradzahligen Register und das zweite im nächsthöherem. z.B.:&lt;br /&gt;
 R24: 00110100 =  &amp;amp;H34&lt;br /&gt;
 R25: 00010010 =  &amp;amp;H12&lt;br /&gt;
Sowas nennt man dann &amp;quot;Register-Paar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Der AVR µC kann einige seiner 32 Register als Registerpaar verwenden. Das sind &lt;br /&gt;
 R0:R1       (aber nur bei den Multiplikationsbefehlen für das Ergebnis)&lt;br /&gt;
 R24:R25     (für 16-Bit Berechnungen)&lt;br /&gt;
 R26:R27     (für 16-Bit Berechnungen und als &amp;quot;Pointer&amp;quot; X)&lt;br /&gt;
 R28:R29     (für 16-Bit Berechnungen und als &amp;quot;Pointer&amp;quot; Y)&lt;br /&gt;
 R30:R31     (für 16-Bit Berechnungen und als &amp;quot;Pointer&amp;quot; Z)&lt;br /&gt;
Wobei es aber nur zwei solche Berechnungen gibt&lt;br /&gt;
 ADIW     R24 , zahl       ' addieren zahl auf r24:r25&lt;br /&gt;
 SBIW     R24 , zahl       ' subtrahieren zahl von r24:r25&lt;br /&gt;
Die anderen 16-Bit Befehle sind eher Adress-Arithmetik. &lt;br /&gt;
&lt;br /&gt;
*Datenaustausch Bascom &amp;lt;=&amp;gt; Assembler&lt;br /&gt;
Um ein WORD (oder INTEGER) mit Bascom auszutauschen, geht z.B. folgendes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM word_1 AS WORD&lt;br /&gt;
     $asm&lt;br /&gt;
     LDS      R24, {word_1}    'holen Byte 1  (bits 0-7)&lt;br /&gt;
     LDS      R25, {word_1+1}  'holen Byte 2  (bits 8-15)&lt;br /&gt;
     ADIW     R24, 42          'addieren von 42 auf das Paar r24:r25&lt;br /&gt;
     STS      {word_1}, R24    'speichern Byte 1&lt;br /&gt;
     STS      {word_1+1}, R25  'speichern Byte 2&lt;br /&gt;
     $end asm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Arithmetik mit 16 Bit &lt;br /&gt;
Der Unterschied zur 8-Bit Verarbeitung ist eigentlich nicht groß. Es gibt zu allen Arithmetik Befehlen des AVR eine &amp;quot;Carry&amp;quot;-Variante, die einen Übertrag von der Aktion vorher berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Angenommen zwei 16-Bit Werte in den Registerpaaren R24:R25 und R22:R23&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ADD    R24, R22           'Addieren der niederwertigen Bytes&lt;br /&gt;
 ADC    R25, R23           'Addieren der höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
&lt;br /&gt;
 SUB    R24, R22           'Subtrahieren der niederwertigen Bytes&lt;br /&gt;
 SBC    R25, R23           'Subtrahieren der höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Vergleichen mit 16 Bit &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CP     R24, R22           'Vergleich der niederwertigen Bytes&lt;br /&gt;
 CPC    R25, R23           'Vergleich der höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
           ' jetzt können die normalen &amp;quot;bedingte Verzweigung&amp;quot;-Befehle verwendet werden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===32 Bit Zahlen===&lt;br /&gt;
Bei Bascom heissen die LONG und die sind immer Vorzeichenbehaftet. Im AVR Instructionset gibt es keine 32-Bit Befehle. Die physische Speicherung ist wie bei den 16-Bit Feldern&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM long_1 AS LONG&lt;br /&gt;
     $asm&lt;br /&gt;
     LDS      R24, {long_1}    'holen Byte 1  (bits 0-7)&lt;br /&gt;
     LDS      R25, {long_1+1}  'holen Byte 2  (bits 8-15)&lt;br /&gt;
     LDS      R26, {long_1+2}  'holen Byte 3  (bits 16-23)&lt;br /&gt;
     LDS      R27, {long_1+3}  'holen Byte 4  (bits 24-31)&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Arithmetik mit 32 Bit &lt;br /&gt;
Eigentlich läuft das ab 16-Bit immer gleich ab, und man kann genauso 24-Bit wie 40 oder 48 Bit rechnen. &lt;br /&gt;
Angenommen zwei 32-Bit Werte in den Registern  R16-&amp;gt;R19 und R20-&amp;gt;R23&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ADD    R16, R20           'Addieren der niederwertigen Bytes&lt;br /&gt;
 ADC    R17, R21           'Addieren des nächst-höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
 ADC    R18, R22           'Addieren des nächst-höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
 ADC    R19, R23           'Addieren des nächst-höherwertigen Bytes + ev. Überlauf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Single und Double Zahlen===&lt;br /&gt;
das sind 32- bzw. 64-Bitzahlen, allerdings haben die eine eigene Float-Struktur. Das ist dann schon ein eigenes Thema, mit denen was zu machen. &lt;br /&gt;
&lt;br /&gt;
===Strings===&lt;br /&gt;
Strings sind Bytefolgen, in denen ASCII-Zeichen einfach von links nach rechts gespeichert werden können. Das Ende-Kennzeichen der immer variabel langen Texte ist ein NULL-Byte. Daher braucht in Bascom ein String für (max) 20 Zeichen lange Strings auch in Wirklichkeit 21 Byte Speicher.&lt;br /&gt;
&lt;br /&gt;
Strings sind gut geeignet, eine andere Art vorzustellen, wie man Daten lesen oder speichern kann: Über POINTER-Register&lt;br /&gt;
&lt;br /&gt;
Gleich ganz in die Praxis: Wir wollen die Länge eines Bascom-Strings festellen, natürlich im Assembler&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000                                          ' der Quartz, den wir verwenden&lt;br /&gt;
$baud = 9600                                                ' die Baudrate für das Terminal&lt;br /&gt;
&lt;br /&gt;
Dim Text As String * 20                                     ' das ist der String&lt;br /&gt;
Dim Strlen As Byte                                          ' da sol die Länge rein&lt;br /&gt;
&lt;br /&gt;
      Text = &amp;quot;Hello, world !&amp;quot;                               ' wir befüllen den String&lt;br /&gt;
&lt;br /&gt;
      $asm&lt;br /&gt;
      Loadadr Text , X            '&amp;quot;adresse von Text nach R26:r27&amp;quot; &lt;br /&gt;
      clr      r24                'löschen vom Zähler&lt;br /&gt;
Schleife: &lt;br /&gt;
      ld       r22, X+            ' s.u.&lt;br /&gt;
      cpi      r22, 0             'Vergleichen mit NULL&lt;br /&gt;
      breq     Fertig             'fertig&lt;br /&gt;
      inc      r24                'Zähler erhöhen&lt;br /&gt;
      rjmp     Schleife           'weiter&lt;br /&gt;
Fertig:&lt;br /&gt;
      sts   {strlen}, r24         'ergebnis ablegen&lt;br /&gt;
      $end Asm&lt;br /&gt;
&lt;br /&gt;
      Print Str(strlen)           'herzeigen&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Loadadr''' ist ein Bascom-Statement, mit dem das Registerpaar R26:R27 mit der '''Adresse''' von &amp;quot;Text&amp;quot; geladen wird. In einem &amp;quot;echten&amp;quot; Assembler kann man das auch assemblermäßiger formulieren, aber in Bascom muß man das so machen&lt;br /&gt;
*'''LD'''&lt;br /&gt;
      ld       r22, X+        'Das Zeichen, wo X hinzeigt, nach R22 und X um eins erhöhen&lt;br /&gt;
Den Rest kennen wir eigentlich schon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ST''' ist übrigens das Gegenstück zu LD&lt;br /&gt;
      st       X+, r22        'R22 dorhin, wo X hinzeigt, und dann X um eins erhöhen&lt;br /&gt;
&lt;br /&gt;
==Bascom als Messlatte==&lt;br /&gt;
Eine sehr gute Möglichkeite, Assembler zu trainieren, ist es, irgendwelche Bascom-Statements durch eigene Inline-Assembler-Blöcke zu ersetzen. Dabei kann man immer auch Varianten ausprobieren. &lt;br /&gt;
*Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DIM  Wert1 AS WORD&lt;br /&gt;
DIM  Wert2 AS WORD&lt;br /&gt;
        Wert1 = Wert2   ' Bascom-Statement&lt;br /&gt;
&lt;br /&gt;
'als Inline-Assembler  EINE Möglichkeit&lt;br /&gt;
        $asm&lt;br /&gt;
        LDS     R24, {Wert1}&lt;br /&gt;
        STS     {Wert2}, R24&lt;br /&gt;
        LDS     R24, {Wert1+1}&lt;br /&gt;
        STS     {Wert2+1}, R24&lt;br /&gt;
        $end asm&lt;br /&gt;
'als Inline-Assembler  ANDERE Möglichkeit&lt;br /&gt;
        $asm&lt;br /&gt;
        LOADADR Wert1, X&lt;br /&gt;
        LD     R24, X+&lt;br /&gt;
        LD     R25, X+&lt;br /&gt;
        LOADADR Wert2, X&lt;br /&gt;
        ST     X+, R24&lt;br /&gt;
        ST     X+, R25&lt;br /&gt;
        $end asm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bascom_Inside-Code|Es gibt hier ein paar Beispiele]], wie Bascom dieses oder jenes in Maschinencode umsetzt, dabei ist es auch sehr lehrreich, erstmal zu überlegen, wie man es selbst machen würde, und dann erst nachzusehen, wie es Bacom gelöst hat.&lt;br /&gt;
&lt;br /&gt;
==ALU und Status-Register (SREG)==&lt;br /&gt;
Bisher haben wir nur von Zero-Bits und &amp;quot;Oberflow&amp;quot; bzw. Carry-Bit gesprochen und uns da ein wenig drübergeschwindelt. Es ist ja auch tatsächlich so, daß man mit dem bisher erworbenen Wissen ganze Legionen von Robotern programmieren kann. &lt;br /&gt;
&lt;br /&gt;
Aber ganz kommt man an den diversen Flags im Statusregister ja doch nicht vorbei, schon garnicht, wenn man ernsthafte Berechnungen anstellen will.  &lt;br /&gt;
&lt;br /&gt;
Zwei Bit im SREG brauchen wir an dieser Stelle aber nicht weiter zu beachten&lt;br /&gt;
*T-Bit oder Transfer-Bit. Das dient für einige Befehle als &amp;quot;Zwischendepot&amp;quot; für einzelne Bits&lt;br /&gt;
*Global Interrupt Enable-Bit. Wie der Name sagt, werden damit einfach alle Interrupts zugelassen oder eben nicht. Von Interrupts haben wir aber noch garnicht gesprochen &lt;br /&gt;
*Die andern Bits dienen der ALU (Arithmetic-Logical-Unit) als Ergebnis-Anzeige bei den ganzen arithmetisch-logischen Befehlen&lt;br /&gt;
===ALU (Recheneinheit)=== &lt;br /&gt;
Immer, wenn zwei Bytes zu vermangeln sind, geht das mit der Recheneinheit. Die hat 4 Byte zur Verfügung:&lt;br /&gt;
*Input-Byte A&lt;br /&gt;
*Input-Byte B&lt;br /&gt;
*Output-Byte R&lt;br /&gt;
*Statusregister SREG&lt;br /&gt;
(Daß er dabei Input A gleichzeitig als Output verwendet, ignorieren wir mal einfach, das verwirrt nur und ändert nix grundsätzliches)&lt;br /&gt;
&lt;br /&gt;
====Ein-Bit-Volladdierer==== &lt;br /&gt;
Wir wissen ja alle noch, wie das mit dem Addieren im 2-er System funktioniert ?  &lt;br /&gt;
 A   B    R&lt;br /&gt;
 0 + 0  = 0&lt;br /&gt;
 0 + 1  = 1&lt;br /&gt;
 1 + 0  = 1&lt;br /&gt;
 1 + 1  = 0  und Überlauf&lt;br /&gt;
Diesen Überlauf muß man nun an das nächsthöhere Bit weitergeben. Andererseits kommt von dem niedrigeren Bit ja auch ein Überlauf daher. Also sieht das für ein Bit dann so aus&lt;br /&gt;
[[Bild:ALU1.png]]&lt;br /&gt;
&lt;br /&gt;
====Mit 8-Bit==== &lt;br /&gt;
Für alle 8 Bit wird es etwas größer, ein paar direkte Status-Bit hab ich gleich eingezeichnet&lt;br /&gt;
[[Bild:ALU2.png]]&lt;br /&gt;
*Der Schalter &amp;quot;mit od. ohne Carry&amp;quot; ist da, ob man einen vorherigen Überlauf miteinbeziehen will &lt;br /&gt;
 ADD   register, register         OHNE Carry &lt;br /&gt;
 ADC   register, register         MIT  Carry&lt;br /&gt;
*N-Bit:  Ist einfach der Wert (0 oder 1), den das Bit 2^^7 im Ergebnis hat&lt;br /&gt;
*Z-Bit:  Steht im Ergebnis alles auf 0, wird das gesetzt&lt;br /&gt;
*Half-Carry: Das wird gesetzt, wenn es vom Bit 2^^3 einen Überlauf in Richtung 2^^4 gegeben hat. (Das braucht man, wenn man mit BCD-Zahlen, also nur von 0-9 rechnen will. Dazu später, wenn Interesse da ist)&lt;br /&gt;
*Carry-Bit: Ist nun klar, das ist einfach der Überlauf vom 2^^7 Bit.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;S&amp;quot; und &amp;quot;V&amp;quot; Bit====&lt;br /&gt;
=====8 Bit mit Vorzeichen=====&lt;br /&gt;
Kurze Wiederholung *gähn*, wie das mit den Vorzeichen ist: Man &amp;quot;spiegelt&amp;quot; die Zahlen an der Null-Stelle. Nehmen wir an, wir haben grad eine NULL im Byte. Ziehen wir jetzt 1 ab, soll ja offenbar -1 rauskommen. Was steht im Byte tatsächlich drin ? Richtig, Hexadezimal FF. Und genauso schaut auch -1 eben aus. Alle diese negativen Zahlen haben gemeinsam, daß zumindest das Bit 2^^7 eine 1 zeigt. Daran erkennt man, daß die Zahl negativ ist. Das funktioniert aber nur so bis -128 (hex 80) und +127 (hex 7F). &lt;br /&gt;
&lt;br /&gt;
Negative Zahlen werden also dargestellt als &amp;quot;2-er Komplement&amp;quot;. &lt;br /&gt;
*Man dreht 0-er und 1-er im Byte um&lt;br /&gt;
*und addiert &amp;quot;1&amp;quot; drauf. &lt;br /&gt;
           0b01111000 hex 78 = dezimal 120&lt;br /&gt;
 umdrehen: 0b10000111 hex 87  &lt;br /&gt;
 +1      : 0b10001000 hex 88  Das stellt jetzt -120 dar.&lt;br /&gt;
&lt;br /&gt;
=====Rechnen mit vorzeichenbehafteten 8 Bit=====&lt;br /&gt;
Der Sinn und Zweck des &amp;quot;S&amp;quot; und &amp;quot;V&amp;quot; Bit ist nun leicht verständlich. &lt;br /&gt;
*Bisher wurde ja addiert&lt;br /&gt;
     0b01111000 hex 78 = dezimal 120&lt;br /&gt;
   + 0b00001010 hex 0A = dezimal  10&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82 = dezimal 130       &lt;br /&gt;
*Addiert wird jetzt immer noch genauso, aber jetzt hat das Bit 2^^7 eine andere Bedeutung, weil es das Vorzeichen darstellt&lt;br /&gt;
*Ein Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     0b10000000 hex 80 = dezimal -128&lt;br /&gt;
   + 0b00000010 hex 02 = dezimal   +2&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82  (Vorzeichenbit ist gesetzt)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorzeichenbit gesetzt-&amp;gt; hex 82 ist also ein zweier-Komplement, und damit ist es -126.&lt;br /&gt;
&lt;br /&gt;
*Aber nun:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     0b01111000 hex 78 = dezimal +120&lt;br /&gt;
   + 0b00001010 hex 0A = dezimal  +10&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82  (Vorzeichenbit ist gesetzt)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorzeichenbit gesetzt-&amp;gt; hex 82 ist also ein zweier-Komplement, und damit ist es -126.&lt;br /&gt;
&lt;br /&gt;
'''Bitte ???'''&lt;br /&gt;
&lt;br /&gt;
Das kann ja wohl nicht sein, es muß ja +130 rauskommen. &lt;br /&gt;
&lt;br /&gt;
Das Carry-Bit hilft nichts, das ist immer NULL geblieben. &lt;br /&gt;
&lt;br /&gt;
*Genau da hilft das &amp;quot;V&amp;quot; Bit&lt;br /&gt;
&lt;br /&gt;
[[Bild:ALU3.png]]&lt;br /&gt;
&lt;br /&gt;
Das V-Bit = 1, &lt;br /&gt;
*wenn entweder die beiden Input-Bytes positiv waren (2^^7=0) UND das Ergebnis aber 2^^7=1 zeigt. &lt;br /&gt;
*wenn beiden Input-Bytes negativ waren (2^^7=1) UND das Ergebnis aber 2^^7=0 zeigt. &lt;br /&gt;
&lt;br /&gt;
Im Prinzip sagt also das V-Bit aus, ob das Vorzeichenbit im Ergebnis durch einen Überlauf zustandegekommen ist. &lt;br /&gt;
&lt;br /&gt;
*Und das &amp;quot;S&amp;quot;-Bit ? Das kombiniert das Vorzeichen im Ergebnis mit diesem &amp;quot;V&amp;quot;-Bit.&lt;br /&gt;
**S=1, wenn das Vorzeichenbit im Ergebnis zwar NULL ist, aber nur, weil ein Überlauf stattgefunden hat. Das Ergebnis ist also trotzdem negativ und stellt ein 2-er Komplement dar.  &lt;br /&gt;
**S=1, wenn das Vorzeichenbit im Ergebnis EINS ist, und zwar OHNE, daß ein Überlauf stattgefunden hätte. Das Ergebnis ist also korrekt negativ und stellt auch ein 2-er Komplement dar&lt;br /&gt;
&lt;br /&gt;
Ob an das nächsthöhere Byte ein Überlauf weiterzugeben ist, sagt bei Vorzeichen-Bytes nun das &amp;quot;V&amp;quot; Bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nochmal die obigen Vorzeichen-Beispiele zum mitsingen, aber diesmal mit den N, V und S Flags &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     0b10000000 hex 80 = dezimal -128&lt;br /&gt;
   + 0b00000010 hex 02 = dezimal   +2&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82   N=1 V=0 S=1    Ist also negativ, 2-er Kompl. kein Überlauf --&amp;gt;  -126&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     0b01111000 hex 78 = dezimal +120&lt;br /&gt;
   + 0b00001010 hex 0A = dezimal  +10&lt;br /&gt;
     -------------------------------&lt;br /&gt;
     0b10000010 hex 82   N=1 V=1 S=0    Ist also positiv, 2^^7 löschen, der Rest bleibt &lt;br /&gt;
                                        (dezimal 2), hat aber Überlauf, der ist +128 wert, &lt;br /&gt;
                                        insgesamt also --&amp;gt; 128 + 2 = +130&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Mehr als 8 Bit mit Vorzeichen=====&lt;br /&gt;
Keine Sorge, das Vorzeichenbit gibt es bei allen binärzahlen immer nur einmal, an der höchsten Stelle. Wir haben also auch bei eine 8-Byte / 64-Bit Variablen nur ein einziges Mal das Problem.&lt;br /&gt;
&lt;br /&gt;
*Das Vorzeichenbit ist immer das MSB (höchst aussagekräftige Bit = most significant Bit). Zwei 32 Bit sieht das so aus:&lt;br /&gt;
 0b00000000000000000000000111111111 = hex 000001FF = dezimal +511&lt;br /&gt;
 0b11111111111111111111110000000001 = hex FFFFFC01 = dezimal -1023&lt;br /&gt;
Das Vorzeichenbit ist das ganz links (2^^31) &lt;br /&gt;
&lt;br /&gt;
Addiert werden solche Zahlen erstmal ganz normal &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dim Vala As Long&lt;br /&gt;
Dim Valb As Long&lt;br /&gt;
Dim Stat As Byte&lt;br /&gt;
&lt;br /&gt;
      Vala = 511&lt;br /&gt;
      Valb = -1023&lt;br /&gt;
      Print Hex(vala) ; &amp;quot;+&amp;quot; ; Hex(valb) ; &amp;quot;=&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
      $asm&lt;br /&gt;
      lds      r16, {vala}&lt;br /&gt;
      lds      r17, {vala+1}&lt;br /&gt;
      lds      r18, {vala+2}&lt;br /&gt;
      lds      r19, {vala+3}&lt;br /&gt;
&lt;br /&gt;
      lds      r20, {valb}&lt;br /&gt;
      lds      r21, {valb+1}&lt;br /&gt;
      lds      r22, {valb+2}&lt;br /&gt;
      lds      r23, {valb+3}&lt;br /&gt;
&lt;br /&gt;
      add      r16, r20            'das erste Byte noch ohne Carry&lt;br /&gt;
      adc      r17, r21            'der Rest mit Carry&lt;br /&gt;
      adc      r18, r22&lt;br /&gt;
      adc      r19, r23&lt;br /&gt;
&lt;br /&gt;
      in       r20, sreg           ' Wir holen uns die Status-Bits&lt;br /&gt;
      sts      {stat}, r20         ' speichern&lt;br /&gt;
&lt;br /&gt;
      sts      {Vala}, r16         ' speichern Ergebnis&lt;br /&gt;
      sts      {Vala+1}, r17&lt;br /&gt;
      sts      {Vala+2}, r18&lt;br /&gt;
      sts      {Vala+3}, r19&lt;br /&gt;
&lt;br /&gt;
      $end Asm&lt;br /&gt;
      Print Hex(vala) ; &amp;quot; &amp;quot; ; Bin(stat) ; &amp;quot; &amp;quot; ; Str(vala)            ' Zum Anschauen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wir sehen, gesetzt wird von der ALU letzlich: &lt;br /&gt;
 S=1 und N=1&lt;br /&gt;
Also ist die Zahl negativ (S=1) und muß als 2-er Komplement verstanden werden.&lt;br /&gt;
&lt;br /&gt;
===Das Carry-Bit beim Bit-Verschieben===&lt;br /&gt;
Häufig wird das Carry-Bit auch als Zwischenlager und Anzeige bei den Schiebe- und Rotationsbefehlen. &lt;br /&gt;
&lt;br /&gt;
Es verhält sich da wie ein 9.Bit zu den 8-Bits im Register. &lt;br /&gt;
&lt;br /&gt;
Die Links- und Rechts-Schiebebefehle sind völlig symmetrisch&lt;br /&gt;
====LSL &amp;amp; ROL====&lt;br /&gt;
[[Bild:Left.png]]&lt;br /&gt;
 LSL register &lt;br /&gt;
 ROL register&lt;br /&gt;
Die Bits im Register werden bei beiden Befehlen eine Stelle nach links verschoben, das höchste Bit wandert in das Carry-Bit. &lt;br /&gt;
*Bei LSL wird eine NULL in das niederwertigste Bit des Registers reingeschoben&lt;br /&gt;
*Bei ROL wird das Carry-Bit (von vorher) in dieses Bit gestellt.&lt;br /&gt;
&lt;br /&gt;
====LSR &amp;amp; ROR====&lt;br /&gt;
[[Bild:Right.png]]&lt;br /&gt;
 LSR register &lt;br /&gt;
 ROR register&lt;br /&gt;
Die Bits im Register werden bei beiden Befehlen eine Stelle nach rechts verschoben, das niederste Bit wandert in das Carry-Bit. &lt;br /&gt;
*Bei LSR wird eine NULL in das höchste Bit des Registers reingeschoben&lt;br /&gt;
*Bei ROR wird das Carry-Bit (von vorher) in dieses Bit gestellt.&lt;br /&gt;
&lt;br /&gt;
====Anwendungen====&lt;br /&gt;
*Multiplizieren mit 2, 4, 8,... &lt;br /&gt;
Bei einem Byte ist da wohl nicht viel dazu zu sagen. &lt;br /&gt;
 LDI   register, &amp;amp;H05   ' register = &amp;amp;H05   = dezimal 5&lt;br /&gt;
 LSL   register         ' register = &amp;amp;H0A   = dezimal 10&lt;br /&gt;
Bei mehreren Bytes, also Variablen mit mehr als 8 Bit, beginnt man immer mit dem niederwertigsten Byte, der erste Befehl OHNE Carry, damit nicht irgendetwas ungewolltes reinrutscht, und dann weiter mit den anderen Bytes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  LDS  register, {long_variable }    ' einlesen&lt;br /&gt;
  LSL  register                      ' verschieben, 2^^7 kommt ins Carry, bleibt&lt;br /&gt;
                                     ' 0 kommt nach 2^^0&lt;br /&gt;
  STS  {long_variable }, register    ' speichern (ändert nix im SREG)&lt;br /&gt;
&lt;br /&gt;
  LDS  register, {long_variable +1 }    ' einlesen (ändert auch nix im SREG)&lt;br /&gt;
  ROL  register                         ' verschieben, &lt;br /&gt;
                                        ' carry von vorher nach 2^^0&lt;br /&gt;
                                        ' 2^^7 ins Carry, bleibt&lt;br /&gt;
  STS  {long_variable + 1}, register    ' speichern &lt;br /&gt;
    .usw. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Dividieren durch 2, 4, 8,... &lt;br /&gt;
Da ist eben alles genau umgekehrt. Beginnen mit dem höchsten, sonst wie gehabt &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  LDS  register, {long_variable + 3}    &lt;br /&gt;
  LSR  register                         ' verschieben, 2^^0 kommt ins Carry und bleibt&lt;br /&gt;
                                        ' 0 kommt nach 2^^7&lt;br /&gt;
  STS  {long_variable +3}, register       &lt;br /&gt;
&lt;br /&gt;
  LDS  register, {long_variable + 2 }    &lt;br /&gt;
  ROR  register                         ' verschieben, &lt;br /&gt;
                                        ' carry von vorher nach 2^^7&lt;br /&gt;
                                        ' 2^^0 ins Carry&lt;br /&gt;
  STS  {long_variable + 2}, register    &lt;br /&gt;
    .usw. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Anwendung Lauflicht====&lt;br /&gt;
Ist auch beliebt. Angenommen, wir haben auf PORTB 8 LED hängen und möchten da ein Lauflicht haben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    $asm&lt;br /&gt;
    LDI    r24, &amp;amp;HFF&lt;br /&gt;
    !OUT   DDRB, R24           ' wir setzen das Port auf OUTPUT&lt;br /&gt;
    LDI    r16, &amp;amp;H00           ' das &amp;quot;SchiebeByte&amp;quot; auf NULL&lt;br /&gt;
    SEC                        ' wir setzen das Carry Bit, damit ein 1-er da ist &lt;br /&gt;
Dauerschleife:&lt;br /&gt;
    ROL    r16                 ' Beim ersten Mal rutscht das carry-Bit rein&lt;br /&gt;
                               ' danach geht der 1-er automatisch im Kreis&lt;br /&gt;
    !OUT   PORTB, R16          ' wir legen das Byte mit dem einen 1-er an das Port&lt;br /&gt;
                               '---------------------------------------------------&lt;br /&gt;
                               ' Hier muß aber eine Verzögerung rein, sonst ist das &lt;br /&gt;
                               ' viel zu schnell&lt;br /&gt;
                               '---------------------------------------------------&lt;br /&gt;
    RJMP   Dauerschleife       ' und immer weiter&lt;br /&gt;
    $end asm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Schreiben wir&lt;br /&gt;
     ROR    r16&lt;br /&gt;
geht's in die andere Richtung&lt;br /&gt;
&lt;br /&gt;
==Ecken, Kanten und Tücken==&lt;br /&gt;
Das AVR-Instruction-Set weist einige Feinheiten auf, die schon manchen Assembler-Roboter auf Kollisionskurs gebracht haben. &lt;br /&gt;
&lt;br /&gt;
Grad' dieses Kapitel kann ich nur nach und nach auffüllen, weil mir auch nicht immer gleich alles so einfällt. Vielleicht gibt's aber auch ein paar andere Assembleure, die ihren Erfahrungsschatz hier einbringen. &lt;br /&gt;
&lt;br /&gt;
Ich kann nur raten, beim Programmieren immer zumindest das &amp;quot;Complete Instruction Set Summary&amp;quot; bei der Hand zu haben. Immer wieder nachsehen, ob ein gerade ausgewählter Befehl das macht, was man sich vorstellt, und vor allem, ob er auch alle die Status-Register-Flags so setzt oder löscht, die man braucht. &lt;br /&gt;
&lt;br /&gt;
===INC/DEC===&lt;br /&gt;
Für Schleifenzähler etc. werden ja gerne &amp;quot;INC&amp;quot; (register +1) oder &amp;quot;DEC&amp;quot; (register -1) verwendet. Mit einem Vergleich auf einen Wert kontrolliert man dann diese Schleife. Ist ja auch ok. &lt;br /&gt;
&lt;br /&gt;
Muß man den Schleifenzähler aber nun so erweitern, daß man mehr als ein Byte braucht, muß man aufpassen. &lt;br /&gt;
&lt;br /&gt;
'''INC od. DEC   kümmern sich NICHT um das Carry-Bit !'''  &lt;br /&gt;
&lt;br /&gt;
*wer also schreibt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 clr r0        (manche nehmen das gerne als Register, in dem immer NULL steht. Ist praktisch)&lt;br /&gt;
 ....&lt;br /&gt;
 INC r16&lt;br /&gt;
 adc r17, r0 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
kann sein blaues Wunder erleben. &lt;br /&gt;
&lt;br /&gt;
Da INC bei einem Überlauf einfach wieder bei NULL weitermacht, das Carry-Bit aber nicht anrührt, addieren wir im &amp;quot;ADC&amp;quot; Befehl ein Carry-Bit dazu, das von irgendeinem Befehl vorher übriggeblieben ist.&lt;br /&gt;
&lt;br /&gt;
Für ein sauberes Carry-Bit muß man also auf einen &amp;quot;echten&amp;quot; Additionsbefehl umsteigen. Und was sehen wir ?&lt;br /&gt;
&lt;br /&gt;
'''Es gibt keinen &amp;quot;ADDI&amp;quot; Befehl'''  ( für sowas wie &amp;quot;addi register, 1&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Wenn wir also kein Register zur Hand haben, in das wir einen 1-er reinschreiben können, müssen wir&lt;br /&gt;
 SUBI register, -1 &lt;br /&gt;
schreiben. Ist klar:  register - (-1) = register + 1, also das, was wir brauchen. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CLR     r0          ' s.o.&lt;br /&gt;
 ....&lt;br /&gt;
 SUBI    r16, -1        &lt;br /&gt;
 ADC     r17, r0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Beim Dekrementieren ist die Sache aber teilweise anders: Es gibt nämlich einen Befehl &lt;br /&gt;
 SBCI  (abziehen festen Wert von Register MIT CARRY) &lt;br /&gt;
Da können wir uns also das mit Register r0  ersparen &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ....&lt;br /&gt;
 SUBI    r16, 1        &lt;br /&gt;
 SBCI    r17, 0    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ja, es gibt aber doch was für 16 Bit ?'''&lt;br /&gt;
 ADIW  register:register+1 ,  nn  ' nn auf die 16-bit von register:register+1 addieren &lt;br /&gt;
 SBIW  register:register+1 ,  nn  ' nn von den 16-bit von register:register+1 subtrahieren&lt;br /&gt;
(''nn'' kann sein 0 - 65535)&lt;br /&gt;
&lt;br /&gt;
Ja, aber das geht nur mit den Registerpaaren R24:R25, R26:R27, R28:R29, R30:R31&lt;br /&gt;
&lt;br /&gt;
Da die Paare R26:R27, R28:R29, R30:R31 aber gleichzeitig die einzigen Pointer-Register sind (dazu kommen wir noch, aber grad in Schleifen braucht man die meist für was anderes)&lt;br /&gt;
&lt;br /&gt;
'''Bleibt eigentlich nur R24:R25 für solche 16-Bit Befehle'''&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
[[User:PicNick|PicNick]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[AVR_Assembler_Einf%C3%BChrung]]&lt;br /&gt;
*[[Bascom]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Leiterplatten_herstellen_-_Toner-Transfer-Methode&amp;diff=7890</id>
		<title>Leiterplatten herstellen - Toner-Transfer-Methode</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Leiterplatten_herstellen_-_Toner-Transfer-Methode&amp;diff=7890"/>
				<updated>2006-06-10T23:51:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: BB-Code in Wikicode geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FarbigerRahmen|&lt;br /&gt;
Leider sind die Bilder für den Artikel verlorengegangen, wer welche nachtragen kann,  sollte dies tun.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Platinenmachen leicht gemacht - &amp;quot;Die Bügelmethode&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
===Was ist die Bügelmethode?===&lt;br /&gt;
Die Bügelmethode ist eine Technik Platinen herzustellen, ohne sie belichten zu müssen. Das spart eine Menge Zeit und Geld und ist eine schnelle Methode, sich einen Prototyp zu erstellen.&lt;br /&gt;
Der Nachteil ist allerdings, dass man einen Laserdrucker/Kopierer benutzen muss. Das Ätzen bleibt einem leider nicht erspart.&lt;br /&gt;
&lt;br /&gt;
Das Herstellen einer Platine nach der Bügelmethode funktioniert in folgenden Schritten:&lt;br /&gt;
&lt;br /&gt;
# Erstellen eines Layouts&lt;br /&gt;
# Ausdrucken des Layouts auf einem Laserdrucker/Kopierer&lt;br /&gt;
# Aufbügeln des Layouts auf die gereinigte Platine&lt;br /&gt;
# Ätzen der Platine&lt;br /&gt;
&lt;br /&gt;
===Erstellen des Layouts===&lt;br /&gt;
Bei dieser Methode ist es wichtig, ein geeignetes Layout zu entwerfen. Man sollte auf die Leiterbahnbreite und die Abstände zwischen Leiterbahnen und Pads achten. Beim Aufbügeln des Layouts auf die Platine werden alle Konturen ein bisschen breiter.&lt;br /&gt;
&lt;br /&gt;
Das Layout erstellt man am besten per Computer, da es ausgedruckt werden muss. Beim Erstellen von doppelseitigen Platinen ist es unbedingt notwendig, unsymmetrische Passmarken ins Layout einzubauen, z.B. kleine Kreuze an verschiedenen Stellen im Layout platziert. Praktisch ist auch ein bisschen Text, da man so leicht erkennt, ob das Layout gespiegelt ist oder nicht.&lt;br /&gt;
&lt;br /&gt;
===Ausdrucken auf das Transfermaterial===&lt;br /&gt;
Wenn das Layout fertig ist, muss es auf das Transfermaterial gedruckt/kopiert werden. Als Trägermaterial bieten sich folgende Materialien an:&lt;br /&gt;
&lt;br /&gt;
*'''Backpapier'''&lt;br /&gt;
Viele berichten, dass Backpapier das Mittel ihrer Wahl ist und einwandfrei funktioniert. Bei mir war das leider nicht der Fall. Anscheinend ist der Erfolg von der Marke abängig.&lt;br /&gt;
&lt;br /&gt;
*'''Trägerpapier von Klebeetiketten'''&lt;br /&gt;
Soll sehr gut funktionieren&lt;br /&gt;
&lt;br /&gt;
*'''Seiten aus einem Hochglanzmagazin (Spiegel/Stern)'''&lt;br /&gt;
Mein persönlicher Favorit. Das Ausrichten der Passmarken auf dem bedruckten Papier ist zwar nicht so leicht, dafür lässt es sich sehr leicht nach dem Bügeln entfernen.&lt;br /&gt;
&lt;br /&gt;
*'''Spezielle Transferfolie (Pressn'Peel)'''&lt;br /&gt;
Diese ist sehr teuer und soll auch nicht besser funktionieren als andere Materialien&lt;br /&gt;
&lt;br /&gt;
* '''u.v.a'''&lt;br /&gt;
Vor dem Drucken sollte man den Drucker auf die höchste Farbdichte einstellen. Je mehr Toner auf den Träger gelangt, desto besser.&lt;br /&gt;
Natürlich muss das Layout spiegelverkehrt ausgedruckt werden.&lt;br /&gt;
&lt;br /&gt;
Für doppelseitige Layouts übernehme ich die fertigen Layouts zuerst in ein Grafikprogramm, ordne sie übereinander an, und mache eine dünne Linie in der Mitte zwischen den beiden Layouts. So kann man alles auf einmal ausdrucken. Danach faltet man das Papier entlang der Linie und richtet es mit Hilfe der Passmarken aus. So erhält man eine Tasche in die man die Platine zum Bügeln einlegen kann. Das Ausrichten funktioniert im Gegenlicht am besten.&lt;br /&gt;
&lt;br /&gt;
===Das Aufbügeln des Layouts===&lt;br /&gt;
Das ausgedruckte Layout sollte jetzt ungefähr so aussehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:transfer.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ich habe dieses auf eine Seite aus einem Hochglanzmagazin gedruckt.&lt;br /&gt;
Vor dem Aufbügeln sollte man die Deckung des Toners überprüfen. Wenn größere dünnere Flächen vorhanden sind, sollte man es noch einmal neu drucken.&lt;br /&gt;
&lt;br /&gt;
Vor dem Aufbügeln muss die Platine (natürlich eine ohne Fotolack) gründlich gereinigt werden. Ich nehme dazu ein feines Schmirgelpapier und bearbeite die Platine damit. Dadurch wird sie auch aufgeraut, was den Toner besser haften lässt. Anschließend reibe ich sie noch mit Aceton, Waschbenzin, Nagellackentferner o.ä. ab, um die letzten Fettrückstände zu entfernen. Dies ist nicht unbedingt nötig, aber es erleichtert dem Toner das Haften. Achtung, die genannten Chemikalien sind mit Vorsicht zu benutzen. Aceton ist sogar ein Hautgift. Bitte Handschuhe benutzen.&lt;br /&gt;
&lt;br /&gt;
Für das eigentliche Aufbügeln empfehle ich eine feuerfeste Unterlage, da die Platine sehr heiss wird und lange auf der gleichen Stelle gebügelt wird.&lt;br /&gt;
Auf diese wird ein Handtuch o. ähnliches gelegt. Es sollte etwas altes sein, weil der Toner unter Umständen darauf gelangen könnte und dieser sich sehr schlecht aus Textilien entfernen lässt.&lt;br /&gt;
&lt;br /&gt;
Darauf kommt die Platine mit der zu beschichtenden Seite nach oben, und darüber das ausgedruckte Layout mit der Tonerseite nach unten. Darüber werden 2-3 Blatt Schreibmaschinenpapier gelegt, damit die Farbe der Hochglanzseite nicht das Bügeleisen verschmutzt. Außerdem werden so die Druckunterschiede ausgeglichen, die beim Bügeln entstehen und Leiterbahnen &amp;quot;zerquetschen&amp;quot; könnten.&lt;br /&gt;
&lt;br /&gt;
Das Bügeleisen wird nun auf ca. 3/4 seiner Leistung eingestellt. Wenn es heiss genug ist, fängt man zuerst mit leichtem Druck an über den &amp;quot;Sandwich&amp;quot; aus Platine, Layout und Schreibmaschinenpapier zu bügeln. Nach ca. 5 Minuten müsste eigentlich der Toner überall geschmolzen worden sein (laut Internet schmilzt dieser schon bei 70°).&lt;br /&gt;
Wichtig ist, dass sichergestellt ist, dass wirklich jeder Bereich ausreichend erhitzt worden ist.&lt;br /&gt;
&lt;br /&gt;
Nach dem Bügeln sollte die Platine sich abkühlen dürfen. Ca. 5-6 Minuten.&lt;br /&gt;
Wenn sie handwarm ist, kann es weitergehen.&lt;br /&gt;
&lt;br /&gt;
===Abziehen des Trägermaterials von der Platine===&lt;br /&gt;
Das Abziehen des Trägermaterials ist das Heikelste an der ganzen Methode. Die feine Tonerschicht auf der Platine ist spröde und kann leicht zerstört werden. &lt;br /&gt;
&lt;br /&gt;
Bei Trägermaterialien aus Papier lege ich die '''abgekühlte''' Platine in eine Schüssel mit lauwarmem Wasser und Seife. Darin bleibt sie solange bis das Kupfer durch das Papier scheint und das Papier sich fast von alleine auflöst.&lt;br /&gt;
Wenn dies der Fall ist, beginne ich langsam, vom Rand ausgehend, das Papier von der Platine zu lösen. Wenn man das langsam macht, und die Platine dabei unter Wasser lässt, geht das relativ einfach.&lt;br /&gt;
&lt;br /&gt;
Danach sollte man kontrollieren, ob Leiterbahnen zu sehr verlaufen sind. Falls dies der Fall ist, kann man sie mit einer Nadel wieder freikratzen.&lt;br /&gt;
Generell sollte das Ganze übertragene Layout noch einmal kontrolliert werden.&lt;br /&gt;
Kleinere Fehler lassen sich einfach mit einem wasserfesten Stift beheben.&lt;br /&gt;
Sind die Fehler zu groß, sollte man das Layout erneut aufbügeln. Dazu befreit man die Platine mit den oben genannten Mitteln vom Toner oder schmirgelt mit Schleifpapier den Toner weg.&lt;br /&gt;
&lt;br /&gt;
Bei doppelseitigen Platinen legt man die Platine in die oben beschriebene Layouttasche und bügelt zuerst eine Seite, indem man zwischen die untere Platinenseite und dem unteren Layout ein weiteres Stück Stoff oder ähnliches legt. Durch das Bügeln klebt die eine Hälfte des Layouts fest und die andere kann dadurch einfach ausgerichtet werden.&lt;br /&gt;
&lt;br /&gt;
===Das Ätzen===&lt;br /&gt;
Das Ätzen der Platine erfolgt genau wie bei jeder anderen belichteten Platine auch. Allerdings sollte man darauf achten, dass das Ätzen möglichst schnell geht. Je länger es dauert, desto größer ist die Gefahr, daß sich an den Rändern die Tonerschicht löst.&lt;br /&gt;
Mit FE3Cl hatte ich die schlechteren Ergebnisse. Natriumsulfat brachte die schöneren Ergebnisse.&lt;br /&gt;
&lt;br /&gt;
===Das Ergebnis===&lt;br /&gt;
Das Ergebnis sollte ungefähr so aussehen.&lt;br /&gt;
&lt;br /&gt;
Oberseite meines AVR-Boards&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:AnsichtvonOben.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unterseite (Die Drähte haben nichts mit dem Bügeln zu tun. Das passiert, wenn man beim Layouten Leiterbahnen vergisst;-))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:AnsichtvonUnten.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Bild zeigt was passiert, wenn man beim Bügeln das Bügeleisen verkantet. Also einen zu großen Druck mit der Kante der Heizfläche ausübt. Die Leiterbahnen bekommen einen &amp;quot;Bauch&amp;quot;. Ich habe diesen Fehler hier mit der Nadel korrigiert. Die Funktion stört es nicht, es ist halt ein kleiner Schönheitsfehler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:verkantet.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das hier ist eine Nahaufnahme eines MAX232. Ich finde die Form und die Scharfkantigkeit der Pads ist mit einer belichteten Platine durchaus vergleichbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Padform.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
===Fazit===&lt;br /&gt;
Für mich ist die Bügelmethode die schnellste und einfachste Art einen Prototypen zu erstellen. Sie ist zwar nicht so genau wie eine belichtete Platine, aber für mich ist sie völlig ausreichend. Sie erspart einem eben den schwierigsten Teil der Platinenherstellung, das Belichten.&lt;br /&gt;
&lt;br /&gt;
Die oben gezeigte Platine war übrigens die 3., die ich nach dieser Methode hergestellt habe. Seitdem mach ich es nur noch so. Ausprobieren lohnt sich auf jeden Fall.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Leiterplatten_herstellen]] mit der &amp;quot;Foto-TransferTechnik&amp;quot;&lt;br /&gt;
* [[Leiterbahnbreiten]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* http://home.arcor.de/dr.koenig/digital/platine.htm&lt;br /&gt;
* [http://thomaspfeifer.net/platinen_aetzen.htm Platinen ätzen mit der Direkt-Toner-Methode] (mit Video)&lt;br /&gt;
* http://diy.musikding.de/berichte/grund/platinen/platinen1.html&lt;br /&gt;
* http://www.die-wuestens.de/dindex.htm?/platine.htm&lt;br /&gt;
* http://www.fullnet.com/u/tomg/gooteepc.htm&lt;br /&gt;
* http://www.qsl.net/k5lxp/projects/PCBFab/PCBFab.html&lt;br /&gt;
* http://www.5bears.com/pcb.htm&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''''Artikel von Sonic'''  Wiki-Konvertiert Frank''&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Praxis]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Servos&amp;diff=7434</id>
		<title>Servos</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Servos&amp;diff=7434"/>
				<updated>2006-05-23T22:12:55Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Hab mir mal erlaubt, die Millisiemens (mS) in Millisekunden (ms) zu ändern&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Servos (Servomotoren) sind kleine [[Getriebemotoren]], die häufig im Modellbau eingesetzt werden, doch auch in der Industrie sind sie anzutreffen. &lt;br /&gt;
Mithilfe eines Potentiometers, das an der Drehachse befestigt ist, wird intern die aktuelle Position bestimmt. Wegen ihrer einfachen Ansteuerung und Präzision eigenen sie sich hervorragend für mehr oder weniger kraftaufwändige Aufgaben in der Robotik. &lt;br /&gt;
&lt;br /&gt;
==Anschlussbelegung==&lt;br /&gt;
Handelsübliche Servomotoren besitzen 3 Anschlüsse:&lt;br /&gt;
# GND&lt;br /&gt;
# [[PWM]]&lt;br /&gt;
# +5V&lt;br /&gt;
&lt;br /&gt;
Wobei sich die Steckerbelegung von Hersteller zu Hersteller unterscheidet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:servosteckerbelegung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Ansteuerung==&lt;br /&gt;
An die PWM-Leitung wird ein pulsweitenmoduliertes Signal angeschlossen. Die Repetition-Period(Periode) entspricht bei den meisten Modellen 20ms. Innerhalb/zu Beginn dieser 20ms wird ein Puls erwartet, der sich zwischen 1ms und 2ms bewegt, wobei diese Werte jeweils den Endlagen des Servos entsprechen. D.h. 1ms ist ganz links und 2ms ist ganz rechts(Einige Sevos haben in diesem Wertebereich jedoch nicht die volle Bewegungsfreiheit ausgenutzt, die Werte, bei denen der Servo ganz links/rechts ist können auch unter 1ms/über 2ms liegen). 1,5ms würde demnach die Mittelstellung bedeuten. &lt;br /&gt;
Aufgrund der Pulslänge lässt sich also eine direkte Aussage über die Position des Servos treffen.&lt;br /&gt;
Der Motor sorgt dann intern mithilfe des Potis dafür, dass die Position gehalten wird.&lt;br /&gt;
&lt;br /&gt;
http://kos.informatik.uni-osnabrueck.de/download/report/img34.gif&lt;br /&gt;
&lt;br /&gt;
==Unterschied zwischen Digital- und Analogservos==&lt;br /&gt;
Der hauptsächliche Unterschied besteht darin, dass digitale Servos schneller und genauer sind und ihre Position besser halten können. Analoge Servos geben ihrem Motor alle 20ms ein Signal. Wirkt eine Kraft auf das Servo, braucht die Steuerelektronik bis zu 20ms, um dem Motor einen neuen Spannungsimpuls zu senden. Bei Digitalservos sendet die Steuerelektronik alle 400us einen Impuls an den Motor. Der Motor bekommt die Spannungsimpulse viel schneller. Um so öfter ein Motor Spannung bekommt, um so mehr Leistung kann er verrichten. Man sollte aber auch bedenken, dass dies unweigerlich einen höheren Stromverbrauch zur Folge hat, der besonders bei Modellfliegern nicht tolerierbar ist, da die Betriebszeit stark verkürzt wird.&lt;br /&gt;
&lt;br /&gt;
Die einfachste Art, einen Servo mit [[Bascom]] anzusteuern, ist folgender Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10&lt;br /&gt;
&lt;br /&gt;
Config Portb = Output&lt;br /&gt;
&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
&lt;br /&gt;
Servo(1) = 100&lt;br /&gt;
Servo(2) = 100&lt;br /&gt;
waitms 1000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'Wobei 100 die Mitte ist. 50 ist der linke bzw. rechte Anschlag und 150 der entsprechend andere.&lt;br /&gt;
&lt;br /&gt;
==Anmerkungen==&lt;br /&gt;
Häufig entledigt man sich auch des Potis und der Endlagenanschläge, um so einen Motor mit hohem Drehmoment zu erlangen. Dieser Vorgang wird auch als Servo-Hacking bezeichnet. Durch die Pulslänge kann dann die Winkelgeschwindigkeit des Servos beeinflusst werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:servo.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
[[Getriebemotoren]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Motoren]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7136</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7136"/>
				<updated>2006-05-01T18:54:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Erweiterte Emitterschaltung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[Feldeffekttransistor|FETs]] (Feldeffekttransistoren)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'', ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]] [[Bild:Transistor.JPG|right|300px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Collector-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, der auf der Collector-Emitter-Strecke fließen kann, und dem Strom, der dazu als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem PNP-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
=== Emitterschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung.gif|thumb|Grundschaltung der Emitterschaltung]]&lt;br /&gt;
Die Emitterschaltung besteht hauptsächlich aus dem Transistor, dem Kollektorwiderstand und dem Basis-Vorwiderstand. Wenn man keine Spannung oder 0V am Eingang anlegt, ist der Transistor nicht leitend. Der Ausgang der Schaltung wird durch den Widerstand auf die positive Versorgungsspannung (Vcc) &amp;quot;gezogen&amp;quot;. Wenn man nun eine Spannung am Eingang anlegt, die größer als ca. 0,6V ist, fließt ein Strom durch die Basis des Transistors. Der Transistor wird leitend und zieht den Ausgang der Schaltung auf 0V (GND).&amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Offsetspannung von 0,6V ist diese Schaltung nicht zum linearen Verstärken von Signalen geeignet. Die Schaltung kann nur als Schalter genutzt werden, sei es um die Flanken auf einem Signal zu verbessern (steiler zu machen) oder um Lasten zu schalten.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall muss man beachten, dass die Emitterschaltung das Signal invertiert, d.h. bei 0V am Eingang liegen 5V am Ausgang an und umgekehrt.&lt;br /&gt;
In letzterem Fall wird die Last (beispielsweise eine Glühbirne) statt Rc angeschlossen. Sobald man nun eine Spannung an die Basis anlegt, wird der Transistor leitend und es kann ein Strom durch die Last fließen, die Lampe leuchtet.&lt;br /&gt;
Bei großen Lasten benötigt der Transistor einen entsprechend hohen Basisstrom, der durch den Basis-Vorwiderstand eingestellt wird.&lt;br /&gt;
==== Erweiterte Emitterschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung, erweitert.gif|thumb|Emitterschaltung zum linearen Verstärken von Wechselspannungen]]&lt;br /&gt;
Wenn man die Emitterschaltung zum linearen Verstärken eines Signals nutzen will, muss man sie noch ein wenig erweitern. An die Basis wird zusätzlich ein Pullup-Wiederstand angeschlossen. Dieser sorgt dafür, dass der Transistor &amp;quot;vorgespannt&amp;quot; wird. Der Widerstand wird dabei gerade so groß gewählt, dass der Ausgang möglichst genau zwischen GND und der Versorgungsspannung liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
Hinter den Ausgang und vor den Eingang müssen zusätzlich so genannte Koppelkondensatoren geschaltet werden. Diese sorgen am Eingang dafür, dass die angelegte Eingangsspannung die Vorspannung nicht zerstört und am Ausgang dafür, dass kein Gleichstrom durch die Last fließen kann. Dies ist vor allem bei Lautsprechern wichtig.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Emitterschaltung kann in dieser Form sowohl negative als auch positive Wechselspannungen verstärken. Für Gleichspannungen ist sie nicht mehr geeignet, da die Koppelkondensatoren diesen sperren.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man eine Wechselspannung anlegt, fließt zusätzlich zu dem Vorspannstrom ein Eingangsstrom, der den Transistor entweder leitender (positive Halbwelle) oder weniger leitend (negative Halbwelle) macht.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall wird der Kollektor des Transistors durch selbigen auf eine negativere Spannung gezogen. Durch den Koppelkondensator am Ausgang fließt dann ein Strom in Richtung des Kollektors, bis der Kondensator durch diesen weit genug aufgeladen ist.&amp;lt;br&amp;gt;&lt;br /&gt;
im anderen Fall wird der Transistor weniger leitend, der Kollektor des Transistors wird dann durch den Widerstand Rc auf eine positivere Spannung gezogen. Folglich fließt durch den Koppelkondensator am Ausgang ein Strom in Richtung der Last, allerdings auch hier nur solange der Kondensator nicht vollständig geladen ist.&lt;br /&gt;
&lt;br /&gt;
=== Kollektorschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Kollektorschaltung.gif|thumb|Kollektorschaltung mit NPN-Transistor]]&lt;br /&gt;
Für eine Kollektorschaltung werden zunächst nur ein Transistor und ein Widerstand benötigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Ohne Eingangsspannung leitet der Transistor nicht, der Ausgang liegt also auf 0V.&amp;lt;br&amp;gt;&lt;br /&gt;
Sobald man am Eingang eine Spannung anlegt, wird der Transistor jedoch leitend, die Ausgangsspannung wird größer. Gleichzeitig wird dadurch die Basis-Emitterspannung kleiner. Der Ausgang erreicht also maximal etwa die Eingangsspannung abzüglich der 0,7 Volt, die benötigt werden, damit auf der Basis-Emitterstrecke ein Strom fließen kann. Die Spannungsverstärkung ist folglich kleiner als 1. Im Gegenzug besitzt die Kollektorschaltung eine sehr hohe Stromverstärkung und dadurch auch einen sehr hohen Eingangswiderstand&amp;lt;br&amp;gt;&lt;br /&gt;
Bei dieser Schaltung kann auf den Basis-Vorwiderstand verzichtet werden, solange man am Eingang keine Spannung anlegt, die größer ist als die Versorgungsspannung. Der Strom durch die Basis reguliert sich durch die variable Emitterspannung selbst. Allerdings kann ein Basis-Vorwiderstand auch als Kurzschlussschutz dienen, da bei einem begrenzten Basisstrom auch der Kollektor-Emitterstrom begrenzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Basisschaltung ===&lt;br /&gt;
&lt;br /&gt;
=== Prinzipien ===&lt;br /&gt;
==== Verstärkungsregelung ====&lt;br /&gt;
bspw. stromgegenkopplung&lt;br /&gt;
&lt;br /&gt;
=== Logische Interpretation der Schaltungen ===&lt;br /&gt;
====Die NOT Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
====Die NAND Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7056</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7056"/>
				<updated>2006-04-29T20:29:58Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Kollektorschaltung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[Feldeffekttransistor|FETs]] (Feldeffekttransistoren)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'', ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]] [[Bild:Transistor.JPG|right|300px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Collector-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, der auf der Collector-Emitter-Strecke fließen kann, und dem Strom, der dazu als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem PNP-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
=== Emitterschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung.gif|thumb|Grundschaltung der Emitterschaltung]]&lt;br /&gt;
Die Emitterschaltung besteht hauptsächlich aus dem Transistor, dem Kollektorwiderstand und dem Basis-Vorwiderstand. Wenn man keine Spannung oder 0V am Eingang anlegt, ist der Transistor nicht leitend. Der Ausgang der Schaltung wird durch den Widerstand auf die positive Versorgungsspannung (Vcc) &amp;quot;gezogen&amp;quot;. Wenn man nun eine Spannung am Eingang anlegt, die größer als ca. 0,6V ist, fließt ein Strom durch die Basis des Transistors. Der Transistor wird leitend und zieht den Ausgang der Schaltung auf 0V (GND).&amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Offsetspannung von 0,6V ist diese Schaltung nicht zum linearen Verstärken von Signalen geeignet. Die Schaltung kann nur als Schalter genutzt werden, sei es um die Flanken auf einem Signal zu verbessern (steiler zu machen) oder um Lasten zu schalten.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall muss man beachten, dass die Emitterschaltung das Signal invertiert, d.h. bei 0V am Eingang liegen 5V am Ausgang an und umgekehrt.&lt;br /&gt;
In letzterem Fall wird die Last (beispielsweise eine Glühbirne) statt Rc angeschlossen. Sobald man nun eine Spannung an die Basis anlegt, wird der Transistor leitend und es kann ein Strom durch die Last fließen, die Lampe leuchtet.&lt;br /&gt;
Bei großen Lasten benötigt der Transistor einen entsprechend hohen Basisstrom, der durch den Basis-Vorwiderstand eingestellt wird.&lt;br /&gt;
==== Erweiterte Emitterschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung, erweitert.gif|thumb|Text der Bildbeschreibung]]&lt;br /&gt;
Wenn man die Emitterschaltung zum linearen Verstärken eines Signals nutzen will, muss man sie noch ein wenig erweitern. An die Basis wird zusätzlich ein Pullup-Wiederstand angeschlossen. Dieser sorgt dafür, dass der Transistor &amp;quot;vorgespannt&amp;quot; wird. Der Widerstand wird dabei gerade so groß gewählt, dass der Ausgang möglichst genau zwischen GND und der Versorgungsspannung liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
Hinter den Ausgang und vor den Eingang müssen zusätzlich so genannte Koppelkondensatoren geschaltet werden. Diese sorgen am Eingang dafür, dass die angelegte Eingangsspannung die Vorspannung nicht zerstört und am Ausgang dafür, dass kein Gleichstrom durch die Last fließen kann. Dies ist vor allem bei Lautsprechern wichtig.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Emitterschaltung kann in dieser Form sowohl negative als auch positive Wechselspannungen verstärken. Für Gleichspannungen ist sie nicht mehr geeignet, da die Koppelkondensatoren diesen sperren.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man eine Wechselspannung anlegt, fließt zusätzlich zu dem Vorspannstrom ein Eingangsstrom, der den Transistor entweder leitender (positive Halbwelle) oder weniger leitend (negative Halbwelle) macht.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall wird der Kollektor des Transistors durch selbigen auf eine negativere Spannung gezogen. Durch den Koppelkondensator am Ausgang fließt dann ein Strom in Richtung des Kollektors, bis der Kondensator durch diesen weit genug aufgeladen ist.&amp;lt;br&amp;gt;&lt;br /&gt;
im anderen Fall wird der Transistor weniger leitend, der Kollektor des Transistors wird dann durch den Widerstand Rc auf eine positivere Spannung gezogen. Folglich fließt durch den Koppelkondensator am Ausgang ein Strom in Richtung der Last, allerdings auch hier nur solange der Kondensator nicht vollständig geladen ist.&lt;br /&gt;
&lt;br /&gt;
=== Kollektorschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Kollektorschaltung.gif|thumb|Kollektorschaltung mit NPN-Transistor]]&lt;br /&gt;
Für eine Kollektorschaltung werden zunächst nur ein Transistor und ein Widerstand benötigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Ohne Eingangsspannung leitet der Transistor nicht, der Ausgang liegt also auf 0V.&amp;lt;br&amp;gt;&lt;br /&gt;
Sobald man am Eingang eine Spannung anlegt, wird der Transistor jedoch leitend, die Ausgangsspannung wird größer. Gleichzeitig wird dadurch die Basis-Emitterspannung kleiner. Der Ausgang erreicht also maximal etwa die Eingangsspannung abzüglich der 0,7 Volt, die benötigt werden, damit auf der Basis-Emitterstrecke ein Strom fließen kann. Die Spannungsverstärkung ist folglich kleiner als 1. Im Gegenzug besitzt die Kollektorschaltung eine sehr hohe Stromverstärkung und dadurch auch einen sehr hohen Eingangswiderstand&amp;lt;br&amp;gt;&lt;br /&gt;
Bei dieser Schaltung kann auf den Basis-Vorwiderstand verzichtet werden, solange man am Eingang keine Spannung anlegt, die größer ist als die Versorgungsspannung. Der Strom durch die Basis reguliert sich durch die variable Emitterspannung selbst. Allerdings kann ein Basis-Vorwiderstand auch als Kurzschlussschutz dienen, da bei einem begrenzten Basisstrom auch der Kollektor-Emitterstrom begrenzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Basisschaltung ===&lt;br /&gt;
&lt;br /&gt;
=== Prinzipien ===&lt;br /&gt;
==== Verstärkungsregelung ====&lt;br /&gt;
bspw. stromgegenkopplung&lt;br /&gt;
&lt;br /&gt;
=== Logische Interpretation der Schaltungen ===&lt;br /&gt;
====Die NOT Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
====Die NAND Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7055</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7055"/>
				<updated>2006-04-29T20:12:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Kollektorschaltung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[Feldeffekttransistor|FETs]] (Feldeffekttransistoren)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'', ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]] [[Bild:Transistor.JPG|right|300px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Collector-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, der auf der Collector-Emitter-Strecke fließen kann, und dem Strom, der dazu als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem PNP-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
=== Emitterschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung.gif|thumb|Grundschaltung der Emitterschaltung]]&lt;br /&gt;
Die Emitterschaltung besteht hauptsächlich aus dem Transistor, dem Kollektorwiderstand und dem Basis-Vorwiderstand. Wenn man keine Spannung oder 0V am Eingang anlegt, ist der Transistor nicht leitend. Der Ausgang der Schaltung wird durch den Widerstand auf die positive Versorgungsspannung (Vcc) &amp;quot;gezogen&amp;quot;. Wenn man nun eine Spannung am Eingang anlegt, die größer als ca. 0,6V ist, fließt ein Strom durch die Basis des Transistors. Der Transistor wird leitend und zieht den Ausgang der Schaltung auf 0V (GND).&amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Offsetspannung von 0,6V ist diese Schaltung nicht zum linearen Verstärken von Signalen geeignet. Die Schaltung kann nur als Schalter genutzt werden, sei es um die Flanken auf einem Signal zu verbessern (steiler zu machen) oder um Lasten zu schalten.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall muss man beachten, dass die Emitterschaltung das Signal invertiert, d.h. bei 0V am Eingang liegen 5V am Ausgang an und umgekehrt.&lt;br /&gt;
In letzterem Fall wird die Last (beispielsweise eine Glühbirne) statt Rc angeschlossen. Sobald man nun eine Spannung an die Basis anlegt, wird der Transistor leitend und es kann ein Strom durch die Last fließen, die Lampe leuchtet.&lt;br /&gt;
Bei großen Lasten benötigt der Transistor einen entsprechend hohen Basisstrom, der durch den Basis-Vorwiderstand eingestellt wird.&lt;br /&gt;
==== Erweiterte Emitterschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung, erweitert.gif|thumb|Text der Bildbeschreibung]]&lt;br /&gt;
Wenn man die Emitterschaltung zum linearen Verstärken eines Signals nutzen will, muss man sie noch ein wenig erweitern. An die Basis wird zusätzlich ein Pullup-Wiederstand angeschlossen. Dieser sorgt dafür, dass der Transistor &amp;quot;vorgespannt&amp;quot; wird. Der Widerstand wird dabei gerade so groß gewählt, dass der Ausgang möglichst genau zwischen GND und der Versorgungsspannung liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
Hinter den Ausgang und vor den Eingang müssen zusätzlich so genannte Koppelkondensatoren geschaltet werden. Diese sorgen am Eingang dafür, dass die angelegte Eingangsspannung die Vorspannung nicht zerstört und am Ausgang dafür, dass kein Gleichstrom durch die Last fließen kann. Dies ist vor allem bei Lautsprechern wichtig.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Emitterschaltung kann in dieser Form sowohl negative als auch positive Wechselspannungen verstärken. Für Gleichspannungen ist sie nicht mehr geeignet, da die Koppelkondensatoren diesen sperren.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man eine Wechselspannung anlegt, fließt zusätzlich zu dem Vorspannstrom ein Eingangsstrom, der den Transistor entweder leitender (positive Halbwelle) oder weniger leitend (negative Halbwelle) macht.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall wird der Kollektor des Transistors durch selbigen auf eine negativere Spannung gezogen. Durch den Koppelkondensator am Ausgang fließt dann ein Strom in Richtung des Kollektors, bis der Kondensator durch diesen weit genug aufgeladen ist.&amp;lt;br&amp;gt;&lt;br /&gt;
im anderen Fall wird der Transistor weniger leitend, der Kollektor des Transistors wird dann durch den Widerstand Rc auf eine positivere Spannung gezogen. Folglich fließt durch den Koppelkondensator am Ausgang ein Strom in Richtung der Last, allerdings auch hier nur solange der Kondensator nicht vollständig geladen ist.&lt;br /&gt;
&lt;br /&gt;
=== Kollektorschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Beispiel.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Basisschaltung ===&lt;br /&gt;
&lt;br /&gt;
=== Prinzipien ===&lt;br /&gt;
==== Verstärkungsregelung ====&lt;br /&gt;
bspw. stromgegenkopplung&lt;br /&gt;
&lt;br /&gt;
=== Logische Interpretation der Schaltungen ===&lt;br /&gt;
====Die NOT Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
====Die NAND Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Kollektorschaltung.gif&amp;diff=7054</id>
		<title>Datei:Kollektorschaltung.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Kollektorschaltung.gif&amp;diff=7054"/>
				<updated>2006-04-29T20:12:28Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Kollektorschaltung mit NPN-Transistor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kollektorschaltung mit NPN-Transistor&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7053</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7053"/>
				<updated>2006-04-29T15:14:54Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Erweiterte Emitterschaltung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[Feldeffekttransistor|FETs]] (Feldeffekttransistoren)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'', ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]] [[Bild:Transistor.JPG|right|300px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Collector-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, der auf der Collector-Emitter-Strecke fließen kann, und dem Strom, der dazu als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem PNP-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
=== Emitterschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung.gif|thumb|Grundschaltung der Emitterschaltung]]&lt;br /&gt;
Die Emitterschaltung besteht hauptsächlich aus dem Transistor, dem Kollektorwiderstand und dem Basis-Vorwiderstand. Wenn man keine Spannung oder 0V am Eingang anlegt, ist der Transistor nicht leitend. Der Ausgang der Schaltung wird durch den Widerstand auf die positive Versorgungsspannung (Vcc) &amp;quot;gezogen&amp;quot;. Wenn man nun eine Spannung am Eingang anlegt, die größer als ca. 0,6V ist, fließt ein Strom durch die Basis des Transistors. Der Transistor wird leitend und zieht den Ausgang der Schaltung auf 0V (GND).&amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Offsetspannung von 0,6V ist diese Schaltung nicht zum linearen Verstärken von Signalen geeignet. Die Schaltung kann nur als Schalter genutzt werden, sei es um die Flanken auf einem Signal zu verbessern (steiler zu machen) oder um Lasten zu schalten.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall muss man beachten, dass die Emitterschaltung das Signal invertiert, d.h. bei 0V am Eingang liegen 5V am Ausgang an und umgekehrt.&lt;br /&gt;
In letzterem Fall wird die Last (beispielsweise eine Glühbirne) statt Rc angeschlossen. Sobald man nun eine Spannung an die Basis anlegt, wird der Transistor leitend und es kann ein Strom durch die Last fließen, die Lampe leuchtet.&lt;br /&gt;
Bei großen Lasten benötigt der Transistor einen entsprechend hohen Basisstrom, der durch den Basis-Vorwiderstand eingestellt wird.&lt;br /&gt;
==== Erweiterte Emitterschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung, erweitert.gif|thumb|Text der Bildbeschreibung]]&lt;br /&gt;
Wenn man die Emitterschaltung zum linearen Verstärken eines Signals nutzen will, muss man sie noch ein wenig erweitern. An die Basis wird zusätzlich ein Pullup-Wiederstand angeschlossen. Dieser sorgt dafür, dass der Transistor &amp;quot;vorgespannt&amp;quot; wird. Der Widerstand wird dabei gerade so groß gewählt, dass der Ausgang möglichst genau zwischen GND und der Versorgungsspannung liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
Hinter den Ausgang und vor den Eingang müssen zusätzlich so genannte Koppelkondensatoren geschaltet werden. Diese sorgen am Eingang dafür, dass die angelegte Eingangsspannung die Vorspannung nicht zerstört und am Ausgang dafür, dass kein Gleichstrom durch die Last fließen kann. Dies ist vor allem bei Lautsprechern wichtig.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Emitterschaltung kann in dieser Form sowohl negative als auch positive Wechselspannungen verstärken. Für Gleichspannungen ist sie nicht mehr geeignet, da die Koppelkondensatoren diesen sperren.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man eine Wechselspannung anlegt, fließt zusätzlich zu dem Vorspannstrom ein Eingangsstrom, der den Transistor entweder leitender (positive Halbwelle) oder weniger leitend (negative Halbwelle) macht.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall wird der Kollektor des Transistors durch selbigen auf eine negativere Spannung gezogen. Durch den Koppelkondensator am Ausgang fließt dann ein Strom in Richtung des Kollektors, bis der Kondensator durch diesen weit genug aufgeladen ist.&amp;lt;br&amp;gt;&lt;br /&gt;
im anderen Fall wird der Transistor weniger leitend, der Kollektor des Transistors wird dann durch den Widerstand Rc auf eine positivere Spannung gezogen. Folglich fließt durch den Koppelkondensator am Ausgang ein Strom in Richtung der Last, allerdings auch hier nur solange der Kondensator nicht vollständig geladen ist.&lt;br /&gt;
&lt;br /&gt;
=== Kollektorschaltung ===&lt;br /&gt;
=== Basisschaltung ===&lt;br /&gt;
&lt;br /&gt;
=== Prinzipien ===&lt;br /&gt;
==== Verstärkungsregelung ====&lt;br /&gt;
bspw. stromgegenkopplung&lt;br /&gt;
&lt;br /&gt;
=== Logische Interpretation der Schaltungen ===&lt;br /&gt;
====Die NOT Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
====Die NAND Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Emitterschaltung.gif&amp;diff=7052</id>
		<title>Datei:Emitterschaltung.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Emitterschaltung.gif&amp;diff=7052"/>
				<updated>2006-04-29T14:51:04Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Emitterschaltung, NPN&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Emitterschaltung,_erweitert.gif&amp;diff=7051</id>
		<title>Datei:Emitterschaltung, erweitert.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Emitterschaltung,_erweitert.gif&amp;diff=7051"/>
				<updated>2006-04-29T14:50:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Erweiterte Emitterschaltung, NPN&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Erweiterte Emitterschaltung, NPN&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7047</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7047"/>
				<updated>2006-04-29T00:14:30Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Link zu den FETs korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[Feldeffekttransistor|FETs]] (Feldeffekttransistoren)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'', ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]] [[Bild:Transistor.JPG|right|300px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Collector-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, der auf der Collector-Emitter-Strecke fließen kann, und dem Strom, der dazu als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem PNP-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
=== Emitterschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung.gif|thumb|Grundschaltung der Emitterschaltung]]&lt;br /&gt;
Die Emitterschaltung besteht hauptsächlich aus dem Transistor, dem Kollektorwiderstand und dem Basis-Vorwiderstand. Wenn man keine Spannung oder 0V am Eingang anlegt, ist der Transistor nicht leitend. Der Ausgang der Schaltung wird durch den Widerstand auf die positive Versorgungsspannung (Vcc) &amp;quot;gezogen&amp;quot;. Wenn man nun eine Spannung am Eingang anlegt, die größer als ca. 0,6V ist, fließt ein Strom durch die Basis des Transistors. Der Transistor wird leitend und zieht den Ausgang der Schaltung auf 0V (GND).&amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Offsetspannung von 0,6V ist diese Schaltung nicht zum linearen Verstärken von Signalen geeignet. Die Schaltung kann nur als Schalter genutzt werden, sei es um die Flanken auf einem Signal zu verbessern (steiler zu machen) oder um Lasten zu schalten.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall muss man beachten, dass die Emitterschaltung das Signal invertiert, d.h. bei 0V am Eingang liegen 5V am Ausgang an und umgekehrt.&lt;br /&gt;
In letzterem Fall wird die Last (beispielsweise eine Glühbirne) statt Rc angeschlossen. Sobald man nun eine Spannung an die Basis anlegt, wird der Transistor leitend und es kann ein Strom durch die Last fließen, die Lampe leuchtet.&lt;br /&gt;
Bei großen Lasten benötigt der Transistor einen entsprechend hohen Basisstrom, der durch den Basis-Vorwiderstand eingestellt wird.&lt;br /&gt;
==== Erweiterte Emitterschaltung ====&lt;br /&gt;
Wenn man die Emitterschaltung zum linearen Verstärken eines Signals nutzen will, muss man sie etwas erweitern. An die Basis wird zusätzlich ein Pullup-Wiederstand angeschlossen. Dieser sorgt dafür, dass ein Ruhestrom fließt und die Ausgangsspannung dadurch ca. auf dem 0,5-fachen der Versorgungsspannung liegt. Dieses Verfahren bezeichnet man auch als &amp;quot;Vorspannung&amp;quot;. Hinter den Ausgang und vor den Eingang  werden so genannte Koppelkondensatoren geschaltet. Diese sorgen dafür, dass am Eingang die angelegte Eingangsspannung die Vorspannung nicht verändert und am Ausgang dafür, dass kein Gleichstrom durch die Last fließen kann. Dies ist vor allem bei Lautsprechern wichtig. Wenn man den Verstärker für Gleichspannung nutzen möchte, muss man diese Kondensatoren weglassen.&lt;br /&gt;
&amp;lt;!-- Weiteres folgt später --&amp;gt;&lt;br /&gt;
=== Kollektorschaltung ===&lt;br /&gt;
=== Basisschaltung ===&lt;br /&gt;
&lt;br /&gt;
=== Prinzipien ===&lt;br /&gt;
==== Verstärkungsregelung ====&lt;br /&gt;
bspw. stromgegenkopplung&lt;br /&gt;
&lt;br /&gt;
=== Logische Interpretation der Schaltungen ===&lt;br /&gt;
====Die NOT Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
====Die NAND Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7046</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=7046"/>
				<updated>2006-04-29T00:06:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[FET]]'s (Feldeffekttransistor)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'' , ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]] [[Bild:Transistor.JPG|right|300px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Collector-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, der auf der Collector-Emitter-Strecke fließen kann, und dem Strom, der dazu als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem PNP-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
=== Emitterschaltung ===&lt;br /&gt;
==== Grundschaltung ====&lt;br /&gt;
[[Bild:Emitterschaltung.gif|thumb|Grundschaltung der Emitterschaltung]]&lt;br /&gt;
Die Emitterschaltung besteht hauptsächlich aus dem Transistor, dem Kollektorwiderstand und dem Basis-Vorwiderstand. Wenn man keine Spannung oder 0V am Eingang anlegt, ist der Transistor nicht leitend. Der Ausgang der Schaltung wird durch den Widerstand auf die positive Versorgungsspannung (Vcc) &amp;quot;gezogen&amp;quot;. Wenn man nun eine Spannung am Eingang anlegt, die größer als ca. 0,6V ist, fließt ein Strom durch die Basis des Transistors. Der Transistor wird leitend und zieht den Ausgang der Schaltung auf 0V (GND).&amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Offsetspannung von 0,6V ist diese Schaltung nicht zum linearen Verstärken von Signalen geeignet. Die Schaltung kann nur als Schalter genutzt werden, sei es um die Flanken auf einem Signal zu verbessern (steiler zu machen) oder um Lasten zu schalten.&amp;lt;br&amp;gt;&lt;br /&gt;
In ersterem Fall muss man beachten, dass die Emitterschaltung das Signal invertiert, d.h. bei 0V am Eingang liegen 5V am Ausgang an und umgekehrt.&lt;br /&gt;
In letzterem Fall wird die Last (beispielsweise eine Glühbirne) statt Rc angeschlossen. Sobald man nun eine Spannung an die Basis anlegt, wird der Transistor leitend und es kann ein Strom durch die Last fließen, die Lampe leuchtet.&lt;br /&gt;
Bei großen Lasten benötigt der Transistor einen entsprechend hohen Basisstrom, der durch den Basis-Vorwiderstand eingestellt wird.&lt;br /&gt;
==== Erweiterte Emitterschaltung ====&lt;br /&gt;
Wenn man die Emitterschaltung zum linearen Verstärken eines Signals nutzen will, muss man sie etwas erweitern. An die Basis wird zusätzlich ein Pullup-Wiederstand angeschlossen. Dieser sorgt dafür, dass ein Ruhestrom fließt und die Ausgangsspannung dadurch ca. auf dem 0,5-fachen der Versorgungsspannung liegt. Dieses Verfahren bezeichnet man auch als &amp;quot;Vorspannung&amp;quot;. Hinter den Ausgang und vor den Eingang  werden so genannte Koppelkondensatoren geschaltet. Diese sorgen dafür, dass am Eingang die angelegte Eingangsspannung die Vorspannung nicht verändert und am Ausgang dafür, dass kein Gleichstrom durch die Last fließen kann. Dies ist vor allem bei Lautsprechern wichtig. Wenn man den Verstärker für Gleichspannung nutzen möchte, muss man diese Kondensatoren weglassen.&lt;br /&gt;
&amp;lt;!-- Weiteres folgt später --&amp;gt;&lt;br /&gt;
=== Kollektorschaltung ===&lt;br /&gt;
=== Basisschaltung ===&lt;br /&gt;
&lt;br /&gt;
=== Prinzipien ===&lt;br /&gt;
==== Verstärkungsregelung ====&lt;br /&gt;
bspw. stromgegenkopplung&lt;br /&gt;
&lt;br /&gt;
=== Logische Interpretation der Schaltungen ===&lt;br /&gt;
====Die NOT Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
====Die NAND Verknüpfung====&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Emitterschaltung.gif&amp;diff=7045</id>
		<title>Datei:Emitterschaltung.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Emitterschaltung.gif&amp;diff=7045"/>
				<updated>2006-04-28T23:54:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Emitterschaltung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Emitterschaltung&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Transistor&amp;diff=6767</id>
		<title>Diskussion:Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Transistor&amp;diff=6767"/>
				<updated>2006-04-06T18:32:06Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Vorschlag: Unterabschnitt über Anwendung von Transistoren'''&lt;br /&gt;
&lt;br /&gt;
Hallo, ich find den Artikel so schon recht gelungen, was IMHO allerdings noch fehlt ist ein Unterabschnitt, in welchem behandelt wird, wie man für verschiedene Anwendungen z.B. den Basis-Vorwiederstand berechnen kann.&lt;br /&gt;
Zusätzlich sollten die Kennlinien des Transistors ein wenig erklärt werden.&lt;br /&gt;
&lt;br /&gt;
Erstmal... Ist jemand dagegen? Vermutlich nicht, also wohin damit? Ich wäre dafür, es nach den Grundschaltungen einzufügen. Man könnte aber z.B. auch einen neuen Artikel aufmachen, in dem Bipos und FETs zusammen behandelt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 23:27, 24. Feb 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mach dich nur ran wenn du es ergänzen möchtest. Du kannst die Seite ruhig ausbauen.&lt;br /&gt;
 --[[Benutzer:Frank|Frank]] 09:29, 25. Feb 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Noch was: Die Logikschaltungen würde ich aus diesem Artikel rausnehemn. Ich würde dafür nen neuen Artikel &amp;quot;Logikschaltungen&amp;quot; o.ä. erstellen, in dem auch solche mit Dioden (also UND, ODER) behandelt werden. Dann hat man solche Schaltungen alle zusammen. In diesen Artikel passen Schaltungen mit Dioden eher nicht rein. Stattdessen würde ich die Grundschaltungen hier durch Verstärkerschaltungen und.. ähm &amp;quot;Schaltschaltungen&amp;quot; ersetzen.&lt;br /&gt;
Meinungen?&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 21:25, 2. Apr 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Der Transistor ist ja nur das Mittel zim Zweck für verschiedene Verstärkerschaltungen. Ebenso gehörern Verstärkerschaltungen eigentlich nicht zu einem Artikel &amp;quot;Transistor&amp;quot;, sondern eher in einem eigenen Artikel. Verstärker kann man ja auch mit Röhren, OPs, etc aufbauen.&lt;br /&gt;
--[[Benutzer:SprinterSB|SprinterSB]] 21:37, 2. Apr 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Ok, das hab ich nicht bedacht. Trotzdem würde ich für die Logikschaltungen nen neuen Artikel aufmachen, damit man alles zusammen hat (bzw. überhaupt alles hat... Über die meisten Logikschaltungen steht hier noch nichts oder?&amp;lt;br&amp;gt;&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 20:32, 6. Apr 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=6733</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=6733"/>
				<updated>2006-04-04T17:53:55Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Funktionsprinzip */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[FET]]'s (Feldeffekttransistor)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'' , ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Collector-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, der auf der Collector-Emitter-Strecke fließen kann, und dem Strom, der dazu als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem PNP-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
===Die NOT Verknüpfung===&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
===Die NAND Verknüpfung===&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Transistor&amp;diff=6707</id>
		<title>Diskussion:Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Transistor&amp;diff=6707"/>
				<updated>2006-04-02T19:25:24Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Vorschlag: Unterabschnitt über Anwendung von Transistoren'''&lt;br /&gt;
&lt;br /&gt;
Hallo, ich find den Artikel so schon recht gelungen, was IMHO allerdings noch fehlt ist ein Unterabschnitt, in welchem behandelt wird, wie man für verschiedene Anwendungen z.B. den Basis-Vorwiederstand berechnen kann.&lt;br /&gt;
Zusätzlich sollten die Kennlinien des Transistors ein wenig erklärt werden.&lt;br /&gt;
&lt;br /&gt;
Erstmal... Ist jemand dagegen? Vermutlich nicht, also wohin damit? Ich wäre dafür, es nach den Grundschaltungen einzufügen. Man könnte aber z.B. auch einen neuen Artikel aufmachen, in dem Bipos und FETs zusammen behandelt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 23:27, 24. Feb 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mach dich nur ran wenn du es ergänzen möchtest. Du kannst die Seite ruhig ausbauen.&lt;br /&gt;
 --[[Benutzer:Frank|Frank]] 09:29, 25. Feb 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Noch was: Die Logikschaltungen würde ich aus diesem Artikel rausnehemn. Ich würde dafür nen neuen Artikel &amp;quot;Logikschaltungen&amp;quot; o.ä. erstellen, in dem auch solche mit Dioden (also UND, ODER) behandelt werden. Dann hat man solche Schaltungen alle zusammen. In diesen Artikel passen Schaltungen mit Dioden eher nicht rein. Stattdessen würde ich die Grundschaltungen hier durch Verstärkerschaltungen und.. ähm &amp;quot;Schaltschaltungen&amp;quot; ersetzen.&lt;br /&gt;
Meinungen?&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 21:25, 2. Apr 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=6638</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=6638"/>
				<updated>2006-03-27T16:54:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Funktionsprinzip */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[FET]]'s (Feldeffekttransistor)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'' , ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Collector-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, den man schalten kann, und dem Strom, der als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem pnp-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ich mach nachher weiter, hab jetzt keine Zeit mehr --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
===Die NOT Verknüpfung===&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
===Die NAND Verknüpfung===&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=6636</id>
		<title>Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Transistor&amp;diff=6636"/>
				<updated>2006-03-27T11:01:08Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Transistor ist ein elektronisches Halbleiterbauelement. Man verwendet Transistoren zum Schalten und Verstärken. Die Bezeichnung Transistor ist eine Kurzform vom englischen ''Transfer Varistor'' und soll den Transistor als einen durch Strom steuerbaren Widerstand beschreiben. &lt;br /&gt;
Es wird in 2 Hauptgruppen unterschieden:&lt;br /&gt;
&lt;br /&gt;
Bipolare Transitoren und [[FET]]'s (Feldeffekttransistor)&lt;br /&gt;
&lt;br /&gt;
Bipolare Transistoren werden durch Stromfluss angesteuert. Die Anschlüsse des Bipolaren Transistors sind ''Kollektor'' , ''Basis'' und ''Emitter''. Ein kleiner Strom auf der Basis-Emitter-Strecke kann dabei einen großen Strom auf der Kollektor-Emitter-Strecke steuern. Es wird unter anderem auch zwischen NPN und PNP Transitoren unterschieden.&lt;br /&gt;
&lt;br /&gt;
Bei FET's werden die Anschlüsse als Gate (engl. Tor, Gatter), Drain (engl. Abfluss), Source (engl. Quelle) bezeichnet. Der Strom auf der Drain-Source-Strecke wird hier durch die Spannung zwischen Gate und Source gesteuert. Die Steuerung erfolgt (nahezu) stromlos.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Transistor.gif|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Ib-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Gehen wir zunächst von einem NPN-Transistor aus, dessen Emitter auf Masse liegt. Durch ihn können zwei Ströme fließen: Der Basis-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) und der Collector-Emitter-Strom (Kurz: I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt;). Der Basisstrom I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; ist der Steuerstrom. Die Spannungs-Strom-Kennlinie der Basis-Emitter-Strecke ähnelt einer Diodenkennlinie: Bis ca. 0,6V fließt kaum Strom, danach steigt die Stromstärke schnell an. )siehe Grafik) Diese Kennlinie ist auch noch temperaturabhängig, bei höheren Temperaturen kann ein höherer Strom fließen. Wenn man nun eine Spannung von z.B. 0,7V an die Basis anlegen würde, würde zuerst nur ein kleiner Strom fließen. Mit der Zeit würde sich der Transistor erwärmen, wodurch ein höherer Strom fließen kann. Dadurch wird jedoch auch wieder die Wärmeabgabe größer, ein Teufelskreis entsteht und irgendwann brennt der Transistor durch. Um das zu verhindern, benutzt man, je nachdem wie groß die Last ist, die am Transistor angeschlossen ist, Basis-Vorwiederstände in der Größenordnung von 220 Ohm bis 100 kOhm. Diese werden zwischen die Ansteuerung und die Basis des Transistors geschaltet und begrenzen den Strom, der durch die Basis fließen kann.&lt;br /&gt;
[[Bild:Ic-Kennlinie, BC547.gif|thumb|Spannungs-Strom-Kennlinine der Basis-Emitter-Strecke]]&lt;br /&gt;
Die Collector-Emitter-Strecke des Transistors hat eine Kennlinie, die zuerst in etwa linear ansteigt und dann bei einer bestimmten Stromstärke in eine fast waagrechte Gerade übergeht. (siehe Grafik)&lt;br /&gt;
Bei welcher Stromstärke die Gerade abknickt, hängt von dem Strom ab, der durch die Basis-Emitter-Strecke fließt. Je höher dieser ist, desto später knickt die Gerade ab, und desto größere Lasten kann man schalten. In einem begrenzten Bereich ändert sich der Basisstrom linear zum Collectorstrom. Die Basis-Emitter-Stromstärken betragen in der Grafik von unten nach oben 0mA, 5mA, 10mA, 15mA und 20mA.&lt;br /&gt;
Das Verhältnis aus dem Strom, den man schalten kann, und dem Strom, der als Steuerstrom benötigt wird, nennt man Verstärkungsfaktor. Der Verstärkungsfaktor, der bei einem Transistor angegeben ist, ist jedoch eine rein theoretische Größe. Die Werte, die im Datenblatt angegeben sind, beziehen sich auf eine Collector-Emitter-Spannung von 5V, bei höheren Lastströmen sinkt der Verstärkungsfaktor weiter. In der praktischen Anwendung wäre ein so hoher Spannungsabfall katastrophal, da, wenn man mit niedrigen Spannungen arbeitet, keine bzw. kaum noch Spannung für den Verbraucher übrig bleibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie groß man I&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; wählen muss, probiert man am besten in einer Schaltungssimulation aus, die Berechnung dauert in den meisten Fällen länger.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem pnp-Transistor sind im Grunde alle Spannungen umgedreht. Der Emitter liegt nicht auf Masse, sondern auf Vcc (meist 5V). Die Basis muss auf einer niedrigeren Spannung liegen, beispielsweise 4,3V, damit der Transistor durchschaltet. Der Strom fließt aber weiterhin von + nach - (technische Stromrichtung angenommen)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ich mach nachher weiter, hab jetzt keine Zeit mehr --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grundschaltungen ==&lt;br /&gt;
===Die NOT Verknüpfung===&lt;br /&gt;
&lt;br /&gt;
[[Bild:NOT Gatter.JPG]]&lt;br /&gt;
&lt;br /&gt;
Diese einfache Schaltung, bestehend aus einem NPN Transistor und zwei Widerständen, invertiert das Eingangssignal, sodass aus beispielsweise +5V (oder logisch 1) 0V (oder logisch 0) erzeugt werden.&lt;br /&gt;
Die daraus resultierende Wertetabelle sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang'''&lt;br /&gt;
 | '''Ausgang'''&lt;br /&gt;
 |-&lt;br /&gt;
 | 0V&lt;br /&gt;
 | +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wenn also an der Transistorbasis +5V angelegt werden (+0,7V reichen meistens auch schon), dann schaltet der Transistor durch und am Ausgang liegen 0V an. Der Strom, der nun durch den Transistor fließt wird durch den Widerstand R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; begrenzt. Wird dieser Widerstand weggelassen, dann wird durch den entstehenden Kurzschluss der Transistor unweigerlich zerstört.&lt;br /&gt;
Legt man nun am Eingang 0V an, so sperrt der Transistor und am Ausgang liegen +5V an. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Basisstrom wird durch den Widerstand R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; bestimmt. Ein kleiner Widerstand beschleunigt die Schaltgeschwindigkeit des Transistors, ein großer ermöglicht die Ansteuerung auch mit kleinen Strömen.&lt;br /&gt;
&lt;br /&gt;
===Die NAND Verknüpfung===&lt;br /&gt;
&lt;br /&gt;
[[Bild:NAND_Gatter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die NAND ('''N'''ot'''AND''', d.h. die invertierte Form einer AND Verknüpfung) Verknüpfung besteht aus zwei Transistoren und damit auch zwei Eingängen. Es gibt auch NAND Verknüpfungen, mit mehr Transistoren und folglich auch mehr Eingängen, diese sind im Aufbau aber sehr ähnlich zu der vorgestellten Grund-NAND Verknüpfung.&lt;br /&gt;
Schauen wir uns zunächst die Wertetabelle an:&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 | '''Eingang 1 (E1)'''&lt;br /&gt;
 | '''Eingang 2 (E2)'''&lt;br /&gt;
 | '''Ausgang (A1)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 |   0V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |  +5V&lt;br /&gt;
 |-&lt;br /&gt;
 | +5V&lt;br /&gt;
 | +5V&lt;br /&gt;
 | 0V&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie kommt es nun zu dieser Werte- oder auch Wahrheitstabelle?&lt;br /&gt;
&lt;br /&gt;
Wenn an den beiden Eingängen 0V anliegen, dann schaltet keiner der beiden Transistoren durch und der Ausgang ist über den Widerstand R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; mit +5V verbunden.&lt;br /&gt;
Wechselt nun einer der beiden Eingänge auf 1, dann schaltet auch nur einer der beiden Transistoren durch und am Ausgang liegen immer noch +5V an. Werden nun aber beide Eingänge mit +5V verbunden, dann schalten beide Transistoren durch und der Ausgang ist leitend mit Masse verbunden.&lt;br /&gt;
&lt;br /&gt;
Die Widerstände (R&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, R&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;) haben die gleiche Funktion wie auch in der NOT Verknüpfung.&lt;br /&gt;
&lt;br /&gt;
== Transistor - Kennwerte ==&lt;br /&gt;
Die Transistorkennwerte sind grundsätztlich in Grenzdaten und Kenndaten unterteilt. Grenzwerte dürfen auf keinen Fall überschritten werden, da eine Zerstörung des Transistors unvermeidlich ist. Eigenschaften eines Transistors werden als Kenndaten angegeben, die das Verhalten in bestimmten Arbeitspunkten kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Sperrschichttemperatur==&lt;br /&gt;
Durch die Verlustleistung bei Dauerbetrieb entsteht in der Sperrschicht Wärme, durch die sich die Sperrschichttemperatur erhöht, diese Sperrschichttemperatur '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' , darf bestimmte Werte nicht überschreiten, da die Halbleitereigenschaften des Transistors stark verändert würden, was die Zerstörung zur Folge hat. Diese Temperatur hängt vom Halbleitermaterial ab.&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 90°C Germaniumtransistoren&lt;br /&gt;
&lt;br /&gt;
'''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; ''' : 150 - 200°C Siliziumtransistoren&lt;br /&gt;
&lt;br /&gt;
==Grenzwerte für Umgebungstemperatur==&lt;br /&gt;
Einige Hersteller geben statt der maximalen Sperrschichttemperatur die höchstzulässige Umgebungstemperatur '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' als Grenzwert an. '''T&amp;lt;sub&amp;gt;U&amp;lt;/sub&amp;gt; ''' ist stets kleiner als '''T&amp;lt;sub&amp;gt;J&amp;lt;/sub&amp;gt; '''. Zu diesen beiden Angaben ist in den Datenblättern meistens ein Diagramm zu finden in dem die Temperaturabhängigkeit der höchstzulässigen Gesamtverlustleistung  aufgezeigt wird. Aus diesem Diagramm kann die Verlustleistung bei bestimmten Umgebungstemperaturen entnommen werden. Als Parameter ist der Wärmewiederstand '''R&amp;lt;sub&amp;gt;Th&amp;lt;/sub&amp;gt; ''' des Halbleiters aufgetragen. Denn wird durch einen Kühlkörper oder durch die Montage des Transistors an einem Gehäuse die Wärme besser abgeführt, so ist die Gesamtverlustleistung auch bei höheren Umgebungstemperaturen zulässig.&lt;br /&gt;
&lt;br /&gt;
==Zulässiger Arbeitsbereich==&lt;br /&gt;
In Transistorschaltungen dürfen bestimmte Grenzwerte nicht überschritten werden. Der zulässige Arbeitsbereich einer Transistorschaltung wird somit durch den Kollektorstrom '''I&amp;lt;sub&amp;gt;c&amp;lt;/sub&amp;gt; ''', durch die Kollektor - Emitterspannung '''U&amp;lt;sub&amp;gt;CE&amp;lt;/sub&amp;gt; ''' und durch die Verlustleistung '''P&amp;lt;sub&amp;gt;tot&amp;lt;/sub&amp;gt; ''' begrenzt. Wird der Transistor außerhalb des erlaubten Arbeitsbereiches betrieben wird der Transistor zerstört.&lt;br /&gt;
&lt;br /&gt;
''Autor: ZwieBack - Wiki Konvertierung Frank''&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Feldeffekttransistor|FET]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Ic-Kennlinie,_BC547.gif&amp;diff=6635</id>
		<title>Datei:Ic-Kennlinie, BC547.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Ic-Kennlinie,_BC547.gif&amp;diff=6635"/>
				<updated>2006-03-27T10:25:07Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Kennlinie der Collector-Emitter-Strecke eines BC547.
Basis-Emitter-Stromstärken: 0mA, 5mA, 10mA, 15mA, 20mA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kennlinie der Collector-Emitter-Strecke eines BC547.&lt;br /&gt;
Basis-Emitter-Stromstärken: 0mA, 5mA, 10mA, 15mA, 20mA&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Datei:Ib-Kennlinie,_BC547.gif&amp;diff=6634</id>
		<title>Datei:Ib-Kennlinie, BC547.gif</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Datei:Ib-Kennlinie,_BC547.gif&amp;diff=6634"/>
				<updated>2006-03-27T10:22:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: Kennlinie der Basis-Emitter-Strecke eines unbelasteten BC547&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kennlinie der Basis-Emitter-Strecke eines unbelasteten BC547&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Feldeffekttransistor&amp;diff=6632</id>
		<title>Feldeffekttransistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Feldeffekttransistor&amp;diff=6632"/>
				<updated>2006-03-27T09:46:54Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Schaltsymbole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Feldeffekttransistor, meist als FET (Field Effect Transistor) bezeichnet, ist ein unipolarer [[Transistor]]. Unipolar daher, weil im Gegensatz des bipolaren Transistors, je nach Typ, entweder nur Löcher oder Elektronen am Energietransport beteiligt sind. &lt;br /&gt;
&lt;br /&gt;
Der FET hat 3 Anschlüsse, Source (Zufluss, Quelle), Gate und Drain (Abfluss). Ein vierter Anschluss Bulk (Substrat) ist bei Einzeltransistoren i.d.R. mit Source verbunden und nicht extra herausgeführt.&lt;br /&gt;
&lt;br /&gt;
Durch ein elektrisches Feld, das durch hervorgerufen durch eine Steuerspannung zwischen Gate und Source, wird die Leitfähigkeit des Source-Drain-Kanals des Feldeffekt-Transistors beeinflusst. Je nach benutztem Effekt wird unterschieden zwischen MOSFET und JFET (Junction- oder Sperrschicht-FET). JFETs nutzen einen in Sperrrichtung betriebenen p-n-Übergang, um das elektrische Feld zu bilden. Theoretisch kann der auch in Flussrichtung betrieben werden, was allerdings den Vorteil der leistungslosen Ansteuerung zunichte macht.&lt;br /&gt;
&lt;br /&gt;
Es gibt folgende Formen von FETs:&lt;br /&gt;
* Sperrschicht-Feldeffekt-Transistor (JFET)&lt;br /&gt;
* Schottky-Feldeffekt-Transistor (MESFET)&lt;br /&gt;
* Metalloxidhalbleiter-Feldeffekt-Transistor (MOSFET)&lt;br /&gt;
* High Electron Mobility Transistor (HEMT)&lt;br /&gt;
* Ionen-Sensitiver Feldeffekt-Transistor (ISFET)&lt;br /&gt;
* Organischer Feldeffekttransistor (OFET)&lt;br /&gt;
&lt;br /&gt;
==Schaltsymbole==&lt;br /&gt;
;N-MOSFET: [[Bild:Schaltsymbol NFET.png]]&lt;br /&gt;
&lt;br /&gt;
;P-MOSFET: [[Bild:Schaltsymbol PFET.png]]&lt;br /&gt;
&lt;br /&gt;
;N-Kanal JFET: [[Bild:Schaltsymbol JFETN.png]] [[Bild:Schaltsymbol JFETN2.png]]&lt;br /&gt;
&lt;br /&gt;
;P-Kanal JFET: [[Bild:Schaltsymbol JFETP.png]] [[Bild:Schaltsymbol JFETP2.png]]&lt;br /&gt;
&lt;br /&gt;
== Schaltbeispiel==&lt;br /&gt;
Eine typische FET-Schaltstufe:&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/phpBB2/files/diode.jpg&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Transistor&amp;diff=6139</id>
		<title>Diskussion:Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Transistor&amp;diff=6139"/>
				<updated>2006-02-24T22:27:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Vorschlag: Unterabschnitt über Anwendung von Transistoren'''&lt;br /&gt;
&lt;br /&gt;
Hallo, ich find den Artikel so schon recht gelungen, was IMHO allerdings noch fehlt ist ein Unterabschnitt, in welchem behandelt wird, wie man für verschiedene Anwendungen z.B. den Basis-Vorwiederstand berechnen kann.&lt;br /&gt;
Zusätzlich sollten die Kennlinien des Transistors ein wenig erklärt werden.&lt;br /&gt;
&lt;br /&gt;
Erstmal... Ist jemand dagegen? Vermutlich nicht, also wohin damit? Ich wäre dafür, es nach den Grundschaltungen einzufügen. Man könnte aber z.B. auch einen neuen Artikel aufmachen, in dem Bipos und FETs zusammen behandelt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 23:27, 24. Feb 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Transistor&amp;diff=6132</id>
		<title>Diskussion:Transistor</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Transistor&amp;diff=6132"/>
				<updated>2006-02-24T19:34:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Vorschlag: Unterabschnitt über Anwendung von Transistoren'''&lt;br /&gt;
&lt;br /&gt;
Hallo, ich find den Artikel so schon recht gelungen, was IMHO allerdings noch fehlt ist ein Unterabschnitt, in welchem behandelt wird, wie man für verschiedene Anwendungen z.B. den Basis-Vorwiederstand berechnen kann.&lt;br /&gt;
Zusätzlich sollten die Kennlinien des Transistors ein wenig erklärt werden.&lt;br /&gt;
&lt;br /&gt;
Erstmal... Ist jemand dagegen? Vermutlich nicht, also wohin damit? Ich wäre dafür, es nach den Grundschaltungen einzufügen.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 20:34, 24. Feb 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Sensorarten&amp;diff=6131</id>
		<title>Diskussion:Sensorarten</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Sensorarten&amp;diff=6131"/>
				<updated>2006-02-24T17:06:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Vorschlag zur Diskussion:'''&lt;br /&gt;
&lt;br /&gt;
Wäre es nicht besser auf die einzelnen Sensorarten in eigenen Unterseiten einzugehen?&lt;br /&gt;
Die Übersichtsseite verweist dann auf diese Unterseiten.&lt;br /&gt;
&lt;br /&gt;
Die Unterseiten enthalten die Bilder, Ansteuerschaltung zum Controller, Beispiel Quellcode in C und Bascom, Links etc.&lt;br /&gt;
Ähnlich wie es SprinterSB in seinem [[RC5-Decoder_f%C3%BCr_ATMega|RC5 Beispiel]] gemacht hat.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:M a r v i n|M a r v i n]] 11:15, 8. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
Ich denke solange die Artikel zu den einzelnen Sensorarten noch nicht einen besonders großen Umfang erreicht haben, ist das aufsplitten weniger sinnvoll. Sowas kann man ja später noch machen, wobei man es nicht zu stark zersplittern sollte. Es hat auch Vorteile wenn alles auf einer Seite ist, zum Beispiel wenn User sich Informationen ausdrucken wollen. &lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Frank|Frank]] 11:37, 8. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
IS471F - Fehler&lt;br /&gt;
&lt;br /&gt;
Sagt mal, bin ich jetzt völlig bekloppt und steh auf der Leitung oder kann es sein, dass der Schaltplan für die stärkere IR-LED beim IS471F einen Fehler hat?&lt;br /&gt;
&lt;br /&gt;
Die mit dem Transistor verstärkte IR-LED ist meiner Meinung nach falschherum eingezeichnet. Der Strich zeigt doch immer die Kathode an und dann sollte er ja wohl kaum in Sperrrichtung zu den 5 Volt hin betrieben werden, oder?&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Andun|Andun]] - 26.1.06 &lt;br /&gt;
&lt;br /&gt;
P.S.: Wie mach ich dass, das mein Eintrag hier so aussieht wie eurer???&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Du hast natürlich Recht, danke für Hinweis.  Werds gleich mal korrigieren. &lt;br /&gt;
Du musst für Unterschrift den Unterschriftsbutton über Dialog nutzen. Ist der nicht da, dann musst du ihn über &amp;quot;EInstellungen&amp;quot; aktivieren (Rechts oben).&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Frank|Frank]] 11:29, 27. Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Kompass-Modul - Horizontale Neigung messen?'''&lt;br /&gt;
&lt;br /&gt;
Beim durchlesen ist mir gerade ein kleiner Fehler aufgefallen: Im Artikel über das Kompass-Modul ist angegeben, dass man mit diesem die Neigung gegenüber der horizontalen messen könnte, wenn man es senkrecht montiert.&lt;br /&gt;
&lt;br /&gt;
Das ist (leider) nur teilweise korrekt: Man kann zwar die Neigung in Nord-Süd Richtung (also um die Achse von Ost nach West) messen, solange die Inklination bekannt ist.&lt;br /&gt;
&lt;br /&gt;
Was nicht funktioniert, ist, die Neigung in Ost-West Richtung, also um die Achse von Nord nach Süd mit diesem Verfahren zu messen, da eine Drehung um die Feldlinien sich überhaupt nicht auf den Sensor auswirkt.&lt;br /&gt;
&lt;br /&gt;
Wenn das gehen würde dann bräuchte man endlich keine Kreisel für teures Geld mehr.&lt;br /&gt;
&lt;br /&gt;
Sollte man IMHO ein wenig abändern.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 00:11, 24. Feb 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Bessere es ruhig aus wenn Du Fehler entdeckst&lt;br /&gt;
--[[Benutzer:Frank|Frank]] 17:27, 24. Feb 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ist geändert.&lt;br /&gt;
--[[Benutzer:Dennis.strehl|Dennis.strehl]] 18:06, 24. Feb 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=6130</id>
		<title>Sensorarten</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=6130"/>
				<updated>2006-02-24T17:04:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dennis.strehl: /* Kompaß-Modul CMPS03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welche Sensorarten gibt es==&lt;br /&gt;
Damit sich ein Roboter in seiner Umgebung bewegen kann, ohne an Hindernisse anzustoßen, und damit er ein Ziel finden und ansteuern kann, muß er irgendwie seine Umwelt &amp;quot;wahrnehmen&amp;quot;. &lt;br /&gt;
Hauptanwendung für diese Informationen aus der Umwelt ist die [[Navigation]]&lt;br /&gt;
&lt;br /&gt;
==Bumpers==&lt;br /&gt;
Als Bumpers bezeichnet man eine Art Stoßstange, die einen Mikro-Switch auslöst. &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/microschalter.jpg&lt;br /&gt;
&lt;br /&gt;
Die Auswertung erfolgt am besten digital an einem Pin mit Pull-up Widerstand. Man kann den Eingang pollen (abfragen), aber auch einen Interrupt auslösen lassen. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Whiskers (Fühler)==&lt;br /&gt;
Das sind flexible Kunststoff-Streifen von ca. 10 cm Länge, eigentlich für Datenhandschuhe vorgesehen. Aber man kann sie auch als Fühler einsetzen, und daher auch für die Kollisions-Sensorik verwenden. Beim Verbiegen steigt der Widerstand an.  &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/flexs_200.jpg&lt;br /&gt;
&lt;br /&gt;
Um zu messen, wird mit einem zweiten Widerstand ein Spannungsteiler aufgebaut, der dann mit einem Analog-Eingang einen Grad der Verbiegung erkennen läßt. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incremental-Geber==&lt;br /&gt;
Dienen zur Erfassung von Drehzahl bzw. der Messung von Wegstrecken&lt;br /&gt;
===Drehgeber Sharp GP1A30===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; http://www.roboternetz.de/wiki/uploads/Main/gp1a30.jpg &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Sharp GP1A30 handelt es sich um eine Gabellichtschranke mit inkrementaler Drehgeberfunktion. Im Gegensatz zu herkömmlichen Gabellichtschranken können mit dieser sowohl Drehzahl als auch Drehrichtung ermittelt werden. Notwendig sind dafür nur 2 digitale Ports. Verzichtet man auf die Auswertung der Drehrichtung, reicht nur ein Port.&lt;br /&gt;
Der Sensor hat den Vorteil das die Signale bereits TTL kompatibel sind und direkt an ein Controllerboard angeschlossen werden können. Ein Beispielprogramm zu [[RN-Control]] findet man hier&lt;br /&gt;
&lt;br /&gt;
* [[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/GP1A30.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Die Auswertung inkrementaler Drehgeber ist recht einfach. Ein Ausgang liefert einen Impuls pro Markierung (Scheibe auf der Welle). Prüft man bei jedem Impuls (Flanke) noch gleichzeitig den aktuellen Pegel des zweiten Ausganges, so kann daraus die Drehrichtung abgeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Der Signalverlauf an den Sensorausgängen ist phasenversetzt:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/inkremental1.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optische Sensoren==&lt;br /&gt;
===Helligkeit=== &lt;br /&gt;
!!! Anwendung&lt;br /&gt;
Die Hauptanwendung solcher Sensoren ist, den hellsten Fleck im Raum zu finden.&lt;br /&gt;
Dies ist auch Teil vieler Roboterwettbewerbe. (Robo Callenge (2002 sic!), 'Ein Platz an der Sonne')&lt;br /&gt;
&lt;br /&gt;
Solche Sensoren können einfache [[LDR]]s oder [[Photodioden]] bzw. [[Phototransistoren]] sein.&lt;br /&gt;
LDRs haben den Vorteil, dass sie relativ hoch aussteuern, der große Nachteil ist aber, dass diese Sensoren ziemlich Wärmeempfindlich und etwas träge.&lt;br /&gt;
Photodioden und Phototransistoren aheb den Vorteil, dass sie sehr genau sind, aber nicht besonders hoch aussteuern. Diese sollte man evtl. über einen OpAmp verstärken.&lt;br /&gt;
&lt;br /&gt;
http://www.alscomposants.com/boutique/images_produits/vMPY7P510.jpg&lt;br /&gt;
&lt;br /&gt;
Ein Typischer LDR, der LDR07&lt;br /&gt;
&lt;br /&gt;
http://www.diotronic.com/images/productos/optoelectronica/bpw42.jpg&lt;br /&gt;
&lt;br /&gt;
Der BPW42, ein typischer Phototransistor.&lt;br /&gt;
&lt;br /&gt;
Dioden kenne ich jetzt keine in dem Farbbereich.&lt;br /&gt;
&lt;br /&gt;
Die Suche nach dem Hellsten Fleck im raum ist wie ich finde ein gutes Einsteigerthema!&lt;br /&gt;
&lt;br /&gt;
'-by tobimc-'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Distanzsensor IS471F===&lt;br /&gt;
&lt;br /&gt;
IS471F - Hindernisserkennung mit Infrarot Distanzsensor&lt;br /&gt;
&lt;br /&gt;
Das hier vorgestellte IC IS471F erlaubt eine einfach und sogar recht preisgünstige Hinternisserkennung per Infarot. Dazu muß im wesentlichen nur noch eine Infrarot-Diode an das IC angeschlossen werden. Das modulierte Licht wird von einem Gegenstand direkt auf das IC zurückgeworfen und somit das Hinterniss erkannt. Tageslicht/Fremdlicht stört den IS471 überhaupt nicht, da das Licht mit einer bestimmten Frequenz moduliert wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der normale Schaltungsaufbau sieht also wie oben abgebildet aus! In der Praxis kann das dann in etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471beispiel.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das englische Datenblatt findet man im Roboternetz-Download-Bereich&lt;br /&gt;
&lt;br /&gt;
Die normale Reichweite ist in gewissen Grenzen abhängig von der Farbe des Hinternisses. In der Regel reicht es jedoch durchaus einige cm so das langsame Roboter durchaus sehr gut damit zurecht kommen. Durch besonders helle Infrarot LED´s und durch zusätzlich LED-Fassungen kann man die Reichweite erhöhen. Wem das noch nicht reicht, der kann über einen zusätzlichen Transistor die Strahlungsleistung der LED noch weiter erhöhen. &lt;br /&gt;
&lt;br /&gt;
[[Bild:is471verstaerkung.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/bilder/mehrereis471.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sharp Infrarotsensoren===&lt;br /&gt;
&lt;br /&gt;
Sharp hat eine ganz interessante Serie von Bausteinen herausgebracht mit denen ein Roboter sogar recht genau Entfernungen messen kann. Das Messergebnis ist nahezu unabhängig von der Farbe und Helligkeit des gemessenen Objektes. Die Ansteuerung ist sehr einfach, der Sensorausgang kann zum Beispiel direkt an einen analogen Eingang eines Mikrocontrollers angeschlossen werden. Die Sensoren sind unter den Roboter-Bastlern weit verbreitet. &lt;br /&gt;
Bei vielen Händlern erhältlich kosten die Sensoren derzeit je nach Typ und Händlerspanne zwischen 13 bis 25 Euro.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Sharpentfernungssensor.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oft werden selbst in kleinen Roboter-Projekten mehrere dieser Sensoren genutzt da sie nur einen äußerst engen Erfassungsbereich haben. Sie eignen sich daher sehr gut zur Vermessung einer Umgebung, insbesondere dann wenn Sie drehbar auf einem Servo montiert werden. Als Kollisionsschutz sind sie wegen dem engen Winkel nur bedingt geeignet, zu diesem Zweck eignen sich zum Beispiel Ultraschallsensoren besser.&lt;br /&gt;
Das Funktionsprinzip der Sensoren ist einfach. Der Sensor besteht aus Sender und Empfänger. Der Sender sendet einen Infrarot-Strahl aus, der vom Hindernis reflektiert wird. Je nach Entfernung trifft der reflektierte Strahl an einer unterschiedlichen Stelle auf den Empfänger (ein sog. Position Sensitive Device, PSD). Der Empfänger setzt den Auftreffpunkt in einen analogen Spannungswert um. Eine schöne Skizze dazu:  &lt;br /&gt;
&lt;br /&gt;
[[Bild:sharpfunktion.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Einige der beliebtesten Bausteine sind:'''&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D12==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
Dies ist der am häufigsten eingesetzte Sharp Typ bei mobilen Robotern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP2D12anschluss.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2YA21YK==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt &lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D120====&lt;br /&gt;
Distanz 4 - 30 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2Y0A02YK====&lt;br /&gt;
Distanz 20 - 150 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/sensoren/gp2y0a02yk_diagramm.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D02====&lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch 8 Bit Digitalausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D150====&lt;br /&gt;
Distanz 3-30 cm - 1 Bit Schaltausgang  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Datenblätter zu den oberen Sensoren findet man im Download-Bereich des Roboternetz, siehe unter [[#Weblinks]].&lt;br /&gt;
 &lt;br /&gt;
Um die analogen Spannung der Sensoren in eine Entfernung umzurechnen, kann man sich mit Hilfe des Datenblattes oder einfacher Probemessungen Tabellen erstellen, welche dann vom Controller zur Umsetzung genutzt werden.&lt;br /&gt;
Bequemer ist allerdings eine Näherungsformel:&lt;br /&gt;
&lt;br /&gt;
====Formel zur Entfernungsberechnung==== &lt;br /&gt;
 D = A/(X-B) &lt;br /&gt;
&lt;br /&gt;
 D ist die Entfernung &lt;br /&gt;
 X ist der Ausgabewert des Sensors &lt;br /&gt;
 A ist die Steigung der Kurve A/X &lt;br /&gt;
 B ist der Offset der Kurve &lt;br /&gt;
&lt;br /&gt;
Die Konstanten A und B ermittelt man am besten über zwei Probemessungen: &lt;br /&gt;
&lt;br /&gt;
D und X sind die Entfernung und der Ausgabewert der ersten Messung (z.B. bei 20 cm) &lt;br /&gt;
D' und X' sind die Entfernung und der Ausgabewert der zweiten Messung (z.B. bei 60 cm) &lt;br /&gt;
&lt;br /&gt;
 A = ((X' - X) * D' * D) /(D - D' ) &lt;br /&gt;
 B = (D' * X' - D * X) /(D' - D) &lt;br /&gt;
&lt;br /&gt;
====GP2D12 Messkurve====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gpd12kurve.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====GPD120 Messkurve====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gpd120kurve.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ultraschall Sensoren== &lt;br /&gt;
===Ultraschallsensoren SRF04 und SRF08===&lt;br /&gt;
Die Firma '''Devantech''' hat eine Serie von sehr günstigen und kleinen Ultraschallsensoren entwickelt, die sich im Bereich &amp;quot;autonome Robotersysteme&amp;quot; durchgesetzt haben. Sie sind sehr verbreitet, da sie auch für &amp;quot;Hobby-Robotiker&amp;quot; erschwinglich sind und es sich nicht lohnen würde vergleichbare Module selber zu bauen, da diese meistens ungenauer und teurer wären.&lt;br /&gt;
&lt;br /&gt;
Bekannt wurde die Serie durch den '''SRF04'''. Mit seinen kleinen Abmessungen, der niedrigen Stromaufnahme und der hohen Genauigkeit ist er für kleine Messaufgaben im Entfernungsbereich von 3cm bis 3m gut geeignet. Der SRF04 kann einen 3cm dicken Besenstiel in 2m Entfernung erkennen und wird durch ein [[PWM]]-Signal ausgewertet.&lt;br /&gt;
&lt;br /&gt;
http://www.roboter-teile.de/images/srf04_400.jpg&lt;br /&gt;
http://www.roboter-teile.de/images/srf04b_400.jpg&lt;br /&gt;
&lt;br /&gt;
Der Nachfolger des SRF04 ist der noch erfolgreichere '''SRF08''', der nun über den [[I2C]]-Bus ausgewertet werden kann und über eine Reichweite von 3cm bis 6m verfügt. Er hat eine noch kleinere Stromaufnahme und zusätzlich befindet sich auf der Platinenfront ein Fotowiderstand(LDR) dessen Lichtmesswerte sich ebenfalls über den [[I2C]]-Bus auswerten lassen. Durch den SRF08 wird es möglich auch bis zu 16 Mehrfachechos, von weiter hinten gelegenen Gegenständen, auszuwerten, die bei dem SRF04 ignoriert wurden. Über den [[I2C]]-Bus kann man die Messwerte in cm, zoll und in der Laufzeit µs auslesen und spart sich somit die externe Auswertung der Laufzeit, wie bei dem SRF04. Weiterhin können insgesamt 16 SRF08-Module an einen [[I2C]]-Bus angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
http://www.roboter-teile.de/images/srf08_400.jpg&lt;br /&gt;
http://www.roboter-teile.de/images/srf08b_400.jpg&lt;br /&gt;
&lt;br /&gt;
Fotoquelle: www.roboter-teile.de&lt;br /&gt;
&lt;br /&gt;
===SRF08 Programmbeispiel===&lt;br /&gt;
SFR08 Programm Beispiel mit BasCom&lt;br /&gt;
Über die grundsätzliche Behandlung des I2C-Bus mit BasCom kann man [[Main.I2CBascom|hier]] nachlesen. &lt;br /&gt;
&lt;br /&gt;
 Const Sf08_adr_0 = &amp;amp;HE0             ' I2C Adresse&lt;br /&gt;
 Const Sf08_c_range = 100            ' Reichweite&lt;br /&gt;
 Const Sf08_c_gain = 1               ' Empfindlichkeit&lt;br /&gt;
&lt;br /&gt;
Die Adresse ist der Default-Wert für den Sensor, und kann eingestellt werden. &lt;br /&gt;
Range und Gain sind anzupassen, die angegeben Werte sind aber mal grundsätzlich verwendbar.&lt;br /&gt;
&lt;br /&gt;
'''Setup'''&lt;br /&gt;
Nach dem Reset sind einmal Range und Gain zu setzen.&lt;br /&gt;
&lt;br /&gt;
'''Setzen Range'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' register &amp;quot;range&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_range  &lt;br /&gt;
      I2cstop&lt;br /&gt;
 &lt;br /&gt;
'''Setzen Gain'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 1            ' register &amp;quot;gain&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_gain    &lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
'''Abfrage Trigger'''&lt;br /&gt;
&lt;br /&gt;
Die Abfrage soll laut Beschreibung in zwei Schritten erfolgen, zwischen denen ca 70 mS gewartet werden soll. Diese Zeit braucht das Gerät zum Messen. &lt;br /&gt;
&lt;br /&gt;
'''Trigger'''  &lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 0            ' register &amp;quot;Trigger&amp;quot;&lt;br /&gt;
      I2cwbyte 81           ' Meßwert in Zentimetern&lt;br /&gt;
&lt;br /&gt;
      Waitms 70 &lt;br /&gt;
&lt;br /&gt;
'''Ergebnis abholen'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM Lsb as Byte&lt;br /&gt;
 DIM Msb as Byte&lt;br /&gt;
 DIM IVal as word&lt;br /&gt;
&lt;br /&gt;
      I2cstart              ' Repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' Meßwert US&lt;br /&gt;
&lt;br /&gt;
      I2cstart                 ' repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0 + 1  ' Device I2C Adresse READ!&lt;br /&gt;
      I2crbyte Msb , Ack      ' Bit 8-15&lt;br /&gt;
      I2crbyte Lsb , Nack     ' Bit 0-7&lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
      Ival = Makeint(lsb , Msb) ' umwandeln in Word (16 Bit)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kompaß== &lt;br /&gt;
===Kompaß-Modul CMPS03===&lt;br /&gt;
Laut der Doku ist diese Modul speziell für die Bedürnisse von Robotern gestaltet worden. Es mißt seine Lage relativ zum Erdmagnetfeld und liefert diesen Wert&lt;br /&gt;
* Als PWM-Signal &lt;br /&gt;
* Über I2C entweder 0-255 als Byte oder&lt;br /&gt;
* 0-3599 als 16-Bit Wert (MSB first)&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Doku ist eine fixe I2C-Adresse von 0xC0 angegeben. Was leider noch fehlt, sind Angaben, ob und wie diese Adresse geändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Bei waagrechter Montage ist das also ein Kompaß, bei senkrechter Montage dieser Module kann man auch die Neigung in Nord-Süd-Richtung messen. Hierzu sind 2 Module nötig, die zueinander um 90° gedreht angeordnet sein müssen. Die Neigung in Ost-West-Richtung zu messen, ist dagegen leider nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Das Ganze ist eine Anwendung des Philips-KMZ51 Magnet-Feld-Sensors mittels eines PIC16F872&lt;br /&gt;
&lt;br /&gt;
Gelegentlich sollte das Modul kalibriert werden. Das kann über den I2C-Bus, aber auch mittels einen Pins am Modul initiiert werden. Dann muß das Module langsam um 360 Grad gedreht werden. Dabei nimmt das Modul 4 Meßpunkte auf und speichert sie im EEPROM. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/cmps3pin.jpg&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Beschleunigung==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Temperatur== &lt;br /&gt;
===Temperatur-Sensor LM75===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/lm75.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Dieser Chip von National Semiconductors kann die Umgebungstemperatur mit einer Genauigkeit von 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; Grad Celsius messen. Das angegebene Bereich ist -25&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; bis 100&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; C. Es wird zweierlei geboten:&lt;br /&gt;
* Ein Schaltausgang - Wenn man also z.B. einen Ventilator einschalten möchte&lt;br /&gt;
* I2C - Der obere Teil der Adresse ist fix 0x9n, die Bits 1-3 kann man mit Jumper einstellbar machen oder fest verdrahten. &lt;br /&gt;
&lt;br /&gt;
Durch einen einfachen I2C-Lesebefehl kann man die Temperatur einlesen (16-Bit), das Format ist allerdings etwas tricky. Das erste Byte (8-Bit) ist die Temperatur in ganzen Grad, als normales signed char, vom zweiten Byte gibt das MSB an, ob noch 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; '''dazuzuzählen''' sind (also auch, wenn vorne eine negative Zahl steht)  &lt;br /&gt;
&lt;br /&gt;
Der Grund ist der: die vorzeichenbehaftete 9-Bit Zahl, die da linksbündig in zwei Datenbytes übertragen wird, gibt eigentlich an, wieviel 0.5 Grad - Einheiten gemessen wurden. Rein rechnerisch wäre also Temperatur = Wert * 0.5, das müßte man aber als float durchführen oder erweitern&lt;br /&gt;
&lt;br /&gt;
===Programm-Beispiel für LM75===&lt;br /&gt;
Der LM75 wird über den [[I2C]]-Bus angesprochen&lt;br /&gt;
In BasCom, wo es ja keine signed char gibt, wird das Interpretieren auf sehr unterschiedliche Art empfohlen. &lt;br /&gt;
&lt;br /&gt;
Ich empfehle:&lt;br /&gt;
&lt;br /&gt;
 dim Ival as integer&lt;br /&gt;
 dim Msb as byte&lt;br /&gt;
 dim Lsb as byte&lt;br /&gt;
         I2cstart&lt;br /&gt;
         I2cwbyte &amp;amp;H91   ' Lese-adresse !  &lt;br /&gt;
         If Err = 1 Then&lt;br /&gt;
            I2cstop       ' kein ACK vom LM75 --&amp;gt; irgendein Fehler&lt;br /&gt;
            Ival = 9999   ' Zeichen, daß der Wert ungültig ist !&lt;br /&gt;
         Else&lt;br /&gt;
            I2crbyte Msb , Ack&lt;br /&gt;
            I2crbyte Lsb , Nack&lt;br /&gt;
            I2cstop&lt;br /&gt;
            If Msb.7 = 1 Then&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;HFF)   ' auffüllen mit den Vorzeichen bits&lt;br /&gt;
            Else&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;H00)   ' positiv, also bleibt es so&lt;br /&gt;
            End If&lt;br /&gt;
            Ival = Ival * 10                ' erweitern &lt;br /&gt;
            If Lsb.7 = 1 Then&lt;br /&gt;
              Ival = Ival + 5               ' fünf Zehntel Grad dazu &lt;br /&gt;
            End If&lt;br /&gt;
         End if&lt;br /&gt;
&lt;br /&gt;
das ergibt die Temperatur in Zehntel-Grad (Natürlich nur, wenn's keine Fehler gab).&lt;br /&gt;
&lt;br /&gt;
==Resistive Sensoren==&lt;br /&gt;
...&lt;br /&gt;
==Kapazitive Sensoren==&lt;br /&gt;
...&lt;br /&gt;
==Induktive Sensoren==&lt;br /&gt;
Induktiver Näherungsschalter&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
==Piezoelektrische Sensoren==&lt;br /&gt;
Hier ist ein Experiment dargestellt das die Funktion von Piezowandlern demonstriert.&lt;br /&gt;
&lt;br /&gt;
Drückt man auf eine längliche Glasplatte (Mikroskopträger Länge 76mm), die an den Enden auf je einem Piezo Wandler gelagert ist, dann ergeben sich Signale, die von den Kräften auf die Wandler abhängig sind. &lt;br /&gt;
&lt;br /&gt;
Die Summe der beiden Kräfte entspricht der Gesamtkraft. Das Verhältnis der beiden Kräfte entspricht dem Verhältnis der Abstände des Druckpunktes zum Wandler. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/wissen/images/6/66/Piezowandler.jpg&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Im Versuch wurde mit der Frequenz von ca. 4Hz (0,5s/div) von einem Ende bis zum anderen auf die Platte gedrückt. (Tonleiter). Die Signale der beiden Wandler sind im Oszillogramm aufgetragen und die Folge der Druck-Positionen ist auf den ersten Blick schon mal nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
==PIR Passiv Infrarot Sensoren==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Navigation]]&lt;br /&gt;
* [[Sensoren]]&lt;br /&gt;
* [[Graycode]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
*[http://www.ikm.uni-karlsruhe.de/forschung/pzt_webseiten/de/grundlagen/pyro.html Piezoelektrische Sensoren]&lt;br /&gt;
*[http://www.roboternetz.de/phpBB2/dload.php?action=category&amp;amp;cat_id=2 Datenblätter im Download-Bereich des Roboternetz]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Dennis.strehl</name></author>	</entry>

	</feed>