Platine für TTGO T8 (ESP32)

Den USB hab ich extra so gesetzt, das man da auch im eingebauten Zustand drankommt. Die Nähe zum HX711 ist natürlich suboptimal, aber ich fürchte, einen Tod muss ich da sterben.

Bedankt - den hat’s beim umrangieren rausgehauen. Kommt wieder rein.

Das ist exakt die Absicht. Stiftleisten… hmm. Ja, du hast recht. Die sind einfacher zu handhaben. Und wenn man wirklich will, kann man ja auch daran was anlöten.
Gute Idee mit dem nach außen führen von 3,3V & GND (& 5V).

Für E+, E- & SHD kann man zwei Kabel in eine Klemme stecken. Da hat der HX711 ja auch nur je einen Anschluss.

Kommt noch. Hab ich links unten testweise schon gemacht. Ich mache die Beschriftung, sobald ich alle Bauteile zusammen habe.

Ich hatte das so verstanden, das der die Umgebung misst, also Luftdruck und Temperatur (im Gehäuse). Extern käme dann ein zweiter dran. Ich könnte aber gleich bei dem ‘internen’ die Adresse umstellen, dann braucht man das beim externen nicht mehr machen.

Das Gehäuse liegt hier schon auf dem Tisch. :slight_smile: Leicht überdimensioniert, aber das schadet ja nicht.

Danke für die Hinweise!

Man kann nicht nur besser messen mit einer Klemme, sondern auch evtl. die Schaltung auf einem BreadBoard austesten. Dafür braucht man auch die Stromversorgung.

Das ist draussen an der Beute sehr unpraktisch, denn es hängen zwei Kabel an einem Stecker. Besser ist es, jede Waage hat seinen eigenen Stecker.

1 Like

Ich war noch ein wenig fleissig. :slight_smile:

Bitte schaut da noch einmal drüber. Es fehlen noch die Befestigungslöcher (und die Beschriftung an J1 & J5 wie ich gerade sehe - das sind je 3.3V & 5V + GND).
Ist 0805 für SMD ok zum handlöten oder lieber 1206?

Alles liegt natürlich auch hier:

Redesign des Schemas - ich hatte das sehr nahe an der tatsächlichen Verdrahtung gezeichnet, was eigentlich nicht nötig ist.

Vorderseite:

Rückseite:

Und weils so schön ist auch in 3D:

Beim BME280 benötigt man die Anschlüsse CSB und SDO eigentlich nicht.

CSB ist nicht angeschlossen - auf dem breakout aber vorhanden. An der Klemme kann ich es aber eigentlich weglassen.
SDO braucht man schon, um die I2C Adresse zu ändern, damit man zwei BMEs ansprechen kann.

Dann würde ich die Adresse auf dem Board festlegen: Adresse 1 auf dem Board, Adresse 2 an der Klemme.
Willst Du die Luftfeuchte im Gehäuse wirklich messen?

Das ist schon so. Einmal geht SDO auf GND, einmal auf 3.3V. Dann hat der BME 0x76 bzw. 0x77.

Hat @clemens auch schon gefragt. Ich wollte eigentlich nur die Temperatur messen, der Rest kommt dann einfach mit. Aber eigentlich hat man die Wetterdaten ja eh schon aus anderen Quellen.
Hmm, also wenn Du mich das schon so fragst, hat der interne BME wohl keinen Sinn :smiley:
Ok, dann mach ich aus dem internen eine Pfostenleiste für I2C Erweiterungen. Kommt mir auch ganz gut zupass, da ich gerade festellen musste, das ich die Klemmen nicht in 2,54 bekomme, sondern nur in 3,81.

Die Aussentemperatur messe ich mit einem DS18B20 im Schatten direkt an der Wägezelle. Dann kann man auch noch Temperaturabhängigkeiten der Wägezelle untersuchen.
Meine Daten von gestern:


Das Gewicht im Detail

Die Sprünge um 0:30 und 23:15 lassen sich mit dem Austausch der Powerbanks erklären, die z.Z. mitgewogen werden.

Ich hab den internen BME280 samt Pfostenleiste entfernt. Wenn man intern noch ein I2C Gerät anschliessen will, kann man das auch mit unter die Federklemme quetschen.

So sieht das jetzt aus - mit Logo :smiley:

Ich schick das dann die Tage zum Aisler, sobald ich meine Probleme mit deren BOM behoben habe.

Ich hätte auch nie gedacht, das ich mal Spass am Schaltplan zeichnen finden würde. Darf ich nur niemandem auf der Arbeit erzählen - sonst muss ich das auch noch machen. :sweat_smile:

Dann mach ich weiter mit einer Platine für den T-Call. Am besten in einem neuen thread, der hier ist schon zu lang.

Es gibt da unten einen Versatz. Ist das absichtlich?
image

Nee, das sieht nur so aus. Der gelbe Kreis ist das Pad, der weiße nur auf dem Silkscreen. Das ist die Stelle, wo man den Draht reinsteckt. Hab ich mir in den Footprint reingemalt zur besseren Visualisierung.

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.