Mam ESP8266 i ESP32. Robiąc różne rzeczy IoT natrafiłem na problem z małą ilością pamięci Heap (ESP8266). Wielokrotnie zdarzało się, że pamięci Heap było za mało, co powodowało crash ESP i ponowne jego uruchomienie.
Mam zatem pytanie do osób korzystających z ESP8266 oraz ESP32.
Robiłem przed chwilą test tej pamięci poprzez komendę ESP.getFreeHeap() i moje wyniki są następujące: ESP8266 = 50KB, ESP32 = 307KB. Pytanie mam, czy wartości te (KB) są stałe
Jeśli mówisz o esp32 i esp8266 to nie mają takiego kształtu. Ale nie mam pewności czy nie masz na myśli przypadkiem dev boardów z procesorami esp32 i 8266
  • Odpowiedz
Zrobiłem aplikację na telefon do sterowania bramą wjazdową na NodeMCU. Z pilota usunąłem microswich i wlutowałem kable. Wykorzystałem tranzystor NPN C547B, pomiędzy Emiter i Kolektor daję pola z microswich'a a Bramę zasilam z pinu Nodemcu. Problem jest taki że jak zwieram kable ręcznie to dioda w pilocie miga błyskawicznie i pilot działa. A jak zwiera go tranzystor to dioda na pilocie miga 3 razy wolniej i nie działa. Nie znam się na
GrubyGrubiutki - Zrobiłem aplikację na telefon do sterowania bramą wjazdową na NodeMC...

źródło: temp_file7785580928389199184

Pobierz
@GrubyGrubiutki: Najprościej i naszybciej rozwiążesz to stosując przekaźnik - odizolujesz układ i będzie problem rozwiązany. Mógłbyś to jeszcze rozwiązać przy pomocy optoizolatora który ma dwa plusy w tym przypadku: jest dużo mniejszy i nie zużywają się styki. Z tym miałbyś więcej zabawy jeżeli nie siedzisz w elektronice.
  • Odpowiedz
  • 1
@henk to co mam w głowie obsłuży mi 2 przyciski jednym silnikiem i nie muszę się ograniczać do konkretnej aplikacji. Mogę np sterować nim za pomocą telegrama
  • Odpowiedz
Mam drobny problem - chciałbym rozszerzyć swojego ESP8266 o dodatkowe porty, użyłem w tym przypadku ekspandera MCP23017, niestety on pozwala na użycie na wyjściu zbyt małego natężenia (bodajże ok. 9 mA na każdy port). Potrzebuję sterować elementami jak np. SSR, które potrzebują nawet 25mA. Jak mogę zatem zwiększyć te natężenia z 9mA? Słyszałem, że może są jakieś moduły zwiększające natężenia, ale jak się zwą, jak brzmi ich fachowa nazwa?
Chyba, że są
@MisiekD: ich fachowa nazwa to tranzystor, prostszego rozwiązania nie widzę. Jak nie wiesz jak z nich korzystać w necie jest dużo wiedzy, to podstawowy komponent półprzewodnikowy także znajdziesz o tym wszystko co się da
  • Odpowiedz
@MisiekD: nie jestem w 100% bo kitajce na ali piszą jak piszą, a ja jestem automatykiem, a nie typowy elektronikiem (jak już to hobbysta).

Zauważ że tam są małe tranzystory (na płytce z ali). Wydaje mi się że te moduły uruchamiają się przy 2.5VDC i pobierają 2mA- z punktu widzenia twoich wyjść (prąd bazy tranzystora na tej płytce).
Te tranzystory dopiero włączają triaka, robią za "wzmacniacze sygnału prądowego".
Łącznie jeden kanał
RobBobb - @MisiekD: nie jestem w 100% bo kitajce na ali piszą jak piszą, a ja jestem ...

źródło: kitajcowyopis

Pobierz
  • Odpowiedz
Mam takie elektroniczne pytanie. Chciałbym zastosować przykładowo tranzystor 2N2222 do sterowania obwodem. Załóżmy, że chciałbym zasilić układy, które w sumie potrzebują 800mA. Napięcie bazy dałem 3.3 (sterowanie NodeMCU). Natomiast co z voltage drop? Ile powinna wynosić ta wartość dla 2N2222? Czy ona (voltage drop) zmienia się w zależności od podania napięcia/natężenia?

#nodemcu #elektronika #elektryka #elektronikadiy #mikrokontrolery #arduino #esp #esp8266
MisiekD - Mam takie elektroniczne pytanie. Chciałbym zastosować przykładowo tranzysto...

źródło: 4da9f1486d

Pobierz
@MisiekD: każdy element elektroniczny ma dusze w postaci takiego czarnego dymu
tak długo jak czarny dym znajduje się w elemencie - element żyje - a po jego uwolnieniu - umiera
jednym z powodów takiego czegoś jest próba pociągnięcia 800mA prądu z 600mA tranzystora
  • Odpowiedz
Mam w domu bramę otwieraną skrzydłowo. Potrzebuję mierzyć ile % bramy jest już otwarte (i czy w ogóle się ona otwiera). Kiedyś wpadłem na pomysł, że na zawiasie bramy zamontuję enkoder. Enkoder działać działa, ale jest bardzo nieprecyzyjny. Moja brama ma kąt rozwarcia 90*, a enkoder przy danym ułożeniu pokazuje tylko 3 wartości - to niestety za mało. Szukałem czy jest jakiś enkoder z przekładnią, ale znaleźć nie mogę. Być może ktoś
  • 1
enkoder liniowy absolutny


@mag_zbc: no powiem Ci, że tym to się jeszcze nie bawiłem. Ale cholerstwo jest dokładne. Tylko czy ta linka wytrzymałaby śniegi? Tak czy siak, ewentualnie myślę jeszcze nad potencjometrem, z uwagi na niskie koszty. Ten enkoder absolutny raczej drogi :)
  • Odpowiedz
Mam problem z ogrzewaczem wody, który naprawiam. Wykorzystuję ESP8266 do sterowanie trzema grzałkami 400V (przy użyciu 3 SSR-ów). Do odczytu temperatury wykorzystuję sensor DS18B20. Problemem jest natomiast czujnik temperatury DS18B20, który "wstrzymuje" działanie ESP8266 w celu odczytu temperatury (na ok. 100ms). Czas ten jest dość duży i uniemożliwia mi częstsze włączanie/wyłączanie SSR-ów w celu lepszej kontroli temperatury grzałek. Z innego posta otrzymałem informację, że można odczytywać temperaturę ze scratchpada, a nie czekać
@Jarek_P no ja to zrozumiałem właśnie, że to przepływ 20kw a nie zbiornik. Stąd pomysł z komparatorem, zawsze to jakieś zabezpieczenie. Również nie wiem czy bym się podjął mając podejrzewam większe doświadczenie niż op. Nie bez powodu do dzisiaj w takich konstrukcjach stosuje się asicy albo stare pic kodowane w c czy nawet asemblerze. Bezpośrednie sterowanie grzałki przez procki diy pokroju ESP, Tiny czy megi328 to proszenie się o kłopoty.
edit. @
  • Odpowiedz
Mam problem z tranzystorem 2N3904. Chciałem przy użyciu ESP8266 (napięcie 3.3V) wysterować 3 SSR-y (łącznie potrzebują natężenia 75mA do funkcjonowania).
Do bazy tranzystora podpiąłem rezystor 3.3K Ohm (tak wyszło mi z kalkulatora), jednak na wyjściu otrzymuję tylko 2.2V zamiast 3.3V. Ktoś może mi powiedzieć co robię źle? :/

#mikrokontrolery #elektronika #nodemcu #esp8266 #arduino #elektryka
MisiekD - Mam problem z tranzystorem 2N3904. Chciałem przy użyciu ESP8266 (napięcie 3...

źródło: temp_file.png3802249832772341306

Pobierz
@MisiekD: schemat jest zły. W tranzystorze npn obciążenie włączasz w obwód kolektora, nie emitera. Poniżej poprawny, pierwszy z brzegu z netu, kondensator widoczny na schemacie nie jest potrzebny, ten opornik 1k przy SSRrze w sumie też nie, odpowiedni masz już w samym przekaźniku.
Jarek_P - @MisiekD: schemat jest zły. W tranzystorze npn obciążenie włączasz w obwód ...

źródło: 132sterSSR

Pobierz
  • Odpowiedz
@MisiekD: zasadniczą. Tranzystor bipolarny włączasz prądem, płynącym w obwodzie baza-emiter, a ten zależy od napięcia, które przykładasz na bazę względem emitera. Jeśli emiter masz wprost na masie, to podanie napięcia >0,6V (w skrócie temat traktując) włączy tranzystor. Przy obciążeniu w emiterze, prąd płynący przez to obciążenie spowoduje, że napięcie na emiterze się podniesie, Ube zmaleje i tranzystor się częściowo zatka.
  • Odpowiedz
@MisiekD proste obliczenie - prąd kolektora (czyli 3x prąd twojego SSR) dzielony przez wzmocnienie beta tego tranzystora (strzelam że coś między 200 a 500?) musi być prąd bazy.
powiedzmy 10mA na SSR, 30mA sumarycznie prąd kolektora, beta 300, to masz 0.1mA prądu na bazie

rezystor obliczasz: - zasilanie bazy to będzie 3v z esp, minus 0.7v spadku na bazie = 2.3v , i to dzielisz przez prąd 0.1mA = wychodzi rezystor 23kohmy
  • Odpowiedz
@MisiekD tak. ale jeśli tranzystor ma pracować jako włącznik a nie regulowany rezystor to dajesz znacząco większy prąd bazy niż wynikałby z prądu kolektora, oczywiście w granicach przyzwoitości czyli zamiast 0.1mA to powiedzmy 0.5mA, a nie 10 miliamper na bazę.
dzięki temu tranzystor jest nasycony czyli przewodzi maksymalnie mocno jak się da , i najmniej się grzeje.
  • Odpowiedz
Siemka, mam duży problem ze swoim ESP8266, chodzi o wypisywanie danych z mikrokontrolera (duża ilość danych) wprost do przeglądarki.
No więc, chciałbym zmodernizować moją funkcję, aby zbierać dane z logów i następnie wysłać je wszystkie do przeglądarki. Najpierw próbowałem funkcji beginResponseStream, ale moja tablica jest zbyt duża, aby można ją było wysłać raz (tablica ma 300 wierszy i każdy wiersz ma 100 wartości typu char). W efekcie tym, do przeglądarki trafia
@MisiekD: imho, nie wierz na 100% w to co wypluwa ChatGPT, bo lubi sobie wymyślać odpowiedzi. Bing przynajmniej dodaje źródła, na których się opiera (choć i tak daleko mu do doskonałości)
  • Odpowiedz
@zobq: a to fakt, często trzeba go naprawadzić na dobrą odpowiedź. Ja najczęściej korzystam z niego do pisania prostych skryptów i wyjątkowo dobrze to działa - chociaż to myślę, że przez "opensourcowość" softu do którego robię skrypty, rzadko muszę doprecyzować o co chodziło, albo raz mi się zdarzyło, że dałem mu gdzie program wypluł błąd i się poprawił.
Poza skryptami używam go tylko do zadawania pytań, tak jak w tym przypadku,
  • Odpowiedz
Hej, chciałem ukończyć funkcję logującą do ESP8266, ale mam głupi problem, a zarazem pewnie jest bardzo prosty do rozwiązania. Niestety nie mam już pomysłów i nawiasem mówiąc, nie mam pojęcia, dlaczego końcówka danych z końca jednej statycznej tablicy (originalStringToCharArray) nakłada się na początek danych w pustej tablicy (logs).
Może ktoś mnie oświeci.

Fragment kodu, którego dotyczy problem:

const int iloscLogow = 10;
const int dlugoscJednegoLogu = 100;
static
@MisiekD: to jedna z cech biblioteki standardowej w językach C/CPP - strcpy kopiuje zawartość nie zwracając uwagi na długość (tzn czy się zmieści do bufora czy nie), jest odpowiednik który zwraca na to uwagę, strncpy. W twoim przypadku twój ciąg znaków ma długość 110 znaków, co jest większe niż 100. Ze względu na to jak przechowywane są zmienne w pamięci, znaki kopiowane są dalej, nadpisując zawartość kolejnej zmiennej.
  • Odpowiedz
Hej poszukuję danego rozwiązania (płytki bądź gotowego układu), który będzie działał tak jak przekaźnik, jednak będzie zbudowany w oparciu np. tranzystory/optocoupery w celu zapewnienia dużej ilości przełączeń napięcia 230V sterując sygnałem napięcia np. 3V.

A może istnieje jakiś gotowy układ (coś jak optocouper) Urządzenia jakie potrzebowałbym zasilić są z mocą rzędu max 100W (np. pompa obiegowa 80W).

Na Chinach znalazłem taką płytkę jak poniżej, natomiast z wysyłką potrafi kosztować i 4-5$, a
MisiekD - Hej poszukuję danego rozwiązania (płytki bądź gotowego układu), który będzi...

źródło: temp_file.png2665755280210799782

Pobierz
Hej,
jak utworzyć obiekt (coś jak tablicę albo po prostu tablicę) dla Arduino (ESP8266), w której zarezerwuję 50 miejsc w pamięci RAM (by uniknąć fragmentacji) wraz z zarezerwowaniem 20 znaków (char) dla każdej pozycji w tabeli?
Nigdy takiego czegoś nie robiłem (nie miałem potrzeby), ale z racji niewielkiej pamięci w ESP8266 i chęci uniknięcia fragmentacji w RAM, chciałbym z tym poeksperymentować :)

#mikrokontrolery #nodemcu #esp8266 #esp #elektronika #programowanie #iot #arduino
  • 0
@sorek: nie rozumiem jak :D Nie da się jakoś zdefiniować tablicy, aby odgórnie zdefiniować, że ma zarezerwować X pozycji w tablicy o wielkości 20 znaków (jakichkolwiek)?
  • Odpowiedz
Siemka,
czy istnieje jakiś sposób, aby w ESP8266 utworzyć zmienną globalną, która będzie zmienną String i po np. 5 sekundach zmienna ta za pomocą polecenia (nie wiem jakiego, czy to możliwe?) będzie usuwana z pamięci RAM i w miejsce niej będzie tworzona zmienna o takiej samej nazwie i typie, jednak w pełni pusta bez zajętej pamięci RAM? Czy taka operacja jest możliwa?
Potrzebuję opracować mechanizm do logowania danych, jednak danych niekiedy w
@MisiekD:

1. podejście ala "c" - dwywymiarowa tablica charów o stałej wielkości (static char log_buffer[MAX_LEN][MAX_LOGS]) Zaleta to szybkość i brak alokacji pamięci w trakcie pracy. Wada, to na stałe zajęty fragment pamięci. Logi zapisujesz do tablicy cyklicznie - nadpisujesz najstarszy wpis.
2. podejście ala c++ - fifo złożone z std::string
3. podejście sieciowe - wysyłaj logi jaki pakiety UDP w sieci lokalnej.
  • Odpowiedz
Mirki, czy jest możliwe przesyłanie danych integer z pythona(klient) na esp8266 nodemcu(serwer)? Bo w internecie nie mogę znaleźć takich przykładów. Robię projekt gdzie zdalnie sterowany pojazd na bazie Arduino będzie przesuwał się według danych wyliczanych na komputerze w pythonie. Python będzie wysyłał te dane integer do ESP, które to będzie następnie te dane wysyłać po TX RX na arduino do którego będą podłączone silniczki od pojazdu.
#arduino #elektronika #esp32 #esp8266 #nodemcu #
@adam-walinski: http post/get to robi klient na serwerze.

python socket to obsługa serwera/klienta TCP

masz jakieś 20 różnych możliwości przesyłania danych w lewo i prawo.

Najpierw się określ co i gdzie i ile potrzebujesz wysyłać.
W jakim formacie
może jakiś JSON do serializacji danych żeby łatwo je potem obrabiać.
  • Odpowiedz
Hej, mam mega głupi problem ze swoim ESP8266. Mój moduł znajduje się na zewnątrz (pod dachem), mam do niego podłączone 3 przyciski, które są połączone z rezystorami 10kOhm (jak to w arduino). W okolicy zimy (tak od ok. 3 tygodni) zdarza się, iż przycisk "sam się naciska" i przekazuje sygnał taki jakby ktoś ręcznie go wcisnął. Zastanawiam się jak to rozwiązać, czy to normalne, czy może komuś się to już udało, a
MisiekD - Hej, mam mega głupi problem ze swoim ESP8266. Mój moduł znajduje się na zew...

źródło: comment_1670622820Cifyqe9QfutTmuMBOuQQPh.jpg

Pobierz
@MisiekD: szczelność to nie wszystko. zamknąłeś w środku powietrze w którym była jakaśtam woda, bo przecież wilgtność nie była 0%. ze spadkiem temperatury rośnie względna wilgotność, osiągasz punkt rosy i woda się skrapla, pewnie czasem w pechowym miejscu układu.

na próbę bym wrzucił jakiś pochłaniacz wilgoci do środka.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@echelon_: a co by dał ten kondensator? W sensie jak to miałoby działać? Chciałbyś zrobić odpowiednik tej metody software'owej, ale hardware'owo?
  • Odpowiedz
Siemka, czy istnieje jakiś sposób, by na czas grzania bufora ciepła kotłem na węgiel odłączyć pompę ciepła, by ta nie mogła się włączyć? Coś jak fotokomórka przy bramie wjazdowej (sygnał przerwany - brama automatycznie się zatrzymuje). Coś na zasadzie, że np. sterują przekaźnikiem:
- obwód zamknięty - pompa ciepła może się włączyć,
- obwód otwarty - pompa ciepła nie może się włączyć?
Nie wiem dokładnie jak działa pompa ciepła, ale zakładam, że
MisiekD - Siemka, czy istnieje jakiś sposób, by na czas grzania bufora ciepła kotłem ...

źródło: comment_1668200279gB7P0iBb8tnN8TkP7DUMNx.jpg

Pobierz
@MisiekD: już nie pamietam jak to sie tam robiło, ale zobacz na intrukcje aristona od ruskich oni lubia tam grzebać, byc może chodzi o algorytm tego g.na mega prymitywny, raczej żeby zabezpieczyć przez rozwaleniem układu lub jego zatkaniem, norma to wyłączanie sie w petli wszystkiego po chyba 5 próbie uruchomienia..

w takich urządzeniach to się robi seryjnie, nie przeskoczysz tego sam..

słyszałem o gościu co swoim rodzicom do pieca gazowego starego
  • Odpowiedz
@MisiekD Ja korzystam z M1117T-5.0 dla 5V i LD1117V33 dla 3.3V (input 15V) - należy tylko wiedzieć, że te stabilizatory mają spadek ~1V, są jeszcze takie "low dropout" z mniejszym spadkiem (np. MCP1700-3302E)
  • Odpowiedz