Ich baue ein Motortreiberschild für den Arduino. Hier ist der Schaltplan (bitte verzeihen Sie das chaotische Layout):
Und hier ist das PCB-Layout:
Ich teste es, indem ich es mit einem Steckbrett verbinde, während ich auf der MCU ein einfaches Verfahren „5 Sekunden lang laufen lassen und dann umkehren“ ausführe, und ich habe einige seltsame Probleme mit dem Entkoppeln von Kondensatoren. Wenn ich sie auslasse, stottert der Motor, anstatt sich reibungslos zu bewegen, vermutlich weil die Stromschiene des Motors abfällt. Ich legte einen 100-uf-Elektrolytkondensator darüber (auf der Platine gezeigt), und es begann reibungslos zu laufen.
Jetzt kehrt der Motor jedoch scheinbar zufällig um, ich nehme an, dass die MCU aus dem einen oder anderen Grund zurückgesetzt wird. Nach dem Mantra "Mehr Kapazität ist besser" installierte ich die zweite Elektrolytkappe zwischen den 5-V- und Erdungsschienen. Jetzt sind wir seltsamerweise wieder bei Schritt 1: Der Motor stottert.
Schließlich fügte ich eine dritte 0,1-uf-Keramikkappe über den Motoranschlüssen hinzu. Plötzlich ist alles in Ordnung: Der Motor läuft rund, und er reversiert, wenn er soll.
Der Schild von Adafruit scheint das Problem zu lösen, indem er einfach viele Kappen, sowohl Elektrolyt- als auch Keramikkappen, auf das Problem wirft. Wie Sie sehen können, habe ich leider nur begrenzt Platz auf der Leiterplatte, daher kann ich mir das nicht leisten. Ich könnte den Cargo-Cult-Ansatz verfolgen und sagen "es funktioniert jetzt, großartig" und aufhören, aber ich würde lieber verstehen, was es ist, das jedes dieser Symptome verursacht hat, und was ich tun sollte, um sicherzustellen, dass sie nicht auf dem auftreten echtes Brett.
Die erste Antwort auf diese Frage beantwortet die meisten meiner offensichtlichen Fragen zur Kapazität, aber ich habe noch ein paar verbleibende:
Bearbeiten: Ich habe den Schaltplan und das PCB-Layout mit den vorgeschlagenen Positionen der Kappen aktualisiert, basierend auf den Ratschlägen derjenigen, die freundlich genug sind, um meine Frage zu beantworten.
Alle digitalen ICs sollten Entkopplungskappen zwischen ihren Strom- und Massestiften haben. Diese sollten aus Keramik sein und physikalisch so nah wie möglich am IC sein. Sie möchten die Schleifenlänge vom Stromversorgungsstift über die Kappe zum Erdungsstift durch den IC und zurück zum Stromversorgungsstift minimieren.
Entkopplungskappen befassen sich mit kurzfristigen Stromspitzen, die der IC zieht. Sie müssen daher hochfrequent sein. Eine große Kapazität ist nicht erforderlich, und da große Kondensatoren normalerweise einen schlechten Hochfrequenzgang haben, sind sie schlechter. Eine 100-µF-Elektrolytkappe ist zum Entkoppeln ziemlich nutzlos. 1µF bis 100nF Keramik ist gut.
Was die Kappe am Motor betrifft, ist die Idee gut, aber ich denke, 100 nF sind zu groß. Dies könnte dazu führen, dass bei jedem Schalten übermäßiger oder unnötiger Strom in der H-Brücke fließt. Wenn Sie die Motorrichtung nur gelegentlich umkehren, ist dies keine große Sache. Wenn Sie die H-Brücke verwenden, um den scheinbaren Motorantrieb mit PWM zu modulieren, sollten Sie die Kappe senken. Etwas wie 1 nF sollte immer noch die Geräusche des Motors reduzieren, ohne das Schalten zu behindern.
Es liegt nicht daran, dass das Entfernen von Kappen keine Auswirkung zu haben scheint, dass Sie sie nicht verwenden sollten. Es kann jetzt funktionieren, aber nicht in einer Stunde oder so.
Die Prinzipien sind
Lohnt es sich, dieselbe Störquelle zweimal über unterschiedliche Komponenten zu entkoppeln? Höchstwahrscheinlich ja, Sie können nicht zu viel entkoppeln. Ich erinnere mich an das Design eines Kollegen, bei dem die Hälfte der Komponenten (etwa 200) Entkopplungskondensatoren waren.
Ich würde dem Ansatz mit einem Ziel folgen: Minimieren Sie die Fläche für jede Wechselstromschleife, die mit Stromleitungen (Vcc und Masse) gekoppelt ist.
Effektiv verkürzt dies den Strompfad, um Spannungsabfall und Spitzen zu minimieren, die durch die Leitungsinduktivität verursacht werden, und isoliert max(dI/dt)-Stromschleifen voneinander magnetisch.
Federico Russo
Nick Johnson
Nick Johnson
Federico Russo
edit
Ihnen die Beitrags-ID der Antwort angezeigt. An die URL der Frage anhängen: <Frage-URL>/<Beitrags-ID>#<Beitrags-ID>. (Ich weiß nicht, warum Sie es zweimal hinzufügen müssen, aber es scheint notwendig zu sein)Nick Johnson
Federico Russo
link
! :-) Ich wusste , dass es einen besseren Weg geben mussteKevin Vermeer
Kellenjb
Kellenjb
Federico Russo
Kevin Vermeer
Kevin Vermeer
Nick Johnson
Nick Johnson
Kevin Vermeer
Nick Johnson