- Úvod do ESP8285
- Obvodové schéma vývojové desky ESP
- Výroba naší vývojové desky ESP8285
- Objednání desky plošných spojů z PCBWay
- Sestavení a programování desky ESP8285
- Testování pomocí jednoduché LED blikající skici
- Testování náčrtu webového serveru na ESP8285
Řadiče ESP od společnosti Espressif se stávají velmi populární volbou pro návrhy založené na IoT. Na trhu je již k dispozici mnoho druhů modulů ESP a vývojových desek, mezi nimiž je NodeMCU nejoblíbenější. Kromě toho jsou ESP-12E a ESP01 také populární volbou. Pokud však chcete, aby byl váš design flexibilnější a kompaktnější, je pravděpodobné, že musíme navrhnout náš vlastní modul ESP z úrovně čipu, namísto přímého použití snadno dostupného modulu. V tomto článku se naučíme, jak navrhnout obvod a desku plošných spojů pro přímé použití ovladačů ESP (ESP8285) bez použití modulu.
V tomto projektu jsme použili ESP8285, protože je to velmi zajímavý malý čip. Je to malý SoC (systém na čipu) s IoT (internet věcí) a schopnostmi hlubokého spánku. Má stejnou sílu jako jeho velký bratr ESP8266 a jako bonus přichází s vestavěnou 1 MB flash pamětí se spoustou GPIO. Můžete také použít ESP8266 jako alternativu a většina věcí popsaných v tomto článku bude stále stejná.
V předchozím článku jsem vám ukázal, jak si můžete navrhnout vlastní PCB anténu pro 2,4 GHz s použitím stejného čipu ESP8285 jako příklad. V tomto článku si můžete přečíst informace o konstrukci antény pro ESP8266 / ESP8285.
Takže v tomto článku se budu zabývat tím, jak fungují všechny obvody, a nakonec bude video vysvětlující vše. Podrobně jsem také popsal kompletní postup návrhu a objednání desek plošných spojů z PCBWay pro náš návrh modulu ESP.
Úvod do ESP8285
Pokud nevíte o tomto univerzálním čipu ESP8285, zde je rychlé vysvětlení se seznamem funkcí. ESP8285 je malý čip s vestavěným 1M bleskem a RAM, je to docela podobné modulu ESP8286, ESP-01, ale vnitřní paměť flash je mnohem kompaktnější a levnější.
Tento čip obsahuje 32bitový procesor Tensilica L106 Diamond a to samé platí i pro ESP8266, proto lze celý kód pro ESP8266 bez jakýchkoli modifikací přímo flashovat na tento čip a má stejný síťový zásobník jako dávka ESp8266.
ESP8285 integruje anténní spínače, RF balun, výkonový zesilovač, nízkošumový přijímací zesilovač, filtry a moduly pro správu napájení. Kompaktní design minimalizuje velikost desky plošných spojů a vyžaduje minimální externí obvody. Pokud se chcete o tomto IC dozvědět více, můžete si vždy prohlédnout datový list ESP8285 zařízení v Espressif Systems.
Obvodové schéma vývojové desky ESP
Obvod je velmi jednoduchý a pro lepší pochopení jsem jej rozdělil. Níže uvedené schéma ESP ukazuje celý okruh, jak vidíte, že je tu osm funkčních bloků, projdu každý a vysvětlím každý blok.
ESP8285 SOC:
Srdcem projektu je ESP8285 SoC, zde jsou definovány všechny GPIO a další nezbytná připojení.
Filtr napájení: Na tomto integrovaném obvodu je 7 napájecích kolíků, první je napájecí kolík pro ADC a IO. Zkratoval jsem je dohromady a používám kondenzátor výkonového filtru 47uF a oddělovací kondenzátor 0,1uF k filtrování vstupu 3,3V DC.
PI filtr: PI filtr je jedním z nejdůležitějších bloků tohoto designu, protože je zodpovědný za napájení RF zesilovače a LNA, jakýkoli vnitřní nebo vnější šum může být pro tuto sekci popisný, takže RF sekce nebude fungovat. Proto je dolní propust pro sekci LNA velmi zásadní. Další informace o filtrech PI se dozvíte kliknutím na odkaz.
Křišťálový oscilátor: 40MHz krystalový oscilátor slouží jako zdroj hodin pro ESP8285 SoC a oddělovací kondenzátory 10pF byly přidány podle doporučení v datovém listu.
Sekce LNA: Další nejdůležitější částí tohoto okruhu je sekce LNA; to je místo, kde se anténa PCB připojí k fyzickému kolíku ESP. Jak doporučuje datový list, používá se kondenzátor 5,6pF a měl by fungovat stejně dobře jako odpovídající obvod. Ale přidal jsem dva zástupné symboly pro dva induktory, jako kdyby v případě, že funguje odpovídající disent obvodu, mohu vždy dát nějaké induktory, abych vyladil hodnoty tak, aby odpovídaly impedanci antény.
Sekce LNA má také dvě propojky PCB s konektorem UFL. Anténa PCB je nastavena ve výchozím nastavení, ale pokud vaše aplikace vyžaduje trochu větší rozsah, můžete odpojit propojku PCB a zkratovat propojku pro UFL konektor a můžete připojit externí anténu právě tak.
Vstupní konektor baterie:
Jak vidíte výše, dal jsem paralelně tři typy konektorů baterie, protože pokud jste jeden nenašli, můžete vždy dát další.
Záhlaví GPIO a záhlaví programování:
Záhlaví GPIO jsou zde pro přístup k pinům GPIO a programovací záhlaví je zde pro blikání hlavního Soc.
Obvod automatického resetu:
V tomto bloku, dva NPN tranzistory, MMBT2222A tvoří obvod automatického resetování, když stisknete tlačítko nahrávání v Arduino IDE, volá nástroj python, tento nástroj python je flash nástroj pro zařízení ESP, tento nástroj pi dává signál do převaděče UART k resetování desky, zatímco držíte GPIO pin na zemi. Poté začne proces nahrávání a ověření.
Kontrolka LED napájení, LED palubní desky a dělič napětí:
Kontrolka LED napájení: Kontrolka LED napájení má propojku PCB Pokud používáte tuto desku jako bateriovou aplikaci, můžete tuto propojku DE pájet, abyste ušetřili dost energie.
Integrovaná LED: Mnoho vývojových desek na trhu má integrovanou LED a tato deska není výjimkou; GPIO16 IC je připojen k palubní LED. Vedle toho existuje zástupný znak pro rezistor 0 OHMs vyplněním rezistoru 0 Ohms, připojujete GPIO16 k resetu a jak možná víte, je to velmi důležitý krok k uvedení ESP do režimu hlubokého spánku.
Rozdělovač napětí: Jak možná víte, maximální vstupní napětí ADC je 1V. Ke změně rozsahu vstupu na 3,3 V se tedy použije dělič napětí. Konfigurace je provedena tak, že můžete vždy přidat rezistor v sérii s pinem a změnit tak rozsah na 5V.
HT7333 LDO:
Regulátor napětí LDO nebo nízkého výpadku se používá k regulaci napětí na ESP8285 z baterie s minimální ztrátou energie.
Maximální vstupní napětí HT7333 LDO je 12V a používá se k převodu napětí baterie na 3,3 V, vybral jsem si tento HT7333 LDO, protože je to zařízení s velmi nízkým klidovým proudem. Oddělovací kondenzátory 4,7uF se používají ke stabilizaci LDO.
Tlačítko pro režim programování:
Tlačítko je připojeno k GPIO0, pokud váš převodník UART nemá pin RTS nebo DTR, můžete použít toto tlačítko k ručnímu stažení GPIO0 na zem.
Pullup a Pulldown rezistory:
Vytahovací a roztahovací rezistory jsou tam podle doporučení v datovém listu.
Kromě toho bylo při navrhování desky plošných spojů dodržováno mnoho norem a pokynů pro návrh. Pokud se o tom chcete dozvědět více, najdete to v průvodci designem hardwaru pro ESP8266.
Výroba naší vývojové desky ESP8285
Schéma je hotové a můžeme pokračovat v rozložení desky plošných spojů. K výrobě desky plošných spojů jsme použili designový software Eagle PCB, ale můžete navrhnout desku plošných spojů pomocí preferovaného softwaru. Po dokončení náš design desek plošných spojů vypadá takto.
Kusovníky a soubory Gerber jsou k dispozici ke stažení z následujících odkazů:
- ESP8282 Gerber soubory Dev-Board
- ESP8282 Kusovník pro vývojové desky
Nyní, když je náš design připraven, je čas nechat si vyrobit desky plošných spojů pomocí. Chcete-li tak učinit, postupujte podle následujících pokynů:
Objednání desky plošných spojů z PCBWay
Krok 1: Vstupte na https://www.pcbway.com/, zaregistrujte se, pokud jste poprvé. Poté na kartě Prototyp desky plošných spojů zadejte rozměry desky plošných spojů, počet vrstev a požadovaný počet desek plošných spojů.
Krok 2: Pokračujte kliknutím na tlačítko „Citovat nyní“. Budete přesměrováni na stránku, kde můžete nastavit několik dalších parametrů, jako je typ desky, vrstvy, materiál pro PCB, tloušťka a další, většina z nich je vybrána ve výchozím nastavení, pokud se rozhodnete pro konkrétní parametry, můžete vybrat je to slyšet.
Jak vidíte, potřebovali jsme naše PCB černé! takže jsem v části barvy pájecí masky vybral černou.
Krok 3: Posledním krokem je nahrání souboru Gerber a pokračování platby. Před pokračováním v platbě PCBWAY ověří, zda je váš soubor Gerber platný, aby byl proces hladký. Tímto způsobem si můžete být jisti, že vaše deska plošných spojů je přátelská k výrobě a zastihne vás.
Sestavení a programování desky ESP8285
Po několika dnech jsme dostali náš PCB v úhledném balení a kvalita PCB byla jako vždy dobrá. Horní vrstva a spodní vrstva desky jsou zobrazeny níže:
Po obdržení desky jsem okamžitě začal desku pájet. K pájení hlavního CPU jsem použil horkovzdušnou pájecí stanici a spoustu tavidla pro pájení a další komponenty na desce plošných spojů jsou pájeny páječkou. Sestavený modul je zobrazen níže.
Jakmile to uděláte, připojil jsem svůj důvěryhodný modul FTDI k otestování desky nahráním náčrtu, připojených kolíků a obrázku desky zobrazeného níže:
Modul FTDI pro desku ESP8285
3,3 V -> 3,3 V
Tx -> Rx
Rx -> Tx
DTR -> DTR
RST -> RST
GND -> GND
Jakmile jsou dokončena všechna potřebná připojení, nastavil jsem IDE Arduino výběrem Generic ESP8285 Board z Tools > Board > Generic ESP8285 Module .
Testování pomocí jednoduché LED blikající skici
Dále je čas otestovat desku blikáním LED, proto jsem použil následující kód:
/ * ESP8285 Blink Bliká modrá LED na modulu ESP828285 * / #define LED_PIN 16 // Definuje blikající LED pin void setup () {pinMode (LED_PIN, OUTPUT); // Inicializujte pin LED jako výstup} // funkce smyčky běží znovu a znovu navždy void loop () {digitalWrite (LED_PIN, LOW); // Zapněte LED (všimněte si, že LOW je úroveň napětí) delay (1000); // Počkejte na druhý digitalWrite (LED_PIN, HIGH); // Vypněte LED tím, že nastavíte napětí HIGH delay (1000); // Počkejte dvě sekundy}
Kód je velmi jednoduchý, nejprve jsem definoval pin LED pro tuto desku a je na GPIO 16. Dále jsem nastavil tento pin jako výstup v sekci nastavení. A konečně, v sekci smyčky, jsem zapnul a vypnul kolík s jednosekundovým zpožděním mezi nimi.
Testování náčrtu webového serveru na ESP8285
Jakmile to fungovalo dobře, je čas otestovat náčrt HelloServer z příkladu ESP8266WebServer. Používám příklad ESP8266, protože většina kódu je kompatibilní s čipem esp8285. Ukázkový kód najdete také v dolní části této stránky.
Tento kód je také velmi jednoduchý. Nejprve musíme definovat všechny potřebné knihovny, #zahrnout
dále musíme zadat název a heslo hotspotu.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "vaše-heslo" #endif const char * ssid = STASSID; const char * heslo = STAPSK;
Dále musíme definovat objekt ESP8266WebServer. Příklad zde definuje jako server (80) (80) je číslo portu.
Dále musíme definovat pin pro LED, v mém případě to byl pin č. 16.
const int led = 16;
Dále je definována funkce handleRoot () . Tato funkce bude vyvolána při volání na IP adresu z našeho prohlížeče.
void handleRoot () {digitalWrite (led, 1); server.send (200, "text / plain", "ahoj z esp8266!"); digitalWrite (led, 0); }
Další je funkce nastavení, slyšíme, že musíme definovat všechny potřebné parametry jako -
pinMode (led, OUTPUT); // definovali jsme pin led jako výstup Serial.begin (115200); // zahájili jsme sériové připojení s 115200 baud WiFi.mode (WIFI_STA); // nastavili jsme režim wifi jako stanici WiFi.begin (ssid, heslo); pak zahájíme wifi připojení Serial.println (""); // tento řádek dává další prostor while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } / * v while smyčce testujeme stav připojení, které se ESP může připojit k hotspotu, který smyčka zabrzdí * / Serial.println (""); Serial.print („Připojeno k“); Serial.println (ssid); Serial.print ("IP adresa:"); Serial.println (WiFi.localIP ());
Dále tiskneme název a IP adresu připojeného SSID do okna sériového monitoru.
server.on ("/", handleRoot); // metoda metody objektu serveru je volána tak, aby obsluhovala kořenovou funkci server.on ("/ inline", () {server.send (200, "text / plain", "to funguje také");}); // opět jsme zavolali metodu on pro příklad / inline příklad server.begin (); // dále spustíme server metodou begin Serial.println ("HTTP server spuštěn"); // a nakonec vytiskneme prohlášení na sériovém monitoru. } // který označuje konec funkce nastavení void loop (void) {server.handleClient (); }
Ve funkci smyčky jsme zavolali metody handleClient () pro správné fungování esp.
Jakmile to bylo provedeno, desce ESP8285 trvalo nějakou dobu, než se připojilo k webovému serveru, a úspěšně pracovalo podle očekávání, což znamenalo konec tohoto projektu.
Kompletní fungování desky najdete také na videu, na které odkazujete níže. Doufám, že se vám tento článek líbil a dozvěděli jste se z něj něco nového. Máte-li jakékoli pochybnosti, můžete se zeptat v komentářích níže nebo můžete použít naši fóra pro podrobnou diskusi.