ESP8266 PWM + gotowy moduł PWM

Witam
Zbudowałem sterownik oświetlenia do akwarium bazując na ESP8266 i gotowym module PWM. Wszystko działa, ale tak jak powinno. Chodzi o samo generowanie PWM. Ledy działają w zakresie wysterowania 45-100%. Poniżej 45% mrugają a jak jeszcze trochę mniej to gasną całkowicie.

esphome:
  name: akwarium
  friendly_name: Akwarium

esp8266:
   board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: 

ota:
  password: 

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Akwarium Fallback Hotspot"
    password: 


time:
  platform: sntp
  id: my_time


switch:
  - platform: gpio
    pin:
      number: GPIO05
      inverted: true
    name: Rel 1
  - platform: gpio
    pin:
      number: GPIO04
      inverted: true
    name: Rel 2



output:
  - platform: esp8266_pwm
    pin: GPIO12
    frequency: 9765 Hz
    id: pwm_output_1
    inverted: false
    #D5
  - platform: esp8266_pwm
    pin: GPIO13
    frequency: 9765 Hz
    id: pwm_output_2
    inverted: false
    #D6
  - platform: esp8266_pwm
    pin: GPIO14
    frequency: 9765 Hz
    id: pwm_output_3
    inverted: false
    #D7


light:
  - platform: monochromatic
    output: pwm_output_1
    name: "Akwarium zimne"
    default_transition_length: 30s
  - platform: monochromatic
    output: pwm_output_2
    name: "Akwarium cieple"
    default_transition_length: 30s
  - platform: monochromatic
    output: pwm_output_3
    name: "Gablota"
    default_transition_length: 30s


captive_portal:

Musisz więcej napisać o zastosowanych LED’ach. Elektronika po ich stronie mysi być dostosowana do ściemniania.

Ledy nie mają elektroniki. Są to zwykłe taśmy LED 12V o różnych barwach.
Nie wiem, czy problem nie leży po stronie elektronicznej. Moduł PWM który kupiłem to: Moduł PWM

Masz schemat? bo po ofercie nikt nie zgadnie co to za cudo.
Po zdjęciu w ofercie oceniam, że nie ma tam żadnej zaawansowanej elektroniki - wielokrotny transoptor w obudowie DIL + jakieś MOSFETy mocy.
Nie widać żadnych kondensatorów, które by mogły wygładzać napięcie zasilające (tu może leżeć problem).

Działanie PWM możesz zweryfikować wysterowując pojedynczą LED na każdym wyjściu bez stosowania tego modułu.

ESP8266 nie ma wbudowanego żadnego sprzętowego modułu funkcjonalnego, który by mógł sterować sprzętowo PWM więc jest to realizacja czysto programowa i teoretycznie może mieć błędy dla dość niestandardowych parametrów - jeśli test bez zewnętrznego modułu się nie uda to zmień czas przejścia np. na 1s

Schematu nie mam. Poprzednio miałem zrobiony sterownik na arduino. Sygnał z modułu szedł prosto na bramkę Mosfetu, oczywiście podciągnięty chyba pod masę. Nie stosowałem tam żadnych kondensatorów i nikt ich nie zalecał podczas projektowania.
Obecny moduł ma jak zauważyłeś ma wielokrotny transoptor.
Sprawdzę podłączając zwykłego LED-a pod wyjście.
Czy przyczyną może być pomieszanie logiki - zasilanie modułu 5V, zamiast 3V?

Powinieneś napisać - schematu nie chce mi się szukać…

Po 10s w google, szukanie po grafice:

Nie wiem czy ktoś zalecał czy nie, ale to zupełne podstawy elektroniki, by przy obciążeniu impulsowym zapewnić kondensatory w torze zasilania.

W więc w torze zasilania być powinny, no chyba, że masz zasilacz o nadmiarowej obciążalności i podłączony dostatecznie grubymi przewodami.


Jakkolwiek pierwsze co powinieneś zrobić to test o którym mówiłem, czyli zweryfikować czy sygnał PWM generowany programowo jest prawidłowy.

Jeśli tak, to przyczyna jest w module wykonawczym z tranzystorami mocy (albo w zasilaniu).

Jeśli nie, to masz winowajcę - błędy w komponencie PWM dla ESP8266.

No w sumie może, ale bez schematu trudno ocenić - skoro są transoptory to mogą one być wysterowywane bez problemu z logiki 3,3V natomiast układ mocy zasilający same LEDy powinien być zasilany napięciem dla nich przewidzianym konstrukcyjnie - płytka powinna mieć możliwość osobnego zasilania obwodu wejściowego i wyjściowego (teoretycznie transoptory służą do separacji galwanicznej obwodów, ale używa się je też do dopasowania obwodów o różnych napięciach zasilania).

Edit - widzę, że @angler znalazł właściwy schemat i… są na nim kondensatory zwierające szpilki na wejściu transoptora - mogą być one odpowiedzialne za to dziwne zachowanie.
Sprawdzałeś ten moduł ze swoim projektem arduino?
Jaką tam masz częstotliwość PWM?

Z innej beczki (nie pasuje do tego modułu, który masz!!) LEDy transoptorów można wysterować sygnałem niskim (można w ESP przełączyć GPIO w tryb OD) a wtedy dopuszczalne jest nieco wyższe napięcie zasilania LEDów transoptora (bo i tak zapewniają one spadek napięcia).

Tak patrzę na kartę katalogową PS2801-4 i możliwe, że przy sygnale 3,3V może już brakować napięcia dla wysterowania tranzystora transoptora.

1 polubienie

Ten moduł nie działa dobrze z logiką 3,3V , jak nie chcesz się bawić w jakieś tranzystory na wyjściach z ESP to odpuść sobie ten gotowy moduł.
Chińczyk wstawia taki opis do niego


Zaznaczyłem to co ważne.
Całkiem niedawno budowałem podobne urządzenie do akwarium i zastosowałem cztery takie moduły

Działa to bardzo przyzwoicie, pojedyncze diody LED 1W zaczynają działać przy 8% i osiągają pełną moc przy 100%. Brak jakiegoś migotania czy innych efektów ubocznych.

1 polubienie

Dziękuję wszystkim za pomoc.
Minimum 9V, to może być to. Sprawdzę ten moduł wysyłając sygnał z generatora PWM, przypomniało mi się że mam takowy i ma zasilanie zdaje się do 12V.
Dam znać jakie są efekty moich kombinacji.