<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.129.76.239</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.129.76.239"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/84.129.76.239"/>
	<updated>2026-04-10T13:49:27Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Wechselrichter&amp;diff=87542</id>
		<title>Wechselrichter</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Wechselrichter&amp;diff=87542"/>
		<updated>2015-02-24T07:11:21Z</updated>

		<summary type="html">&lt;p&gt;84.129.76.239: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ziel dieses Artikels ist der Bau eine Wechselrichter zur Netzeinspeisung aus einer Solaranlage.&lt;br /&gt;
&lt;br /&gt;
Dass VDE Vorschriften beachtet werden müssen und das Ganze eine Zulassung haben muss ist nicht Inhalt dieses Artikels! Vielmehr geht es um eine Machbarkeitsstudie, mit Hobymitteln ein solches Gerät zu entwickeln. &lt;br /&gt;
&lt;br /&gt;
Ich bitte um eine rege Diskussion und Verbesserungsvorschläge.&lt;br /&gt;
&lt;br /&gt;
Bei mir soll es ein Wechselrichter ohne Ausgangstrafo werden, bei dem die Ausgangsspannung aus einem 400V DC Zwischenkreis mit einer H-Brücke per PWM gebildet wird. Jeder der eine andere Lösung gewählt hat, möchte sie bitte unter einer neuen Überschrift vorstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Steuerung=&lt;br /&gt;
Die Steuerung besteht aus einem Mega88 mit 20MHz Quarz der die PWM generiert und einem Mega88 @ 8MHz mit internem Takt der die Signale verarbeitet und den PWM Generator steuert. Desweiteren wird in der ENS und im MPP Tracker auch noch ein Controller genutzt.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_Foto.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PWM Generator==&lt;br /&gt;
Die Erzeugung des PWM Signals wird mit einem Mega88 @20MHz realisiert.&lt;br /&gt;
Mein Ziel war eine Pulsfrequenz vom 16 KHz. Andere Frequenzen sind natürlich auch möglich, da müssen halt die Timerwerte angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer Frequenz von 16KHz ergibt sich eine Periodendauer von 62,5µsec. Teilt man die 20msec einer 50 Hz Periode durch 62,5µsec ergeben sich 320 Pulsperioden pro 50Hz Sinuswelle.&lt;br /&gt;
&lt;br /&gt;
Bei einer Taktfrequenz des Controllers von 20MHz und einem Timer ohne Vorteiler ergeben sich 20MHZ / 16KHz = 1250 Timertakte. Das heißt der Timer muss bis 1250 hoch zählen um die 62,5µsec einzuhalten. Daraus ergibt sich, dass der Timer 1 genutzt werden muss.&lt;br /&gt;
&lt;br /&gt;
Gewählt habe ich für den Timer 1 den Fast PWM Mode 14 . Weiterhin ist die  invertierende PWM eingestellt, um die sonst auftretenden kurzen Spikes zu vermeiden. (If the OCR1x is set equal to BOTTOM (0x0000) the output will be a narrow spike for each TOP+1 timer clock cycle. Setting the OCR1x equal to TOP will result in a constant high or low output (depending on the polarity of the output set by the COM1x1:0 bits.))&lt;br /&gt;
&lt;br /&gt;
Daraus ergaben sich folgende Einstellungen:&lt;br /&gt;
&lt;br /&gt;
TCCR1A  = ((1 &amp;lt;&amp;lt;WGM11)|(1&amp;lt;&amp;lt;COM1A1)|(1&amp;lt;&amp;lt;COM1A0)|(1&amp;lt;&amp;lt;COM1B1)|(1&amp;lt;&amp;lt;COM1B0)) ;&amp;lt;BR&amp;gt; TCCR1B  = ((1 &amp;lt;&amp;lt;WGM13)|(1 &amp;lt;&amp;lt;WGM12)|(1&amp;lt;&amp;lt;CS11)) ; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Timer zählt immer bis zum Erreichen von ICR1 hoch und beginnt wieder bei Null. &lt;br /&gt;
&lt;br /&gt;
Die Ausgänge PORT B 1 und PORT B 2 sind low und werden beim Überschreiten von OCR1A bzw. von OCR1B auf high gesetzt. (Set OC1A/OC1B on Compare Match, clearOC1A/OC1B at BOTTOM (inverting mode))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die PWM Einschaltzeiten ändern sich ständig gemäß der Sinustabelle, daher müssen nach Pulsperiode neue Werte in die Register OCR1A und OCR1B geschrieben werden. Dies geschieht in der “ISR (TIMER1_OVF_vect)“. Damit die ISR (TIMER1_OVF_vect) beim Erreichen von ICR1 aufrufen wird, wird: &lt;br /&gt;
&lt;br /&gt;
TIMSK1= (1 &amp;lt;&amp;lt;TOIE1);&lt;br /&gt;
&lt;br /&gt;
gesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_Ausgang_PWM.JPG|300px]]&lt;br /&gt;
&lt;br /&gt;
Signal an den Ausgängen OC1A und OC1B&lt;br /&gt;
&lt;br /&gt;
Sorry, war schon ein altes Scope, werde versuchen ein schöneres Bild zu machen.&lt;br /&gt;
&lt;br /&gt;
Download Software:[[Media:Programm_PV_Gen_01.zip| C Programm PWM Generator ]]&lt;br /&gt;
&lt;br /&gt;
==Zentralsteuerung mit LCD==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Download Software:[[Media:Programm_Steuerung_IO.zip| C Programm LCD Anzeige ]]&lt;br /&gt;
&lt;br /&gt;
=Leistungskreis=&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_2PH.png|320px]]&lt;br /&gt;
&lt;br /&gt;
==H-Brücke==&lt;br /&gt;
&lt;br /&gt;
Die H-Brücke bestehen aus 4x IRFP460  wird über zwei IR2109 gesteuert.&lt;br /&gt;
Die Eingänge der IR2109 werden mit dem PWM Signal des PWG Genrators verbunden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_Ausgang_H-Brücke.JPG|320px]]&lt;br /&gt;
&lt;br /&gt;
Die Spannung am Ausgang der H-Brücke. Noch ist das ziemlich weit von einem Sinus entfernt.&lt;br /&gt;
&lt;br /&gt;
==Filter==&lt;br /&gt;
Der LCL-Filter glättet die PWM zu einem Sinus-Signal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_ausg_leer.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
Signal im Leerlauf.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_ausg_last.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
Signal unter Last&lt;br /&gt;
&lt;br /&gt;
Auf dem Scope-Bild sieht man, wie stark der einst schöne Sinus verzerrt wird, wenn etwas Strom fließt. Da ist noch Verbesserungspotentional.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spannungsversorgung=&lt;br /&gt;
Da, solange der Wechselrichter nicht läuft, nur die 400V bis 500V DC Spannung von den Solarpanels da ist, muss der Wechselrichter seine Versorgungsspannung von dort beziehen.&lt;br /&gt;
&lt;br /&gt;
Aufgrund des relativ geringen Leistungsbedarf kommt ein Flyback Schaltnetzteil zum Einsatz. Der VIPer50a benötigt nur wenige exteren Bauteile und kann mit bis zu 700V DC Eingangsspannung auskommen.&lt;br /&gt;
&lt;br /&gt;
Erzeugt werden 12V DC zur Versorgung der Fet-Treiber und 5V für die Controller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:VIPer50_Board_bestückt.png|320px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Download Schaltplan:[[Media:VIPer100.zip| Schaltplan ]]&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
*[http://www.mikrocontroller.net/articles/Frequenzumrichter_mit_Raumzeigermodulation Wiki-Artikel über Frequenzumrichter_mit_Raumzeigermodulation]&lt;br /&gt;
&lt;br /&gt;
*[http://www.solar-webshop.de/blog/pwm-puls-weiten-modulation-solar/ Was bedeutet PWM?]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projekte]]&lt;/div&gt;</summary>
		<author><name>84.129.76.239</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Wechselrichter&amp;diff=87541</id>
		<title>Wechselrichter</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Wechselrichter&amp;diff=87541"/>
		<updated>2015-02-24T07:10:22Z</updated>

		<summary type="html">&lt;p&gt;84.129.76.239: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ziel dieses Artikels ist der Bau eine Wechselrichter zur Netzeinspeisung aus einer Solaranlage.&lt;br /&gt;
&lt;br /&gt;
Dass VDE Vorschriften beachtet werden müssen und das Ganze eine Zulassung haben muss ist nicht Inhalt dieses Artikels! Vielmehr geht es um eine Machbarkeitsstudie, mit Hobymitteln ein solches Gerät zu entwickeln. &lt;br /&gt;
&lt;br /&gt;
Ich bitte um eine rege Diskussion und Verbesserungsvorschläge.&lt;br /&gt;
&lt;br /&gt;
Bei mir soll es ein Wechselrichter ohne Ausgangstrafo werden, bei dem die Ausgangsspannung aus einem 400V DC Zwischenkreis mit einer H-Brücke per PWM gebildet wird. Jeder der eine andere Lösung gewählt hat, möchte sie bitte unter einer neuen Überschrift vorstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Steuerung=&lt;br /&gt;
Die Steuerung besteht aus einem Mega88 mit 20MHz Quarz der die PWM generiert und einem Mega88 @ 8MHz mit internem Takt der die Signale verarbeitet und den PWM Generator steuert. Desweiteren wird in der ENS und im MPP Tracker auch noch ein Controller genutzt.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_Foto.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PWM Generator==&lt;br /&gt;
Die Erzeugung des PWM Signals wird mit einem Mega88 @20MHz realisiert.&lt;br /&gt;
Mein Ziel war eine Pulsfrequenz vom 16 KHz. Andere Frequenzen sind natürlich auch möglich, da müssen halt die Timerwerte angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer Frequenz von 16KHz ergibt sich eine Periodendauer von 62,5µsec. Teilt man die 20msec einer 50 Hz Periode durch 62,5µsec ergeben sich 320 Pulsperioden pro 50Hz Sinuswelle.&lt;br /&gt;
&lt;br /&gt;
Bei einer Taktfrequenz des Controllers von 20MHz und einem Timer ohne Vorteiler ergeben sich 20MHZ / 16KHz = 1250 Timertakte. Das heißt der Timer muss bis 1250 hoch zählen um die 62,5µsec einzuhalten. Daraus ergibt sich, dass der Timer 1 genutzt werden muss.&lt;br /&gt;
&lt;br /&gt;
Gewählt habe ich für den Timer 1 den Fast PWM Mode 14 . Weiterhin ist die  invertierende PWM eingestellt, um die sonst auftretenden kurzen Spikes zu vermeiden. (If the OCR1x is set equal to BOTTOM (0x0000) the output will be a narrow spike for each TOP+1 timer clock cycle. Setting the OCR1x equal to TOP will result in a constant high or low output (depending on the polarity of the output set by the COM1x1:0 bits.))&lt;br /&gt;
&lt;br /&gt;
Daraus ergaben sich folgende Einstellungen:&lt;br /&gt;
&lt;br /&gt;
TCCR1A  = ((1 &amp;lt;&amp;lt;WGM11)|(1&amp;lt;&amp;lt;COM1A1)|(1&amp;lt;&amp;lt;COM1A0)|(1&amp;lt;&amp;lt;COM1B1)|(1&amp;lt;&amp;lt;COM1B0)) ;&amp;lt;BR&amp;gt; TCCR1B  = ((1 &amp;lt;&amp;lt;WGM13)|(1 &amp;lt;&amp;lt;WGM12)|(1&amp;lt;&amp;lt;CS11)) ; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Timer zählt immer bis zum Erreichen von ICR1 hoch und beginnt wieder bei Null. &lt;br /&gt;
&lt;br /&gt;
Die Ausgänge PORT B 1 und PORT B 2 sind low und werden beim Überschreiten von OCR1A bzw. von OCR1B auf high gesetzt. (Set OC1A/OC1B on Compare Match, clearOC1A/OC1B at BOTTOM (inverting mode))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die PWM Einschaltzeiten ändern sich ständig gemäß der Sinustabelle, daher müssen nach Pulsperiode neue Werte in die Register OCR1A und OCR1B geschrieben werden. Dies geschieht in der “ISR (TIMER1_OVF_vect)“. Damit die ISR (TIMER1_OVF_vect) beim Erreichen von ICR1 aufrufen wird, wird: &lt;br /&gt;
&lt;br /&gt;
TIMSK1= (1 &amp;lt;&amp;lt;TOIE1);&lt;br /&gt;
&lt;br /&gt;
gesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_Ausgang_PWM.JPG|300px]]&lt;br /&gt;
&lt;br /&gt;
Signal an den Ausgängen OC1A und OC1B&lt;br /&gt;
&lt;br /&gt;
Sorry, war schon ein altes Scope, werde versuchen ein schöneres Bild zu machen.&lt;br /&gt;
&lt;br /&gt;
Download Software:[[Media:Programm_PV_Gen_01.zip| C Programm PWM Generator ]]&lt;br /&gt;
&lt;br /&gt;
==Zentralsteuerung mit LCD==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Download Software:[[Media:Programm_Steuerung_IO.zip| C Programm LCD Anzeige ]]&lt;br /&gt;
&lt;br /&gt;
=Leistungskreis=&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_2PH.png|320px]]&lt;br /&gt;
&lt;br /&gt;
==H-Brücke==&lt;br /&gt;
&lt;br /&gt;
Die H-Brücke bestehen aus 4x IRFP460  wird über zwei IR2109 gesteuert.&lt;br /&gt;
Die Eingänge der IR2109 werden mit dem PWM Signal des PWG Genrators verbunden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_Ausgang_H-Brücke.JPG|320px]]&lt;br /&gt;
&lt;br /&gt;
Die Spannung am Ausgang der H-Brücke. Noch ist das ziemlich weit von einem Sinus entfernt.&lt;br /&gt;
&lt;br /&gt;
==Filter==&lt;br /&gt;
Der LCL-Filter glättet die PWM zu einem Sinus-Signal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_ausg_leer.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
Signal im Leerlauf.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Wechselrichter_ausg_last.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
Signal unter Last&lt;br /&gt;
&lt;br /&gt;
Auf dem Scope-Bild sieht man, wie stark der einst schöne Sinus verzerrt wird, wenn etwas Strom fließt. Da ist noch Verbesserungspotentional.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spannungsversorgung=&lt;br /&gt;
Da, solange der Wechselrichter nicht läuft, nur die 400V bis 500V DC Spannung von den Solarpanels da ist, muss der Wechselrichter seine Versorgungsspannung von dort beziehen.&lt;br /&gt;
&lt;br /&gt;
Aufgrund des relativ geringen Leistungsbedarf kommt ein Flyback Schaltnetzteil zum Einsatz. Der VIPer50a benötigt nur wenige exteren Bauteile und kann mit bis zu 700V DC Eingangsspannung auskommen.&lt;br /&gt;
&lt;br /&gt;
Erzeugt werden 12V DC zur Versorgung der Fet-Treiber und 5V für die Controller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:VIPer50_Board_bestückt.png|320px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Download Schaltplan:[[Media:VIPer100.zip| Schaltplan ]]&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
[http://www.mikrocontroller.net/articles/Frequenzumrichter_mit_Raumzeigermodulation Wiki-Artikel über Frequenzumrichter_mit_Raumzeigermodulation]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projekte]]&lt;/div&gt;</summary>
		<author><name>84.129.76.239</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Pulsweitenmodulation&amp;diff=87540</id>
		<title>Pulsweitenmodulation</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Pulsweitenmodulation&amp;diff=87540"/>
		<updated>2015-02-24T06:59:49Z</updated>

		<summary type="html">&lt;p&gt;84.129.76.239: Erklärung und Grafiken&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Bei der &#039;&#039;&#039;Pulsweitenmodulation&#039;&#039;&#039; (engl. Pulse Width Modulation, abgekürzt &#039;&#039;&#039;PWM&#039;&#039;&#039;) wird die Ein- und Ausschaltzeit eines Rechtecksignals bei fester Grundfrequenz variiert. Das Verhältnis &amp;lt;math&amp;gt;t_{ein} / (t_{ein} + t_{aus})&amp;lt;/math&amp;gt; bezeichnet man als &#039;&#039;&#039;Tastverhältnis&#039;&#039;&#039; (laut DIN IEC 60469-1: Tastgrad) (engl. Duty Cycle, meist abgekürzt DC, bitte nicht verwechseln mit Direct Current = Gleichstrom ). Das Tastverhältnis ist eine Zahl zwischen 0..1.&lt;br /&gt;
&lt;br /&gt;
Wie leicht zu erkennen ist gilt für den &#039;&#039;&#039;Mittelwert&#039;&#039;&#039; der Spannung mit der Periode &amp;lt;math&amp;gt; t_{ein} + t_{aus} = T &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_m = \frac{1}{T} \int_0^T u(t)dt = \frac{1}{T}\int_0^{t_{ein}} U_{ein}dt + \frac{1}{T} \int_{t_{ein}}^T U_{aus}dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_m = U_{aus} + (U_{ein} - U_{aus}) \cdot \frac{t_{ein}}{t_{ein}+t_{aus}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{aus}&amp;lt;/math&amp;gt; ist dabei normalerweise 0V, &amp;lt;math&amp;gt;U_{ein}&amp;lt;/math&amp;gt; die Betriebsspannung &amp;lt;math&amp;gt;V_{CC}&amp;lt;/math&amp;gt;, z.&amp;amp;nbsp;B. 5V. Deshalb kann man vereinfacht schreiben:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_m = \frac{V_{CC} \cdot t_{ein}}{t_{ein}+t_{aus}}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
Die folgenden Beispiele zeigen PWM-Signale mit einem Tastverhältnis von 75% bzw. 25%.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Beispiel 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{ein}=5\,\mathrm{V}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;U_{aus}=0\,\mathrm{V}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t_{ein}=3\,\mathrm{ms}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t_{aus}=1\,\mathrm{ms}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_m = 0\,\mathrm{V} + (5\,\mathrm{V} - 0\,\mathrm{V}) \cdot \frac{3\,\mathrm{ms}}{3\,\mathrm{ms}+1\,\mathrm{ms}} = 3,75\,\mathrm{V}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pwm1.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel 2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{ein}=5\,\mathrm{V}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;U_{aus}=0\,\mathrm{V}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t_{ein}=1\,\mathrm{ms}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t_{aus}=3\,\mathrm{ms}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_m = 0\,\mathrm{V} + (5\,\mathrm{V} - 0\,\mathrm{V}) \cdot \frac{1\,\mathrm{ms}}{1\,\mathrm{ms}+3\,\mathrm{ms}} = 1,25\,\mathrm{V}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Pwm2.png]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Leistung ==&lt;br /&gt;
&lt;br /&gt;
Steuert man mit einem pulsweitenmodulierten Signal direkt einen ohmschen Verbraucher an (z.&amp;amp;nbsp;B. Heizdraht), so ist darauf zu achten, dass man zur Bestimmung der Leistung &#039;&#039;&#039;nicht&#039;&#039;&#039; einfach&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P = \frac{{U_m}^2}{R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
rechnen darf, sondern die Leistung während der Ein- und Ausschaltzeit getrennt betrachten muss:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P = \frac{{U_{ein}}^2}{R} \cdot \frac{t_{ein}}{t_{ein} + t_{aus}} +&lt;br /&gt;
\frac{{U_{aus}}^2}{R} \cdot \frac{t_{aus}}{t_{ein} + t_{aus}}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Da praktisch fast immer gilt &amp;lt;math&amp;gt;U_{aus}=0V&amp;lt;/math&amp;gt; sowie &amp;lt;math&amp;gt;U_{ein}=V_{CC}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kann man vereinfacht schreiben und damit rechnen.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P = \frac {{V_{CC}}^2}{R} \cdot DC&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{ein} = 4\,\mathrm{V}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;U_{aus} = 0\,\mathrm{V}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t_{ein} = 1\,\mathrm{ms}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t_{aus} = 3\,\mathrm{ms}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;R = 10\,\mathrm{\Omega}&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Mittelwert dieser Spannung ist&lt;br /&gt;
:&amp;lt;math&amp;gt;U_m = 1\,\mathrm{V}&amp;lt;/math&amp;gt;.&lt;br /&gt;
Würde man mit diesem Wert die Leistung berechnen, so käme man auf&lt;br /&gt;
:&amp;lt;math&amp;gt;P = \frac{{U_m}^2}{R} = \frac{(1\,\mathrm{V})^2}{10\,\mathrm{\Omega}} = 0{,}1\,\mathrm{W}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Der richtige Wert ist jedoch&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P = \frac{(4\,\mathrm{V})^2}{10\,\mathrm{\Omega}} \cdot \frac{1\,\mathrm{ms}}{4\,\mathrm{ms}} +&lt;br /&gt;
\frac{(0\,\mathrm{V})^2}{10\,\mathrm{\Omega}} \cdot \frac{3\,\mathrm{ms}}{4\,\mathrm{ms}} =&lt;br /&gt;
0{,}4\,\mathrm{W}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Bei 0V lässt sich kürzen:&lt;br /&gt;
:&amp;lt;math&amp;gt;P = \frac{(4\,\mathrm{V})^2}{10\,\mathrm{\Omega}} \cdot \frac{1\,\mathrm{ms}}{4\,\mathrm{ms}}&lt;br /&gt;
=&lt;br /&gt;
0{,}4\,\mathrm{W}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
===Digitaler Verstärker statt linearer Verstärker===&lt;br /&gt;
Eine Heizung (Beispiel) mit 10Ω-Widerstand soll mit bis zu 12 V angesteuert werden. Dazu wird ein 13 V-Netzteil sowie ein linearer Verstärker verwendet (ein linearer Verstärker braucht immer eine etwas höhere Betriebsspannung als die maximale Ausgangsspannung). &lt;br /&gt;
&lt;br /&gt;
Sollen nun 12 V auf die Heizung gegeben werden, fällt (fast) die gesamte Spannung über der Heizung selber ab, der Verstärker &amp;quot;verbraucht&amp;quot; nur 1 V. Es fließen ca. 1,2 A, es werden ca. 14,4 W in der Heizung in Wärme umgesetzt, im Verstärker ca. 1,2 W, der Wirkungsgrad beträgt 92%.&lt;br /&gt;
&lt;br /&gt;
Wenn jetzt aber nur noch 6 V an der Heizung anliegen sollen, muss der lineare Verstärker die &amp;quot;übrigen&amp;quot; 7 V verbrauchen, d.h. von den 13 V, welche konstant vom Netzteil geliefert werden, fallen 7 V über dem Verstärker und 6 V über der Heizung ab. Die Transistoren des linearen Verstärkers sind nur halb durchgesteuert. Es fließt ein Strom von ca. 600 mA, in der Heizung werden ca. 3,6 W in Wärme umgesetzt. Allerdings werden auch 4,2 W im Verstärker in Wärme umgesetzt! Der Wirkungsgrad ist nur noch 46%!&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz dazu sind bei einer PWM die Transistoren des digitalen Verstärkers immer nur entweder voll durchgesteuert oder gar nicht durchgesteuert. Im ersteren Fall fällt nur eine geringe Verlustleistung über dem Transistor ab, da die Sättigungsspannung &amp;lt;math&amp;gt;V_{SAT}&amp;lt;/math&amp;gt; sehr gering ist (meist weniger als 1 V). Im zweiten Fall fällt gar keine Verlustleistung über dem Transistor ab, da kein Strom fließt (P=U*I). Im Fall der 6 V an der Heizung beträgt das notwendige Tastverhältnis 0,23. D.h. nur während 23% der PWM-Periode wird Verlustleistung im digitalen Verstärker erzeugt und zwar ca.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P_V=DC \cdot \frac {V_{CC}}{R} \cdot V_{SAT} = 0{,}23 \cdot \frac {12V}{10\Omega} \cdot 1V = 0{,}28 W&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Wirkungsgrad liegt bei 92%!&lt;br /&gt;
&lt;br /&gt;
=== Motorsteuerung ===&lt;br /&gt;
&lt;br /&gt;
Eine der Hauptanwendungen für PWM ist die Ansteuerung von (Gleichstrom-) Motoren. Der große Vorteil von PWM ist hier der gute Wirkungsgrad. Würde man einen Digital-Analog-Wandler mit einem nachgeschalteten analogen Verstärker zur Ansteuerung verwenden, dann würde im Verstärker eine sehr hohe Verlustleistung in Wärme umgewandelt werden. Ein digitaler Verstärker mit PWM hat dagegen sehr geringe Verluste. Die verwendete Frequenz liegt meist im Bereich von einigen 10kHz. Zur Berechnung der Drehzahl eines Motors kann im Normalfall der Mittelwert der PWM-Spannung als Betriebsspannung angenommen werden.&lt;br /&gt;
&lt;br /&gt;
=== AD-Wandlung mit PWM ===&lt;br /&gt;
Der folgende Tipp stammt noch aus der Zeit, als es keinen Mikroprozessor mit AD-Wandler gab.&lt;br /&gt;
&lt;br /&gt;
Einen recht billigen und einfachen AD-Wandler mit &amp;quot;1-Draht Kommunikation&amp;quot; kann man mit dem IC 556 (NE556 o.ä.) realisieren: der eine Timer des 556 arbeitet als 50% duty-cycle Rechteckgenerator bei beispielsweise 1 kHz und steuert den zweiten Timer an. Dieser besitzt einen Steuereingang zu Beeinflussung des Tastverhältnisses und auf diesen Pin gibt man das analoge Signal. Ein angeschlossener µC oder PC misst bei jedem Impuls die Impulslänge und man erhält so das Messergebnis. Bei einer Frequenz von &amp;gt;10 kHz liesse sich sogar Sprache digital übertragen oder speichern. Allerdings ist dafür eine Auflösung von wenigstens 8 Bit nötig, wodurch 256 Stufen und eine entsprechemde Abstatfrequenz durch den Chip gefordert sind. Ohne Chip lässt sich dies nur mit eimem Logikbaustein und etwas Signalverarbeitung lösen, siehe [[Analog-IO_mit_digitalen_Bausteinen]].&lt;br /&gt;
&lt;br /&gt;
=== DA-Wandlung mit PWM ===&lt;br /&gt;
&lt;br /&gt;
Die meisten Mikrocontroller haben keine DA-Wandler integriert, da diese relativ aufwändig sind. Allerdings kann man mittels eines PWM-Ausgangs auch eine DA-Wandlung vornehmen und eine Gleichspannung bereitstellen. Wird ein PWM-Signal über einen Tiefpass gefiltert (geglättet), entsteht eine Gleichspannung mit Wechselanteil, deren Mittelwert dem des PWM-Signals entspricht und dessen Wechselanteil von der Beschaltung abhängig ist. Nun bleibt das Problem der Dimensionierung des Tiefpasses. Ein Beispiel:&lt;br /&gt;
&lt;br /&gt;
PWM-Takt 1 MHz, 8 Bit Auflösung (256 Stufen), 0/5V.&lt;br /&gt;
-&amp;gt; 3906 Hz PWM Frequenz&lt;br /&gt;
&lt;br /&gt;
RC-Tiefpass 22nF, 100k&amp;amp;Omega;&lt;br /&gt;
-&amp;gt; 72 Hz Grenzfrequenz&lt;br /&gt;
&lt;br /&gt;
(Die Grenzfrequenz errechnet sich über &amp;lt;math&amp;gt;f_c=\frac{1}{2\,\pi\,R\cdot C}&amp;lt;/math&amp;gt; .)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[bild:pwm_filter_1.png]]&lt;br /&gt;
&lt;br /&gt;
Bei diesem Tiefpass mit 72 Hz Bandbreite verbleibt am Ausgang noch ein Ripple auf der Gleichspannung, da die PWM nie ideal gefiltert werden kann. Eine Rechnung bzw. Simulation in PSPICE zeigen ca. 150mV Ripple. Das ist ziemlich viel, da ein idealer 8-Bit DA-Wandler bei 5V Referenzspannung eine Auflösung von 20mV hat. Wir haben hier also ein Störsignal von 150mV/20mv=7,5 LSB. Um den Ripple bis auf die Auflösungsgrenze von 20mV zu reduzieren, muss die Grenzfrequenz auf ca. 10 Hz reduziert werden. Es ist somit effektiv nur ein 390tel der PWM-Frequenz nutzbar. Das ist für einige Anwendungen ausreichend, wo praktisch nur statische Gleichspannungen erzeugt werden sollen, z.&amp;amp;nbsp;B. für programierbare Netzteile. Für Anwendungen, in denen schneller ändernde Gleichspannungen generiert werden sollen, muss die PWM-Frequenz entsprechend erhöht werden oder ein steilerer Tiefpaß verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==== RC-Filter dimensionieren ====&lt;br /&gt;
&lt;br /&gt;
Allgemein kann man den Ripple eines einfachen RC-Tiefpasses so abschätzen:&lt;br /&gt;
&lt;br /&gt;
Kritischster Punkt ist eine PWM mit 50% Tastverhältnis. Dabei tritt der&lt;br /&gt;
stärkste absolute Ripple auf, weil hier die - am weinigsten gefilterte - Grundschwigung die höchste Amplitude besitzt. Bei diesem Tastverhältnis ist der Kondensator auf 1/2 VCC aufgeladen. Somit liegt auch 1/2 VCC über dem R an und lädt C annähernd mit Konstantstrom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;I = \frac{\frac{1}{2}Vcc}{R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Über die Definition des Kondensators kann man den Ripple berechnen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C = \frac{I \cdot t}{U}; [F = \frac{As}{V}]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U = \frac{I \cdot t}{C}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Ladung in As (Amperesekunden) ergeben sich aus der halben PWM-Periode mal I. Damit kann man brauchbar den Ripple abschätzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;V_{Ripple} = \frac{\frac {\frac{1}{2}Vcc}{R} \cdot \frac{1}{2}T_{PWM}}{C} = \frac{ Vcc \cdot T_{PWM}}{4RC}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Einschwingzeit &amp;lt;math&amp;gt;\!\,t_S&amp;lt;/math&amp;gt; des Signals bei einem neuen PWM-Wert beträgt etwa &amp;lt;math&amp;gt;\!\,5RC&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Abschätzung gilt aber nur dann, wenn der Ausgang des RC-Filter kaum belastet ist, wie z.&amp;amp;nbsp;B. durch einen Operationsverstärker oder einen andern hochohmigen IC-Eingang.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
100 Hz PWM Frequenz(T_PWM=10ms), R=100k&amp;amp;Omega;, C=1&amp;amp;mu;F, Vcc=5V&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;V_{Ripple} = \frac{5V \cdot 10ms}{4 \cdot 100k\Omega \cdot 1 \mu F} = 125 mV&amp;lt;/math&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t_s=5RC=5 \cdot 100k \Omega \cdot 1 \mu F = 500ms&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will man aber nicht soviel Bandbreite verschenken, muss man anders filtern. Das Problem des einfachen RC-Tiefpasses ist der relativ langsame Anstieg der Dämpfung oberhalb der Grenzfrequenz. Genauer gesagt steigt die Dämpfung mit 20dB/Dekade. Das heisst, dass ein Signal mit der 10fachen Frequenz (Dekade) um den Faktor 10 (20dB) gedämpft wird. Will man nun eine höhere Dämpfung ereichen, müssen mehrere Tiefpässe in Kette geschaltet werden. Bei dem gleichen Beispiel erreicht man mit zwei Tiefpässen mit 6,8nF/100k&amp;amp;Omega; eine Grenzfrequenz von ca. 70 Hz, bei gleicher Dämpfung des Ripples auf 20mV. Die Dämpfung dieses sogenannten Tiefpasses 2. Ordnung beträgt 40dB/Dekade. Das heisst, ein Signal mit zehnfacher Frequenz (Dekade) wird um den Faktor 100 (40dB) gedämpft! Damit erzielt man hier bereits die 7fache Bandbreite! Zum Schluss muss beachtet werden, dass die passiven Tiefpässe nur sehr schwach belastet werden können. Hier ist fast immer ein Operationsverstärker als Spannungsfolger nötig, falls der Eingangswiderstand der nachfolgenden Schaltung in der Größenordnung der beiden Widerstände des Filters ist. Der kann auch genutzt werden, um das gefilterte Signal weiter zu verstärken (nichtinvertierender Verstärker).&lt;br /&gt;
&lt;br /&gt;
[[bild:pwm_filter_2.png]]&lt;br /&gt;
&lt;br /&gt;
Geschickter wäre hier eine Widerstandsdimensionierung, bei der R2 etwas größer ist als R3, da somit das zweite RC-Gleid das erste weniger belastet.&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zur Restwelligkeit bei RC Tiefpässen kann man [http://www.mikrocontroller.net/topic/181033#1747063 diesem] Thread entnehmen.&lt;br /&gt;
&lt;br /&gt;
Das Spiel kann noch um einiges gesteigert werden, wenn man Tiefpässe dritter, vierter und noch höherer Ordung einsetzt. Das wird vor allem im Audiobereich gemacht. Dazu werden praktisch Operationsverstärker eingesetzt. In der [[AVR]] Application-Note [http://www.atmel.com/dyn/resources/prod_documents/doc1456.pdf AVR335: Digital Sound Recorder with AVR and DataFlash] wird zum Beispiel ein mit Operationsverstärkern aufgebauter Chebychev-Tiefpass fünfter Ordnung verwendet. Man findet im Audiobereich gelegentlich auch Schaltungen ohne expliziten Tiefpass. Dabei wird der Ausgang eines Class-D Verstärkers (der nichts anderes als ein PWM-Signal erzeugt) über einen Widerstand auf einen Lautsprecher gegeben. Die mechanische Trägheit und die Induktivität der Lautsprecherspule bilden mit dem Widerstand einen Tiefpass.&lt;br /&gt;
&lt;br /&gt;
=== Dimmen von Leuchtmitteln ===&lt;br /&gt;
&lt;br /&gt;
Siehe Artikel:&lt;br /&gt;
* [[LED-Fading]] - LED dimmen mit PWM &lt;br /&gt;
&lt;br /&gt;
== Oft gestellte Fragen (FAQ) ==&lt;br /&gt;
&lt;br /&gt;
=== Mit welcher Frequenz dimmt man? ===&lt;br /&gt;
&lt;br /&gt;
A: Bei Glühlampen kannst Du alles über 20Hz nehmen. Die sind derart träge... Über 9kHz sollte man wegen [[EMV]] nicht gehen. Für [[LED]]s ist alles über 1kHz und unter 9kHz gut. (Autor: Travel Rec. (travelrec), Datum: 27.12.2008 11:32)&lt;br /&gt;
&lt;br /&gt;
=== Wie schätze ich die Verlustleistung am MOSFET im PWM Betrieb ab? ===&lt;br /&gt;
&lt;br /&gt;
[http://www.mikrocontroller.net/topic/190878#1862634 Beitrag von Falk]: &lt;br /&gt;
&lt;br /&gt;
Vereinfacht kann man sagen, dass während der Umschaltzeit die Verlustleistung am MOSFET = 1/4 der Verlustleistung am Verbraucher ist, wenn  der eingeschaltet ist (Leistungsanpassung).&lt;br /&gt;
&lt;br /&gt;
Beispiel: 150 Hz PWM = 6,6ms, Schaltzeit 500ns, Verbraucher 60W. Macht 15W Verlust während der zwei Umschaltungen pro Takt, sprich 2x500ns = 1µs. Aber das nur alle 6,6ms, Im Mittel macht das 1us/6,6ms*15W = 2,2mW. Glück gehabt ;-) Bei hohen PWM-Frequenzen im Bereich 20-500kHz, wie sie heute bei Schaltnetzteilen üblich sind, kommt da aber schon richtig viel zusammen.&lt;br /&gt;
&lt;br /&gt;
Etwas genauer:&lt;br /&gt;
http://www.mikrocontroller.net/articles/FET#Verlustleistung_.28N.C3.A4herung_f.C3.BCr_eine_getaktete_Anwendung.29&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Tutorial: PWM]]&lt;br /&gt;
* [[AVR-GCC-Tutorial#PWM (Pulsweitenmodulation)|AVR-GCC-Tutorial: PWM]]&lt;br /&gt;
* [[Soft-PWM]] - PWM in Software&lt;br /&gt;
* [[Motoransteuerung mit PWM]]&lt;br /&gt;
* [[LED-Fading]] - LED dimmen mit PWM&lt;br /&gt;
* [[AVR PWM]] (noch nicht fertig)&lt;br /&gt;
* [[Ambilight in Hardware]]&lt;br /&gt;
* [[Glättungsfilter für 1-Bit DA-Wandlung|1-Bit Digital-Analog-Wandlung]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Signalverarbeitung]]&lt;br /&gt;
[[Kategorie:Leistungselektronik]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[http://www.solar-webshop.de/blog/pwm-puls-weiten-modulation-solar/ Was bedeutet PWM?]&lt;br /&gt;
&lt;br /&gt;
*[http://pic-projekte.de/wiki/index.php?title=PIC_Tutorial#Pulsweitenmodulation_.28PWM.29 PWM Modul am PIC]&lt;/div&gt;</summary>
		<author><name>84.129.76.239</name></author>
	</entry>
</feed>