Verschiedenes > ESP8266

Entwicklung einer 1wire-zu-WLAN-Bridge

(1/135) > >>

hexenmeister:
----------------------------------------------------------------------------------------------------------------------------------
Status:
 - 05.12.2016: Die erste Charge ist (bis meine Testplatinen und drei Stück Rest) verteilt. Zweite Charge wurde gerade geliefert und wird auch aufgeteilt. ESD-Protection-Chips sind gerade knapp  >:(
 - 14.09.2016: Leerplatinen (ca. 20 Stück) sind bereit zum Verteilen. Zum Bestücken fehlen derzeit noch viele Bauteile. Daher schreibe ich zunächst die Vorbesteller der Leerplatinen an.
 - 14.09.2016: Text des Erstbeitrages angepasst.
 - 05.09.2016: Test mit LevelShifter erfolgreich
 - 01.09.2016: TODO: 5V Bus mit LevelShifter testen
 - 31.08.2016: Test erfolgreich: 26 DS18b20 Sensoren laufen stabil mit einem 3,3V Bus (einfachste konfiguration).
 - 29.08.2016: Test Stromversorgung: 5V (direkt über USB-Buchse des WeMos Mini) - OK; 7-12V über AMS1117 - OK (bei Versorgung mit 12V wird der 1117 spürbar warm - ESP8266 ist doch recht gefräßig (bis 300mA)).
 - 23.08.2016: Platinen sind eingetroffen. Werde sie jetzt an die Tester verteilen und auch selbst Zeit suchen zum Aufbauen und Testen.
 - 30.07.2016: Verbindungsplatinen sind da.
 - Juni 2016: Redesign (die Beschreibung unten muss ich bei Gelegenheit aktualisieren) und Bestellung der Controller- und Verbindungsplatinen
 - 03.01.2016 : PCB-Design

----------------------------------------------------------------------------------------------------------------------------------

unverbindliche Interessentenliste (Sensorplatine/Verbindungsplatine):
 - hexenmeister           : 5x ---
 - reserve                    : 5x ---
 - zentis666 (Sven)      : 3x (ggf. mit Gehäuse)
 - Hauswart                 : 1x
 - trebron106              : 2x (ggf. mit Gehäuse)
 - Papaloewe               : 1x / 1x => bestückt
 - PeMue                     : 2x
 - DannyP (Daniel)       : 1x
 - Omega (Holger)       : 2x (ggf. mit Gehäuse)
 - Pf@nne                    : 2x
 - HomeAlone              : 2x
 - deltaac                    : 2x
 - yamfhem                 : 2x
 - ThomasW                : 5x (PCB)
 - VB90                       : 3x / 3x => bestückt
 - SvenJust                 : 5x
 - hagbard (Andre)      : 2x
 - Omega-5                 : 2x
 - ucm73 (Alexander)   : 2x
 - wbini:                      : 2x
 - habeIchVergessen  : 2x
 - Mario67                 : 1x (ggf. mit Gehäuse)
 - matthias soll          : 2x
 - JoeALLb                 : 1x (ggf. mit Gehäuse, ggf. bestückt)
 - carlos                    : 2x (ggf. mit Gehäuse, ggf. bestückt)
 - peter49                 : 1x (ggf. mit Gehäuse, ggf. bestückt)
 - TeeVau                 : 1x
 - justme1968           : 4x
 - AitschPin                : 2x (Bausatz)
 - erwin                     : 2x  (ggf. bestückt)
 - thosch                   : 2x
 - oli82                      : 2x
 - Peter_64               : 2x (Bausatz)
- pc1246 (Christoph) : 2x (Bausatz)
 - Maxel                     : 2x (Bausatz)
 - tiwo85                    : 2x  (ggf. bestückt)
 - thunder                  : 2x  (ggf. bestückt)
 - ergerd                    : 2x  (ggf. bestückt)
 - Tbone                    : 3x  (ggf. bestückt)
 - Rince                     : 2x  (ggf. bestückt)
 - StefanL                  : 1x  (ggf. bestückt)
 - mi.ke                     : 2x (Komplettset, ggf bestückt, ggf. mit Gehäuse)
 - avg123-de            : 1x (Komplettset)
 - bloodybeginner    :  1x (Komplettset)
 - bloodybeginner    :  4x (PCB only)
 - devo                      : 3x (Bausatz)
 - kvo1                      : 2x (ggf. Komplett)
 - Lucky2k12              : 3x (ggf. Komplett)
 - sua                       : 3x (ggf. Komplett)
 - Chris_Worms        : 3x (Bausatz, 1 davon ggf. Komplett)
 - bloodybeginner     : 1x Bausatz + 2 PCB
 - santalaus              : 5x
 - Christian Uhlmann : 2x (ggf. Bausatz)
 - sentinel1               : 2x
 - olsen                     : 3x (ggf. bestückt)
 - maci                       : 1x (ggf. bestückt)
 - Jo                          : 4x
 - Starkstrombastler   : 2x
 - maci                      : 2-3x
 - ThomasW               : 4x
 - MillyHarry               : 2 x Verbindungsplatine: 2 EUR (nur PCB), 2 x Sensor-Platine: 3 EUR (nur PCB), 2 x Variante 1: 5 EUR

 Summe: 143 Stück

Unterstützer beim Bestücken:
 - (hexenmeister)
 - oli82

----------------------------------------------------------------------------------------------------------------------------------

Probleme / Einschränkungen mit V1.0:
 - Ist Linearregler bestückt, sollte die Platine nicht über USB-Port des Wemos versorgt werden. Durch die "Rückwertsversorgung" wird der Regler sehr warm (hält aber, jedoch vermutlich nicht dauerhaft).
 - Bug auf der Platine (Beschriftung): OPT_LED ist im Schema falsch herum integriert. Daher ist der Aufdruck auf dem Board auch falsch. Wer also eine LED braucht, muss sie beim Einlöten 'drehen'.
 - Kein Bug, aber bei der Entwicklung nicht berücksichtigt: bei Tests mit ESPEasy ist mir aufgefallen, dass man die "sleep"-Feature mangels Verbindung zw. RST und GPIO16 nicht nutzen kann (ESP wird niemals wieder aufwachen). Ist für den angedachten Haupteinsatzscenarion nicht wirklich notwendig, könnte aber dennoch interessant werden. Ich werde das in späteren Layout-Versionen entsprechend berücksichtigen. Falls da jemand sofort brauchen sollte, kann man die fehlende Verbindung leicht (auf der Unterseite der Platine) mit einem (bedrahteten) Widerstand nachrüsten.
 - Auf mehrfachen Wunsch habe ich möglichst Viele GPIOs auf Lötpunkte herausgeführt, daher passt Die Platine leider nicht in das zuerst ins Auge gefasste Gehäuse.

----------------------------------------------------------------------------------------------------------------------------------

Bestückungsvarianten:

Grundkonfigurationen:
0: nur PCB

1: minimal : 3,3V-Bus direkt am GPIO, Stromversorgung über WeMos-USB-Buchse, 1wire-Pullup, Steckleisten (female) für WeMos und Schraubklemmen für den Bus-Ausgang

2: standard : 5V-Bus am GPIO mit LevelShifter, Stromversorgung über WeMos-USB-Buchse, 1wire-Pullup, Steckleisten (female) für WeMos und Schraubklemmen für den Bus-Ausgang

3: busmaster:  5V-Bus mit Busmaster und LevelShifter, Stromversorgung über WeMos-USB-Buchse, 1wire-Pullup, Steckleisten (female) für WeMos und Schraubklemmen für den Bus-Ausgang

Zusatzoptionen:
P0: Zusätzlich Schraubklemme zum Versorgen des WeMos mit stabilen (!) 5V
P1: Zusätzlich Stromversorgung über ams1117 mit Verpolungsschutz und Selbstrückstellender Sicherung (7-12V)
P2: Zusätzlich Stromversorgung über LM7805 mit Verpolungsschutz und Selbstrückstellender Sicherung (12-24V)
E: Zusätzlich ESD-Protection-Chip
S: Zusätzlich StrongPullup-Schaltung (nur Busmaster)
F: mit Federklemmen anstatt Schraubklemmen
A: Zusätzlich Anschlussleiste für die Verbindungsplatine
O: Zusätzlich LED und Taster (derzeit keine Verwendung dafür)

----------------------------------------------------------------------------------------------------------------------------------

Preisvorstellungen:
Versand (DE, unversichert, bis 10 PCBs oder bis 2 aufgebaute Platinen): 2,-
Verbindungsplatine: 2 EUR (nur PCB)
Verbindungsplatine: (vollbestückt mit Schraubklemmen 8,-)
Sensor-Platine: 3 EUR (nur PCB)
Variante 1: 5 EUR
Variante 2: 8 EUR
Variante 3: 12 EUR
(Wemos-Module sind jeweils nicht miteingerechnet)
Zusatzoptionen:
P0: +0,5 EUR
P1, P2: +2 EUR
E: +2 EUR
S: +1 EUR
F: +2 EUR
A: ist dabei bei gleichzeitigem Bestellen der Verbindungsplatine
O: +1 EUR

Bausätze möchte ich nicht ausliefern, das Sortieren von SMD-Teilen kostet zu viel Zeit. Federklemmen habe ich fast keine mehr, die sind teuer und umständlich zusammenzustecken, ESD ist eigentlich nur für längere Busse (vor allen outdoor) wirklich interessant, Busmaster (besonders mit StrongPullup) ebenso. Daher schlage ich folgende Kombinationen vor (den Rest kann sich ja jeder selbst nach belieben zusammenbauen): 0 (3 EUR), 1 (5 EUR), 2 (8 EUR), 2P (10 EUR). Wemos-Module sind hier nicht mitberechnet und müssen von jedem selbst besorgt werden (aufgrund von fallenden Preisen möchte ich diese Teile nicht horten).
Reichen diese Kombinationen, oder welche wären noch für viele Einsatzszenarien von Interesse?

----------------------------------------------------------------------------------------------------------------------------------

Teileliste:

(Alle Widerstände sind SMD 0805, ebenso die Kondensatoren)

Variante 1:
 PCB
 WeMOS D1 mini
 PF1 500mA 1206
 R17 100
 C1 470pF
 R1 1k-2K2
 2x 8er Pinliste (female, pitch 2,54)
 3er oder 4er Schraubklemme (pitch 3,5mm)

Variante 2:
 PCB
 WeMOS D1 mini
 PF1 500mA 1206
 R17 100
 C1 470pF
 R1 1k-2K2
 2x 8er Pinliste (female, pitch 2,54)
 3er oder 4er Schraubklemme (pitch 3,5mm)
 R21 10K
 R22 10K
 Q4 BSS138 SOT-23-3

Variante 3:
 PCB
 WeMOS D1 mini
 PF1 500mA 1206
 R17 100
 C1 470pF
 R1 1k-2K2
 2x 8er Pinliste (female, pitch 2,54)
 3er oder 4er Schraubklemme (pitch 3,5mm)
 IC3 DS2482-100S
 R13 4K7
 R14 4K7
 R15 4K7
 R16 4K7
 Q2 BSS138 SOT-23-3
 Q3 BSS138 SOT-23-3

P0:
 2er-Klemme (pitch 3,5mm)

P1:
 D1 DO214
 C3 105
 C4 104
 IC2 AMS1117 SOT-223
 2er-Klemme (pitch 3,5mm)

P2:
 D1 DO214
 C3 105
 C4 104
 IC1 LM7805
 2er-Klemme (pitch 3,5mm)

E:
 ZD1 DS9503

S:
 Q1 BSS84 SOT-23-3
 R18 50-100

F:
(pitch 3,5mm)
 2er Federklemme
 3er oder 4er Federklemme

A:
 3er Pinleiste (male, pitch 2,54, z.B. Dupont oder KF2510 p3)

O:
 : PushButton DTSM-3
 : R20 470
 : R19 10k
 : LED 1206 / 1210

----------------------------------------------------------------------------------------------------------------------------------

Platinenkonfiguration:

Spannungsversorgung:
=>5V: SJ1 geschlossen, IC1, IC2 (C3, C4)
 unbestueckt
=>7-12V:  SJ1 offen,
 IC2 bestueckt (AMS1117 5.0),
 C3, C4 bestueckt, IC1 unbestueckt
=>13-24V: SJ1 offen, IC2 unbestueckt,
 IC1 bestueckt (7805), C3, C4 bestueckt

Bus Konfiguration:
generell:
- SJ3 regelt die Spannngsversorgung
 des Busses (gilt nicht für parasitaer
 versorgte Devices).
- ZD1 (ESD protection) kann
 ueberbrueckt werden.
- R17 und C1 bilden einen
 optionalen Filter.

=>ohne Busmaster:
- Pullup R1 bestueckt
 (i.d.R. zwischen 1k und 2k2).
- i2c-LevelShifter
 (R13, R14, Q2, Q3, R15, R16)
 ist optional (wird ggf. benoetigt, wenn
 5V-I2C-Bus anderweitig verwendet wird).
- BusMaster-Chip (IC3)
 StrongPullup-Schaltung (Q1, R18) unbestueckt
==> 3.3V-Bus: SJ2 geschlossen,
 1w-LevelShifter (R21, R22, Q4) unbestueckt
==> 5V-Bus: SJ2 offen, 1w-LevelShifter bestueckt

=>mit Busmaster:
 SJ2 offen, 1w-LevelShifter unbestueckt,
 i2c-LevelShifter bestueckt,
 StrongPullup optional

----------------------------------------------------------------------------------------------------------------------------------

Eagle-Sources: https://github.com/hexenmeister/PCB-Design/tree/master/ESP8266_1wire_Gateway_WeMosD1Mini

----------------------------------------------------------------------------------------------------------------------------------


========================================================================
Folgende Klarstellung dürfte zwar selbstverständlich sein, dennoch ...

Das Projekt
----------------------
Es handelt sich hierbei um ein gemeinsames Hobbyprojekt.
Es wird weder eine Dienstleistung noch ein fertigen Produkt angeboten.
Vor dem Einsatz muss das Ergebnis ggf. noch zusammengebaut, mit der Firmware versorgt, oder konfiguriert werden.
Unterstützung wird auf freiwilliger Basis im Forum angeboten. Hilfestellung beim Zusammenbau kann nur
in begrenzten Maße und gegen eine Aufwandsentschädigung angeboten werden.

Zeitrahmen
----------------------
Da die Entwicklung als Hobby und neben dem Beruf, Familie und allen Anderem stattfinden,
können keine verbindlichen Termine zugesichert werden.

Fertigungsmengen
----------------------
Die Fertigungsmengen werden anhand der Interessentenzahlen bestimmt.
Bei großem Interessen werden mehrere kleinere Chargen nacheinander beauftragt.
Vor Allem die erste Bestellung wird zum Minimieren des wirtschaftlichen Risiko überschaubar gehalten.
Wo es sinnvoll und kosten- bzw. aufwandsmäßig vertretbar ist, kann eine Sammelbestellung der
notwendigen Komponenten organisiert werden.

Kosten
----------------------
Es wird kein Gewinnerzielungsabsicht verfolgt. Die Kosten und Preise setzen sich aus Material- und
sonstigen anfallenden Kosten ggf. zuzüglich einer Aufwansentschädigung zusammen.

Haftung
----------------------
Trotz aller erforderlichen Sorgfalt können Fehler leider nicht vollständig ausgeschlossen werden.
Es kann daher weder Funktionsgarantie gegeben, noch eine Haftung für etwaige Schäden jeglicher
Art übernommen werden.

Beteiligung
----------------------
Eine Beteiligung (als Ideengeber, Tester, QS, Hard- und Softwareentwickler etc.) unter Anerkennung
den o.g. Bedingungen ist erwünscht. :)

========================================================================

Ursprungsbeitrag

Moin!
Ich habe festgestellt, dass ich eine 1wire-zu-WLAN-Brücke gut gebrauchen könnte :)
Mit einem ESP, einem 1wire-Busmaster-Chip und etwas Kleinkram sollte das sich (relativ) leicht verwirklichen lassen.
Ich werde mich mit der Schaltung beschäftigen und eine PCB dafür erstellen.
An diesem Stadium kann ich sowohl Wünsche berücksichtigen, als auch Verbesserungsvorschläge gebrauchen.
Hat jemand noch Interesse?

Was ich bis jetzt überlegt habe:
 - als µC/WLAN soll ein ESP-12 verwendet werden
 - 1wire-Bus wird mit einem I2C-Busmaster (DS2482S-100) realisiert und bekommt eine ESD-Protection (DS9503P)
 - 1wire-Bus soll mit 5V laufen, also muss ein LevelShifter her
 - möglichst kleine Platine, max 50x50mm
 - um Gehäuse habe ich mir keine Gedanken gemacht, ist mir auch relativ unwichtig
 - SMD-Bauweise, jedoch kein Reflow
 - Softwareseitig stelle ich mir einen MQTT-Client vor und auch einen (einfachen) WebServer für die Konfiguration
 - ich plane lediglich Temperatursensoren zu verwenden, habe aber natürlich nichts gegen weitergehende Unterstützung

Den PCA9306 werde ich vermutlich doch nicht verwenden, ist etwas zu hard zu löten per Hand. Evtl. nehme ich einfach zwei Mosfets und vier Widerstände ;)

Grüße,
Alexander

P.S. Ach ja, ich bestelle Teile und Fertigung in China, das wird also eher günstig (10-15 Euro für PCB und alle Bauteile), wird aber dauern... Und zeittechnisch kann ich leider auch nicht so viel aufwenden, wird also auch nicht ganz schnell ;)

PeMue:
Dann hänge ich mich mal als Mitleser bzw. potentieller PCB-Checker  8) mit dran ...

Gruß Peter

Kuzl:
Ich hab vor ein paar Monaten auch mal genau das gebaut, allerdings ohne Busmaster, da ich ebenfalls nur Temperatursensoren auslesen wollte.
Der ESP liegt direkt über einen Levelshifter am 1W-Bus und legt für jeden Temperatursensor einen Topic an.

hexenmeister:
Hier paar Bilder von bestückten Platinen

hexenmeister:

--- Zitat von: Kuzl am 18 Dezember 2015, 07:42:58 ---Ich hab vor ein paar Monaten auch mal genau das gebaut, allerdings ohne Busmaster, da ich ebenfalls nur Temperatursensoren auslesen wollte.
Der ESP liegt direkt über einen Levelshifter am 1W-Bus und legt für jeden Temperatursensor einen Topic an.

--- Ende Zitat ---
Ah, interessant! Wie es die Erfahrung, läuft alles dauerhaft stabil?
Was verwendest Du als LevelShifter?
Code-technisch habe ich noch nichts, magst Du evtl. Dein Code offenlegen?

Grüße,
Alexander

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln