Sisällysluettelo:
Video: Esp8266 Kello ja pulssigeneraattori: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tämä ohje on tarkoitettu yksinkertaiselle testilaitteelle; kello ja pulssigeneraattori.
Se käyttää esp8266: n i2S -laitteistoliitäntää testikellon tai pulssisekvenssin luomiseen. Tämä on helppo koota, koska perusjärjestelmään ei tarvita erityisiä laitteistoja.
- Kellojen luominen 2 Hz - 20 MHz
- Mitä tahansa taajuutta voidaan käyttää
- Etsii parhaiten kellonjakajia ja bittien pituutta 160 MHz: n peruskellosta
- Yleensä parempi kuin 0,1% täsmää <100KHz taajuuksille
- Merkitse tila -suhteen valinta
- Taajuuden vastaavuuden toleranssia voidaan lieventää paremman merkkitilan käsittelyn saavuttamiseksi
- Pulssijonon luominen tiedostojen määritelmien perusteella
- Verkkopohjainen käyttöliittymä, joka mahdollistaa ohjauksen tietokoneelta, puhelimelta ja tabletilta
- Wifi -hallinta mahdollistaa helpon alkureitittimen asennuksen
- OTA -ohjelmistopäivitys
- Käyttää erityistä I2s -kirjastoa (i2sTXcircular), joka mahdollistaa joustavan hallinnan
Vaihe 1: Laitteisto
Rakensin omani kolmiulotteiseen painettuun koteloon, jossa oli 18650 -akku, jossa on USB -laturi, virtakytkin ja 3 -nastainen liitin lähtösignaalia varten.
Kotelossa on kapea aukko elektroniikan pitämiseksi akun vieressä.
Signaali tulee GPIO3 -nastasta (RX). Tätä voidaan käyttää suoraan, mutta paremman ajokyvyn vuoksi päätin sisällyttää pienen puskurin käyttämällä 74LVC2G34: tä. Olen rinnastanut kaksi puskuria tässä laitteessa tarjotakseni vielä enemmän ajokykyä.
Kaikki tehdään vain laitteen ohjelmistossa, ja ohjaus tapahtuu tarjoamalla verkkopalvelin, jotta tietokoneen, puhelimen tai tabletin selain tarjoaa täyden hallinnan.
Vaihe 2: Ohjelmisto
Voit rakentaa ja asentaa ohjelmiston käyttämällä koodia osoitteessa
- Asenna i2sTX -pyöreä kirjasto (sisältyy toimitukseen)
- Asenna BaseSupport -kirjasto (https://github.com/roberttidey/BaseSupport)
- Lisää WifiManager -kirjasto
- Muokkaa salasanoja BaseConfig.h -sivustossa
- Kokoa ja lataa Arduino -ympäristössä
- Ota wifi -verkon hallinta käyttöön yhdistämällä tukiasemaan ja selaamalla osoitteeseen 192.168.4.1
- lataa perustiedostot datakansiosta käyttämällä STA ip/upload -toimintoa
- lisälataukset voidaan sitten tehdä käyttämällä ip/edit - normaali käyttöliittymä on osoitteessa ip/
Kuinka se toimii
I2sTX -pyöreä kirjasto mahdollistaa pyöreän puskuriketjun rakentamisen, jonka sitten i2S -laitteisto lähettää automaattisesti esp8266 -laitteella DMA -tekniikkaa käyttäen, jotta ohjelmiston yleiskustannuksia ei käytetä sen aikana.
Laitteen peruskello on 160 MHz, joka on jaettu parilla jakajalla. Lähtösignaali määräytyy sitten sen perusteella, mitä tietoja puskureihin laitetaan jaetun alaskellon antama. Valitsemalla kaksi jakajaa ja käyttämällä mahdollisesti useita databittejä edustamaan kutakin pulssia, taajuus voidaan arvioida melko tarkasti. Sen avulla voidaan myös muuttaa käyttöjaksoa (kellopulssien merkki/tila -suhde).
Selaimen javascript -koodi yrittää optimoida parametrien valinnan, jotta se vastaisi hyvin valittua taajuutta.
Vaikka päätarkoitus on kellojen luominen, on myös mahdollista tuottaa monimutkaisempia pulssijunia asettamalla määritelmä pulssitiedostoon, joka sitten ohjaa tuotettavaa ja pyöreässä puskurissa olevaa dataa. Tiedot ovat esimerkkipulssitiedostoissa.
Vaihe 3: Käyttö
Toimintoa ohjaa pääkuvassa näkyvä selaimen käyttöliittymä.
Normaalia kellon luomista varten valitse vain kohdekello ja merkin tila -suhde. Todellinen saavutettu kello ja sen virhe näytetään. Kun Luo kello -painiketta painetaan, parametrit lähetetään laitteelle ja kellon luominen näiden parametrien avulla alkaa.
Napsauttamalla Lisäpalkkia näet lisätietoja.
Bittikello näyttää käytettävän 160 MHz: n osa-monikertoimen.
Merkki- ja välilyönnit osoittavat, kuinka monta bittiä käytetään merkkien ja välilyöntien esittämiseen.
Div1 ja Div2 näyttävät kaksi jakajaa, jotka on valittu luomaan lähin bittikello.
Normaalisti kaksi jakajaa valitaan antamaan lähin sovitus valitulle taajuudelle ja maksimoimaan käytettyjen databittien lukumäärä, mikä auttaa lisäämään joustavuutta eri käyttöjaksojen sallimisessa. Joskus paras vastaavuus johtaa kuitenkin pieneen bittimäärään, mikä jättää vähän tilaa käyttöjakson muuttamiseen. Muuttamalla toleranssiprosentin arvoa jakajat valitaan antamaan taajuus tämän toleranssin sisällä, mutta mahdollisesti enemmän databittejä. Kokeile esimerkiksi asettaa toleranssi 0,5 tai 1.
Voit myös määrittää bittiä sanaa kohden ohjaamaan parametrien valintaa. 0 (oletus) tarkoittaa minkä tahansa bitin valitsemista sanaa kohden. Yksi luku (esim. 24) tarkoittaa vain sitä vastaavien parametrien valitsemista. Voit myös asettaa alueen (esim. 24, 31). Tämä toimii vain yli 10 KHz: n kohde -Hz: ssä, tämän skaalauksen alapuolella tulee voimaan niin, että luku kerrotaan.
Puskurin koko näyttää käytetyn puskurin kokonaisvälin 32 -bittisissä sanoissa. Tämä on valittu varmistamaan, että kellopulssi muodostaa täydellisen pyöreän sovituksen puskuriin. Sisäisesti tämä puskuri on jaettu useisiin pieniin puskuriin, jotta ketjutettu DMA voi toimia.
Valitse pulssitoiminnolle pulssi TAB. Tämä näyttää käytettävissä olevat pulssitiedostot ja kunkin vieressä olevan painikkeen, joka tuottaa pulssijonon sen määritelmän perusteella. Näet tiedoston sisällön napsauttamalla sen linkkiä. Lisää pulssitiedostoja voidaan ladata käyttämällä ip/edit -tiedostoselainta. Niiden pitäisi alkaa nimipulssilla.
Suositeltava:
ESP8266 Sääaseman kello: 4 vaihetta
ESP8266 Weather Station Clock: Tämä projekti on mukava tapa näyttää aika ja sää pienessä kätevässä paketissa. Selitän projektin, miten se toimii ja näytän koodin täällä.Voit painaa eri painikkeita näyttääksesi nykyisen sään tietyssä paikassa sekä lämpötilan
Internet -kello: Näytä päivämäärä ja kellonaika OLED -tekniikalla käyttämällä ESP8266 -solmuaMCU ja NTP -protokolla: 6 vaihetta
Internet -kello: Näytä päivämäärä ja aika OLED: llä ESP8266: n avulla NodeMCU NTP -protokollalla: Hei kaverit tässä ohjeessa, rakennamme Internet -kellon, joka saa aikaa Internetistä, joten tämä projekti ei tarvitse RTC: tä, se tarvitsee vain toimiva Internet -yhteys Ja tähän projektiin tarvitset esp8266: n, jolla on
ESP8266 Verkkokello ilman RTC: tä - Nodemcu NTP -kello Ei RTC - INTERNET CLOCK PROJECT: 4 vaihetta
ESP8266 Verkkokello ilman RTC: tä | Nodemcu NTP -kello Ei RTC | INTERNET CLOCK PROJECT: Projektissa tehdään kelloprojekti ilman RTC: tä, se vie aikaa Internetistä wifi -yhteyden avulla ja näyttää sen st7735 -näytöllä
NODEMCU Lua ESP8266, jossa on reaaliaikainen kello (RTC) ja EEPROM: 7 vaihetta
NODEMCU Lua ESP8266, jossa on reaaliaikainen kello (RTC) ja EEPROM: Oikean ajan saaminen on välttämätöntä, jos haluat pitää datalokia. On useita tapoja saada aikaa Internetin lähteistä. Voit kysyä, miksi et käytä ESP8266 -laitetta pitääksesi aikaa sinulle? Voit, sillä on oma sisäinen RTC (reaaliaikainen
Minimalistinen IoT -kello (käyttäen ESP8266, Adafruit.io, IFTTT ja Arduino IDE): 10 vaihetta (kuvilla)
Minimalistinen IoT -kello (käyttäen ESP8266, Adafruit.io, IFTTT ja Arduino IDE): Tässä opetusohjelmassa näytän kuinka voit tehdä minimalistisen kellon synkronoituna Internetin kanssa. Testasin sitä kahdella eri ESP8266 -pohjaisella levyllä: Firebeetle ja NodeMCU. Mikro -ohjain saa nykyisen ajan Googlen palvelimelta ja näyttää sen