Lihtsaim elektrooniline kell PIC16F628A üksikasjaliku lähtekoodiga. Elektroonilise kella skeem pic16f628a-l - seadmed MK-l - raadio-bes - elektroonika koduks Sagedusmõõturi skemaatiline diagramm

See seade on tavaline äratuskellaga elektrooniline käekell, kuid seda juhitakse IR-puldist. Kell on realiseeritud tarkvaras, ekraan on dünaamiline. Ahel tagab varutoite elektrikatkestuse korral. Äratuskell on rakendatud lihtsal sumistil, millel on sisseehitatud generaator - summer.

Juhtpaneel on rakendatud PIC12F629 mikrokontrollerile. Kaugjuhtimispuldi toiteallikaks on tavaline arvuti emaplaadi aku. Kui ühtegi nuppu ei vajutata, on mikrokontroller SLEEP-režiimis ja voolu praktiliselt ei tarbi. Niipea kui nuppu vajutatakse, "ärkab" mikrokontroller ja genereerib IR-LED-ile kooditeate.


Kui toide on sisse lülitatud, kuvatakse ekraanil praegune kellaaeg ja koolon vilgub. Kui vajutate nuppu CLOCK, kuvatakse ekraanil aeg, milleks äratus on seatud (koolon ei vilgu) või --:-- kui äratus on välja lülitatud. Vajutades uuesti nuppu CLOCK või 6 sekundi pärast, kuvab seade uuesti praegust kellaaega. Nupu COR vajutamine lülitab seadme kella korrigeerimise režiimi, kui kell on parasjagu kuvatud; või alarmi seadistusrežiimi, kui ekraanil on häire. Esimene vajutus - tunnid vilguvad, nupp +1 määrab tunnid, teine ​​vajutus nupule COR - minutid vilguvad - nupp +1 määrab minutid, kolmas vajutus - väljub kella (või äratuse) korrigeerimise režiimist. Kui äratuse aega reguleeritakse, lülitub see automaatselt sisse.

Kui ekraan näitab äratuse seadistamise aega (lülitatakse sisse nupuga CLOCK) - nupu +1 vajutamine lülitab äratuse sisse ja uuesti vajutamine lülitab äratuse välja, kuvatakse ekraanil vastavalt äratuse seadistamise aeg või --:-- ( käärsool ei vilgu). Kui äratus on välja lülitatud, siis selle seadistamise aega ei lähtestata.

Kella näidu režiimis (koolon vilgub) - nupu +1 vajutamine lülitab kella öörežiimile - selles režiimis kustub indikaator täielikult ja vilgub ainult koolon, mis vähendab energiatarbimist ja ei tekita tarbetut öine valgustus. Samas kaugjuhtimispuldi mis tahes nupu vajutamine ja ka selle käivitamine viib kella öörežiimist välja.

Kui äratus heliseb, kostub ühe minuti jooksul piiks ja kõik numbrid ekraanil vilguvad. Kaugjuhtimispuldi mis tahes nupu vajutamine lülitab äratuse välja (ilma selle seadistamise aega lähtestamata).

Kella varutoiteallikaks, aga ka juhtpaneelil kasutatakse arvuti emaplaadi akut. Selle pinge on 3 V, seega tuleb kellas olevat mikrokontrollerit kasutada madalpingel - PIC16LF628A. Kui kasutate akut, mille pinge on üle 3,6 V, siis sobib tavaline PIC16F628A. Noh, täiesti ideaalne variant on kasutada NANOWATT tehnoloogiaga mikrokontrollerit - PIC16F819 (Tähelepanu! See mikrokontroller kasutab erinevat püsivara).


See kella versioon on valmistatud nii, et vooluringi võimalikult palju lihtsustada, energiatarbimist vähendada ja lõpuks saada seade, mis mahub hõlpsalt taskusse. Valides vooluringi toiteks miniakud, SMD kinnituse ja miniatuurse kõlari (näiteks mittetöötavast mobiiltelefonist), saate tikutoosist veidi suurema disaini.
Ülivalguse indikaatori kasutamine võimaldab vähendada vooluringi tarbitavat voolu. Voolutarbimise vähenemine saavutatakse ka režiimis "LoFF" - indikaator on välja lülitatud ja sisse lülitatakse ainult kella madalama järgu numbri vilkuv punkt.

Näidustus
Indikaatorite reguleeritav heledus võimaldab valida näitude kõige mugavama kuvamise (ja taas vähendada energiatarbimist).
Kellal on 9 kuvarežiimi. Režiimide vahel vahetamine toimub "pluss" ja "miinus" nuppude abil. Enne näitude endi kuvamist kuvatakse indikaatoritel lühike vihje režiimi nimetuse kohta. Vihje kuvamise kestus on üks sekund. Lühiajaliste viipade kasutamine võimaldas saavutada kella hea ergonoomika. Ekraanirežiimide vahel vahetades (mida nii lihtsa seadme nagu tavaline kell on päris palju) ei teki segadust ning alati on selge, millised näidud indikaatoril kuvatakse.


Näidikul kuvatavate näitude korrigeerimine aktiveeritakse nupu "Korrektsioon" vajutamisega. Sel juhul kuvatakse 1/4 sekundiks lühiajaline viip, mille järel hakkab reguleeritud väärtus vilkuma sagedusega 2 Hz. Näidud korrigeeritakse pluss- ja miinusnuppude abil. Kui vajutate nuppu pikka aega, aktiveeritakse automaatse korduse režiim määratud sagedusel. Nupuvajutuse automaatse korduse sagedused on: tundide, kuude ja nädalapäevade jaoks - 4 Hz; minutite, aasta ja indikaatori heledus - 10 Hz; parandusväärtuse jaoks - 100 Hz.
Kõik reguleeritud väärtused, välja arvatud tunnid, minutid ja sekundid, kirjutatakse EEPROM-i ja taastatakse pärast toite välja- ja sisselülitamist. Sekundid korrigeerimise ajal nullitakse. Kõik režiimid, välja arvatud tunnid-minutid, minutid-sekundid ja LoFF, tagastatakse automaatselt. Kui 10 sekundi jooksul ei vajutata ühtegi nuppu, lülitub kell tundide-minutite kuvamisrežiimi.
Vajutades nuppu "On/Off alarm." Äratuskell lülitub sisse/välja. Alarmi aktiveerimist kinnitab lühike kahetooniline heli. Kui äratuskell on sisse lülitatud, süttib indikaatori madalama järgu numbris olev punkt.
Režiimis "Corr" kuvatakse indikaatoril paranduskonstant, mille algväärtus on 5000 mikrosekundit sekundis. Kui kell hilineb, suurendame konstanti mikrosekundites sekundis arvutatud viivituse võrra. Kui kell on kiire, siis vähendame konstanti samal põhimõttel.

Siin on veel üks näide laboriseadmetest - LC-meeter. Seda mõõtmisrežiimi, eriti L-mõõtmist, on odavatest tehasemultimeetritest peaaegu võimatu leida.

Selle skeem LC-meeter mikrokontrolleril võeti saidilt www.sites.google.com/site/vk3bhr/home/index2-html. Seade on ehitatud 16F628A PIC mikrokontrollerile ja kuna ostsin hiljuti PIC programmeerija, siis otsustasin selle projektiga testida.

Eemaldasin 7805 regulaatori, kuna otsustasin kasutada 5-voldist mobiiltelefoni laadijat.

Skeemis on trimmeri takisti 5 kOhm, aga tegelikkuses paigaldasin ostetud LCD mooduli andmelehe järgi 10 kOhm.
Kõik kolm kondensaatorit on 10 µF tantaal. Tuleb märkida, et kondensaator C7 - 100 µF on tegelikult 1000 µF.
Kaks 1000pF kondensaatorit, styroflex kondensaatorid tolerantsiga 1%, 82µH induktiivpool.

Kogu voolutarve koos taustvalgustusega on umbes 30mA.
Takisti R11 piirab taustvalgustuse voolu ja selle suurus peab vastama tegelikult kasutatavale LCD-moodulile.

Kasutasin lähtepunktina algset PCB-joonist ja muutsin seda, et see sobiks mul olevate komponentidega.
Siin on tulemus:




Kahel viimasel fotol on LC-meeter töös. Esimesel neist mõõdetakse 1nF kondensaatori mahtuvust 1% hälbega ja teisel - induktiivsus 22 μH kõrvalekaldega 10%. Seade on väga tundlik - see tähendab, et ühendamata kondensaatoriga näitab see umbes 3-5 pF mahtuvust, kuid see kõrvaldatakse kalibreerimisega.

Kell väikese 4-kohalise indikaatoriga. Punkt tundide ja minutite vahel vilgub 0,5 sekundi sagedusega. Saab sisse ehitada igasse esemesse: lauakalendrisse, raadiosse, autosse. Hinnanguline viga – 0,00002%. Praktikas ei olnud kuue kuu jooksul kordagi vaja korrigeerimist.

Toide 4,5 - 5 volti, vool kuni 70mA. Pinge stabilisaator asub adapteri pistikupesas. See on monteeritud 3-vatise trafo ja kõrgsagedusmuunduri - stabilisaatorile vastavalt standardskeemile. Auto jaoks pole muidugi trafot vaja. Ilma jahutusradiaatorita mikroskeem praktiliselt ei kuumene. Pistik 3,5 mm toiteallika jaoks. Kvarts 4 MHz. Kõik väikese võimsusega n-p-n transistorid.

Mis tahes nupud . Nupuvajutaja pikkus valitakse disaininõuetest lähtuvalt. Juhi poolel saab ka nuppe joota. Iga kord, kui vajutate nuppu, lisatakse üksus. Kui seda hoida, kiireneb loendus mõistliku kiiruseni.

Takistid MLT – 0,25. R7 – R14 300 – 360 oomi. R3 – R6 1-3 kOhm.
Patareid: 4 tk GP-170 vms. Kui võrgupinge on välja lülitatud, annavad nad toite ainult mikrokontrollerile. Need peavad täpselt 8 päeva vastu, kontrollisin.
Väikseima pingelangusega dioodid edasisuunas.

Lauad on valmistatud ühepoolsest fooliumklaaskiust.

Enne mikrokontrolleri paigaldamist valmistatud plaadi paneelile lülitage toide sisse ja mõõtke pistikupesa 14. jala pinge. See peaks olema 4,5–4,8 volti. 5. jalal 0 volti. Kui te pole kindel valmistatud plaadi kvaliteedis või osade hooldatavuses, kontrollige seadet ilma mikrokontrollerita. Seda tehakse väga lihtsalt:

  • Sisestage paljast juhtmest hüppaja pistikupessa, klemmid 1 ja 14. See tähendab, et +4,5 volti esimesest jalast avab takisti kaudu transistor VT 2 ja kellaploki indikaatori katood ühendatakse nulliga.
  • Ühendage mis tahes juhe ühe otsaga + ja teise otsaga vaheldumisi puudutage pistikupesa klemme 6,7,8,9,10,11,12,13.
  • Samal ajal jälgige valgustuse segmente ja nende vastavust diagrammile: + 6. jalal – segment "g" põleb ja nii edasi.
  • Liigutage hüppaja pistikupesa klemmidele 2 ja 14. Kontrollige kõiki minutiühiku indikaatori segmente.
  • Hüppajad 18 ja 14 – kontrollitakse kümneid tunde, 17 ja 14 – kümneid minuteid.

Kui miski ei tööta korralikult, parandage see. Kui kõik on õige, programmeerige mikrokontroller ja sisestage see väljalülitatud vooluvõrku.
HEX-fail on lisatud.
Lülitage toide sisse ja hankige valmis kell.

Kui ostate kõik osad, sealhulgas takistid, siis minu diagrammi järgi maksab seade umbes 400 rubla:

  • PIC16F628A – 22,8 UAH
  • LM2575T-5.0 – 10 UAH
  • FYQ 3641AS21 – 9,3 UAH
  • Paneel - 3 UAH
  • Kvarts - 1,5 UAH

Kirjandus:

  • Pilt mikrokontrollerid. Kõik, mida pead teadma. Sid Katzen.2008
  • PIC mikrokontrollerid. Arhitektuur ja programmeerimine. Michael Predko. 2010. aasta
  • Pilt mikrokontrollerid. Rakenduspraktika. Christian Tavernier.2004
  • Manussüsteemide arendamine PIC-mikrokontrollerite abil. Tim Wilmshurst. 2008
  • Andmeleht: PIC16F628A, FYQ 3641, LM2575.
  • PIC-kontrollerite programmeerimise õpetus algajatele. Jevgeni Korabelnikov. 2008

Allpool saate alla laadida püsivara ja PCB LAY-vormingus

Radioelementide loetelu

Määramine Tüüp Denominatsioon

Pood

MK PIC 8-bitine

PIC16F628A

1
Otsi poest
VR2 DC/DC impulsi muundur

LM2575

1 5VOtsi poest
VT1-VT4 Bipolaarne transistor

KT315A

4
Otsi poest
VD1, VD3, VD4 Diood

D310

3
Otsi poest
VD2 Schottky diood

1N5819

1
Otsi poest
VD5 Dioodi sild

DB157

1
Otsi poest
C1, C2 Kondensaator20 pF2
Otsi poest
C3 Kondensaator0,1 µF1
Otsi poest
C4 330 µF 16 V1
Otsi poest
C5 Elektrolüütkondensaator100 µF 35 V1
Otsi poest
R1, R2 Takisti

10 kOhm

2
Otsi poest
R3-R6 Takisti

1,5 kOhm

4
Otsi poest
R7-R9, R11-R14 Takisti

300 oomi

7
Otsi poest
R10 Takisti

360 oomi

1

Need elektroonilised kellad on kõige lihtsamad. Need said kokku pandud mõne tunniga. Aluseks on PIC16F628A mikrokontroller, lisaks sellele sisaldab kell mitmeid lihtsaid ja odavaid elemente, infot kuvatakse 4-kohalisel (kell) LED indikaatoril. Ahel saab toite vooluvõrgust ja sellel on ka varutoide. Seda kujundust võib soovitada algajatele; Esitasin algsele programmile spetsiaalselt üksikasjalikud kommentaarid, et oleks lihtsam aru saada, mis ja kuidas see töötab.

Ahel on väga lihtne, lihtne ja nende töö algoritm (vt allika kommentaare). Kellaaja korrigeerimiseks kasutatakse nuppe kn1 ja kn2 – vastavalt tunnid ja minutid. Kellal on 24-tunnine kuvaformaat. Kella 1. numbris on ebaoluline null maha surutud. Kella täpsus sõltub täielikult kvartsresonaatori sagedusest. Kuid isegi ilma spetsiaalsete kvartsi ja kondensaatorite valikuta kella generaatoris töötab kell väga täpselt.

Kell on kokku pandud 2 trükkplaadile, mis on dokitud üksteise külge 90 kraadise nurga all. Kogu indikaator on paigutatud ühele tahvlile ja kõik muu on teisel. Varuaku läks katki Hiina välgumihklilt LED-taskulambiga. Eemaldame LED-i ja paigaldame akuhoidiku tahvlile. Foto näitab, et akudega on ühendatud katkestustakisti juhtmed - need hoiavad kogu seda konstruktsiooni. Muidugi on selliste patareide mahutavus väike, kuid kella vooluvõrgust toitel ei kulu akudest voolu. Nad toidavad vooluahelat ainult siis, kui vooluvõrku pole. Sel juhul saab toite ainult mikrokontrollerile, indikaator ei tööta patareidest, seega kustub ja kell tiksub edasi. Juhtnupud asuvad tahvlil korpuse mis tahes mugavas kohas. Nuppude kujundus võib olla mis tahes. Võrgust toite andmiseks kasutati Hiina toiteadapterit, mis lisas 7805 kiibiga tahvli (5-voldine stabilisaator). Üldiselt sobib iga toiteallikas, mille väljundpinge on 5 V ja voolutugevus 150 mA.

Programm on kirjutatud nii, et seda saab kasutada PIC-mikrokontrolleri esmaseks uurimiseks, peaaegu iga käsu tegevust kommenteeritakse. Soovi korral saab sellele lihtsalt lisada lisafunktsioone nagu kalender, taimer, stopper vms.



Fail:
Suurus:
Sisu: