Mzunguko wa saa kwenye kidhibiti kidogo cha avr. Saa ya LED kwenye microcontroller. Mzunguko wa saa ya elektroniki kwenye microcontroller

Toleo hili la saa limetengenezwa kwa njia ya kurahisisha mzunguko iwezekanavyo, kupunguza matumizi ya nishati, na hatimaye kupata kifaa kinachotoshea kwa urahisi mfukoni mwako. Kwa kuchagua betri ndogo ili kuwasha mzunguko, kuweka SMD na spika ndogo (kwa mfano, kutoka kwa simu ya rununu isiyofanya kazi), unaweza kupata muundo mkubwa zaidi kuliko sanduku la mechi.
Matumizi ya kiashiria mkali zaidi inakuwezesha kupunguza sasa inayotumiwa na mzunguko. Kupunguzwa kwa matumizi ya sasa pia kunapatikana katika hali ya "LoFF" - kiashiria kimezimwa, na dot tu ya blinking ya tarakimu ya chini ya saa imewashwa.

Dalili
Mwangaza unaoweza kubadilishwa wa viashiria hukuruhusu kuchagua onyesho nzuri zaidi la usomaji (na tena kupunguza matumizi ya nishati).
Saa ina njia 9 za kuonyesha. Kubadilisha kati ya modes hufanywa kwa kutumia vifungo vya "plus" na "minus". Kabla ya usomaji wenyewe kuonyeshwa, kidokezo kifupi kuhusu jina la modi huonyeshwa kwenye viashiria. Muda wa onyesho la kidokezo ni sekunde moja. Matumizi ya vidokezo vya muda mfupi ilifanya iwezekanavyo kufikia ergonomics nzuri ya saa. Wakati wa kubadilisha kati ya njia za kuonyesha (ambazo kuna mengi sana kwa kifaa rahisi kama saa ya kawaida), hakuna machafuko, na ni wazi kila wakati ni usomaji gani unaonyeshwa kwenye kiashiria.

Marekebisho ya masomo yaliyoonyeshwa kwenye kiashiria imeanzishwa kwa kushinikiza kitufe cha "Marekebisho". Katika kesi hii, haraka ya muda mfupi inaonyeshwa kwa sekunde 1/4, baada ya hapo thamani iliyorekebishwa huanza kuangaza kwa mzunguko wa 2 Hz. Masomo yanasahihishwa kwa kutumia vitufe vya kuongeza na kutoa. Unapobofya kifungo kwa muda mrefu, hali ya kurudia-otomatiki imeanzishwa kwa mzunguko maalum. Masafa ya kurudia kiotomatiki kwa kubonyeza kitufe ni: kwa masaa, miezi na siku ya wiki - 4 Hz; kwa dakika, mwaka na mwangaza wa kiashiria - 10 Hz; kwa thamani ya marekebisho - 100 Hz.
Thamani zote zilizorekebishwa, isipokuwa saa, dakika na sekunde, zimeandikwa kwa EEPROM na kurejeshwa baada ya kuzima na kuwasha nguvu. Sekunde wakati wa kusahihisha huwekwa upya hadi sifuri. Njia zote isipokuwa saa-dakika, dakika-sekunde na LoFF zinarejeshwa kiotomatiki. Ikiwa hakuna kitufe kitakachobonyezwa ndani ya sekunde 10, saa hubadilika hadi modi ya onyesho ya dakika ya saa.
Kwa kubonyeza kitufe cha "Washa/Zima kengele." Saa ya kengele huwashwa/kuzima. Uanzishaji wa kengele unathibitishwa na sauti fupi ya toni mbili. Wakati saa ya kengele imewashwa, kitone katika tarakimu ya mpangilio wa chini wa kiashiria huwaka.
Katika hali ya "Corr", marekebisho ya mara kwa mara yanaonyeshwa kwenye kiashiria, thamani ya awali ambayo ni microseconds 5000 kwa pili. Wakati saa inapungua, tunaongeza mara kwa mara kwa kiasi cha lagi iliyohesabiwa katika microseconds kwa pili. Ikiwa saa iko haraka, basi tunapunguza mara kwa mara kulingana na kanuni sawa.

Mpango

Nakala hii inaelezea muundo wa dijiti masaa kwenye kidhibiti kidogo cha Attmega8, ambazo zina kipima saa, saa ya kengele na kipima saa cha kuhesabu kurudi nyuma. Saa ina kipengele cha kuonyesha siku na tarehe na uwezo wa kuonyesha tarehe na saa kwa pamoja. Inapatikana kubadili moja kwa moja kwa majira ya joto na wakati wa baridi, pamoja na kuzingatia miaka mirefu.

Onyesho limejengwa kwa sehemu sita za 7 Viashiria vya LED na marekebisho ya mwangaza. Saa pia ina chelezo ya betri.

Maelezo ya muundo wa saa ya microcontroller

Kama ilivyoelezwa hapo juu, saa ina onyesho la tarakimu sita, linalojumuisha maonyesho mawili ya tarakimu tatu T-5631BUY-11, yanayofanya kazi katika hali ya kuzidisha. Anode za kiashiria zimewekwa kwa kikundi na zinabadilishwa kwa kutumia transistors T1 ... T6.

Kathodi zimepangwa katika makundi na zinaendeshwa moja kwa moja kutoka kwa kidhibiti kidogo cha IO1 Attmega8. Mzunguko wa kuzidisha ni 100Hz.

Saa inadhibitiwa na kioo cha quartz cha chini-frequency X1 na mzunguko wa 32768 Hz. Kwa kuamsha kidogo ya CKOPT, ambayo inaruhusu matumizi ya ndani capacitors 36pF kwa quartz, hakuna haja ya kutumia capacitors nje.

Ikiwa una matatizo ya kuanzisha jenereta, unaweza kujaribu kuunganisha capacitors 2 22pf. Kwa usahihi mkubwa zaidi wa saa, unaweza kuzima kabisa capacitors ya ndani (upya upya wa CKOPT bit) na kuacha tu za nje.

Mtoaji wa piezo REP1 hutoa sauti ya kengele na kuashiria mwisho wa kipima saa. Wakati ishara ya sauti Mantiki 1 inaonekana kwenye pin 16 (bandari PB2). Ishara hii inaweza kutumika kudhibiti mzigo wowote.

Saa inadhibitiwa na vifungo vitatu - dakika, masaa na hali. Vifungo vimeunganishwa kupitia vipinga vinavyolinda bandari za kidhibiti kidogo cha Attmega8. Mzunguko unaendeshwa na chanzo cha volt 5 (7805). Matumizi ya sasa inategemea idadi ya viashiria vya kazi, na pia juu ya kiwango cha marekebisho ya mwangaza.

Kwa mwangaza wa juu, matumizi ya sasa yanafikia 60 mA. Saa ina vifaa betri ya chelezo lishe. Wakati inaendeshwa kwa nishati ya betri, saa huingia katika hali ya uchumi ambapo onyesho limezimwa. Pia katika hali hii, vifungo havifanyi kazi, isipokuwa wakati ni muhimu kuzima ishara ya sauti.

Voltage nguvu chelezo kutoka 3 hadi 4.5 V. Hii inaweza kuwa betri moja ya 3V, NiMH tatu au NiCd 1.2 V betri, au moja Betri ya Li-Pol au Li-Ion (3.6 hadi 3.7 V). Matumizi ya sasa kutoka kwa betri ya 3V ni 5 ... 12mA tu. Muda maisha ya betri Saa katika hali ya uchumi kutoka kwa betri ya 3V CR2032 yenye uwezo wa kawaida wa 200mAh inapaswa kudumu kinadharia kwa takriban miaka 2.5 - 3.

Programu ya kidhibiti kidogo iko mwisho wa kifungu. Biti za usanidi lazima ziwekwe kama ifuatavyo:

Usimamizi wa saa

Saa inadhibitiwa kwa kutumia TL1-minute, hour-TL2 na TL3-mode. Vifungo vya saa na dakika hutumiwa katika hali ya saa ili kugawa saa na dakika. Katika njia zingine wanazo kazi mbalimbali. Kitufe cha hali hubadilika kati modes mbalimbali, ambapo kuna 8 kwa jumla:

Hali ya 1 - Saa

Katika hali hii, onyesho linaonyesha wakati wa sasa katika muundo "HH.MM.SS". Kitufe cha saa kinatumika kuweka saa. Kitufe cha dakika kuweka dakika. Wakati wa kushinikizwa, sekunde zinawekwa upya.

Hali ya 2 - Kuwasha muda wa kuokoa mchana na kuweka mwaka

Hapa unaweza kuwasha au kuzima kibadilishaji kiotomatiki kati ya majira ya joto na majira ya baridi na kuweka mwaka. Data umbizo linalofuata"AC 'RR" (AC - wakati otomatiki, nafasi, tarakimu mbili za mwisho za mwaka).

Hali ya 3 - Kipima muda cha kuchelewa

Hali hii hukuruhusu kupanga hesabu kutoka kuweka thamani hadi sifuri. Baada ya muda huu kupita, beep italia na LED1 itawaka. Beep inaweza kusimamishwa kwa kubonyeza kitufe cha Modi. Data iko katika umbizo lifuatalo: "HH.MM.SS". Thamani ya juu inayowezekana ni 99.59.59 (karibu masaa 100).

Njia ya 4 - Pato la habari iliyojumuishwa

Katika hali hii, zifuatazo zinaonyeshwa kwa njia mbadala:

  1. wakati wa sasa katika umbizo "HH.MM.SS"
  2. tarehe katika umbizo la “AA.DD.MM.”

Kila umbizo linaonyeshwa kwa sekunde 1. Katika hali hii, vitufe vya Saa na Dakika vinatumika kurekebisha mwangaza wa onyesho (Saa-, Dakika+). Mwangaza hubadilika kilogarithm katika hatua 6: 1/1, 1/2, 1/4, 1/8, 1/16 na 1/32. Chaguomsingi ni 1/2

Hali ya 5 - Kuweka siku ya wiki na hali ya kengele

Katika hali hii, unaweza kuweka siku ya juma - kutoka Jumatatu hadi Jumapili (iliyoonyeshwa kama Mon, Tue, Wed, Thu, Fri, Sat, Sun), washa kengele na uchague hali yake ya kufanya kazi. Data iko katika umbizo lifuatalo: “AA AL._” (siku ya wiki, nafasi, AL., mpangilio wa kengele).

Kitufe cha saa huweka siku ya juma. Kitufe cha dakika hutumika kuwasha/kuzima sauti ya kengele na kuchagua hali yake ya kufanya kazi: “AL._” = kengele haifanyiki, “AL.1” = kengele inalia mara 1 (kisha inabadilika kiotomatiki hadi “AL._” position), “ AL.5" = kengele hulia tu siku za wiki (Jumatatu-Ijumaa, isipokuwa Jumamosi-Jua), "AL.7" = kengele hulia kila siku

Njia ya 6 - Kuweka siku ya wiki na tarehe

Kitufe cha saa hukuruhusu kuweka siku ya mwezi. Kitufe cha dakika hukuruhusu kuweka mwezi.

Hali ya 7 - Saa ya kupimia

Stopwatch hukuruhusu kupima muda kwa usahihi wa sekunde 0.1. Muda wa juu wa kipimo ni 9.59.59.9 (karibu masaa 10). Data iko katika umbizo lifuatalo "H.MM.SS.X". Kitufe cha dakika kinatumika kuanza na kusimamisha saa ya kusimama. Kitufe cha saa kinatumika kuweka upya.

Njia ya 8 - Saa ya kengele

Hali hii inatumika kuonyesha na kuweka saa ya kengele (ALARM). Data iko katika umbizo lifuatalo "HH.MM.AL". Kitufe cha Dakika huweka dakika ya kengele, Kitufe cha Saa huweka saa ya kengele.

Chini ni mchoro wa saa inayofanana ambayo ina kiashiria na cathode ya kawaida

(vipakuliwa: 765)

Saa hii ya kengele inategemea chip ya saa halisi, ambayo inaruhusu kufanya kazi kutoka kwa chanzo cha nguvu cha chelezo kwa kukosekana kwa moja kuu. Weka wakati saa ya kengele na hali ya uendeshaji huhifadhiwa kwenye kumbukumbu isiyo na tete ya microcontroller. Hali ya kuonyesha - saa 24. Ina uigaji wa "ticking." Muda na njia za uendeshaji zinaonyeshwa kwa kutumia viashiria vya LED.

Kanuni ya uendeshaji

Msingi wa saa hii ni microcircuit ya DS1307 - saa ya muda halisi ambayo hubadilishana habari na mtawala wa kudhibiti kupitia interface ya I2C. Dalili ya wakati inafanywa kupitia viashiria 4 vya sehemu 7 vinavyofanya kazi katika hali ya nguvu. Kuingia na kurekebisha wakati unafanywa kwa kutumia vifungo 5: "+ dakika", "+ masaa", "kuweka", "kengele" na "weka upya". Ishara ya sauti ya saa ya kengele hutolewa kupitia mtoaji wa kawaida wa piezo na ni ishara yenye mzunguko wa kHz 1 na kusitisha kwa pili.

Atmega48 ilichaguliwa kama kidhibiti kidogo cha udhibiti kwa sababu ya upatikanaji wake na uwepo wa vifaa vya pembeni muhimu kwenye ubao (hata kwa ziada). Saa ya wakati halisi ya DS1307 imeunganishwa kwenye matokeo ya maunzi ya I2C ya kidhibiti kidogo cha udhibiti. Ili kuendesha DS1307 katika hali ya kusimama pekee (katika tukio la kushindwa kwa nguvu kwa mtawala mkuu), tumia betri ya lithiamu Ugavi wa chelezo wa 3V, ambao utaendelea kwa miaka kadhaa kutokana na matumizi ya chini ya nguvu microcircuti.

Wacha tuangalie kwa karibu mpango wa udhibiti:

Mpango huo unafanya kazi kwa kanuni ya mashine ya kipima saa cha bendera: majimbo na matukio yote yanawakilishwa kwa njia ya bendera zinazolingana, zinazotekelezwa kwa kukatizwa kwa kipima saa 1s, 1ms na 263.17ms. Programu hutumia vipima muda 2 vya vifaa.

Chip ya saa hupigwa kura na vifungo vibonyezwe kwa muda wa 263.17ms. Muda wa 1ms hutumika kutoa mawimbi ya sauti ya kengele, na 1 hutumiwa kuirekebisha. Muda wa pili pia hudhibiti kumeta kwa nukta katika tarakimu ya 2 ya kiashirio, kutenganisha saa na dakika na pia kutumika kama uundaji wa "tiki".
Hebu tuzingatie mchoro wa mpangilio masaa.

Uteuzi na madhehebu:
S4 - Ongezeko la saa
S3 - Ongeza dakika
S2 - Ufungaji
S1 - Washa kengele
S5 - Weka upya

R6-R10 - 10k
R1-R5 - 510ohm

Ugavi wa voltage - 5 volts.

Weka na utumie

Saa zilizokusanywa vizuri mipangilio ya ziada hawana haja. Unahitaji tu kuweka wakati wa sasa na kengele.
Kuweka wakati wa sasa ni kama ifuatavyo:
1) Tumia vitufe S1 na S2 kuweka saa ya sasa (kitone kati ya tarakimu hakiwaki)
2) Anzisha saa na kitufe S3
Kuweka kengele:
1) Bonyeza S3 na uhakikishe kuwa kitone katika tarakimu ya 1 kinawaka
2) Weka muda wa kupiga simu kwa kutumia vifungo vya S1 na S2
3) Washa simu kwa kutumia kitufe cha S4
Vipengele vya ziada:
Washa kuweka alama - shikilia S4 na ubonyeze S2 hadi sauti bainifu zionekane. Inazima kwa njia ile ile.
Onyesha dakika na sekunde - shikilia S4 na ubonyeze S1. Ikiwa unasisitiza S3 baada ya hili, sekunde zitawekwa upya hadi 00. Rudi - mchanganyiko sawa.

Picha na video za saa

Saa imekusanyika katika kesi iliyotengenezwa kutoka kwa "elektroniki" isiyofanya kazi.


Kama jina linavyopendekeza, kusudi kuu ya kifaa hiki- kujua saa na tarehe ya sasa. Lakini ina mengi zaidi kazi muhimu. Wazo la uumbaji wake lilionekana baada ya kupata saa iliyovunjika nusu na kubwa kiasi (kwa mkono) mwili wa chuma. Nilifikiri naweza kuiweka humo ndani saa ya kujitengenezea nyumbani, uwezekano ambao ni mdogo tu na mawazo yako mwenyewe na ujuzi. Matokeo yake yalikuwa kifaa kilicho na vitendaji vifuatavyo:

1. Saa - kalenda:

    Kuhesabu na kuonyesha masaa, dakika, sekunde, siku ya juma, siku, mwezi, mwaka.

    Upatikanaji wa marekebisho ya kiotomatiki ya wakati wa sasa, ambayo hufanywa kila saa ( maadili ya juu+/- vitengo 9999, kitengo 1. = ms. 3.90625.)

    Kuhesabu siku ya juma kutoka tarehe (kwa karne ya sasa)

    Mpito otomatiki kwa majira ya joto na majira ya baridi (inaweza kuzimwa)

  • Miaka mirefu inazingatiwa

2. Saa mbili za kengele zinazojitegemea (nyimbo husikika inapopigwa)
3. Kipima muda chenye nyongeza za sekunde 1. (Upeo wa kuhesabu muda 99h 59m 59s)
4. Stopwatch ya idhaa mbili yenye ubora wa kuhesabu wa sekunde 0.01. ( muda wa juu hesabu 99h 59m 59s)
5. Saa ya kupitisha yenye ubora wa kuhesabu wa sekunde 1. (muda wa juu wa kuhesabu siku 99)
6. Kipima joto katika masafa kutoka -5°C. hadi 55°C (iliyopunguzwa na anuwai ya joto operesheni ya kawaida vifaa) katika nyongeza za 0.1°C.
7. Msomaji na emulator funguo za elektroniki- vidonge vya aina ya DS1990 kwa kutumia itifaki ya Dallas 1-Wire (kumbukumbu ya vipande 50, ambayo tayari ina "funguo za eneo lote") na uwezo wa kutazama msimbo muhimu byte byte.
8. Mbali udhibiti kwenye miale ya IR (amri ya "Chukua picha" pekee ndiyo inayotekelezwa) kwa kamera za digital"Pentax", "Nikon", "Canon"
9. Tochi ya LED
10. 7 nyimbo
11. Mawimbi ya sauti mwanzoni mwa kila saa (inaweza kuzimwa)
12. Uthibitishaji wa sauti wa mibonyezo ya vitufe (inaweza kuzimwa)
13. Ufuatiliaji wa voltage ya betri na kazi ya calibration
14. Marekebisho ya mwangaza wa kiashiria cha dijiti

Labda utendakazi kama huu hauhitajiki, lakini napenda vitu vya ulimwengu wote, na pamoja na kuridhika kwa maadili kwamba saa hii itatengenezwa kwa mikono yangu mwenyewe.

Mchoro wa mpangilio wa saa

Kifaa kimejengwa kwenye kidhibiti kidogo cha ATmega168PA-AU. Saa huweka alama kulingana na timer T2, inafanya kazi kwa hali ya asynchronous kutoka kwa quartz ya saa katika 32768 Hz. Kidhibiti kidogo kiko katika hali ya kulala karibu wakati wote (kiashiria kimezimwa), kuamka mara moja kwa sekunde ili kuongeza sekunde hii kwa wakati wa sasa na kulala tena. Katika hali ya kazi, MK imefungwa kutoka kwa oscillator ya ndani ya RC saa 8 MHz, lakini mtangulizi wa ndani hugawanya na 2, kwa sababu hiyo, msingi umefungwa saa 4 MHz. Kwa dalili, viashiria vinne vya tarakimu moja vya LED vya sehemu saba na anode ya kawaida na uhakika wa decimal hutumiwa. Pia kuna taa 7 za hali ya juu, madhumuni yake ambayo ni kama ifuatavyo.
D1- Alama ya thamani hasi (minus)
D2- Ishara ya saa ya kuzima inayokimbia (inamulika)
D3- Ishara ya saa ya kengele ya kwanza kuwashwa
D4- Ishara ya kengele ya pili kuwashwa
D5- Ishara ya ishara ya sauti mwanzoni mwa kila saa
D6- Ishara ya kipima saa kinachoendesha (kuwaka)
D7- Ishara voltage ya chini betri za nguvu

R1-R8 - vipinga vya kuzuia sasa vya makundi ya viashiria vya digital HG1-HG4 na LEDs D1-D7. R12, R13 - mgawanyiko wa ufuatiliaji wa voltage ya betri. Kwa kuwa voltage ya usambazaji wa saa ni 3V, na LED nyeupe D9 inahitaji kuhusu 3.4-3.8V kwa matumizi ya sasa yaliyopimwa, haina kuangaza kwa nguvu kamili (lakini inatosha ili usijikwae gizani) na kwa hiyo imeunganishwa bila kupinga kwa sasa. Vipengele R14, Q1, R10 vimeundwa kudhibiti LED D8 ya infrared (utekelezaji). udhibiti wa kijijini kwa kamera za dijiti). R19, ​​​​R20, R21 hutumiwa kuoanisha wakati wa kuwasiliana na vifaa ambavyo vina kiolesura cha Waya-1. Udhibiti unafanywa na vifungo vitatu, ambavyo niliviita kwa kawaida: MODE (mode), UP (juu), CHINI (chini). Wa kwanza wao pia ameundwa kuamsha MK kwa usumbufu wa nje (katika kesi hii dalili inageuka), kwa hiyo imeunganishwa tofauti na pembejeo ya PD3. Kubonyeza kwa vifungo vilivyobaki imedhamiriwa kwa kutumia ADC na resistors R16, R18. Ikiwa vifungo havikumbwa ndani ya sekunde 16, MK huenda kulala na kiashiria kinazimika. Ukiwa katika hali "Udhibiti wa mbali kwa kamera" muda huu ni sekunde 32, na tochi imewashwa - dakika 1. MK pia inaweza kulazwa kwa mikono kwa kutumia vitufe vya kudhibiti. Wakati stopwatch inafanya kazi na azimio la hesabu la sekunde 0.01. Kifaa hakiingii katika hali ya usingizi.

Bodi ya mzunguko iliyochapishwa

Kifaa kimekusanyika kwenye bodi ya mzunguko iliyochapishwa iliyo na pande mbili ya sura ya pande zote kulingana na saizi ya kipenyo cha ndani cha kesi. saa ya Mkono. Lakini katika uzalishaji nilitumia bodi mbili za upande mmoja na unene wa 0.35 mm. Unene huu ulipatikana tena kwa kuiondoa kutoka kwa laminate ya fiberglass ya pande mbili na unene wa 1.5 mm. Kisha bodi ziliunganishwa pamoja. Haya yote yalifanywa kwa sababu sikuwa na glasi nyembamba ya pande mbili, na kila milimita ya unene iliyohifadhiwa katika nafasi ndogo ya ndani ya kesi ya saa ni ya thamani sana, na hakukuwa na haja ya usawa katika utengenezaji wa makondakta zilizochapishwa kwa kutumia LUT. njia. Kuchora bodi ya mzunguko iliyochapishwa na eneo la sehemu ziko kwenye faili zilizoambatishwa. Kwa upande mmoja kuna viashiria na vipinga vya kuzuia sasa vya R1-R8. Kwenye nyuma kuna maelezo mengine yote. Kuna mashimo mawili kwa taa nyeupe na infrared.

Mawasiliano ya kifungo na mmiliki wa betri hufanywa kwa chuma cha karatasi cha spring cha kubadilika na unene wa 0.2 ... 0.3 mm. na bati. Zifuatazo ni picha za bodi kutoka pande zote mbili:

Kubuni, sehemu na uingizwaji wao iwezekanavyo

Kidhibiti kidogo cha ATmega168PA-AU kinaweza kubadilishwa na ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Viashiria vya digital- Vipande 4 KPSA02-105 mng'ao mwekundu unaong'aa sana na urefu wa tarakimu wa 5.08mm. Inaweza kutolewa kutoka kwa mfululizo sawa wa KPSA02-xxx au KCSA02-xxx. (sio tu za kijani kibichi - zitang'aa kidogo) Sijui analogi zingine za saizi zinazofanana na mwangaza mzuri. Katika HG1, HG3, uunganisho wa sehemu za cathode ni tofauti na HG2, HG4, kwa sababu ilikuwa rahisi zaidi kwangu kwa wiring bodi ya mzunguko iliyochapishwa. Katika suala hili, meza ya jenereta ya tabia tofauti hutumiwa kwao katika programu. Vipimo vilivyotumika na capacitors SMD kwa uwekaji wa uso wa ukubwa wa kawaida 0805 na 1206, LEDs D1-D7 za ukubwa wa kawaida 0805. LED nyeupe na infrared yenye kipenyo cha 3 mm. Bodi ina 13 kupitia mashimo ambayo jumpers lazima imewekwa. Kama sensor ya joto DS18B20 yenye kiolesura cha 1-Waya inatumika. LS1 ni tweeter ya kawaida ya piezoelectric, iliyoingizwa kwenye kifuniko. Kwa mawasiliano moja imeunganishwa kwenye ubao kwa kutumia chemchemi iliyowekwa juu yake, na nyingine inaunganishwa na mwili wa kuangalia na kifuniko yenyewe. Resonator ya Quartz kutoka kwa saa ya mkono.

Kupanga programu, firmware, fuses

Kwa programu ya mzunguko, bodi ina matangazo 6 tu ya mawasiliano ya pande zote (J1), kwani kiunganishi kamili haifai kwa urefu. Niliziunganisha kwa kitengeneza programu kwa kutumia kifaa cha mawasiliano kilichotengenezwa kutoka kwa plagi ya pini ya PLD2x3 na chemchemi zilizouzwa juu yao, nikizisukuma kwa mkono mmoja hadi kwenye matangazo. Chini ni picha ya kifaa.

Niliitumia kwa sababu wakati wa mchakato wa kurekebisha ilibidi niwashe tena MK mara nyingi. Wakati wa kuangaza firmware ya wakati mmoja, ni rahisi kuuza waya nyembamba zilizounganishwa na programu kwenye viraka, na kisha kuzifungua tena. Ni rahisi zaidi kuwasha MK bila betri, lakini ili nguvu itoke kutoka chanzo cha nje+3V, au kutoka kwa programu iliyo na volti sawa ya usambazaji. Programu imeandikwa katika mkusanyiko katika mazingira ya VMLAB 3.15. Misimbo ya chanzo, programu dhibiti ya FLASH na EEPROM kwenye programu.

Biti za FUSE za kidhibiti kidogo cha DD1 lazima zipangiliwe kama ifuatavyo:
CKSEL3...0 = 0010 - saa kutoka kwa oscillator ya RC ya ndani 8 MHz;
SUT1...0 =10 - Wakati wa kuanza: 6 CK + 64 ms;
CKDIV8 = 1 - kigawanyaji cha mzunguko kwa 8 kimezimwa;
CKOUT = 1 - Saa ya Pato kwenye CKOUT imezimwa;
BODLEVEL2…0 = 111 - udhibiti wa voltage ya usambazaji umezimwa;
EESAVE = 0 - kufuta EEPROM wakati wa kupanga kioo ni marufuku;
WDTON = 1 - Hapana daima Kipima saa cha Mlinzi;
Biti za FUSE zilizobaki ni bora ziachwe bila kuguswa. Biti ya FUSE imepangwa ikiwa imewekwa kwa "0".

Kumulika EEPROM na dampo lililojumuishwa kwenye kumbukumbu kunahitajika.

Seli za kwanza za EEPROM zina vigezo vya awali vifaa. Jedwali hapa chini linaelezea madhumuni ya baadhi yao, ambayo yanaweza kubadilishwa ndani ya mipaka inayofaa.

Anwani ya simu

Kusudi

Kigezo

Kumbuka

Kiasi cha voltage ya betri ambayo ishara ya kiwango cha chini hutokea

260 ($104) (2.6V)

mgawo wa kurekebisha thamani ya voltage ya betri iliyopimwa

muda wa muda wa kubadili hali ya usingizi

1 kitengo = 1 sek

muda wa kubadili hadi modi ya kulala wakati tochi imewashwa

1 kitengo = 1 sek

muda wa kubadili hadi modi ya kulala ukiwa katika hali ya udhibiti wa kijijini kwa kamera

1 kitengo = 1 sek

Nambari muhimu za IButton zimehifadhiwa hapa

Maelezo madogo juu ya pointi:

pointi 1. Hii inaonyesha kiwango cha voltage kwenye betri ambayo LED itawaka, ikionyesha thamani yake ya chini. Niliiweka kwa 2.6V (parameter - 260). Ikiwa unahitaji kitu kingine, kwa mfano 2.4V, basi unahitaji kuandika 240 ($ 00F0). Byte ya chini huhifadhiwa kwenye seli kwenye anwani $ 0000, na byte ya juu huhifadhiwa katika $ 0001.

2 pointi. Kwa kuwa sikuweka kipingamizi cha kutofautiana kwenye ubao ili kurekebisha usahihi wa kipimo cha voltage ya betri kutokana na ukosefu wa nafasi, nilianzisha calibration ya programu. Utaratibu wa calibration kwa kipimo sahihi ijayo: awali, mgawo 1024 ($ 400) umeandikwa katika kiini hiki cha EEPROM, unahitaji kubadili kifaa kwenye hali ya kazi na uangalie voltage kwenye kiashiria, na kisha kupima voltage halisi kwenye betri na voltmeter. Kipengele cha kusahihisha (K), ambacho lazima kiwekewe, kinahesabiwa kwa fomula: K=Uр/Ui*1024 ambapo Uр ni volti halisi inayopimwa na voltmeter, Ui ni voltage iliyopimwa na kifaa chenyewe. Baada ya kuhesabu mgawo wa "K", umeingia kwenye kifaa (kama ilivyoelezwa katika maelekezo ya uendeshaji). Baada ya kurekebishwa, kosa langu halizidi 3%.

3 pointi. Hapa unaweza kuweka muda baada ya kifaa kuingia katika hali ya usingizi ikiwa hakuna vifungo vinavyopigwa. Mgodi unagharimu sekunde 16. Ikiwa, kwa mfano, unahitaji kulala katika sekunde 30, basi unahitaji kuandika 30 ($ 26).

Katika pointi 4 na 5 sawa.

6 pointi. Kwa anwani $0030 msimbo wa ufunguo wa sifuri wa familia (Dallas 1-Wire) huhifadhiwa, kisha nambari yake ya 48-bit na CRC. Na hivyo funguo 50 katika mlolongo.

Kuweka, vipengele vya uendeshaji

Kuweka kifaa kunakuja chini ili kusawazisha kipimo cha voltage ya betri, kama ilivyoelezwa hapo juu. Pia ni muhimu kuchunguza kupotoka kwa kiwango cha saa kwa saa 1, kuhesabu na kuingia thamani sahihi ya kusahihisha (utaratibu unaelezwa katika maelekezo ya uendeshaji).

Kifaa kinaendeshwa na betri ya lithiamu CR2032 (3V) na hutumia takriban 4 µA katika hali ya usingizi, na 5...20 mA katika hali amilifu, kulingana na mwangaza wa kiashirio. Kwa matumizi ya kila siku ya dakika tano hali amilifu Betri inapaswa kudumu takriban miezi 2...8 kulingana na mwangaza. Kipochi cha saa kimeunganishwa na chaji hasi ya betri.

Usomaji muhimu ulijaribiwa kwenye DS1990. Uigaji umejaribiwa kwenye viunganishi vya METAKOM. Chini ya nambari za serial kutoka 46 hadi 49 (mwisho 4) huangaza (funguo zote zimehifadhiwa katika EEPROM, zinaweza kubadilishwa kabla ya kuangaza) funguo za ulimwengu kwa intercoms. Ufunguo uliosajiliwa chini ya nambari 49 ulifungua intercom zote za METAKOM ambazo nilikutana nazo, sikupata nafasi ya kujaribu funguo zingine za ulimwengu, nilichukua nambari zao kutoka kwa mtandao.

Kidhibiti cha mbali cha kamera kilijaribiwa kwenye miundo ya Pentax optio L20 na Nikon D3000. Canon haikuweza kupatikana kwa ukaguzi.

Mwongozo wa mtumiaji unachukua kurasa 13, kwa hiyo sikuijumuisha katika makala, lakini niliijumuisha kwenye kiambatisho katika muundo wa PDF.

Kumbukumbu ina:
Mpango ndani na GIF;
Kuchora kwa bodi ya mzunguko iliyochapishwa na mpangilio wa vipengele katika muundo;
Firmware na msimbo wa chanzo katika mkusanyiko;

Orodha ya vipengele vya mionzi

Uteuzi Aina Dhehebu Kiasi KumbukaDukaNotepad yangu
DD1 MK AVR 8-bit

ATmega168PA

1 PA-AU Kwa notepad
U2 sensor ya joto

DS18B20

1 Kwa notepad
Q1 Transistor ya MOSFET

2N7002

1 Kwa notepad
C1, C2 Capacitor30 pF2 Kwa notepad
C3, C4 Capacitor0.1 µF2 Kwa notepad
C5 Electrolytic capacitor47µF1 Kwa notepad
R1-R8, R17 Kipinga

100 Ohm

9 Kwa notepad
R9 Kipinga

10 kOhm

1 Kwa notepad
R10 Kipinga

8.2 Ohm

1 Kwa notepad
R11 Kipinga

300 Ohm

1 Kwa notepad
R12 Kipinga

2 MOhm

1 Kwa notepad
R13 Kipinga

220 kOhm

1 Kwa notepad
R14 Kipinga

30 kOhm

1 Kwa notepad
R15, R19 Kipinga

4.7 kOhm

2 Kwa notepad
R16 Kipinga

20 kOhm

1

Mchoro wa mzunguko wa umeme

Kifaa kimoja kinachanganya kazi mbili: kipimo halisi cha joto na wakati (saa). Uonyesho unafanywa kwa njia mbadala, kubadilisha kila sekunde kumi. Kuweka saa, vifungo viwili vinatumiwa, sawa na saa ya elektroniki ya Kichina rahisi: moja ni wajibu wa kuchagua parameter, ya pili kwa kuibadilisha. Kifaa kinaendeshwa kutoka kwa mtandao kwa kutumia chanzo cha sasa kilichoimarishwa mara kwa mara na voltage ya volts tano (bodi kutoka chaja simu).

Sensor ya joto ni chip DS18B20. Kwa kuwa kifaa cha Saa-Thermometer haina betri yake mwenyewe, ikiwa nguvu imepotea, usomaji utapotea kwa kawaida. Na ili hii isifanye mtu kuchelewa kwa mambo muhimu, kuna "hila" ya kuvutia - wakati nguvu inatumika, dashi zitaonyeshwa kwenye onyesho badala ya wakati hadi ubonyeze moja ya vifungo viwili vya kuweka.

Mwili wa mita ya joto ya nyumbani ilikuwa sanduku la cufflink linalofaa. Ubao wa kipimajoto cha saa yenyewe na ubao uliotolewa kutoka kwenye chaja ya simu uliwekwa ndani yake. Sensor ya DS18B20 inafanywa kwa mbali na kuunganishwa kupitia kontakt.

Orodha ya sehemu zinazohitajika

  • Mdhibiti mdogo wa Atmega8 - 1 pc.
  • Quartz 32768 Hz - 1 pc.
  • Sensor ya joto DS18B20 - 1 pc.
  • Kiashiria cha sehemu saba (tarakimu 4) - 1 pc.
  • Ukubwa wa upinzani wa SMD 0805:
  • 620 Ohm - 8 pcs.
  • 0 Ohm (jumper) - 1 pc.
  • 4.7 kOhm - 1 pc.
  • Vifungo vya busara - 2 pcs.

Video ya kifaa kwenye chaneli ya YouTube