- Úvod do systému ESP8285
- Schéma zapojenia vývojovej dosky ESP
- Výroba našej vývojovej dosky ESP8285
- Objednávanie DPS z PCBWay
- Zostavenie a programovanie dosky ESP8285
- Testovanie pomocou jednoduchého náčrtu blikania LED
- Testovanie náčrtu webového servera na ESP8285
Ovládače ESP od spoločnosti Espressif sa stávajú veľmi populárnou voľbou pre návrhy založené na IoT. Na trhu je už k dispozícii veľa druhov modulov ESP a vývojových dosiek, z ktorých je NodeMCU najobľúbenejší. Okrem toho sú ESP-12E a ESP01 tiež populárnou voľbou. Ak však chcete, aby bol váš návrh flexibilnejší a kompaktnejší, je pravdepodobné, že musíme navrhnúť náš vlastný modul ESP na úrovni čipov, namiesto priameho použitia ľahko dostupného modulu. V tomto článku sa dozvieme, ako navrhnúť obvod a PCB na priame použitie radičov ESP (ESP8285) bez použitia modulu.
V tomto projekte sme použili ESP8285, pretože je to veľmi zaujímavý malý čip. Je to malý SoC (System on Chip) s internetom vecí (IoT) a možnosťami hlbokého spánku. Má rovnaký výkon ako jeho veľký brat ESP8266 a ako bonus prichádza so zabudovanou 1 MB flash pamäťou s množstvom GPIO. Môžete tiež použiť ESP8266 ako alternatívu a väčšina vecí popísaných v tomto článku bude stále rovnaká.
V predchádzajúcom článku som vám ukázal, ako si môžete navrhnúť vlastnú PCB anténu pre 2,4 GHz s použitím rovnakého čipu ESP8285 ako príklad. V tomto článku si môžete prečítať ďalšie informácie o dizajne antény pre ESP8266 / ESP8285.
Takže v tomto článku sa budem venovať tomu, ako fungujú všetky obvody a nakoniec bude video, ktoré to všetko vysvetlí. Podrobne som sa tiež zaoberal kompletným postupom navrhovania a objednávania dosiek plošných spojov od spoločnosti PCBWay pre náš návrh modulu ESP.
Úvod do systému ESP8285
Ak neviete o tomto univerzálnom čipu ESP8285, tu je rýchle vysvetlenie so zoznamom funkcií. ESP8285 je malý čip so vstavaným 1M bleskom a RAM, je to dosť podobné modulu ESP8286, ESP-01, ale vďaka vnútornej pamäti Flash je to oveľa kompaktnejšie a lacnejšie.
Tento čip obsahuje 32-bitový jadrový procesor Tensilica L106 Diamond a to isté platí aj pre ESP8266, preto je možné celý kód pre ESP8266 bez akýchkoľvek úprav priamo flashovať na tento čip a má rovnaký sieťový zásobník ako dávka ESp8266..
ESP8285 integruje anténne spínače, VF balun, výkonový zosilňovač, nízkošumový prijímač, filtre a moduly správy napájania. Kompaktný dizajn minimalizuje veľkosť PCB a vyžaduje minimálne externé obvody. Ak sa chcete dozvedieť viac informácií o tomto IC, môžete si kedykoľvek pozrieť list technických údajov ESP8285 zariadenia v serveri Espressif Systems.
Schéma zapojenia vývojovej dosky ESP
Obvod je veľmi jednoduchý a pre lepšie pochopenie som ho rozdelil. Nižšie uvedená schéma ESP zobrazuje celý okruh, pretože vidíte, že existuje osem funkčných blokov, každý z nich prejdem a vysvetlím každý blok.
ESP8285 SOC:
Srdcom projektu je ESP8285 SoC, sú tu definované všetky GPIO a ďalšie potrebné spojenia.
Power Filter: Na tomto IC je 7 napájacích pinov, prvý je napájací pin pre ADC a IO. Skratoval som ich dokopy a na filtrovanie vstupného napätia 3,3 V DC používam kondenzátor 47uF výkonového filtra a oddeľovací kondenzátor 0,1uF.
PI filter: PI filter je jedným z najdôležitejších blokov tejto konštrukcie, pretože je zodpovedný za napájanie RF zosilňovača a LNA, akýkoľvek interný alebo externý šum môže byť pre túto sekciu popisný. Z tohto dôvodu nebude RF sekcia fungovať.. Preto je dolnopriepustný filter pre sekciu LNA veľmi zásadný. Po kliknutí na nasledujúci odkaz sa dozviete viac o PI filtroch.
Krištáľový oscilátor: Krištáľový oscilátor 40 MHz slúži ako zdroj hodín pre ESP8285 SoC a na odporučenie údajového listu boli pridané oddeľovacie kondenzátory 10pF.
Sekcia LNA: Ďalšou najdôležitejšou časťou tohto okruhu je sekcia LNA; tu sa pripojí anténa PCB k fyzickému kolíku ESP. Ako odporúča technický list, používa sa kondenzátor 5,6pF a mal by fungovať rovnako dobre ako zhodný obvod. Ale pridal som dva zástupné symboly pre dva tlmivky, akoby v prípade, že funguje zodpovedajúci disentný obvod, vždy môžem vložiť nejaké tlmivky, aby som vyladil hodnoty tak, aby zodpovedali impedancii antény.
Sekcia LNA má tiež dva prepojky s plošnými spojmi s konektorom UFL. Anténa pre PCB je predvolene nastavená, ale ak vaša aplikácia vyžaduje trochu väčší rozsah, môžete odpojiť prepojku PCB a skratovať prepojku pre UFL konektor a rovnako môžete pripojiť externú anténu.
Vstupný konektor batérie:
Ako vidíte vyššie, dal som paralelne tri typy konektorov batérií, pretože ak ste nenašli jeden, môžete vždy dať ďalší.
Hlavičky GPIO a hlavičky programovania:
Hlavičky GPIO sú tu na prístup k pinom GPIO a programovacia hlavička je tu na blikanie hlavnej Soc.
Obvod automatického resetovania:
V tomto bloku tvoria dva tranzistory NPN, MMBT2222A obvod automatického resetovania po stlačení tlačidla nahrávania v Arduino IDE, nástroj python zavolá, tento nástroj python je nástrojom flash pre zariadenia ESP, tento nástroj pi dáva signál do prevodníka UART na resetovanie dosky, zatiaľ čo držíte pin GPIO na zemi. Potom začne proces nahrávania a overovania.
Indikátor napájania, palubný LED a delič napätia:
LED dióda napájania: LED dióda napájania má prepojku s plošnými spojmi Ak používate túto dosku ako aplikáciu na napájanie z batérie, môžete túto prepojku pomocou DE spájkovať, aby ste dosť ušetrili energiu.
Integrovaná LED: Mnoho vývojových dosiek na trhu má integrovanú LED a táto doska nie je výnimkou; GPIO16 IC je pripojený k integrovanej led. Okrem toho existuje zástupný znak pre odpor 0 OHMs vyplnením odporu 0 Ohms, pripájate GPIO16 k resetu a ako možno viete, je to veľmi dôležitý krok k uvedeniu ESP do režimu hlbokého spánku.
Delič napätia: Ako asi viete, maximálne vstupné napätie ADC je 1V. Takže na zmenu rozsahu vstupu na 3,3 V sa použije delič napätia. Konfigurácia je vytvorená tak, aby ste mohli kedykoľvek pridať rezistor sériovo s pinom, aby ste zmenili rozsah na 5V.
HT7333 LDO:
Na reguláciu napätia do ESP8285 z batérie s minimálnymi stratami energie sa používa regulátor LDO alebo nízky pokles napätia.
Maximálne vstupné napätie HT7333 LDO je 12V a slúži na prevod napätia batérie na 3,3 V, vybral som si tento HT7333 LDO, pretože ide o zariadenie s veľmi nízkym pokojovým prúdom. Oddelovacie kondenzátory 4,7uF sa používajú na stabilizáciu LDO.
Tlačidlo pre režim programovania:
Tlačidlo je pripojené k GPIO0, ak váš prevodník UART nemá pin RTS alebo DTR, môžete pomocou tohto tlačidla ručne stiahnuť GPIO0 na zem.
Pullup a Pulldown rezistory:
Vytahovacie a vysúvacie rezistory sú tam podľa odporúčania v údajovom liste.
Pri návrhu dosky plošných spojov sa okrem toho postupovalo podľa mnohých noriem a usmernení týkajúcich sa návrhu. Ak sa o tom chcete dozvedieť viac, nájdete ich v Sprievodcovi návrhom hardvéru pre ESP8266.
Výroba našej vývojovej dosky ESP8285
Schéma je hotová a môžeme pokračovať rozložením PCB. Na výrobu DPS sme použili návrhový softvér Eagle PCB, ale DPS môžete navrhnúť pomocou vami preferovaného softvéru. Po dokončení bude náš návrh DPS vyzerať takto.
Súbory kusovníka a Gerber sú k dispozícii na stiahnutie z nasledujúcich odkazov:
- Súbory Gerber ESP 8282 pre vývesky
- Kusovník vývojovej dosky ESP8282
Teraz, keď je náš dizajn pripravený, je čas nechať si vyrobiť dosky plošných spojov pomocou. Urobíte to jednoducho nasledujúcim spôsobom:
Objednávanie DPS z PCBWay
Krok 1: Prejdite na stránku https://www.pcbway.com/ a zaregistrujte sa, ak ste prvýkrát. Potom na karte Prototyp PCB zadajte rozmery vašej PCB, počet vrstiev a požadovaný počet PCB.
Krok 2: Pokračujte kliknutím na tlačidlo „Citovať teraz“. Dostanete sa na stránku, kde môžete nastaviť niekoľko ďalších parametrov, ako napríklad Typ dosky, Vrstvy, Materiál pre PCB, Hrúbka a ďalšie. Väčšina z nich je vybratá predvolene, pokiaľ sa rozhodnete pre akékoľvek konkrétne parametre, môžete zvoliť je to počuť.
Ako vidíte, naše PCB sme potrebovali čierne! Takže som vybral čiernu vo farebnej časti spájkovacej masky.
Krok 3: Posledným krokom je nahranie súboru Gerber a pokračovanie v platbe. Pred pokračovaním v platbe PCBWAY overuje, či je váš súbor Gerber platný, aby sa ubezpečil, že proces je hladký. Týmto spôsobom si môžete byť istí, že vaša doska plošných spojov je výrobne priateľská a že sa k vám dostane ako zaviazaná.
Zostavenie a programovanie dosky ESP8285
Po niekoľkých dňoch sme dostali náš DPS v úhľadnom obale a kvalita DPS bola ako vždy dobrá. Horná a spodná vrstva dosky sú zobrazené nižšie:
Po obdržaní dosky som okamžite začal spájkovať dosku. Na spájkovanie hlavného procesora som použil teplovzdušnú spájkovaciu stanicu a veľa taviva na spájkovanie. Ostatné komponenty na DPS sú spájkované cez spájkovačku. Zostavený modul je zobrazený nižšie.
Akonáhle je to hotové, pripojil som svoj dôveryhodný modul FTDI na otestovanie dosky nahraním náčrtu, pripojených pinov a obrázka dosky zobrazenej nižšie:
Modul FTDI vývojovej dosky ESP8285
3,3 V -> 3,3 V
Tx -> Rx
Rx -> Tx
DTR -> DTR
RST -> RST
GND -> GND
Po dokončení všetkých potrebných pripojení som nastavil IDE Arduino výberom karty Generic ESP8285 z ponuky Tools > Board > Generic ESP8285 Module .
Testovanie pomocou jednoduchého náčrtu blikania LED
Ďalej je čas otestovať dosku blikaním LED, na to som použil nasledujúci kód:
/ * ESP8285 Bliká Bliká modrá LED na module ESP828285 * / #define LED_PIN 16 // Definujte blikanie LED pin void setup () {pinMode (LED_PIN, OUTPUT); // Inicializujte pin LED ako výstup} // funkcia slučky beží znova a znova navždy void loop () {digitalWrite (LED_PIN, LOW); // Zapnite LED (všimnite si, že LOW je úroveň napätia) delay (1000); // Počkaj na druhé digitalWrite (LED_PIN, HIGH); // LED zhasne urobením napätia HIGH delay (1000); // Počkajte dve sekundy}
Kód je veľmi jednoduchý, najskôr som definoval pin LED pre túto dosku a je na GPIO 16. Ďalej som nastavil tento pin ako výstup v sekcii nastavenia. A konečne, v sekcii slučky, som zapol a vypol pin s jednosekundovým oneskorením medzi nimi.
Testovanie náčrtu webového servera na ESP8285
Keď to už fungovalo dobre, je čas otestovať náčrt HelloServeru z príkladu ESP8266WebServer. Používam príklad ESP8266, pretože väčšina kódu je kompatibilná s čipom esp8285. Vzorový kód nájdete tiež v spodnej časti tejto stránky.
Tento kód je tiež veľmi jednoduchý. Najprv musíme definovať všetky potrebné knižnice, #include
ďalej musíme zadať názov a heslo hotspotu.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * heslo = STAPSK;
Ďalej musíme definovať objekt ESP8266WebServer. V tomto príklade je to definované ako server (80) (80) je číslo portu.
Ďalej musíme definovať pin pre LED, v mojom prípade to bol pin č. 16.
const int led = 16;
Ďalej je definovaná funkcia handleRoot () . Táto funkcia sa zavolá, keď zavoláte na IP adresu z nášho prehliadača.
void handleRoot () {digitalWrite (led, 1); server.send (200, "text / plain", "ahoj z esp8266!"); digitalWrite (led, 0); }
Ďalej je nastavovacia funkcia, počujeme, že musíme definovať všetky potrebné parametre ako -
pinMode (led, VÝSTUP); // led pin sme definovali ako výstup Serial.begin (115200); // zahájili sme sériové pripojenie s 115200 baudami WiFi.mode (WIFI_STA); // nastavili sme režim wifi ako stanica WiFi.begin (ssid, heslo); potom začneme wifi pripojenie Serial.println (""); // tento riadok dáva ďalší priestor while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } / * v while smyčke testujeme stav pripojenia, ktoré je ESP schopné pripojiť sa k hotspotu, ktorý slučka zabrzdí * / Serial.println (""); Serial.print („Pripojené k“); Serial.println (ssid); Serial.print ("IP adresa:"); Serial.println (WiFi.localIP ());
Ďalej do okna sériového monitora tlačíme názov a IP adresu pripojeného SSID.
server.on ("/", handleRoot); // metóda metódy objektu servera je volaná tak, aby obsluhovala koreňovú funkciu server.on ("/ inline", () {server.send (200, "text / plain", "funguje to tiež");}); // opäť sme zavolali metódu on pre príklad / inline server server.begin (); // ďalej spustíme server s metódou begin methode Serial.println ("HTTP server spustený"); // a nakoniec vytlačíme výpis do sériového monitora. } //, ktorá označuje koniec funkcie nastavenia void loop (void) {server.handleClient (); }
Vo funkcii loop sme zavolali metódy handleClient () na správne fungovanie esp.
Akonáhle to bolo urobené, doske ESP8285 trvalo nejaký čas, kým sa pripojilo k webovému serveru a úspešne pracovalo podľa očakávaní, čo znamenalo koniec tohto projektu.
Kompletné fungovanie rady nájdete aj na videu, na ktoré odkazujete nižšie. Dúfam, že sa vám tento článok páčil a dozvedeli ste sa z neho niečo nové. Ak máte pochybnosti, môžete sa opýtať v komentároch nižšie alebo môžete využiť naše fóra na podrobnú diskusiu.