Entwicklung eines Innenraumsensors /Steuerung mit ESP32 und Nextion Display 7"

Begonnen von Tobias, 03 März 2014, 09:00:12

Vorheriges Thema - Nächstes Thema

PeMue

Hallo Tobias,

damit Du Dich nicht mit Dir selber unterhalten mußt:
Ich habe mir mal das Layout grob angeschaut (vermutlich fehlt mir das ein oder andere Datenblatt, um die Funktion in letzter Konsequenz zu verstehen), aber folgende Punkte sind mir aufgefallen:
- IC 5 Pin 4 würde ich nicht schräg nach außen weg, sondern entweder innen am Pin oder außen am Pin
- IC5 Pin: wenn Durchkontaktierung, dann nicht am IC Pin sondern außerhalb, beim Löten mit der Maschine läuft Dir sonst das Lot weg (Handlötung eher kein Problem)
- neben R5 blau: würde ich nicht mit 45 Grad, sonder mit 90 Grad Winkel layouten
- unter dem Panstamp (?), rot: die Leitung unten quer ist ziemlich weit außen am Rand, wenn es geht, ein bisschen weiter nach Innen (Fräskante)
- dito für blaue Leitung am rechten Platinenrand
- rechts, CS Pin 2 würde ich nach unten weg, wie bei Pin 1
- ich habe den Eindruck, dass nicht alle Bauteilebezeichnungen auf demselben Layer sind (unter Panstamp C? grün (kann ich im jpg nicht lesen)
- für D2 fehlt mir eine Erkennung, wo + ist (oder die Abflachung ist im jpg nicht zu erkennen 8))
- beim Umweltsensor fiel mir auf, dass das SO8 Pad des DS2450 etwas kurz ist, da hat fast kein Kupfer mehr unter dem Bauteilpin hervorgeschaut (geht für's manuelle Löten, würde aber bei automatischer optischer Inspektion Probleme machen), ggf. noch mal die Bibliotheken gegen die Zeichnungen im Datenblatt überprüfen

Schaltplan:
- Der Reset Taster braucht kein R/C Glied, aber bei anderen Tastern für Funktionen würde ich das einbauen.
- Ich persönlich würde die Massepins immer nach unten zeichnen, dann wird der Schaltplan m.E. leichter lesbar.

Generell versuche ich dem Autorouter zu vermeiden, der macht meistsn nur Murks.

Ich hoffe, das hilft Dir weiter :)

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

Tobias

#31
Hi Peter,
ich habe aus der ersten Charge mit dem Umweltsensor gelernt ;)... Ab der 2ten Change mache ich grundsätzlich die Pads von SMD-Bauteilen länger. Bei der neuen Change des Umweltsensors,LED-Platine, Temp/LuftfeuchtePlatine, 1wire-ETHPlatine ist dem schon so ;) Habe ich hier natürlich auch schon berücksichtigt.
Bis auf den NVSRAM Baustein sind alle Bauteile auf demselben Layer, nur dieser ist unter dem Panstamp, deshalb ist die Bezeichnung auch unten.
Die Widerstände und Kondensatoren sind alle SMD, aber relative Große SMD´s die man als Normalo mit ruhiger Hand auch noch löten kann.
Die anderen Hinweise werde ich heute noch durchgehen.... Kopfzerbrechen macht mir nur die Anbindung des RotaryEncoders zum vorgesehenen Pinheader...

Etwas unsicher bin ich mir beim TGS4261. Ich habe den Spannungsteiler erstmal ausgelassen, ev. bekommt man das so hin das der TLC eine maximale Ausgangsspannung von 3.3V bringt? Dann kann dieser direkt an den Panstamp ran. Der TGS4161 ist noch von China zu mir unterwegs, deswegen kann ich noch nicht testen. Laut Datenblatt kann der TLC ab 3V. Ev. reicht es schon diesen mit den 3.3V zu betreiben?

Der TGS2600 habe ich mit 10k vorgesehen, wenn ich richtig liege bringt es so zwischen 0.5V und 2,5V. Der TGS2600 variiert lt. Datenblatt zwischen 10k und 90k je nach VOC. Auf dem Breadboard läuft er seit gestern bei mir an einem DS2438 und bringt im Durchschnitt 1.3V bei RL=10K
Hier bräuchte ich bei beiden TGS noch etwas Hilfe.

Edit: folgende Hinweise habe ich nicht verstanden oder nicht gefunden:
Zitat- IC 5 Pin 4 würde ich nicht schräg nach außen weg, sondern entweder innen am Pin oder außen am Pin
- rechts, CS Pin 2 würde ich nach unten weg, wie bei Pin 1

Der ResetDruckschalter hat doch kein R/C-Glied?? Nur der RotaryDecoder hat 3. Jeweils einen PullUp mit 10K sowie 100nF nach GND. Laut Datenblatt wird noch jeweils ein 10K  (R8/R4) für die Rechts/LinksDrehung zum ArduinoPin benötigt
ZitatDer Reset Taster braucht kein R/C Glied, aber bei anderen Tastern für Funktionen würde ich das einbauen.

Edit: Habe nochmal eine virtuelle Platinenansicht hier eingestellt.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

PeMue

#32
Hallo Tobias,

ZitatDer ResetDruckschalter hat doch kein R/C-Glied?
Stimmt. Da war aber der Kopf schneller als die Finger: ich wollte anmerken, dass ich bei einem Taster ein R/C Glied einbauen würde. Danach habe ich gemerkt, dass es sich um einen Reset Taster handelt und der das ja wirklich nicht braucht.

IC2 Pin 5 bzw. Duko siehe Anhang, himmelblaue Pfeile.

Der CS müsste S3 heißen, siehe Anhang.

TGS2600
Ich befürchte, da fehlt der Widerstand Rs zwischen 2 und 3 (siehe Datenblatt) und ich nehme an, dass R18 und R22 ein Spannungsteiler 5 V/3,3 V darstellt. Da müsstest Du erst den RS aus dem (gewählten) Gesamtwiderstand RL nach der Formel im Datenblatt berechnen und dann den Spannungsteiler daraus ableiten (siehe Anhang). Ich würde es auch etwas "lesbarer" zeichnen (siehe Anhang).

TGS4161
Den TGS4161 habe ich auf die Schnelle nicht verstanden, aber die zwei OPs sind glaube ich ok, da kann man ggf. ja noch die Widerstände variieren. Ich hatte auch den falschen Schaltplan. Mir ist die Formel delta EMV=EMV1 - EMF2 nicht klar. Wenn das wirklich so ist, dass bei 350 ppm die Ausgangsspannung Null ist und bei (10000-350) ppm die Ausgangsspannung 90 mV wirst Du mit dem Impedanzwandler vermutlich nicht viel Freude haben. Da würde ich auf jeden Fall einen Verstärker mit Faktor 30-35 dahinterklemmen, damit das Ausgangssignal messbar ist. Versorgungssannung ist 5 V.

Was mich wundert, dass Target nicht meckert, dass die Leitungen nicht angeschlossen sind (siehe Anhang).

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

stgeran

Ich hab auch noch eine Frage: Sensor CO2 IC7 und IC8. Kannst Du mit einem dualen IC nicht Platz sparen? Offset Einstellungen hast Du ja nicht angeschlossen. Eventuell den TLC272?
Gruß Gerhard
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

stgeran

Ahhh, vergiss mein Geschwafel. Ich hatte noch die Version 1. und nicht die Version ZWISCHEN Deinen Layouts.
Gruß Gerhard
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Tobias

Hi Peter,
ich habe das Gefühl du schaust auf eine alte Version des Schaltplanes. Die von dir Aufgeführten Widerstände gehören ganz woanders hin bzw sind schon nicht mehr existent....
Der letzte Stand ist  auf seite 2, letzte Post.
Hier mal die relevanten Ausschnitte....

Wenn ich das Datenblatt des TGS4161 richtig verstanden habe, muss man ihn an frischer Luft kalibrieren, d.h. die Ausgangsspannung bei rfrischer Luft kann man mit 350ppm gleichsetzen. Dann kann man alle folgenden Ausgangsspannungen liniear auf ppm umrechnen. Der TLC271 ist ausdrücklich im Datenblatt empfohlen, incl Schaltplan.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

stgeran

Du arbeitest ohne Verstärkung. Ich habe einen Part gefunden, in dem von einer Verstärkung ausgegangen wird (bis max 3,3V)
Try using different GAIN values starting from 1 until you get 3.2999999 in the output, usually the GAIN value is between 7-10.
Sonst frikelt der Sensor bei kleinen Spannungen herum. Ich habe es auch so verstanden, daß die größte CO Konzentration den kleinsten Ausgangswert ergibt.
The greater the CO2 concentration is the lowest the output voltage will be
Also bei "normaler Konzentration" sollte man, deren Meinung nach, die Ausgangsspannung auf die knapp 3,3V setzen, damit sich eine vernünftige Auflösung ergibt.
Gruß Gerhard
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Tobias

Hi Gerhard,
betrachtest du den TLC271 nicht als Verstärkung? Ich habe diese schaltung aus dem Datenblatt übernommen. Dummerweise bringt der TLC bei 5V VCC bis zu 3.8V Output. Da der TLC ab 3V kann, werde ich ihn noch umhängen auf 3.3V VCC, damit ist auch der Output heruntergedrückt... Ich hoffe das ist die bessere alternative zum Spannungsteiler. Die Platine ist schon reichlich voll.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

stgeran

So wie der TLC geschaltet ist, wirkt er als Spannungsfolger. d.h. Eingangsspannung ist gleich Ausgangsspannung. Das macht man, wenn man eine hochohmige Quelle hat, die man nicht belasten will (darf). Der Ausgang ist dann entsprechend niederohmig zur weiteren Verwendung. In Deiner Version V1 hatte der erste Verstärker n+1 (36K / 10K) ist gleich Verstärkung 3,6+1 macht 4,6. Der zweite Verstärker hat dann (100K / 10K) Faktor 10. In Summe 46. Das kommt mit deren Vorschlägen schon hin.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Tobias

Hi Gerhard,
du hast mich abgehängt... Bin auch kein Hardwareentwickler, ich adaptiere nur sehr viel aus fertigen Schaltungen.
Kanst du ev. mal aus deiner Sicht die korrekte Verschaltung des TGS aufzeichnen?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

stgeran

Hi Tobias,
das dauert einen Augenblick, ich muß mich da mal einlesen.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

stgeran

Zäumen wir das Pferd mal von hinten auf: Was braucht Dein Eingang am Panstamp in Volt oder Millivolt für eine vernünftige Anzeige? Und ich hab immer noch nicht ganz verstanden: Steigt die Ausgangsspannung bei steigender Konzentration oder fällt sie.
The greater the CO2 concentration is the lowest the output voltage will be
Zitat PeMue:
Wenn das wirklich so ist, dass bei 350 ppm die Ausgangsspannung Null ist und bei (10000-350) ppm die Ausgangsspannung 90 mV wirst Du mit dem Impedanzwandler vermutlich nicht viel Freude haben. Da würde ich auf jeden Fall einen Verstärker mit Faktor 30-35 dahinterklemmen, damit das Ausgangssignal messbar ist. Versorgungssannung ist 5 V.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

justme1968

an panstamp wäre es ideal den bereich von 0v bis 3.3v soweit wie möglich auszureizen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Tobias

#43
Laut Datenblatt....
Bei 350ppm gibt einen Output von ca 220mV. Bei 3500ppm einen Output von ca 180mV. Da DeltaEMF = EMF1-EMF2 ist und Delta EMF steigt bei höherer Konzentration, muss EMF2 also fallen. Alos korrekt: Bei Frischer Luft ist der Output am höchsten und fällt mit steigender Konzentration

Laut Datenblatt muss der Sensor kalibriert werden. Der höchste Output bei 350ppm ist 490mV. Ich denke, deswegen ist in Schaltung2 auch ein Poti zum Kalibrieren mit drin... Diesen habe ich aber auf der kleinen Platine nicht unterbringen können....
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

PeMue

Zitat von: Tobias am 27 März 2014, 14:17:41
Bei 350 ppm gibt einen Output von ca 220mV. Bei 3500 ppm einen Output von ca 180mV.
Mir ist nicht ganz klar, wo diese Werte herkommen, das Diagramm zeigt m.E. etwas anderes.
Alles in Allem finde ich das Datenblatt schwer lesbar. Aber egal, was wir herausbekommen, ein 1:1 Verstärker reicht nicht, sondern es braucht den Impedanzwandler und einen nachfolgenden Verstärker mit Verstärkung (geschätzt) 20 - 40. Ich werde mir das Datenblatt heute Abend noch einmal zu Gemüte führen, vielleicht bekomme ich die Erleuchtung  ;D

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