HB-UNI-Sen-CURRENT - Stromsensor

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

Moderator: Co-Administratoren

ivo-int
Beiträge: 300
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von ivo-int » 21.02.2021, 13:12

Hallo Jerome

Ich habe dein Strommess-Projekt schon vor geraumer Zeit angesehen. Coole Sache.

Für den Testaufbau verwende ich ebenfalls ein Display.

Sehe ich das richtig dass ich über

Code: Alles auswählen

#define NUM_CHANNELS
die Anzahl Kanäle definiere?

Wenn ich da weniger als 3 eintrage z.B. 2 oder 1 dann werden der Stromwert nicht mehr übertragen. Zur Zeit sehe ich nicht wo das Problem liegt und wie es beseitigen kann. Kannst du mir bitte weiter helfen?

Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von jp112sdl » 21.02.2021, 13:25

ivo-int hat geschrieben:
21.02.2021, 13:12
Wenn ich da weniger als 3 eintrage z.B. 2 oder 1 dann werden der Stromwert nicht mehr übertragen.
Ja
ivo-int hat geschrieben:
21.02.2021, 13:12
Zur Zeit sehe ich nicht wo das Problem liegt und wie es beseitigen kann.
Ich weiß ja nicht, was das Problem überhaupt ist

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

ivo-int
Beiträge: 300
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von ivo-int » 21.02.2021, 13:34

jp112sdl hat geschrieben:
21.02.2021, 13:25
Ich weiß ja nicht, was das Problem überhaupt ist
Wenn ich bei

Code: Alles auswählen

#define NUM_CHANNELS 1
eintrage wird der Angezeigte Stromwert von L1 nicht zu der CCU übertragen. Bei 3 Kanälen aber schon.
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von jp112sdl » 21.02.2021, 15:10

Hast du die anderen beiden ungenutzt hier auskommentiert?
https://github.com/jp112sdl/HB-UNI-Sen- ... #L359-L360

Den hier brauchst du auch nicht
https://github.com/jp112sdl/HB-UNI-Sen- ... T.ino#L369

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

ivo-int
Beiträge: 300
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von ivo-int » 21.02.2021, 15:34

jp112sdl hat geschrieben:
21.02.2021, 15:10
Hast du die anderen beiden ungenutzt hier auskommentiert?
Hatte ich einmal. Aber auf der Spurensuche bin ich wieder zurück und habe alles aktiviert.

Der Hund scheint in dieser Funktion hier zu liegen.

Code: Alles auswählen

void init(uint8_t msgcnt, uint32_t *sensorValues, _currentSensor *cs, bool batlow) {
      Message::init(0xa + (NUM_CHANNELS * 3), msgcnt, 0x53, BCAST, batlow ? 0x80 : 0x00, cs[0].ok ? 0x41 : 0xC1);
      DPRINT(F("+Current (#0) : ")); DDECLN(sensorValues[0]);
      pload[0] =  (sensorValues[0] >> 8) & 0xff;
      pload[1] = (sensorValues[0])   & 0xff;
      for (uint8_t s = 0; s < NUM_CHANNELS - 1; s++) {
        DPRINT(F("+Current (#")); DDEC(s + 1); DPRINT(F(") : ")); DDECLN(sensorValues[s+1]);
        pload[2+(s * 3)] = (cs[s+1].ok ? 0x42 : 0xC2) + s;
        pload[3+(s * 3)] = (sensorValues[s+1] >> 8) & 0xff;
        pload[4+(s * 3)] =  sensorValues[s+1]       & 0xff;
      }
    }
Hier die Aufzeichnung mit 3 Sensoren. Die Werte werden korrekt übertragen. Zur Info: L2 ist auf L1 gebrückt, L3 hat korrekterweise Störung da der A/D Wandler fehlt.
Die Übertragenen Funktelegramme habe ich in den nachfolgenden Listen gelöscht da es aus meiner Sicht in der oben aufgeführten Schleife liegt. Aber ich steige nicht durch. :shock:

Code: Alles auswählen

15:11:27.786 -> measure() #2 of 2
15:11:27.786 -> +Current (#0) : 4
15:11:27.832 -> +Current (#1) : 3
15:11:27.832 -> +Current (#2) : 0
15:11:38.960 -> measure() #1 of 2
15:11:50.050 -> measure() #2 of 2
15:11:50.050 -> +Current (#0) : 6
15:11:50.050 -> +Current (#1) : 8
15:11:50.050 -> +Current (#2) : 0
15:12:01.214 -> measure() #1 of 2
15:12:12.331 -> measure() #2 of 2
15:12:12.331 -> +Current (#0) : 6
15:12:12.331 -> +Current (#1) : 7
15:12:12.331 -> +Current (#2) : 0
Hier die Aufzeichnung mit 1 Sensor.

Code: Alles auswählen

15:16:12.068 -> measure() #1 of 2
15:16:23.165 -> measure() #17 of 2
15:16:23.165 -> +Current (#0) : 0
15:16:34.309 -> measure() #16 of 2
15:16:34.309 -> +Current (#0) : 0
15:16:45.438 -> measure() #15 of 2
15:16:45.438 -> +Current (#0) : 0
15:16:56.603 -> measure() #16 of 2
15:16:56.603 -> +Current (#0) : 0
15:17:07.713 -> measure() #14 of 2
15:17:07.713 -> +Current (#0) : 0
15:17:18.854 -> measure() #15 of 2
15:17:18.854 -> +Current (#0) : 0
15:17:29.998 -> measure() #15 of 2
15:17:29.998 -> +Current (#0) : 0
15:17:41.136 -> measure() #14 of 2
15:17:41.136 -> +Current (#0) : 0
15:17:52.283 -> measure() #15 of 2
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von jp112sdl » 21.02.2021, 16:25

ivo-int hat geschrieben:
21.02.2021, 15:34
Der Hund scheint in dieser Funktion hier zu liegen.
Glaub nicht. Der Sensor-Wert ist ja schon 0 wenn er dort in der Message ankommt.
ivo-int hat geschrieben:
21.02.2021, 15:34

Code: Alles auswählen

15:16:23.165 -> measure() #17 of 2
kommt von
https://github.com/jp112sdl/HB-UNI-Sen- ... T.ino#L383

Das ist schon komisch.

Hab aber auch grad nix zum Testen.

Hast du das Gerät mit 1 Kanal mal komplett resettet (Ablernen mit Werkseinstellungen) und neu angelernt?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

ivo-int
Beiträge: 300
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von ivo-int » 21.02.2021, 16:38

jp112sdl hat geschrieben:
21.02.2021, 16:25
Hab aber auch grad nix zum Testen.

Hast du das Gerät mit 1 Kanal mal komplett resettet (Ablernen mit Werkseinstellungen) und neu angelernt?
Ich habe eines zum testen. Ja, ich habe das Gerät mit Ablernen und Reset neu angelernt. Das gab keine Abhilfe.

Mir ist noch etwas aufgefallen. Wenn kein Strom fliesst wird "measure() #1 of 2" und danach "measure() #2 of 2" mit Strom 0 ausgegeben.

Sobald ein Strom fliesst wird einfach eine Zahl bei "measure() #17 of 2" angezeigt. Der Strom bleibt auf 0 obwohl auf dem Display z.B. 0,6A angezeigt wird.
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

1techone
Beiträge: 213
Registriert: 19.01.2016, 10:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 49 Mal
Danksagung erhalten: 19 Mal

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von 1techone » 21.02.2021, 17:47

jp112sdl hat geschrieben:
26.07.2020, 22:18
Mal wieder ein kleines Projekt von mir. :lol:

Hallo,
dieses Projekt:
https://github.com/jp112sdl/HB-UNI-Sen-CURRENT
gehört doch dringend in AskSin++ Projekte ! :!:

Gruß Jürgen

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von jp112sdl » 21.02.2021, 18:26

ivo-int hat geschrieben:
21.02.2021, 16:38
Sobald ein Strom fliesst wird einfach eine Zahl bei "measure() #17 of 2" angezeigt. Der Strom bleibt auf 0 obwohl auf dem Display z.B. 0,6A angezeigt wird.
So richtig hab ich grad noch keinen Plan, wo da was durcheinander kommt.
Das darf "#x" nicht größer werden als "of x"

Die beiden hier hast du auch auskommentiert?

Code: Alles auswählen

         cumulatedCurrentValues[1] += cs[1].current;
         cumulatedCurrentValues[2] += cs[2].current;
         

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

ivo-int
Beiträge: 300
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: HB-UNI-Sen-CURRENT - Stromsensor

Beitrag von ivo-int » 21.02.2021, 19:41

jp112sdl hat geschrieben:
21.02.2021, 18:26
Die beiden hier hast du auch auskommentiert?

Code: Alles auswählen

         cumulatedCurrentValues[1] += cs[1].current;
         cumulatedCurrentValues[2] += cs[2].current;
         
Das habe ich noch einmal versucht, ein Reset und neu angelernt. Jetzt werden die Zähler richtig angezeigt aber nicht der Messwert.
In der WebUi steht immer noch 0, auf dem Display 0,1A und zur Übertragung 0,6

Code: Alles auswählen

19:34:50.839 -> measure() #1 of 2
19:35:01.446 -> measure() #2 of 2
19:35:01.446 -> +Current (#0) : 6
19:35:01.482 -> <- 0B 15 84 53 F34E01 000000 00 41  - 47202
19:35:12.094 -> measure() #1 of 2
19:35:12.094 -> ignore 0C 98 86 5A 694ED1 000000 B8 F1 27  - 47792
19:35:22.667 -> measure() #2 of 2
19:35:22.701 -> +Current (#0) : 7
19:35:22.701 -> <- 0B 16 84 53 F34E01 000000 00 41  - 48408
19:35:23.156 -> ignore 0C 9A 86 70 5C42F3 000000 00 E4 28  - 48418
19:35:30.651 -> ignore 13 12 00 83 70741F F00001 00 00 FC 1A 29 70 BA C9 9B C5  - 48447
19:35:31.859 -> ignore 0C 98 84 70 694ED1 000000 00 F1 26  - 48461
19:35:33.312 -> measure() #1 of 2
19:35:34.082 -> ignore 0C 02 86 70 5C43DA 000000 00 EE 29  - 49033
19:35:37.966 -> ignore 16 28 84 53 F30101 BC4192 00 41 00 73 42 00 C8 43 00 EB 44 00 9F  - 49053
19:35:43.910 -> measure() #2 of 2
19:35:43.910 -> +Current (#0) : 6
19:35:43.948 -> <- 0B 17 84 53 F34E01 000000 00 41  - 49661
Ich komme hier nicht mehr weiter. Der Plan B ist einfach ein 3 Kanal Gerät zu erstellen und die beiden unbenutzten auszublenden. Wenn du hier Ratlos bist dann kann ich es vergessen. :?
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

Antworten

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