Cuprins:
Video: Esp8266 Generator de ceasuri și impulsuri: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Acest instructable este pentru o piesă simplă de echipament de testare; un generator de ceas și impulsuri.
Folosește interfața hardware i2S pe un esp8266 pentru a genera un ceas de test sau o secvență de impulsuri. Acest lucru îl face ușor de asamblat, deoarece nu este necesar un hardware special pentru un sistem de bază.
- Generarea ceasului de la 2Hz la 20MHz
- Se poate utiliza orice frecvență
- Caută cea mai bună potrivire a divizoarelor de ceas și a lungimii de biți de la ceasul de bază de 160 MHz
- De obicei, mai bine de 0,1% potrivire pentru frecvențe <100KHz
- Marcați selecția raportului de spațiu
- Toleranța de potrivire a frecvenței poate fi relaxată pentru a obține o mai bună manevrare a spațiului
- Generarea trenului de impulsuri pe baza definițiilor din fișiere
- GUI bazat pe web care permite controlul de pe PC, telefon, tabletă
- Gestionarea Wifi pentru a permite configurarea ușoară a routerului inițial
- Actualizare software OTA
- Folosește o bibliotecă specială I2s (i2sTXcircular) care oferă un control flexibil
Pasul 1: Hardware
Mi-am construit-o într-o carcasă tipărită 3D care conține o baterie 18650 cu un încărcător USB, un comutator de pornire / oprire, o fișă antet cu 3 pini pentru semnalul de ieșire.
Carcasa are un slot îngust pentru a ține electronica lângă baterie.
Semnalul iese din pinul GPIO3 (RX). Acest lucru poate fi utilizat direct, dar pentru o capacitate mai mare de unitate am ales să includ un mic buffer folosind un 74LVC2G34. Am paralelizat cele două buffere din acest dispozitiv pentru a oferi și mai multă capacitate de unitate.
Totul se face doar în software-ul dispozitivului, iar controlul se face prin furnizarea unui server web, astfel încât un browser de pe un computer, telefon sau tabletă să ofere control complet.
Pasul 2: Software
Pentru a construi și configura software-ul, utilizați codul la
- Instalați biblioteca i2sTXcircular (inclusă)
- Instalați biblioteca BaseSupport (https://github.com/roberttidey/BaseSupport)
- Adăugați o bibliotecă WifiManager
- Editați parolele în BaseConfig.h
- Compilați și încărcați în mediul Arduino
- Configurați gestionarea rețelei wifi conectându-vă la AP și navigând la 192.168.4.1
- încărcați setul de bază de fișiere din folderul de date folosind STA ip / upload
- încărcări ulterioare se pot face apoi folosind ip / edit - interfața normală este la ip /
Cum functioneaza
Biblioteca i2sTXcircular permite construirea unui lanț circular de buffere care sunt apoi trimise automat de hardware-ul i2S pe esp8266 utilizând DMA, astfel încât să nu fie folosită nicio cheltuială software odată ce merge.
Ceasul de bază al dispozitivului este de 160 MHz, care este împărțit la o pereche de separatoare. Semnalul de ieșire este apoi determinat de ce date sunt introduse în tampoanele care sunt emise de ceasul împărțit. Alegând cei doi divizori și folosind biți de date potențial multipli pentru a reprezenta fiecare impuls, atunci o frecvență poate fi aproximată destul de strâns. De asemenea, permite variația ciclului de funcționare (raport marca / spațiu al impulsurilor de ceas).
Codul javascript al browserului încearcă să optimizeze alegerea parametrilor pentru a oferi o potrivire strânsă cu orice frecvență selectată.
Deși scopul principal este generarea de ceasuri, este de asemenea posibil să se producă trenuri de impulsuri mai complexe prin introducerea unei definiții într-un fișier de impulsuri care apoi controlează datele care vor fi generate și introduse în tamponul circular. Detaliile sunt în exemplul de fișiere de impulsuri incluse.
Pasul 3: Operațiune
Funcționarea este controlată de interfața browserului prezentată în imaginea principală.
Pentru generarea normală a ceasului, trebuie doar să selectați ceasul țintă și raportul% spațiu de marcare. Ceasul real realizat și eroarea acestuia sunt afișate. Când este apăsat butonul Generare ceas, atunci parametrii sunt trimiși la dispozitiv și generarea ceasului utilizând acești parametri începe.
Făcând clic pe bara Avansată pot fi văzute mai multe detalii.
Ceasul de biți arată sub-multiplul de 160 MHz care este utilizat.
Biții de marcare și spațiu arată câte biți sunt folosiți pentru a reprezenta mărci și spații.
Div1 și Div2 arată cele două divizoare care au fost alese pentru a genera cel mai apropiat ceas de biți.
În mod normal, cele două divizoare sunt alese pentru a oferi cea mai apropiată potrivire cu frecvența aleasă și pentru a maximiza numărul de biți de date utilizați, ceea ce ajută la oferirea unei flexibilități mai mari în a permite cicluri de funcționare diferite. Cu toate acestea, uneori cea mai bună potrivire are ca rezultat un număr mic de biți, lăsând puțin loc pentru schimbarea ciclului de funcționare. Prin modificarea valorii% a toleranței, separatorii vor fi aleși pentru a da o frecvență în cadrul acestei toleranțe, dar cu potențial mai mulți biți de date utilizați. Încercați, de exemplu, să setați toleranța la 0,5 sau 1.
De asemenea, puteți seta numărul de biți pe cuvânt pentru a controla alegerea parametrilor. 0 (implicit) înseamnă alegerea oricăror biți pe cuvânt. Un singur număr (de exemplu, 24) înseamnă doar alegerea parametrilor care se potrivesc cu acesta. De asemenea, puteți introduce o gamă (de exemplu, 24, 31). Acest lucru funcționează numai pentru Hz țintă peste 10KHz, sub această scalare va intra în vigoare, astfel încât numărul să se înmulțească.
Dimensiunea bufferului arată bufferul spațiat total utilizat în cuvinte pe 32 de biți. Aceasta este aleasă pentru a se asigura că pulsul ceasului formează o potrivire circulară perfectă în tampon. Intern, acest buffer este împărțit într-un număr de tampoane mici pentru a permite DMA înlănțuit să funcționeze.
Pentru funcționarea impulsurilor, alegeți impulsurile TAB. Aceasta arată fișierele de impulsuri disponibile și un buton lângă fiecare care va produce un tren de impulsuri pe baza definiției sale. Puteți vedea conținutul fișierului făcând clic pe linkul acestuia. Mai multe fișiere puls pot fi încărcate folosind browserul de fișiere ip / edit. Ar trebui să înceapă cu numele puls.
Recomandat:
Control LED impulsuri intermitente cu un potențiometru: 6 pași
Controlul impulsurilor LED intermitente cu un potențiometru: În acest tutorial vom învăța cum să controlăm impulsurile LED intermitente cu un potențiometru. Urmăriți un videoclip demonstrativ
Platouri pentru ceasuri de mână: 8 pași (cu imagini)
Plate turnate pentru ceasuri de mână: zgârierea înregistrărilor este o mulțime de distracție, chiar dacă nu sunteți un turntablist. Nu ți-ai dori să poți lăsa bătăi de phat și zgârie oriunde ai merge? Ei bine, acum poți; fii un DJ Hero cu platane rotative pentru ceas de mână! Folosind 2 cărți de felicitare înregistrabile și unele puternice
De la ceasuri Quarts la intermitente LED: 13 pași
De la ceasuri Quarts până la intermitente cu LED-uri: mecanismul ceasului din aceste ceasuri de ceasuri nu este cel mai bine realizat, totuși circuitul de ceasuri funcționează mult după ce restul ceasului eșuează. Deci, iată câteva circuite intermitente distractive pe care le puteți face din aceste circuite. NOTĂ: NU UTILIZAȚI LED-uri CHIP. Chec
Clockception - Cum să construiești un ceas realizat din ceasuri: 14 pași (cu imagini)
Clockception - Cum să construiești un ceas din ceasuri: Bună tuturor! Aceasta este transmiterea mea pentru Concursul de autor pentru prima dată din 2020! Dacă îți place acest proiect, aș aprecia foarte mult votul tău :) Mulțumesc! Acest instructable vă va ghida prin procesul de construire a unui ceas din ceasuri! Am numit inteligent
Generator de impulsuri cu undă pătrată Fast Edge: 4 pași
Generator de impulsuri de undă pătrată Fast Edge: Generator de impulsuri de margine rapidă - Generator de impulsuri de undă pătrată ultra rapid Acest circuit simplu, utilizând un invertor 74HC14N (șase invertoare TTL cu viteză redusă de rotire), este capabil să genereze semnale de undă pătrată de până la 10MHZ. Ideal pentru unele teste electronice. Cu o putrezire