Skocz do zawartości

ESP32 Wemos Lite - nietypowe resety (Arduino IDE, Visual Studio Code [Platformio])


orb777

Pomocna odpowiedź

Płytka taka jak [tu], chociaż zakupiona z innego źródła (mam ich kilka od tego samego sprzedawcy). Jedna zachowuje się bardzo dziwnie kiedy używam jej w IDE z tematu (także poza IDE), zarówno podczas kompilacji, jak i w serialu (kiedy "zaskoczy" w serialu, wtedy działa już normalnie aż do jego zamknięcia).  W systemie wygląda jakby ciągle rozłączała się i podłączała co ~3 sekundy. Płytkę w konfigach Arduino/VSC mam ustawioną jako "(wemos)lolin32_lite". Natomiast kiedy wrzucę na nią  aktualną wersję micropythona (1.24.1) zachowuje się całkowicie poprawnie, w systemie jest stabilna, nawet bez wypisywania na serial. Sprawdziłem oscyloskopem napięcie na pinie 3.3V - wszystko w normie. Nieco więcej zakłóceń podczas wyświetlania licznika w konsoli, czyli o ironio, wtedy kiedy nie znika z systemu. Dodałem też kondensator 1uF pomiędzy EN i GND, ale niczego nie zmienił. GPIO0 nie używam. Nie mam zbytnio pomysłu co wywołuje takie zachowanie. Może ktoś się z tym spotkał?

Płytki zgłaszają się jako:

Bus 001 Device 054: ID 1a86:7523 QinHeng Electronics CH340 serial converter


Log z udevadm:

udevadm monitor --subsystem-match=tty --udev

UDEV  [3021.995214] add      /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2/1-2.3/1-2.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV  [3025.008361] remove   /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2/1-2.3/1-2.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV  [3027.894874] add      /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2/1-2.3/1-2.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV  [3030.892779] remove   /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2/1-2.3/1-2.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV  [3033.732530] add      /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2/1-2.3/1-2.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV  [3036.524483] remove   /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2/1-2.3/1-2.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
(...)

 

Kod w Arduino IDE/VSC, zwykły licznik:

#include <Arduino.h>
volatile unsigned int licz = 0;
void setup() { Serial.begin(9600); }
void loop() { Serial.println(licz++); delay(1000); }

 

Wyczyściłem jej flasha, po czym odpaliłem serial (domyślnie baud 115200). Pokazuje to samo co dobra płytka. Podczas komunikatów "RTCWDT_RTC_RESET" obie zachowują się tak samo, nie "znikają" z systemu.

esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
(...)
screen /dev/ttyUSB0 115200

Wynik:

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
Edytowano przez orb777
Link do komentarza
Share on other sites

To raczej nic po stronie procka - udeva interesuje tylko to, że podłączył się jakiś ch340 (a co ma po drugiej stronie to już nie jego sprawa).

Link do komentarza
Share on other sites

5 godzin temu, orb777 napisał:

Może ktoś się z tym spotkał?

Nie konkretnie z tym, ale sprawdziłbym pobór prądu płytki, bo może przeciążać port USB i komputer go odłącza by zapobiec uszkodzeniom płyty głównej. Miałem takie zachowanie jak jedna z moich płytek miała zwarcie między VUSB i GND.

Link do komentarza
Share on other sites

Najwięcej te płytki pobierają kiedy uruchamiamy jest moduł wifi. Może zrób w setupie coś w stylu wifi.off czy podobną funkcję 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)
9 godzin temu, ethanak napisał:

To raczej nic po stronie procka - udeva interesuje tylko to, że podłączył się jakiś ch340 (a co ma po drugiej stronie to już nie jego sprawa).

Cóż, amatorowi tylko to przyszło do głowy, żeby ustalić jak często płytka resetuje się.

 

6 godzin temu, H1M4W4R1 napisał:

sprawdziłbym pobór prądu płytki, bo może przeciążać port USB i komputer go odłącza by zapobiec uszkodzeniom płyty głównej.

Używam  aktywnego hub-a usb. Każdy trop dobry, odpaliłem złą i dobrą płytkę, dla obu wartości prądu są zbliżone. Na razie sprawdziłem tylko "watomierzem" usb. Sondy prądowej do oscyloskopu nie posiadam, pików nie mam (chyba) czym zmierzyć.

czysty flash: 0.000A
przykładowy kod licznika (arduino): 0.021-0.024A (z wydrukiem na serial 0.027A)
micropython v1.24.1: 0.013A na luzie; przykładowy kod licznika 0.013A (z wydrukiem na serial 0.016A)

Licznik analogiczny do arduino:

from time import sleep_ms
licz = 0
while True:
    print(licz)
    licz += 1
    sleep_ms(1000)

 

4 godziny temu, _LM_ napisał:

Najwięcej te płytki pobierają kiedy uruchamiamy jest moduł wifi. Może zrób w setupie coś w stylu wifi.off czy podobną funkcję 

W sumie mogę sprawdzić, chociaż na płytce bez firmware z "zerowym" poborem prądu (pewnie uśrednionym) dzieje się to samo. Okazuje się, że płytka "znika" z systemu również w trakcie prostej komunikacji przez webrepl (micropython), chociaż działa cały czas, hotspot też, połączenie webrepl nie jest zrywane. Dziwne.

Płytka jest nowa, ale podłączałem wcześniej do adc (pin 32) 3 tact-switche przez rezystory 1, 2, 3 kΩ z pinu 3.3V, natomiast adc był połączony z GND rezystorem 10 kΩ, żeby nie pływał. Czy mogło mieć to jakiś wpływ?

Edytowano przez orb777
Link do komentarza
Share on other sites

(edytowany)

Może być walnięty własnie ch340 - mozesz sprawdzić czy płytka dalej działa gdy znika z systemu? Jakiś blink na 100 msec albo co...

Bo np. mam płytkę z totalnie uwalonym procem, ale Linux widzi urządzenie usb.

Edytowano przez ethanak
  • Pomogłeś! 1
Link do komentarza
Share on other sites

4 godziny temu, ethanak napisał:

Może być walnięty własnie ch340 - mozesz sprawdzić czy płytka dalej działa gdy znika z systemu? Jakiś blink na 100 msec albo co...

Na blinku, bez wypisywania na serial, cisza w udevadm. Płytka nie rozłącza. Dzięki. Podpiszę ją jako nierozmowną.

Link do komentarza
Share on other sites

(edytowany)
5 godzin temu, orb777 napisał:
przykładowy kod licznika (arduino): 0.021-0.024A (z wydrukiem na serial 0.027A)
micropython v1.24.1: 0.013A na luzie; przykładowy kod licznika 0.013A (z wydrukiem na serial 0.016A)

A to chcę sprostować, bo zaprzecza rozwiązaniu. Dane na serial szły zawsze, tylko nie włączałem monitora w arduino/VSC/screen-a.

Edytowano przez orb777
Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.