Platine für LaCrosseGateway: Redesign und Erweiterungsplatine

Begonnen von PeMue, 12 Dezember 2015, 21:35:17

Vorheriges Thema - Nächstes Thema

PeMue

So, noch mal ein paar Fragen:
Du hast aufgeteilt in Ports und Power. M.E. wäre die Aufteilung ggf. so sinnvoller (aber ich bin in der Materie nicht so ganz drin):
- I2C: SCL, SDA, VCC, GND zum Anschluss von I2C Sensoren (Belegung sollte man irgendwas "standardmäßiges" nehmen, falls machbar)
- SPI: MOSI, MISO, SCK, GPIO0, GPIO2, vermutlich A0, VCC, GND (dito)
- "Rest": Reset,  bzw. GND (wofür wird Reset gebraucht?)
Oder vielleicht verklickerst Du mir nur die Idee zu Deiner Belegung, damit ich diese auch verstehe  :-[
Mit was kommt eigentlich die erste Software auf den ESP? Per USB? Der Rest geht - falls ich das richtig verstanden habe - per OTA, oder?

Danke + Gruß

Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

HCS

Zitat von: PeMue am 04 Januar 2016, 20:56:15
Mit was kommt eigentlich die erste Software auf den ESP? Per USB? Der Rest geht - falls ich das richtig verstanden habe - per OTA, oder?
Richtig. Wenn man ein devkit verbaut, dann per USB, wenn man einen ESP verbaut, dann per FTDI. Nach dem initialen Flash dann per OTA, außer man hat es per OTA "zerflasht" (z.B. wg. wifi disconnect während dem Upload, hatte ich aber beim Entwickeln bei mehreren hundert OTA-Uploads vielleicht zwei drei mal) oder wenn man die debug ausgaben auf der Seriellen sehen muss, dann halt auch mal.

Zitat von: PeMue am 04 Januar 2016, 20:56:15Oder vielleicht verklickerst Du mir nur die Idee zu Deiner Belegung, damit ich diese auch verstehe  :-[
Da steckt gar keine so große Idee dahinter  :)
Die Grundidee ist, alles an Ports, was man evtl. mal irgendwann auf einem Addon-Board, das man draufsteckt, gebrauchen könnte, verfügbar zu haben.
Dass das möglich ist, wäre eine Grundvoraussetzung, dass die einzelnen Pfostenleisten auch zueinander in einem 2.54 Raster stehen, dass man auch mit einer Lochrasterplatine ein addon draufstecken kann. Und am besten so verteilt, dass das AddOn ohne rumwackeln sitzt, also nicht alle an einem Rand.

Zitat von: PeMue am 04 Januar 2016, 20:56:15(wofür wird Reset gebraucht?)
Da war die Idee, dass man die Schaltung auf dem AddOn board mit dem Reset versorgen kann. Wenn man z.B, einen Arduino oben drauf packt, möchte man vermutlich, dass bei einem Reset des ESP8266 der Arduino auch resettet.

Zitat von: PeMue am 04 Januar 2016, 20:56:15:
- I2C: SCL, SDA, VCC, GND zum Anschluss von I2C Sensoren (Belegung sollte man irgendwas "standardmäßiges" nehmen, falls machbar)
SDA, SCL, GND, VCC
wäre evtl. sinnvoll, das ist die Reihenfolge die das GY-68 hat.


Zitat von: PeMue am 04 Januar 2016, 20:56:15:
- SPI: MOSI, MISO, SCK, GPIO0, GPIO2, vermutlich A0, VCC, GND (dito)
Da finde ich nichts, wo man sich anlehnen könnte.
MOSI, MISO, SCK, GPIO0, GPIO2, GND, VCC
Wobei man GPIO0 und GPIO2 nur dann oben verwenden kann, wenn man unten keine RFMs (also #2 / #3) dran hat.
Da ist der Gedanke, dass man evtl. "unten" auf einen RFM verzichtet und den freigewordenen CS für z.B. einen SPI-Port-Expander verwendet, um dann oben noch "fünf RFMs" haben zu können.

A0 ist ein Analogeingang am ESP8266, der aktuell noch für nichts verwendet wird. Hat mit SPI eigentlich nichts zu tun.
Man könnte den zusammen mit Power auf einen weitere Pfostenleiste packen: A0, Reset, GND, VCC

Aber das kannst Du auch gestalten, wie Du es für sinnvoll hältst und es sich auf der Platine ausgeht.
Außer einer I2C->Seriell-Bridge (wie z.B. dem SC16IS750) um den im anderen Thread gewünschten AddOn-Prozessor seriell anzubinden, habe ich aktuell keine konkreten Pläne, möchte nur gerne offen sein, dass nicht gleich bei der ersten Idee "Platine V2" erforderlich wird.

PeMue

#77
Hallo HCS,

ich habe mir mal eine Übersicht gezeichnet, siehe Anhang.

Ich würde dann folgendes tun:
- I2C: "aufpeppen" mit drei freien GPIOs, damit der Portexpander dann auch laufen kann, ohne dass die RFMs entfallen müssten
- SPI: dito, aber hier könnte man auch einen nanoCUL (3,3 V Arduino!), der die Daten per serieller Schnittstelle weitergibt oder eben ein CC1101 Modul, hier habe ich das Pinout der CC1101 "Briefmarke" genommen
- analog: wie gehabt

Schaust Du bitte mal drüber, ob das so Sinn macht? M.e. macht das Herausführen von schon durch RFM belegten GPIOs keinen wirklichen Sinn, oder der use-case erschließt sich mir nicht.

Danke + Gruß

Peter

Edit1:
Und noch den aktuellen Schaltplan angehängt, als Spannungsregler würde ich einen MAX1724 (oder das StepDown Pendant) nehmen und die Sensoren hänge ich auch noch mit rein. Haben wir schon ein Gehäuse rasugesucht?

Edit2:
Ich hänge die jeweils aktuellen Dokumente in den ersten Thread - wird übersichtlicher.
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

HCS

GPIO9 und GPIO10 können nicht verwendet werden, da sie vom Flash des ESP-12E belegt sind.

Die Serielle des ESP8266 (GPIO1 / GPIO3) können wir leider auch nicht für Erweiterungen verwenden, darum war der Gedanke, einen SC16IS750 dranzupacken, da man dann eine weitere serielle Schnittstelle und auch gleich noch ein paar IOs hat.

Die Daten der SC16IS750-Seriellen-Schnittstelle würde das LGW dan einfach an FHEM durchleiten.

MMn brauchen GPIO9, GPIO10, GPIO1 und GPIO3 nicht auf die Pfosten.

Das traurige ist, dass kein GPIO mehr verfügbar ist, mit dem man einen CS für einen weiteren SPI Chip machen könnte. Oben müsste also auf alle Fälle ein SC16IS750 drauf, dass man Seriell hat und dann hätte man auch weitere IOs, die man als CS oder sonstwas verwenden kann.

HCS

Ups, versehentlich "Schreiben" anstatt "Vorschau" erwischt.  :o

Den Schaltplan schaue ich mir gleich noch im Detail an.
Der Grund, warum GPIO1 / GPIO3 nicht verwendbar sind, ist, dass sie im devkit am FTDI dran sind.

hexenmeister

Zitat von: HCS am 05 Januar 2016, 19:50:38
Das traurige ist, dass kein GPIO mehr verfügbar ist, mit dem man einen CS für einen weiteren SPI Chip machen könnte. Oben müsste also auf alle Fälle ein SC16IS750 drauf, dass man Seriell hat und dann hätte man auch weitere IOs, die man als CS oder sonstwas verwenden kann.
Warum nimmt ihr nicht einen 3x8-Decoder, z.B. 74HC238?

HCS

Zitat von: hexenmeister am 05 Januar 2016, 20:22:41
Warum nimmt ihr nicht einen 3x8-Decoder, z.B. 74HC238?
Direkt auf der Grundplatine?
Dann müsste den aber jeder bestücken, weil das LGW dann die Ansteuerung der RFMs generell über den Multiplexer machen müsste.

Für oben wäre der SC16IS750 schon besser, weil irgendwie noch eine serielle Schnittstelle her muss.
Gibt es eigentlich brauchbare Alternativen zum SC16IS750, die das Gleiche bieten, also incl. 64Byte FiFo, usw.?
Wobei mir der SC16IS750 gut gefällt, bietet alles was gebraucht wird und es gibt auch eine Arduino Lib dafür.

An die Serielle könnte man evtl. einfach einen CUL dran packen, und das LGW schickt alles transparent zu FHEM durch.

Ach ja, die Gehäuse-Frage: nee, noch nicht nachgedacht, aber es muss wohl nicht nur gruß genug sondern auch hoch genug sein, wenn optional noch ein AddOn aufgesteckt werden soll. Oder es müsste eins sein, das es in mehreren Höhen gibt. Allerdings müsste man da erst mal die Abmessungen der Platine kennen.

HCS

Habe die Schaltung studiert, folgende Anmerkungen:

FTDI-Anschluss: die 3.3V nicht verbinden, da der FTDI üblicherweise den erforderlichen Strom nicht liefern kann und man nicht doppelt einspeisen sollte, evtl. aber per Lötjumper verbindbar, ich habe einen FTDI mit einem 1A 3.3V Regler drauf, was nicht üblich (aber sehr praktisch) ist.

Auto-Reset-Schaltung: es wäre praktisch, wenn man per Lötjumper das generierte Reset-Signal wahlweise auf Reset oder CH_PD legen könnte.
Ich habe die Erfahrung gemacht, dass manche ESPs über CH_PD besser resetten, aber es generell so zu machen ist mir zu heiß.

ESP12-E
Die 4,7K für I2C sind doppelt, die hat man ja auch schon in der devkit-Variante, hatte ich aber schon falsch gemalt  :-[
Die PullUps GPIO0, GPIO2 und GPIO15 sind 10K und nicht 4,7K

Spannungsregler:
Mit dem MAX1724 habe ich keine Erfahrung, aber braucht der nicht noch eine Drossel, wenn ich das Datenblatt spontan richtig verstehe?
Was wäre denn das "StepDown Pendant"

Generell: alle Lötjumper schlage ich als solche vor, weil ich vermute, dass es sonst zu groß wird, aber wenn es "richtige" sind, ist auch OK.

PeMue

Zitat von: HCS am 05 Januar 2016, 19:53:25
Der Grund, warum GPIO1 / GPIO3 nicht verwendbar sind, ist, dass sie im devkit am FTDI dran sind.
Ok, aber der FTDI macht ja dann nichts, oder? Ich habe hier http://www.mikrocontroller.net/topic/314992 mal zu dem Thema etwas gefunden, vielleicht geht es ja doch ...

Zitat von: HCS am 05 Januar 2016, 21:28:51
FTDI-Anschluss: die 3.3V nicht verbinden, da der FTDI üblicherweise den erforderlichen Strom nicht liefern kann und man nicht doppelt einspeisen sollte, evtl. aber per Lötjumper verbindbar, ich habe einen FTDI mit einem 1A 3.3V Regler drauf, was nicht üblich (aber sehr praktisch) ist.
erledigt

Zitat von: HCS am 05 Januar 2016, 21:28:51
Auto-Reset-Schaltung: es wäre praktisch, wenn man per Lötjumper das generierte Reset-Signal wahlweise auf Reset oder CH_PD legen könnte.
Ich habe die Erfahrung gemacht, dass manche ESPs über CH_PD besser resetten, aber es generell so zu machen ist mir zu heiß.
erledigt, falls CH_PD auch landläufig EN heißt  8)

Zitat von: HCS am 05 Januar 2016, 21:28:51
ESP12-E
Die 4,7K für I2C sind doppelt, die hat man ja auch schon in der devkit-Variante, hatte ich aber schon falsch gemalt  :-[
Das war gewollt so. Die beim devkit sind bedrahtete und die anderen SMD (sieht man im Schaltplan nicht, aber die einen heißen RxA, die anderen RxB).

Zitat von: HCS am 05 Januar 2016, 21:28:51
Die PullUps GPIO0, GPIO2 und GPIO15 sind 10K und nicht 4,7K
erledigt

Zitat von: HCS am 05 Januar 2016, 21:28:51
Spannungsregler:
Mit dem MAX1724 habe ich keine Erfahrung, aber braucht der nicht noch eine Drossel, wenn ich das Datenblatt spontan richtig verstehe?
Was wäre denn das "StepDown Pendant"
Den MAX1724 kenne ich von Dirk's Sensor, ich habe mir einen MAX1837 rausgesucht und wollte schon immer mal eine Schaltung bauen. Ja, der braucht eine Spule, die ist aber relativ klein.
Ggf. baue ich alternativ einen Linearregler parallel ein ...

Zitat von: HCS am 05 Januar 2016, 20:37:38
Ach ja, die Gehäuse-Frage: nee, noch nicht nachgedacht, aber es muss wohl nicht nur gruß genug sondern auch hoch genug sein, wenn optional noch ein AddOn aufgesteckt werden soll. Oder es müsste eins sein, das es in mehreren Höhen gibt. Allerdings müsste man da erst mal die Abmessungen der Platine kennen.
Haben wir hier ein Henne-Ei Problem? Die Platine wird max. 60x50, vielleicht noch etwas kleiner, mal schauen. Auf jeden Fall doppelseitig.

Zitat von: HCS am 05 Januar 2016, 20:37:38
Für oben wäre der SC16IS750 schon besser, weil irgendwie noch eine serielle Schnittstelle her muss.
Gibt es eigentlich brauchbare Alternativen zum SC16IS750, die das Gleiche bieten, also incl. 64Byte FiFo, usw.?
Wobei mir der SC16IS750 gut gefällt, bietet alles was gebraucht wird und es gibt auch eine Arduino Lib dafür.

An die Serielle könnte man evtl. einfach einen CUL dran packen, und das LGW schickt alles transparent zu FHEM durch.
Warum oben? Bei SparkFun gibt es ein Breakout Board, da hole ich mir mal das Package. Allerdings braucht das Teil noch einen Quarz für die Baudrate, mehrere Kondensatoren und ein paar Widerstände ...

Gruß PeMue

PS: Aktuelle Daten siehe mein erster Post ...
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

HCS

Zitat von: PeMue am 05 Januar 2016, 23:11:08
Ok, aber der FTDI macht ja dann nichts, oder?
Doch, er sendet z.B. debug Ausgaben und auch die Daten, falls man das LGW nicht per wifi sondern per USB wie einen JeeLink betreiben will.
Für den AddOn Prozessor benötigen wir auf alle Fälle eine eignen Schnittstelle.

Zitat von: PeMue am 05 Januar 2016, 23:11:08
falls CH_PD auch landläufig EN heißt  8)
So ist es.

Zitat von: PeMue am 05 Januar 2016, 23:11:08
Ggf. baue ich alternativ einen Linearregler parallel ein ...
Wäre cool, dann könnte ich meinen geliebten AMS 1117 draufpacken.

Zitat von: PeMue am 05 Januar 2016, 23:11:08
Warum oben? Bei SparkFun gibt es ein Breakout Board, da hole ich mir mal das Package. Allerdings braucht das Teil noch einen Quarz für die Baudrate, mehrere Kondensatoren und ein paar Widerstände ...
SC16IS750: Mit oben meinte ich auf einem optinalen AddOn board. Auf der Grundplatine braucht man den eigentlich nicht, da ist ja nichts, das an den dran kommen würde.
So was hier(mit allem drauf): http://images.google.de/imgres?imgurl=https%3A%2F%2Fcdn.sparkfun.com%2F%2Fassets%2Fparts%2F3%2F7%2F0%2F0%2F09745-02.jpg&imgrefurl=https%3A%2F%2Fwww.sparkfun.com%2Fproducts%2Fretired%2F9745&h=600&w=600&tbnid=_fTT03_aLON8HM%3A&docid=MmdZE3R00ArOCM&ei=K0OMVrGJLILRswGE2bUQ&tbm=isch&iact=rc&uact=3&dur=1474&page=1&start=0&ndsp=32&ved=0ahUKEwjxysff25PKAhWC6CwKHYRsDQIQrQMIKjAE

hexenmeister

Zitat von: PeMue am 05 Januar 2016, 23:11:08
Den MAX1724 kenne ich von Dirk's Sensor, ich habe mir einen MAX1837 rausgesucht und wollte schon immer mal eine Schaltung bauen. Ja, der braucht eine Spule, die ist aber relativ klein.
Ggf. baue ich alternativ einen Linearregler parallel ein ...

Warum teuere Schaltregler verwenden? Den StepUp verstehe ich sogar gar nicht, macht eigentlich nur Sinn, wenn man mit Batterien betreiben will. Bei dem doch relativ geringen Stromverbrauch macht sich der Linearregler bestens. Ggf. Ultra LDO, wenns sein muss, wird immer noch billiger und belegt weniger Platz.

PeMue

Zitat von: hexenmeister am 05 Januar 2016, 23:41:59
Warum teuere Schaltregler verwenden? Den StepUp verstehe ich sogar gar nicht, macht eigentlich nur Sinn, wenn man mit Batterien betreiben will. Bei dem doch relativ geringen Stromverbrauch macht sich der Linearregler bestens. Ggf. Ultra LDO, wenns sein muss, wird immer noch billiger und belegt weniger Platz.
Spielverderber  :P  Dann mache ich's halt wie immer und es gibt nix neues   ::)
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

hexenmeister

Ah! Sage doch gleich, dass das der Befriedigung des Spieltriebes gedacht war  ;D

HCS

Solange man auch einen AMS 1117 drauflöten kann, kann er, wenn er will, auch noch eine Brenstoffzelle vorsehen.  ;D ;D ;D

hexenmeister

Zitat von: HCS am 06 Januar 2016, 00:01:53
Solange man auch einen AMS 1117 drauflöten kann, kann er, wenn er will, auch noch eine Brenstoffzelle vorsehen.  ;D ;D ;D
Wie wäre es mit einem kleinen Atomreaktor? habe gerade nur leider keinen Link zur Bezugsquelle  ;D