Platine für TTGO T8 (ESP32)

Ich würde auf der Platine noch Beschriftung ergänzen: Waage, BME280, DS18B20 usw.
Dann weiss auch ein Laie besser, wo welcher Draht hingehört.
image

  • this is prone to fail: hier führst Du ohne Not viel zu dicht ein wire an Lötpads entlang; während das rechts noch geht, wird Dir der pre-production flight beim PCB-Hersteller wegen der fünf unten das Teil abweisen:

  • an aktive Schaltkreise gehört pro supply rail ein Entkopplungskondensator (gewöhnlich 100n). Der level shifter hat zwei supply rails , also braucht der an beiden je einen 100n.

  • ich sehe (neben durchkontaktierten pads) kein einziges GND via mehr, vorher gabs noch eins (ein einziges). Ich sehe aber mindestens einen IC und mehrere Kondensatoren mit GND-Verbindung, denen allen ein GND via fehlt.
    Sieht Dir eine beliebige andere mehrlagige Platinen an, wie und v.a. wo andere das machen (also GND vias setzen), und bringe entsprechend wenigstens 20 oder 30 GND vias mit 0,3mm Bohrung unter; wenn es 100 werden, auch ok. (erst ab 1000 vias/Quadratdezimeter kostet es Aufpreis, kleiner als 0,3mm drill auch)
    Das hat galvanische und EMV-Gründe: einseits muß GND überall niederohmigst und niederimpedant verfügbar sein. Und: alle Kupferzungen ohne GND vias sind alles parasitäre Antennen, das geht so nicht auf einem PCBA, das Bauteile im zwei- und dreistelligen MHz-Bereich sowie mehrere RF-Interfaces im GHz-Bereich beherbergt.

  • PCB-Antennen als wire traces oder als SMD-Teil werden an Platinenseiten untergebracht, sonst bringen sie nicht einmal Bruchteile ihrer möglichen Abstrahlleistung (und sind unempfindlicher als Empfänger) . Deine Aussparung ist massiv zu klein - es sei denn, Du will die onboard-Antenne ohnehin nicht benutzen und ein uFL-pigtail mit externer Antenne verwenden, das, wozu ich ohnhin rate, geht hier praktisch garnicht mehr anders. Davon abgesehen, daß die HF-Leistung direkt neben einem 24bit-ADC abgegeben wird… das bedeutet, daß diese Antenne leistungslos sein muß, während der ADC Messungen durchführt, sonst sind seine Messungen noch weniger brauchbar.

  • Du verwendest eine einzige Netzklasse, die die Linienstärke von 0,25mm vorgibt. Das ist zu dünn für die Versorgungen, mach für die eine eigene supply net class und orientiere Dich an der Stärke der thermals an den automatisch gesetzen GND-Verbindungen, also mach die Linienstärke für diese net class 0,4 oder 0,5mm. Außerdem ist es nervig, wenn derartig dünne wires in THT-Pads gehen. Mach dort entweder die stubs dicker oder gleich auch das ganze wire. Ich sehe auf diese PCB kein wire, bei welchem es einen echten Grund für 0,25mm gibt.

  • den HX711 konnte ich Dir nicht ausreden - Deine Sache. Aber ich verstehe nicht, warum es wieder jene Variante sein muß, die nachgewiesenermaßen die schlechteste der bekannten HX711-breakouts darstellt ?!

Erstmal vorweg: Ich bin Dir wirklich dankbar für deine Hilfe! Ich beschäftige mich seit exakt drei Wochen mit diesem Thema und bin von Haus aus kein Elektriker sondern Maschinenbauer. Das ist der erste Schaltplan für ein PCB, den ich je gezeichnet habe.

Danke für den Tipp, allerdings ist das noch die alte Rückseite. Die aktuelle sieht so aus:


Da habe ich das wohl richtig gemacht. Aber unbewusst - ich werde in Zukunft darauf achten.

Ok, wird ergänzt.

Frage: durch die Durchkontaktierung werden die GNDs auf Vorder- und Rückseite an mehreren Stellen verbunden. Zählt das nicht als Via? Oder macht man das grundsätzlich nicht, weil Teile auch mal nicht bestückt werden und dann der Kontakt fehlt?
Aber verstanden: niederimpedant ist wichtig, also werde ich da ordentlich Vias hinzufügen.

Ja, das ist richtig und mir auch bewusst. Vorgabe (von mir) war, das man einfach an den USB-port kommt, um da mit dem Laptop dran zu können. Dadurch kommen die Bauteile leider so zu liegen, wie sie sind.
Zumindest ist die Antenne hier kein wire trace oder SMD sondern eine von diesen 3D-Antennen. Das könnte vielleicht funktionieren - wenn nicht kommt eine externe Antenne dran.
Falls das WLAN aus sein muss, um messen zu können - auch kein unüberwindliches Problem. Ich werde es auf jeden Fall ausprobieren.

Das habe ich einfach so gelassen, wie es voreingestellt war. Werde ich so ändern wie Du schreibst.

Und da haben wir ein dickes Missverständnis: ich war und bin willens, was neues auszuprobieren. Ganz weit oben in diesem Thread habe ich gefragt, ob wir beim HX711 bleiben wollen oder den ADS1232 oder den NAU7802 einsetzen wollen.
Darauf kam keine Reaktion. Nun gut, aber bevor ich ganz was Neues anfange bin ich bei dem geblieben, was schon da ist und zumindest prinzipiell läuft.

Wenn Du jetzt sagst, das wir das mit z.B. dem NAU mal probieren sollten, dann bin ich dabei. Von der Software sehe ich da keine unüberwindlichen Probleme.

Ich würde mich ggf. auch um eine entsprechende Unterstützung für MicroPython bemühen, wäre also ebenfalls dafür, uns den NAU7802 24bit 2ch AFE for bridge sensors zu erschließen.

Allerdings denke ich, dass wir das erst einmal auf einem Steckbrett machen sollten, bevor wir eine Platine damit bestücken!?

Ähmm …

Mit dem NAU7802 könnten wir uns auch den Quatsch mit extra Stromversorgung für den HX711 sparen, nur weil da zwei “falsche” Widerstände für 3,3 V verlötet sind und damit auch den level shifter von ADC zu ESP, im Datenblatt steht nämlich:

Supply power: 2.7V~5.5V

Allerdings auch nur für den chip, bei breakouts kann das wieder anders sein!

Ich schlage vor, die Diskussion über den NAU7802 und was wir damit machen (im Indikativ) in einem anderen Thread weiter zu führen. Auf diesem Board wird er nicht verwendet.

Änderungen:

  • Entkopplungskondensatoren hinzugefügt
  • Vias hinzugefügt
  • Linienstärke 0,25 -> 0,5
  • Beschriftung für Terminals
  • Aussparung für Antenne vergrößert (macht vermutlich keinen Unterschied)

Vorderseite:

Rückseite:

Kann man das jetzt so durchgehen lassen? @weef?

@poesel Mir ist da (glaube ich) noch ein Fehler im Schema aufgefallen, müsste R3 für die DS18B20 am J9 nicht auf 3v3 statt auf GND gehängt sein?

When wiring the DS18B20 temperature sensor you need to add a 4.7k Ohm resistor between VCC and the data line.

https://randomnerdtutorials.com/esp32-multiple-ds18b20-temperature-sensors/

So hab ichs zumindest bei mir aufgebaut.

Ja - das tut er aber auch.