HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

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

Moderator: Co-Administratoren

wolwin
Beiträge: 272
Registriert: 06.06.2018, 12:27
Hat sich bedankt: 11 Mal
Danksagung erhalten: 47 Mal

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von wolwin » 26.02.2020, 12:53

Hallo Jerome,
baue gerade für unsere drei Regenfässer Dein HB-UNI-Sen-LEV-US im DN 75 Rohr nach - super Projekt von Dir !! Beim Testaufbau ist mir aufgefallen, dass die Ruhestromaufnahme trotz Sensorabschaltung auf 85 uA stehen blieb. Fand ich zu hoch und hab folgendes gefunden:

In Zeile 278 wird der ECHO-Pin auf INPUT_PULLUP gesetzt:

Code: Alles auswählen

void setup(Device<Hal, UList0>* dev, uint8_t number, uint16_t addr) {
      Channel::setup(dev, number, addr);
      pinMode(SENSOR_ECHO_PIN, INPUT_PULLUP);
      pinMode(SENSOR_TRIG_PIN, OUTPUT);
      pinMode(SENSOR_EN_PIN, OUTPUT);
      sysclock.add(*this);
Setze ich den ECHO-Pin auf INPUT funktioniert alles immer noch, jedoch ist mit dieser Änderung die Ruhestromaufnahme auf die gewünschten 5 uA runter. Da ich jedoch nicht weiß, ob der von Dir eingesetzte Ultraschall Sensor einen Pullup Widerstand benötigt, könnte man alternativ noch nach der Zeile 155 ein pinMode(SENSOR_ECHO_PIN, INPUT_PULLUP); und vor Zeile 201 ein pinMode(SENSOR_ECHO_PIN, INPUT); einfügen.

Ich setze einen Ultrasonic RCW-0001 ein - bei dem reicht die Änderung in Zeile 278 ...
https://www.makershop.de/sensoren/dista ... -rcw-0001/

Soll ich mal einen Github - Issue aufmachen - übrigens: gleiches gilt auch für HB-UNI-Sen-DIST-US

Gruß
Wolfram

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von jp112sdl » 27.02.2020, 17:39

wolwin hat geschrieben:
26.02.2020, 12:53
könnte man alternativ noch nach der Zeile 155 ein pinMode(SENSOR_ECHO_PIN, INPUT_PULLUP); und vor Zeile 201 ein pinMode(SENSOR_ECHO_PIN, INPUT); einfügen.
Der Vorschlag klingt gut.
wolwin hat geschrieben:
26.02.2020, 12:53
Soll ich mal einen Github - Issue aufmachen - übrigens: gleiches gilt auch für HB-UNI-Sen-DIST-US
Ein PullRequest wäre besser

VG,
Jérôme ☕️

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

wolwin
Beiträge: 272
Registriert: 06.06.2018, 12:27
Hat sich bedankt: 11 Mal
Danksagung erhalten: 47 Mal

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von wolwin » 10.03.2020, 15:39

Noch eine Frage ...

Kann ich Dich dazu bewegen :wink: den Wert der Füllhöhe 'fillingHeight' aus dem INO Script ebenfalls zur CCU zu übertragen? :?:

VG
Wolfram

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von jp112sdl » 10.03.2020, 15:53

Nein, ich plane derzeit generell keine weiteren Änderungen und mache nur noch Bestandspflege.

Theoretisch sollte es reichen, wenn du dir die
https://github.com/jp112sdl/JP-HB-Devic ... lev-us.xml
in den Ordner "/usr/local/addons/jp-hb-devices-addon/customized_firmware" kopierst und den Datenpunkt selbst noch einfügst und im Sketch die Payload noch um den Wert erweiterst

VG,
Jérôme ☕️

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

wolwin
Beiträge: 272
Registriert: 06.06.2018, 12:27
Hat sich bedankt: 11 Mal
Danksagung erhalten: 47 Mal

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von wolwin » 10.03.2020, 17:51

jp112sdl hat geschrieben:
10.03.2020, 15:53
in den Ordner "/usr/local/addons/jp-hb-devices-addon/customized_firmware" kopierst und den Datenpunkt selbst noch einfügst und im Sketch die Payload noch um den Wert erweiterst
Ok - im INO die Payload erweitert:

Code: Alles auswählen

class MeasureEventMsg : public Message {
  public:
    void init(uint8_t msgcnt, uint8_t percent, uint32_t liter,  uint32_t hoehe, uint8_t volt) {
      Message::init(0x0f, msgcnt, 0x53, BIDI | WKMEUP, percent & 0xff, volt & 0xff);
      pload[0] = (liter >> 24) & 0xff;
      pload[1] = (liter >> 16) & 0xff;
      pload[2] = (liter >>  8) & 0xff;
      pload[3] = liter & 0xff;
      pload[4] = (hoehe >> 24) & 0xff;
      pload[5] = (hoehe >> 16) & 0xff;
      pload[6] = (hoehe >>  8) & 0xff;
      pload[7] = hoehe & 0xff;
    }
};
... und in der XML-Datei im 'reinen Blindflug' eingefügt ... ist das richtig so - und wie kommt denn die Wertbezeichnung 'Höhe' in die WebUI ???

Code: Alles auswählen

...
       <parameter id="DISTANCE" operations="read,event" control="NONE">
         <logical type="float" min="0.0" max="1000.0" unit="cm"/>
         <physical type="integer" interface="command" value_id="DISTANCE" no_init="true">
           <event frame="MEASURE_EVENT"/>
         </physical>
         <conversion type="float_integer_scale" factor="1.0"/>
       </parameter>
...		
      </paramset>  
      <paramset type="LINK" id="HB-UNI-Sen-LEV-US_link" />
    </channel>
  </channels>
  <frames>
      <frame id="MEASURE_EVENT" direction="from_device" event="true" fixed_channel="1" type="0x53">
         <parameter type="integer" index="9.0" size="1.0" param="FILLING_LEVEL" />
         <parameter type="integer" index="10.0" size="1.0" param="BATTERY_VOLTAGE"/>
         <parameter type="integer" index="11.0" size="4.0" param="FILLING_LITER"/>
	
	 <parameter type="integer" index="12.0" size="2.0" param="DISTANCE" />
	 
      </frame>
  </frames>
  <paramset_defs></paramset_defs>
</device>

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von jp112sdl » 10.03.2020, 18:23

wolwin hat geschrieben:
10.03.2020, 17:51
Wertbezeichnung 'Höhe' in die WebUI ???
Das wird etwas aufwendiger.
Du musst dann die /www/config/stringtable_de.txt und /www/webui/js/lang/de/translate.lang.stringtable.js anpassen.
Schau mal hier: https://github.com/jp112sdl/JP-HB-Devic ... en-dist-us

Achtung: Nach einem CCU FW Update ist das wieder weg!


Noch ein Hinweis: Du hast im Sketch die Höhe mit 4 Byte und in XML mit 2 Byte angegeben.

VG,
Jérôme ☕️

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

wolwin
Beiträge: 272
Registriert: 06.06.2018, 12:27
Hat sich bedankt: 11 Mal
Danksagung erhalten: 47 Mal

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von wolwin » 10.03.2020, 20:48

jp112sdl hat geschrieben:
10.03.2020, 18:23
Das wird etwas aufwendiger.
:shock: das kann man wirklich so sagen !!!

Nach ein wenig 'System-Forschung' möchte ich mich lieber doch nicht mit diesen HM Verfahren beschäftigen .... 8)

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von jp112sdl » 10.03.2020, 21:15

wolwin hat geschrieben:
10.03.2020, 20:48
das kann man wirklich so sagen !!!
50% der Entwicklung eines HB-Gerätes stecken auf Seiten der CCU.
Man sieht davon nur nix - außer das fertige Endergebnis, dargestellt in der WebUI.
Und die Translations sind da wirklich noch das aller einfachste. ;)

VG,
Jérôme ☕️

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

wolwin
Beiträge: 272
Registriert: 06.06.2018, 12:27
Hat sich bedankt: 11 Mal
Danksagung erhalten: 47 Mal

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von wolwin » 11.03.2020, 14:33

jp112sdl hat geschrieben:
10.03.2020, 18:23
Du musst dann die /www/config/stringtable_de.txt und /www/webui/js/lang/de/translate.lang.stringtable.js anpassen.
Zwischenablage01.jpg
Wenn Du mir jetzt noch verraten kannst, warum der DISTANCE Eintrag aus dem XML in der WebUI nicht umgesetzt wird … in den entsprechenden WWW Verzeichnissen sind die Werte ja alle schon vorhanden vorhanden:

In /www/config/stringtable_de.txt: HB_GENERIC_DIST|DISTANCE ${stringTableHbGenericDistDistance}
In /www/webui/js/lang/de/translate.lang.stringtable.js: "stringTableHbGenericDistDistance" : "Abstand",

Beim neuen Anlernen findet keine Umsetzung statt - irgendwas fehlt scheinbar noch ?

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von jp112sdl » 11.03.2020, 15:07

Der LEV-US ist vom Typ "CAPACITIVE_FILLING_LEVEL_SENSOR" wohingegen der DIST-US vom Typ "HB_GENERIC_DIST" ist.

Entweder du nimmst HB_GENERIC_DIST| ganz weg oder fügst nohc einen CAPACITIVE_FILLING_LEVEL_SENSOR|DISTANCE hinzu

VG,
Jérôme ☕️

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

Antworten

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