Innholdsfortegnelse:
Video: Esp8266 Klokke- og pulsgenerator: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Denne instruksen er for et enkelt stykke testutstyr; en klokke- og pulsgenerator.
Den bruker i2S -maskinvaregrensesnittet på en esp8266 for å generere en testklokke eller en pulssekvens. Dette gjør det enkelt å sette sammen ettersom ingen spesiell maskinvare er nødvendig for et grunnleggende system.
- Klokkegenerering fra 2Hz til 20MHz
- Enhver frekvens kan brukes
- Søker etter best match av klokkeavdelere og bitlengde fra 160MHz baseklokke
- Vanligvis bedre enn 0,1% samsvarer for frekvenser <100KHz
- Merk av valg av mellomrom
- Frekvensmatchingstoleransen kan være avslappet for å få bedre markplassbehandling
- Pulstoggenerering basert på definisjoner i filer
- Nettbasert GUI som tillater kontroll fra PC, telefon, nettbrett
- Wifi Management for å tillate enkel første ruteroppsett
- OTA -programvareoppdatering
- Bruker et spesielt I2s -bibliotek (i2sTXcircular) som gir fleksibel kontroll
Trinn 1: Maskinvare
Jeg konstruerte min i et 3D -trykt kabinett som inneholdt et 18650 -batteri med en USB -lader, en av/på -bryter, en 3 -pinners toppstikk for utgangssignalet.
Kapslingen har et smalt spor for å holde elektronikken ved siden av batteriet.
Signalet kommer ut av GPIO3 -pinnen (RX). Dette kan brukes direkte, men for høyere kjøreegenskaper valgte jeg å inkludere en liten buffer ved hjelp av en 74LVC2G34. Jeg parallelt med de to bufferne i denne enheten for å gi enda mer kjøreegenskaper.
Alt gjøres bare i programvaren i enheten, og kontrollen utføres ved å tilby en webserver slik at en nettleser på en PC, telefon eller nettbrett gir full kontroll.
Trinn 2: Programvare
For å bygge og konfigurere programvaren, bruk koden på
- Installer i2sTXcircular library (inkludert)
- Installer BaseSupport -biblioteket (https://github.com/roberttidey/BaseSupport)
- Legg til WifiManager -biblioteket
- Rediger passord i BaseConfig.h
- Kompiler og last opp i Arduino -miljø
- Sett opp wifi -nettverksadministrasjon ved å koble til AP og bla til 192.168.4.1
- last opp grunnleggende sett med filer fra datamappen ved hjelp av STA ip/upload
- ytterligere opplastinger kan deretter gjøres ved hjelp av ip/edit - normalt grensesnitt er på ip/
Hvordan det fungerer
I2sTXcircular -biblioteket gjør det mulig å bygge en sirkulær kjede av buffere som deretter sendes ut automatisk av i2S -maskinvaren på esp8266 ved bruk av DMA, slik at ingen programvareoverhead brukes når den er i gang.
Grunnklokken på enheten er 160 MHz som er delt ned med et par skillevegger. Utgangssignalet bestemmes deretter av hvilke data som settes inn i bufferne som sendes ut av den delte ned -klokken. Ved å velge de to delerne og ved å bruke potensielt flere databiter for å representere hver puls, kan en frekvens tilnærmes ganske tett. Det gjør også at driftssyklusen (merke/mellomrom -forholdet mellom klokkeimpulser) kan varieres.
Javascript -koden i nettleseren prøver å optimalisere valg av parametere for å gi en nøyaktig samsvar med hvilken som helst valgt frekvens.
Selv om hovedformålet er å generere klokker, er det også mulig å produsere mer komplekse pulstog ved å sette en definisjon i en pulsfil som deretter styrer dataene som vil bli generert og lagt inn i den sirkulære bufferen. Detaljer er inkludert i eksemplet på pulsfiler.
Trinn 3: Drift
Driften styres av nettlesergrensesnittet som vises i hovedbildet.
For normal klokkegenerering velger du bare målklokken og merkeområdet % -forholdet. Den faktiske klokken og feilen vises. Når du trykker på knappen Generer klokke, sendes parameterne til enheten, og klokkegenerering med disse parameterne starter.
Ved å klikke på Avansert -linjen kan du se flere detaljer.
Bitklokken viser delmultiple av 160MHz som brukes.
Merke- og mellomrombiter viser hvor mange biter som brukes til å representere merker og mellomrom.
Div1 og Div2 viser de to delerne som er valgt for å generere nærmeste bitklokke.
Normalt velges de to delerne for å gi nærmeste match til den valgte frekvensen og for å maksimere antall databiter som brukes, noe som hjelper til med å gi mer fleksibilitet i å tillate forskjellige driftssykluser. Noen ganger resulterer imidlertid den beste matchen i et lavt antall biter som gir lite rom for å endre driftssyklusen. Ved å endre toleranse % -verdien, vil delerne bli valgt til å gi en frekvens innenfor denne toleransen, men med potensielt flere databiter brukt. Prøv for eksempel å sette toleransen til 0,5 eller 1.
Du kan også angi Bits per word -nummer for å kontrollere valg av parametere. 0 (standard) betyr å velge noen biter per ord. Et enkelt tall (f.eks. 24) betyr bare å velge parametere som samsvarer med dette. Du kan også sette inn et område (f.eks. 24, 31). Dette fungerer bare for mål -Hz over 10KHz, under denne skaleringen trer i kraft slik at tallet blir multiplisert.
Bufferstørrelsen viser den totale bufferen som er brukt i 32 biters ord. Dette er valgt for å sikre at klokkepulsen danner en perfekt sirkulær passform inn i bufferen. Internt er denne bufferen delt inn i et antall smalle rbuffere for å la den lenkete DMA fungere.
Velg pulser TAB for pulser. Dette viser de tilgjengelige pulsfilene og en knapp ved siden av hver som vil produsere et pulstog basert på dens definisjon. Du kan se innholdet i filen ved å klikke på lenken. Flere pulsfiler kan lastes opp ved hjelp av ip/edit -filleseren. De bør starte med navnet puls.
Anbefalt:
Hvordan lage analog klokke og digital klokke med LED -stripe ved hjelp av Arduino: 3 trinn
Hvordan lage analog klokke og digital klokke med LED -stripe ved hjelp av Arduino: I dag skal vi lage en analog klokke & Digital klokke med Led Strip og MAX7219 Dot -modul med Arduino. Den vil korrigere tiden med den lokale tidssonen. Den analoge klokken kan bruke en lengre LED -stripe, så den kan henges på veggen for å bli en kunstner
ESP8266 POV -vifte med klokke- og websideoppdatering: 8 trinn (med bilder)
ESP8266 POV -vifte med klokke- og websideoppdatering av tekst: Dette er en variabel hastighet, POV (Persistence Of Vision), vifte som periodisk viser tiden og to tekstmeldinger som kan oppdateres "i farten". er også en enkeltsides webserver som lar deg endre de to tekstene jeg
Internett -klokke: Vis dato og klokkeslett med en OLED ved bruk av ESP8266 NodeMCU med NTP -protokoll: 6 trinn
Internett -klokke: Vis dato og klokkeslett med en OLED Bruke ESP8266 NodeMCU Med NTP -protokoll: Hei folkens i denne instruksen vil vi bygge en internettklokke som får tid fra internett, så dette prosjektet trenger ikke noen RTC for å kjøre, det trenger bare en fungerende internettforbindelse Og for dette prosjektet trenger du en esp8266 som vil ha en
ESP8266 nettverksklokke uten noen RTC - Nodemcu NTP -klokke Ingen RTC - INTERNETT KLOKKESPROJEKT: 4 trinn
ESP8266 nettverksklokke uten noen RTC | Nodemcu NTP -klokke Ingen RTC | INTERNETT KLOKKESPROJEKT: I prosjektet skal vi lage et klokkeprosjekt uten RTC, det vil ta tid fra internett ved hjelp av wifi, og det vil vise det på st7735 -skjermen
Lage en klokke fra en klokke: 11 trinn (med bilder)
Opprette en klokke fra en klokke: I denne instruksen tar jeg en eksisterende klokke og lager det jeg føler er en bedre klokke. Vi går fra bildet til venstre til bildet til høyre. Før du begynner på din egen klokke, må du vite at gjenmontering kan være utfordrende som den viktigste