Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:4e4th:4e4th:start:msp430g2553_experimente

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projects:4e4th:4e4th:start:msp430g2553_experimente [2018-07-23 10:29] – [PWM-Signal am LR-Glied] mkaprojects:4e4th:4e4th:start:msp430g2553_experimente [2025-08-16 16:20] (aktuell) – [Schrittmotor] Bildquelle angegeben, wiki, CC. mka
Zeile 8: Zeile 8:
 {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:img_0539_13von100.jpg?200|Bei mir sah das dabei so aus.}} Die hier angegebenen Experimente wurden mit der MCU //MSP430G2553 von Texas Instruments// auf deren LaunchPad gemacht. Die Experimente können aber ebenso gut mit anderen MCUs angestellt werden. Es wird aber für nichts gehaftet. [[:projects:4e4th:4e4th:start:msp430g2553_experimente#einfache_forth_programme_fuer_die_experimente|Kleine Forth-Programme]] für die Experimente mit der MCU sind weiter unten angegeben.  {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:img_0539_13von100.jpg?200|Bei mir sah das dabei so aus.}} Die hier angegebenen Experimente wurden mit der MCU //MSP430G2553 von Texas Instruments// auf deren LaunchPad gemacht. Die Experimente können aber ebenso gut mit anderen MCUs angestellt werden. Es wird aber für nichts gehaftet. [[:projects:4e4th:4e4th:start:msp430g2553_experimente#einfache_forth_programme_fuer_die_experimente|Kleine Forth-Programme]] für die Experimente mit der MCU sind weiter unten angegeben. 
  
-Für diese Experimente brauchte ich ein [[http://www.ti.com/tool/msp-exp430g2?DCMP=hpa_bestbets_estore&HQS=estore-tool-bb-launchpad|LaunchPad]], ein [[http://de.wikipedia.org/wiki/Multimeter|Multimeter]], ein [[http://de.wikipedia.org/wiki/Oszilloskop|Oszilloskop]] und einige Kleinteile wie [[http://de.wikipedia.org/wiki/Widerstand_(Bauelement)|Widerstände]] und [[http://de.wikipedia.org/wiki/Kondensator_(Elektrotechnik)|Kondensatoren]], und einen kleinen [[http://de.wikipedia.org/wiki/Lautsprecher|Lautsprecher]]. Ein [[http://de.wikipedia.org/wiki/Steckbrett|Steckbrett]]((Es muss ja nicht gleich soo groß sein ... {{:projects:4e4th:4e4th:start:steckbretter.pdf|Deliano-Steckbrett-USA}})) kann nicht schaden, ebenso ein Bündel {{:projects:4e4th:4e4th:start:pruefklipp_kabelset.jpg?linkonly|Prüfklipp-Kabel}}, die einfach an das LaunchPad angeklemmt werden können. +Für diese Experimente brauchte ich ein [[http://www.ti.com/tool/msp-exp430g2?DCMP=hpa_bestbets_estore&HQS=estore-tool-bb-launchpad|LaunchPad]], ein [[http://de.wikipedia.org/wiki/Multimeter|Multimeter]], ein [[http://de.wikipedia.org/wiki/Oszilloskop|Oszilloskop]] und einige Kleinteile wie [[http://de.wikipedia.org/wiki/Widerstand_(Bauelement)|Widerstände]] und [[http://de.wikipedia.org/wiki/Kondensator_(Elektrotechnik)|Kondensatoren]], und einen kleinen [[http://de.wikipedia.org/wiki/Lautsprecher|Lautsprecher]]. Ein [[http://de.wikipedia.org/wiki/Steckbrett|Steckbrett]] ((Es muss ja nicht gleich soo groß sein ... {{:projects:4e4th:4e4th:start:steckbretter.pdf|Deliano-Steckbrett-USA}} )) kann nicht schaden, ebenso ein Bündel {{:projects:4e4th:4e4th:start:pruefklipp_kabelset.jpg?linkonly|Prüfklipp-Kabel}}, die einfach an das LaunchPad angeklemmt werden können. 
  
 Bei mir sah das dabei so aus: {{:projects:4e4th:4e4th:start:msp430g2553_experimente:img_0539.jpg?linkonly|Bild in höherer Auflösung.}}((Sommer 2013)) Bei mir sah das dabei so aus: {{:projects:4e4th:4e4th:start:msp430g2553_experimente:img_0539.jpg?linkonly|Bild in höherer Auflösung.}}((Sommer 2013))
Zeile 14: Zeile 14:
 Die verwendete MCU erwies sich als erstaunlich robust. Wie man so eine MCU dann doch kaputt kriegt, ist [[/projects:4e4th:4e4th:start:msp430g2553_experimente?&#mcu_schrotten|ganz unten beschrieben]]. Die verwendete MCU erwies sich als erstaunlich robust. Wie man so eine MCU dann doch kaputt kriegt, ist [[/projects:4e4th:4e4th:start:msp430g2553_experimente?&#mcu_schrotten|ganz unten beschrieben]].
  
-Wie man an das 4e4th kommt, steht auf der [[http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start|4e4th-Start-Seite.]]+Wie man an das 4e4th kommt, steht auf der [[http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start|4e4th-Start-Seite.]] (Amerkung 6/2025: Da das 4e4th nicht mehr gepflegt wird, empfehle ich [[https://home.hccnet.nl/anij/nof/noforth.html|noForth]] zu verwenden.
  
 Auf dieser Seite werden **OUTPUT-Experimente** gezeigt. Die grundlegenden [[http://www.forth-ev.de/wiki/doku.php/projects:4e4th:4e4th:start:msp430g2553_experimente:input|INPUT-Experimente]] sind auf einer Extra-Seite zusammengefasst. Auf dieser Seite werden **OUTPUT-Experimente** gezeigt. Die grundlegenden [[http://www.forth-ev.de/wiki/doku.php/projects:4e4th:4e4th:start:msp430g2553_experimente:input|INPUT-Experimente]] sind auf einer Extra-Seite zusammengefasst.
Zeile 27: Zeile 27:
   P1.4 --- R_L --- GND   P1.4 --- R_L --- GND
  
-Den Widerstand R_L von 100 Ω Nennwert zuerst mit dem Multimeter nachmessen, um den wahren Wert zu ermitteln. +Den Widerstand R\_L von 100 Ω Nennwert zuerst mit dem Multimeter nachmessen, um den wahren Wert zu ermitteln. 
-Und am Portpin P1.4 die Ausgangsspannung U0 messen, noch ohne den Lastwiderstand R_L angeschlossen zu haben.  +Und am Portpin P1.4 die Ausgangsspannung U0 messen, noch ohne den Lastwiderstand R\_L angeschlossen zu haben.  
-Dann den Widerstand R_L zwischen P1.4 und Masse anklemmen. Wir messen nun am Portpin P1.4 mit dem Multimeter eine kleinere Ausgangspannung U_L.+Dann den Widerstand R\_L zwischen P1.4 und Masse anklemmen. Wir messen nun am Portpin P1.4 mit dem Multimeter eine kleinere Ausgangspannung U\_L.
  
-|R_L [Ω]|U0 [V]|U_L [V]|+|R\_L [Ω]|U0 [V]|U\_L [V]|
 |96|3,4|2,8| |96|3,4|2,8|
  
-{{ :projects:4e4th:4e4th:start:msp430g2553_experimente:img_0525_13von100.jpg?|Bild R_L: Raster 1 cm. Vertikal 1V/cm, horizontal 2ms/cm. Die Spannung an P1.5 ohne Lastwiderstandund beträgt 3.4V und die Spannung an P1.4 mit dem Lastwiderstand ist 2.8V, also etwas niedriger.}} Dieser Sachverhalt soll nun auch auf dem Oszilloskop((Hameg Dual Trace Oscilloscop HM312-8; das gute alte analoge Stück tuts schon seit den '80igern)) dargestellt werden. Das [[projects:4e4th:4e4th:start:msp430g2553_experimente#Pegel_an_Portpin_P1.4_und_P1.5|Testprogramm TON]] generiert dafür ein Rechtecksignal 1:1 auf den beiden Port-Pins P1.4 und P1.5. An P1.4 wird der Lastwiderstand angeschlossen, P1.5 bleibt frei. +{{ :projects:4e4th:4e4th:start:msp430g2553_experimente:img_0525_13von100.jpg?|Bild R\_L: Raster 1 cm. Vertikal 1V/cm, horizontal 2ms/cm. Die Spannung an P1.5 ohne Lastwiderstandund beträgt 3.4V und die Spannung an P1.4 mit dem Lastwiderstand ist 2.8V, also etwas niedriger.}} Dieser Sachverhalt soll nun auch auf dem Oszilloskop((Hameg Dual Trace Oscilloscop HM312-8; das gute alte analoge Stück tuts schon seit den '80igern)) dargestellt werden. Das [[projects:4e4th:4e4th:start:msp430g2553_experimente#Pegel_an_Portpin_P1.4_und_P1.5|Testprogramm TON]] generiert dafür ein Rechtecksignal 1:1 auf den beiden Port-Pins P1.4 und P1.5. An P1.4 wird der Lastwiderstand angeschlossen, P1.5 bleibt frei. 
  
   * Warum sinkt die Ausgangsspanung am Portpin P1.4 unter ohmscher Last etwas ab?   * Warum sinkt die Ausgangsspanung am Portpin P1.4 unter ohmscher Last etwas ab?
Zeile 60: Zeile 60:
   P1.4 --- R_L --- GND    P1.4 --- R_L --- GND 
  
-Werte von R_L mit dem Multimeter bestimmen. U0 und U_L mit Multimeter messen. Danach Ri und I nach Formel (1) berechnen. Wir beginnen mit einem Widerstand von 100 Ω Nennwert. Nachmessen ergab einen Widerstand von 96 Ω. Durch parallel oder seriell schalten von bis zu drei solchen Widerständen lassen sich andere Widerstandswerte erzeugen. Immer nachmessen, was erzeugt wurde. +Werte von R\_L mit dem Multimeter bestimmen. U0 und U\_L mit Multimeter messen. Danach Ri und I nach Formel (1) berechnen. Wir beginnen mit einem Widerstand von 100 Ω Nennwert. Nachmessen ergab einen Widerstand von 96 Ω. Durch parallel oder seriell schalten von bis zu drei solchen Widerständen lassen sich andere Widerstandswerte erzeugen. Immer nachmessen, was erzeugt wurde. 
  
-|U0 [V] |U_L [V]|R_L [Ω]|Ri [Ω] |I  [mA]|Nennwert [Ω]| +|U0 [V] |U\_L [V]|R\_L [Ω]|Ri [Ω] |I  [mA]|Nennwert [Ω]|
 |3,545 |0,676 |8 |33,953 |84,500 |1x10|  |3,545 |0,676 |8 |33,953 |84,500 |1x10|
 |3,545 |1,871 |38 |33,999 |49,237 |3x100 parallel| |3,545 |1,871 |38 |33,999 |49,237 |3x100 parallel|
Zeile 89: Zeile 89:
 ==== Rampen-Generator ==== ==== Rampen-Generator ====
  
-{{ :projects:4e4th:4e4th:start:msp430g2553_experimente:300px-r2r-netzwerk.png?|Das klassische R2R-Netzwerk}} Ein klassisches Beispiel für Widerstandsnetze ist das [[http://de.wikipedia.org/wiki/R2R-Netzwerk|R2R-Netzwerk]], um Spannungsrampen zu erzeugen. Das ist einfach zu verstehen. Es ergibt sich aus der [[http://de.wikipedia.org/wiki/Spannungsteiler|Spannungsteiler-Schaltung]]. Weil es so einfach ist, kann es auch schnell mal aufgebaut werden. Für Demonstrationszwecke kann das an unserer MCU sogar aus nur 3x R und 1x 2R gemacht werden. Die Widerstände 2R vor den Schaltern entsprechen praktisch dem Innenwiderstand eines FET am Portpin, der FET selbst ist zugleich auch der Schalter. Das Ganze reduziert sich damit auf folgendes:+{{ :projects:4e4th:4e4th:start:msp430g2553_experimente:r2r.jpg?400|}} 
 +Ein klassisches Beispiel für Widerstandsnetze ist das [[http://de.wikipedia.org/wiki/R2R-Netzwerk|R2R-Netzwerk]], um Spannungsrampen zu erzeugen. Das ist einfach zu verstehen. Es ergibt sich aus der [[http://de.wikipedia.org/wiki/Spannungsteiler|Spannungsteiler-Schaltung]]. Weil es so einfach ist, kann es auch schnell mal aufgebaut werden. Für Demonstrationszwecke kann das an unserer MCU sogar aus nur 3x R und 1x 2R gemacht werden. Die Widerstände 2R vor den Schaltern entsprechen praktisch dem Innenwiderstand eines FET am Portpin, der FET selbst ist zugleich auch der Schalter. Das Ganze reduziert sich damit auf folgendes:
  
   GND---2R---P1.4---R---P1.5---R---P1.6---R---P1.7---> Vx   GND---2R---P1.4---R---P1.5---R---P1.6---R---P1.7---> Vx
Zeile 110: Zeile 111:
   P1.4 = high --- P1.5 = low    P1.4 = high --- P1.5 = low 
  
-|R_L [Ω]|U0 [V] |U_L [V]| I [mA]|+|R\_L [Ω]|U0 [V] |U\_L [V]| I [mA]|
 |0 |3,545|2,142 |49,1| |0 |3,545|2,142 |49,1|
  
 Wie man sieht, übersteht der Chip das problemlos. Solche Situationen kommen auch praktisch vor. Es geschieht beim Einlöten von Bauteilen gar nicht so selten, dass aus Versehen Brücken entstehen und solche Kurzschlüssse erzeugen. Also keine Panik, der Chip bleibt auch dabei heile. Auch das kann mit dem Testprogramm TON am Oszilloskop dargestellt werden. Wie man sieht, übersteht der Chip das problemlos. Solche Situationen kommen auch praktisch vor. Es geschieht beim Einlöten von Bauteilen gar nicht so selten, dass aus Versehen Brücken entstehen und solche Kurzschlüssse erzeugen. Also keine Panik, der Chip bleibt auch dabei heile. Auch das kann mit dem Testprogramm TON am Oszilloskop dargestellt werden.
  
-Zwischen P1.4 und P1.5 wurde der Lastwiderstand R_L mit 100 Ω angeschlossen.+Zwischen P1.4 und P1.5 wurde der Lastwiderstand R\_L mit 100 Ω angeschlossen.
  
   P1.4 --- R_L --- P1.5   P1.4 --- R_L --- P1.5
Zeile 194: Zeile 195:
 ===== PWM-Signal am RC-Glied ===== ===== PWM-Signal am RC-Glied =====
  
-Nach den Experimenten mit Widerständen und Kondensatoren folgt eine Kombination davon.{{ :projects:4e4th:4e4th:start:msp430g2553_experimente:220px-tiefpass.svg.png?|RC-Glied (aus Wikipedia)}}+Nach den Experimenten mit Widerständen und Kondensatoren folgt eine Kombination davon. 
 +{{ :projects:4e4th:4e4th:start:msp430g2553_experimente:port-an-rc-glied.jpg?400|}}
  
   P2.5 -- R --x-- C -- GND   P2.5 -- R --x-- C -- GND
  
-An Portpin P2.5 kommt das PWM-Signal an, und geht über einen Widerstand R an den Kondensator C, dessen anderer Anschluss an Masse liegt. Bei x wird das resultierende Signal ((Die Stelle x enspricht der Ausgangsspannung Ua im Tiefpass)) im [[http://de.wikipedia.org/wiki/RC-Glied|RC-Glied]] abgenommen. Ich habe R=10K und einen kleinen blauen Stützkondensator genommen von ca. C=100nF, aufgebaut wieder auf dem Steckbrett. +An Portpin P2.5 kommt das PWM-Signal an, und geht über einen Widerstand R an den Kondensator C, dessen anderer Anschluss an Masse liegt. Bei x wird das resultierende Signal im [[http://de.wikipedia.org/wiki/RC-Glied|RC-Glied]] abgenommen. Ich habe R=10K und einen kleinen blauen Stützkondensator genommen von ca. C=100nF, aufgebaut wieder auf dem Steckbrett. 
  
-Wenn die PWM-Frequenz hoch genug ist, wird die Ausgangsspannung des PWM gemittelt. Das sorgt dafür, dass bei gleichbleibender Pulsweite eine Gleichspannung entsteht. Wenn das Verhältnis Puls/Pause 50% ist, dann entspricht diese Gleichspannung der halben Speisespannung. Wird der Puls länger, erhöht sich die Spannung, und wird der Puls kürzer, wird die Spannung geringer. {{:projects:4e4th:4e4th:start:msp430g2553_experimente:pwm_rc.mov|Im Film}} ist das gut zu sehen. Die Spannung bei x geht immer rauf und wieder runter, je nach Pulsbreite, bei gleichbleibender PWM-Frequenz. Das Forth-Programm dazu [[projects:4e4th:4e4th:start:msp430g2553_experimente:PWM_an_RC|PWM_an_RC]] zeigt, wie es gemacht worden ist. +Wenn die PWM-Frequenz hoch genug ist, wird die Ausgangsspannung des PWM gemittelt. Das sorgt dafür, dass bei gleichbleibender Pulsweite eine Gleichspannung entsteht. Wenn das Verhältnis Puls/Pause 50% ist, dann entspricht diese Gleichspannung der halben Speisespannung. Wird der Puls länger, erhöht sich die Spannung, und wird der Puls kürzer, wird die Spannung geringer.  
 + 
 +{{:projects:4e4th:4e4th:start:msp430g2553_experimente:pwm_rc.webm|Integrierer}} 
 + 
 +Im Film ist das gut zu sehen. Die Spannung bei x geht immer rauf und wieder runter, je nach Pulsbreite, bei gleichbleibender PWM-Frequenz. Das Forth-Programm dazu [[projects:4e4th:4e4th:start:msp430g2553_experimente:PWM_an_RC|PWM_an_RC]] zeigt, wie es gemacht worden ist. 
  
 {{:projects:4e4th:4e4th:start:msp430g2553_experimente:pwm_rc_1.jpg?100|Rechtecksignal (PWM), Spannung an x liegt nur etwas über Masse. PWM mit kurzem Puls}}{{:projects:4e4th:4e4th:start:msp430g2553_experimente:pwm_rc_2.jpg?100|Rechtecksignal (PWM), Spannung an x liegt mittig. Tastverhältnis PWM ca. 1:1}}{{:projects:4e4th:4e4th:start:msp430g2553_experimente:pwm_rc_3.jpg?100|Rechtecksignal (PWM), Spannung an x liegt schon weit oben in der Nähe der Versorgunsspannung. PWM mit langem Puls}}{{:projects:4e4th:4e4th:start:msp430g2553_experimente:launchpad_rc-glied.jpg?100|Steckbrettaufbau}} {{:projects:4e4th:4e4th:start:msp430g2553_experimente:pwm_rc_1.jpg?100|Rechtecksignal (PWM), Spannung an x liegt nur etwas über Masse. PWM mit kurzem Puls}}{{:projects:4e4th:4e4th:start:msp430g2553_experimente:pwm_rc_2.jpg?100|Rechtecksignal (PWM), Spannung an x liegt mittig. Tastverhältnis PWM ca. 1:1}}{{:projects:4e4th:4e4th:start:msp430g2553_experimente:pwm_rc_3.jpg?100|Rechtecksignal (PWM), Spannung an x liegt schon weit oben in der Nähe der Versorgunsspannung. PWM mit langem Puls}}{{:projects:4e4th:4e4th:start:msp430g2553_experimente:launchpad_rc-glied.jpg?100|Steckbrettaufbau}}
Zeile 214: Zeile 220:
 Meine kleine Spule aus der Grabbelkiste hatte keine all zu hohe Induktivität. Der Effekt wird daher erst bei recht hoher Frequenz richtig deutlich sichtbar. Ein PWM mit einer Periode von 25µs und 50% Tastverhältnis reichte aber aus, den Effekt zu zeigen. Der ohmsche Widerstand des Drahtes dieser Spule war 16Ω.  Meine kleine Spule aus der Grabbelkiste hatte keine all zu hohe Induktivität. Der Effekt wird daher erst bei recht hoher Frequenz richtig deutlich sichtbar. Ein PWM mit einer Periode von 25µs und 50% Tastverhältnis reichte aber aus, den Effekt zu zeigen. Der ohmsche Widerstand des Drahtes dieser Spule war 16Ω. 
  
-In einem weiteren Versuch wird eine Diode D1 über L1 gelegt, mit der Sperrrichtung zum Portpin hin - [[http://de.wikipedia.org/wiki/Freilaufdiode|Freilaufdiode]]. Das Bild zeigt deutlich den Effekt. Beim Abschalten kann nur noch ein geringer Strom von die Spule aus Vss gezogen werden, das Meiste kreist nun in der Spule selbst. Das schützt die angeschlossene Elektronik vor Überspannungen. Wie man sieht, hat es die MCU mit dieser kleinen Spule auch ohne Freilaufdiode überlebt, vermutlich wegen der eingebauten Schutzdioden, und weil R1 den Strom begrenzt. +In einem weiteren Versuch wird eine Diode D1 über L1 gelegt, mit der Sperrrichtung zum Portpin hin - [[http://de.wikipedia.org/wiki/Freilaufdiode|Freilaufdiode]]. Das Bild zeigt deutlich den Effekt. Beim Abschalten kann nur noch ein geringer Strom von der Spule aus Vss gezogen werden, das Meiste kreist nun in der Spule selbst. Das schützt die angeschlossene Elektronik vor Überspannungen. Wie man sieht, hat es die MCU mit dieser kleinen Spule auch ohne Freilaufdiode überlebt, vermutlich wegen der eingebauten Schutzdioden, und weil R1 den Strom begrenzt. 
  
 Der Effekt wird in Schaltnetzteilen verwendet (https://en.wikipedia.org/wiki/Buck_converter) und auch, um Leistungs-LEDs als Glühbirnenersatz zu treiben. Der Effekt wird in Schaltnetzteilen verwendet (https://en.wikipedia.org/wiki/Buck_converter) und auch, um Leistungs-LEDs als Glühbirnenersatz zu treiben.
Zeile 221: Zeile 227:
 {{:projects:4e4th:4e4th:start:lr-glied-osc50.jpg?200|Oben: PWM. Unten: Spannung hinter der Spule an 1KΩ. Horizontal 5µs/cm. Vertikal 2V/cm}} {{:projects:4e4th:4e4th:start:lr-glied-osc50.jpg?200|Oben: PWM. Unten: Spannung hinter der Spule an 1KΩ. Horizontal 5µs/cm. Vertikal 2V/cm}}
 {{:projects:4e4th:4e4th:start:lr-glied-diode-osc50.jpg?200|Oben: PWM. Unten: Spannung hinter der Spule an 1KΩ mit Freilaufdiode über der Spule.Horizontal 5µs/cm. Vertikal 2V/cm}} {{:projects:4e4th:4e4th:start:lr-glied-diode-osc50.jpg?200|Oben: PWM. Unten: Spannung hinter der Spule an 1KΩ mit Freilaufdiode über der Spule.Horizontal 5µs/cm. Vertikal 2V/cm}}
 +
 +(Hier war ich zu faul den richtigen Winkel zu finden und das Raumlicht auszublenden, bzw mich dunkler zu kleiden. Dafür sieht man das es möglich ist sowas freihändig zu knipsen :-) )
  
 Mache den Versuch mit verschiedenen Spulen. Es war gar nicht so einfach, eine Spule zu finden, deren Induktivität hoch genug war, den Effekt mit diesen einfachen Mitteln auch deutlich zu zeigen. Trafospulen und Ankerwicklungen von kleinen Elektromotoren hatten zu geringe Werte. Mache den Versuch mit verschiedenen Spulen. Es war gar nicht so einfach, eine Spule zu finden, deren Induktivität hoch genug war, den Effekt mit diesen einfachen Mitteln auch deutlich zu zeigen. Trafospulen und Ankerwicklungen von kleinen Elektromotoren hatten zu geringe Werte.
Zeile 228: Zeile 236:
 {{:projects:4e4th:4e4th:start:2spulen.jpg?200|Testaufbau der beiden Spulen}} {{:projects:4e4th:4e4th:start:2spulen.jpg?200|Testaufbau der beiden Spulen}}
 {{:projects:4e4th:4e4th:start:2spulen6khz.jpg?200|Zwei verschiedene Spulen im Test am PWM-Signal}} {{:projects:4e4th:4e4th:start:2spulen6khz.jpg?200|Zwei verschiedene Spulen im Test am PWM-Signal}}
 +
 +(Hier verwende ich schon ein digitales Oszilloskop :-) )
  
 Um mal zu zeigen was passiert, wenn Spulen ganz ohne Schutz- und Freilaufdioden betrieben werden, gibt es einen eigenen Beitrag: [[projects:4e4th:4e4th:start:msp430g2553_experimente:Spulen aus schalten]] Um mal zu zeigen was passiert, wenn Spulen ganz ohne Schutz- und Freilaufdioden betrieben werden, gibt es einen eigenen Beitrag: [[projects:4e4th:4e4th:start:msp430g2553_experimente:Spulen aus schalten]]
Zeile 296: Zeile 306:
 {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:img_0555_13von100.jpg?|Gedämpfte Sinusschwingung in den Pegeln. 50Hz Rechteck, 0,2V/cm vertikal für das Signal mit der Schwingung. 5V/cm für die Triggerspur unten.}} Bei einer tiefen Frequenz der Rechteckwelle (50Hz) sieht man bei genügend großer Verstärkung, dass eine gedämpfte Sinusschwingung den Pegeln überlagert ist. Die stammt von der Rückstellkraft der Membran. Die ausgelenkte elastische Membran schwingt zurück und induziert dabei wieder eine Spannung. Diese Schwingung ist bei 10-facher Verstärkung der Pegel schon ganz gut zu sehen auf dem Foto und auch im Film.  {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:img_0555_13von100.jpg?|Gedämpfte Sinusschwingung in den Pegeln. 50Hz Rechteck, 0,2V/cm vertikal für das Signal mit der Schwingung. 5V/cm für die Triggerspur unten.}} Bei einer tiefen Frequenz der Rechteckwelle (50Hz) sieht man bei genügend großer Verstärkung, dass eine gedämpfte Sinusschwingung den Pegeln überlagert ist. Die stammt von der Rückstellkraft der Membran. Die ausgelenkte elastische Membran schwingt zurück und induziert dabei wieder eine Spannung. Diese Schwingung ist bei 10-facher Verstärkung der Pegel schon ganz gut zu sehen auf dem Foto und auch im Film. 
  
-Der {{:projects:4e4th:4e4th:start:mvi_0556.mov|Film}} zeigt das LaunchPad, den Lautsprecher, die Frequenz, und am Oszilloskop die Schwingung der Pegel mit 0,2V/cm. Gegen Ende dann Verstärkung der Schwingung auf 0,1V/cm.+Der Film-1 zeigt das LaunchPad, den Lautsprecher, die Frequenz, und am Oszilloskop die Schwingung der Pegel mit 0,2V/cm. Gegen Ende dann Verstärkung der Schwingung auf 0,1V/cm.
  
-Im {{:projects:4e4th:4e4th:start:msp430g2553_experimente:mvi_0559.mov|nächsten Film}} sieht man, was passiert, wenn man die Membran berührt. Zunächst im Außenbereich, und dann im Zentrum. Dabei ist zur Verdeutlichung des Effektes nur noch der "0"-Pegel auf dem Oszilloskop dargestellt. Die Triggerkurve ist ausgeblendet. Natürlich ist der Effekt auch auf dem "1"-Pegel in der anderen Hälfte der Rechteckwelle sichtbar.+Im Film-2 sieht man, was passiert, wenn man die Membran berührt. Zunächst im Außenbereich, und dann im Zentrum. Dabei ist zur Verdeutlichung des Effektes nur noch der "0"-Pegel auf dem Oszilloskop dargestellt. Die Triggerkurve ist ausgeblendet. Natürlich ist der Effekt auch auf dem "1"-Pegel in der anderen Hälfte der Rechteckwelle sichtbar. 
 + 
 +{{:projects:4e4th:4e4th:start:mvi_0556.webm|Film-1}} 
 +{{:projects:4e4th:4e4th:start:msp430g2553_experimente:mvi_0559.webm|Film-2}}
  
 Hier auszugsweise einige Bilder aus dem Tonfilm.\\ Hier auszugsweise einige Bilder aus dem Tonfilm.\\
Zeile 312: Zeile 325:
 ==== Resonanz der Membran ==== ==== Resonanz der Membran ====
  
-Die Eigenschwingung der Membran kann in den vorhergehenden Bildern ausgemessen werden. Was passiert, wenn man den Lautsprecher mit ansteigenden Frequenzen betreibt, zeigt {{:projects:4e4th:4e4th:start:msp430g2553_experimente:mvi_0561-trim.mov|dieser Film}}. Auszugsweise auch davon einige Bilder.+Die Eigenschwingung der Membran kann in den vorhergehenden Bildern ausgemessen werden. Was passiert, wenn man den Lautsprecher mit ansteigenden Frequenzen betreibt, zeigt das folgende Filmchen. 
 + 
 +{{:projects:4e4th:4e4th:start:msp430g2553_experimente:mvi_0561-trim.webm|Filmchen der ansteigenden Frequenzen}}. 
 + 
 +Auszugsweise auch davon einige Bilder.
 Es ist schön zu sehen, dass im Resonanzfall sowohl der "1"- als auch der "0"-Pegel schön 'ausgebeult' sind. Der Sinus liegt über dem Pegel. Und es ist zu hören, dass der Ton lauter wird.   Es ist schön zu sehen, dass im Resonanzfall sowohl der "1"- als auch der "0"-Pegel schön 'ausgebeult' sind. Der Sinus liegt über dem Pegel. Und es ist zu hören, dass der Ton lauter wird.  
  
Zeile 327: Zeile 344:
 So ein PWM (Puls Width Modulation) ist eine feine Sache. Man braucht dazu einen Zähler (timer), Register, um Zählerstände zu vergleichen, und einen Portpin, den man an- und ausschalten kann. In unserer MCU ist das bereits eingebaut. So ein PWM (Puls Width Modulation) ist eine feine Sache. Man braucht dazu einen Zähler (timer), Register, um Zählerstände zu vergleichen, und einen Portpin, den man an- und ausschalten kann. In unserer MCU ist das bereits eingebaut.
  
-{{ :projects:4e4th:4e4th:start:msp430g2553_experimente:updowm_pwm.jpg?300|PWM mit timer A erzeugen}}Der Timer TA1 kann im //up/down-modus// betrieben werden. Dabei zählt der timer von NULL bis zu dem Wert ''T'' im Register TA1CCR0 hoch, und ab da wieder runter. Unterwegs trifft der Zähler dabei den Vergleichswert ''V'' im Register TA1CCR2. Dabei wird dann jedesmal ein Flag getoggelt. Macht man ''V'' halb so groß wie ''T'', bekommt man ein Tastverhältnis von 50%. Nun braucht man nur noch dieses Flag an den Portpin zu übertragen, schon hat man sein PWM-Signal. Da der Timer unabhängig vom Programm im Hintergrund läuft und auch die Übertragung des Flags an den Port von der Hardware gemacht wird, braucht man sich nicht mehr darum zu kümmern. Sobald der Timer gestartet wurde, läuft das automatisch endlos ab, bis man den Timer wieder anhält. +{{ :projects:4e4th:4e4th:start:msp430g2553_experimente:updowm_pwm.jpg?300|PWM mit timer A erzeugen}}Der Timer TA1 kann im //up/down-modus// betrieben werden. Dabei zählt der timer von NULL bis zu dem Wert ''T'' im Register TA1CCR0 hoch, und ab da wieder runter. Unterwegs trifft der Zähler dabei den Vergleichswert ''V'' im Register TA1CCR2. Dabei wird dann jedesmal ein Flag getoggelt. Macht man ''V'' halb so groß wie ''T'', bekommt man ein Tastverhältnis von 50%. Nun braucht man nur noch dieses Flag an den Portpin zu übertragen, schon hat man sein PWM-Signal.((Abb.: Zitat aus dem Hndbuch.)) Da der Timer unabhängig vom Programm im Hintergrund läuft und auch die Übertragung des Flags an den Port von der Hardware gemacht wird, braucht man sich nicht mehr darum zu kümmern. Sobald der Timer gestartet wurde, läuft das automatisch endlos ab, bis man den Timer wieder anhält. 
  
 Das wurde im SWEEP benutzt. Da werden einfach nur der Timer und der Portpin konfiguriert, die Zählerwerte gesetzt, das PWM gestartet und dann gewartet, derweil PWM läuft und die Rechteckwelle am P2.2 macht. Dann wird T und V  verkleinert und das Ganze beginnt von vorn. So 'sweept' man durch die PWM-Frequenzen. Dabei ist es schön, dass die beteiligten Register des Timers wie Variablen gelesen und geschrieben werden können.  Das wurde im SWEEP benutzt. Da werden einfach nur der Timer und der Portpin konfiguriert, die Zählerwerte gesetzt, das PWM gestartet und dann gewartet, derweil PWM läuft und die Rechteckwelle am P2.2 macht. Dann wird T und V  verkleinert und das Ganze beginnt von vorn. So 'sweept' man durch die PWM-Frequenzen. Dabei ist es schön, dass die beteiligten Register des Timers wie Variablen gelesen und geschrieben werden können. 
Zeile 335: Zeile 352:
 Wer sowas noch nicht so kennt, mag hier mal schauen, da hab ich das mal vorexerziert:\\ Wer sowas noch nicht so kennt, mag hier mal schauen, da hab ich das mal vorexerziert:\\
 [[projects:4e4th:4e4th:start:msp430g2553_experimente:TimerA_und_Port_P2_Block_Schema]] [[projects:4e4th:4e4th:start:msp430g2553_experimente:TimerA_und_Port_P2_Block_Schema]]
 +
 +[[https://www.ti.com/lit/pdf/slau144|Handbuch]] zur MCU
  
  
Zeile 347: Zeile 366:
 Man sieht, dass die Lampe eher schwach leuchtet, wenn man sie mit dem BD135 und R=10K anschaltet. Der H-Pegel an P2.5 bleibt dabei aber schön oben bei 3,4V. Nimmt man den Widerstand R weg, leuchtet die Lampe voll, der Pegel an P2.5 sinkt aber ab auf nur 0,8V - wie erwartet, s.oben. Man kann also durchaus ganz ohne den Basis-Widerstand den Transistor betreiben, der BD135 schaltet voll durch, wenn er vom Portpin direkt getrieben wird. Nimmt man den TIP120, kann R=10K belassen werden, die Darlingtonschaltung sorgt dafür, dass so ein kleiner Steuerstrom schon genügt.  Man sieht, dass die Lampe eher schwach leuchtet, wenn man sie mit dem BD135 und R=10K anschaltet. Der H-Pegel an P2.5 bleibt dabei aber schön oben bei 3,4V. Nimmt man den Widerstand R weg, leuchtet die Lampe voll, der Pegel an P2.5 sinkt aber ab auf nur 0,8V - wie erwartet, s.oben. Man kann also durchaus ganz ohne den Basis-Widerstand den Transistor betreiben, der BD135 schaltet voll durch, wenn er vom Portpin direkt getrieben wird. Nimmt man den TIP120, kann R=10K belassen werden, die Darlingtonschaltung sorgt dafür, dass so ein kleiner Steuerstrom schon genügt. 
  
-Für das gebastelte Stroboskop habe ich mich für den TIP120 mit R an der Basis entschieden. Da muss ich mich dann um nichts weiter kümmern. Im {{:projects:4e4th:4e4th:start:msp430g2553_experimente:mvi_0603.mov|Film}} sieht man das Stroboskop im Test. Das [[projects:4e4th:4e4th:start:msp430g2553_experimente:fStroboskop|Forth dafür]] kann man sich aus dem PWM-Beispiel machen. +Für das gebastelte Stroboskop habe ich mich für den TIP120 mit R an der Basis entschieden. Da muss ich mich dann um nichts weiter kümmern. Im folgenden kurzen Videoclip sieht man das Stroboskop im Test. Das [[projects:4e4th:4e4th:start:msp430g2553_experimente:fStroboskop|Forth dafür]] kann man sich aus dem PWM-Beispiel machen.  
 + 
 +{{:projects:4e4th:4e4th:start:msp430g2553_experimente:mvi_0603.webm|Clip vom Stroboskop}}
  
 ==== Schrittmotor ==== ==== Schrittmotor ====
Zeile 377: Zeile 398:
 {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:stepper-motor-control-circuit.jpg?200|Schaltplan Schrittmotor Treiber}} {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:steppermotordrivertestboard_smal.jpg?150|Testaufbau Schrittmotor Treiber}}Da wir offensichtlich etwas mehr Strom dafür benötigen als ein Port hergibt, muss wieder unser TIP120 ran. Damit lässt sich das schön schalten. Mit vier Stück davon und je einem Basiswiderstand ist schon alles aufgebaut, was man braucht, die Freilaufdiode ist bei diesem Darlington-Transistor nämlich schon eingebaut. Damit ich sehen kann, welcher Transistor gerade durchschaltet, wurde jedem eine LED spendiert. (Keine Sorge, das halten die aus an der 9V-Blockbatterie, weil die Spule schon einen Vorwiderstand von 45 Ohm darstellt, s.oben.) Das Ergebnis wurde in kurzen Videoclips festgehalten. {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:stepper-motor-control-circuit.jpg?200|Schaltplan Schrittmotor Treiber}} {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:steppermotordrivertestboard_smal.jpg?150|Testaufbau Schrittmotor Treiber}}Da wir offensichtlich etwas mehr Strom dafür benötigen als ein Port hergibt, muss wieder unser TIP120 ran. Damit lässt sich das schön schalten. Mit vier Stück davon und je einem Basiswiderstand ist schon alles aufgebaut, was man braucht, die Freilaufdiode ist bei diesem Darlington-Transistor nämlich schon eingebaut. Damit ich sehen kann, welcher Transistor gerade durchschaltet, wurde jedem eine LED spendiert. (Keine Sorge, das halten die aus an der 9V-Blockbatterie, weil die Spule schon einen Vorwiderstand von 45 Ohm darstellt, s.oben.) Das Ergebnis wurde in kurzen Videoclips festgehalten.
  
-{{:projects:4e4th:4e4th:start:msp430g2553_experimente:s0_wavedrive.mov|Wave Drive}} +{{:projects:4e4th:4e4th:start:msp430g2553_experimente:s0_wavedrive.webm|Wave Drive}} 
-{{:projects:4e4th:4e4th:start:msp430g2553_experimente:s2_fullstepdrive.mov|Full Step Drive}} +{{:projects:4e4th:4e4th:start:msp430g2553_experimente:s2_fullstepdrive.webm|Full Step Drive}} 
-{{:projects:4e4th:4e4th:start:msp430g2553_experimente:s3_halfstepdrive2.mov|Half Step Drive}}+{{:projects:4e4th:4e4th:start:msp430g2553_experimente:s3_halfstepdrive2.webm|Half Step Drive}}
  
 {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:440px-drive.png?200|drive modes}} {{ :projects:4e4th:4e4th:start:msp430g2553_experimente:440px-drive.png?200|drive modes}}
 Und hier ist mein [[projects:4e4th:4e4th:start:msp430g2553_experimente:Schrittmotor|Forthprogramm für den Schrittmotor]]. Damit werden in experimenteller Weise die Antriebe des [[http://en.wikipedia.org/wiki/Stepper_motor|Steppers]] realisiert, die im englischsprachigen Wikipedia erklärt sind. (Im deutschen Wiki war es leider nicht so verständlich dargelegt.)   Und hier ist mein [[projects:4e4th:4e4th:start:msp430g2553_experimente:Schrittmotor|Forthprogramm für den Schrittmotor]]. Damit werden in experimenteller Weise die Antriebe des [[http://en.wikipedia.org/wiki/Stepper_motor|Steppers]] realisiert, die im englischsprachigen Wikipedia erklärt sind. (Im deutschen Wiki war es leider nicht so verständlich dargelegt.)  
  
 +(Abb.: Misan2010 - Own work; CC BY 3.0; [[https://en.wikipedia.org/wiki/Stepper_motor#/media/File:Drive.png]])
  
  
Zeile 399: Zeile 421:
 Die Versuche zeigen auch, dass so ein Schrittmotor dazu da ist, ganze Schritte zu vollführen. Und in den Vollschrittpositionen stehen zu bleiben. Die Halbschritte sind nur dazu da, den Motor glatter drehen zu lassen, damit wird der wellige ruckelnde Verlauf gemildert. Halten sollte man in den Halbschrittpositionen aber nicht in echten Anwendungen. Halbe Positionen sind instabil, und wenn dort aktiv gehalten wird mit längeren Pulsen oder gar Dauerstrom, gehen die Spulen in die Ohmsche Betriebsart über, und werden heiß. In den vollen Schritten hingegen hält der Stepper passiv auch stromlos fest. Dazu sind sie gebaut. Die Versuche zeigen auch, dass so ein Schrittmotor dazu da ist, ganze Schritte zu vollführen. Und in den Vollschrittpositionen stehen zu bleiben. Die Halbschritte sind nur dazu da, den Motor glatter drehen zu lassen, damit wird der wellige ruckelnde Verlauf gemildert. Halten sollte man in den Halbschrittpositionen aber nicht in echten Anwendungen. Halbe Positionen sind instabil, und wenn dort aktiv gehalten wird mit längeren Pulsen oder gar Dauerstrom, gehen die Spulen in die Ohmsche Betriebsart über, und werden heiß. In den vollen Schritten hingegen hält der Stepper passiv auch stromlos fest. Dazu sind sie gebaut.
  
-Es gibt ausgefuchstere Steuerungen, um Schrittmotoren anzusteuern, und Bausteine die das unterstützen, [[http://www.ti.com/lit/ml/sprt527/sprt527.pdf|z.B. Piccolo Motor Control]]. Das herauszufinden überlasse ich aber eurem Spieltrieb. Hier ging es mir um ein grundlegendes Experiment, um die Arbeitsweise des Motörchens zu erkennen.+Es gibt ausgefuchstere Steuerungen, um Schrittmotoren anzusteuern, und Bausteinedie das unterstützen. Das herauszufinden überlasse ich aber eurem Spieltrieb. Hier ging es mir um ein grundlegendes Experiment, um die Arbeitsweise des Motörchens zu erkennen.
 ====== Einfache Forth-Programme für die Experimente ====== ====== Einfache Forth-Programme für die Experimente ======
  
projects/4e4th/4e4th/start/msp430g2553_experimente.1532334554.txt.gz · Zuletzt geändert: 2018-07-23 10:29 von mka