VAŽNO! Ovdje pročitajte kako se registrirati na forum. Bez registracije, nećete biti u mogućnosti pisati na forumu.

Auto reset circuit

Zapeli ste s projektom? Ovdje je pravo mjesto za postaviti pitanje. Imajte na umu da ekipa e-radionice neće uvijek i/ili redovno odgovarati na pitanja postavljena u ovom podforumu.
Odgovorite
Avatar
dekip#4411
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 73
Pridružen/a: pon srp 30, 2018 10:04 pm
Lokacija: Beograd
Kontakt:

Auto reset circuit

Post Postao/la dekip#4411 » čet vel 13, 2020 5:51 pm

Ima li ko ideju kako napraviti auto-reset strujno kolo za automatski upload skeča na ESP32?

Naravno, jadac je na koji ESP32. :)

Nije mi problem za obični ESP32 modul. Vrlo je lako klonirati neki ESP32 dev kit. Čak je lakše nego za ESP8266. Dva tranzistora upariti sa GPIO0 i EN i to je to. Ali šta ako je u pitanju ESP32-cam? Ta ploča nema EN izvod na svom pinoutu. Ona je predviđena da se na nju skeč prebacuje direktnim povezivanjem GPIO0 na GND. Sad, mogao bih direktno zalemiti žicu na EN pin na samom ESP32 modulu, ali to nije profi.

Rešenje postoji, samo ja ga ne vidim. Bitluni prodaje svoju varijantu na Tindie a naravno neće da otkrije kako je to rešio. Zapravo, rekao mi je da resetuje ESP32 tako što preseče napajanje. To je i više nego dovoljno, bar znam u kom pravcu treba razmišljati. Njegove ploče je slikao SAMO sa lica, poleđina se ne vidi. Takođe se ne vidi šta je sve od komponenti koristio.

Link ka Tindie ploči:
https://www.tindie.com/products/bitluni/cam-prog/

Link ka ESP32-cam:
https://makeradvisor.com/tools/esp32-cam/

Ono što sam mogao da vidim je da je umesto dva tranzistora i dva otpornika koristio UMH3N, što je u suštini ista stvar. Ali ne mogu da vidim kako je umesto EN pina resetovao ceo ESP32 prekidanjem struje.

slika

Levo se vidi neki tranzistor, možda Mosfet. Desno je LDO. Kondenzatori bi trebalo da su isti. Na oko. :S Rekao bih da su svi od 100nF. Otpornik nije problem. Još samo šema. :)
Avatar
dekip#4411
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 73
Pridružen/a: pon srp 30, 2018 10:04 pm
Lokacija: Beograd
Kontakt:

Re: Auto reset circuit

Post Postao/la dekip#4411 » čet vel 13, 2020 6:57 pm

Nekada iznenadim i samog sebe koliko sam uporan. :D

Moram da kupi veći monitor. Sa nekom max rezolucijom. Ili, naočare. Ali to nećemo još. Prvo monitor. :D

Dakle, LDO je 6211 na 3,3V. Mosfet je AO3400. Dioda je 5819. Kondenzatori su tri na 100nF i jedan na 10nf. Otpornik je 10K. Samo da se sve to spakuje...
Avatar
david.zovko#9823
e-radionica.com team
e-radionica.com team
Postovi: 359
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: Auto reset circuit

Post Postao/la david.zovko#9823 » pon vel 17, 2020 10:41 am

Jel nije da auto-reset radi s GPIO0 i reset? Ref: https://github.com/e-radionicacom/Crodu ... matics.pdf
(isto je za esp8266 i esp32)

EN pin je Enable, doslovno pali ili gasi ESP.

E sada, da bi ESP došao u bootloader mode i da bi se mogao resetirati, GPIO0 mora biti na LOW stanju u trenutku reseta. Baš zbog toga se koriste ta dva pina: GPIO0 i reset.
Onda je očito tranzistor za GPIO0, a reset se odradi tako da se presječe napajanje (ne znam zašto odmah ne ići na reset, pametnije je nego gasiti napajanje..).

Dolje je pinout CH340C koji se vidi na tvojoj slici gore. Vidi se da iz pinova 13 i 14 idu linije, a to je DTR i RTS. I vidiš u koje pinove kojeg chipa idu (koji je to?).

slika

Pomozi sa chipom da ne kopam ako već jesi pa vidimo što dalje..
Avatar
dekip#4411
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 73
Pridružen/a: pon srp 30, 2018 10:04 pm
Lokacija: Beograd
Kontakt:

Re: Auto reset circuit

Post Postao/la dekip#4411 » pon vel 17, 2020 8:07 pm

Pa nije baš u potpunosti isto za ESP8266 i ESP32. Suština jeste ista ali nie baš sve isto. Ako pogledaš ovde videćeš da modul nema reset pin. Kod ESP32 se za auto reset strujno kolo koriste GPIO0 i EN uz dva tranzistora i otpornika, kao i kod ESP8266. Više o tome ovde i ovde.

Međutim, ja ovde imam ESP32-cam modul koji nema ovaj EN pin na svom pinoutu. EN pin je direktno vezan za reset taster. GPIO0 se prilikom prebacivanja skeča bukvalno prespaja žicom sa GND, pritisne se reset i tek tada se ide na upload. Nakon prebacivanja skeča se GPIO0 razdvoji i ponovo resetuje ESP32 preko tastera. Evo dokumentacije i šeme.

E sad, ideja je da se napravi šild koji će ove nedostajuće funkicje da nadomesti. Uz još neke druge koje planiram ali koje trenutno nisu problem. Mogu da koristim samo izvedene pinove na obodu ploče.
Problem: Kako da se napravi auto reset strujno kolo bez EN pina?
Nemoguće?
Moguće. Bar tako kaže Bitluni sa linka koji sam već dao. On je umesto da resetuje ploču preko EN pina, resetovao preko GND uz MOSFET.

Ja sam naravno bio dosta uporan i došao do neke šeme.

slika

Dakle, ovo bi trebalo da bude to. Ja sam probao da ovo napravim na prototipskoj ploči ali nisam imao AO3400 MOSFET. To je N a ja imam samo IRLZ44 koji mi nije odradio posao. Kao što možete videti UNH3N bi trebalo da preko MOSFETA resetuje ESP32 uz GPIO na GND. Plus sam koristio 8050 tranzistore uz 10K otpornike. Sama kamera traži da se napaja preko 5V, zato je 3,3V "u vazduhu".
Avatar
david.zovko#9823
e-radionica.com team
e-radionica.com team
Postovi: 359
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: Auto reset circuit

Post Postao/la david.zovko#9823 » uto vel 25, 2020 8:04 pm

Nisam previše obraćao pažnju na EN pin na ESP32. Radili smo par projekata, tretirao sam ga kao "RESET" pin i nisam imao problema. Hvala na linkovima, proučit ću.

Jesi li to sam reverse-engineerao? Vrlo zanimljivo! :)
Možda ti nije radilo jer AO3400 ima Vgs(th) od samo 1.05V, a IRLZ44 1.5V, iako nije neka razlika i ne vidim neke druge razlike. Za NPN, to je generic, 8050 bi ti trebao biti ok.
Odgovorite