Forum: Platinen Fragen zur ersten Platine


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von DT (Gast)


Angehängte Dateien:

Lesenswert?

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

von Jörg R. (solar77)


Lesenswert?

DT schrieb:
> oder sagen ob die Platine so funktioniert?

Nein.

von Cyblord -. (cyblord)


Lesenswert?

Kein Schaltplan. Und ein Layout ohne Pin Nummern oder Netznamen. Stark!

von DT (Gast)


Angehängte Dateien:

Lesenswert?

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

von Der müde Joe (Gast)


Angehängte Dateien:

Lesenswert?

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!

von Der müde Joe (Gast)


Lesenswert?

...und mach' ruhig die Verbindungen zwischen dem C1 und dem 
Motor-V-Stecker genauso dick wie die Verbindungen vom C1 zum 
Motortreiber. :-)

von G. H. (schufti)


Lesenswert?

°) 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
von DT (Gast)


Angehängte Dateien:

Lesenswert?

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

von G. H. (schufti)


Lesenswert?

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 ...

von DT (Gast)


Angehängte Dateien:

Lesenswert?

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

von Uli S. (uli12us)


Lesenswert?

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.

von DT (Gast)


Angehängte Dateien:

Lesenswert?

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

von DT (Gast)


Angehängte Dateien:

Lesenswert?

Es haben sich ein paar Fehler eingeschlichen, daher hier nochmal.

Grüße

von Michael D. (nospam2000)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

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

von foo (Gast)


Lesenswert?

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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.