Kazalo:

Esp8266 Ura in generator impulzov: 3 koraki
Esp8266 Ura in generator impulzov: 3 koraki

Video: Esp8266 Ura in generator impulzov: 3 koraki

Video: Esp8266 Ura in generator impulzov: 3 koraki
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, November
Anonim
Esp8266 Ura in generator impulzov
Esp8266 Ura in generator impulzov

Ta navodila so za preprost kos preskusne opreme; generator ur in impulzov.

Za izdelavo preskusne ure ali zaporedja impulzov uporablja vmesnik strojne opreme i2S na esp8266. To olajša sestavljanje, saj za osnovni sistem ni potrebna posebna strojna oprema.

  • Generacija ure od 2Hz do 20MHz
  • Uporabite lahko katero koli frekvenco
  • Išče najboljše ujemanje delilnikov ure in dolžine bitov pri osnovni frekvenci 160 MHz
  • Običajno se bolje ujema z 0,1% pri frekvencah <100KHz
  • Označi izbiro razmerja prostora
  • Toleranco ujemanja frekvenc lahko ublažite, da izboljšate ravnanje z označevalnim prostorom
  • Generiranje impulznega vlaka na podlagi definicij v datotekah
  • Spletni grafični vmesnik, ki omogoča nadzor iz računalnika, telefona, tabličnega računalnika
  • Upravljanje Wi -Fi za enostavno nastavitev usmerjevalnika
  • Posodobitev programske opreme OTA
  • Uporablja posebno knjižnico I2s (i2sTXcircular), ki omogoča prilagodljiv nadzor

1. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Svojega sem izdelal v 3D tiskanem ohišju z baterijo 18650 s polnilnikom USB, stikalom za vklop/izklop, 3 -polnim vtičem za izhodni signal.

Ohišje ima ozko režo za držanje elektronike poleg baterije.

Signal prihaja iz zatiča GPIO3 (RX). To lahko uporabimo neposredno, vendar sem se za večjo zmogljivost pogona odločil vključiti malo vmesnega pomnilnika z uporabo 74LVC2G34. Vzporedno sem z dvema vmesnikoma v tej napravi zagotovil še večjo zmogljivost pogona.

Vse se izvaja samo v programski opremi v napravi, nadzor pa poteka z zagotavljanjem spletnega strežnika, tako da brskalnik v osebnem računalniku, telefonu ali tabličnem računalniku zagotavlja popoln nadzor.

2. korak: Programska oprema

Za izdelavo in nastavitev programske opreme uporabite kodo na naslovu

  • Namestite krožno knjižnico i2sTX (vključeno)
  • Namestite knjižnico BaseSupport (https://github.com/roberttidey/BaseSupport)
  • Dodajte knjižnico WifiManager
  • Gesla uredite v programu BaseConfig.h
  • Sestavite in naložite v okolje Arduino
  • Nastavite upravljanje omrežja wifi tako, da se povežete z dostopno točko in brskate po 192.168.4.1
  • naložite osnovni niz datotek iz podatkovne mape s pomočjo STA ip/upload
  • nadaljnje nalaganje je nato mogoče z uporabo ip/edit - običajen vmesnik je na ip/

Kako deluje

Knjižnica i2sTXcircular omogoča izdelavo krožne verige vmesnih pomnilnikov, ki jih strojna oprema i2S samodejno odda na esp8266 z uporabo DMA, tako da se ob uporabi ne porabijo stroški programske opreme.

Osnovna ura na napravi je 160 MHz, ki je razdeljena s parom razdelilnikov. Izhodni signal se nato določi s tem, kateri podatki se vnesejo v medpomnilnike, ki jih odda deljena ura navzdol. Če izberete dva delilnika in uporabite potencialno več podatkovnih bitov za predstavitev vsakega impulza, lahko frekvenco približate precej natančno. Omogoča tudi spreminjanje delovnega cikla (razmerje oznaka/prostor urnih impulzov).

Koda javascript brskalnika poskuša optimizirati izbiro parametrov, da se približa kateri koli izbrani frekvenci.

Čeprav je glavni namen ustvarjanja ur, je mogoče izdelati tudi bolj zapletene impulzne sklope, tako da v datoteko s impulzi vnesemo definicijo, ki nato nadzira podatke, ki bodo ustvarjeni in vneseni v krožni medpomnilnik. Podrobnosti so v primeru vključenih datotek pulza.

3. korak: Operacija

Delovanje nadzoruje vmesnik brskalnika, prikazan na glavni sliki.

Za normalno generiranje ure preprosto izberete ciljno uro in razmerje % oznak prostora. Prikaže se dejanska ura in njena napaka. Ko pritisnete gumb Ustvari uro, se parametri pošljejo v napravo in začne se ustvarjanje ure po teh parametrih.

S klikom na vrstico Napredno si lahko ogledate več podrobnosti.

Bitna ura prikazuje podmnožek 160MHz, ki se uporablja.

Oznake in presledki prikazujejo, koliko bitov se uporablja za predstavitev oznak in presledkov.

Div1 in Div2 prikazujeta dva delilnika, ki sta bila izbrana za generiranje najbližje bitne ure.

Običajno sta dva delilnika izbrana tako, da se izbrani frekvenci podata najbližje ujemanje in povečata število uporabljenih podatkovnih bitov, kar pripomore k večji prilagodljivosti pri omogočanju različnih delovnih ciklov. Vendar pa včasih najboljše ujemanje povzroči nizko število bitov, kar pusti malo prostora za spreminjanje delovnega cikla. S spreminjanjem vrednosti odstopanja % se bodo delilniki izbrali tako, da bodo dali frekvenco znotraj te tolerance, vendar z uporabo potencialno več podatkovnih bitov. Poskusite na primer nastaviti toleranco na 0,5 ali 1.

Za nadzor izbire parametrov lahko nastavite tudi število bitov na besedo. 0 (privzeto) pomeni izbiro poljubnih bitov na besedo. Ena številka (npr. 24) pomeni le izbiro parametrov, ki se temu ujemajo. Vnesete lahko tudi obseg (npr. 24, 31). To deluje le pri ciljnem Hz nad 10KHz, pod tem bo lestvica začela veljati, tako da se število pomnoži.

Velikost medpomnilnika prikazuje skupni razmik medpomnilnika, uporabljen v 32 -bitnih besedah. To je izbrano za zagotovitev popolnega krožnega ujemanja impulza ure v medpomnilniku. Notranji vmesni pomnilnik je razdeljen na številne manjše odbojnike, ki omogočajo delovanje verige DMA.

Za delovanje impulzov izberite impulze TAB. To prikazuje razpoložljive datoteke impulzov in gumb poleg vsakega, ki bo ustvaril impulzni niz na podlagi njegove definicije. Vsebino datoteke si lahko ogledate s klikom na njeno povezavo. Več bralnih datotek lahko naložite z brskalnikom datotek ip/edit. Začeti bi morali z imenom pulz.

Priporočena: