Orodha ya maudhui:

Saa ya Esp8266 na Jenereta ya Pulse: 3 Hatua
Saa ya Esp8266 na Jenereta ya Pulse: 3 Hatua

Video: Saa ya Esp8266 na Jenereta ya Pulse: 3 Hatua

Video: Saa ya Esp8266 na Jenereta ya Pulse: 3 Hatua
Video: Управление 32 сервомоторами с помощью PCA9685 и Arduino: V3 2024, Julai
Anonim
Saa ya Esp8266 na Jenereta ya Pulse
Saa ya Esp8266 na Jenereta ya Pulse

Hii inaweza kufundishwa kwa kipande rahisi cha vifaa vya majaribio; saa na jenereta ya kunde.

Inatumia kiolesura cha vifaa vya i2S kwenye esp8266 kutengeneza saa ya majaribio au mlolongo wa kunde. Hii inafanya iwe rahisi kuweka pamoja kwani hakuna vifaa maalum vinavyohitajika kwa mfumo wa msingi.

  • Kizazi cha saa kutoka 2Hz hadi 20MHz
  • Mzunguko wowote unaweza kutumika
  • Utafutaji wa mechi bora ya wagawanyaji wa saa na urefu kidogo kutoka saa ya msingi ya 160MHz
  • Kawaida bora kuliko mechi ya 0.1% ya masafa <100KHz
  • Alama uteuzi wa uwiano wa nafasi
  • Uvumilivu unaofanana wa mzunguko unaweza kupumzika ili kupata utunzaji mzuri wa alama
  • Pulse kizazi cha treni kulingana na ufafanuzi katika faili
  • Wavuti ya GUI inayoruhusu udhibiti kutoka kwa PC, simu, kompyuta kibao
  • Usimamizi wa Wifi kuruhusu usanidi rahisi wa awali
  • Sasisho la programu ya OTA
  • Inatumia maktaba maalum ya I2s (i2sTXcircular) kutoa udhibiti rahisi

Hatua ya 1: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa

Niliunda yangu kwenye kiwambo kilichochapishwa cha 3d kilichoshikilia betri ya 18650 na chaja ya USB, kitufe cha kuwasha / kuzima, kuziba kichwa cha pini 3 kwa ishara ya pato.

Ufungaji una nafasi nyembamba ya kushikilia umeme karibu na betri.

Ishara hutoka kwenye pini ya GPIO3 (RX). Hii inaweza kutumika moja kwa moja lakini kwa uwezo wa juu wa kuendesha nilichagua kujumuisha bafa kidogo kwa kutumia 74LVC2G34. Nililinganisha bafa mbili kwenye kifaa hiki ili kutoa uwezo zaidi wa kuendesha.

Kila kitu kinafanywa tu kwenye programu kwenye kifaa, na udhibiti unafanywa kwa kutoa seva ya wavuti ili kivinjari kwenye PC, simu au kompyuta kibao kiwe kinatoa udhibiti kamili.

Hatua ya 2: Programu

Kuunda na kusanidi programu tumia nambari kwenye

  • Sakinisha maktaba ya i2sTXcircular (pamoja)
  • Sakinisha maktaba ya BaseSupport (https://github.com/roberttidey/BaseSupport)
  • Ongeza maktaba ya WifiManager
  • Hariri nywila katika BaseConfig.h
  • Kusanya na kupakia katika mazingira ya Arduino
  • Sanidi usimamizi wa mtandao wa wifi kwa kuunganisha kwa AP na kuvinjari kwa 192.168.4.1
  • pakia seti ya msingi ya faili kutoka folda ya data ukitumia STA ip / upload
  • upakiaji zaidi unaweza kufanywa kwa kutumia ip / hariri - kiolesura cha kawaida ni kwa ip /

Inavyofanya kazi

Maktaba ya i2sTXcircular inaruhusu kujenga mlolongo wa duara wa bafa ambazo hutolewa kiatomati na vifaa vya i2S kwenye esp8266 kutumia DMA ili hakuna programu ya kichwa inayotumiwa mara moja inapoenda.

Saa ya msingi kwenye kifaa ni 160MHz ambayo imegawanywa chini na jozi ya wagawanyaji. Ishara ya pato kisha imedhamiriwa na data gani imewekwa kwenye bafa ambazo hutolewa na saa iliyogawanywa chini. Kwa kuchagua wagawanyaji wawili na kwa kutumia vipande vya data anuwai vinavyowezekana kuwakilisha kila kunde basi masafa yanaweza kukadiriwa kwa karibu kabisa. Inaruhusu pia mzunguko wa ushuru (alama / nafasi ya nafasi ya kunde za saa) kuwa anuwai.

Nambari ya kivinjari ya kivinjari inajaribu kuboresha uchaguzi wa vigezo ili kutoa mechi ya karibu kwa masafa yoyote yaliyochaguliwa.

Ingawa kusudi kuu ni kutengeneza saa pia inawezekana kutengeneza treni ngumu zaidi za kunde kwa kuweka ufafanuzi katika faili ya kunde ambayo inadhibiti data ambayo itatengenezwa na kuwekwa kwenye bafa ya duara. Maelezo ni katika mfano faili za kunde zilizojumuishwa.

Hatua ya 3: Operesheni

Uendeshaji unadhibitiwa na kiolesura cha kivinjari kilichoonyeshwa kwenye picha kuu.

Kwa kizazi cha kawaida cha saa unachagua saa tu ya kulenga na nafasi ya alama% uwiano. Saa halisi iliyofanikiwa na kosa lake huonyeshwa. Wakati kitufe cha Kuzalisha Saa kinabanwa basi vigezo vinatumwa kwa kifaa na kizazi cha saa kwa kutumia vigezo hivi huanza.

Kwa kubofya kwenye Mwambaa wa juu maelezo zaidi yanaweza kuonekana.

Saa kidogo inaonyesha anuwai ya 160MHz ambayo inatumiwa.

Alama na nafasi za nafasi zinaonyesha jinsi bits nyingi zinatumiwa kuwakilisha alama na nafasi.

Div1 na Div2 zinaonyesha wagawanyiko wawili ambao wamechaguliwa kutoa saa karibu zaidi.

Kwa kawaida wagawanyaji wawili huchaguliwa kutoa mechi iliyo karibu zaidi na masafa yaliyochaguliwa na kuongeza idadi ya data zinazotumika ambazo husaidia kwa kutoa kubadilika zaidi kwa kuruhusu mizunguko ya ushuru tofauti. Walakini, wakati mwingine mechi bora husababisha hesabu ndogo kuacha nafasi ndogo ya kubadilisha mzunguko wa ushuru. Kwa kubadilisha uvumilivu% ya thamani wagawanyaji watachaguliwa kutoa masafa ndani ya uvumilivu huu lakini na uwezekano wa data zaidi kutumika. Jaribu kwa mfano kuweka uvumilivu hadi 0.5 au 1.

Unaweza pia kuweka Bits kwa kila nambari ya neno kudhibiti chaguo za vigezo. 0 (chaguo-msingi) inamaanisha kuchagua bits yoyote kwa kila neno. Nambari moja (k.v. 24) inamaanisha kuchagua tu vigezo vinavyolingana na hii. Unaweza pia kuweka anuwai (k.v. 24, 31). Hii inafanya kazi tu kwa lengo Hz juu ya 10KHz, chini ya upeo huu utafanya kazi ili nambari izidi kuongezeka.

Ukubwa wa bafa unaonyesha jumla ya bafa iliyotengwa kwa maneno 32 kidogo. Hii imechaguliwa kuhakikisha kunde ya saa hutengeneza safa kamili ya mviringo kwenye bafa. Kwa ndani bafa hii imegawanywa katika idadi ndogo ya viboko ili kuruhusu DMA iliyofungwa kufanya kazi.

Kwa kazi ya kunde chagua kunde TAB. Hii inaonyesha faili za kunde zilizopo na kitufe karibu na kila moja ambacho kitatoa treni ya kunde kulingana na ufafanuzi wake. Unaweza kuona yaliyomo kwenye faili kwa kubofya kiunga chake. Faili zaidi za mpigo zinaweza kupakiwa kwa kutumia ip / hariri kivinjari cha faili. Wanapaswa kuanza na kunde ya jina.

Ilipendekeza: