Guten Tag, ich habe meine erste eigene Platine entworfen. Könnt ihr mir Tipps geben oder sagen ob die Platine so funktioniert? Als Komponenten werden ein ESP32 ein Schrittmotorentreiber DRV8825 ein Kondensator 100uf (C1) und 2 Schraub-Terminals (unten) eingesetzt. Den Schritt-Motor würde ich mit einem 24V 1,5A Netzteil betreiben. Die Schaltung funktioniert auf einem Breadboard. J1-J7 ist für etwaige Taster und am Display Port wird ein Nextion Display angeschlossen. Grüße
Kein Schaltplan. Und ein Layout ohne Pin Nummern oder Netznamen. Stark!
Entschuldigung, anbei der Schaltplan. Wie gesagt die Schaltung an sich funktioniert, es geht mir mehr um das PCB-Design. Ich bin Softwareentwickler, habe schon mehrere kleinere Arduino oder ESP Projekte gemacht, aber noch nie ein eigenes PCB entworfen. Grüße
Für dein erstes Board ist das schon gut. Ich würde aber noch bei den 3.3V- und 5V-Spannungsversorgungspins der beiden ICs jeweils Stütz-Kondensatoren, möglichst nah an diese Pins, platzieren. 10uF/100nF parallel. Damit die Schaltung auch wirklich sicher funktioniert. Evtl. hast Du schon einige Male hier mitgelesen, dass bei Fehlfunktionen oft solche fehlenden Kondensatoren die Ursache waren. Überprüfe bitte nochmal die GND-Verbindung zum DRV8825-Motortreiber. Da sehe ich keine Verbindung zu der Buchse. Du verbindest den Digital-GND zum Motortreiber-IC über den GND vom ESP32-Board, das ist jetzt nicht so nett. Siehe meine Skizze und die direkte Verbindung, die ich eingezeichnet habe. Den POWER-GND von der Buchse zum Motortreiber ergänzen. Die Leitung rechts oben, etwas weiter nach oben schieben. Und mache bitte jeweils den Pin 1 quadratisch, damit Du nicht aus Versehen ein IC falsch herum einlötest. Eine "Pin 1"-Markierung ist eine echte Hilfe. Und wenn Du noch ein Fleißbildchen haben möchtest, könntest Du auch noch die 90-Grad-Knicke gegen 45-Grad-Knicke tauschen. Muss aber nicht unbedingt sein. Viel Erfolg!
...und mach' ruhig die Verbindungen zwischen dem C1 und dem Motor-V-Stecker genauso dick wie die Verbindungen vom C1 zum Motortreiber. :-)
°) wie kommen die 5V auf die Platine? °) auch wenn es am Steckbrett läuft, es ist gute Praxis Konfigurationspins auf ein definiertes Potential zu bringen: RST, Sleep, M0, M1, M2, Enable. Ich würde zumindest Pinheader dafür vorsehen (3reihig mit GND/Vcc) um entsprechend jumpern zu können; notfalls einfach mit Widerständen aufs gewünschte Potential. Der ESP32 hat aber so viele freie gpios, dass du davon ruhig ein paar für sämtliche o.g. Konfigpins des Steppermoduls verwenden kannst. Damit hast du volle Kontrolle und selbst wenn du das nicht willst/brauchst sind es nur ein paar wenige Zeilen Code zur fixen Initialisierung.
:
Bearbeitet durch User
Vielen Dank für die guten Ratschläge. Ich habe die Platine nun etwas umgestaltet, einen Kondensator für die 5V Versorgung des Treibers hinzugefügt und die 90° Winkel der Leiterbahnen angepasst. Brauche ich für die 3,3 V wirklich auch einen Kondensator, die sind wie gesagt nur für die Schaltsignale von etwaigen Tastern. Die 5V Versorgung kommt über den USB-Port des ESP32, den brauche ich sowieso weil seriell mit einem Windows-PC kommuniziert wird. Die Stromstärke sollte für die eingesetzten Verbraucher ausreichen, zumindest läuft es seit einigen Wochen auf dem Steckbrett ohne Probleme, zudem wird das Display mit ziemlicher Sicherheit nicht benötigt. Die Microsteps brauche ich z.B. ganz sicher nicht, ich wollte das Board so einfach wie möglich gestalten. Grüße DT
DT schrieb: > Die Microsteps brauche ich z.B. ganz sicher nicht, ich wollte das Board > so einfach wie möglich gestalten. trotzdem sollten nicht verwendete Eingänge auf ein fixes Potential gelegt werden - insbesondere wenn in unmittelbarer Nachbarschaft steilflankige Signale entstehen (z.B. Schaltvorgänge an Induktivitäten). Für einige Signale ist im DB des Steppermoduls zwar angegeben welche Defaulteinstellung bei offenem Eingang vorliegt, aber M0-M2 sind nicht darunter. Wundere dich dann nicht, wenn du unerklärbaren Schrittverlust o.ä. beobachtest ... so viel Aufwand sind die paar Verbindungen wohl nicht um klare Verhältnisse zu schaffen. Wenn sich diese "umsichtige" Herangehensweise auch im Programmierstil widerspiegelt wird der Thread noch länger für Unterhaltung sorgen ...
Vielen Dank nochmal für deinen Vorschlag. Anbei Version 3, ich habe nun den Pin-Header und Kondensator für die 5V hinzugefügt. Du hast natürlich Recht, an etwaige Störsignale habe ich nicht gedacht bzw. fehlt mir da einfach die Erfahrung, deshalb frage ich auch hier nach. Zusätzlich habe ich den Enable-Pin mit einem GPIO des ESP verbunden. Ich denke da schadet es nicht wenn ich den Softwareseitig ein- und ausschalten kann. Grüße DT
Ich würde das ganze bloss einseitig machen. Mit etwas anderer Leitungsführung lässt sich das ganze mit höchstens 2 Drahtbrücken auch einseitig aufbauen. Wenn man die Platine von irgendner Fa. herstellen lässt, spielt das zwar keine Rolle. Falls man die aber selber, ganz gleich ob fräst oder ätzt, ist bloss einseitig aber deutlich weniger Aufwand.
Ich habe sowieso vor die Platine bei AISLER herstellen zu lassen. Daher ist mir das nicht wichtig. Anbei wäre noch die Fritzing Datei, vl. kann ja irgendjemand damit etwas anfangen. Grüße
Es haben sich ein paar Fehler eingeschlichen, daher hier nochmal. Grüße
Hi, die KEEP-OUT area des ESP32 Module ist wahrscheinlich der Antennenbereich? Ich würde das ESP32 Modul um 180° drehen, so dass die Antenne ganz am Rand deiner Platine liegt und vor allem weiter entfernt vom Motor-Treiber der ja echte Leistung steuert und Störungen einstreut. Vor allem für den Empfang ist das besser. Noch besser wäre natürlich eine abgesetzte Antenne. Zum Debuggen würde ich die JTAG pins des ESP32 auf einen eigenen Debug-Header legen und für nichts anderes verwenden. Das sind die GPIO Pins 12 (TDI), 13 (TCK), 14 (TMS), 15 (TDO), ggf. noch 9 (nTRST). "Copper Fill" mit GND verwenden (https://www.youtube.com/watch?v=yEGhBdXcqtk ). Möglicherweise solltest du die Füll-Bereiche zwischen ESP32 und dem Motor-Treiber trennen. Michael
DT schrieb: > Es haben sich ein paar Fehler eingeschlichen, daher hier nochmal. Naja, da steckt noch ne Menge Verbesserungspotential drin ;-) Schaltplan richtig zeichnen Schaltplan Keine schrägen und schiefen Leitungen, nur 90° Keine Leitungen durch Symbole Layout keine schiefen Leitungen, nur 0, 45 und 90° Diese sehr einfache Platine braucht keine 2 Lagen. Route alles so weit wie möglich auf der Unterseite und nutze eine handvoll Drahtbrücken
G. H. schrieb: > trotzdem sollten nicht verwendete Eingänge auf ein fixes Potential > gelegt werden Das DRV8825 hat interne 100k Pull-Downs, ist also nicht offen.
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.