| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
| projects:4e4th:4e4th:start:msp430g2553_experimente [2018-07-24 01:55] – [Stroboskop] mka | projects:4e4th:4e4th:start:msp430g2553_experimente [2025-08-16 16:20] (aktuell) – [Schrittmotor] Bildquelle angegeben, wiki, CC. mka |
|---|
| {{ :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)) |
| 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. |
| 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? |
| 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| |
| ==== 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 |
| 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 |
| ===== 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.webm|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}} |
| 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. |
| 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. |
| 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 |
| |
| |
| 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]]) |
| |
| |
| 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 Bausteine, die 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 ====== |
| |