Talaan ng mga Nilalaman:

Esp8266 Clock at Pulse Generator: 3 Mga Hakbang
Esp8266 Clock at Pulse Generator: 3 Mga Hakbang

Video: Esp8266 Clock at Pulse Generator: 3 Mga Hakbang

Video: Esp8266 Clock at Pulse Generator: 3 Mga Hakbang
Video: #3 Generator || ESP8266 FLProg Ladder Logic 2024, Nobyembre
Anonim
Esp8266 Clock at Pulse Generator
Esp8266 Clock at Pulse Generator

Ang itinuturo na ito ay para sa isang simpleng piraso ng kagamitan sa pagsubok; isang generator ng orasan at pulso.

Gumagamit ito ng interface ng i2S hardware sa isang esp8266 upang makabuo ng isang pagsubok na orasan o isang pagkakasunud-sunod ng pulso. Ginagawa nitong madali upang pagsamahin dahil walang espesyal na hardware ang kinakailangan para sa isang pangunahing sistema.

  • Pagbuo ng orasan mula 2Hz hanggang 20MHz
  • Anumang dalas ay maaaring magamit
  • Mga paghahanap para sa pinakamahusay na tugma ng mga divider ng orasan at haba ng bit mula sa 160MHz base na orasan
  • Karaniwan na mas mahusay kaysa sa 0.1% na tugma para sa mga frequency <100KHz
  • Markahan ang pagpipilian ng space ratio
  • Ang pagpaparaya ng pagtutugma ng dalas ay maaaring maging lundo upang makakuha ng mas mahusay na paghawak ng puwang sa marka
  • Ang pagbuo ng pulse train batay sa mga kahulugan sa mga file
  • Pinapayagan ang GUI batay sa web ng kontrol mula sa PC, telepono, tablet
  • Pamamahala ng Wifi upang payagan ang madaling paunang pag-set up ng router
  • Pag-update ng OTA software
  • Gumagamit ng isang espesyal na I2s library (i2sTXcircular) na nagbibigay ng kakayahang umangkop na kontrol

Hakbang 1: Hardware

Hardware
Hardware
Hardware
Hardware

Itinayo ko ang minahan sa isang naka-print na enclosure na 3d na may hawak na isang 18650 na baterya na may isang USB charger, isang on / off switch, isang 3 pin header plug para sa output signal.

Ang enclosure ay may isang makitid na puwang para sa paghawak ng mga electronics sa tabi ng baterya.

Lumabas ang signal mula sa GPIO3 pin (RX). Maaari itong direktang magamit ngunit para sa mas mataas na kakayahan sa pagmamaneho pinili ko upang isama ang isang maliit na buffer gamit ang isang 74LVC2G34. Inihambing ko ang dalawang buffer sa aparatong ito upang makapagbigay ng higit pang kakayahan sa pagmamaneho.

Ang lahat ay tapos na sa software lamang sa aparato, at ang kontrol ay ginagawa sa pamamagitan ng pagbibigay ng isang web server upang ang isang browser sa isang PC, telepono o tablet ay nagbibigay ng buong kontrol.

Hakbang 2: Software

Upang buuin at i-set up ang software gamitin ang code sa

  • I-install ang i2sTXcircular library (kasama)
  • I-install ang BaseSupport library (https://github.com/roberttidey/BaseSupport)
  • Magdagdag ng WifiManager library
  • I-edit ang mga password sa BaseConfig.h
  • Mag-ipon at mag-upload sa Arduino na kapaligiran
  • I-set up ang pamamahala ng wifi network sa pamamagitan ng pagkonekta sa AP at pag-browse sa 192.168.4.1
  • mag-upload ng pangunahing hanay ng mga file mula sa folder ng data gamit ang STA ip / upload
  • Ang karagdagang mga pag-upload ay maaaring gawin gamit ang ip / edit - ang normal na interface ay nasa ip /

Kung paano ito gumagana

Pinapayagan ng i2sTXcircular library ang pagbuo ng isang pabilog na kadena ng mga buffer na awtomatiko pagkatapos ay output ng i2S hardware sa esp8266 gamit ang DMA upang walang overhead ng software na ginamit sa sandaling ito ay pupunta.

Ang pangunahing orasan sa aparato ay 160MHz na nahahati sa isang pares ng mga divider. Ang output signal ay natutukoy sa pamamagitan ng kung anong data ang inilalagay sa mga buffer na kung saan ay output ng hinati na down na orasan. Sa pamamagitan ng pagpili ng dalawang mga divider at sa pamamagitan ng paggamit ng potensyal na maraming mga data bits upang kumatawan sa bawat pulso kung gayon ang isang dalas ay maaaring tantyahin nang malapit. Pinapayagan din nitong mag-iba-iba ang cycle ng tungkulin (marka ng ratio / puwang ng mga pulso ng orasan).

Sinusubukan ng browser javascript code na i-optimize ang pagpipilian ng mga parameter upang magbigay ng isang malapit na tugma sa anumang napiling dalas.

Bagaman ang pangunahing layunin ay para sa pagbuo ng mga orasan posible ring gumawa ng mas kumplikadong mga tren ng pulso sa pamamagitan ng paglalagay ng isang kahulugan sa isang file ng pulso na pagkatapos ay kinokontrol ang data na malilikha at mailalagay sa paikot na buffer. Ang mga detalye ay nasa halimbawang mga file ng pulso na kasama.

Hakbang 3: Pagpapatakbo

Ang operasyon ay kinokontrol ng interface ng browser na ipinapakita sa pangunahing imahe.

Para sa normal na pagbuo ng orasan pipiliin mo lang ang target na orasan at markahan ang puwang na% ratio. Nakamit ang aktwal na orasan at ang error nito ay ipinapakita. Kapag ang pindutang Bumuo ng Orasan ay pinindot pagkatapos ang mga parameter ay ipinadala sa aparato at pagbuo ng orasan gamit ang mga parameter na ito ay nagsisimula.

Sa pamamagitan ng pag-click sa Advanced bar mas maraming mga detalye ang makikita.

Ipinapakita ng bit na orasan ang sub-maramihang 160MHz na ginagamit.

Ipinapakita ng mga marka ng puwang at puwang kung gaano karaming mga piraso ang ginagamit upang kumatawan sa mga marka at puwang.

Ipinapakita ng Div1 at Div2 ang dalawang mga divider na napili upang makabuo ng pinakamalapit na bit orasan.

Karaniwan ang dalawang mga divider ay pinili upang ibigay ang pinakamalapit na tugma sa napiling dalas at upang ma-maximize ang bilang ng mga ginamit na data bits na makakatulong sa pagbibigay ng higit na kakayahang umangkop sa pagpapahintulot sa iba't ibang mga cycle ng tungkulin. Gayunpaman, kung minsan ang pinakamahusay na mga resulta ng tugma sa isang mababang bilang ng pag-iiwan ng maliit na silid para sa pagbabago ng cycle ng tungkulin. Sa pamamagitan ng pagbabago ng pagpapahintulot sa% na halaga ang mga divider ay pipiliin upang magbigay ng isang dalas sa loob ng pagpaparaya na ito ngunit may potensyal na higit na ginagamit ang mga data bit. Subukan halimbawa ang pagtatakda ng pagpapaubaya sa 0.5 o 1.

Maaari mo ring itakda ang mga Bits bawat numero ng salita upang makontrol ang pagpipilian ng mga parameter. Ang 0 (default) ay nangangahulugang pumili ng anumang mga bit bawat salita. Ang isang solong numero (hal. 24) ay nangangahulugang pumili lamang ng mga parameter na tumutugma dito. Maaari ka ring maglagay sa isang saklaw (hal. 24, 31). Gumagawa lamang ito para sa target na Hz sa itaas ng 10KHz, sa ibaba ng pag-scale na ito ay magkakabisa upang ang numero ay magparami.

Ipinapakita ng laki ng buffer ang kabuuang buffer spaced na ginamit sa 32 bit na mga salita. Pinili ito upang matiyak na ang pulso ng orasan ay bumubuo ng isang perpektong pabilog na akma sa buffer. Sa panloob ang buffer na ito ay nahahati sa isang bilang ng mga smalle rbuffer upang payagan ang chaced DMA na gumana.

Para sa pagpapatakbo ng pulso piliin ang pulso TAB. Ipinapakita nito ang mga magagamit na mga file ng pulso at isang pindutan sa tabi ng bawat isa na makagawa ng isang tren ng pulso batay sa kahulugan nito. Maaari mong makita ang mga nilalaman ng file sa pamamagitan ng pag-click sa link nito. Mas maraming mga file ng pulso ang maaaring mai-upload gamit ang ip / edit file browser. Dapat silang magsimula sa pangalang pulso.

Inirerekumendang: