Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

www
kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od kiklhorn »

Co vymýšlíš se tedy nedozvím, i tak zkusím odpovědět.
Nějak netuším co budeš připojovat záhadného na ten výstup že je tomu jedno zda tam bude úroveň napětí nebo PWM.

Odpověď na původní zadání - ESP8266 a výstup 0-5V
Na straně ESP použij https://esphome.io/components/output/esp8266_pwm.html
Elektronika za tím:
Poslední schema na https://dlnware.com/theory/Digital-analog-converter-DAC
PWM IN bude z ESP (3.3V). Mosfet VT1 dělá level shift, Vcc je těch požadovaných 5V
R4+C1 je integrační člen (na C1 bude "průměr" napětí PWM z Vcc úrovně), R5 vybíjí C1 aby byla reakce i na pokles střídy... Za tím nějaký rail-to-rail operák jako sledovač napětí. Na výstupu máš požadovaných 0-5V

Další varianta: ESP8266 a výstup PWM na úrovni 5V
Jen připojený level shifter, tedy buď nějaký koupený modul nebo už odkazované schéma (jen levá část po R4)

Další varianta: ESP32 a výstup PWM na úrovni 5V
Namísto esp8266_pwm použij https://esphome.io/components/output/ledc.html
elektronika stejná.

A poslední varianta: ESP32 a výstup 0-5V
Buď opět přes PWM, nebo použij https://esphome.io/components/output/esp32_dac.html a na něj pověs [google]stejnosměrný zesilovač rail to rail[/google] prostě RtR operák s kladnou zpětnou vazbou 5/3.3
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od kiklhorn »

Než jsem odpověděl tak koukám že proběhla nějaká konverzace, problém je tedy jiný - jak naprogramovat PWM...
PWM nastavíš maximálně frekvenci, to co potřebuješ je řídit střídu a ta se dělá třeba přes https://esphome.io/components/output/in ... vel-action

Téma přesouvám do ESPHome
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

miror
Aktivní autor
Aktivní autor
Příspěvky: 53
Registrován: 31. leden 2022, 22:47
Dal poděkování: 1 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od miror »

tiimsvk píše: 01. únor 2023, 11:25 toto by ti nepomohlo je tam opisane ako meniť dynamicky rychlosť ventilatora na zaklade teploty.. ty máš podobne na zaklade % batterie meniť dynamicky pwm a volty
https://www.speaktothegeek.co.uk/2023/0 ... e-control/
Dik to vyzerá dobre , len problém je že on používa externe čidla a ja potrebujem použiť entitu z home assistant .

miror
Aktivní autor
Aktivní autor
Příspěvky: 53
Registrován: 31. leden 2022, 22:47
Dal poděkování: 1 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od miror »

kiklhorn píše: 01. únor 2023, 12:20 Než jsem odpověděl tak koukám že proběhla nějaká konverzace, problém je tedy jiný - jak naprogramovat PWM...
PWM nastavíš maximálně frekvenci, to co potřebuješ je řídit střídu a ta se dělá třeba přes https://esphome.io/components/output/in ... vel-action

Téma přesouvám do ESPHome
Toto som našiel ,ale ja mam problém ako zakomponovať do toho programu tú entitu (udaj o nabití baterie v %) tak aby ovladala ten PWM signál

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 801
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od tiimsvk »

tak potom tu je riešenie ako implementovať entitu z ha do esphome
https://esphome.io/components/sensor/homeassistant.html

miror
Aktivní autor
Aktivní autor
Příspěvky: 53
Registrován: 31. leden 2022, 22:47
Dal poděkování: 1 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od miror »

Tak to nebude také jednoduché ,pretože nestačí iba nadstavit která entita sa ma použiť. Treba to aj naprogramovať ,teda napr.
ak bude baterka nabita na 95% bude na výstupe 10% PWM signálu ak bude na 96% bude na výstupe 20% PWM .........atd. A to je nad moje možnosti. Ale dik za pomoc.

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od Pete30 »

Pokud nám prozradíš k čemu to má ve finále sloužit potom třeba najdeme jednodušší řešení.
Zatím víme že máš senzor baterie, který měří % a chceš ovládat nějaké PWM na esp podle % baterie a to je vše :?
Po krocích ?
V jakých krocích ?
Plynule ?
Co ovládat ?
Automatizace na HA ?
Automatizace na esp ?
Pokud nejsem přítomen tak jsem na rybách ;)

miror
Aktivní autor
Aktivní autor
Příspěvky: 53
Registrován: 31. leden 2022, 22:47
Dal poděkování: 1 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od miror »

Ako som písal ,mam v HA entity konkrétne z BMS -ky ktorá riady nabíjanie, vybíjane baterie z FPV a jednu entitu, konkrétne "celkove napätie baterie v % ", ktorú chcem použiť na ovládanie ohrevu vody v zásobníku z prebytkov FPV. Teda ak sa baterka nabije na cca.95% začne sa prebytkami z FPV postupne nahrievať voda v zásobníku. Preto potrebujem dostať PWM signal z ESP32 na zaklade hodnoty z tejto entity a ten potom použiť ďalej na riadenie elektroniky toho ohrevu .To už mam poriešene, len momentálne to prepínam ručne čo je blbosť. Stačilo by to aj v krokoch teda 1% na baterke = 10%PWM signál.

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od kiklhorn »

dokumentace s vyhledáváním: https://esphome.io/

Dám příklad:

Senzor kterým si v defaultním "update interval"
načtu hodnotu jiného senzoru (ten v tomto kódu není, tiimsvk dával odkaz jak na něj) pomocí

Kód: Vybrat vše

lambda: return id(nejaky_homeassistant_sensor).state ;
následně ji proženu filtrem (spousta možných různých, projdi si dokumentaci) - chci vidět procenta namísto napětí
a přes blok za

Kód: Vybrat vše

on_value:
nebo on_value_range(projdi si dokumentaci): nastavím hodnotu výstupu.

Píšu to částečně z hlavy, doufám že nekecám a že x v on_value je už filtrovaná hodnota a ne raw_value - kdyžtak mne někdo opravte.

Kód: Vybrat vše

  
sensor  
  - platform: template
    name: "${device_name} procent baterie"
    id: bat_pct
    accuracy_decimals: 0
    unit_of_measurement: "%"
    device_class: battery
    lambda: return id(nejaky_homeassistant_sensor).state ;
    filters:
      - calibrate_polynomial:
         degree: 3
         datapoints:
          - 0.00 -> 0.0
          - 3.20 -> 0.0
          - 3.28 -> 10.0
          - 3.33 -> 20.0
          - 3.40 -> 30.0
          - 3.48 -> 40.0
          - 3.57 -> 50.0
          - 3.65 -> 60.0
          - 3.72 -> 70.0
          - 3.80 -> 80.0
          - 3.88 -> 90.0
          - 4.15 -> 95.0
          - 4.20 -> 100.0
      - lambda: |-
          if (x <= 100) {
            return x;
          } else {
            return 100;
          }
    on_value: 
      then:
        - output.set_level:
            id: light_1
            level: !lambda "return x/100;"
output:
  - platform: esp8266_pwm
    pin: GPIO3
    id: light_1
    # power_supply: power_supply_id
    inverted: false
    min_power: 0.00
    max_power: 1.00
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

miror
Aktivní autor
Aktivní autor
Příspěvky: 53
Registrován: 31. leden 2022, 22:47
Dal poděkování: 1 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od miror »

Tak som to skusil ale nieco je zle:

Kód: Vybrat vše

sensor:
  - platform: template
    name: "${device_name} procent baterie"
    id: bat_pct
    accuracy_decimals: 0
    unit_of_measurement: "%"
    device_class: battery
    lambda: return id (sensor.antbms_old_soc).state ;
    filters:
      - calibrate_polynomial:
         degree: 3
         datapoints:
          - 0.00 -> 0.0
          - 3.20 -> 0.0
          - 3.28 -> 10.0
          - 3.33 -> 20.0
          - 3.40 -> 30.0
          - 3.48 -> 40.0
          - 3.57 -> 50.0
          - 3.65 -> 60.0
          - 3.72 -> 70.0
          - 3.80 -> 80.0
          - 3.88 -> 90.0
          - 4.15 -> 95.0
          - 4.20 -> 100.0
      - lambda: |-
          if (x <= 100) {
            return x;
          } else {
            return 100;
          }
    on_value: 
      then:
        - output.set_level:
            id: light_1
            level: !lambda "return x/100;"
output:
  - platform: esp8266_pwm
    pin: GPIO3
    id: light_1
    # power_supply: power_supply_id
    inverted: false
    min_power: 0.00
    max_power: 1.00  
Přílohy
Bez názvu.jpg

Odpovědět

Zpět na „ESPHome“