Skocz do zawartości

Sterowanie IR - Jak to się robi


Pomocna odpowiedź

Napisano

Dobry wieczór, 

 

Zbudowałem sobie web-radio na ESP32, potem dodałem sterowanie pilotem - głośność, wybór stacji - potem chciałem dodać włączanie i wyłączanie radyjka. I okazało się,  że z tym mam największy problem. Znaczy wyłączyć się da, ale włączyć już nie... po wyłączeniu microkontroler nie jest zasilany i oczywiście nie odbiera sygnałów z pilota. 

Dodałem więc drugi microkontrloer (ATTiny) i drugi odbiornik IR tylko do sterowania zasilaniem. To działa, ATTiny jest zasialane cały czas, pobór prądu zdecydowanie mniejszy niż całego radia.

Ale wciąż mam wrazenie że to nie jest rozwiązanie tylko obejście problemu. Wyobrażam sobie, że można by odcinać zasilanie tylko wyświetlacza i decodera audio, a ESP32 trzymać cały czas pod napięciem, pozwoliłoby to zrezygnować z ATTiny i drugiego odbiornika, ale nieco by skomplikowało układ i jednak ESP32 chyba pobiera dużo więcej prądu niż ATTiny, a mnie się marzy wersja zasilana bateryjnie...

Jak to się robi profesjonalnie?

Niby nic ważnego radyjko, w końcu, działa, ale gdzieś mnie coś gryzie i chciałbym lepiej. Podpowiecie coś?

Z góry bardzo dziękuję. 

(edytowany)

Właśnie tak jak zrobiłeś. Nie wiem jaki to ATtiny, ale pobawiłbym się jakimś usypianiem tego mikrokontrolera.

Tak teoretyzując: na samym ESP można by było to zrealizować pisząc pogram na ULP który bo stwierdzeniu, że coś tam się dzirje na odbiorniku wybudza główny procesor... nie próbowałem takich kombinacji, ale chyba po to ten ULP siedzi w ESP32...

Edytowano przez ethanak
(edytowany)
1 godzinę temu, ethanak napisał:

po to ten ULP siedzi w ESP32...

Tak mam zrobione w sterowniku rolet, odbiór kodów pilota uruchamia przerwanie i wybudza mikrokontroler, nie potrzeba dodatkowych układów, problem w tym że odbiornik podczerwieni również pobiera kilka mA więc do zasilania bateryjnego nie jest to zbyt dobrze rozwiązanie a akumulatorki trzeba co jakiś czas ładować

@Michael_L Na którym pinie GPIO masz podłączony odbiornik podczerwieni?

EDIT:

Popatrzyłem co rynek ma do zaoferowania jeśli chodzi o low power dla odbiorników IR i https://www.vishay.com/docs/82491/tsop382.pdf pobiera 350 do 450µA w stanie spoczynku, zależnie od natężenia światła zewnętrznego. Są jeszcze chińskie sgr2838l gdzie producent chwali się poborem na poziomie ~50µA ciężko uznać na ile ten parametr jest prawdziwy. Tak czy inaczej jest możliwe zbudowanie systemu który będzie w stanie czuwania pobierał poniżej 1mA - na zasilanie bateryjne za dużo, dla zasilania akumulatorowego być może jest to do przyjęcia 

Edytowano przez _LM_

Dziękuję bardzo, ATTiny (chyba) 85 - nie mam tego tutaj. Na którym GPIO mam odbiornik - nie pamiętam, a nie mam tutaj ani układu ani schematu. 

Dzięki za uwagi - będę musiał poczytać o ULP.

(edytowany)

A i jeszcze jedno - spróbowałbym na początek z jednym odbiornikiem podłączonym do attiny i równolegle do esp - zawsze to ileś tam mA mniej.

Ewentualnie dać attiny13a zamiast 85 - nie wiem ile prądu to żre w trybie aktywnym przy 3.3V/1.2MHz ale do miliampera nie dochodzi.

Edytowano przez ethanak
(edytowany)
14 godzin temu, Michael_L napisał:

Na którym GPIO mam odbiornik - nie pamiętam

nie wszystkie piny obsługują tryb wybudzania, to musisz sprawdzić jeśli chcesz z tego skorzystać. Nie wiem jak w twoim urządzeniu, ja mam podłączony odbiornik do gpio który dekoduje za pomocą RMT, do wybudzania używam GPIO4. Także sygnał IR wchodzi na dwa wejścia ESP jeden do dekodowania, drugi do wybudzania mikrokontrolera. Myślę że poświęcając nieco czasu można uzyskać dobre efekty bez dodatkowych zewnętrznych układów

Edytowano przez _LM_
  • Lubię! 1
43 minuty temu, _LM_ napisał:

można uzyskać dobre efekty bez dodatkowych zewnętrznych układów

Ja też tak myślę.

44 minuty temu, _LM_ napisał:

sygnał IR wchodzi na dwa wejścia ESP

Jak już tak upraszczamy, to czemu nie może to być to samo wejście, odpowiednio wybrane? Choćby te GPIO4.

  • Lubię! 1
1 godzinę temu, jand napisał:

Jak już tak upraszczamy, to czemu nie może to być to samo wejście, odpowiednio wybrane? Choćby te GPIO4

W moim projekcie dla dekodera IR używam GPIO19 który nie jest obsługiwany w trybie RTC i nie można za jego pomocą wybudzić mikrokontrolera, to był pewien błąd projektowy który obszedłem krosując na pcb do GPIO4. Stąd takie dziwne połączenie, sam się zacząłem zastanawiać czemu tak 🙂 

20 godzin temu, Michael_L napisał:

GPIO 17 obsługuje sygnał z odbiornika IR

Ten pin nie jest podłączony do GPIO_RTC więc będziesz musiał zrobić crosa na wolny pin który tego używa, lub jeśli jest możliwość to przełączyć na któryś pin listy poniżej https://www.techtonions.com/esp32-pinout-simplified-no-more-confusion-when-choosing-gpios/#RTC-GPIOs

 chrome_WSeJBEW3yq.thumb.png.a012c9678fa5f78d49615f1dbcbac279.png

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...