Vorstellung HB-UNI-Sen-CO2-STM32

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von HMSteve » 18.12.2022, 22:58

Lokverführer hat geschrieben:
18.12.2022, 10:00

Noch ein Nachtrag: Bei Temperaturen <0°C läuft wohl eine Variable übrig und das Display zeigt mindestens 4-stellige Werte an.
Danke fuer den Hinweis, das ist offenbar schon mein Fehler gewesen. Mach mal bitte in https://github.com/bestfan/HB-UNI-Sen- ... 2.ino#L316 aus dem uint ein int.

Viele Gruesse,
Stephan

Frank :-)
Beiträge: 6
Registriert: 03.12.2022, 18:28
System: CCU
Wohnort: Thüringen
Hat sich bedankt: 1 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von Frank :-) » 22.12.2022, 23:06

Hallo bestfan,
ich finde deine angepasste Version mit dem STM32 echt toll 😊
das mir dem SMD Löten ist nicht so mein Ding.

Ich habe auf GitHub zwar die beiden Platinenversionen gefunden vermisse aber irgendwie
die Schaltpläne dazu da ich das ganze erstmal auf einem Steckboard aufbauen und testen möchte.

Kannst du mir irgendwie die Schaltpläne zukommen lassen oder veröffentlichen?
Gerne auch per PN.

Hättest du vielleicht auch noch gegen Gebühr eine Platine übrig?

Viele Grüße und schöne Weihnachten
Frank

bestfan
Beiträge: 21
Registriert: 16.05.2022, 22:30
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 2 Mal
Danksagung erhalten: 11 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von bestfan » 23.12.2022, 12:59

Hallo Frank,

es freut mich, wenn das Projekt Dir und auch anderen gefällt.
Da das mein erstes richtiges Projekt war, wollte ich auch erst einmal etwas mit einem "normalen" Board machen.
Zu deinen Fragen:
Ja, ich habe von beiden Varianten noch ein paar Platinen rumliegen. Bitte schreibe mir zur Klärung eine PN.
Eine Schaltplan gibt es zur Zeit nicht, und - ehrlich gesagt - hatte ich auch gedacht, dass das nicht unbedingt notwendig sei.
Ich werde Deine Anregung aber einmal aufnehmen, kann Dir aber nicht versprechen ob und wann ich dafür Zeit finden werde.
Stückliste fehlt ja auch noch. :(
Im Prinzip findest du die meisten notwendigen Information dazu in dem Quellcode. Die Pins des SPI-Interfaces des
CC1101 und des I2C Interfaces (EEPROM, BMP/E280 und SCD30) findest Du unter https://asksinpp.de/Projekte/der-pw/HM-LC-DW-WM/.
Da gibt es auch eine schönen Schaltplan :)
Ansonsten hier noch die SPI-Pins des ePD:
Blue Pill: CS -> PB12, CLK -> PB13, DIN -> PB15
Maple Mini: CS -> 31, CLK -> 30, DIN -> 28
Die Pins des MH-Z19 (serial3) kannst Du auf dem Pinout des jeweiligen Boards finden. Trotzdem hier noch die Verbindungen:
Blue Pill: RX -> PB10, TX -> PB11
Maple Mini: RX -> 1, TX -> 0

Ich hoffe, dass Du damit erst einmal weiterkommst, und ich wünsche Dir viel Spaß und Erfolg beim Aufbau über die Weihnachtstage.

Viele Grüße
bestfan

p.s. generell glaube ich aber, dass es wohl nicht mehr viele Asksinpp-Projekte auf Basis von STM32-Boards geben wird.
Wenn ich das Projekt heute noch einmal anfangen würde, würde ich das auf Basis einem RP2040 machen.

Frank :-)
Beiträge: 6
Registriert: 03.12.2022, 18:28
System: CCU
Wohnort: Thüringen
Hat sich bedankt: 1 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von Frank :-) » 02.01.2023, 23:09

Hallo bestfan,
vielen dank für deine Info, habe mir die verbindungen einfach aus der Platine herausgesucht.

Habe das ganze mit einem STM32 Bluepill und MH-Z19 auf nem Steckboard aufgebaut,
habe aber einige Probleme ☹.
Sobald ich EEprom oder BME280 an den I2C Bus anschließe bleibt die SW beim hochlaufen stehen.
Nachdem ich auf #define STORAGEDRIVER InternalEprom und #define USE_CC1101_ALT_FREQ Umgestellt habe konnte ich den Aufbau Problemlos an meiner CCU3 anlernen. Bekomme mangels BM280 Sensor natürlich nur den CO2 Wert angezeigt und die RGB LED zeigt auch die zum gemessenen Wert passende Farbe an. Leider zeigt mir das EPaper nichts an.
(den BME280 und das Display habe ich mit einem Testprogramm getestet – beides OK)

Den STM32 muss ich mit einem USB-Seriell Adapter Programmieren.

Konnte zwar den Bootloader aufspielen und das Board wurde danach auch per USB erkannt aber beim Hochladen der SW kommt folgende Fehlermeldung:

Resetting to bootloader via DTR pulse
Searching for DFU device [1EAF:0003]...
dfu-util - (C) 2007-2008 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Couldn't find the DFU device: [1EAF:0003]


Mit folgender Einstellung:
Board: Generic STM32F103C series
Port: COM15 (Generic STM32……
Variant: STM32F103CB (20k RAM, 128k Flash)
Upload method: STM32duino bootloader

Könnt ihr mir dazu ein paar tips geben?

bestfan
Beiträge: 21
Registriert: 16.05.2022, 22:30
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 2 Mal
Danksagung erhalten: 11 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von bestfan » 03.01.2023, 19:14

Hallo Frank,

das mit der I2C Verbindung ist nicht so schön. Ich würde vielleicht einmal versuchen, den EEPROM im dem Beispiel
https://github.com/pa-pa/AskSinPP/blob/ ... eqTest.ino zum Laufen zu bekommen.
Der BME/P280 war bei mir nie ein Problem.
Frank :-) hat geschrieben:
02.01.2023, 23:09
Leider zeigt mir das EPaper nichts an.
In meiner Beschreibung auf Github https://github.com/bestfan/HB-UNI-Sen-CO2-STM32/ hatte ich bereits darauf hingewiesen:
If you decide to use a STM32 Blue Pill microcontroller, please, make sure that the STM32 bootloader is installed. It is possible to use the standard serial port to flash the software (or the bootloader), however the display won't work, because some of the connections are attached to debug pins.
Frank :-) hat geschrieben:
02.01.2023, 23:09
Resetting to bootloader via DTR pulse
Searching for DFU device [1EAF:0003]...
dfu-util - (C) 2007-2008 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Couldn't find the DFU device: [1EAF:0003]

Mit folgender Einstellung:
Board: Generic STM32F103C series
Port: COM15 (Generic STM32……
Variant: STM32F103CB (20k RAM, 128k Flash)
Upload method: STM32duino bootloader

Könnt ihr mir dazu ein paar tips geben?
Meine Vermutung ist, dass irgendetwas mit dem Treiber nicht sitmmt. Ich hatte auf einem meiner (Linux)-Rechner ein ähnliches Verhalten, bis ich herausfand, dass das dort notwendige Kernel-Modul "cdc-acm" in der Blackliste stand und daher nicht geladen wurde.

Viele Grüße

Bestfan

Lokverführer
Beiträge: 40
Registriert: 30.01.2019, 11:33
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von Lokverführer » 14.01.2023, 10:41

Hallo zusammen,

ich wollte mich auch noch einmal zurückmelden.

Die mehr oder weniger häufigen Abstürze scheinen an defekten EEPROM gelegen zu haben, wobei auch eine zweite Charge vom Ali nicht 100% fehlerfrei war. Nach dem ein oder anderen Austausch liefen jetzt 3 Sensoren für mehrere Tage ohne Absturz.

Ich habe derzeit 3 Sensoren nachgebaut, zwei mit MH-Z19 und einen mit SCD30.
Sehe ich das richtig, dass die die autoCalibration beim MH-Z19 ausgeschaltet bekomme, wenn ich in der Sens_MHZ19.h L79 auskommentiere?

Was mich doch recht wundert sind die stark abweichenden Absolutwerte zwischen SCD30 und MH-Z19. Außerdem zappeln die Werte der MH-Z19 recht stark.

Hier in der Grafik wurden am Anfang die Sensoren folgendermaßen kalibriert:
Alle Sensoren auf die Terrasse, 20 min warten, SCD30 durch langen Druck auf den USR BTN kalibrieren, die MH-Z19 durch Verbinden des HD pin mit GND für min 7 s.
Danach noch ein paar Minuten draußen gelassen, die Werte lagen stabil bei rund 400 ppm mit kleinen Abweichungen.
Anschließend zurück ins Zimmer, alle Sensoren nebeneinander. Wie man sieht, misst SCD30 grundsätzlich höhere Werte, aber auch die MH-Z19 differieren zunächst (einer ist mit auskommentierter L79 der andere ohne). 24 h später passen sich die MH-Z19 aneinander an. Als alle Werte drastisch sinken wurde Stoßgelüftet. Während der gesamten Prozedur (auch bei der Kalibrierung) wurde die Spannungsversorgung nicht unterbrochen.
Grafana CO2 Sensoren.jpg

bestfan
Beiträge: 21
Registriert: 16.05.2022, 22:30
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 2 Mal
Danksagung erhalten: 11 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von bestfan » 15.01.2023, 20:26

Hallo Lokverführer,

vielen Dank für den sehr schönen Vergleich der beiden CO2 Sensoren. Aus meinen weniger systematischen Untersuchungen und der täglichen Beobachtung teile ich insbesondere die Erfahrung der tendeziell höheren Werte des SCD30. Regelungstechnisch sind solche Abweichungen natürlich nicht wirklich schön. :?
Lokverführer hat geschrieben:
14.01.2023, 10:41
Sehe ich das richtig, dass die die autoCalibration beim MH-Z19 ausgeschaltet bekomme, wenn ich in der Sens_MHZ19.h L79 auskommentiere?
Scheint ja im Prinzip zu funktionieren. Ich habe dafür immer die Übergabe der init-Anweisung des jeweiligen Sensors in der Sketch-Datei geändert (true/false).

Code: Alles auswählen

      #if defined useSCD30
        uint16_t scd30SamplingInterval = this->device().getList0().updIntervall() / 5;
        if (scd30SamplingInterval < 1) {scd30SamplingInterval = 1;}       
        if (scd30SamplingInterval > 30) {scd30SamplingInterval = 30;}
        DPRINT("SCD30 sampling interval : ");DDECLN(scd30SamplingInterval);
        scd30.init(device().getList0().altitude(), this->device().getList0().tempOffset10(), scd30SamplingInterval, false);
      #endif
      #if defined useMHZ19
        mhz19.init(true);
      #endif
Nachdem ich meinen einzigen MH-Z19 Sensor aus dem Büro wieder einmal nach Hause gebracht hatte, konnte ich in der Zwischenzeit auch die Kalibrierung des MH-Z19 über das Drücken des Usr-Button testen und die dazu notwendige Änderung in https://github.com/bestfan/HB-UNI-Sen-C ... ns_MHZ19.h einstellen.

Viele Grüße
bestfan

Lokverführer
Beiträge: 40
Registriert: 30.01.2019, 11:33
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von Lokverführer » 16.01.2023, 11:34

Hallo bestfan,
bestfan hat geschrieben:
15.01.2023, 20:26
Nachdem ich meinen einzigen MH-Z19 Sensor aus dem Büro wieder einmal nach Hause gebracht hatte, konnte ich in der Zwischenzeit auch die Kalibrierung des MH-Z19 über das Drücken des Usr-Button testen und die dazu notwendige Änderung in https://github.com/bestfan/HB-UNI-Sen-C ... ns_MHZ19.h einstellen.
ersteinmal Danke für die Anpassungen, aber die serielle Ausgabe sagt immer noch:
MHZ19: forced calibration FAILED

Wenn ich den USR BTN longpress im ungelüfteten Raum durchführe, bleiben die Messwerte bei 900 ppm. Das scheint also nicht zu funktionieren.


Was auch noch nicht schlecht wäre, ist ein negativer Temperatur-Offset über die Raspberrymatic. Aber dazu müsste wahrscheinlich das Add-On angepasst werden.

Viele Grüße
Lokverführer

bestfan
Beiträge: 21
Registriert: 16.05.2022, 22:30
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 2 Mal
Danksagung erhalten: 11 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von bestfan » 16.01.2023, 21:39

Lokverführer hat geschrieben:
16.01.2023, 11:34
ersteinmal Danke für die Anpassungen, aber die serielle Ausgabe sagt immer noch:
MHZ19: forced calibration FAILED
Vielen Dank für die Rückemeldung. Ich hatte vergessen, den Rückgabewert anzupassen, was ich jetzt korrigiert habe. Da die Lib keinen Wert bezüglich des (in)korrekten Durchlaufs der Kalibrierung zur Verfügung stellt, ist der Rückgabewert jetzt immer WAHR, was Dir aber nur bedingt helfen wird.
Denn bei meinem Sensor (MH-Z19B) funktioniert nämlich die Kalibierung, so wie es jetzt programmiert ist, tadellos.
Lokverführer hat geschrieben:
16.01.2023, 11:34
Was auch noch nicht schlecht wäre, ist ein negativer Temperatur-Offset über die Raspberrymatic. Aber dazu müsste wahrscheinlich das Add-On angepasst werden.
Auch im Code müssten noch einige Variablen anders deklariert werden, was ich bei angepasster Firmware auch gerne mache.
Aber am Ende muss HMsteve mal überlegen, ob er das in der Firmware umsetzen will.

Viele Grüße
bestfan

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Vorstellung HB-UNI-Sen-CO2-STM32

Beitrag von HMSteve » 16.01.2023, 22:16

Lokverführer hat geschrieben:
16.01.2023, 11:34
Was auch noch nicht schlecht wäre, ist ein negativer Temperatur-Offset über die Raspberrymatic. Aber dazu müsste wahrscheinlich das Add-On angepasst werden.
Bevor ich da Hand anlege: Ist das wirklich ein praktischer Anwendungsfall, weil die chinesischen Sensoren zu niedrige Temperaturen ausgeben? Nach meiner Beobachtung sind die Sensirion-Sensoren recht genau und durch den Einbau ins Gehaeuse bei leichter Eigenerwaermung wird regelmaessig etwas zu viel angezeigt.

Viele Gruesse,
Stephan

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“