Forum: Mikrocontroller und Digitale Elektronik µc synchronisieren


von Eric5 (Gast)


Lesenswert?

Hallo Leute, ich ganz neue in Elektronik, wie kann ich 2 µC 
synchronisieren(um PWM zu kontrolieren); wenn
A: gleiche Spg Versorgung haben?
B: verschieden Spg Versorgung?

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Einen µC mit genügend PWM-Kanälen wählen...

von M. K. (Gast)


Lesenswert?

Übersetzt:
Du möchtest taktsynchrone PWM auf zwei verschiedenen MCUs.

Also die beide aus dem selben Taktgeber zu versorgen wäre ein Anfang.
Aber auch dann müsste man auf beiden MCUs im selben Taktzyklus die PWM 
Timer starten. Ohne Hardwareunterstützung eher unwahrscheinlich.

Aber das klingt alles nach einem fetten Designfehler und ein schlechtes 
Design wird nicht besser wenn man da lange dran rumfriggelt, um die 
selbst auferlegten Probleme von hinten durch die Brust ins Auge zu 
lösen.

Das wird jetzt hier auseinandergenommen und keine der Antworten wird Dir 
gefallen.
Die die funktionieren wirst Du nicht umsetzen können, sofern denn 
überhaupt mehr kommt, als warum, wieso weshalb, erkläre ...

von Antonow B. (antonow)


Lesenswert?

Eric5 schrieb:
> kontrolieren

autsch

von tja (Gast)


Lesenswert?

Eric5 schrieb:
> A: gleiche Spg Versorgung haben?
> B: verschieden Spg Versorgung?

Was hat das mit dem eigentlich Problem zu tun?

Niklas G. schrieb:
> Einen µC mit genügend PWM-Kanälen wählen...

auch mein Vorschlag

M. K. schrieb:
> Also die beide aus dem selben Taktgeber zu versorgen wäre ein Anfang.

absolut notwendig, sonst laufen die PWMs auseinander

M. K. schrieb:
> Aber auch dann müsste man auf beiden MCUs im selben Taktzyklus die PWM
> Timer starten.

Könnte man über einer gemeinsamen Interruptleitung realisieren

M. K. schrieb:
> Aber das klingt alles nach einem fetten Designfehler und ein schlechtes
> Design wird nicht besser wenn man da lange dran rumfriggelt, um die
> selbst auferlegten Probleme von hinten durch die Brust ins Auge zu
> lösen.

Stimme ich zu, aber oft geht's halt nicht anders und man muss es 
trotzdem hinbekommen. Wir kennen die Rahmenbedingungen nicht.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

tja schrieb:
> M. K. schrieb:
>> Also die beide aus dem selben Taktgeber zu versorgen wäre ein Anfang.
>
> absolut notwendig, sonst laufen die PWMs auseinander

Reicht aber auch nicht, denn die Start-Zeit mehrerer µC kann trotzdem 
unterschiedlich sein.

Manche µC wie z.B. die STM32 können auf externe Trigger die Timer 
starten. Man könnte also bei jedem PWM-Puls des "Master"-µC einen 
eigenen PWM-Puls ausgeben. Dann hat man nur eine sehr kurze, von der 
Software unabhängige Verzögerung und es wird ständig neu synchronisiert, 
sodass auch ein Auseinanderlaufen der Taktgeber nicht schlimm wäre.

Aber wie gesagt, viel zu kompliziert, wahrscheinlich wäre es am 
Einfachsten einen großen µC mit genügend Kanälen zu wählen.

von M. K. (Gast)


Lesenswert?

Niklas G. schrieb:
> Reicht aber auch nicht, denn die Start-Zeit mehrerer µC kann trotzdem
> unterschiedlich sein.

Deswegen 'ein Anfang' ;-)
Ich habe das nicht wieter ausgeführt, weil auch ein gemeinsamer Reset 
keine Garantie ist das die zeitgleich starten und immer absolut synchron 
bleiben.

tja schrieb:
> Könnte man über einer gemeinsamen Interruptleitung realisieren
Wenn denn beide MCUs absolut gleich lange brauchen ihre jeweilige Arbeit 
zu unterbrechen, die Register zu retten, in die IRQ Routine zu springen, 
die Timer zu setzen und zu starten.

Niklas G. schrieb:
> Manche µC wie z.B. die STM32 können auf externe Trigger die Timer
> starten.
Das und der gemeinsame Takt, wäre auch die einzige Möglichkeit die mir 
gerade einfällt.
Aber da keine MCU vorgegeben wurde, vermute ich, es dreht sich um das 
vergurkte FDM Drucker E-Design aus einem anderen aktuellen Thread mit 
zwei Megas, ESP32 und Raspi die alle drunter und drüber 10Achsen steuern 
sollen.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

M. K. schrieb:
> Das und der gemeinsame Takt, wäre auch die einzige Möglichkeit die mir
> gerade einfällt.

Ich glaub den gemeinsamen Takt braucht es dann gar nicht mehr zwingend; 
wenn die Längen der PWM-Pulse ein paar Promille abweichen ist es nicht 
so schlimm, aber da ja die Starts aller PWM-Zyklen synchronisiert sind 
summiert sich der Fehler nicht auf, sodass die Phasen nicht auseinander 
laufen.

M. K. schrieb:
> Aber da keine MCU vorgegeben wurde, vermute ich, es dreht sich um das
> vergurkte FDM Drucker E-Design aus einem anderen aktuellen Thread mit
> zwei Megas, ESP32 und Raspi die alle drunter und drüber 10Achsen steuern
> sollen.

Frankensteindrucker? 10 oder 20 (für Schrittmotoren?) PWM-Kanäle mit 
einem einzelnen µC erzeugen ist ja kein Problem, z.B. der allseits 
beliebte STM32F407VG kann 28 synchronisierte PWMs erzeugen.

: Bearbeitet durch User
von M. K. (Gast)


Lesenswert?

Niklas G. schrieb:
> z.B. der allseits
> beliebte STM32F407VG kann 28 synchronisierte PWMs erzeugen.

Gut zu wissen.

von Eric5 (Gast)


Lesenswert?

Vielen Dank für Infos.

ich habe 2 Hardware mit gleiche funktionalität, ein für links und ein 
für recht. ich möchte die beide synchronisieren. ich brauche nur 
allgemeine vorgehensweise.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Eric5 schrieb:
> ich brauche nur
> allgemeine vorgehensweise.

Was gefällt dir daran nicht:

Niklas G. schrieb:
> Manche µC wie z.B. die STM32 können auf externe Trigger die Timer
> starten. Man könnte also bei jedem PWM-Puls des "Master"-µC einen
> eigenen PWM-Puls ausgeben

Eric5 schrieb:
> ich habe 2 Hardware mit gleiche funktionalität, ein für links und ein
> für recht.

Warum nicht eine Hardware für beides?

von Johannes S. (Gast)


Lesenswert?

Eric5 schrieb:
> ich brauche nur
> allgemeine vorgehensweise.

gibt es nicht weil es keine allgemeine Hardware gibt. Die eine HW kann 
man synchronisieren, die andere nicht.

von No Y. (noy)


Lesenswert?


von Degus (Gast)


Lesenswert?

Eric5 schrieb:
> Vielen Dank für Infos.
>
> ich habe 2 Hardware mit gleiche funktionalität, ein für links und ein
> für recht. ich möchte die beide synchronisieren. ich brauche nur
> allgemeine vorgehensweise.

Duden.

von Fake (Gast)


Lesenswert?

Also für mich ist das glasklar ein Trollbeitrag.

von Stefan F. (Gast)


Lesenswert?

Eric5 schrieb:
> ich habe 2 Hardware mit gleiche funktionalität, ein für links und ein
> für recht. ich möchte die beide synchronisieren.

Geht es um Motoren?

Falls ja: Dann brauchst du eine richtige Positionsregelung. Gleiche PWM 
Werte genügen nicht, die Motoren laufen dann noch lange nicht gleich.

von Udo S. (urschmitt)


Lesenswert?

Eric5 schrieb:
> ich brauche nur allgemeine vorgehensweise.

Allgemein gesagt müssen die beide gleichzeitig ihre PWM Stoppuhr 
starten.

Stefan ⛄ F. schrieb:
> Falls ja: Dann brauchst du eine richtige Positionsregelung. Gleiche PWM
> Werte genügen nicht, die Motoren laufen dann noch lange nicht gleich.

Ich ahne auch schon, dass genau das das eigentliche Problem ist. 
Wahrscheinlich gehts darum, dass eine Hebebühne oder sonstige Mechanik 
gleichmäßig hoch und runterfährt.

von Peter D. (peda)


Lesenswert?

Eric5 schrieb:
> ich brauche nur
> allgemeine vorgehensweise.

Die gibt es nicht. Wenn Du ein konkretes Problem hast, brauchst Du eine 
konkrete Lösung. Beschreibe also das konkrete Problem.
Einfach nur "PWM" in den Raum zu schmeißen sagt einem Außenstehenden 
überhaupt nichts. Auch kennen wir nicht Deine Anforderungen (Auflösung, 
Delay, Jitter, Drift).

Allgemein synchronisiert man mehrere CPUs auf Taskebene. Der Master 
sendet zyklisch ein Sync-Kommando und die Slaves stellen damit ihre 
Systemzeit. Problematisch kann dabei sein, daß Ticks doppelt sind oder 
verloren gehen können.

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


Lesenswert?

Peter D. schrieb:
> Wenn Du ein konkretes Problem hast, brauchst Du eine
> konkrete Lösung. Beschreibe also das konkrete Problem.

Endlich sagt es mal jemand.

Ich habe bisher noch keinen Grund gehört, warum man die PWM überhaupt 
synchronisieren müßte. Jede Wette, daß das eigentliche Problem noch gar 
nicht verstanden wurde.

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Stefan ⛄ F. schrieb:
> Falls ja: Dann brauchst du eine richtige Positionsregelung. Gleiche PWM
> Werte genügen nicht, die Motoren laufen dann noch lange nicht gleich.

 Wieder mal falsch.
 Ist doch überhaupt kein Problem:
 Nach deiner (und noch ein paar anderer Spezialisten) Meinung, braucht
 man nur eine PWM mit Duty von 0% oder 100% zu erzeugen.
 Und plötzlich ist Synchronisation überhaupt kein Problem mehr - das
 Ganze funktionert garantiert auf einer beliebigen Frequenz zwischen
 1Hz und etwa 100GHz und kann auf 1ps genau synchronisiert werden...

von Stefan F. (Gast)


Lesenswert?

Marc V. schrieb:
> Nach deiner (und noch ein paar anderer Spezialisten) Meinung, braucht
> man nur eine PWM mit Duty von 0% oder 100% zu erzeugen.
> Und plötzlich ist Synchronisation überhaupt kein Problem mehr

Da hast du mich aber mal wieder völlig falsch verstanden. Ich schrieb 
und meinte das auch so:

> Gleiche PWM Werte genügen nicht, die Motoren laufen dann noch
> lange nicht gleich.

Da liegt (mal wieder) ein extremes Missverständnis vor.

Unabhängig davon: Hast du auch etwas sinnvolles beizutragen?

Mir scheint wiederholt, dass du hauptsächlich (vermeintlich) fehlerhafte 
Aussagen anprangerst anstatt anderen Leuten helfen zu wollen. Mir 
persönlich gefällt das gar nicht.

von logarithmus naturalis (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Mir scheint wiederholt, dass du hauptsächlich (vermeintlich) fehlerhafte
> Aussagen anprangerst anstatt anderen Leuten helfen zu wollen. Mir
> persönlich gefällt das gar nicht.

Sowie sich dann aufregen wenn er Minus kassiert.

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.