<?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=Pidi</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=Pidi"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Pidi"/>
		<updated>2026-04-11T20:44:53Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Getriebemotoren_Ansteuerung&amp;diff=12891</id>
		<title>Diskussion:Getriebemotoren Ansteuerung</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Getriebemotoren_Ansteuerung&amp;diff=12891"/>
				<updated>2007-11-15T11:08:52Z</updated>
		
		<summary type="html">&lt;p&gt;Pidi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;hi&amp;lt;br&amp;gt;&lt;br /&gt;
Bei der ansteuerung von z.b. L298 könte man 2 Ausgangspins sparen wenn man einen Logikinverter vor die Richtungswahl stellt.&lt;br /&gt;
&lt;br /&gt;
...........|&amp;lt;br&amp;gt;&lt;br /&gt;
...AVR..|&amp;lt;br&amp;gt;&lt;br /&gt;
...........|&amp;lt;br&amp;gt;&lt;br /&gt;
..PB0...|___________[Not]_______Richtung A&amp;lt;br&amp;gt;&lt;br /&gt;
...........|........|&amp;lt;br&amp;gt;&lt;br /&gt;
...........|........\_________________Richtung B&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
So könnte man über einen Port die Richtung wählen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Anmerkung von User shaun zur FET-Schaltung mit Logik Baustein:&lt;br /&gt;
Wie ich schon im anderen Eintrag zu dieser Schaltung schrieb, ist diese Schaltung durchaus gar nicht geeignet, da ab einer Betriebsspannung von ca. 4V bei jedem Schalt- und damit Umladevorgang kurzzeitig beiden MOSFETs eines Brückenzweiges leiten, somit also ein Kurzschluss entsteht und erheblicher Strom fliesst. Auch bei niedriger PWM-Frequenz führt dies zu erheblicher Erwärmung und ggf. zur Zerstörung, auf jeden Fall aber zu massiven Störungen auf der Versorgung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Pidi</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Begrenzungsschleife_-_Induktionsschleife&amp;diff=12550</id>
		<title>Begrenzungsschleife - Induktionsschleife</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Begrenzungsschleife_-_Induktionsschleife&amp;diff=12550"/>
				<updated>2007-08-09T06:22:34Z</updated>
		
		<summary type="html">&lt;p&gt;Pidi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Begrenzungsschleife oder Induktionsschleife wird verwendet um den Arbeitsbereich eines Roboters festzulegen. Üblicherweise wird diese bei Rasenmäherroboter eingesetzt. Die Induktionsschleife wird dabei um die zu mähende Fläche verlegt. Ein Roboter kann auch entlang einer Induktionsschleife zur Ladestation geleitet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Funktionsprinzip:'''&lt;br /&gt;
&lt;br /&gt;
Als Induktionsschleife wird ein Kabel (Schaltlitze, Lautsprecherkabel) verlegt. Die Schleife entspricht damit einer Spule mit einer Windung. An die Induktionsschleife wird mit einer Frequenz von 5 bis 200 Hz für wenige ms (Impulsbreite) eine Spannung von etwa 15 - 25 V angelegt. Damit wird für kurze Zeit innerhalb der Schleife ein Magnetfeld erzeugt. Im Roboter wird als Detektor eine Spule mit hoher Windungszahl verwenden. Der Anstieg des Magnetfeldes induziert in dieser Spule eine Spannung. Die Polarität gibt darüber Auskunft, ob sich die Spule innerhalb oder ausserhalb der Schleife befindet. Befindet sich die Spule genau über der Schleife wird keine Spannung induziert. Der anschließende Abfall des Magnetfeldes induziert nochmals eine Spannung in der Detektorspule, deren Polarität aber dem ersten Impuls entgegengesetzt ist. &lt;br /&gt;
&lt;br /&gt;
Entscheidend für die Funktion ist somit nicht das statische Magnetfeld. Hall-Sensoren als Detektoren sind damit ungeeignet. Entscheidend sind ein steiler Anstieg und steiler Abfall des Magnetfeldes, da nach dem Induktionsgestzt die Änderung der Magentfeldstärke pro Zeiteinheit für die Höhe der induzierten Spannung entscheidend ist. Der Widerstand der Induktionsschleife sollte deshalb wenige Ohm nicht überschreiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Senderschaltung:'''&lt;br /&gt;
&lt;br /&gt;
Die Ansteuerung des MOSFET T1 ist über beliebige Timer (NE555,  Attiny2313) möglich. Wichtig sind ein Kondensator C1 mit hoher Kapazität zur Pufferung der Spannung am Netzgerät, da bei durchgeschalteten MOSFET fast ein Kurzschluss über die Induktionsschleife vorliegt. Eine Freilaufdiode D1 verhindert, nach dem Abschalten der Spannung die Induktion von Spannungsspitzen am MOSFET und dem Netzteil.&lt;br /&gt;
 [[Bild:Rasenrobo Induktionsschleife.JPG]]&lt;br /&gt;
Für eine Impulsbreite von z.B. 2 ms und eine Frequenz von 5 Hz muss R4 2 ms auf Vcc (high) und 200 ms auf 0V (low) gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Empfangsschaltung:'''&lt;br /&gt;
&lt;br /&gt;
Eine geeignete Detektorspule kann aus einem Relais (z.B. 12 - 24 V, Widerstand etwa 500 Ohm) ausgebaut werden. Der Bügel muss entfernt werden. Die Verstärkung der induzierten Spannung an der Detektorspule erfolgt über einen Operationsverstärker. Die Detektorspule liegt deshalb zwischen den beiden Eingängen des OPV. Ein Eingang liegt über einen Spannungsteiler an 1/2 Vcc. Der OPV kann deshalb mit 0 und 5 V an –Us bzw. +Us betrieben werden. Eine negative Betriebsspannung ist nicht erforderlich. Ohne Kondensator C würde der Spannungsimpuls nur wenige Mikrosekunden andauern. C und L alleine bilden aber einen Schwingkreis, was eine Wechselspannung am Eingang des OPV zur Folge hätte. Um dies zu vermeiden, wird dieser Schwingkreis durch einen parallel geschalteten Widerstand R gedämpft. Über R2 erfolgt eine negative Rückkopplung auf den - Eingang. Wird keine Spannung in L induziert, stellt sich deshalb am Ausgang ebenfalls etwa 1/2 Vcc ein.  R2 / Widerstand der Spule bestimmt in etwa den Verstärkungsfaktor. An- und Abschalten der Spannung an der Induktionsschleife erzeugen jeweils eine, weniger als 0,1 ms dauernde, Spannungsänderung (positiver oder negativer Spike) am Ausgang des OPV.&lt;br /&gt;
 [[Bild:Rasenrobo Induktionssensor.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Auswertung des Ausgangssignals vom OPV:'''&lt;br /&gt;
&lt;br /&gt;
1. Variante:&lt;br /&gt;
Um die Spikes zu erfassen, ist die Ansteuerung zweier Schmitt-Trigger denkbar, einer um den positiven, ein anderer um den negativen Spike zu detektieren. Über die beiden Potentiometer kann die Empfindlichkeit eingestellt werden (Potentiometer etwa in Mittelstellung). Jeder Schmitt-Trigger geht an einen Interrupt eines Processors. Beide Interrupt werden demzufolge kurz hintereinander, einer beim An-, der andere beim Abschalten der Spannung an der Induktionsschleife ausgelöst. Die Abfolge der Interrupt ( pos - neg oder neg - pos) zeigt an, ob sich die Detektorspule innerhalb oder ausserhalb der Begrenzungsschleife befindet. Der gleichzeitige Betrieb zweier Begrenzungsschleifen erscheint möglich, wenn die Begrenzungsschleifen mit unterschiedlicher Impulsbreite betrieben werden. Der zeitliche Abstand zwischen den beiden Interrupt sollte der Impulsbreite der Sender entsprechen und eine Zuordnung erlauben (nicht erprobt). Auch eine Übertragung einfacher Kommandos an den Robo wäre hierdurch denkbar. &lt;br /&gt;
[[Bild:Rasenrobo_Sensor_Schmitt-Trigger.JPG]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
2. Variante:&lt;br /&gt;
Die Spannung am Ausgang des OP wird über den ADC eines Microprocessors gemessen. Die Spikes müssen hierzu in einer Programmschleife abgepasst werden. Zu Erläuterung hierzu ein BASIC-Programm zur Verarbeitung von 2 Sensoren. Die Frequenz des Senders muss etwas langsamer sein, als das gesamte Programm durchlaufen wird. Das Programm wartet hierdurch in der For- Next Schleife auf den nächsten Spike. Impulsbreite kann ggf. mitgemessen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Config Adc = Single , Prescaler = Auto , Reference = Internal &lt;br /&gt;
 S0 Alias Getadc(0) &lt;br /&gt;
 S1 Alias Getadc(1) &lt;br /&gt;
 &lt;br /&gt;
 Do &lt;br /&gt;
 . &lt;br /&gt;
 Dein Programm &lt;br /&gt;
 . &lt;br /&gt;
 .&lt;br /&gt;
 A0 = S0 : A1 = S1 	      'Ausgangswerte der Sensoren (ohne Impuls) &lt;br /&gt;
 Max0 = A0 + 30	              'oberer Grenzwert Sensor1  (Einstellung&lt;br /&gt;
 Max1 = A1 + 30 	      'oberer Grenzwert Sensor2   der Empfind-&lt;br /&gt;
 Min0 = A0 - 30               'unterer Grenzwert Sensor1  lichkeit der &lt;br /&gt;
 Min1 = A1 - 30		      'unterer Grenzwert Sensor2  Sensoren) &lt;br /&gt;
 For I = 1 To 2000 &lt;br /&gt;
  Svr = S0 			     '1. Sensor wird gemessen &lt;br /&gt;
  If Svr &amp;gt; Max0 Or Svr &amp;lt; Min0 Then   'Impuls ausserhalb Grenzwerte&lt;br /&gt;
    Svr = S0 : Svl = S1 : Exit For   'Sensorwerte bei Impuls &lt;br /&gt;
  End If &lt;br /&gt;
  Svl = S1			     'gleiches für 2. Sensor &lt;br /&gt;
  If Svl &amp;gt; Max1 Or Svl &amp;lt; Min1 Then &lt;br /&gt;
    Svr = S0 : Svl = S1 : Exit For &lt;br /&gt;
  End If &lt;br /&gt;
 Next &lt;br /&gt;
 &lt;br /&gt;
 For Impulsbreite = 1 To 15                 'optional, misst&lt;br /&gt;
   If S0 &amp;gt; Max0 And Svr &amp;lt; A0 Then Exit For  'Impulsbreite, also&lt;br /&gt;
   If S0 &amp;lt; Min0 And Svr &amp;gt; A0 Then Exit For  'bis entgegengesetzter&lt;br /&gt;
 Next                                       'Spike auftritt &lt;br /&gt;
 &lt;br /&gt;
 Svr = Svr - A0: Svl = Svl – A1	 'Differenzen Impuls - Ausgangswerte &lt;br /&gt;
 				 'z.B. positiv innen, negativ aussen &lt;br /&gt;
 &lt;br /&gt;
 if i &amp;gt;= 2000 then Notaus 	'kein Impuls erfasst, (Schleife kaputt) &lt;br /&gt;
 . &lt;br /&gt;
 . &lt;br /&gt;
 Dein Programm &lt;br /&gt;
 . &lt;br /&gt;
 loop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tips zum Ausprobieren der Schaltung:'''&lt;br /&gt;
&lt;br /&gt;
Die Funktion des Senders kann getestet werden, indem die Detektorspule direkt mit einem Kopfhörer verbunden wird. Es knattert mit der Freqeunz des Senders. Wird der Kopfhörer mit dem Ausgang des OP verbunden, ist dies entsprechend lauter. Ein analoges Voltmeter am Ausgang des OP zeigt die Impulse durch kurze Ausschläge an. Ein digitales Voltmeter zeigt wegen der geringen Impulsbreite möglicherweise keine Spannungsimpulse an. Zum Ausprobieren kann man für die Schleife von einer 25 m Rolle mit Schaltlitze (z.B. 0,14mm^2) etwa 10 m abrollen. Im Freien und für größere Flächen kann man dickere Lautsprecherkabel verwenden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FAQ:'''&lt;br /&gt;
Warum spricht der Sensor auch in der Mitte einer großen Schleife an ?&lt;br /&gt;
&lt;br /&gt;
Nach dem Laplace´schen Induktionsgesetzt hängt die Magnetfeldstärke H in der Mitte einer Schleife folgendermassen vom Schleifenradius R und der Stromstärke I ab:&lt;br /&gt;
H = I  / 2 / R&lt;br /&gt;
H nimmt damit nur umgekehrt proportional zu R ab, und nicht zu R^2. I läßt sich bei Vergrößerung der Schleife konstant halten, wenn der Widerstand durch ein dickeres Kabel entsprechend gesenkt wird.&lt;br /&gt;
&lt;br /&gt;
Neben einem geraden Leiter hängt die Magnetfeldstärke wie folgt vom Abstand a ab:&lt;br /&gt;
H = I / 2pi / a. &lt;br /&gt;
Vergleicht man beide Formeln stellt man fest, dass z.B. die Magnetfeldstärke in der Mitte einer Schleife mit 6 m Durchmesser etwa so groß ist wie in 1 m Abstand von der Schleife. D.h. in den mittleren 2/3 einer Schleife ist das Magentfeld relativ homogen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die in diesem Artikel vorgestellten Schaltungen entstammen eigenen Versuchen. Es wird deshalb keinerlei Haftung übernommen. &lt;br /&gt;
Andere Konzepte und Schaltungen für eine Begrenzungsschleife werden im Forum unter &lt;br /&gt;
[http://www.roboternetz.de/phpBB2/viewtopic.php?t=19825&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=0&amp;amp;sid=cd9f9c9da075acaef9bb2fb04142a83d]&lt;br /&gt;
diskutiert.&lt;/div&gt;</summary>
		<author><name>Pidi</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Begrenzungsschleife_-_Induktionsschleife&amp;diff=12549</id>
		<title>Begrenzungsschleife - Induktionsschleife</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Begrenzungsschleife_-_Induktionsschleife&amp;diff=12549"/>
				<updated>2007-08-09T06:21:58Z</updated>
		
		<summary type="html">&lt;p&gt;Pidi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Begrenzungsschleife oder Induktionsschleife wird verwendet um den Arbeitsbereich eines Roboters festzulegen. Üblicherweise wird diese bei Rasenmäherroboter eingesetzt. Die Induktionsschleife wird dabei um die zu mähenden Fläche verlegt. Ein Roboter kann auch entlang einer Induktionsschleife zur Ladestation geleitet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Funktionsprinzip:'''&lt;br /&gt;
&lt;br /&gt;
Als Induktionsschleife wird ein Kabel (Schaltlitze, Lautsprecherkabel) verlegt. Die Schleife entspricht damit einer Spule mit einer Windung. An die Induktionsschleife wird mit einer Frequenz von 5 bis 200 Hz für wenige ms (Impulsbreite) eine Spannung von etwa 15 - 25 V angelegt. Damit wird für kurze Zeit innerhalb der Schleife ein Magnetfeld erzeugt. Im Roboter wird als Detektor eine Spule mit hoher Windungszahl verwenden. Der Anstieg des Magnetfeldes induziert in dieser Spule eine Spannung. Die Polarität gibt darüber Auskunft, ob sich die Spule innerhalb oder ausserhalb der Schleife befindet. Befindet sich die Spule genau über der Schleife wird keine Spannung induziert. Der anschließende Abfall des Magnetfeldes induziert nochmals eine Spannung in der Detektorspule, deren Polarität aber dem ersten Impuls entgegengesetzt ist. &lt;br /&gt;
&lt;br /&gt;
Entscheidend für die Funktion ist somit nicht das statische Magnetfeld. Hall-Sensoren als Detektoren sind damit ungeeignet. Entscheidend sind ein steiler Anstieg und steiler Abfall des Magnetfeldes, da nach dem Induktionsgestzt die Änderung der Magentfeldstärke pro Zeiteinheit für die Höhe der induzierten Spannung entscheidend ist. Der Widerstand der Induktionsschleife sollte deshalb wenige Ohm nicht überschreiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Senderschaltung:'''&lt;br /&gt;
&lt;br /&gt;
Die Ansteuerung des MOSFET T1 ist über beliebige Timer (NE555,  Attiny2313) möglich. Wichtig sind ein Kondensator C1 mit hoher Kapazität zur Pufferung der Spannung am Netzgerät, da bei durchgeschalteten MOSFET fast ein Kurzschluss über die Induktionsschleife vorliegt. Eine Freilaufdiode D1 verhindert, nach dem Abschalten der Spannung die Induktion von Spannungsspitzen am MOSFET und dem Netzteil.&lt;br /&gt;
 [[Bild:Rasenrobo Induktionsschleife.JPG]]&lt;br /&gt;
Für eine Impulsbreite von z.B. 2 ms und eine Frequenz von 5 Hz muss R4 2 ms auf Vcc (high) und 200 ms auf 0V (low) gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Empfangsschaltung:'''&lt;br /&gt;
&lt;br /&gt;
Eine geeignete Detektorspule kann aus einem Relais (z.B. 12 - 24 V, Widerstand etwa 500 Ohm) ausgebaut werden. Der Bügel muss entfernt werden. Die Verstärkung der induzierten Spannung an der Detektorspule erfolgt über einen Operationsverstärker. Die Detektorspule liegt deshalb zwischen den beiden Eingängen des OPV. Ein Eingang liegt über einen Spannungsteiler an 1/2 Vcc. Der OPV kann deshalb mit 0 und 5 V an –Us bzw. +Us betrieben werden. Eine negative Betriebsspannung ist nicht erforderlich. Ohne Kondensator C würde der Spannungsimpuls nur wenige Mikrosekunden andauern. C und L alleine bilden aber einen Schwingkreis, was eine Wechselspannung am Eingang des OPV zur Folge hätte. Um dies zu vermeiden, wird dieser Schwingkreis durch einen parallel geschalteten Widerstand R gedämpft. Über R2 erfolgt eine negative Rückkopplung auf den - Eingang. Wird keine Spannung in L induziert, stellt sich deshalb am Ausgang ebenfalls etwa 1/2 Vcc ein.  R2 / Widerstand der Spule bestimmt in etwa den Verstärkungsfaktor. An- und Abschalten der Spannung an der Induktionsschleife erzeugen jeweils eine, weniger als 0,1 ms dauernde, Spannungsänderung (positiver oder negativer Spike) am Ausgang des OPV.&lt;br /&gt;
 [[Bild:Rasenrobo Induktionssensor.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Auswertung des Ausgangssignals vom OPV:'''&lt;br /&gt;
&lt;br /&gt;
1. Variante:&lt;br /&gt;
Um die Spikes zu erfassen, ist die Ansteuerung zweier Schmitt-Trigger denkbar, einer um den positiven, ein anderer um den negativen Spike zu detektieren. Über die beiden Potentiometer kann die Empfindlichkeit eingestellt werden (Potentiometer etwa in Mittelstellung). Jeder Schmitt-Trigger geht an einen Interrupt eines Processors. Beide Interrupt werden demzufolge kurz hintereinander, einer beim An-, der andere beim Abschalten der Spannung an der Induktionsschleife ausgelöst. Die Abfolge der Interrupt ( pos - neg oder neg - pos) zeigt an, ob sich die Detektorspule innerhalb oder ausserhalb der Begrenzungsschleife befindet. Der gleichzeitige Betrieb zweier Begrenzungsschleifen erscheint möglich, wenn die Begrenzungsschleifen mit unterschiedlicher Impulsbreite betrieben werden. Der zeitliche Abstand zwischen den beiden Interrupt sollte der Impulsbreite der Sender entsprechen und eine Zuordnung erlauben (nicht erprobt). Auch eine Übertragung einfacher Kommandos an den Robo wäre hierdurch denkbar. &lt;br /&gt;
[[Bild:Rasenrobo_Sensor_Schmitt-Trigger.JPG]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
2. Variante:&lt;br /&gt;
Die Spannung am Ausgang des OP wird über den ADC eines Microprocessors gemessen. Die Spikes müssen hierzu in einer Programmschleife abgepasst werden. Zu Erläuterung hierzu ein BASIC-Programm zur Verarbeitung von 2 Sensoren. Die Frequenz des Senders muss etwas langsamer sein, als das gesamte Programm durchlaufen wird. Das Programm wartet hierdurch in der For- Next Schleife auf den nächsten Spike. Impulsbreite kann ggf. mitgemessen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Config Adc = Single , Prescaler = Auto , Reference = Internal &lt;br /&gt;
 S0 Alias Getadc(0) &lt;br /&gt;
 S1 Alias Getadc(1) &lt;br /&gt;
 &lt;br /&gt;
 Do &lt;br /&gt;
 . &lt;br /&gt;
 Dein Programm &lt;br /&gt;
 . &lt;br /&gt;
 .&lt;br /&gt;
 A0 = S0 : A1 = S1 	      'Ausgangswerte der Sensoren (ohne Impuls) &lt;br /&gt;
 Max0 = A0 + 30	              'oberer Grenzwert Sensor1  (Einstellung&lt;br /&gt;
 Max1 = A1 + 30 	      'oberer Grenzwert Sensor2   der Empfind-&lt;br /&gt;
 Min0 = A0 - 30               'unterer Grenzwert Sensor1  lichkeit der &lt;br /&gt;
 Min1 = A1 - 30		      'unterer Grenzwert Sensor2  Sensoren) &lt;br /&gt;
 For I = 1 To 2000 &lt;br /&gt;
  Svr = S0 			     '1. Sensor wird gemessen &lt;br /&gt;
  If Svr &amp;gt; Max0 Or Svr &amp;lt; Min0 Then   'Impuls ausserhalb Grenzwerte&lt;br /&gt;
    Svr = S0 : Svl = S1 : Exit For   'Sensorwerte bei Impuls &lt;br /&gt;
  End If &lt;br /&gt;
  Svl = S1			     'gleiches für 2. Sensor &lt;br /&gt;
  If Svl &amp;gt; Max1 Or Svl &amp;lt; Min1 Then &lt;br /&gt;
    Svr = S0 : Svl = S1 : Exit For &lt;br /&gt;
  End If &lt;br /&gt;
 Next &lt;br /&gt;
 &lt;br /&gt;
 For Impulsbreite = 1 To 15                 'optional, misst&lt;br /&gt;
   If S0 &amp;gt; Max0 And Svr &amp;lt; A0 Then Exit For  'Impulsbreite, also&lt;br /&gt;
   If S0 &amp;lt; Min0 And Svr &amp;gt; A0 Then Exit For  'bis entgegengesetzter&lt;br /&gt;
 Next                                       'Spike auftritt &lt;br /&gt;
 &lt;br /&gt;
 Svr = Svr - A0: Svl = Svl – A1	 'Differenzen Impuls - Ausgangswerte &lt;br /&gt;
 				 'z.B. positiv innen, negativ aussen &lt;br /&gt;
 &lt;br /&gt;
 if i &amp;gt;= 2000 then Notaus 	'kein Impuls erfasst, (Schleife kaputt) &lt;br /&gt;
 . &lt;br /&gt;
 . &lt;br /&gt;
 Dein Programm &lt;br /&gt;
 . &lt;br /&gt;
 loop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tips zum Ausprobieren der Schaltung:'''&lt;br /&gt;
&lt;br /&gt;
Die Funktion des Senders kann getestet werden, indem die Detektorspule direkt mit einem Kopfhörer verbunden wird. Es knattert mit der Freqeunz des Senders. Wird der Kopfhörer mit dem Ausgang des OP verbunden, ist dies entsprechend lauter. Ein analoges Voltmeter am Ausgang des OP zeigt die Impulse durch kurze Ausschläge an. Ein digitales Voltmeter zeigt wegen der geringen Impulsbreite möglicherweise keine Spannungsimpulse an. Zum Ausprobieren kann man für die Schleife von einer 25 m Rolle mit Schaltlitze (z.B. 0,14mm^2) etwa 10 m abrollen. Im Freien und für größere Flächen kann man dickere Lautsprecherkabel verwenden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FAQ:'''&lt;br /&gt;
Warum spricht der Sensor auch in der Mitte einer großen Schleife an ?&lt;br /&gt;
&lt;br /&gt;
Nach dem Laplace´schen Induktionsgesetzt hängt die Magnetfeldstärke H in der Mitte einer Schleife folgendermassen vom Schleifenradius R und der Stromstärke I ab:&lt;br /&gt;
H = I  / 2 / R&lt;br /&gt;
H nimmt damit nur umgekehrt proportional zu R ab, und nicht zu R^2. I läßt sich bei Vergrößerung der Schleife konstant halten, wenn der Widerstand durch ein dickeres Kabel entsprechend gesenkt wird.&lt;br /&gt;
&lt;br /&gt;
Neben einem geraden Leiter hängt die Magnetfeldstärke wie folgt vom Abstand a ab:&lt;br /&gt;
H = I / 2pi / a. &lt;br /&gt;
Vergleicht man beide Formeln stellt man fest, dass z.B. die Magnetfeldstärke in der Mitte einer Schleife mit 6 m Durchmesser etwa so groß ist wie in 1 m Abstand von der Schleife. D.h. in den mittleren 2/3 einer Schleife ist das Magentfeld relativ homogen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die in diesem Artikel vorgestellten Schaltungen entstammen eigenen Versuchen. Es wird deshalb keinerlei Haftung übernommen. &lt;br /&gt;
Andere Konzepte und Schaltungen für eine Begrenzungsschleife werden im Forum unter &lt;br /&gt;
[http://www.roboternetz.de/phpBB2/viewtopic.php?t=19825&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=0&amp;amp;sid=cd9f9c9da075acaef9bb2fb04142a83d]&lt;br /&gt;
diskutiert.&lt;/div&gt;</summary>
		<author><name>Pidi</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RN-Funk&amp;diff=12455</id>
		<title>RN-Funk</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RN-Funk&amp;diff=12455"/>
				<updated>2007-07-20T12:33:09Z</updated>
		
		<summary type="html">&lt;p&gt;Pidi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:fotornfunk.gif|thumb|RN-Funk]]Dieses universelle Funkboard unterstützt verschiedene Funkmodule und ist kinderleicht an PC oder Controllerboard´s anschließbar. Selbst Laien können damit sehr schnell ein Funkmodul in Betrieb setzen. Besonders einfach ist die Verbindung bei Roboternetz kompatiblen Boards.&lt;br /&gt;
&lt;br /&gt;
''So einfach geht’s:''&lt;br /&gt;
&lt;br /&gt;
* Das gewünschte Funkmodul in das Board stecken (oder einlöten) &lt;br /&gt;
* Das dreipolige RS232 Kabel ([[RN-Definitionen|Roboternetz-Standard]]) mit dem PC oder einem Controller verbinden&lt;br /&gt;
* Beliebige Spannung zwischen von 5 und  16 V an die Schraubklemme anlegen&lt;br /&gt;
&lt;br /&gt;
Das war`s! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun kann über das Funkmodul die RS232 so genutzt werden als wenn ein Kabel vorhanden wäre. Daten können einfach mit Basic Print-Befehl von Controller, PC gesendet und mit entsprechenden Anweisungen empfangen werden.&lt;br /&gt;
Die Möglichkeiten sind vielfältig. Die Fernsteuerung von Robotern, abfragen von Sensoren, fernsteuern von RN-Motor usw. usw.&lt;br /&gt;
Die Reichweite hängt vom Funkmodul ab. Reichweiten von 200 bis 350m sind aber durchaus realistisch, Mit dem getesteten Funk-Transceiver RT868F4 waren selbst nach 200 noch nicht die geringsten Ausfälle festzustellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Als hier die Leistungsmerkmale auf einen Blick==&lt;br /&gt;
&lt;br /&gt;
*  Verschiedene Funkmodule werden unterstützt:&lt;br /&gt;
** RT868F4  FM-Mehrkanalmodul 868 Mhz (Bezug z.B. Robotikhardware.de) &lt;br /&gt;
** RT433F4  FM-Mehrkanalmodul 433 Mhz  &lt;br /&gt;
** EasyRadio ER400TRS 433 Mhz&lt;br /&gt;
*  Versorgungsspannung 5 bis 16 V&lt;br /&gt;
*  Direkter Anschluß an PC oder Controller (Max-Pegelwandler auf dem Board)&lt;br /&gt;
*  Auch RS232 TTL Anschluß&lt;br /&gt;
*  BNC-Antennenstecker 50 Ohm (in der Regel reicht 8 cm Draht als Antenne)&lt;br /&gt;
*  Ein- und Ausschalter auf der Platine&lt;br /&gt;
*  Kontrollleuchte&lt;br /&gt;
*  Roboternetz-kompatibel – Das Funkmodul kann mit einem 3 poligen Kabel ganz einfach mit allen Boards aus der Roboternetz-Serie ([[RN-Control]],[[RNBFRA-Board]], [[RN-Motor]], [[RN-Mega8]], [[RN-MiniControl]] usw.) verbunden werden. Auch das üblicher PC-Anschlußkabel paßt sofort.&lt;br /&gt;
*  Kompakte Größe (Roboternetz Mini-Norm ¼ Europakarte)&lt;br /&gt;
*  Eingangsspannung gegen Verpolung geschützt&lt;br /&gt;
*  Deutsche Doku mit Basic Programmbeispiel&lt;br /&gt;
*  Preiswerte Platine und Bausatz erhältlich – einfacher Aufbau&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Die passenden Funkmodule==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:FunkmodulRT433F4.jpg|center]]  &lt;br /&gt;
&lt;br /&gt;
[[Bild:FunkmodulEasyradio.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Diagramm und Beschreibung der Anschlüsse==&lt;br /&gt;
&lt;br /&gt;
[[Bild:rnfunkdiagramm.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Aufbau und Anwendung==&lt;br /&gt;
&lt;br /&gt;
Der Aufbau der Schaltung ist durch die vorgefertigte kleine Platine eigentlich völlig problemlos auch von Elektronik-Einsteigern zu bewerkstelligen. Durch den Bestückungsdruck und die Bestückungsliste, etwas weiter hinten in dieser Dokumentation, ist der Aufbau unkritisch. &lt;br /&gt;
In der Regel dauert der Aufbau ca. 15 Minuten.&lt;br /&gt;
&lt;br /&gt;
Dennoch einige Anmerkungen zu kleinen Hürden:&lt;br /&gt;
&lt;br /&gt;
1. Je nachdem welches Funkmodul eingesetzt wird, müssen einige Bauteile unbestückt bleiben. Welche Bauteile bestückt werden müssen, wird auf den nachfolgenden Seiten erläutert.&lt;br /&gt;
&lt;br /&gt;
2. Die Bedienung des Funkmodules wird in der jeweiligen Anleitung zum Funkmodul beschrieben. Oft kann jedoch schon die Standard-Einstellung des Funkmodules benutzt werden. Gute Erfahrungen haben wir hier mit dem RT868F4 gemacht. Einfach Modul eingesetzt und ein Board an den Controller und ein gleiches an den PC angeschlossen und schon kann mit 9600 Baud gefunkt werden. Bei Bedarf kann mittels mitgelieferten Konfigurationsprogramm die Sendeleistung oder der Kanal gewechselt werden.&lt;br /&gt;
&lt;br /&gt;
3. Wird das Modul Easyradio verwendet, so muss man bedenken das dieses Modul standardmäßig mit 19200 Baud arbeitet. Da die meisten Programme auf 9600 Baud eingestellt sind, klappt also noch nix. Also am besten Terminalprogramm erst mal auf 19200 Baud einstellen und dann durch einen Befehl auf 9600 Baud umstellen. Also daher am besten vor Inbetriebnahme in die Anleitung des Funkmodules schaun, die befindet sich unter Datenblätter auf de rrobotikhardware-CD. Man muss gewöhnlich zwei Befehle schicken &amp;quot;ER_CMD#U3 und ACK&amp;quot; , dann klappts auch mit 9600 Baud. Alternativ kann man auch ein Tool (LPRS Easy Radio 1.03.exe) zur Konfigurierung verwenden. Dieses Tool findet man auf der Robotikhardware CD im Ordner Funkmodule. . &lt;br /&gt;
&lt;br /&gt;
Das waren eigentlich schon die besonderen Punkte die zu beachten sind. Ansonsten natürlich sauber mit einem 15 – 25 W Lötkolben alles auf der Unterseite verlöten. Grundkenntnisse beim Löten werden empfohlen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken==&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Anschlußbezeichnung'''&lt;br /&gt;
|'''Erläuterung'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Power'''&lt;br /&gt;
|Spannungsversorgung&lt;br /&gt;
Über diese Schraubklemme wird das Board mit Spannung versorgt. Es reicht eine unstabilisierte Gleichspannung von 7 bis 20V aus (max. 20V wenn ein Kühlkörper verwendet wird)&lt;br /&gt;
+ und – sind auf der Platine markiert. Das Board ist jedoch auch gegen ein verpolen geschützt, so das nichts kaputt geht!&lt;br /&gt;
|-&lt;br /&gt;
|'''JPU'''&lt;br /&gt;
|Spannung wählen&lt;br /&gt;
Wenn ein EasyRadio-Funkmodul eingesteckt ist, dann muß ein Jumper die Kontakte 2 und 3 kurzschließen. Im anderen Falle muß der Jumper 1 und 2 verbinden.&lt;br /&gt;
Dies muß vor der Inbetriebnahme erfolgen, weil hiermit die Spannungsstabilisierung zwischen 3 und 5V umgeschaltet wird.&lt;br /&gt;
|-&lt;br /&gt;
|'''JP2'''&lt;br /&gt;
|SLEEP&lt;br /&gt;
Bei Verwendung des Funkmodules RT858F4 oder RT433F4 muß hier ein Jumper gesteckt werden damit das Modul aktiv ist. Ansonsten würde es im Sleep-Mode nur 3uA benötigen. Statt Jumper kann man hier auch einen Port anschließen (siehe Schaltplan)&lt;br /&gt;
|-&lt;br /&gt;
|'''BAUD'''&lt;br /&gt;
|Baudrate&lt;br /&gt;
Bei Verwendung des Funkmodules RT858F4 oder RT433F4 wird durch diese zwei Jumper die Baudrate festgelegt. Wird kein Jumper gesteckt, so ist diese automatisch auf 9600 Baud festgelegt (was wir empfehlen).&lt;br /&gt;
Wird Jumper auf Nummer 2 gesteckt, so sind es 19200 Baud. Auf Stellung 3 sind es 38400 Baud.&lt;br /&gt;
|-&lt;br /&gt;
|'''S1'''&lt;br /&gt;
|Ein- und Ausschalter&lt;br /&gt;
Über diesen Schalter kann das ganze Board vom Netzteil getrennt werden&lt;br /&gt;
|-&lt;br /&gt;
|'''RS232'''&lt;br /&gt;
|PC kompatible RS232 Schnittstelle&lt;br /&gt;
Über ein Adapterkabel kann die serielle Schnittstelle des PC direkt mit dem Board verbunden werden. Dies ist dann sinnvoll, wenn ein Fehler in einem Programmen gesucht wird. Einfache PRINT Anweisungen werden von einem Terminalprogramm angezeigt.&lt;br /&gt;
Hier kann Hyperterminal von Windows oder das eingebaute Terminalprogramm von Bascom empfohlen werden.&lt;br /&gt;
&lt;br /&gt;
Die Belegung ist kompatibel zum Robotzernetz-Standard:&lt;br /&gt;
&lt;br /&gt;
 Pin 1 RX&lt;br /&gt;
 Pin 2 GND&lt;br /&gt;
 Pin 3 TX&lt;br /&gt;
&lt;br /&gt;
Ein geeignetes Anschlußkabel kann schnell selbst angefertigt werden, oder mit dem Bausatz bestellen werden.&lt;br /&gt;
Natürlich kann man hier auch einen Controller mit Max-IC anschließen. Praktisch alle Roboternetz-Baords mit der üblichen  3 poligen RS232 Stiftleiste!&lt;br /&gt;
|-&lt;br /&gt;
|'''RS232 TTL'''&lt;br /&gt;
|RS232 Schnittstelle mit TTL Pegel&lt;br /&gt;
Dies ist die RS232 Schnittstelle mit TTL-Pegel, also max. 5V Pegel. Hier lassen sich Controllerboards, die keinen Treiberbaustein wie Max232 besitzen, direkt anschließen&lt;br /&gt;
&lt;br /&gt;
Die TTL- Stiftleiste wird nach Roboternetz-Definition immer 4 polig ausgestattet um Verwechslungen mit der Standard RS232 Stiftleiste  zu vermeiden. Verbinden Sie niemals eine  4 polige TTL-Stiftleiste mit einer 3 poligen, dies würde den Controller oder PC beschädigen.&lt;br /&gt;
&lt;br /&gt;
Die Belegung entspricht der Roboternetz-Norm:&lt;br /&gt;
&lt;br /&gt;
 Pin 1 RX&lt;br /&gt;
 Pin 2 TX&lt;br /&gt;
 Pin 3 GND&lt;br /&gt;
 Pin 4 +5V (hier nicht benutzt/belegt)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein geeignetes Anschlußkabel kann schnell selbst angefertigt werden. &lt;br /&gt;
&lt;br /&gt;
Wichtig: Wenn die TTL-Buchse benutzt wird, dann muß IC1 (MAX3232) aus der IC-Fassung genommen werden.&lt;br /&gt;
|-&lt;br /&gt;
|'''JP1'''&lt;br /&gt;
|Easy Radio Sondersignale &lt;br /&gt;
Wird das EasyRadio Funkmodul genutzt, so können über diese Stiftleiste noch zusätzliche Signale abgefaßt werden,.&lt;br /&gt;
 Pin 1 GND&lt;br /&gt;
 Pin 2 RDY&lt;br /&gt;
 Pin 3 RSY&lt;br /&gt;
 Pin 4 RSS1 (Feldstärke)&lt;br /&gt;
&lt;br /&gt;
Die Signale sind in der Doku des Funkmodules ausführlich erläutert. Gewöhnlich braucht man diese nicht, jedoch muß dann ein Jumper zwischen Pin 1 und Pin 2 gesteckt werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Bestückungsplan==&lt;br /&gt;
ROT sind die Jumper-Grundeinstellungen markiert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rnfunkBestueckungsplan_rt.gif|center|framed|Jumper wenn Funkmodul RT868F4 oder RT433F4 eingesetzt wird]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rnfunkBestueckungsplan_easyradio.gif|center|framed|Jumper wenn Funkmodul EasyRadio eingesetzt wird]]&lt;br /&gt;
&lt;br /&gt;
==Bauteile Bestückungsliste==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bauteil    Beschreibung   &lt;br /&gt;
-------------------------------------------------              &lt;br /&gt;
BAUD       2x2 Stiftleiste             &lt;br /&gt;
BNC1       BNC Buchse                  &lt;br /&gt;
C1         Elko 220uF                  &lt;br /&gt;
C2         Elko 0,22uF                 &lt;br /&gt;
C3         Elko 0,22uF                 &lt;br /&gt;
C4         Elko 0,22uF                 &lt;br /&gt;
C5         Keramik Kondensator 100n    &lt;br /&gt;
C6         Keramik Kondensator 100n    &lt;br /&gt;
C7         Keramik Kondensator 100n    &lt;br /&gt;
C8         Elko 100uF bis 470uF        &lt;br /&gt;
C9         Elko 0,22uF                 &lt;br /&gt;
C10        Keramik Kondensator 100nF        &lt;br /&gt;
C11        Elko 100uF bis 470 uF      &lt;br /&gt;
D1         Zehnerdiode nicht notwendig, generell unbestückt lassen &lt;br /&gt;
D2         Diode BYV 27/200        &lt;br /&gt;
D3         Zehnerdiode 3V ZD 3,0            &lt;br /&gt;
ER1        Wahlweise ER400TRS Funkmodul                                                                                              &lt;br /&gt;
FUNK1      Wahlweise Funkmodul RT868F4 oder RT433F4&lt;br /&gt;
           auf zwei 10pol Buchsenleisten &lt;br /&gt;
IC1        MAX 3232 CPE                &lt;br /&gt;
IC2        Spannungsregler 3,3V LF 33 CV     &lt;br /&gt;
IC3        Spannungsregler 78S05             &lt;br /&gt;
JP1        Stiftleiste 4polig &lt;br /&gt;
JP2        Stiftleiste 2polig &lt;br /&gt;
JPU        Stiftleiste 3polig &lt;br /&gt;
LED1       Leuchdiode Low     &lt;br /&gt;
POWER      Schraubklemme 2 polig &lt;br /&gt;
R1         Metallschichtwiderstand 10k METALL 10,0K      &lt;br /&gt;
R2         Metallschichtwiderstand 10k METALL 10,0K      &lt;br /&gt;
R3         Metallschichtwiderstand 10k METALL 10,0K      &lt;br /&gt;
R4         Widerstand 330 Ohm          METALL 330        &lt;br /&gt;
R5         Widerstand 330 Ohm          METALL 330        &lt;br /&gt;
R6         Widerstand 330 Ohm          METALL 330        &lt;br /&gt;
RS232TTL   Stiftleiste 4polig    &lt;br /&gt;
RS232_PC1  Stiftleiste 3 polig   &lt;br /&gt;
S1         Umschalter            &lt;br /&gt;
IC1        IC Fassung 16 polig   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schaltplan==&lt;br /&gt;
&lt;br /&gt;
[[Bild:rnfunkschaltplan.gif|thumb|center|Zum vergrößern anklicken]]&lt;br /&gt;
&lt;br /&gt;
==Der erste Test==&lt;br /&gt;
&lt;br /&gt;
Nachdem das Board aufgebaut ist, können wir es testen. Am einfachsten ist es Wenn Sie gleich zwei Funkmodule und Boards RN-FUNK gekauft haben.&lt;br /&gt;
Stecken Sie in jeden BNC-Stecker einen isolierten Draht von ca 8 cm länge als Antenne (nach oben ausrichten)&lt;br /&gt;
Schließen Sie eines an den PC und eines an ihren Controller an. Dann programmieren Sie einfach eine Schleife die Daten mit Print ausgibt.&lt;br /&gt;
&lt;br /&gt;
Bei [[RN-Control]] könnte das so aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
' Beispielprogramm RN-FUNK&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$crystal = 16000000                                         'Quarzfrequenz&lt;br /&gt;
$baud = 9600&lt;br /&gt;
Print&lt;br /&gt;
Print &amp;quot;**** RN-CONTROL 1.4 *****&amp;quot;&lt;br /&gt;
Print &amp;quot;Das Experimentier- und Roboterboard&amp;quot;&lt;br /&gt;
Print &amp;quot;mit Beispielprogramm für RN-Funk&amp;quot;&lt;br /&gt;
Print&lt;br /&gt;
&lt;br /&gt;
Dim T As Integer&lt;br /&gt;
Do&lt;br /&gt;
  Print &amp;quot;Test Nummer &amp;quot; ; T&lt;br /&gt;
  T = T + 1&lt;br /&gt;
  Wait 1&lt;br /&gt;
Loop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Über ein Terminalprogramm müssten kann nun diese Zahlen empfangen, so als sei das Board direkt mit der RS232 verbunden.&lt;br /&gt;
Klappt es nicht, dann dreht man den dreipoligen RS232-Stecker beim Funkmodul mal um. Es schadet nix wenn Sie diesen mal falsch rum aufgesteckt haben. Wenn dieser beim Sender als auch Empfänger richtig rum ist, dann sollte man die Daten sehen.&lt;br /&gt;
Nun können man sich mit der zu sendenden [[RN-Control]] entfernen. Man wird überrascht sein welch hohe Reichweiten erzielt werden.&lt;br /&gt;
&lt;br /&gt;
Soweit war´s das. Alles andere liegt an dem Einfallsreichtum von jedem selbst. Sicherlich wird dazu noch das ein oder andere Programm im Roboternetz auftauchen. Du kannst auch selbst dort Beispiele posten.&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
* [[Benutzer:Frank|Frank]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Funkmodule]]&lt;br /&gt;
* [[RS232]]&lt;br /&gt;
* [[Bascom]]&lt;br /&gt;
* [[RN-Definitionen]]&lt;br /&gt;
* [[RN-Board FAQ-Seite]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=185 Ausführliche Anleitung und Bauplan als PDF-Datei]&lt;br /&gt;
* [http://www.kh-gps.de/nahfunk.htm Projekt GPS Empfänger an RN-Funk]&lt;br /&gt;
&lt;br /&gt;
{{Platinenservice|http://www.robotikhardware.de}}&lt;br /&gt;
{{Bausatzservice|http://www.robotikhardware.de}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Kommunikation]]&lt;br /&gt;
[[Category:Projekte]]&lt;br /&gt;
[[Category:Microcontroller]]&lt;/div&gt;</summary>
		<author><name>Pidi</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=ADC_(Avr)&amp;diff=9771</id>
		<title>ADC (Avr)</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=ADC_(Avr)&amp;diff=9771"/>
				<updated>2006-12-05T13:49:44Z</updated>
		
		<summary type="html">&lt;p&gt;Pidi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Für allgemeine Informationen zum Analog-Digital-Wandler siehe Artikel [[ADC]].''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit einem Analog-Digital-Wandler ([[ADC]], für Analog Digital Converter) ist es mit den AVRs möglich, auf einfache Art und Weise analoge Größe in digitale Werte umzuwandeln. Dies bietet sich z.B. an, wenn man die Batteriespannung eines Roboters bestimmen möchte.&lt;br /&gt;
&lt;br /&gt;
== Kanäle ==&lt;br /&gt;
Ein AVR hat normalerweise nur einen [[ADC]] integriert. Öfters muss man aber mehrere analoge Größen von verschiedenen Quellen wandeln, deswegen besitzen die AVRs Kanäle (ein ATmega32 z.B. besitzt acht Kanäle auf Port A). Diese Kanäle werden dann mithilfe eines Multiplexer auf den [[ADC]] geschalten, der dann die anliegenden analoge Spannung in einen digitalten Wert wandelt.&lt;br /&gt;
&lt;br /&gt;
== Betriebsmodi ==&lt;br /&gt;
Der [[ADC]] bietet verschiedene Betriebsmodi. Diese wären:&lt;br /&gt;
* Single Conversation: Der [[ADC]] wandelt eine analoge Größe um und gibt diese zurück.&lt;br /&gt;
* Free Running: Der [[ADC]] wandelt wie in einer Endlosschleife ständig die anliegenden analogen Größen in digitale Werte um und gibt diese zurück.&lt;br /&gt;
&lt;br /&gt;
== Teilungsfaktor ==&lt;br /&gt;
Zum Wandeln benötigt der [[ADC]] einen eigenen Takt, der auf der Taktfrequenz des Mikrocontrollers basiert. Allerdings ist die Taktfrequenz des Mikrocontrollers zu schnell und deswegen wird diese durch den Vorteiler verkleinert. Der resultierende Takt muss zwischen 50kHz und 200kHz liegen. Folgende Teilungsfaktoren sind verfügbar:&amp;lt;br&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Teilungsfaktoren'''&lt;br /&gt;
 |2&lt;br /&gt;
 |4&lt;br /&gt;
 |8&lt;br /&gt;
 |16&lt;br /&gt;
 |32&lt;br /&gt;
 |64&lt;br /&gt;
 |128&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um zu bestimmen welcher Teilungsfaktor geeignet ist, kann man folgende Formel verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Taktfrequenz = 8 MHz&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Teilungsfaktor_{min} = {Taktfrequenz \over {200 kHz}} = {{8000000 Hz} \over {200000 Hz}} = 40&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Teilungsfaktor_{max} = {Taktfrequenz \over {50 kHz}} = {{8000000 Hz} \over {50000 Hz}} = 160&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Deswegen kann man nun zwischen einem der folgenden Teilungsfaktor wählen: 64 und 128. Im Interesse der Geschwindigkeit sollte 64 gewählt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Siehe bitte die Registerübersicht weiter unten. Dort wird gezeigt, welches Register entsprechend eingestellt werden muss, damit man einen der oben aufgelisteten Teilungsfaktoren auswählen kann.&lt;br /&gt;
&lt;br /&gt;
== Referenzspannung ==&lt;br /&gt;
Das Ergebnis der Wandlung des [[ADC]] bezieht sich auf eine bestimmt Referenzspannung. Diese Referenzspannung lässt sich bestimmen. Je nach gewählter Referenzspannung darf man nur eine zu messende Spannung an den Port anlegen, die nicht höher liegt als die Referenzspannung. Sonst würde dieser zerstört werden. Die Referenzspannung ist also gleich der maximal zu messenden Spannung. Um einzustellen welche Referenzspannung verwendet werden soll, gibt es den Register ADMUX. Folgende Quellen sind als Referenzspannung möglich:&amp;lt;br&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Referenzspannungsquelle'''&lt;br /&gt;
 |AREF, internes Vref deaktiviert&lt;br /&gt;
 |AVCC mit externen Kondensator am AREF Pin&lt;br /&gt;
 |Keine Funktion, reserviert&lt;br /&gt;
 |Interne 2,56V Spannungsreferenz mit externen Kondensator am AREF Pin&lt;br /&gt;
 |}&lt;br /&gt;
Siehe bitte die Registerübersicht. Dort steht genauer wie man den Register einzustellen hat.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Man benötigt die Referenzspannung auch (oder besserer deren analoge Größe) um den Wert den der ADC zurückgibt in V umzurechnen. Um den zurückgegebenen Wert des ADC umzuwandel geht man so vor:&amp;lt;br&amp;gt;&lt;br /&gt;
# Bestimmen der Auflösung des ADC. Bei den ATMegas normalerweiße 10 Bit. 10 Bit entsprechen einer Stufung von 1024.&lt;br /&gt;
# Ermitteln des digitalen Werts der analogen Größe. In der Beispielrechnung verwende ich den Wert 592.&lt;br /&gt;
# Größe der Referenzspannung. In der Beispielrechnung wird 5V verwendet.&lt;br /&gt;
Mit diesen Werten kann folgende Berechnung ausführen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;V = 592 * 5V&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;V = 2960 / 2 ^{Bit} = 2960 / 2 ^{10} = \underline {\underline { 2{,}9V }}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmbeispiele ==&lt;br /&gt;
'''C/C++'''&amp;lt;br&amp;gt;&lt;br /&gt;
Dieses Beispiel ist für die [[Atmel Controller Mega16 und Mega32]] gedacht, die mit einer Taktfrequenz von 8 MHz laufen. Es ist unbedingt darauf zu achten nicht die Referenzspannung von 2,56V zu überschreiten! Sonst stirbt der Port. Je nach Einsatzart muss man das Beispielprogramm entsprechend abändern (also diese Zeile mit ADMUX |= (1&amp;lt;&amp;lt;REFS1) | (1&amp;lt;&amp;lt;REFS0);).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;inttypes.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uint16_t readADC(uint8_t channel) {&lt;br /&gt;
	uint8_t i;&lt;br /&gt;
	uint16_t result = 0;&lt;br /&gt;
	&lt;br /&gt;
	// Den ADC aktivieren und Teilungsfaktor auf 64 stellen&lt;br /&gt;
	ADCSRA = (1&amp;lt;&amp;lt;ADEN) | (1&amp;lt;&amp;lt;ADPS2) | (1&amp;lt;&amp;lt;ADPS1);&lt;br /&gt;
&lt;br /&gt;
	// Kanal des Multiplexers waehlen&lt;br /&gt;
	ADMUX = channel;&lt;br /&gt;
	// Interne Referenzspannung verwenden (also 2,56 V)&lt;br /&gt;
	ADMUX |= (1&amp;lt;&amp;lt;REFS1) | (1&amp;lt;&amp;lt;REFS0);&lt;br /&gt;
	&lt;br /&gt;
	// Den ADC initialisieren und einen sog. Dummyreadout machen&lt;br /&gt;
	ADCSRA |= (1&amp;lt;&amp;lt;ADSC);&lt;br /&gt;
	while(ADCSRA &amp;amp; (1&amp;lt;&amp;lt;ADSC));&lt;br /&gt;
	&lt;br /&gt;
	// Jetzt 3x die analoge Spannung and Kanal channel auslesen&lt;br /&gt;
	// und dann Durchschnittswert ausrechnen.&lt;br /&gt;
	for(i=0; i&amp;lt;3; i++) {&lt;br /&gt;
		// Eine Wandlung&lt;br /&gt;
		ADCSRA |= (1&amp;lt;&amp;lt;ADSC);&lt;br /&gt;
		// Auf Ergebnis warten...&lt;br /&gt;
		while(ADCSRA &amp;amp; (1&amp;lt;&amp;lt;ADSC));&lt;br /&gt;
		&lt;br /&gt;
		result += ADCW;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// ADC wieder deaktivieren&lt;br /&gt;
	ADCSRA &amp;amp;= ~(1&amp;lt;&amp;lt;ADEN);&lt;br /&gt;
	&lt;br /&gt;
	result /= 3;&lt;br /&gt;
	&lt;br /&gt;
	return result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
	uint16_t result = readADC(0);	//Auslesen der analogen Spannungen an Pin 0,&lt;br /&gt;
					// also ADC0. In result steht das Ergebnis.&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bascom'''&amp;lt;br&amp;gt;&lt;br /&gt;
Dieses Programmbeispiel ist für den Atmel Controller Mega32 gedacht. Es gibt nacheinander die Spannungen der einzelnen Kanäle (ADC0..7) aus. Dazwischen macht es immer 800 ms pause.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
' Die gemessene Spannung wird in der Variablen W gespeichert.&lt;br /&gt;
' Channel ist der Pin, an dem die Spannung gemessen werden soll.&lt;br /&gt;
&lt;br /&gt;
$baud = 9600&lt;br /&gt;
$crystal = 1000000&lt;br /&gt;
$regfile &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
Config Adc = Single , Prescaler = Auto&lt;br /&gt;
Start Adc&lt;br /&gt;
Dim W As Word , Channel As Byte&lt;br /&gt;
Channel = 0&lt;br /&gt;
Do&lt;br /&gt;
  W = Getadc(channel)&lt;br /&gt;
  Print &amp;quot;ADC-Pin &amp;quot; ; Channel ; &amp;quot;: Wert &amp;quot; ; W&lt;br /&gt;
  Incr Channel&lt;br /&gt;
  If Channel &amp;gt; 7 Then Channel = 0&lt;br /&gt;
  Waitms 800&lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Registerübersicht ==&lt;br /&gt;
''Hinweis: Diese Registertabellen wurden für den aktuellen [[Atmel Controller Mega16 und Mega32]] erstellt. Wenn Sie ein anderes Modell verwenden kann es sein, dass ein oder mehrere Register nicht existieren, oder sie eine andere Bezeichnung haben.''&lt;br /&gt;
&lt;br /&gt;
{| {{Blaueschmaltabelle}} width=100%&lt;br /&gt;
 |'''ADCSRA (ADC Control and Status Register A)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Dieser Register dient dazu den ADC zu kontrollieren.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Registertabelle8Bit|ADEN|ADSC|ADATE|ADIF|ADIE|ADPS2|ADPS1|ADPS0}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
*'''ADEN (ADC Enable)'''&amp;lt;br/&amp;gt;Wird dieses Bit gesetzt (also 1), dann wird der ADC aktiviert. Schreibt man eine 0 wird der ADC deaktiert. Wird der ADC während einer Wandlung deaktiviert, wird die Wandlung abgebrochen.&lt;br /&gt;
*'''ADSC (ADC Start Conversion)'''&amp;lt;br/&amp;gt;Dieses Bit startet den Messvorgang, je nachdem in welchem Betriebsmodi der ADC läuft. Wird dieses Bit nach der Aktivierung des ADC über '''ADEN''' zum ersten Mal gesetzt, wird der ADC erst eine Initialisierungswandlung durchführen und danach erst die eigentliche Wandlung. Das Schreiben einer 0 auf das Bit hat keinen Effekt.&lt;br /&gt;
*'''ADATE (ADC Auto Trigger Enable)'''&amp;lt;br/&amp;gt;Wird dieses Bit gesetzt, wird das Auto Triggering des ADC aktiviert.&lt;br /&gt;
*'''ADIF (ADC Interrupt Flag)'''&amp;lt;br/&amp;gt;Dieses Bit wird auf 1 gesetzt, wenn eine Wandlung erfolgte und das Ergebnis nun verfügbar ist. Der ADC Complete Interrupt wird ausgelöst, wenn das '''ADIE'''-Bit gesetzt ist und die Interrupts global aktiviert sind. Das Bit wird gelöscht, wenn die entsprechende [[ISR]] abgearbeitet wird. Alternativ kann man es löschen, indem man eine 1 auf das Bit schreibt.&lt;br /&gt;
*'''ADIE (ADC Interrupt Enable)'''&amp;lt;br/&amp;gt;Wird dieses Bit gesetzt und die globalen Interrupts sind aktiviert, wird der ADC Complete Interrupt aktiviert, auf den man dann in der entsprechenden [[ISR]] reagieren kann.&lt;br /&gt;
*'''ADPS2 (ADC Prescaler Select Bit 2)'''&amp;lt;br/&amp;gt;Diese Bits bestimmen den Teilungsfaktor zwischen der XTAL-Frequenz (also der Taktfrequenz) und dem Eingangstakt des [[ADC]]. Zum Wandeln benötigt der [[ADC]] einen eigenen Takt, der auf der Taktfrequenz des Mikrocontrollers basiert. Allerdings ist die Taktfrequenz zu schnell und deswegen wird diese durch den Vorteiler verkleinert. Der resultierende Takt muss zwischen 50kHz und 200kHz liegen. Siehe [[Avr#Teilungsfaktor]]. Folgende Teilungsfaktoren sind verfügbar:&amp;lt;br&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''ADPS2'''&lt;br /&gt;
 |'''ADPS1'''&lt;br /&gt;
 |'''ADPS0'''&lt;br /&gt;
 |'''Teilungsfaktor'''&lt;br /&gt;
 |-&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |2&lt;br /&gt;
 |-&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |2&lt;br /&gt;
 |-&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |4&lt;br /&gt;
 |-&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |8&lt;br /&gt;
 |-&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |16&lt;br /&gt;
 |-&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |32&lt;br /&gt;
 |-&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |64&lt;br /&gt;
 |-&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |128&lt;br /&gt;
 |}&lt;br /&gt;
*'''ADPS1 (ADC Prescaler Select Bit 1)'''&amp;lt;br/&amp;gt;Siehe '''ADPS2''' für eine Beschreibung.&lt;br /&gt;
*'''ADPS0 (ADC Prescaler Select Bit 0)'''&amp;lt;br/&amp;gt;Siehe '''ADPS2''' für eine Beschreibung.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Blaueschmaltabelle}} width=100%&lt;br /&gt;
 |'''ADMUX (ADC Multiplexer Selection Register)'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Mit diesem Register wird u.a. der Multiplexer gesteuert.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Registertabelle8Bit|REFS1|REFS0|ADLAR|MUX4|MUX3|MUX2|MUX1|MUX0}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
*'''REFS1 (Reference Selection Bit 1)'''&amp;lt;br/&amp;gt;Mit diesem Bit kann steuern, welche Referenzspannung der ADC verwenden soll. Die möglichen Quellen sind unten aufgelistet. Wird während einer Wandlung die Quelle für die Referenzspannung geändert, wird die aktuelle Wandlung mit der &amp;quot;alten&amp;quot; Quellen zuerste beendet, bevor die neue Einstellung übernommen wird.&amp;lt;br&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''REFS1'''&lt;br /&gt;
 |'''REFS0'''&lt;br /&gt;
 |'''Referenzspannungsquelle'''&lt;br /&gt;
 |-&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |AREF, internes Vref deaktiviert&lt;br /&gt;
 |-&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |AVCC mit externen Kondensator am AREF Pin&lt;br /&gt;
 |-&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |Keine Funktion, reserviert&lt;br /&gt;
 |-&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |Interne 2,56V Spannungsreferenz mit externen Kondensator am AREF Pin&lt;br /&gt;
 |}&lt;br /&gt;
*'''REFS0 (ADC Start Conversion)'''&amp;lt;br/&amp;gt;Siehe '''REFS1'''.&lt;br /&gt;
*'''ADLAR (ADC Left Adjust Result)'''&amp;lt;br/&amp;gt;Dieses Bit beeinflusst, wie der ermittelte Messwert im ADC Data Register abgelegt wird.&lt;br /&gt;
*'''MUX4 (Analog Channel and Gain Selection Bit 4)'''&amp;lt;br/&amp;gt;Dieses Bit wird auf 1 gesetzt, wenn eine Wandlung erfolgte und das Ergebnis nun verfügbar ist. Der ADC Complete Interrupt wird ausgelöst, wenn das '''ADIE'''-Bit gesetzt ist und die Interrupts global aktiviert sind. Das Bit wird gelöscht, wenn die entsprechende ISR abgearbeitet wird. Alternativ kann man es löschen, indem man eine 1 auf das Bit schreibt.&lt;br /&gt;
*'''MUX3 (Analog Channel and Gain Selection Bit 3)'''&amp;lt;br/&amp;gt;Mit diesen Bits ('''MUX3''' bis '''MUX0''') wird der Kanal des Multiplexers eingestellt, der mit dem ADC verbunden ist.&amp;lt;br&amp;gt;&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''MUX4..0'''&lt;br /&gt;
 |'''Pin'''&lt;br /&gt;
|-&lt;br /&gt;
 |00000&lt;br /&gt;
 |ADC0&lt;br /&gt;
|-&lt;br /&gt;
 |00001&lt;br /&gt;
 |ADC1&lt;br /&gt;
|-&lt;br /&gt;
 |00010&lt;br /&gt;
 |ADC2&lt;br /&gt;
|-&lt;br /&gt;
 |00011&lt;br /&gt;
 |ADC3&lt;br /&gt;
|-&lt;br /&gt;
 |00100&lt;br /&gt;
 |ADC4&lt;br /&gt;
|-&lt;br /&gt;
 |00101&lt;br /&gt;
 |ADC5&lt;br /&gt;
|-&lt;br /&gt;
 |00110&lt;br /&gt;
 |ADC6&lt;br /&gt;
|-&lt;br /&gt;
 |00111&lt;br /&gt;
 |ADC7&lt;br /&gt;
 |}&lt;br /&gt;
Es reicht also einfach die Pinnummer in ADMUX zu schreiben.&lt;br /&gt;
*'''MUX2 (Analog Channel and Gain Selection Bit 2)'''&amp;lt;br/&amp;gt;Siehe '''MUX3''' für eine Beschreibung.&lt;br /&gt;
*'''MUX1 (Analog Channel and Gain Selection Bit 1)'''&amp;lt;br/&amp;gt;Siehe '''MUX3''' für eine Beschreibung.&lt;br /&gt;
*'''MUX0 (Analog Channel and Gain Selection Bit 0)'''&amp;lt;br/&amp;gt;Siehe '''MUX3''' für eine Beschreibung.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es noch den Register '''ADCL/ADCH''' in dem das Ergebnis einer Wandlung steht. Man liest den Wert folgendermaßen aus:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uint16_t x = ADCL;&lt;br /&gt;
x += (ADCH&amp;lt;&amp;lt;8);&lt;br /&gt;
// oder&lt;br /&gt;
x = ADCW;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Atmel]]&lt;br /&gt;
* [[HEX Beispiel-Dateien für AVR]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.atmel.com/dyn/products/param_table.asp?family_id=607&amp;amp;OrderBy=part_no&amp;amp;Direction=ASC Aktuelle AVR Vergleichstabelle]&lt;br /&gt;
* [http://www.atmel.com/dyn/products/devices.asp?family_id=607 Die Datenblätter zu Atmel Controllern]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Abkürzung|AVR]]&lt;/div&gt;</summary>
		<author><name>Pidi</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=9743</id>
		<title>RS232</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=9743"/>
				<updated>2006-11-29T14:56:25Z</updated>
		
		<summary type="html">&lt;p&gt;Pidi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Serielle Schnittstelle (RS-232)=&lt;br /&gt;
Das RS-232 Übertragungverfahren wurde ursprünglich zur Datenübertragung über Telefonleitung entwickelt. Dabei wurde definiert, daß 8-Bit Datenbytes übertragen werden. Zusätzlich wird am anfang ein Startbit gesendet, das den Anfang eines Bytes Kennzeichnet. Am Ende eines Bytes wird dann noch zusätzlich ein Stopbit gesendet.  D.h. es werden pro Datenbyte 10 Bit gesendet. Der Pegel des Startbits und des Stopbits ist definiert und dient zur sicheren Erkennung der dazwischen liegenden Nutzbits. Zur Übertragung von Nutzdaten hatte man sich auf den ASCII Code (''American Standard Code of Information Interchange'') festgelegt um die Information unabhängig vom Typ des Datenendgeräts einheitlich zu gestalten. Die Schnittstelle ist zur Bedienung von Modems (Modulator/Demodulator) ausgelegt und enthält etliche Signale speziell für diesen Zweck. Anwendungen wie z.B. Werkstatttester im KFZ Bereich oder [[Microcontroller]] die ebenfalls die Übertragungsart RS-232 verwenden brauchen diese modemspezifischen Signale nicht, sonder kommen mit RD, TD und GND aus. Die Signale werden hier im Detail erklärt.&lt;br /&gt;
&lt;br /&gt;
=Begriffe zur RS-232 Verbindung=&lt;br /&gt;
&lt;br /&gt;
;DCE: ''Data Communications Equipment''. Auf deutsch DÜE (Datenübertragungseinrichtung). Ein anderes Wort für Modem, d.h. das Gerät, das die Daten so umsetzt, daß sie über eine Telefonleitung übertragen werden können. Daten-Übertragungs-Einrichtungen (also Modems und Pegelwandler) sind Geräte, die Signale senden und/oder empfangen und sie ohne Verarbeitung an andere Geräte weiterleiten. '''DCE sind daran erkennbar, dass der Anschluss als Buchse ausgeführt ist.'''&lt;br /&gt;
;DTE: ''Data Terminal Equipment''. Auf deutsch manchmal auch als DEE (Datenendeinrichtung) bezeichnet. Das kann einfach ein Computerterminal einer Mainframeanlage sein (daher kommt auch die Bezeichnung!), ein Drucker, Plotter oder PC etc. etc. Daten-End-Einrichtungen sind Geräte, die Signale senden und/oder empfangen ohne sie weiterzuleiten. '''DTE sind daran erkennbar, das der Anschluss als Stiftleiste ausgeführt ist.''' Daran läßt sich beim PC der Stecker auch immer von Druckeranschluß LPT unterscheiden, der immer eine Buchse ist.&lt;br /&gt;
;Null Modem: Dieser Ausdruck bezeichnet eine RS-232 Kabelverbindung zwischen zwei geräten, die dieses Übertragungsprotokoll benutzen, ohne dabei Modems zu verwenden. Z.B. kann das der Fall sein, wenn ein serieller Drucker mit einem PC verbunden wird. Die Kabellänge ist hierbei in der Regel auf 10 Meter begrenzt. Es gibt im Handel jedoch Verstärker, die man zwischenschalten kann und die eine wesentlich längere Kabelverbindung zulassen. Da wie schon erwähnt keine Modems verwendet werden, ist es notwendig auf jeder Seite die modemspezifischen Signale in gewisser Weise miteinander zu verbinden um den Schnittstellen einen Modembetrieb vorzutäuschen. Das Nullmodem ist im Detail weiter unten beschrieben. '''Ein Null Modem Kabel braucht man, um zwei DTE Geräte zu verbinden.''' Das ist ein Kabel mit zwei Buchsen, in dem die Sende/Empfangsleitungen &amp;quot;ausgekreuzt&amp;quot; sind. Umgekehrt: Ein Null-Modem Kabel erkennt man meist daran, daß beide Anschlüsse Buchsen sind.&lt;br /&gt;
&lt;br /&gt;
=Signalerklärung der RS-232 Schnittstelle=&lt;br /&gt;
&lt;br /&gt;
;RD/RX: Empfangsdaten. Auf dieser Leitung werden die Datenbits vom Datenterminal (DTE) empfangen.&lt;br /&gt;
;TD/TX: Sendedaten. Auf dieser Leitung werden Daten vom Datenterminal (DTE) gesendet.&lt;br /&gt;
;CHS GND: Gehäusemasse (chassis ground). Das Datenterminal und das Modem müssen eine gemeinsame Masseverbindung haben um Masseschleifen etc zu verhindern. &lt;br /&gt;
;DSR: ''Data Set Ready''. Dieses Signal wird vom Modem ausgegeben und bedeutet, daß das Modem aktiv und betriebsbereit ist, um mit dem Datenterminal zu kommunizieren.&lt;br /&gt;
;DTR: ''Data Terminal Ready''. Dieses Signal wird vom Datenterminal an das Modem ausgegeben nd bedeutet, daß das Datenterminal aktiv und betriebsbereit ist, um mit dem Modem zu kommunizieren.&lt;br /&gt;
;DCD/CD: ''Data Carrier Detect'' oder ''Carrier Detect''. Dieses Signal zeigt an, daß die Modems der beiden Seiten über die Telefonleitung miteinander verbunden sind und Daten über diese Verbindung austauschen können.&lt;br /&gt;
;RTS:  ''Request To Send''. Dieses Signal wird vom Datenterminal ausgegeben und bedeutet, daß das Terminal Daten übertragen möchte.&lt;br /&gt;
;CTS: ''Clear To Send''. Ist das Antwortsignal des Modems an das Datenterminal auf ein RTS hin und zeigt an, daß das Modem bereit ist die Daten vom Terminal aufzunehmen und auf die Leitung umzusetzen.&lt;br /&gt;
;SIG GND: Signalmasse (signal ground). Diese Masse dient als Referenzpotential für alle  Signale. Je nach Gerät kann das ein von der Gehäusemasse getrenntes Potential sein, oder auch mit ihr verbunden sein.&lt;br /&gt;
;RI: ''Ring Indicator''. Ein Signal vom Modem zum Datenterminal, das anzeigt, daß der Telefonanschluß von einem externen Teilnehmer angewählt wurde d.h. daß das Telefon klingelt. Je nach Anwendung wird nach einer bestimmten Anzahl von Klingelimpulsen &amp;quot;abgehoben&amp;quot; (ist im Modem einstellbar).&lt;br /&gt;
&lt;br /&gt;
=Anschlußbelegungen=&lt;br /&gt;
&lt;br /&gt;
Die Pin-Nummern sind bei vielen Steckern/Buchsen auch klein neben die Kontakte ins Plastik eingepresst.&lt;br /&gt;
&lt;br /&gt;
== Kontaktnummerierung ==&lt;br /&gt;
&lt;br /&gt;
* [[Bild:CON-SubD25M.gif|Sub-D Stecker 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD25F.gif|Sub-D Buchse 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9M.gif|Sub-D Stecker 9 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9F.gif|Sub-D Buchse 9 Pole Kontaktseite]]&lt;br /&gt;
&lt;br /&gt;
== Kontaktbelegung ==&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|- {{Hintergrund1}}&lt;br /&gt;
!| Signal Name || D-SUB25 pol. || D-SUB 9 pol.&lt;br /&gt;
|-  &lt;br /&gt;
 |GND Gehäuse - Masse &lt;br /&gt;
 |1 &lt;br /&gt;
 | - &lt;br /&gt;
|-&lt;br /&gt;
 |TxD Sendedaten&lt;br /&gt;
 |2&lt;br /&gt;
 |3 &lt;br /&gt;
|-&lt;br /&gt;
 |RxD Empfangsdaten (Receive Data) &lt;br /&gt;
 |3&lt;br /&gt;
 |2 &lt;br /&gt;
|-&lt;br /&gt;
 |RTS Sender Einschalten (Request to Send)&lt;br /&gt;
 |4&lt;br /&gt;
 |7 &lt;br /&gt;
|-&lt;br /&gt;
 |CTS Sender Bereit (Clear to Send)&lt;br /&gt;
 |5&lt;br /&gt;
 |8 &lt;br /&gt;
|-&lt;br /&gt;
 |DSR DÜE bereit (Data Set Ready)&lt;br /&gt;
 |6&lt;br /&gt;
 |6 &lt;br /&gt;
|-&lt;br /&gt;
 |GND Signal - Masse&lt;br /&gt;
 |7&lt;br /&gt;
 |5 &lt;br /&gt;
|-&lt;br /&gt;
 |DCD Trägerpegel (Data Carrier Detect)&lt;br /&gt;
 |8&lt;br /&gt;
 |1 &lt;br /&gt;
|-&lt;br /&gt;
 |DTR Terminal bereit (Data Terminal Ready)&lt;br /&gt;
 |20&lt;br /&gt;
 |4 &lt;br /&gt;
|-&lt;br /&gt;
 |RI Ankommender Anruf (Ring Indicator)&lt;br /&gt;
 |22&lt;br /&gt;
 |9 &lt;br /&gt;
|-&lt;br /&gt;
 |Unbelegt&lt;br /&gt;
 |9, 10, 11,12, 13, 14,15, 16, 17,18, 19, 21,23, 24, 25&lt;br /&gt;
 | -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Übertragungsverfahren=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Bild:RS232_Uebertragung.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wie sich erkennen lässt, sind die Datenleitungen invertiert, das heißt in diesem Fall, dass eine logische 0 durch eine Spannung von +3V bis +12V repräsentiert wird. Eine logische 1 hingegen durch eine Spannung von -3V bis -12V. Wenn keine Daten übertragen werden (Ruhezustand), dann liegen an der Datenleitung -3V bis -12V an.&lt;br /&gt;
Jede Datenübertragung beginnt mit einem Startbit, welches dazu dient Sender und Empfänger zu synchronisieren. Der Pegel der Datenleitung wechselt also von logisch 1, dem Ruhezustand, auf logisch 0.&lt;br /&gt;
&lt;br /&gt;
Anschließend werden fünf bis neun Bits übertragen, in der Regel jedoch, wie bereits erwähnt, acht. Die Bits werden &amp;quot;so wie sie sind&amp;quot; übermittelt, das heißt es werden keinerlei Synchronisierungsinformationen mitgeschickt. &lt;br /&gt;
&lt;br /&gt;
Anschließend kann das Paritätsbit (Paritybit) folgen, welches dazu dient mögliche Übertragungsfehler zu entdecken. &lt;br /&gt;
Man unterscheidet hierbei:&lt;br /&gt;
* Even-parität&lt;br /&gt;
* Odd-parität&lt;br /&gt;
Ist als Parität &amp;quot;even&amp;quot; gewählt, dann wird genau dann das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten ungerade ist. Andernfalls ist es nicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
Wählt man jedoch &amp;quot;odd&amp;quot; als Parität, dann wird das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten gerade ist. &lt;br /&gt;
&lt;br /&gt;
Nach dem Paritätsbit folgen ein oder zwei Stoppbits, das bzw. die auch zur Synchronisierung dienen. Ein Stoppbit wird durch einen Pegel von -3 bis -12V dargestellt, also einer logischen 1. Nach dem (den) Stoppbit(s) folgt eine Ruhephase, deren Länge nicht bestimmt ist. Folglich darf nach einem Stoppbit sofort wieder das Startbit folgen, es darf aber auch unendlich lange gewartet werden, bis das nächste Startbit geschickt wird.&lt;br /&gt;
&lt;br /&gt;
=Siehe auch=&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[RS485]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Kommunikation]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
&lt;br /&gt;
=Autoren=&lt;br /&gt;
--[[Benutzer:Techno|Techno]] 12:44, 19. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Vish|vish]] 09:22, 22. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Darwin.nuernberg|Darwin.nuernberg]] 14:36, 27. Mai 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Pidi</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=FPGA&amp;diff=9740</id>
		<title>FPGA</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=FPGA&amp;diff=9740"/>
				<updated>2006-11-29T08:44:12Z</updated>
		
		<summary type="html">&lt;p&gt;Pidi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Fpga.gif|thumb|FPGA sind oft größer u. teurer als Microcontroller]]Mit den Begriff FPGA (Field Programmable Gate Arrays) bezeichnet man komplexe programmierbare Logikbauelemente, deren Architektur auf einer vergleichsweise kleinen Basiszelle beruht. Bei FPGAs wird die Implementierung von logischen Funktionen hauptsächlich durch die Programmierung der Verbindungsleitungen zwischen den Logikblock erreicht. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Verschiedene Typen==&lt;br /&gt;
Es gibt zwei verschiedene Typen von FPGAs:&lt;br /&gt;
; Rekonfigurierbare FPGAs: Für diese FPGAs verwendet man Speichertechnologien wie SRAM. Ihr Nachteil ist, dass sie flüchtig sind, d.h. dass die Programmierung nur solange im Baustein ist, wie Strom durch ihn fliesst. Wird die Stromzufuhr unterbrochen, so muss der Baustein neu konfiguriert werden bzw. seine Konfiguration neu eingelesen werden. &lt;br /&gt;
;Nicht-rekonfigurierbare FPGAs: Diese können nur einmal programmiert werden und behalten die Programmierung für immer. Dies wird meist dadurch erreicht, dass die Leitungen im Baustein physikalisch zerstört bzw. erstellt werden. Solche Bausteine basieren meist auf der Antifuse Technologie. &lt;br /&gt;
&lt;br /&gt;
FLASH-Bausteine vereinigen die Vorteile beider Technologien; sie sind nicht flüchtig und sie können sehr schnell rekonfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufbau eines FPGA==&lt;br /&gt;
&lt;br /&gt;
===Logikblock===&lt;br /&gt;
Ein FPGA besteht aus sehr vielen kleinen logischen Einheiten, den sogenannten Logic Blocks. In diesen kleinen logischen Einheiten befinden sich einfache logische Schaltungen, die meist konfiguriert werden können. Diese kleinen Logikeinheiten werden bei der Implementierung von logischen Funktionen miteinander verknüpft.&lt;br /&gt;
&lt;br /&gt;
====Granularität====&lt;br /&gt;
Unter der Granularität eines FPGAs versteht man die Grösse seiner Logikblöcke. Ein FPGA wird als feinkörnig bezeichnet, wenn die Logikblöcke eher klein sind. Sie enthalten nur wenig Logik und haben nur wenige Ein− und Ausgänge. Feinkörnige FPGAs können die Logikblöcke effizienter nutzen, allerdings sind viele Verbindungen&lt;br /&gt;
nötig, um grössere Funktionen zu realisieren. Ein grobkörniger FPGA hat grosse Logikblöcke. Bei grösseren Funktionen bringt das zwar Geschwindigkeitsvorteile, allerdings leidet die Ausnutzung der Fläche darunter.&lt;br /&gt;
&lt;br /&gt;
Um die Bausteine untereinander vergleichbar zu machen, geben viele Hersteller eine Gatteräquivalente bei ihren Bausteinen an. Dabei entspricht eine Einheit einen NAND mit zwei Eingängen. Allerdings lassen sich Bausteine verschiedener Hersteller nur sehr bedingt so vergleichen, da einige Hersteller sehr grösszügig bei der Angabe der Anzahl der Gatteräquivalente sind.&lt;br /&gt;
&lt;br /&gt;
===Aufbau der Logikblöcke=== &lt;br /&gt;
Grundsätzlich kann man zwischen drei verschieden Konzepten beim Aufbau der Logikblöcke unterscheiden:&lt;br /&gt;
====Lookup Tabels====&lt;br /&gt;
Diese Technik wird bei FPGAs verwendet, die auf SRAM basieren. Der Speicher wird so beschrieben, dass es zu jeder Eingangkombination der entsprechende Wert einer Logikfunktion ausgegeben wird. &lt;br /&gt;
====Multiplexer====&lt;br /&gt;
Diese Technologie wird bei Antifuse FPGAs verwendet. Mit einen einfachen 1−Bit Multiplexer lassen sich leicht Funktionen wie AND, OR, NOT realisieren.&lt;br /&gt;
====Sea of Gates====&lt;br /&gt;
Im Moment verwendet diese Technologie nur der Hersteller GateField. Bei diesen Konzept besteht ein Logikblock aus maximal 8 Transistoren, die über programmierbare Leitungen verbunden werden und so eine Funktion realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Verbindungsarchitektur===&lt;br /&gt;
Besonders bei den Logikblöcken mit feiner Granularität spielt die Verdrahtung eine sehr wichtige Rolle, da bereits einfache logische Funktionen auf mehrere Logikblöcke aufgeteilt werden müssen. Ist die Anzahl der Leitungen zu klein, so können nicht alle Basiszellen angeschlossen werden. Wenn man zu viele Leitungen&lt;br /&gt;
hat, können zwar alle Basiszellen genutzt werden, aber es muss sehr viel Fläche für die Verdrahtung aufgewendet werden. Dies macht ausserdem den Baustein unnötig teuer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programmierung von FPGAs==&lt;br /&gt;
Dazu muss man sich nochmal verdeutlichen, was man unter &amp;quot;Programmierbarer Logik&amp;quot; versteht. Unter programmierbarer Logik versteht man Bausteine, die zwar von ihren physikalischen Eigenschaften von vornherein festgelegt sind, jedoch von den Entwicklern an ihre jeweiligen Bedürfnisse angepasst werden können. &lt;br /&gt;
Bei der Entwicklung und Programmierung von Logikbausteinen geht man ähnlich wie bei der Softwareentwicklung vor. Man beginnt mit dem Design, indem man schematische Darstellungen oder Tabellen erstellt. Diese werden in eine Quellcode-Datei umgewandelt, welche wiederum von einem Compiler auf Syntaxfehler überprüft werden. Erkennt der Compiler Fehler, ändert man lediglich den Quellcode und kompiliert ihn neu.&lt;br /&gt;
Jetzt kann der Chip programmiert werden. Daraufhin erfolgt wiederum eine Testphase, die wiederum Änderungen im Quellcode nach sich ziehen kann. Arbeitet der Chip korrekt, wird er eingebaut und dient evtl. als Vorlage für Masken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist der Vorteil von FPGAs==&lt;br /&gt;
FPGAs schließen die Lücke von Standardbausteinen wie Mikroprozessoren auf der einen und ASICs auf der andere Seite. Der Vorteil von Mikroprozessoren liegt in der preiswerten Massenproduktion und der Entwickler kann den Baustein softwaresteitig programmieren.&lt;br /&gt;
&lt;br /&gt;
Mikroprozessoren eignen sich nicht für unverzögerte parallele Berechnungen. Hierfür wurden bislang ASICs herangezogen. Darunter versteht man anwendungsspezifische, integrierte Schaltungen, die für jede Anwendung speziell entwickelt werden müssen. Da diese jedoch von großen Halbleiterherstellern gefertigt werden müssen, rentieren sich nur große Stückzahlen und die Entwicklungszeit für einen Prototypen kann bis zu 18 Monaten dauern. Also sind Standardbausteine für kleine Serien kostengünstig einzusetzen, während sich ASICs nur für große Serien eignen. FPGAs schließen genau diese Lücke, da einerseits der physikalische Aufbau immer der gleiche ist (günstige Massenproduktion) andererseits kann der Entwickler die Bausteine genau auf seine Bedürfnisse abstimmen, indem er eine Konfiguration in den FPGA lädt. Dies kann er beliebig oft wiederholen. Nachdem die Konfiguration feststeht, ist auch das Zeitverhalten berechenbar, man kann demnach auch zeitkritische Anwendungen realisieren. Auch ist das Laden der Konfiguration in den Baustein relativ schnell. Bei aktuellen gebräuchlichen FPGAs dauert die Konfiguration ca. 10-250 ms. Die genaue Dauer ist dabei von der Länge des Bitstreams und der maximalen Taktrate, mit welcher der Bitstream eingeschrieben werden kann, abhängig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quellen/Literatur==&lt;br /&gt;
* Wannemacher, Markus &amp;quot;das FPGA−Kochbuch&amp;quot;&lt;br /&gt;
* FPGA, Markus Stanczyk&lt;br /&gt;
* Matthias Fuchs, Geschichte der FPGA&lt;br /&gt;
* Oldfield, Dorf : Field-Programmable Gate Arays; John Wiley &amp;amp; Sons, 1995&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
*http://www-li5.ti.uni-mannheim.de/research/fpga-processors FPGA Seiten der Uni Mannheim&lt;br /&gt;
*http://www.fpga4fun.com/ Projekte und Hintergrund Informationen auf englisch&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Pidi</name></author>	</entry>

	</feed>