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?
Ü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 ...
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.
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.
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.
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
Niklas G. schrieb: > z.B. der allseits > beliebte STM32F407VG kann 28 synchronisierte PWMs erzeugen. Gut zu wissen.
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.
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?
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.
Ggf. Hilft dir eher so was: IR3599 https://www.infineon.com/cms/de/product/power/dc-dc-converters/low-voltage-gate-drivers/ir3599/
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.
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.
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.
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.
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
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...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.