Forum: Analoge Elektronik und Schaltungstechnik Wie kann man ein PWM Signal um 90 Grad vershieben softwaremäßig (Micropython )


von Linda (Gast)


Lesenswert?

Hallo,

Hat jemand eine Idee wie kann ich ein PWM Signal um 90 Grad vershieben 
softwaremäßig ?
Ich arbeite auf raspberry pi pico 2040 und programmiere auf Micropython.

Vielen Dank im voraus

von 🕵︎ Joachim L. (Gast)


Lesenswert?

Linda schrieb:
> Hallo,
>
> Hat jemand eine Idee wie kann ich ein PWM Signal um 90 Grad vershieben
> softwaremäßig ?
> Ich arbeite auf raspberry pi pico 2040 und programmiere auf Micropython.
>
> Vielen Dank im voraus

Das ist ein Rechtecksignal. Hier geht es um Timing, nicht um Grad (wie 
z.B. bei enem Sinussignal). Fuer exaktes Timing auf dem Pi Pico benutzt 
du besser PIO.
Hier geht es weiter: https://github.com/search?q=pi+pico+pio+programming

von Michael D. (nospam2000)


Lesenswert?

Linda schrieb:
> Hat jemand eine Idee wie kann ich ein PWM Signal um 90 Grad vershieben
> softwaremäßig ?

Verschieben zu welcher Referenz, d.h . wodurch werden 0° definiert?

Prinzipiell kannst du das Signal nur um eine Zeit verschieben. Um diese 
Zeit zu berechnen benötigst du eine Frequenz und eine 0° Phase als 
Referenz.

Wenn das original-Signal die 0° Referenz darstellt, dann benötigst du 
noch die Frequenz.

90° sind 360°/4, d.h. die Zeit ergibt sich zu T/4 mit T=1/f.

  Michael

von Norbert (der_norbert)


Lesenswert?

Linda schrieb:
> Hat jemand eine Idee wie kann ich ein PWM Signal um 90 Grad vershieben
> softwaremäßig ?

Ja klar, da gibt es bestimmt viele wunderbare Menschen mit vielen 
wunderbaren Ideen. Aber die müssten wissen ob es plus oder minus neunzig 
Grad sein sollen.

> Ich … programmiere auf Micropython.

Das finde ich spannend. Wie kommt man denn da drauf? Ist es sehr hoch? 
Erreicht man das mit einer Leiter? Zumindest halb, mit 'ner Halbleiter?

von Motopick (motopick)


Lesenswert?

> wie kann ich ein PWM Signal um 90 Grad vershieben

Das ist doch nun einfach:
Mit einer passend gestarteten zweiten PWM.

von Linda (Gast)


Lesenswert?

Vielen Dank für ihre Antworten.
Ich habe einen Timer implementiert Timer.One_Shot mit period = 1/4*f 
aber wie kann ich das zweite Pwm Signal in dieser Zeit erzwingen 
anzufangen ?

von Max M. (Gast)


Lesenswert?

Linda schrieb:
> wie kann ich das zweite Pwm Signal in dieser Zeit erzwingen
> anzufangen ?

Weg von der Hochsprache und mit der HW beschäftigen.
Deine Python Anweisung tut irgendwas zu irgendeiner Zeit.
Kontrolle über exaktes Timing bekommst du so nicht.
Beschäftige Dich mit den PIO des RP2040, die sich ausschliesslich in ASM 
programmieren lassen.

von Norbert (der_norbert)


Lesenswert?

Im Datenblatt ist präzise beschrieben wie man eine Phasenverschiebung 
bewerkstelligen bzw. einstellen kann.
Und selbstverständlich kann man das auch mit ›normalen‹ MicroPython 
Instruktion erreichen und muss für solche simplen Dinge die PIO gar 
nicht bemühen. (Man kann die PIO aber hervorragend für eine Messung der 
Phase bzw. deren automatische Anpassung nutzen)

Beitrag #7383443 wurde vom Autor gelöscht.
von C-hater (c-hater)


Lesenswert?

Norbert schrieb:

> Im Datenblatt ist präzise beschrieben wie man eine Phasenverschiebung
> bewerkstelligen bzw. einstellen kann.

Tatsächlich? Zeig' mal.

> Und selbstverständlich kann man das auch mit ›normalen‹ MicroPython
> Instruktion erreichen

Tatsächlich? Zeig' mal.

Mal ganz abgesehen davon, dass schon die Aufgabe einigermaßen trollig 
suspekt erscheint. Wozu sollte eine derartige Phasenverschiebung 
überhaupt nützlich sein? Mir fällt da echt nichts ein.

180°, ja. Das kann tatsächlich gelegentlich nützlich sein. Aber 90°? 
Wozu, zum Teufel, soll das jemals gut sein?

von Falk B. (falk)


Lesenswert?

Max M. schrieb:
> Weg von der Hochsprache und mit der HW beschäftigen.
> Deine Python Anweisung tut irgendwas zu irgendeiner Zeit.
> Kontrolle über exaktes Timing bekommst du so nicht.
> Beschäftige Dich mit den PIO des RP2040, die sich ausschliesslich in ASM
> programmieren lassen.

Unsinn! Man kann einfach zwei PWM mit zwei getrennten Timern erzeugen, 
dann geht das mit der Phasenverschiebung spielend. Auch in Phyton, wenn 
man weiß was man tut.

von Max M. (Gast)


Lesenswert?

Falk B. schrieb:
> Unsinn!
Dir auch einen schönen Abend.
Interessanter wäre nun wie man das in Python tut was Linda will.
Zeig doch mal bitte, da Du es zu wissen scheinst.
Ist das dann so ungefähr 90° mit enormen Jitter oder kommt da ein 
exaktes Timing raus?

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

C-hater schrieb:

> 180°, ja. Das kann tatsächlich gelegentlich nützlich sein. Aber 90°?
> Wozu, zum Teufel, soll das jemals gut sein?

Quadratursignal, siehe Inkrementalgeber.

Grüßle,
Volker

von Norbert (der_norbert)


Lesenswert?

C-hater schrieb:
> Norbert schrieb:
>> Im Datenblatt ist präzise beschrieben wie man eine Phasenverschiebung
>> bewerkstelligen bzw. einstellen kann.
>
> Tatsächlich? Zeig' mal.

Gut, ich muss gestehen das ich hier mit extremen Werkzeugen arbeite. 
Mein PDF Viewer zB. kann beim Datenblatt auf der linken Seite eine Liste 
anbieten. Da kann ich dann auf PWM klicken und - es grenzt an Magie - 
man kann dann alles auf der rechten Seite lesen. OK, man muss lesen … 
und verstehen. (v1.8 Kap.4.5 S.523 und weitere…)

> Norbert schrieb:
>> Und selbstverständlich kann man das auch mit ›normalen‹ MicroPython
>> Instruktion erreichen
>
> Tatsächlich? Zeig' mal.

Gut, ich muss gestehen das ich hier mit extremen Werkzeugen arbeite. 
Mein lokal installierter Webserver stellt ua. die komplette 
Dokumentation zu MikroPython zur Verfügung. Da kann ich auf der linken 
Seite zB. auf MicroPython-specific libraries klicken und finde - es 
grenzt an Magie - das machine Modul. Darin mem8/16/32.

von Axel S. (a-za-z0-9)


Lesenswert?

Volker B. schrieb:
> C-hater schrieb:
>
>> 180°, ja. Das kann tatsächlich gelegentlich nützlich sein. Aber 90°?
>> Wozu, zum Teufel, soll das jemals gut sein?
>
> Quadratursignal, siehe Inkrementalgeber.

Wofür braucht man da ein PWM-Signal?

von Rainer W. (rawi)


Lesenswert?

Linda schrieb:
> Hat jemand eine Idee wie kann ich ein PWM Signal um 90 Grad vershieben
> softwaremäßig ?

Welcher Frequenzbereich und wieviel Phasenjitter ist tolerierbar?

von Falk B. (falk)


Lesenswert?

Max M. schrieb:
>> Unsinn!
> Dir auch einen schönen Abend.
> Interessanter wäre nun wie man das in Python tut was Linda will.
> Zeig doch mal bitte, da Du es zu wissen scheinst.

RTFM! RP2040 Datasheet

"4.5.2.8. On-the-fly Phase Adjustment

For some applications it is necessary to control the phase relationship 
between two PWM outputs on different slices. The global enable register 
EN contains an alias of the CSR_EN flag for each slice, and allows 
multiple slices to be started and stopped simultaneously. If two slices 
with the same output frequency are started at the same time, they will 
run in perfect lockstep, and have a fixed phase relationship, determined 
by the initial counter values.

The CSR_PH_ADV and CSR_PH_RET fields will advance or retard a slice’s 
output phase by one count, whilst it is running. They do so by inserting 
or deleting pulses from the clock enable (the output of the clock 
divider), as shown in Figure 113."

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Axel S. schrieb:

>> Quadratursignal, siehe Inkrementalgeber.
>
> Wofür braucht man da ein PWM-Signal?

...um einen solchen zu simulieren? Sorry, meine Glaskugel ist gerade 
etwas angestaubt und ich kann in den Kopf der/des TO momentan nicht 
hineingucken.

Grüßle,
Volker

von Axel S. (a-za-z0-9)


Lesenswert?

Volker B. schrieb:
> Axel S. schrieb:
>
>>> Quadratursignal, siehe Inkrementalgeber.
>>
>> Wofür braucht man da ein PWM-Signal?
>
> ...um einen solchen zu simulieren?

Ich wiederhole meine Frage: wofür braucht man da ein PWM-Signal?
Ein Rechtecksignal, keine Frage. Aber PWM?

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Axel S. schrieb:

> Ich wiederhole meine Frage: wofür braucht man da ein PWM-Signal?
> Ein Rechtecksignal, keine Frage. Aber PWM?

Ich kann leider auch nur wiederholen: Ich bin nicht die/der TO und kann 
also nur für mich sprechen. Auf dem ATxmega kann man sehr einfach 
phasenstarr gekoppelte Rechtecksignale über Timer im PWM-Modus erzeugen, 
die sich gegenseitig über das Eventsystem triggern. Aber, wie gesagt, 
frag' doch besser die/den TO, denn ich kann wirklich nicht in diesen 
Kopf gucken.

Grüßle,
Volker

von Mnax (moriz996)


Lesenswert?

Hilbert filter?

von Jens G. (jensig)


Lesenswert?

Volker B. schrieb:
> Axel S. schrieb:
>
>> Ich wiederhole meine Frage: wofür braucht man da ein PWM-Signal?
>> Ein Rechtecksignal, keine Frage. Aber PWM?
>
> Ich kann leider auch nur wiederholen: Ich bin nicht die/der TO und kann
> also nur für mich sprechen. Auf dem ATxmega kann man sehr einfach
> phasenstarr gekoppelte Rechtecksignale über Timer im PWM-Modus erzeugen,
> die sich gegenseitig über das Eventsystem triggern. Aber, wie gesagt,
> frag' doch besser die/den TO, denn ich kann wirklich nicht in diesen
> Kopf gucken.

Warum soll er die/den TO fragen? Du hast doch Quadratursignal und 
Inkrementalgeber in Zusammenhang mit PWM ins Spiel gebracht ...

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Jens G. schrieb:

> Warum soll er die/den TO fragen? Du hast doch Quadratursignal und
> Inkrementalgeber in Zusammenhang mit PWM ins Spiel gebracht ...

...und auch beantwortet, wie ich mittels Timern im PWM-Modus 
phasenstarre Rechtecksignale erzeuge.

Grüßle,
Volker

von -gb- (Gast)


Lesenswert?

🕵︎ Joachim L. schrieb:
> Das ist ein Rechtecksignal. Hier geht es um Timing, nicht um Grad (wie
> z.B. bei enem Sinussignal).
Korrektur: Ein digitales Signal ist nur eine dreduzierte Form eines 
analogen Signals. Alles, was für analoge Signale gilt, kann man auf 
digitale auch anwenden.

Michael D. schrieb:
> Verschieben zu welcher Referenz, d.h . wodurch werden 0° definiert?
Die Frage stellt sich generell und im Analogen noch viel mehr,da dort 
ein komplizierteres Frequenzgemisch vorliegen kann, während bei 
Rechtecken nur ungerade ganzzahlige Oberwellen der maximalen Frequenz 
der Grundwelle enthalten sind, die selber wieder ganzzahlige Bruchteile 
des Taktes sind.

Üblicherweise sind digitale PWM streng synchron getaktet, damit liegt 
die Frequenz und die Phasenvorgabe vor.

Lösung: Man falte das Signal zweimal mit sich selber, erhalte die 4 
fache Frequenz als Grundwelle und filtere alles darüber weg. Mit einer 
digitalen PLL geht das in 2 EXOR + FFs, sowie einem breiten Oder-Gatter.

Dieser 4-fache Takt wird benutzt, um die eingelesene PWM mit einem FF zu 
verzögern.

Fertig ist die Laube.

von 🕵︎ Joachim L. (Gast)


Lesenswert?

Georg B. schrieb:
>> Das ist ein Rechtecksignal. Hier geht es um Timing, nicht um Grad (wie
>> z.B. bei enem Sinussignal).
> Korrektur: Ein digitales Signal ist nur eine dreduzierte Form eines
> analogen Signals. Alles, was für analoge Signale gilt, kann man auf
> digitale auch anwenden.

Im Prinzip ja, aber leider gibt es Unterschiede z.B. was wenn auf die 
abfallende Flanke getriggert wird? Wie machste das dann mit deinen 90 
Grad? Uebers Timing ist genau, deine Annahme nicht.

von Stefan F. (Gast)


Lesenswert?

C-hater schrieb:
> 180°, ja. Das kann tatsächlich gelegentlich nützlich sein. Aber 90°?
> Wozu, zum Teufel, soll das jemals gut sein?

Zum Beispiel, um einen Stepper-Motor anzusteuern.

von Stefan F. (Gast)


Lesenswert?

Ich glaube, Linda will uns nur mit unsinnigen Fragen beschäftigen, die
sie selbst gar nicht ernst meint. Inzwischen wurde ihr Account gelöscht. 
Wir verschwenden hier nur unsere Zeit.

Siehe auch ihr parallel-Thread: 
Beitrag "Zwei um 90 Grad vershobenen Sinussignaale mit Micropython"

von Norbert (der_norbert)


Lesenswert?

Stefan F. schrieb:
> Ich glaube, Linda will uns nur mit unsinnigen Fragen beschäftigen, die
> sie selbst gar nicht ernst meint. Inzwischen wurde ihr Account gelöscht.
> Wir verschwenden hier nur unsere Zeit.

Hatte ich schon im ersten Thread recht nahe am Anfang deutlich gemacht. 
Allerdings gab es eine Anzahl ›Spezialisten‹ welche dies nicht sahen.
Oder sehen wollten, wohl aus Beschützerinstinkt. ;-)

von C-hater (c-hater)


Lesenswert?

Stefan F. schrieb:

> Ich glaube, Linda will uns nur mit unsinnigen Fragen beschäftigen, die
> sie selbst gar nicht ernst meint.

Natürlich war das ein typischer Traffic-Troll.

> Inzwischen wurde ihr Account gelöscht.

"Es" (wahres Geschlecht unbekannt und auch unerheblich) wird bald einen 
neuen anlegen und wieder ähnlichen Scheiß verzapfen. Sind halt geistig 
Kranke, die sowas machen. Und es scheint eine gewisse Abhängigkeit, 
ähnlich wie bei Drogen, zu bestehen. D.h.: die wird man nicht los, die 
kommen immer wieder.

Ich habe eine KI laufen, die solche Postings erkennt. Allerdings ist die 
KI meist nicht cleverer als ich selber. Nunja, ich habe sie trainiert, 
was will man da erwarten. Aber es gab auch schon einige Fälle mit 
wirklich neuen Traffic-Trolls, da hat die KI sofort gewarnt, ich selber 
habe es aber nicht auf Anhieb erkannt (im weiteren Verlauf des Threads 
dann allerdings schon, i.d.R. entlarvt schon die erste Antwort des TO 
die Sache ziemlich zweifelsfrei, das wissen auch die Trolle und 
verzögern sie deshalb gerne oder vermeiden es überhaupt, eine zu geben).

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Trink einfach 🍒saft, das hilft.

von -gb- (Gast)


Lesenswert?

🕵︎ Joachim L. schrieb:
> Wie machste das dann mit deinen 90
> Grad?

Mit 90° bekommt man alle Phasen, die fürs IQ-Falten, Verschieben und 
Invertieren nötig sind.

>Uebers Timing ist genau, deine Annahme nicht.
Wie meinen?

von Norbert (der_norbert)


Lesenswert?

Falls es sich noch nicht herumgesprochen hat:
Das Ding hier war vom ersten Moment an ein schlecht gemachter 
Trollversuch.
OK, nicht ganz schlecht gemacht, eine stattliche Anzahl ›Spezialisten‹ 
konnten ihre reflexartigen Triebe^H^H Beschützerinstinkte nicht im Zaum 
halten wie man weiter oben sehen kann.

Das Thema ist beerdigt, der Account ist gelöscht, der Papagei ist tot!

von Peter D. (peda)


Lesenswert?

Linda schrieb:
> Hat jemand eine Idee wie kann ich ein PWM Signal um 90 Grad vershieben
> softwaremäßig ?

Eine PWM hat keinen Winkel, also läßt sich auch nichts verschieben.
Eine PWM dient dazu, eine sich langsam ändernde Gleichspannung zu 
erzeugen, diese entspricht dem Mittelwert der PWM.

von Falk B. (falk)


Lesenswert?

Peter D. schrieb:
>> Hat jemand eine Idee wie kann ich ein PWM Signal um 90 Grad vershieben
>> softwaremäßig ?
>
> Eine PWM hat keinen Winkel, also läßt sich auch nichts verschieben.

Aber sicher, spätestens wenn zwei PWM-Kanäle parallel laufen. Und selbst 
wenn nur ein Kanal ohne Zeitreferenz läuft, kann man bei den meisten 
Controllern zwischen Single Slope und Dual Slope Operation wählen. Das 
bewirkt, daß der Pulsanfang (Single Slope) oder die Pulsmitte (Dual 
Slope) im Zeitraster konstant liegen. Bei speziellen Anwendungen ist das 
wichtig, z.B. wenn man mit einem PWM-Signal sowohl das Tastverhältnis 
als auch die Taktfrequenz bzw. Phase zur Informationsübertragung nutzt. 
Hab ich mal in einer Anwendung getan. Eine PLL (4046) synchronisiert 
sich auf ein 24kHz PWM-Signal, gleichzeitig wird mittels der PWM ein 
Sollwert übertragen.

> Eine PWM dient dazu, eine sich langsam ändernde Gleichspannung zu
> erzeugen, diese entspricht dem Mittelwert der PWM.

Das ist korrekt, aber nicht vollständig.

von Falk B. (falk)


Lesenswert?

Norbert schrieb:
> OK, nicht ganz schlecht gemacht, eine stattliche Anzahl ›Spezialisten‹
> konnten ihre reflexartigen Triebe^H^H Beschützerinstinkte nicht im Zaum
> halten wie man weiter oben sehen kann.

Kann man das? Wo denn?

von Thomas (emil99)


Lesenswert?

Hallo zusammen,
habe zwar keine Lösung - aber eine ähnliche Herausforderung:

3 Rechtecksignale, jeweils um 120° verschoben. So wie Drehstrom - nur 
eben als Rechteck. Und wenn das ginge, dann noch mit PWM.

Frequenz? Von 1 Hz bis ca 50 Hz.

Ich würde damit gerne Optokoppler ansteuern.

Wofür ich das benötiger: Einen Labortest im Bereich Antriebstechnik.

Seite 525 des 2030 Datasheets habe ich gefunden - und versuche gerade 
das zu verstehen. Phase-Retard dürfte der Schlüssel sein.

Wäe bei meiner niedigen Frequenz MicoPython verwendbar?

Danke und Gruß
Emil

von Norbert (der_norbert)


Lesenswert?

Thomas schrieb:
> Phase-Retard dürfte der Schlüssel sein.
>
> Wäe bei meiner niedigen Frequenz MicoPython verwendbar?

PWM beim RP2040 startet bei ~7.5Hz, da TOP 16bit und DIV 8bit haben.
(125MHz ÷ 2^24)

Mach' es dir leicht und nutze den PIO-ASM, da hast du volle Kontrolle 
und volle Freiheit.

Edit:
Ganz vergessen, natürlich geht das problemlos mit MicroPython. Bei allen 
Frequenzen.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Thomas schrieb:
> 3 Rechtecksignale, jeweils um 120° verschoben. So wie Drehstrom - nur
> eben als Rechteck. Und wenn das ginge, dann noch mit PWM.
>
> Frequenz? Von 1 Hz bis ca 50 Hz.

Nimm einen Takt mit der 6-fachen Frequenz, einen Zähler, der von 0 bis 5 
zählt und eine Tabelle, über die deine drei Signale kodiert werden. 
Damit bekommst du deine drei Signale mit 50% Tastverhältnis.
Für PWM brauchst du einen entsprechend der gewünschten Auflösung höheren 
Basistakt.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Thomas schrieb:
> Hallo zusammen,
> habe zwar keine Lösung - aber eine ähnliche Herausforderung:
>
> 3 Rechtecksignale, jeweils um 120° verschoben. So wie Drehstrom - nur
> eben als Rechteck. Und wenn das ginge, dann noch mit PWM.

Dazu muss man halt die PWM-Ausgänge passen konfigurieren. Das geht in 
praktisch jeder Programmiersprache.

> Frequenz? Von 1 Hz bis ca 50 Hz.

Schnarchlangsam.

> Wäe bei meiner niedigen Frequenz MicoPython verwendbar?

Siehe oben. Wenn die PWM-Frequenz zu niedrig ist, um sie per Hardware zu 
erzeugen, kann man auch Soft-PWM benutzen. GGf. sogar in der 
Hipstersprache MicroPhyton, wenn gleich das überproportional 
Hardwareleistung frisst. Aber was solls, ist eh nur ein Testaufbazú.

Norbert schrieb:
> PWM beim RP2040 startet bei ~7.5Hz, da TOP 16bit und DIV 8bit haben.
> (125MHz ÷ 2^24)

Man kann die CPU auch langsamer takten.

> Mach' es dir leicht und nutze den PIO-ASM, da hast du volle Kontrolle
> und volle Freiheit.

Witzbold! Als ob die Programmierung der PIO-ASM mal eben so gemacht ist! 
Da würde ich dreimal eher auf Spft-PWM gehen. Oder einfach den Pico 
weglegen und einen Arduino MEGA nehmen, der kann das ohne Handstände 
problemlos, auch mit 1 Hz! Der hat massenhaft Timer, die auch dreiphasig 
arbeiten können.

von Norbert (der_norbert)


Lesenswert?

Falk B. schrieb:
> Man kann die CPU auch langsamer takten.

Jetzt hör aber auf … das geht? So etwas geht? Ich bin über alles Grenzen 
menschlichen Vorstellungsvermögens hinaus gleichermaßen sprachlos und 
entsetzt.
Geht das etwa mit: machine.freq(n)?
Du meine Güte, man lernt ja jeden Tag etwas Neues hinzu.
Demnächst kommt jemand und erzählt man könnte GPIOs umschalten… ;-)

Falk B. schrieb:
> sogar in der
> Hipstersprache MicroPhyton, wenn gleich das überproportional
> Hardwareleistung frisst.

Das muss man selbstverständlich in Maschinensprache programmieren, damit 
die beiden CPUs später zu 99.9% im Leerlauf sind und nicht nur zu 99%.

: Bearbeitet durch User
von Thomas (emil99)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
schlussendlich hab ich mir zum Ausprobieren wegen der Papierform einen 
Nucleo-F446RE besorgt. 3 PWM Signale mit fester Phasenverschiebung 
zueinander bei 100Hz (fest) waren realisierbar - und zwar so:
90MHz Sys Clock eingestellt
Timer - setting (Abweichung von default):
Prescaler auf 89 -> 1 Mhz runterteilen
Counter Period/AutoReload auf 9999 -> 100Hz
Trigger Event Selection auf Output compare
PWM-Generation Channel1:
PWM Channel 1 Pulse auf 3000 -> ergibt 30% DutyCycle
Output Compare: Active Level on match
Pulse -> 3333 : Das wirft den nächsten Timer nach 33% der Periodenzeit 
an und erzeugt so eine 120° Phasenverschiebung für das nächste Signal.
Time  2 genauso konfiguriert, Timer 3 etwas simpler,  da der keinen 
Nachfolger hat.
Die Signale kann ich an PA8 (=TIM1), PA0 (=TIM2) und PA6 (=Tim3) 
abgreifen.
Funktioniert.
So soll es weitergehen (ich wühle aktuell das Refence Manual der CPU 
durch…):
2 Drehencoder über die Funktion  Timer Encoder Mode einbinden und mit 
den zur Verfügung gestellten Ergebnissen
1.  Die Frequenz – also den Wert des Counter Period/Autoreload für 
TIM1-3
2.  Das Tastverhältnis -  also den Wert in PWM Channel1 Pulse für TIM1-3
beeinflussen.

Hat sowas schonmal jemand gemacht? Bitte um Tipps!!
Vor über 30 Jahren hab ich das letzte Mal C Programmiert (Lattic-C….) – 
und da bin ich mich aktuell am „Wiedereingliedern“.
Danke und Gruß
Emil

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.