Elektroninis laikmatis

Šis laikmatis buvo sukurtas UV spindulių eksponavimo prietaisui. Žinoma, laikmatis gali būti naudojamas ir kitiems tikslams.

Laikmatį sukūriau pats panaudodamas Atmega8 mikrovaldiklį. Įgyvendinau tokias sugalvotas funkcijas:

  • Laiko skaičiavimas atgal
  • Laikas skaičiuojamas 0,1 (su maždaug 0,00003 sekundės paklaida) sekundės tikslumu nuo 1 iki 6000 sekundžių
  • Lempos valdomos simistoriaus pagalba
  • 4 skaitmenų 7 segmentų skaičių indikacija, garsinė ir papildomo dvispalvio LED indikacija
  • Laiko intervalo nustatymas
  • Paskutinio nustatyto laiko atmintis po maitinimo išjungimo
  • Valdymas mygtukais
  • Proceso pabaigos vizualinė ir garsinė indikacija su papildomu periodiniu priminimu

Schema

 

 

Išėjime “OUT” palaikomas aukštas lygis, kada laikas skaičiuojamas atgal. Prie šio išėjimo jungiau apkrovos valdymo schemą. Apkrovos valdymui panaudojau optosimistoriaus su nulio kirtimu (angl. zero crossing) ir simistoriaus junginį. Schemos principas pateiktas čia (pirmoji schema). Šiai schemutei padavus aukštą 5V lygį yra įjungiama tinklo apkrova.

Komponentai

Schemoje galima naudoti Atmega8, Atmega8A ar Atmega8L mikrovaldiklį.

Schemoje naudojamas buzeris turi būti toks, kuriam pakanka paduoti maitinimą ir jis zyzia.

Šviesos diodas dvispalvis, turintis du kontaktus (priešingomis kryptimis sujungti šviesos diodai viename korpuse).

Indikatorių naudojau bendro anodo (angl. common anode), 4 skaitmenų. Schemoje galima naudoti dviejų tipų indikatorius: ELF-512 (SURWA/GWA ar kiti pagal spalvą)) arba CA56-21 (GWA ar kiti pagal spalvą). Šie indikatoriai skiriasi tik taško simbolių pozicija ir prijungimu, o matmenys, kontaktų išdėstymas yra vienodi. Abiejų tipų indikatorius galima naudoti ir tam esu paruošęs skirtingas mikrovaldiklio programas.

Galima panaudoti atskirus bendro anodo indikatorius kiekvienam skaitmeniui, tik tada reikės kažkiek prisitaikyti schemą ir PCB

PCB

Nubraižiau vienpusę plokštę su keletu perėjimų.

 

 

Detalių išdėstymas pateiktas žemiau.

 

 

Mikrovaldiklio programa

Fuses reikia nustatyti taip, kad veiktų nuo išorinio 8 MHz kvarco. Žinoma, galima nustatyti, kad veiktų ir nuo vidinio 8 MHz RC generatoriaus. Tokiu atveju kvarco nereikės, tik veiks mažesniu tikslumu. Pateikiu fuses nustatymus abiem atvejais:

  • naudojant išorinį 8 MHz kvarcą: Low: 0xFF, High: 0xD9
  • naudojant vidinį 8 MHz RC generatorių: Low: 0xE4, High: 0xD9

Pateikiu sukompiliuotas programas abiejų indikatorių tipams:

Laikmačio panaudojimas

Laikmačio panaudojimas ir veikimas parodytas šiuose vaizdo įrašuose:

Lankytojo P. Sadūno variantas

Svetainės lankytojas P. Sadūnas nubraižė šio laikmačio variantą, naudodamas daugiau SMD komponentų, bei išskaidydamas viską į dvi atskiras plokštes (elektronikos ir indikatoriaus), kurios tarpusavyje sujungtos kabeliu.

Lankytojo P. Sadūno varianto Eagle failai.

Spread the love

13 thoughts on “Elektroninis laikmatis

    • Kiek žinau, proteus neblogai simuliuoja įvairių mikrovaldiklių darbą.

      Manau, kad teisingai nubraižius schemą, užkrovus hex, bei teisingai sukonfigūravus fuse viskas turėtų veikti.

  1. Kokio čia indikatoriaus (7 segments 4 digit display) reikia su bendru katodu ar su bendru anodu?

    • Kokio čia indikatoriaus (7 segments 4 digit display) reikia su bendru katodu ar su bendru anodu?

      Apie indikatoriaus tipą jau esu parašęs.

      Indikatorių naudojau bendro anodo (angl. common anode), 4 skaitmenų. Schemoje galima naudoti dviejų tipų indikatorius: ELF-512(SURWA/GWA ar kiti pagal spalvą)) arba CA56-21(GWA ar kiti pagal spalvą).

      Priklausomai nuo indikatoriaus tipo, reikia naudoti atitinkamą programą mikrovaldikliui.

    • O kam reikalingi tranzistoriai T1-T4? Ar mikrovaldiklis nepatrauks visų segmento diodų?

      Deklaruojama Atmega8 I/O išėjimo srovė 40 mA. Vieno simbolio visi įjungti segmentai ima daug daugiau srovės. Taip pat dėl naudojamos dinaminės indikacijos segmentų srovė yra parinkta didesnė, norint turėti pakankamą ryškumą.

      Žinoma, galima jungtį bendrus anodus be papildomų tranzistorių, bet tada ryškumas bus mažesnis.

  2. Sveikas,

    Esu labai dėkingas už visą išsamiai aprašytą projektą. Ši savaitgalį ant paprastos maketinės plokštės sulitavau tavo schemutę, bet kažkodėl UP ir DOWN mygtukai visiškai nereaguoja pas mane. (Bandžiau ir kita procesorių panaudoti ir trumpinti mikrovaldiklio kojas su GND per vielute, bet laikas nesikeičia). START/STOP mygtukas veikia puikiai. Gal turi minčių kas gali būti blogai? Fuse nustatymus buvau įrašęs tiek su vidiniu tiek su išoriniu generatoriumi, bet jokios sekmės.

    Pagarbiai,

    Robertas

    • Ai va, išsiaiškinau, pasirodo reikėjo abudu mygtukus vienu metu nuspausti, kad įeiti į konfigūraciją, dabar viskas veikia 🙂

    • Ši savaitgalį ant paprastos maketinės plokštės sulitavau tavo schemutę, bet kažkodėl UP ir DOWN mygtukai visiškai nereaguoja pas mane.

      Ai va, išsiaiškinau, pasirodo reikėjo abudu mygtukus vienu metu nuspausti, kad įeiti į konfigūraciją, dabar viskas veikia 🙂

      Teisingai, į konfigūravimo režimą įeinama esant pradinėje būsenoje ir vienu metu paspaudus abu mygtukus +-.

Leave a Reply

Your email address will not be published. Required fields are marked *