doorman icon indicating copy to clipboard operation
doorman copied to clipboard

Board Design Frage

Open AzonInc opened this issue 2 years ago • 100 comments

Hi,

erstmal vielen Dank für dieses Projekt 💯

Ich bin derzeit dabei mit Hilfe deines Codes eine ESPHome Komponente zu schreiben (Ich werde das Ergebnis dann gern zur Verfügung stellen wenn alles funktioniert) und habe dabei auch im allgemeinen versucht die Hardware weitestgehend zu verkleinern und auf das Minimum zu reduziere, damit das ganze problemlos in eine Unterputzdose hinter der Gegensprechanlage passt.

Nun hoffe ich dass ich dabei alle Verbindungen und Komponenten berücksichtigt habe und noch alles korrekt verbunden ist. Der D1 Mini ist jetzt zum aufstecken vorgesehen, falls es mal zu einem Defekt kommen sollte.

image

Habe ich irgendwas beim Schaltplan vergessen?

AzonInc avatar Mar 08 '24 20:03 AzonInc

Sieht an sich OK aus. Die Widerstände habe ich nicht überprüft.

Du kannst theoretisch noch kleiner werden wenn du etwas wie einen Seeed Studio XIAO ESP32S3 oder so nimmst. Der hat noch Mal einen kleineren Footprint ist aber teuer.

peteh avatar Mar 08 '24 20:03 peteh

Danke fürs drüber schauen. Und bezüglich dem Kondensator der von anderen Personen empfohlen wird - wo wäre dieser ggfs einzuplanen?

AzonInc avatar Mar 08 '24 20:03 AzonInc

Bin leider auch kein Experte für sowas aber direkt zwischen gnd und 5v vom traco DC/DC. Schau Mal durch die geschlossenen Tickets. Vielleicht findest du den Kommentar noch Mal.

peteh avatar Mar 09 '24 07:03 peteh

Ich hab mich heute mal an einen PCB Entwurf gesetzt: image

AzonInc avatar Mar 10 '24 01:03 AzonInc

Du könntest überlegen auch einen neopixel drauf zu setzen so wie ich es beim s3 Mini nutze. Dann könnte man die gleichen Status verwenden und mit Farben mehr dar stellen.

Wenn du das Design produziert und getestet hast, kannst du es auch gern per pr hier mit rein mergen oder du gibst mir den Link zu deinen ESP Home Sachen, dann verlinke ich es.

Falls du mehrere produzieren lässt, würde ich dir auch einen abnehmen.

peteh avatar Mar 10 '24 13:03 peteh

Ich hab bisher verschiedene Layouts probiert aber ich glaube dass im aktuellen Formfaktor die ansteuerbare LED inklusive der anderen dafür notwendigen Komponenten leider nicht rein passt. Stattdessen habe ich jetzt noch eine weitere Status LED und zwei GPIO Pin Header (IO25, IO26) sowie einen MicroUSB Anschluss dazugepackt. Die LEDs sind derzeit beide rot, eine könnte man mit einer grünen tauschen.

Die Idee mit der LED ist aber ganz nice - eventuell kann man ja dafür eine alternative PCB Version machen für diejenigen die das gern haben wollen. Mein Ziel war es das ganze so klein wie möglich zu bekommen damit es in die Unterputzdose hinter dem TCS passt.

Das ganze ist jetzt 3,5cm x 4,1cm groß. Statt dem 7 Channel Darlington Transistor Array gibt es bestimmt auch einen als Standalone aber ich konnte bisher leider nichts brauchbares finden.

Das wäre der aktuelle Stand: image

AzonInc avatar Mar 10 '24 23:03 AzonInc

Cool. 2 Fragen hätte ich noch.

Spricht irgendetwas gegen einen usbc Anschluss als Standard?

Und hast du einen Kondensator mit unterbekommen für die 5v vom traco?

peteh avatar Mar 11 '24 12:03 peteh

Ich habe nochmal Platz für den USB-C Connector gemacht, da dieser vorher aufgrund des größeren Footprints nicht hin passte. Der Traco ist in dieser Variante einer der auf 3,3V regelt. Vor dem Traco ist die von Traco empfohlene Filterschaltung für dieses Bauteil - eventuell genügt das ja bereits: image

Hier der aktuelle Stand: image

AzonInc avatar Mar 11 '24 14:03 AzonInc

Hast du sonst noch Vorschläge was man da umsetzen kann?

AzonInc avatar Mar 11 '24 19:03 AzonInc

Vielleicht noch ein Zusatzbutton, den man dann frei integrieren könnte. Ansonsten weiß ich nicht ob es auch einen dropin mit esp32 s3 gibt. Der hätte meines Wissens etwas besseres WLAN.

peteh avatar Mar 12 '24 10:03 peteh

Hier wäre nun das Endergebnis mit ESP32-S3 und zwei Pins für einen Button: image Die RX/TX Pins sind entfallen wegen der direkten Anbindung von USB an den ESP.

Soweit ich gesehen habe hat der ESP32 interne Pull-Up/Down Wiederstände. Somit solle ja kein weiterer notwendig sein für den Button - außer du willst da ein längeres Kabel anschließen.

Wenn du aber nur ein kurzes Kabel dran anschließen willst dann könnte man stattdessen 3 GPIO und GND Pins verfügbar machen und spart sich den einen Widerstand. Was wäre dir lieber?

AzonInc avatar Mar 13 '24 18:03 AzonInc

@peteh was für einen ESP verwendest du derzeit bei dir direkt an dem Netz der Gegensprechanlage ohne externe Stromversorgung? Ich hab gesehen dass das Netzteil hier im Haus nur 60mA auf der P-Leitung rausgibt (maximal 100 für eine Minute). Der ESP32 wird aber wesentlich mehr ziehen - daher wäre eine Versorgung über das Netzteil der Gegensprechanlage bei mir nicht länger möglich. Du hast wahrscheinlich ein leistungsfähigeres Netzteil im Haus.

AzonInc avatar Mar 16 '24 12:03 AzonInc

Hi, ich habe mich mit diesem Projekt letztes Jahr schon ein wenig beschäftigt, konnte es aber aus Zeitgründen nicht zufrieden stellend beenden. Ich habe das Problem mit der Stromversorgung meines 8266 bei ebenfalls kleinem Netzteil mit einem 1500µF Kondensator (vermutlich viel zu groß) lösen können. Bei einem Signal brach bei mir die Stromversorgung des ESp zusammen, sodass keine Verarbeitung möglich war. Der Kondensator hat das Problem zunächst gelöst und das Projekt hat funktioniert.
Leider waren bei diesem Betrieb erhebliche Störgeräusche bei der Gegensprechanlage aufgetreten, die im Netzbetrieb nicht vorhanden waren. Hatte zunächst den Traco im Verdacht. Eine Filterschaltung wie oben habe ich aber nie ausprobiert.

Als alternative bin ich vor kurzem über das Projekt ESPBell-MAX hier bei github gestolpert. Da ist eine fertiges PCB mit lion Batterie schon entwickelt. Wäre das auch eine Option? Man könnte ggf beide Projekte vereinen und mit überschaubarem Aufwand/Fachwissen/Anpassungen einen Batterie-betriebenen doorman erstellen?

alkue1 avatar Mar 16 '24 16:03 alkue1

Ich musste heute leider auch herausfinden dass hier das Gerät in der Wohnung im Zwei-Draht-Betrieb läuft. Daher besteht keine Chance das direkt mit vom selben Netzteil abzuzapfen. Der Etagenruftaster ist hier an P und E angeschlossen (Auch wenn in der Installationsanleitung eigentlich was anderes steht).

Allerdings kann man in der aktuellen variante einfach eine andere Stromquelle per USB-C oder Connector (5-24V) anschließen.

AzonInc avatar Mar 16 '24 20:03 AzonInc

@peteh was für einen ESP verwendest du derzeit bei dir direkt an dem Netz der Gegensprechanlage ohne externe Stromversorgung? Ich hab gesehen dass das Netzteil hier im Haus nur 60mA auf der P-Leitung rausgibt (maximal 100 für eine Minute). Der ESP32 wird aber wesentlich mehr ziehen - daher wäre eine Versorgung über das Netzteil der Gegensprechanlage bei mir nicht länger möglich. Du hast wahrscheinlich ein leistungsfähigeres Netzteil im Haus.

Ich vermute, dass hier im Haus ein dickeres Netzteil ist, da es mehrere Etagen hat. Mein Nachbar unter mir sitzt am gleichen Bus und wir haben einen Wemos D1 mini (esp8266) und einen S3 Mini (ESP32 S3 https://www.wemos.cc/en/latest/s3/s3_mini.html) am gleichen Bus, beide mit je einem Traco stromversorgt.

Ich habe in beiden einen Resetcounter eingebaut und die Teile laufen seit Monaten stabil - also ohne Neustarts oder Brownouts.

peteh avatar Mar 17 '24 21:03 peteh

Okay dann sollte das weiterhin für dich passen, da ich auch den S3 verwende. Ich hab mir mal den Schaltplan vom S3 Mini angeschaut und da scheint die WS2812B LED nur über 3,3V zu laufen. Demnach kann ich dir statt der zweiten normalen Status LED wieder die WS2812B integrieren.

Ich werde nächste Woche mal testen ob das mit dem Transistor Array Ersatz auch so passt und dann steht einem Produktionsauftrag eigentlich nichts im Weg.

AzonInc avatar Mar 18 '24 00:03 AzonInc

Sehr cool! Vielleicht bastel ich dann dafuer noch ein kleines 3d Case

peteh avatar Mar 18 '24 13:03 peteh

Ich stehe jetzt beim Testen vor einem kleinen Problem:

Wenn ich nun die Kabel an die GPIO anschließe bricht die Spannung zusammen. Ich verwende bei mir GPIO22(read, orange) und GPIO23(write, gelb) .

Die a-Busleitung ist das Grüne Kabel. Die b-Masseleitung ist Blau und mit den anderen blauen verbunden inkl. NodeMCU.

Das gelbe Kabel geht von GPIO23 über den 1K Widerstand zum roten Kabel und dann in den Transistor.

Wenn der ESP dran hängt sind auf der Bus Leitung noch 0,9V-2,1V, ansonsten 24V wenn die beiden GPIO nicht angeschlossen sind.

Dabei spielt es keine Rolle ob NodeMCU mit Strom versorgt wird oder nicht. In beiden Fällen bricht die Spannung direkt zusammen.

Den 147K Widerstand hatte ich nicht, daher 100K und 47K nacheinander. Die Messungen haben auch alle gepasst was die Widerstandswerte angeht.

Siehst du da irgendeinen Fehler oder sollte das eigentlich so passen?

image

AzonInc avatar Mar 25 '24 00:03 AzonInc

Nachdem ich mal den Write Part rausgenommen habe und ausschließlich vom bus zu lesen versuche gibt es zwar keinen kurzschluss mehr aber daten bekomme ich auch keine.

AzonInc avatar Mar 25 '24 01:03 AzonInc

image Mit dem D1 Mini bekomm ich auch keine Daten über den D5 Pin ausgelesen, egal ob man den Hörer hebt, die Tür öffnet oder klingelt.

Die Messungen ergeben dass die 24V beim drücken der Türöffner Taste auf ca 20/21 abfallen aber dennoch kommt es nicht zu irgendwelchen Daten.

An D5 liegen 2,9V an welche auf 2,8V fallen wenn die 24 auf 20-22V fallen

AzonInc avatar Mar 25 '24 14:03 AzonInc

Irgendwas passt da nicht, die Signale sollten auf nahezu 0V gehen - allerdings recht schnell, das kannst du nicht mit einem Multimeter messen. Der Spannungsteiler sollte dann aber passen, wenn er ohne Signal bei ~2.8V rumduempelt.

  • Hat es bei dir schon mal funktioniert?
  • Funktioniert die Klingelanlage ordentlich wenn dein Geraet angeschlossen ist?

peteh avatar Mar 25 '24 21:03 peteh

Funktioniert hat es bisher gar nicht - ich hatte die Teile bisher nicht alle da um es zu testen. Wenn ich den ESP an den Transistor hänge ist der durchgängig auf Durchgang, daher hab ich den Teil zum Senden erstmal entfernt.

Die 2,8V/2,9V liegen nur an wenn der ESP nicht dran steckt. Sowie der dran steckt (ohne strom) sind es nur noch 0,3V die anliegen. Das wird wahrscheinlich das Problem sein wieso nichts gelesen werden kann, da der nie ein high pegel bekommt. Das ist sowohl mit NodeMCU ESP32 als auch D1 Mini ESP8266 der Fall.

AzonInc avatar Mar 25 '24 22:03 AzonInc

Sicher, dass es eine TCS Anlage ist und du die richtigen Kabel angezapft hast? A und B vertauscht vielleicht?

peteh avatar Mar 25 '24 22:03 peteh

Also im Keller ist dieses Gerät: https://www.tcsag.de/fileadmin/user_upload/TCS_DE/Metanavigation/Downloads/Produktinformationen/Netzgeraete/PI_BVS20-SG.pdf

Hier in der Wohnung habe ich ein ISH3030 Gerät.

Das ganze läuft hier im 2-Draht Betrieb, daher kommt die Stromversorgung ausschließlich über die Bus Leitung. Aus dem Grund muss ich auch auf eine externe Stromquelle zurückgreifen.

Ich habe A und B auch mal getauscht aber das machte keinen Unterschied.

AzonInc avatar Mar 25 '24 23:03 AzonInc

Mhm, keine Ahnung ob dann ein anderes Kodierverfahren benutzt wird oder generell was anders angeschlossen werden muss.

Der Ersteller von dem Projekt hat den Bus mal reverse engineered, ich habe den Lese- und Schreibteil von ihm uebernommen und hautpsaechlich die Software oben drauf gesetzt: https://github.com/atc1441/TCSintercomArduino

Vielleicht hat er noch ein paar Ideen wie man den 2-Drahtbetrieb anschliessen muesste.

peteh avatar Mar 25 '24 23:03 peteh

Problem gelöst. Es war tatsächlich falsch angeschlossen. Das Endgerät hier hat eine Dioden Bridge die die anschlüsse richtig polt aber am ESP ist es wichtig die richtige Seite anzuschließen. Ich habe es nur ohne ESP getestet mit dem umdrehen.

Nun funktioniert alles wie es soll - auch mit dem BC517 Transistor :)

Mit deiner Firmware funktioniert es perfekt, mit meiner ESPHome Variante bisher nur lesend, beim schreiben hab ich wohl noch irgendeinen Fehler in der Logik aber man hört bereits durch ein kurzes knacken dass ein Befehl gesendet wird.

AzonInc avatar Mar 26 '24 00:03 AzonInc

Problem gelöst. Es war tatsächlich falsch angeschlossen. Das Endgerät hier hat eine Dioden Bridge die die anschlüsse richtig polt aber am ESP ist es wichtig die richtige Seite anzuschließen. Ich habe es nur ohne ESP getestet mit dem umdrehen.

Ja das ist korrekt, Koennte man auch noch mit Dioden im Design loesen, aber dann wird der Aufbau komplexer. Ich habe es versucht in der Anleitung beim Wiring mit zu beruecksichtigen:

A and B are the bus lines. You have to make sure which one is 24V+ and wire this to A of the setup. The other one is GND.

Nun funktioniert alles wie es soll - auch mit dem BC517 Transistor :)

Sehr cool.

peteh avatar Mar 26 '24 08:03 peteh

Soo, ich meld mich mal wieder. Ich habe jetzt das Design mit ein paar Änderungen am Schaltplan fertiggestellt.

Das ganze würde ich dann demnächst Mal herstellen lassen :)

Bestandteile davon sind:

  • ESP32-S3-WROOM-1 N8R8
  • USB-C + Schraubklemme (Spannungsversorgung 5-24V)
  • Brückengleichrichter für verdrehte Verkabelung
  • Optionaler Steckplatz für einen Kondensator sofern notwendig.
  • WS2812B LED
  • Rote Status LED
  • 2 GPIO Pin Header
  • 1 Button Pin Header
  • 1 Relais zur schaltung von bis zu 40V Last
  • RX und TX Lötpads auf der Rückseite falls es unbedingt notwendig sein sollte
  • Zwei weitere GPIO als Lötpad auf der Rückseite

Die Schraubklemmen, der ESP sowie die Pin Header müssten später draufgelötet werden.

AzonInc avatar Apr 05 '24 13:04 AzonInc

Cool, wie gesagt eins wuerde ich dir abnehmen. Wo liegt man da preistechnisch?

peteh avatar Apr 05 '24 16:04 peteh

Ich schätze aktuell so 15-20€ / Stück in der Produktion wegen Steuern, Versand, Zoll usw. Ohne all die unnützen Gebühren für Deutschland wäre es deutlich günstiger zu haben.

Die ursprünglichen TracoPower Komponenten waren ja total überteuert und kosteten allein für zwei Komponenten ca. 12€

Ich muss nochmal schauen wegen Assembly und ob ich manche Komponenten noch günstiger bekomme. Wenn man den ESP mit in Assembly packen würde dann kostet das auch wesentlich mehr weil der da nicht mit inbegriffen ist in Economic Assembly und man stattdessen Standard Assembly nutzen muss, was echt schade ist. Also den würd ich dann selbst drauf machen mit den Pin Headern und Schraubklemme.

Ich bin gespannt wie das am Ende aussieht und erhoffe mir keine Probleme. Durch das entfernen der Traco Komponenten hat sich die Höhe auch minimiert und sollte problemlos ins Gehäuse der Gegensprechanlage passen.

Falls du ein Gehäuse designen möchtest sind die Maße 35mm x 37,2mm. Oder hier ganz einfach die PCB Modell Dateien: https://azon.ai/doorman-s3/doorman-s3.stl https://azon.ai/doorman-s3/doorman-s3.step

AzonInc avatar Apr 05 '24 17:04 AzonInc