- Az ESP8285 bemutatása
- ESP Fejlesztő Testület áramköri rajza
- Az ESP8285 Dev Board gyártása
- PCB rendelése a PCBWay-ről
- Az ESP8285 kártya összeállítása és programozása
- Tesztelés egy egyszerű LED-es villogó vázlattal
- A webszerver vázlatának tesztelése az ESP8285 készüléken
Az Espressif ESP vezérlői az IoT alapú tervek széles körben népszerű választásává válnak. Sokféle ESP modul és fejlesztőlemez létezik már a piacon, amelyek közül a NodeMCU a legnépszerűbb. Ezen kívül az ESP-12E, az ESP01 is népszerű választás. De ha rugalmasabbá és kompaktabbá akarja tenni a tervezését, akkor nagy eséllyel meg kell terveznünk saját ESP modulunkat a chip szintjéről, ahelyett, hogy közvetlenül egy könnyen elérhető modult használnánk. Ebben a cikkben megtudhatjuk, hogyan tervezhetünk áramkört és NYÁK-t az ESP vezérlők (ESP8285) közvetlen használatához modul használata nélkül.
Ebben a projektben az ESP8285-öt használtuk, mert ez egy nagyon érdekes kis chip. Ez egy apró SoC (System on Chip), tárgyak internete (Internet of Things) és mély alvási képességekkel. Ugyanolyan erővel rendelkezik, mint a nagy testvére, az ESP8266, és bónuszként beépített 1 MB flash memóriával rendelkezik, sok GPIO-val. Az ESP8266-ot alternatívaként is használhatja, és a cikkben tárgyalt dolgok többsége továbbra is ugyanaz lesz.
Egy korábbi cikkemben bemutattam, hogyan tervezheti meg saját PCB antennáját 2,4 GHz-re, ugyanazon ESP8285 chip segítségével. A cikk elolvasásával megismerheti az ESP8266 / ESP8285 antennatervezését.
Tehát ebben a cikkben kitérek az összes áramkör működésére, és végül lesz egy videó, amely elmagyarázza az egészet. Részletesen kitértem a PCB-kártyák tervezésének és megrendelésének teljes eljárására is a PCBWay-től az ESP modul tervezéséhez.
Az ESP8285 bemutatása
Ha még nem tud erről a sokoldalú ESP8285 chipről, íme egy gyors magyarázat a szolgáltatások listájával. Az ESP8285 egy kicsi chip beépített 1M-es vakuval és RAM- mal, meglehetősen hasonlít az ESP8286, ESP-01 modulhoz, de a belső flash memória sokkal kompaktabbá és olcsóbbá teszi.
Ebben a chipben található a Tensilica 32 bites L106 Diamond processzora, és ugyanez vonatkozik az ESP8266-ra is, ezért az ESP8266 összes kódját változtatások nélkül közvetlenül erre a chipre lehet villantani, és ugyanaz a hálózati verem van, mint az ESp8266 adagja.
Az ESP8285 integrálja az antennakapcsolókat, az RF balun-t, az erősítőt, az alacsony zajszintű vevőerősítőt, a szűrőket és az energiagazdálkodási modulokat. A kompakt kialakítás minimalizálja a NYÁK méretét, és minimális külső áramkört igényel. Ha többet szeretne megtudni erről az IC-ről, mindig ellenőrizheti az eszköz ESP8285 adatlapját az Espressif Systems oldalon.
ESP Fejlesztő Testület áramköri rajza
Az áramkör nagyon egyszerű, és a jobb megértés érdekében lebontottam. Az alábbi ESP vázlat az egész áramkört mutatja be, mivel láthatja, hogy nyolc funkcionális blokk van, mindegyiket átmegyek, és minden blokkot elmagyarázok.
ESP8285 SOC:
A projekt középpontjában az ESP8285 SoC áll, itt minden GPIO és egyéb szükséges kapcsolat meg van határozva.
Teljesítményszűrő: Ezen az IC-n 7 tápcsatlakozó található, az első az ADC és az IO tápegysége. Összezártam őket, és egy 47uF teljesítményszűrő kondenzátort és egy 0,1uF leválasztó kondenzátort használok a 3,3 V DC bemenet szűrésére.
PI szűrő: A PI szűrő az egyik legfontosabb blokk ennek a kialakításnak, mert felelős az RF erősítő és az LNA táplálásáért, ezért bármilyen belső vagy külső zaj leíró lehet erre a szakaszra, ezért az RF szakasz nem fog működni. Ezért nagyon fontos az LNA szakasz aluláteresztő szűrője. A PI-szűrőkről a link követésével tudhat meg többet.
Kristály-oszcillátor: A 40 MHz-es kristály-oszcillátor szolgál az órajel forrásaként az ESP8285 SoC-hoz, és az adatlap ajánlása szerint hozzáadták a 10pF-os leválasztó kondenzátorokat.
LNA szakasz: Ennek az áramkörnek a másik legfontosabb szakasza az LNA szakasz; itt csatlakozik a NYÁK antenna az ESP fizikai tűjéhez. Az adatlap ajánlása szerint egy 5,6 pF-os kondenzátort használnak, amelynek megfelelően kell működnie, mint a megfelelő áramkör. De két induktorhoz két helyőrzőt adtam, mintha abban az esetben, ha a megfelelő áramköri disszidens működik, mindig be tudok tenni néhány induktivitást, hogy az értékeket az antenna impedanciájához igazítsuk.
Az LNA szekció két UFL csatlakozóval ellátott NYÁK-jumperrel is rendelkezik. A NYÁK-antenna alapértelmezés szerint be van állítva, de ha az alkalmazás egy kicsit nagyobb hatótávolságot igényel, akkor a PCB-jumpert félreteheti és rövidzárlatot zárhat az UFL-csatlakozóhoz, és ugyanúgy csatlakoztathat egy külső antennát.
Akkumulátor bemeneti csatlakozó:
Láthatja fentebb, háromféle akkumulátor csatlakozót tettem párhuzamosan, mert ha nem találta meg, akkor mindig tehet másikat.
GPIO fejlécek és programozó fejlécek:
A GPIO fejlécek hozzáférnek a GPIO csapokhoz, a programozó fejléc pedig a fő Soc villogásához.
Automatikus visszaállítás áramkör:
Ebben a blokkban két NPN tranzisztor, az MMBT2222A alkotja az automatikus visszaállítási áramkört, amikor megnyomja a feltöltési gombot az Arduino IDE-ben, a python eszköz hívást kap, ez a python eszköz az ESP eszközök flash eszköze, ez a pi eszköz adja meg a jelet az UART átalakítónak a kártya alaphelyzetbe állításához, miközben a GPIO csapot a földhöz tartja. Ezt követően megkezdődik a feltöltési és ellenőrzési folyamat.
Tápellátás LED, fedélzeti LED és feszültségosztó:
Tápfeszültség-LED: A tápfeszültség-LED-nek NYÁK-jumperje van. Ha ezt a kártyát használja, mint az akkumulátoros alkalmazásokhoz, akkor az átkötést DE forraszthatja, hogy meglehetősen kevés energiát takarítson meg.
Fedélzeti LED: A piacon sok dev-táblának van beépített LED-je, és ez a tábla sem kivétel; az IC GPIO16 csatlakozik egy fedélzeti ledhez. Emellett van egy 0 OHM-os ellenállás helyőrzője a 0 Ohm-os ellenállás feltöltésével, a GPIO16-ot csatlakoztatja a visszaállításhoz, és mint tudhatja, ez nagyon fontos lépés az ESP mély alvó üzemmódba állításához .
Feszültségosztó: Mint tudhatja, az ADC maximális bemeneti feszültsége 1 V. Tehát, hogy a bemenet tartományát 3,3 V-ra változtassuk, a feszültségosztót használjuk. A konfiguráció úgy készült, hogy mindig hozzáadhat egy ellenállást sorozatosan a csaphoz, hogy a tartományt 5 V-ra változtassa.
HT7333 LDO:
LDO-t vagy alacsony lemerülési feszültség-szabályozót használnak az ESP8285 feszültségének szabályozására egy akkumulátorból, minimális energiaveszteséggel.
A HT7333 LDO maximális bemeneti feszültsége 12V, amelyet az akkumulátor feszültségének 3,3 V-ra történő átalakítására használnak. Ezt a HT7333 LDO-t választottam, mert ez egy nagyon alacsony nyugalmi áramú eszköz. A 4.7uF leválasztó kondenzátorokat használják az LDO stabilizálására.
Nyomógomb programozási módhoz:
A nyomógomb a GPIO0-hoz van csatlakoztatva, ha az UART-átalakítón nincs RTS vagy DTR tű, akkor ezzel a nyomógombbal kézzel húzhatja a GPIO0-t a földre.
Pullup és Pulldown ellenállások:
A felhúzási és lehúzási ellenállások ott vannak, ahogy azt az adatlap ajánlja.
Ezen kívül sok tervezési normát és irányelvet követtek a NYÁK tervezésénél. Ha többet szeretne megtudni erről, megtalálhatja az ESP8266 hardvertervezési útmutatójában.
Az ESP8285 Dev Board gyártása
A vázlat elkészült, és folytathatjuk a NYÁK kirakását. Az Eagle NYÁK-tervező szoftvert használtuk a NYÁK készítéséhez, de a NYÁK-t megtervezheti a kívánt szoftverrel. Nyomtatott áramköri kivitelünk így néz ki, amikor elkészült.
A BOM és a Gerber fájlok letölthetők a következő linkekről:
- ESP8282 Dev-Board Gerber fájlok
- ESP8282 Dev-Board BOM
Most, hogy elkészült a tervezésünk, itt az ideje, hogy elkészítsük a NYÁK-kat. Ehhez egyszerűen kövesse az alábbi lépéseket:
PCB rendelése a PCBWay-ről
1. lépés: Lépjen be a https://www.pcbway.com/ oldalra, és regisztráljon, ha most először jár. Ezután a NYÁK prototípus lapon adja meg a NYÁK méreteit, a rétegek számát és a szükséges NYÁK számát.
2. lépés: Folytassa a "Quote Now" gombra kattintva. Egy olyan oldalra kerül, ahol megadhat néhány további paramétert, például a tábla típusát, a rétegeket, a NYÁK anyagát, a vastagságot és a többit. A legtöbbet alapértelmezés szerint kiválasztjuk, ha bármilyen konkrét paramétert választ, akkor kiválaszthatja hallásba.
Amint láthatja, fekete alaplapokra volt szükségünk! így, a forrasz maszk szín szakaszában a feketét választottam.
3. lépés: Az utolsó lépés a Gerber fájl feltöltése és a fizetés folytatása. Annak érdekében, hogy a folyamat zökkenőmentes legyen, a PCBWAY a fizetés folytatása előtt ellenőrzi, hogy Gerber fájlja érvényes-e. Így biztos lehet benne, hogy a NYÁK gyártásbarát, és elkötelezetten eljut Önnél.
Az ESP8285 kártya összeállítása és programozása
Néhány nap múlva kaptuk a NYÁK-t egy rendes csomagoló dobozban, és a NYÁK minősége jó volt, mint mindig. A tábla felső és alsó rétege az alábbiakban látható:
A tábla kézhezvétele után azonnal elkezdtem forrasztani a táblát. Forró levegő forrasztóállomást és sok forrasztási fluxust használtam a fő CPU forrasztásához, és a NYÁK más alkatrészeit forrasztópáka segítségével forrasztom. Az összeszerelt modul az alábbiakban látható.
Miután ez megtörtént, csatlakoztattam megbízható FTDI modulomat a tábla teszteléséhez, feltöltve egy vázlatot, a Csatlakoztatott csapokat és az alább látható tábla képét:
ESP8285 Dev Board FTDI modul
3,3 V -> 3,3 V
Tx -> Rx
Rx -> Tx
DTR -> DTR
RST -> RST
GND -> GND
Miután az összes szükséges kapcsolat elkészült, beállítottam az Arduino IDE-t azáltal, hogy kiválasztottam az Eszközök > Tábla > Általános ESP8285 modul Általános ESP8285 táblát .
Tesztelés egy egyszerű LED-es villogó vázlattal
Ezután itt az ideje tesztelni a táblát egy LED villogásával, ehhez a következő kódot használtam:
/ * ESP8285 Blink Villog az ESP828285 modul kék LED-je * / #define LED_PIN 16 // A villogó LED pin definiálása definiálása () {pinMode (LED_PIN, OUTPUT); // Inicializálja a LED tüskét kimenetként} // a ciklus funkció újra és újra fut örökre void loop () {digitalWrite (LED_PIN, LOW); // Kapcsolja be a LED-et (vegye figyelembe, hogy a LOW a feszültségszint) késleltetés (1000); // Várjon egy második digitalWrite-t (LED_PIN, HIGH); // Kapcsolja ki a LED-t a feszültség HIGH késleltetésével (1000); // Várjon két másodpercet}
A kód nagyon egyszerű, először definiáltam ennek a táblának a LED-érintkezőjét, és a GPIO 16-on van. Ezután ezt a csapot kimenetként állítottam be a beállítási részben. És végül a hurok szakaszban egy másodperc késéssel be- és kikapcsoltam a csapot.
A webszerver vázlatának tesztelése az ESP8285 készüléken
Miután ez jól működött, ideje tesztelni a HelloServer vázlatát az ESP8266WebServer példából. ESP8266 példát használok, mert a kód nagy része kompatibilis az esp8285 chipkel. A példa kód szintén az oldal alján található.
Ez a kód is nagyon egyszerű. Először meg kell határoznunk az összes szükséges könyvtárat, #include
ezután meg kell adnunk a hotspot nevét és jelszavát.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * jelszó = STAPSK;
Ezután meg kell határoznunk az ESP8266WebServer objektumot. A példa itt szerverként (80) definiálja, a (80) a portszám.
Ezután meg kell határoznunk egy csapot egy LED számára, esetemben ez a 16. tű volt.
const int led = 16;
Ezután megadjuk a handleRoot () függvényt. Ezt a funkciót akkor hívjuk meg, amikor a böngészőnkből az IP-címet hívja.
void handleRoot () {digitalWrite (led, 1); server.send (200, "text / plain", "hello esp8266-ból!"); digitalWrite (led, 0); }
A következő a beállítási funkció, halljuk, meg kell határoznunk az összes szükséges paramétert, például
pinMode (led, OUTPUT); // a led csapot kimenetként definiáltuk Serial.begin (115200); // soros kapcsolatot indítottunk 115200 baud WiFi.mode (WIFI_STA); // a wifi módot állomásként állítottuk be WiFi.begin (ssid, jelszó); akkor elkezdjük a Serial.println ("") wifi kapcsolatot; // ez a sor további helyet ad, míg (WiFi.status ()! = WL_CONNECTED) {delay (500); Soros.nyomtatás ("."); } / * a while ciklusban teszteljük a kapcsolat állapotát, amint az ESP képes csatlakozni a hotspothoz, a hurok lefékez * / Serial.println (""); Serial.print ("Kapcsolatban"); Soros.println (ssid); Serial.print ("IP-cím:"); Serial.println (WiFi.localIP ());
Ezután kinyomtatjuk a csatlakoztatott SSID nevét és IP-címét a soros monitor ablakba.
server.on ("/", handleRoot); // a kiszolgáló objektum on metódusát hívják meg a server.on ("/ inline", () {server.send (200, "text / plain", "ez is működik");}}; // ismét meghívtuk az on methode-ot a / inline példa server.begin (); // ezután a szervert a start metódussal indítjuk Serial.println ("HTTP szerver elindult"); // és végül kinyomtatunk egy nyilatkozatot a soros monitoron. } //, amely a telepítési függvény végét jelöli void loop (void) {server.handleClient (); }
A ciklusfüggvényben a handClient () metódusokat hívtuk meg az esp megfelelő működéséhez.
Miután ez megtörtént, az ESP8285 táblának kellett egy kis idő, mire csatlakozott a webszerverhez, és a várakozásoknak megfelelően sikeresen működött, ami a projekt végét jelentette.
A tábla teljes működése megtalálható az alábbi linken található videón is. Remélem tetszett ez a cikk, és valami újat tanultál belőle. Ha kétségei vannak, kérje az alábbi megjegyzéseket, vagy használhatja fórumunkat a részletes megbeszéléshez.