VL5310x time of flight senzor

Vse v zvezi z vašimi samogradnjami, popravili, idejami,....

VL5310x time of flight senzor

OdgovorNapisal/-a Protoncek » 08 Apr 2024, 16:28

Tale senzor uporabljam za merjenje nivoja peletov v peči. Sicer dela odlično, le občasno se zapraši, zalčne kazati premalo, takrat pa zrak sprej naredi svoje in spet dela.
Zanima pa me, če je kdo delal s tem senzorjem: kaj / če sploh - lahko dam spredaj, da ga zaščitim pred prahom? Vem, da sem takrat, ko sem ga dobil poskusil s steklom, pa je kazal nekam čudno...
Kakšni nasveti? Ali pa kakšen drug senzor? Mora pa biti kompatibilen z ESPHome. UZ sem imel, pa ni ok, preveč skače.
Uporabniški avatar
Protoncek
 
Prispevkov: 6374
Pridružen: 17 Jan 2015, 21:41
Kraj: Mengeš
Zahvalil se je: 785 krat
Prejel zahvalo: 972 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 199

Re: VL5310x time of flight senzor

OdgovorNapisal/-a JernejL » 08 Apr 2024, 19:33

Brisalec? Spelješ kompresor pa spihaš prah na neki interval?
Uporabniški avatar
JernejL
 
Prispevkov: 1529
Pridružen: 17 Apr 2016, 19:58
Kraj: Maribor
Zahvalil se je: 265 krat
Prejel zahvalo: 474 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 94

Re: VL5310x time of flight senzor

OdgovorNapisal/-a mucek » 08 Apr 2024, 20:22

Lahko das stekelce, moras pa senzor skalibrirati. Poglej Application note okrog tega ...
... lahko pa se tudi motim ...
Uporabniški avatar
mucek
 
Prispevkov: 3038
Pridružen: 18 Jan 2015, 21:20
Kraj: Ljubljana
Zahvalil se je: 107 krat
Prejel zahvalo: 1267 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 246

Re: VL5310x time of flight senzor

OdgovorNapisal/-a Protoncek » 08 Apr 2024, 20:52

Hm.. aja, to se da kalibrirat? Priznam, nisem hudo natančno bral datasheeta, ker mi je takoj oživel, ko sem prekopiral primer v esphome navodilih. Sem pa, kot rečeno, opazil, da je kazal čudno, ko sem dal steklo spredaj. Hvala za namig, bom poiskal.

JernelL: hja, problem je, ker trenutno ni nič pred senzorjem. Ker je le-ta hudo majhen ga je težko čistit, pa tudi po moje se zna zabasast, če ne bo zaščite.
Uporabniški avatar
Protoncek
 
Prispevkov: 6374
Pridružen: 17 Jan 2015, 21:41
Kraj: Mengeš
Zahvalil se je: 785 krat
Prejel zahvalo: 972 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 199

Re: VL5310x time of flight senzor

OdgovorNapisal/-a JernejL » 09 Apr 2024, 04:55

Protoncek je napisal/-a:Hm.. aja, to se da kalibrirat? Priznam, nisem hudo natančno bral datasheeta, ker mi je takoj oživel, ko sem prekopiral primer v esphome navodilih. Sem pa, kot rečeno, opazil, da je kazal čudno, ko sem dal steklo spredaj. Hvala za namig, bom poiskal.

JernelL: hja, problem je, ker trenutno ni nič pred senzorjem. Ker je le-ta hudo majhen ga je težko čistit, pa tudi po moje se zna zabasast, če ne bo zaščite.


Odvisno od tipa prahu imaš možnost tudi steklo in kak specifičen antistatičen premaz da se bi manj nabiralo. Mogoče bi bilo dost da samo zmontiraš kakšen vibrator od telefona in bi vibracije sčistile prah dol.
Uporabniški avatar
JernejL
 
Prispevkov: 1529
Pridružen: 17 Apr 2016, 19:58
Kraj: Maribor
Zahvalil se je: 265 krat
Prejel zahvalo: 474 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 94

Re: VL5310x time of flight senzor

OdgovorNapisal/-a Protoncek » 09 Apr 2024, 07:29

Sem malce brskal in celo našel, da očitno obstaja ORIGINAL zaščita. Zanimivo, da prej tega nisem opazil... :_banghead
Bom naročil tega, pa da vidim, če bo ok, če ne ga pa poskusim skalibrirat.
Namreč, ni težava to občasno brisat (ali tudi vsakič, ko polnim pelete), težava je, ker je senzor brez zaščite majhen, ranljiv in ga je težko očistit, pa tudi kot rečeno bi se po moje prej ali slej uničil, zato je bolje, da je zaščiten.
Uporabniški avatar
Protoncek
 
Prispevkov: 6374
Pridružen: 17 Jan 2015, 21:41
Kraj: Mengeš
Zahvalil se je: 785 krat
Prejel zahvalo: 972 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 199

Re: VL5310x time of flight senzor

OdgovorNapisal/-a Pobes » 09 Apr 2024, 21:56

Ko izmeris razdaljo potem pretvoris v kaksno drugo vrednost da veš koliko peletov še imaš? Recimo v % ?
Pobes
 
Prispevkov: 1077
Pridružen: 17 Jan 2015, 21:51
Kraj: Ajdovščina
Zahvalil se je: 38 krat
Prejel zahvalo: 173 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 89

Re: VL5310x time of flight senzor

OdgovorNapisal/-a Protoncek » 10 Apr 2024, 09:55

Ja, pretvorim v procente. Ta del ureja template senzor v HA - zdajle sicer razmišljam, če bi bilo mogoče ta del boljše pretvarjati že v ESPHome - v samem ESP modulu, pa potem v HA pošiljam direktno procente... :_think
Kot rečeno sem najprej imel UZ senzor (sr04...), a ta senzor kar dostikrat izmeri "kar nekaj", kar je treba sfiltrirat, pa tudi ni natančen, meritev se spreminja s temperaturo... Območje merjenja je pri meni od 0 (ajd, par cm, ko je 100%) pa do slabih 50cm, ko je 0% (takrat je sicer peletov notri še dobra vreča, a so pod rešetko, pa sem namerno naredil tako, da imam rezervo), zato ne rabim hude natančnosti, ampak spet pa ne, da mi niha a-la: 45% -- 50 -- 47 ---45--- itd... Tale laserski senzor je kilometre pred njim v tem smislu, meritev je res konstantna in točna.

V tej zimi mi je sicer samo dvakrat začel "čudno" kazat - v bistvu je bil "tank" prazen, senzor pa mi je kazal še tam 20-25%. Panike tu ni, ker itak pri tem nivoju vedno že dosipam pelete. Obakrat je pomagalo, ko sem ga spihal. Zato bi rad neko zaščito, saj s krpo (ali prstom) po stekelcu potegneš spotoma in na slepo, medtem ko moram zdaj dvignit pokrov na peletih in spihat senzor (ga imam v 3d printanem ohišju, samo majhna luknjica je).
Uporabniški avatar
Protoncek
 
Prispevkov: 6374
Pridružen: 17 Jan 2015, 21:41
Kraj: Mengeš
Zahvalil se je: 785 krat
Prejel zahvalo: 972 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 199

Re: VL5310x time of flight senzor

OdgovorNapisal/-a Pobes » 10 Apr 2024, 11:55

A bi upal delit kako imaš urejeno v HA ? jaz imam na novo HA in ne poznam vsega, bi mi pomagalo pri nadaljnih projektih ;)
Tudi z ESPhome se še spoznavam, nisva še prijatelja zaenkrat ;)
Pobes
 
Prispevkov: 1077
Pridružen: 17 Jan 2015, 21:51
Kraj: Ajdovščina
Zahvalil se je: 38 krat
Prejel zahvalo: 173 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 89

Re: VL5310x time of flight senzor

OdgovorNapisal/-a Protoncek » 10 Apr 2024, 13:18

Seveda...
v ESPHome imam takole (poleg ostalih obveznih priteklin):
Koda: Izberi vse
i2c:
  sda: GPIO5
  scl: GPIO4
  scan: True
  id: bus_a

sensor:
  - platform: vl53l0x
    name: "Zaloga peletov FAST"
    id: zaloga_peletov_fast
    address: 0x29
    update_interval: 1s
    long_range: true
    accuracy_decimals: 0
    unit_of_measurement: cm
    filters:
      - round: 2
      - multiply: 100
      - offset: -1

  - platform: copy
    source_id: zaloga_peletov_fast
    name: "Zaloga peletov"
    accuracy_decimals: 0
    unit_of_measurement: cm
    filters:
      - median:
          window_size: 70
          send_every: 60
          send_first_at: 50


PRVI senzor (z imenom ...FAST) je tisti, ki komunicira s laser senzorjem. Tega imam nastavljeno na osveževanje 1s, zato da imam takoj rezultat, če kaj preverjam, testiram... ker senzor vrne meritev v metrih je tukaj filter: najprej zaokrožim na dve decimalki (npr. 0.344 --> 0.34), potem množim s 100, da dobim centimetre, na koncu dodam še offset (za 1cm mi je preveč kazal). Tu bi sicer lahko spustil filter "round: 2" in samo množil s 100, ker imam višje "accuracy_decimals: 0", ampak "accuracy" samo odreže decimalke, torej spremeni 34.8 -->34, medtem ko filter round zaokroži na najbližjo vrednost. Brez tega filtra bi torej dobil 34, s tem filtrom dobim 35. Pazi, vrstni red je pomemben, ko pišeš filtre, ker računa po vrsti. Lahko bi najprej množil s 100, a bi moral potem dati round: 0. Lahko bi tudi dal prej offset, če bi ga dal na prvo mesto bi za enak efekt moral dati: offset: 0.01 . itd...

DRUGI senzor (platform copy) je kopija prvega - rezultat jemlje od prvega, s tem, da je dodan median filter, ki malo "zravna" nihanje. Tega uporabljam v dashboardu.

V HA pa imam konverzijo v procente: v studio code server (urejevalnik kode, če nimaš ga namesti v dodatkih) pa imam template senzor, ki centimetre pretvori v procente:

Koda: Izberi vse
- name: nivo_peletov
  unit_of_measurement: "%"
  state: >
    {%set min_cm=5%}
    {%set max_cm=49%}

    {%if states('sensor.zaloga_peletov_fast') in('unknown', 'unavailable')%}
    200
    {%elif states('sensor.zaloga_peletov')|int < min_cm%}
    100
    {%elif states('sensor.zaloga_peletov')|int > max_cm%}
    0
    {%else%}
      {{((1-((states('sensor.zaloga_peletov')|int-min_cm)/max_cm))*100)|round(0)}}
    {% endif %}


Ta koda je narejena tako, da če je senzor offline mi kaže 200%, kar je nerealno in posledično takoj vem, da je nekaj narobe (ter s pogojno kartico vklopim opozorilo). Sicer pa vse, kar je pod 5cm je 100%, vse kar je nad 49cm je 0%
Uporabniški avatar
Protoncek
 
Prispevkov: 6374
Pridružen: 17 Jan 2015, 21:41
Kraj: Mengeš
Zahvalil se je: 785 krat
Prejel zahvalo: 972 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 199


Vrni se na Pametne hiše

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost