01.11.2023

Įkelkite išjungimo laikmačio grandinę į mikrovaldiklį. Trijų kanalų termostatas, termostatas, laikmatis ant ATmega8. Mikrovaldiklio laikmačio veikimo aprašymas


Ankstesniame straipsnyje rašiau, kad tai naujausias tokio prietaiso kūrimas naudojant septynių segmentų LED indikatorius, tačiau pasirodė, kad paskubėjau. Faktas yra tas, kad ši konstrukcija naudoja tik 40% mikrovaldiklio atminties, o mikrovaldiklio prievado vis dar yra vienas nepanaudotas kaištis (išskyrus RESET kaištį). Todėl buvo nuspręsta ištaisyti šią neteisybę MK atžvilgiu ir pridėti dar vieną apkrovos valdymo kanalą. Atlikus darbus, MK atmintis išnaudojama 99% ir išnaudojami visi MK kontaktai. Visas modifikuoto dizaino pavadinimas:
„Dviejų kanalų termometras, dviejų kanalų termostatas (termostatas) su galimybe veikti laiku, vieno kanalo realaus laiko laikmatis ant ATmega8 mikrovaldiklio ir DS18B20 temperatūros jutikliai“

Dviejų kanalų termometro, termostato (termostato), vieno kanalo realaus laiko laikmačio aprašymas ir charakteristikos
ATmega8 ir DS18B20

Kadangi šis dizainas „atsirado“ iš ankstesnio - ir yra išsamiai aprašytas (visos termometrų ir termostatų charakteristikos, darbo režimai, reakcijos į klaidas - liko nepakitę), aš sutelksiu dėmesį tik į naujovę - realaus laiko laikmatį.

Realaus laiko laikmatis

Įvestas į dizainą realaus laiko laikmatis, kuri leidžia valdyti trečią apkrovą realiu laiku 24 valandas ir leidžia nustatyti du laiko intervalus apkrovos kontrolei per dieną. Laikmatis taip pat leidžia nustatyti vieną laiko intervalą apkrovos kontrolei per dieną kiekvienam temperatūros valdymo (šilumos valdymo) kanalui.
Ką aš turiu omenyje sakydamas realaus laiko laikmatį. Iš esmės tai yra vidinis laikrodis, kurio skiriamoji geba yra 10 minučių. Pradinio įrenginio nustatymo metu tikrasis dabartinis laikas nustatomas 10 minučių tikslumu, o tada laikmatis skaičiuoja 24 valandų intervalus 10 minučių žingsniu kaip įprastas laikrodis.

10 minučių laiko intervalų skaičiavimo diskretiškumas buvo priimtas dėl dviejų priežasčių:
— patogumas rodyti informaciją trijų skaitmenų indikatoriumi, pavyzdžiui, 22 valandos 40 minučių — 22,4
- apkrovos valdymas 10 minučių tikslumu yra visiškai pakankamas daugeliui užduočių (iš tikrųjų tikslumas yra 5 minutės - jei reikia įjungti apkrovą 7 valandas 35 minutes, galite nustatyti 7,4 arba 7,3)

Laikmačio įvedimas šiek tiek pakeitė darbo su įrenginiu algoritmą (apie veikimo algoritmą kalbėsiu žemiau). Dabar paspaudę mygtuką „Pasirinkti“, galite patekti į du meniu:
— meniu, skirtas nustatyti termostatų temperatūros ribas ir termostato veikimo laiko intervalus, laiko intervalus apkrovai valdyti naudojant laikmatį
— meniu, skirtas laikrodžio dažniui koreguoti ir dabartiniam laikui nustatyti.
Kadangi MK veikia iš vidinio RC osciliatoriaus (8 MHz), kuris nėra stabilus ir priklauso tiek nuo MK temperatūros, tiek nuo maitinimo įtampos, laikrodžio dažnio korekcijos funkcija leidžia reguliuoti laikrodžio dažnio tikslumą konkrečioms sąlygoms. O dabartinio laiko nustatymo funkcija leidžia nustatyti esamą realų laiką pradinės sąrankos metu arba paaiškinti, jei jis labai skiriasi nuo realiojo laiko.
Įrenginiui veikiant laikmačio rodmenys nerodomi, „kiek dabar valanda“ galite sužinoti tik įjungę esamo laiko nustatymo režimą.

Apkrovų laikmačio valdymas nėra atliekamas (išjungiamas), jei įjungimo ir išjungimo laikas yra nustatytas į nulį. Iš esmės apkrovos nėra valdomos laikmačiu, jei įjungimo ir išjungimo laikas yra vienodas.

Kai įeinate į laikrodžio koregavimo meniu ir nustatote esamą laiką, laikmatis sustoja. Todėl koreguojant laikrodžio dažnį, prieš išeinant iš meniu, būtina nustatyti esamą laiką.

ATmega8 trijų kanalų termometro, termostato, laikmačio schema

Įrenginio grandinė buvo sukurta programoje ir iš esmės nesiskiria nuo dviejų kanalų termostato grandinės (pridėtas trečias apkrovos valdymo kanalas ir, siekiant įvairovės, pakeistos apkrovos valdymo grandinės):


Kadangi grandinėje naudojamos „išvesties“ dalys, kad būtų patogiau pastatyti konstrukciją į tinkamą korpusą, grandinė yra padalinta į dvi dalis:
— Ekrano blokas — indikatoriai ir mygtukai
— Valdymo blokas — visa kita
Reikėtų į ekrano bloką įtraukti šviesos diodus, kurie signalizuoja, kad kanalai yra įjungti, tačiau tai galima padaryti savarankiškai, klojant plokštę (pridėkite tris poras kontaktinių kilimėlių šviesos diodams ir prijunkite juos prie laidinio valdymo bloko).

Prietaiso dizainas

Įrenginio bazė- ATmega8 mikrovaldiklis su 8 MHz laikrodžio dažniu iš įmontuoto generatoriaus su vidine RC grandine.
Norint sureguliuoti vidinio generatoriaus dažnį, programuojant MK, į EEPROM atmintį nuliniu adresu reikia įrašyti kalibravimo elemento reikšmę 8 MHz laikrodžio dažniui. Žemiau esančiame numatytame EEPROM atminties HEX faile yra skaičius $В1 (В1) – vidutinė 5 patikrintų mikrovaldiklių kalibravimo celių reikšmė.
Be to, teisingam realaus laiko laikmačio veikimui ir jis veikia pertrūkiais iš T1 laikmačio/skaitiklio, kai skaičiavimo registras ir OCR1A palyginimo registras yra lygūs, programuojant EEPROM atmintį, vadovaujantis kalibravimo langelio verte. , rašomas skaičius 33050 (1A81), kuris užprogramuotas palyginimo registre OCR1A. Pataisius laikmačio eigą, pasikeičia ir šio skaičiaus reikšmė.

Indikacija dabartinės temperatūros ir vertės įdiegimo režimu rodomos dviejuose triženkliuose septynių segmentų indikatoriuose su „bendro katodo“ perjungimo grandine.

Jutikliai DS18B20 prie įrenginio prijungiami per 3 kontaktų kaiščių juosteles DS1 ir DS2, kurių kaiščių numeracija atitinka jutiklių kaiščių numeraciją.

Bitų valdymas atlieka mažos galios NPN tipo bipoliniai tranzistoriai.

Įėjimas į meniu, reikšmių nustatymas, vienkartiniai šildymo (aušinimo) režimai paleidžiami trimis DTS tipo taktiniais mygtukais:
— S1 — „Pasirinkimas“
— S2 — » + »
— S3 — » — »


— temperatūros valdymo kanalams — per optozimistorius MOS3063 ir triacus VT139-800E pagal standartinę perjungimo grandinę, kuri leidžia valdyti apkrovas, kurių galia iki 3,5 kW (jei apkrovos galia didesnė nei 300-400 W, triacai privalo montuoti ant radiatorių)
- kanalui iš laikmačio - per miniatiūrinę mechaninę relę su 5 voltų ritės maitinimo įtampa, leidžiančia, priklausomai nuo naudojamos relės, valdyti iki 2 - 2,5 kW apkrovą

Atkreipiu jūsų dėmesį į 220 voltų tinklo įtampos prijungimą prie įrenginio ir apkrovos įjungimą - ji turi būti prijungta taip, kaip parodyta diagramoje, atsižvelgiant į tinklo įtampos „fazę“ ir „nulį“.

Prietaiso galia atliekamas iš bet kurio nuolatinės srovės šaltinio, kurio įtampa yra 7–25 voltai. Grandinę taip pat galima maitinti iš nereikalingo įkroviklio iš mobiliojo telefono, kurio išėjimo įtampa yra 5 ± 0,5 voltai. Tokiu atveju iš grandinės galima išskirti 7805 stabilizatorių ir kondensatorius C4, C5. Vidutinis prietaiso srovės suvartojimas yra 40 miliamperų.

Jei reikia organizuoti atsarginį maitinimą (kad laikmatis veiktų nenutrūkstamai), galite naudoti, pavyzdžiui, šią schemą:

Detalės naudotos kuriant dizainą:

Trijų kanalų termometro, termostato, termostato, laikmačio valdymas

1. Įeikite į meniu

Įrenginys turi du meniu.
„Trumpai“ paspaudus mygtuką „Pasirinkti“, ant indikatorių rodomas užrašas „ON—-OFF“, patenkame į meniu:
— termostato veikimo temperatūros ribų ir termostato veikimo laiko intervalų nustatymas, laiko intervalai apkrovai valdyti naudojant laikmatį
Kai „ilgai“ spaudžiate mygtuką „Pasirinkti“, užrašas „ON—-OFF“ pakeičiamas užrašu „Cor—-USt“; turite atleisti mygtuką ir patekti į meniu:
— laikrodžio dažnio koregavimas ir esamo laiko nustatymas

Atkreipkite dėmesį, kad įėjus į meniu (ilgai arba trumpai paspaudus mygtuką „Pasirinkti“), visi apkrovos valdymo kanalai išjungiami.

2. Meniu „Eiga pataisymai ir esamo laiko nustatymas“ (ilgai paspauskite mygtuką „Pasirinkti“)

Įėję į meniu iškart atsiduriame laikrodžio korekcijos režime:
"Cor--00"
Dar kartą paspaudę mygtuką „Pasirinkti“, pereiname į dabartinio laiko nustatymo režimą:
"USt--00.0"
Dabartiniu laiko nustatymo režimu žiūrime į tiksliausią laikrodį ir naudojame mygtukus „+“ ir „-“, kad nustatytume artimiausią laiką 10 minučių tikslumu.
Pavyzdžiui, dabartinis laikas yra 20 valandos 37 minutės, nustatykite indikatorių „20.4“ (20 valandų 40 minučių) ir tiksliai 20.40, paspausdami mygtuką „Pasirinkti“ išeiname iš meniu. Tai viskas, nustatytas tikras laikas, paleidžiamas laikrodis.
Galite reguliuoti laikrodžio dažnį nuo +50 iki -50 vienetų. Pradinė reikšmė yra „00“ (įjungiant šį režimą visada rodoma „00“)
Pakeitus nustatymą vienu, laikrodžio dažnis padidinamas (+1) arba sumažinamas (-1) maždaug 4 sekundėmis per 24 valandas.
Laikrodžio tikslumą galima patikrinti apkrovos valdymo kanale, naudojant laikmatį be prijungtos apkrovos, uždegus šviesos diodą.
Pavyzdžiui, 21.00 nustatome esamą laiką, nustatome, kad apkrova įsijungtų 8.50, o išjungtų 9.00. Ryte matavome apkrovos išjungimo laiką. Tarkime, apkrova išsijungė 8 valandą 59 minutes 20 sekundžių. Tai reiškia, kad laikmatis atsilieka 40 sekundžių per 12 valandų. Per 24 valandas atsilikimas bus 80 sekundžių. Padalinkite 80 sekundžių iš 4 = 20. Koregavimo režimu nustatykite rodmenis į 20, tada eikite į esamo laiko nustatymo režimą, nustatykite artimiausią dabartinį laiką, pvz., 9,1, o 9 valandas 10 minučių paspausdami mygtuką „Pasirinkti“. “ mygtuką, išeiname į darbo režimą.

Atkreipkite dėmesį, kad jei nėra atsarginio maitinimo šaltinio, „pratrūkus“ tinklo įtampai, laikrodis atstatomas į nulį ir dabartinis laikas turi būti nustatytas iš naujo.

3. Temperatūros ir termostatų laiko intervalų nustatymo meniu

Leiskite man priminti termostatinių (šilumos valdymo) kanalų veikimo režimus:
— termostatavimo režimas — tam tikros temperatūros palaikymas
— terminio valdymo režimas — temperatūros palaikymas tam tikrose ribose
— vienkartinis šildymo (vėsinimo) režimas
Visi šie režimai yra išsamiai aprašyti straipsnyje, kuriame taip pat pateikiamos išsamios instrukcijos ir kiekvieno režimo galimybės.
Į konstrukciją įtraukus realaus laiko laikmatį, kiekvienam kanalui atsirado galimybė nustatyti vieną laiko intervalą kanalui veikti dienos metu. Norėdami tai padaryti, į meniu buvo įtrauktos papildomos eilutės kanalams įjungti ir išjungti.
Pavyzdžiui, mums reikia, kad 1-asis temperatūros valdymo kanalas veiktų tik naktį nuo 23.00 iki 6.30. Norėdami tai padaryti, 1-ajame meniu (trumpai paspauskite mygtuką „Pasirinkti“):
— nustačius viršutinę ir apatinę temperatūros ribas, atsiras dar dvi eilutės: „t.On——00.0“ ir „t.OF——00.0“ (tas pats nutiks ir antram kanalui)
— naudokite „+“ ir „-“ mygtukus, kad nustatytumėte: „t.On——23.0“ ir „t.OF——06.3“
Dabar 23.00 pradės veikti 1 kanalas nurodytu režimu, o 6.30 kanalas bus išjungtas ir taip kasdien.
Vieno šildymo/vėsinimo režimas. Jei laiko intervalas nepasirinktas (įjungimo / išjungimo laikas nustatytas į „0“), šie režimai paleidžiami rankiniu būdu, paspaudus atitinkamą mygtuką. Šis režimas taip pat gali veikti laikui bėgant.
Tarkime, kad reikia pašildyti vandenį rezervuare iki 45 laipsnių 2-ame temperatūros reguliavimo kanale ryte, iki 7.00 val., atsižvelgiant į tai, kad vanduo bake įšyla iki šios temperatūros per 25 minutes:
— nustatykite „2.On——00“ ir „2.OF——45“
— nustatykite „t.On——06.3“ ir „t.OF“ palikite numatytuosius „t.OF——00.0“
Dabar 2 kanalas automatiškai prasidės 6.30 min., o kai vandens temperatūra pasieks 45 laipsnius, išsijungs.
Naudojant vieną šildymo/vėsinimo režimą kartu su laikmačiu, režimą vis tiek galima įjungti rankiniu būdu, tačiau reikia atsižvelgti į tai, kad per laikotarpį „t.OF—-t.On“ (ankstesniam pavyzdžiui - nuo 24:00 iki 6:30) rankinis režimas negalimas. Todėl norint bet kuriuo metu įjungti režimą rankiniu būdu, reikia nustatyti „t.OF“ 10 minučių mažesnį nei „t.On“.

4. Laikmačio laiko intervalų nustatymo meniu

Realaus laiko laikmatis leidžia nustatyti du laiko intervalus per dieną, kad būtų galima valdyti apkrovą naudojant laikmatį.
Norėdami tai padaryti, į meniu buvo įtrauktos keturios papildomos eilutės:
— t1.1 — perjungimo laikas pirmam laiko intervalui
— t1.0 — išjungimo laikas pirmam laiko intervalui
— t2.1 — perjungimo laikas antrajam laiko intervalui
— t2.0 — išjungimo laikas antrajam laiko intervalui
Laiko intervalai neturi sutapti.
Tarkime, reikia du kartus per dieną įjungti apšvietimą kieme: nuo 21.00 iki 0.30 ir nuo 5.30 iki 7.00 val.
Diegti:
— t1.1 — 21.0
— t1.0 — 00.3
— t2.1 — 05.3
— t2.0 — 07.0
Dabar laikmačio apkrova bus įjungta 21.00 ir 5.30, o išjungta 0.30 ir 7.00

Antroji PCB parinktis:

Galimybė nustatyti FUSE bitus:

(22,2 KiB, 2 016 paspaudimų)

Siūlau pakartoti paprastą buitinio (virtuvės) laikmačio schemą 99 minutes savo sukurto dizaino. Idėja buvo palengvinti naudojimą, kad bet kuri (kvaila) namų šeimininkė galėtų juo naudotis be jokių problemų. Tiesiog surinkite 2 skaitmenis minutes ir paspauskite mygtuką „Pradėti“. Jei reikia, galite nustatyti sekundes. Taip pat yra paslėptas „paslaugų meniu“, kuriame yra „paslėptos“ kelios funkcijos – rodomas laiko atgalinis skaičiavimas pirmyn/žemyn, kai veikia laikmatis, ir kelios skirtingos šviesos ir garso efektų parinktys laiko skaičiavimo pabaigoje. Kita laikmačio ypatybė (nors tik valdiklio programavimo lygiu) yra galimybė pasirinkti RC5 kojos valdymo parinktį - „1“ pasirodymas ant jo arba skaičiuojant laiką, arba pasibaigus skaičiavimui. Ši koja gali būti naudojama, pavyzdžiui, apkrovai valdyti arba bet kokiu būdu. Mano versijoje aš įjungiau papildomą garso stiprintuvą skaičiavimo pabaigoje.

Pradžioje kūriau švieslentės „dizainą“. Laikmatis naudoja 2 skaitmenų indikatorių su dvitaškiu kairėje, o aplink jį yra 6 šviesos diodai. Skaičiuodami laiką jie rodo dešimtis sekundžių, o skaičiavimui pasibaigus – bėgančią ugnį. Dvitaškis taip pat tarnauja kaip vizualinio režimo valdiklis. Kai nustatote laiką minučių režimu, jis yra išjungtas, o sekundžių režimu - įjungtas. Kai paleidžiamas laikmatis, prasideda atgalinis skaičiavimas. Jei laikas trumpesnis nei viena minutė, indikatorius rodo sekundes ir nuolat šviečia dvitaškis. Kai praėjo daugiau nei minutė, indikatoriuje rodomos minutės, o dvitaškis pradeda mirksėti. Dešimtys sekundžių, kaip rašiau aukščiau, rodo šviesos diodai. Dabar skaitant šį tekstą atrodo, kad viskas per daug sudėtinga, bet iš tikrųjų viskas labai paprasta ir logiška.

Kadangi šį laikmatį ketinau statyti tiesiai į sieną, maitinimą jam tiekiau iš tinklo su tikru jungikliu. Jokių miego ar budėjimo režimų! Aš jų nemėgstu. Tik visiškas išjungimas! Maitinimo šaltinis yra paprasčiausias perjungiamas, panašus į kinišką įkroviklį. Ypatingo tikslumo nesiekiau, nes ruošiant visokius kulinarinius gaminius net plius/minus poros minučių tikslumas nėra toks svarbus. Ir aš neturėjau standartinio chronometro. Akimis, nustatant maksimalų intervalą iki 99 minučių, praktiškai nebuvo jokio skirtumo lyginant su „atskaitos“ laikrodžiu. Na, gal ten buvo apie pusę sekundės, bet sunku tai atsekti iš akies. Taigi, jei esate viskuo patenkinti, galite pradėti dauginti įrenginį. Štai jo diagrama:

Atnaujinant MK programinę įrangą, trumpikliai JP1 ir JP2 pašalinami. Siekiant sutaupyti vietos, klavišai VT5, VT6, VT9 ir VT10 diagramoje nerodomi. Indikatorius paimtas iš seno kompiuterio korpuso. Kaip dvitaškis naudojamas kairysis 1. Tik galutinio surinkimo metu šiuos segmentus reikia šiek tiek nudažyti, kad susidarytų 2 taškai (nereikalingas vietas tiesiog uždengiau juoda elektros juosta). Kita šio indikatoriaus ypatybė yra ta, kad šio kairiojo įrenginio segmentai yra nuosekliai sujungti indikatoriuje ir rodomi kaip H segmentas (kablelis) nuo antrojo skaitmens. Todėl atkreipkite dėmesį, kad R22 vertė yra mažesnė nei kitų segmentų rezistorių. Paprastai dvitaškiui galite naudoti įprastą 2 skaitmenų indikatorių ir 2 nuosekliai sujungtus šviesos diodus. Šį rodiklį paėmiau vien todėl, kad jį jau turėjau. Tik tuo atveju, aš tau duosiu smeigtuką.

Laiko nustatymas yra toks. Pagal numatytuosius nustatymus (kai įjungtas) laikmatis veikia minučių įvesties režimu, o dvitaškis yra išjungtas. Skaičių mygtukais surinkite reikiamas minutes ir paspauskite mygtuką „Pradėti“ (S12 pagal schemą). Paspaudus įvesti skaičiai pasislenka į kairę, kurie skaičiai indikatoriuje užsidega – šiuo metu nustatytas minučių skaičius. Pavyzdžiui, jei indikatorius šviečia 23 (nustatyta 23 minutės), bet jums reikia nustatyti 6 minutes, tada tiesiog paspauskite „0“ ir „6“. Jei reikia nustatyti sekundes, paspauskite mygtuką „Sec“ (pagal schemą S10) ir užsidegs dvitaškis. Mes nustatome, kiek sekundžių mums reikia taip pat, kaip ir minučių. Jei rinktas numeris ilgesnis nei 59 sekundės, didžiausias skaitmuo pradeda mirksėti, simbolizuojantis klaidą, ir atstatomas į 0. Laikmatis gali būti paleistas minučių arba sekundžių režimu. Įjungę laikmatį, galite jį sustabdyti anksčiau laiko, dar kartą paspausdami mygtuką „Pradėti“.

Kairėje esančioje grandinės schemoje galite pamatyti jungtį X3 su užrašu "Išvestis". Tai yra ta pati išvestis, skirta valdyti kažką, apie kurią rašiau pradžioje. Pradinėje būsenoje yra „0“. MK programavimo etape galite nustatyti, kada ten pasirodys lygis „1“ - laiko skaičiavimo metu arba atgalinės atskaitos pabaigoje ir prieš laikmačiui grįžtant į pradinę padėtį. Tai nustatyta EEPROM duomenų atmintyje, langelyje adresu 0x2105 (1 kvadratas paveikslėlyje). Įrašant reikšmę 0x01, išvestis bus logiška „1“, kol veikia laikmatis. Rašant 0x00 – pasibaigus atgaliniam skaičiavimui. Čia yra programos ekrano kopija programuojant MK.

Adresu 0x2107 (kvadratas 2) yra pataisos skaičiaus reikšmė skaičiuojant laiką (vėlavimas - mažėjimas, skubėjimas - padidėjimas). Patartina skaičių keisti mažomis ribomis ir geriau jo neliesti, nebent būtina. Nedėkite skaičių, lygių 0 ir 0FFh. Adresu 0x2109 (3 kvadratas) yra skaičius, nurodantis, kiek minučių skambės garso signalas atgalinės atskaitos pabaigoje, jei paspaudus mygtuką laikmatis nenustatomas į pradinę būseną.

Kaip rašiau aukščiau, pagal šią schemą galite, pavyzdžiui, prijungti apkrovos valdymo bloką prie išvesties „Išėjimas“.

Jei apkrova nėra labai galinga (kelios dešimtys vatų), tiristoriaus net nereikia dėti ant radiatoriaus. Per eksperimentus prijungiau 25W kaitrinę lempą ir visos dalys buvo šaltos kaip lavonas.

Kadangi man nieko nereikėjo valdyti, o laikmatis buvo skirtas skaičiuoti laiką gaminant maistą, prie šios išvesties iš telefono prijungiau papildomą „stiprintuvą“ su pjezo garsiakalbiu, kad padidėtų signalo garsumas suveikus laikmačiui. . Jis pasirodė gana garsus, o signalas girdimas bet kuriame buto kampe.

Tie. "Out" išvestis įjungė maitinimą "stiprintuvui", o pats garso signalas buvo paimtas iš PIC išvesties mažam garsiakalbiui. Paaiškėjo, kad paspaudus laiko nustatymo mygtukus pypsi tik mažasis garsiakalbis, o užgesus laikmačiui – abu garsiakalbiai iš karto. Šis papildomas stiprintuvas surenkamas ant atskiros plokštės.

Pats laikmatis sumontuotas ant dvipusės spausdintinės plokštės, įbrėžtos. Archyvas pridedamas straipsnio pabaigoje. Plokštė yra prijungta prie PIC TSSOP pakete, kurio žingsnis yra 0,65 mm.

Montavimo/derinimo procese esančios plokštės nuotrauka.

Laikmačiui maitinti naudojau paprastą perjungiamą maitinimo šaltinį, surinktą pagal šią schemą (pačią grandinę pasiėmiau jau paruoštą kur nors internete). Čia nėra prasmės apie tai išsamiai rašyti, nes tai yra atskiro straipsnio apie maitinimo šaltinių perjungimą tema. Pateiksiu tik transformatoriaus apvijos duomenis. Pats tinkamo dydžio rėmas paimtas iš energiją taupančios lempos arba iš perdegusio kiniško maitinimo bloko. Jis taip pat gali būti išplėštas iš kompiuterio maitinimo grandinės arba iš monitoriaus, tačiau jie bus šiek tiek didesni. Kad lengvai išardyčiau transformatorių rėmą ir šerdį, panardinu juos į verdantį vandenį 3-4 minutėms, o paskui atsargiai, be didelių pastangų, išardau. Toliau pašaliname visas senas apvijas ir suvyniojame naujas. Apvijos: 1-2 - 600 apsisukimų, kurių skersmuo 0,08 - 0,1 mm; 3-4 - 23 posūkiai, kurių skersmuo 0,3 - 0,55 mm; 5-6 - 10 apsisukimų, kurių skersmuo 0,08 - 0,1 mm. Apvija 1-2 suvynioti urmu, likusieji virsta. Visos apvijos turi būti gerai izoliuotos viena nuo kitos. Apvijos metu stebėkite apvijos kryptį ir pradžią taškuose. Dvi W formos šerdies pusės sujungiamos per izoliacinę tarpinę (oro tarpas ~ 0,1 mm).

Bet jūs galite tai padaryti lengviau, paimdami bet kokį paruoštą kinišką maitinimo šaltinį, kurio išėjimo įtampa yra 8–9 voltai.

Keletas gaminamo korpuso nuotraukų (maža dirbtuvė). Ypatingas dėmesys buvo skiriamas ekrano dizainui.

Na, gatavas įrenginys yra surinktas.

Ir galiausiai apie „paslaugų meniu“, kuris buvo paminėtas teksto pradžioje. Jei sekundžių nustatymo režimu įvesite „1“, „1“, „1“, „1“, „1“ ir „Start“, tada mygtukais „1“ ir „2“ galėsite pasirinkti pirmyn arba atgal. atgalinis skaičiavimas. Indikatorius parodys " Cu" (Suskaičiuoti) arba " Cd" (Atgal atgal). Išeikite iš meniu ir išsaugokite nustatymus EEPROM paspausdami mygtuką "Pradėti".

Jei įvedate seką "2", "2", "2", "2", "2" (taip pat iš sekundžių nustatymo režimo) ir "Pradėti" - mygtukais "1" - "4" galite pasirinkti viena iš keturių garso signalo parinkčių, kai suveikia laikmatis. Indikatorius parodys " A1" -"A4" (Aliarmas). Išeikite išsaugodami nustatymus EEPROM naudodami mygtuką "Pradėti".

Įvesdami „3“, „3“, „3“, „3“, „3“ ir „Pradėti“ naudodami mygtukus „1“ - „4“, galite pasirinkti vieną iš keturių „važiuojamosios šviesos“ parinkčių. apvalūs šviesos diodai, kai suveikia laikmatis. Indikatorius parodys " E1" -"E4".

Įvesdami „4“, „4“, „4“, „4“, „4“ ir „Pradėti“ naudodami mygtukus „1“ - „4“, galite pasirinkti vieną iš keturių septynių segmentų indikatorių mirksėjimo parinkčių, kai suveikia laikmatis. Indikatorius parodys " L1" -"L4".

Archyve yra laikmačio ir maitinimo plokštės (jei kam jų reikia) ir valdiklio programinė įranga. Saugikliai jau nurodyti firmware, nieko keisti nereikia. Laikmačio plokštėje yra keli 0,1 µF keraminiai kondensatoriai, skirti maitinimui, neparodyti grandinės schemoje. Taip pat yra keletas dalių, pažymėtų FB (ferito karoliukai) - tai tiesiog vadinamieji ferito karoliukai, naudojami kaip džemperiai.

Radioelementų sąrašas

Paskyrimas Tipas Denominacija Kiekis PastabaParduotuvėMano užrašų knygelė
IC1 MK PIC 8 bitų

PIC16F636

1 Į užrašų knygelę
IC2 Enkoderis, dekoderis

SN74LS155A

1 Į užrašų knygelę
IC3 Pamainų registrasK561IR21 Į užrašų knygelę
IC4 Linijinis reguliatorius

L78L05

1 Į užrašų knygelę
VT1-VT3, VT13 Bipolinis tranzistorius

KT3107BM

4 Į užrašų knygelę
VT4-VT12 Bipolinis tranzistorius

KT3102BM

29 Į užrašų knygelę
D1-D4 Lygintuvo diodas

1N4148

4 Į užrašų knygelę
Q1 Kvarcinis rezonatorius20 MHz1 Į užrašų knygelę
C1, C2, C4 220 µF3 Į užrašų knygelę
C3, C5, C8 Elektrolitinis kondensatorius100 µF3 Į užrašų knygelę
C6, C7 Kondensatorius22 pF2 Į užrašų knygelę
C9 Kondensatorius0,1 µF1 Į užrašų knygelę
R1-R3 Rezistorius

1 kOhm

3 Į užrašų knygelę
R4-R6 Rezistorius

680 omų

3

I. KOTOV, Krasnoarmeiskas, Donecko sritis, Ukraina
Siūlomas įrenginys gali atlikti laikmačio, termometro ir termostato funkcijas. Operatyvinis reguliavimas leidžia sukonfigūruoti, kad nurodytas funkcijas atliktų tiek kartu, tiek atskirai. Visa reikalinga informacija rodoma trijų skaitmenų LED indikatoriuje. Kuriant įrenginį buvo siekiama kuo labiau sumažinti elektros grandinę, supaprastinti valdymo procesą ir išplėsti funkcionalumą. Jie buvo išspręsti naudojant mikrovaldiklį ir specializuotą temperatūros jutiklį.

Techninės charakteristikos termostato režimu
Reguliuojamas intervalas
temperatūra, °C... nuo -55 iki +125 Matavimo ir valdymo skiriamoji geba, °C:
temperatūrų diapazone -9,9...-99,9 °C.........0.1
temperatūrų diapazone -55...-10 °C ir +100...
+125 °С......1
Matavimo paklaida, °C, ne daugiau:
temperatūrų diapazone -10...+85 °C.............±1
temperatūrų diapazone -55...-10 °C ir +85...
+125 °С.............±2
Histerezės nustatymo intervalas, °C................± 0...50
Viršutinė valdymo intervalo nustatymo riba, °C................-55...+125
Apatinė valdymo intervalo nustatymo riba, °C................-55...+125
Koregavimo intervalas
termometro rodmenys, °C......±2
Termostatas veikia tiek šildymo, tiek vėsinimo režimais. Be to, galite nustatyti temperatūros palaikymo trukmę nuo 1 iki 999 minučių arba termostato sustabdymą tam pačiam laikui. Eksploatacijos metu apskaičiuojama bendra apkrovos prijungimo prie tinklo trukmė. Prietaisas sukurtas veikti kartu su temperatūros jutikliu DS18B20 ir automatiškai aptinka jo ID kodą.
Laikmačio režimo specifikacijos
Laiko nustatymo intervalai
sekundės............1...999
minutės............1...999
valandos............1...999
Laiko skaičiavimo kryptys..................tiesiogiai
arba atvirkščiai
Laikmatis suteikia uždelsimą tiek įjungiant, tiek išjungiant apkrovą.
Įrenginio schema parodyta fig. 1.


Visos pagrindinės funkcijos priskirtos mikrovaldikliui DD1, režimo valdymas ir duomenų įvedimas vykdomas SB1-SB3 mygtukais, o informacija rodoma trijų skaitmenų LED indikatoriuje HG1. Maitinimas tiekiamas iš tinklo, kuris yra prijungtas prie XT1 bloko 1 ir 2 gnybtų. Maitinimo blokas sumontuotas ant transformatoriaus T1, diodinio tiltelio VD1, stabilizatoriaus DA1 ir išlyginamųjų kondensatorių C2 ir C4. Rezistorius R1 padidina įrenginio patikimumą esant padidintai tinklo įtampai. Bet jei pageidaujama, jį galima pašalinti vietoje to, ant plokštės sumontuojant trumpiklį.
Apkrovos maitinimas įjungiamas arba išjungiamas naudojant relę K1, kurios kontaktai K1.1 paprastai yra atidaryti ir prijungti prie XT1 bloko 3 ir 4 gnybtų. Temperatūros jutiklis DS18B20 prijungtas prie gnybtų 5 ir 6. Naudojama dviejų laidų jutiklio prijungimo schema: 2 kaištis prijungtas prie 6 gnybto, 1 ir 3 kontaktai prijungti prie 5 gnybto. Norint rodyti informaciją HG1 indikatoriuje, dinaminė Naudojama indikacija su simbolio atnaujinimo periodu maždaug 20 ms.
Veikimo valdymas ir parametrų nustatymas atliekamas trimis mygtukais SB1 "<" (уменьшение), SB2 ">" (padidinti) ir SB3 "˾" (įvesti). Priklausomai nuo išankstinio nustatymo, įrenginys gali atlikti universalaus termostato funkcijas arba veikti kaip laikmatis. Norėdami pasirinkti funkcinę paskirtį, turite paspausti mygtuką SB3 ir, laikydami Įjunkite maitinimo įtampą Indikatorius rodo HG1, pasirodys srovės nustatymo numeris (2 pav.).

Mygtukais SB1 ir SB2 nustatykite darbo režimą: 1 - universalus termostatas (nustatytas pagal nutylėjimą), 2 - laikmatis. Norėdami patvirtinti, paspauskite mygtuką SB3. Pakeitimai įsigalios kitą kartą įjungus.
Kai prietaisas veikia kaip termostatas, temperatūros jutiklis dedamas toje vietoje, kur būtina palaikyti nustatytą temperatūrą. Prijungus įrenginį prie tinklo, indikatoriuje „veikia“ bandomasis užrašas HELLO - termostatas paruoštas darbui. Veikimo režimu HG1 indikatorius nuolat rodo esamą temperatūros reikšmę. Tai, kad apkrova šiuo metu įjungta, rodo mirksintis taškas mažiausiai reikšmingu skaitmeniu.
Temperatūra nustatoma naudojant SB1 ir SB2 mygtukus; pagal numatytuosius nustatymus ji yra 30 °C. Kai paspaudžiate bet kurį iš šių mygtukų, HG1 indikatoriuje pasirodo mirksi nustatytos temperatūros reikšmė, o po 5 sekundžių po paskutinio paspaudimo termostatas grįžta į darbo režimą. Visi įvesti duomenys yra saugomi nepastovioje mikrovaldiklio atmintyje. Paspaudus ir palaikius mygtukus SB1 ir SB2, pasirinktas parametras pasikeičia greičiau. Priklausomai nuo spaudimo trukmės, paeiliui perjungiami trys keitimo greičiai.


Norėdami nustatyti kitus termostato nustatymus, turite įeiti į meniu. Norėdami tai padaryti, paspauskite mygtuką SB3. Nustatymai keičiami pagal pav. 3. Praėjus 5 sekundėms po paskutinio bet kurio mygtuko paspaudimo, įrenginys persijungia į veikimo režimą, o visi nustatymai išsaugomi nepastovioje atmintyje. Žemiau pateikiamas galimų parinkčių aprašymas.

GGR – histerezė. Parametras, kuriame nustatomas temperatūrų skirtumas tarp apkrovos įjungimo ir išjungimo. Nustatytas skaičius pridedamas prie nustatytos temperatūros nustatymo įjungimui ir atimamas išjungimui. Jei, pavyzdžiui, nustatyta temperatūra 30,0 °C, o GGR yra 4,5, tada šildymo režimu apkrova bus išjungta esant 30,0 + 4,5 = 34,5 °C temperatūrai, o įjungta 30,0 - 4,5 = 25,5 °C. Jei termostatas veikia vėsinimo režimu, jis išsijungs esant 25,5 °C temperatūrai, o įsijungs 34,5 °C. Jei GGR nustatysite lygų 0, pasirodys indikatorius
užrašas GR ir prietaisas veiks kaip įprastas termometras, indikatoriuje bus rodoma esama temperatūra, o apkrova visą laiką bus išjungta. Numatytoji GGR reikšmė yra 3.0.
VPR – viršutinė temperatūros riba. Šis parametras nustato didžiausią galimą nustatytos temperatūros reikšmę. Viršijus šią ribą, nepaisant kitų nustatymų, apkrova bus išjungta. Pagal numatytuosius nustatymus VLOOKUP yra 80.0.
LPR – apatinė temperatūros riba. Šis parametras nustato mažiausią galimą nustatytos temperatūros reikšmę. Jei temperatūra nukrenta žemiau NPR, nepaisant kitų nustatymų, apkrova taip pat bus išjungta. NPR vertė visada yra mažesnė arba lygi VPR. Numatytoji NPR reikšmė yra 10,0.
VRV – perjungimo laiko trukmė (minutėmis). Šis parametras nurodo laiko intervalą, per kurį palaikoma nustatyta temperatūra. Baigus apkrova bus išjungta. Pasirašyti
nustatyto laiko intervalo pasibaigimas – nuolat šviečiantis taškas indikatoriaus žemos eilės skaitmenyje. Laikmatis paleidžiamas iš naujo paspaudus SB3 mygtuką. Jei RTW nustatytas į 0, indikatorius rodo vaizdą „---“, o laikmatis nedalyvauja termostato veikime. Pagal numatytuosius nustatymus laikmatis yra išjungtas. VPO – išjungimo laiko trukmė. Parametras nurodo laiko intervalą (minutėmis), per kurį įrenginys yra išjungtas, skirtas naudoti kartu su RTW parametru. Pasibaigus nustatytam laiko intervalui, prietaisas grįžta į temperatūros palaikymo funkciją. Jei, pavyzdžiui, nustatote VRV 90 ir VRO 60 reikšmę, termostatas cikliškai palaikys temperatūrą 90 minučių, tada išsijungs 60 minučių ir vėl įsijungs 90 minučių ir tt Jei VRO yra 0, indikatorius rodo vaizdą " ---", o laikmatis nedalyvauja termostato darbe. Pagal numatytuosius nustatymus VPO reikšmė yra nulinė (laikmatis išjungtas).
PAR – veikimo parametrai. PAR reikšmė apibrėžia termostato veikimo režimą: šildymas arba vėsinimas. Dirbant kartu su šildytuvu garo generatoriuje būtina įdiegti NA, dirbant kartu su aušintuvu - OS. Pagal numatytuosius nustatymus PAR nustatytas į ON (veikia su šildytuvu).
POP – rodmenų korekcija. Šis parametras leidžia reguliuoti termometro rodmenis ir, jei reikia, pasiekti (naudojant etaloninį termometrą) matavimo paklaidą, mažesnę nei 0,1 °C. POP reikšmė pridedama prie esamos temperatūros rodmens. Paprastai rodmenų koreguoti nereikia, nes temperatūros jutiklis DS18B20 yra sukalibruotas gamykloje ir turi labai aukštą matavimo tikslumą. Numatytasis POP yra 0,0 (be koregavimo).
RAB – šildytuvo (arba aušintuvo) veikimo laikas. Šiuo režimu rodomas laikas (valandomis), per kurį buvo įjungtas krovinys. Tai leidžia apskaičiuoti energijos suvartojimą. Pavyzdžiui, jei mėnesiniai RAB rodmenys yra 250, o kaitinimo elemento galia yra 0,5 kW, elektros sąnaudos yra 125 kWh.
NOG - temperatūros jutiklio identifikavimo numeris (ID kodas). DS18B20 jutiklio 64 bitų ID numeris rodomas šešioliktainiu formatu. Pavyzdžiui, 28A2S86801000017. (paskutinis skaitmuo pažymėtas kableliu). Skaičius peržiūrimas paspaudus SB1, SB2 mygtukus ir gali prireikti norint nustatyti, kuris jutiklis prijungtas. Jei ryšys su jutikliu nutrūksta arba dėl kokių nors priežasčių nepavyko nuskaityti kodo, indikatorius parodys pranešimą Err (error).
Prietaisas automatiškai nustato temperatūros jutiklio buvimą ir tinkamumą naudoti. Jei grandinė nutrūko arba jutiklio trūksta, indikatorius rodys HI, o jei yra trumpasis jungimas arba neteisingas ryšys, pasirodys Lo. Esant gedimui, apkrova automatiškai išjungiama. Vielos, jungiančios jutiklį prie įrenginio, skerspjūvis turi būti ne mažesnis kaip 0,5 mm2, o ilgis ne didesnis kaip 10 m. Informacija iš temperatūros jutiklio nuskaitoma 1 s periodu ir lyginama su ankstesne verte. Jei temperatūros kilimo greitis viršija 30 °C/s arba temperatūros kritimo greitis viršija 20 °C/s, situacija interpretuojama kaip avarinė ir apkrova išjungiama.
Norėdami peržiūrėti ir keisti nustatymus dirbdami laikmačio režimu, turite įeiti į meniu. Norėdami tai padaryti, paspauskite mygtuką SB3. Montavimas atliekamas pagal pav. 4

Praėjus 5 sekundėms po paskutinio bet kurio mygtuko paspaudimo, įrenginys persijungia į veikimo režimą, o visi nustatymai išsaugomi nepastovioje atmintyje. Įėjus į meniu, rodomas esamas laikmačio nustatymas (mirksi indikatorius). Naudokite SB1 ir SB2 mygtukus, kad nustatytumėte laiko intervalą nuo 000 iki 999 (numatytasis yra 100). Jei nustatote 000, laikmatis bus užblokuotas, o darbo režime indikatorius rodys pranešimą „---“.
Nustatę skaitmeninę reikšmę, paspauskite mygtuką SB3 ir galėsite
nustatyti laiko vienetus. Tai gali būti SEC sekundės (numatytasis), Ml minutės arba HOU valandos.
Tada nustatykite laikmačio veikimo režimą. Pasirinkus ĮJUNGTA, praėjus nustatytam laiko intervalui, apkrova bus prijungta; pasirinkus IŠJUNGTA, apkrova
neįgalus. Laikmačio skaičiavimo kryptis pasirenkama atvirkščiai, kai pasirenkama OBS (nustatyta pagal nutylėjimą), ir pirmyn, kai pasirenkama PRS. Kol veikia laikmatis, indikatorius rodo laiką. Laikmatis paleidžiamas paspaudus SB2 mygtuką. Jei nurodytas tiesioginis skaičiavimas, rodmenys keičiasi nuo nulio iki didžiausios reikšmės, pavyzdžiui, 0, 1, 2... ir tt, o jei atvirkštinis - nuo didžiausios reikšmės iki nulio, pavyzdžiui, 100, 99, 98. .. ir kt.
Laikmatis sustabdomas naudojant SB1 mygtuką. Dar kartą spustelėjus, jis grįš į pradinę būseną. Pasirinkus perjungimo nustatymą, pasibaigus nustatytam intervalui, apkrova bus prijungta ir indikatoriuje pasirodys pranešimas ON, o jei perjungimo nustatymas yra OFF ir apkrova atjungta. Esama apkrovos būsena gali būti vertinama pagal mažiausio rodiklio skaitmens kablelį. Šviečia – apkrova įjungta, išjungta – išjungta. Nustatant minutes ar valandas, taškas trumpai mirksi kas sekundę, jei apkrova išjungta, ir trumpam užgęsta, jei ji įjungta.
Siekiant padidinti veikimo patikimumą, įrenginys naudoja daugybę programinės įrangos metodų. Visų pirma, tai susiję su darbu su mikrovaldiklio EEPROM. Kiekvienas nepastovios atminties parametras yra dubliuojamas keturiose ląstelėse. Skaitymas ir rašymas vyksta blokas po bloko. Po kiekvieno skaitymo keturių langelių turinys lyginamas vienas su kitu. Jei viename ar dviejuose iš jų jis skiriasi nuo kitų, atkuriama viena visų bloko langelių reikšmė iš tų, kuriose ji yra identiška.
Dauguma dalių sumontuotos ant dviejų spausdintinių plokščių, pagamintų iš folijos stiklo pluošto, kurių brėžiniai parodyti fig. 5 ir pav. 6.


Paviršiniam montavimui buvo naudojami fiksuoti rezistoriai RN1-12, likusieji - MLT, S2-23. Oksidiniai kondensatoriai - K50-35 arba importuoti, likusieji - K10-17. Relė - JZC-22F3SC20DDC12V, mygtukai - DTST-6. Transformatorius turi užtikrinti 12 V įtampą lygintuvo išėjime esant iki 150 mA srovei XT1 - 305 serijos vienos eilės gnybtų blokas.. Mikrovaldiklio programavimui naudojamas modul_v2.hex failas.
Plokštės montuojamos plastikiniame korpuse (7 pav.).

Surinkto įrenginio išvaizda parodyta fig. 8.

Rezistorius R2 buvo skirtas apsaugoti mikrovaldiklį kuriant dizainą, tačiau pagaminus keletą įrenginių kopijų jis buvo pašalintas, o vietoj to plokštėje buvo sumontuotas laidinis trumpiklis.
Supaprastinimo sumetimais HG1 indikatoriaus segmentų valdymo grandinėse galima išskirti srovę ribojančius rezistorius R4-R11. Tokiu atveju jie pakeičiami vielos gabalėliais, į mikrovaldiklį reikia įkelti failą modul_v1.hex.. Kad indikatoriaus ir mikrovaldiklio viršsrovė nebūtų, kiekvienam indikatoriaus skaitmeniui duodama įtampa 0,3 ms, todėl jie veikia vardinė vidutinė srovė. Indikatorių su skirtingu įjungtų elementų skaičiumi ryškumas šiek tiek skiriasi dėl netolygaus srovės pasiskirstymo ir skirtingų įtampos kritimų per mikrovaldiklio prievadų išėjimo tranzistorius. Indikatorių su bendru katodu galima pakeisti panašiu, bet bendru anodu. Norėdami tai padaryti, programos modul_v1 .asm (modul_v2.asm) pradžioje turėtumėte ištrinti eilutę
#define _COMMON_CATODE_ ir iš naujo sukompiliuokite programą.
Mikrovaldiklių programos parsisiųsti
Programuodami nustatykite tokią mikrovaldiklio konfigūraciją: BODLEVEL=1; BODEN = 0; SUT1 = 1; SUTO = 1; CKSEL3 = 1; CKSEL2 = 1; CKSEL1 = 1; CKSELO = 1; RSTDISBL = 1; WDTON = 1; SPIEN = 0; SCORT = 0; EESAVE = 0; BOOTSZ1 = 1; BOOTSZO = 1;
BOOTRST = 1.
Iš redaktoriaus. Mikrovaldiklio programų tekstas ir kodai yra mūsų FTP serveryje adresu .
Radijas Nr.3 2012 m

Paprasta atmega8 MK gero laikmačio schema, lengvas naršymas meniu, skystųjų kristalų LCD ekranas, realaus laiko laikrodis, minimalus dalių skaičius.

Labai naudingas dalykas, pavyzdžiui, šiltnamiui, galite organizuoti laistymą ar cirkuliaciją hidroponikoje, galite įrengti lesyklas ir geriamuosius dubenėlius gyvūnams, paukščiams ir daug daugiau.


Šio laikmačio širdis – labai populiarus ir nebrangus Atmega8 mikrovaldiklis.

Žinoma, programinei įrangai mums reikės programuotojo, bet jei jo neturime, galime išsiversti tik 4 laidais, prijungtais prie LPT prievado pagal šią schemą.

Ko mums reikia:

Laikmačio grandinė

Kaip matote, ant jo nėra maitinimo grandinės ir pavaros, taip yra todėl, kad galite nuspręsti naudoti išorinį stabilizuotą maitinimo šaltinį, taip pat nežinote, kokią apkrovą planuojate prijungti, todėl kiekvienas turi pasirinkti pavarą pats. kad atitiktų jų techninius reikalavimus.

Kaip pasirinktinis pavaros mechanizmas, kuriame naudojami triakiai, tiristoriai ir triakiai, jie pateikiami žemiau.



Parinktis iš „Sprint Layout“ programos.

Ypatingas dėmesys turėtų būti skiriamas montuojant laikrodžio lustą ir kvarco elementą. Bėgių ilgis tarp jų turėtų būti minimalus, tačiau geriau naudoti mikro kvarcą iš rankinio laikrodžio ir prilituoti tiesiai prie laikrodžio MC kojelių. Visą laisvą vietą prie laikrodžio užpildome korpusui skirtu variu. Baterija reikalinga, kad laikrodis veiktų, kai jis išjungtas. Jei dėl kokių nors priežasčių neįdėjote šios baterijos, prijunkite teigiamą laidą prie korpuso, kitaip laikrodis tiesiog neveiks.

Mikrovaldiklis blykstinamas programuotoju arba naudojant paprastus 5 laidus.

Programinės aparatinės įrangos autorius (atsisiųsti - multitimer) bandė ir nekeitė saugiklių, todėl labai paprasta, be jokių problemų įdiegti programinę-aparatinę įrangą pradedantiesiems radijo mėgėjams. Jei MK dar nenaudotas, jis naujas iš parduotuvės, tada tiesiog įkelkite programinę-aparatinę įrangą ir viskas, bet jei jau yra pakeitimų saugikliuose, turite juos nustatyti kaip CKSEL=0001. Visa kita yra paprasta ir nereikia paaiškinimo.

Korpusui labai patogu naudoti plastikines jungiamąsias dėžes, jos būna įvairių dydžių ir formų.

Naudodami karštus klijus iš pistoleto, LCD ekraną pritvirtiname prie peiliu nupjauto dangtelio, išpjauname skylutes valdymo mygtukams ir maitinimo mygtukui.

Visus komponentus dedame į dėklo vidų, nuolat tikrindami, kaip užsidaro dangtelis, o esant reikalui – pajudiname ar sulenkiame visus, kurie trukdo.

Mes tiekiame maitinimą į surinktą grandinę, turėtų pasirodyti toks vaizdas.

Valdymas atliekamas keturiais mygtukais. Meniu susideda iš trijų elementų: CLOSK – laikrodžio nustatymas, RESET – visų įdiegtų laikmačių nustatymas iš naujo, TIMER – laikmačių nustatymas.

Pirmiausia eikite (*) į laikrodžio meniu ir nustatykite (>)(<)(#) точное время.


Užuomina apie valdymo mygtukus yra apatinėje ekrano eilutėje; kiekvienas meniu yra skirtingas, todėl mygtukų apibūdinti nereikia.

Dabar viskas paruošta teisingai nustatyti laikmačio laiko pozicijas; paspaudus svarą, programa įrašoma į nuolatinę MK atmintį.

Pažiūrėkime, kaip savo rankomis pasidaryti laikmatį ant ATmega8 mikrovaldiklio, nors kodą gana lengva pritaikyti kitų serijų AVR MK. Elektroninis laikmatis yra būtinas įrenginys visose srityse, kur reikia atlikti tam tikrus veiksmus po tam tikro laiko.

Laikmačio valdiklį sudaro tik keturi mygtukai:

— skaičiaus vertės didinimas;

— skaičiaus vertės mažinimas;

- paleidimo laikmatis;

- laikmačio nustatymas iš naujo.

Garso dažnio generatorius su garsiakalbiu naudojamas kaip laikmačio veikimo indikatorius. Generatorius bus paleistas naudojant tranzistorinį jungiklį Q5, kurį savo ruožtu atidaro teigiamas potencialas, ateinantis iš mikrovaldiklio PC2 prievado.

Supaprastintai, laikmatis veikia taip. Mygtukais „+“ ir „-“ nustatykite reikiamą sekundžių skaičių; Mygtukas „Start“ paleidžia laikmatį. Kai laikmatis skaičiuoja iki nulio, ant ATmega8 mikrovaldiklio PC2 kaiščio atsiras didelis potencialas, kuris atidarys Q5. Tada tranzistoriaus jungiklis paleis generatorių ir garsiakalbyje pasigirs garsas. Laikmatis iš naujo nustatomas paspaudus mygtuką „Reset“. Garso dažnio generatorius sumontuotas ant dviejų skirtingų puslaidininkinių konstrukcijų tranzistorių Q6 ir Q7. Tokių generatorių veikimo principą ir grandinės aprašymą rasite paspaudę ant.

Laikmačio veikimo algoritmas mikrovaldiklyje

Mūsų laikmatis vienu metu skaičiuos tiksliai vieną sekundę, nors galite nustatyti bet kurį kitą laiką, pavyzdžiui, minutes, valandas, šimtąsias sekundžių dalis ir pan.

Norėdami suformuoti vienos sekundės laiko intervalą, naudosime pirmąjį ATmega8 mikrovaldiklio laikmatį-skaitiklį. Funkcijoje apibrėšime visus jo nustatymus pradėti. Pirmiausia mikrovaldiklio veikimo dažnį 1000000 Hz padaliname iš 64 ir gauname naują 15625 Hz dažnį. Už tai atsakingi TCCR1B registro bitai CS10, CS11 ir CS12. Toliau įjungiame sutapimo pertraukimą ir įrašome dvejetainį skaičių, lygų po kablelio 15625 į palyginimo registrą (aukštą ir žemą) palyginimo registrus.

tuščia pradžia (tuščia)

TCCR1B &= ~(1<

TCCR1B |= (1<

TIMSK |= (1<

OCR1AH ​​= 0b00111101;

OCR1AL = 0b000001001; // palyginimo registras 15625

TCNT1 = 0;

TCCR1B |= (1<

Kai laikmatis skaičiuoja tiksliai vieną sekundę, bus iškviestas pertraukimas. Pertraukimo funkcijos turinyje kintamojo reikšmę sumažinsime vienu. Pasiekus nulį, antroje mikrovaldiklio C prievado išvestyje atsiras didelis potencialas, kuris atidarys tranzistoriaus jungiklį ir paleis generatorių, ko pasekoje garsiakalbyje girdėsime garsą.

ISR (TIMER1_COMPA_vect)

Z—;