- Uvod u ESP8285
- Dijagram kruga ESP razvojne ploče
- Izrada naše razvojne ploče ESP8285
- Naručivanje PCB-a s PCBWay-a
- Sastavljanje i programiranje ploče ESP8285
- Testiranje jednostavnom LED skicom za treptanje
- Testiranje skice web poslužitelja na ESP8285
ESP kontroleri iz Espressifa postaju široko popularan izbor za IoT dizajne. Na tržištu su već dostupne mnoge vrste ESP modula i razvojnih ploča, među kojima je NodeMCU najpopularniji. Osim toga, ESP-12E, ESP01 također su popularni izbori. Ali ako svoj dizajn želite učiniti fleksibilnijim i kompaktnijim, velika je vjerojatnost da moramo sami dizajnirati svoj ESP modul s razine čipa, umjesto da izravno koristimo lako dostupni modul. U ovom ćemo članku naučiti kako dizajnirati sklop i PCB za izravnu upotrebu ESP kontrolera (ESP8285) bez upotrebe modula.
U ovom smo projektu koristili ESP8285 jer je to vrlo zanimljiv mali čip. To je maleni SoC (sustav na čipu), s IoT-om (Internet of Things) i mogućnostima dubokog spavanja. Ima istu snagu kao i njegov stariji brat ESP8266, a kao bonus dolazi s ugrađenom flash memorijom od 1 MB s puno GPIO-a. Također možete koristiti ESP8266 kao alternativu i većina stvari o kojima se govori u ovom članku i dalje će biti iste.
U prethodnom članku pokazao sam vam kako možete dizajnirati vlastitu PCB antenu za 2,4 GHz, koristeći isti primjer ESP8285 čipa. Taj članak možete pročitati kako biste saznali više o dizajnu antene za ESP8266 / ESP8285.
Tako ću u ovom članku pokriti kako rade svi sklopovi i napokon će biti video koji sve to objašnjava. Također sam detaljno opisao kompletan postupak dizajniranja i naručivanja PCB ploča s PCBWaya za naš dizajn ESP modula.
Uvod u ESP8285
Ako ne znate za ovaj svestrani čip ESP8285, evo kratkog objašnjenja s popisom značajki. ESP8285 je mali čip s ugrađenom 1M bljeskalicom i RAM-om, prilično je sličan modulu ESP8286, ESP-01, ali ga unutarnja flash memorija čini mnogo kompaktnijim i jeftinijim.

U ovom se čipu nalazi 32-bitni procesor L106 Diamond Tensilice, a isto vrijedi i za ESP8266, zato se sav kôd za ESP8266 može izravno prebaciti na ovaj čip bez ikakvih izmjena, a ima isti mrežni stog kao i doza ESp8266.
ESP8285 integrira antenske prekidače, RF balun, pojačalo snage, pojačalo za primanje tihog šuma, filtre i module za upravljanje napajanjem. Kompaktni dizajn minimalizira veličinu PCB-a i zahtijeva minimalne vanjske sklopove. Ako želite saznati više o ovom IC-u, uvijek možete provjeriti tehnički list uređaja ESP8285 uređaja na Espressif Systems.
Dijagram kruga ESP razvojne ploče
Sklop je vrlo jednostavan i razgradio sam ga radi boljeg razumijevanja. Donja shema ESP-a prikazuje cijeli sklop, kao što vidite postoji osam funkcionalnih blokova, proći ću kroz svaki i objasniti svaki blok.

ESP8285 SOC:
U središtu projekta je ESP8285 SoC, ovdje su definirani svi GPIO-i i ostale potrebne veze.

Filter napajanja: Na ovom se IC-u nalazi 7 priključaka za napajanje, prvi je naponski pin za ADC i IO-ove. Kratko sam ih spojio i koristim kondenzator filtra snage 47uF i kondenzator za odvajanje od 0,1uF za filtriranje ulaza istosmjerne struje od 3,3V.
PI filtar: PI filtar jedan je od najvažnijih blokova ovog dizajna jer je odgovoran za napajanje RF pojačala i LNA, bilo koja unutarnja ili vanjska buka mogu biti opisni za ovaj odjeljak, tako da RF odjeljak neće raditi. Zato je niskopropusni filtar za LNA odjeljak vrlo važan. Slijedeći vezu možete saznati više o PI filtrima.
Kristalni oscilator: Kristalni oscilator od 40 MHz služi kao izvor takta za ESP8285 SoC, a kondenzatori za odvajanje od 10 pF dodani su prema preporuci tablice.
LNA odjeljak: Još jedan najvažniji odjeljak ovog kruga je LNA odjeljak; tu se PCB antena spaja na fizički pin ESP-a. Kao što je preporučeno u tablici podataka, koristi se kondenzator od 5,6 pF, koji bi trebao raditi sasvim dobro kao odgovarajući krug. No, dodao sam dva rezervirana mjesta za dvije prigušnice, kao da u slučaju da podudarno neslaganje kruga funkcionira, uvijek mogu staviti neke prigušnice kako bi podesili vrijednosti koje odgovaraju impedanciji antene.
LNA odjeljak također ima dva PCB kratkospojnika s UFL konektorom. PCB antena postavljena je prema zadanim postavkama, ali ako vaš program zahtijeva malo veći domet, možete odspojiti PCB kratkospojnik i kratki kratkospojnik za UFL priključak, a vanjsku antenu možete spojiti upravo tako.
Ulazni priključak za bateriju:
Možete vidjeti gore, paralelno sam stavio tri vrste priključaka za baterije jer ako niste uspjeli pronaći jedan, uvijek možete staviti drugi.
GPIO zaglavlja i zaglavlja programiranja:
GPIO zaglavlja su tu da pristupe GPIO pinovima, a zaglavlje za programiranje je da bi treperilo glavno Soc.
Krug automatskog poništavanja:
U ovom bloku, dva NPN tranzistora, MMBT2222A formiraju sklop za automatsko resetiranje kada pritisnete gumb za prijenos u Arduino IDE-u, python alat dobije poziv, ovaj python alat je flash alat za ESP uređaje, ovaj pi alat daje signal UART pretvaraču za resetiranje ploče držeći GPIO pin na zemlji. Nakon toga započinje postupak prijenosa i provjere.
LED za napajanje, ugrađena LED i razdjelnik napona:
LED za napajanje: LED za napajanje ima kratkospojnik s PCB-om Ako ovu ploču koristite kao za baterijsku primjenu, možete DE lemiti kako biste uštedjeli prilično energije.
Ugrađena LED dioda: Mnoge razvojne ploče na tržištu imaju ugrađenu LED diodu i ova ploča nije iznimka; GPIO16 IC spojen je na ugrađenu led. Uz to, postoji rezervirano mjesto za 0 OHM otpornik popunjavanjem otpora od 0 Ohma, povezujete GPIO16 na reset, i kao što možda znate, ovo je vrlo važan korak za stavljanje ESP-a u način dubokog spavanja.
Razdjelnik napona: Kao što možda znate, maksimalni ulazni napon ADC-a je 1V. Dakle, za promjenu raspona ulaza na 3,3 V koristi se razdjelnik napona. Konfiguracija je tako napravljena da uvijek možete u seriju s otvorom dodati otpor za promjenu raspona na 5V.
HT7333 LDO:
Za regulaciju napona na ESP8285 iz baterije s minimalnim gubicima snage koristi se LDO ili regulator napona s malim ispadom.

Maksimalni ulazni napon HT7333 LDO je 12V i koristi se za pretvaranje napona baterije u 3,3V. Odabrao sam ovaj HT7333 LDO jer je to uređaj s vrlo niskom strujom mirovanja. Kondenzatori za odvajanje od 4,7 uF koriste se za stabilizaciju LDO.
Tipka za način programiranja:
Gumb je povezan s GPIO0, ako vaš UART pretvarač nema RTS ili DTR pin, pomoću ovog gumba možete ručno povući GPIO0 na zemlju.
Otpornici za izvlačenje i povlačenje:
Otpornici za izvlačenje i povlačenje nalaze se tamo kako je preporučeno u tehničkom listu.
Osim toga, tijekom dizajniranja PCB-a slijedile su se mnoge norme i smjernice za dizajn. Ako želite znati više o tome, to možete pronaći u vodiču za dizajn hardvera za ESP8266.
Izrada naše razvojne ploče ESP8285
Shema je gotova i možemo nastaviti s postavljanjem PCB-a. Za izradu PCB-a koristili smo softver za dizajn PCB-a Eagle, ali PCB možete dizajnirati pomoću željenog softvera. Naš dizajn PCB-a izgleda ovako kad je završen.

Datoteke BOM i Gerber dostupne su za preuzimanje sa sljedećih poveznica:
- ESP8282 Gerber datoteke razvojne ploče
- ESP8282 BOM upravljačke ploče
Sad, kad je naš dizajn spreman, vrijeme je da se PCB izradi pomoću. Da biste to učinili, jednostavno slijedite korake u nastavku:
Naručivanje PCB-a s PCBWay-a
1. korak: Uđite na https://www.pcbway.com/, prijavite se ako vam je ovo prvi put. Zatim, na kartici PCB Prototype unesite dimenzije vaše PCB-a, broj slojeva i broj PCB-a koji vam je potreban.

Korak 2: Nastavite klikom na gumb 'Citiraj odmah'. Bit ćete preusmjereni na stranicu na kojoj ćete postaviti nekoliko dodatnih parametara kao što su vrsta ploče, slojevi, materijal za PCB, debljina i drugo, većina njih je odabrana prema zadanim postavkama, ako se odlučite za određene parametre, možete odabrati to u čuti.

Kao što vidite, PCB-i su nam trebali crni! tako da sam odabrao crnu boju u odjeljku boje za lemljenje.
Korak 3: Posljednji korak je prijenos Gerber datoteke i nastavak plaćanja. Da bi osigurao nesmetan postupak, PCBWAY provjerava je li vaša Gerber datoteka valjana prije nego što nastavi s plaćanjem. Na ovaj način možete biti sigurni da je vaša PCB pogodna za proizvodnju i da će vas kontaktirati kao da ste predani.

Sastavljanje i programiranje ploče ESP8285
Nakon nekoliko dana dobili smo PCB u urednoj kutiji, a kvaliteta PCB-a bila je dobra kao i uvijek. Gornji i donji sloj ploče prikazani su u nastavku:

Nakon što sam primio ploču, odmah sam počeo lemiti ploču. Upotrijebio sam stanicu za lemljenje vrućim zrakom i puno lemnog lema za lemljenje glavnog procesora, a ostale komponente na PCB-u leme se pomoću lemilice. Sastavljeni modul prikazan je u nastavku.

Kad je to gotovo, povezao sam svoj pouzdani FTDI modul za testiranje ploče tako što sam poslao skicu, povezane igle i sliku ploče prikazane u nastavku:
ESP8285 modul FTDI za razvojnu ploču
3,3 V -> 3,3 V
Tx -> Rx
Rx -> Tx
DTR -> DTR
RST -> RST
GND -> GND

Jednom kada su sve potrebne veze dovršene, postavio sam Arduino IDE odabirom Generičke ploče ESP8285 iz Alati > Ploča > Generički modul ESP8285 .
Testiranje jednostavnom LED skicom za treptanje
Dalje, vrijeme je da testiramo ploču trepćući LED, za to sam upotrijebio sljedeći kod:
/ * ESP8285 Trepće Trepće plava LED na modulu ESP828285 * / #define LED_PIN 16 // Definirajte treperenje LED pin void setup () {pinMode (LED_PIN, OUTPUT); // Inicijalizirajte LED pin kao izlaz} // // funkcija petlje se iznova iznova ponavlja void loop () {digitalWrite (LED_PIN, LOW); // Uključite LED (imajte na umu da je LOW razina napona) odgoda (1000); // Pričekajte drugi digitalWrite (LED_PIN, HIGH); // Isključite LED tako što ćete napon VELIKO odgoditi (1000); // Pričekajte dvije sekunde}
Kôd je vrlo jednostavan, prvo sam definirao LED pin za ovu ploču, a nalazi se na GPIO 16. Zatim sam taj pin postavio kao izlaz u odjeljku za postavljanje. I konačno, u odjeljku petlje uključio sam i isključio pin s odgodom od jedne sekunde.
Testiranje skice web poslužitelja na ESP8285
Nakon što je to uspjelo, vrijeme je da testirate HelloServer skicu iz primjera ESP8266WebServer. Koristim primjer ESP8266 jer je većina koda kompatibilna s čipom esp8285. Primjer koda također se nalazi na dnu ove stranice.
I ovaj je kod vrlo jednostavan. Prvo, moramo definirati sve potrebne knjižnice, #include
zatim moramo unijeti ime i lozinku žarišne točke.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * lozinka = STAPSK;
Dalje, moramo definirati objekt ESP8266WebServer. Primjer ovdje definira ga kao poslužitelj (80), a (80) je broj porta.
Dalje, moramo definirati pin za LED u mom slučaju to je bio pin 16.
const int led = 16;
Dalje je definirana funkcija handleRoot () . Ova će se funkcija pozvati prilikom poziva na IP adresu iz našeg preglednika.
void handleRoot () {digitalWrite (led, 1); server.send (200, "text / plain", "bok od esp8266!"); digitalWrite (led, 0); }
Sljedeća je funkcija postavljanja, čuti moramo definirati sve potrebne parametre poput-
pinMode (led, IZLAZ); // definirali smo led pin kao izlazni Serial.begin (115200); // započeli smo serijsku vezu sa 115200 baud WiFi.mode (WIFI_STA); // postavili smo wifi način rada kao stanicu WiFi.begin (ssid, lozinka); onda započinjemo wifi vezu Serial.println (""); // ovaj redak daje dodatni razmak while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } / * u while petlji testiramo status veze onaj koji ESP može spojiti na žarišnu točku koja će petlja kočiti * / Serial.println (""); Serial.print ("Povezano s"); Serial.println (ssid); Serial.print ("IP adresa:"); Serial.println (WiFi.localIP ());
Dalje, ispisujemo ime i IP adresu povezanog SSID-a u prozor serijskog monitora.
server.on ("/", handleRoot); // on methode poslužiteljskog objekta poziva se za rukovanje korijenskom funkcijom server.on ("/ inline", () {server.send (200, "text / plain", "ovo također dobro funkcionira");}); // opet smo pozvali on methode za / inline primjer poslužitelja.begin (); // sljedeći započinjemo poslužitelj s početkom methode Serial.println ("HTTP poslužitelj pokrenut"); // i na kraju ispisujemo izjavu u serijski monitor. } // koji označava kraj funkcije postavljanja void loop (void) {server.handleClient (); }
U funkciji petlje pozvali smo metode handleClient () za pravilno upravljanje esp-om.
Nakon što je to učinjeno, ploči ESP8285 trebalo je neko vrijeme da se poveže s web poslužiteljem i uspješno je radio prema očekivanjima što je označilo kraj ovog projekta.

Kompletan rad ploče također možete pronaći na video linku dolje. Nadam se da vam se svidio ovaj članak i da ste iz njega naučili nešto novo. Ako sumnjate, možete pitati u komentarima ispod ili možete koristiti naše forume za detaljnu raspravu.
