Posiadam ESP8266 12E na Devboardzie (bez nodemcu):
Mam do tego ESP podłączone 2 przetworniki analogowo-cyfrowe MCP3208 poprzez SPI oraz źródło napięcia referencyjnego MCP1501-18E/SN.
Cały czas mam takie błędy na UART. Typowy "Blink"działa.
Całość powinna wyglądać mniej więcej tak jak mam na Arduino:
Szukałem w necie rozwiązania takiego problemu. Ludzie pisali, aby zaktualizować soft bo komuś pomogło. Wgrałem najnowszą wersję firmware - ESP8266NONOSSDK-2.1.0
Gdzie indziej pisali, że USB ma za małą wydajność prądową i należy podłączyć ESP pod zewnętrzne zasilanie. Z jednej strony wydaje się to sensowne, bo ESP pobiera dużo prądu, mimo to mam usb 3.0 z klawiatury które ma wydajność prądową 750mA oraz NIE korzystam z samego wifi na razie. Gołe obliczenia, które mógłbym robić na Arduino. Mimo to spróbować nie zaszkodzi.
Użyłem Arduino jako zasilacza. Podłączyłem do niego zasilacz 12V / 1.5A. Następnie te 12V przez VIN do stabilizatora LM1117T 3.3V, a z niego do pinów 3.3V i GND na esp, a następnie taki układ zmontowałem jak na poniższym zdjęciu. To samo.
Jak podłączyłem pod jeden kanał na ADC wielkość mierzoną, to było ją czasem widać poprawnie:
Dalej znowu następowały wartości losowe.
Ma ktoś pomysł czemu to nie chce działać? Raz udało mi się zrobić, że działał na małej płytce stykowej, ale bez źródła napięcia oraz tylko 1 przetwornik. Teraz nawet nie chce działać w tej konfiguracji. Sprawdzałem, czy wszystko "styka". Pożyczyłem nawet drugą dużą płytkę stykową od kolegi. Ciągle to samo.
Z góry bardzo dziękuję i pozdrawiam
edit: znalazłem takie coś:
Myślałem, że skoro to płytka do wszystkiego to nie trzeba podłączać pinu "CH_PD+RST". Niestety nic nie pomaga u mnie.
edit2: znalazłem chyba winowajcę.
https://techtutorialsx.com/2017/01/21/esp8266-watchdog-functions/
ESP posiada "watchdoga", który gdy nie otrzyma sygnału, to resetuje układ. Jest softwareowy i sprzętowy. Aha, fajnie. Problem w tym, że u mnie resetuje raz od razu, czasem po dłuższej chwili. Próbuję go wyłączyć tymi komendami jednakże nieskutecznie
Co ciekawe funkcja ESP.wdtEnable(1000); przyjmuje argument czasowy, a tego nie używa - chińska myśl techniczna powala.
edit3:
Czasami nie che odpalić, muszę resetować i wpinać ponownie. Ale jak już liczy na UART to robi to dłużej. Częściowy sukces, bo łapie zwiechę u znowu się resetuje. Program na 100% jest dobrze bez memory leaków, bo na Arduino działał idealnie. Tylko nazwy pinów zmieniłem, aby pasowały pod ESP. Potem chciałem dodać WiFi, ale nie mogę z tym sobie poradzić.

Dodano po 14 [godziny] 50 [minuty]:
Odkryłem przyczynę, ale nie potrafię jej logicznie wytłumaczyć.
Przedstawię to na 2 filmikach:
1. https://www.youtube.com/watch?v=GStJmICuyp8
2. https://www.youtube.com/watch?v=L1QBTgNJogQ
Na pierwszym WiFi jest podłączone do płytki prototypowej. Proszę nie zwracać uwagi na ten element z lewej, zapomniałem go odpiąć, ale jest niepodłączony i nie wpływa na "niedziałanie".
Na drugim WiFi wisi w powietrzu i działa bez problemu. Od razu załącza.
Jak wyżej pisałem, na małej płytce stykowej raz mi działało. Teraz ani na 2 dużych płytkach, ani na żadnej małej nie działa.
Zwarć nie ma (zdjęcie niżej). Jest ktoś w stanie to logicznie wytłumaczyć?
edit2: poprawiony filmik.
Problem rozwiązany częściowo. Po prostu nie wkładam modułu do końca na płytkę stykową, tylko na połowę wysokości. Wszystko styka i działa. Widocznie jakieś naprężenia (?) powstają. Nawet przelutowanie pinów 2.54 na nowo nie pomogło. Dziwne.
Mam do tego ESP podłączone 2 przetworniki analogowo-cyfrowe MCP3208 poprzez SPI oraz źródło napięcia referencyjnego MCP1501-18E/SN.
Cały czas mam takie błędy na UART. Typowy "Blink"działa.
Kod: C / C++
Szukałem w necie rozwiązania takiego problemu. Ludzie pisali, aby zaktualizować soft bo komuś pomogło. Wgrałem najnowszą wersję firmware - ESP8266NONOSSDK-2.1.0
Gdzie indziej pisali, że USB ma za małą wydajność prądową i należy podłączyć ESP pod zewnętrzne zasilanie. Z jednej strony wydaje się to sensowne, bo ESP pobiera dużo prądu, mimo to mam usb 3.0 z klawiatury które ma wydajność prądową 750mA oraz NIE korzystam z samego wifi na razie. Gołe obliczenia, które mógłbym robić na Arduino. Mimo to spróbować nie zaszkodzi.
Użyłem Arduino jako zasilacza. Podłączyłem do niego zasilacz 12V / 1.5A. Następnie te 12V przez VIN do stabilizatora LM1117T 3.3V, a z niego do pinów 3.3V i GND na esp, a następnie taki układ zmontowałem jak na poniższym zdjęciu. To samo.
Jak podłączyłem pod jeden kanał na ADC wielkość mierzoną, to było ją czasem widać poprawnie:
Dalej znowu następowały wartości losowe.
Ma ktoś pomysł czemu to nie chce działać? Raz udało mi się zrobić, że działał na małej płytce stykowej, ale bez źródła napięcia oraz tylko 1 przetwornik. Teraz nawet nie chce działać w tej konfiguracji. Sprawdzałem, czy wszystko "styka". Pożyczyłem nawet drugą dużą płytkę stykową od kolegi. Ciągle to samo.
Z góry bardzo dziękuję i pozdrawiam
edit: znalazłem takie coś:
Cytat:ets Jan 8 2013,rst cause:2, boot mode:(3,7) <-- reboot by reset pin - Mode Flash (boot the sketch)
Myślałem, że skoro to płytka do wszystkiego to nie trzeba podłączać pinu "CH_PD+RST". Niestety nic nie pomaga u mnie.
edit2: znalazłem chyba winowajcę.
https://techtutorialsx.com/2017/01/21/esp8266-watchdog-functions/
ESP posiada "watchdoga", który gdy nie otrzyma sygnału, to resetuje układ. Jest softwareowy i sprzętowy. Aha, fajnie. Problem w tym, że u mnie resetuje raz od razu, czasem po dłuższej chwili. Próbuję go wyłączyć tymi komendami jednakże nieskutecznie
Co ciekawe funkcja ESP.wdtEnable(1000); przyjmuje argument czasowy, a tego nie używa - chińska myśl techniczna powala.
edit3:
Czasami nie che odpalić, muszę resetować i wpinać ponownie. Ale jak już liczy na UART to robi to dłużej. Częściowy sukces, bo łapie zwiechę u znowu się resetuje. Program na 100% jest dobrze bez memory leaków, bo na Arduino działał idealnie. Tylko nazwy pinów zmieniłem, aby pasowały pod ESP. Potem chciałem dodać WiFi, ale nie mogę z tym sobie poradzić.
Dodano po 14 [godziny] 50 [minuty]:
Odkryłem przyczynę, ale nie potrafię jej logicznie wytłumaczyć.
Przedstawię to na 2 filmikach:
1. https://www.youtube.com/watch?v=GStJmICuyp8
2. https://www.youtube.com/watch?v=L1QBTgNJogQ
Na pierwszym WiFi jest podłączone do płytki prototypowej. Proszę nie zwracać uwagi na ten element z lewej, zapomniałem go odpiąć, ale jest niepodłączony i nie wpływa na "niedziałanie".
Na drugim WiFi wisi w powietrzu i działa bez problemu. Od razu załącza.
Jak wyżej pisałem, na małej płytce stykowej raz mi działało. Teraz ani na 2 dużych płytkach, ani na żadnej małej nie działa.
Zwarć nie ma (zdjęcie niżej). Jest ktoś w stanie to logicznie wytłumaczyć?
edit2: poprawiony filmik.
Problem rozwiązany częściowo. Po prostu nie wkładam modułu do końca na płytkę stykową, tylko na połowę wysokości. Wszystko styka i działa. Widocznie jakieś naprężenia (?) powstają. Nawet przelutowanie pinów 2.54 na nowo nie pomogło. Dziwne.