Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows Phone
  • Uradi sam sat na mikrokontroleru. Jednostavan sat na Attiny2313 mikrokontroleru

Uradi sam sat na mikrokontroleru. Jednostavan sat na Attiny2313 mikrokontroleru

Ovaj budilnik je baziran na čipu za sat u realnom vremenu, koji mu omogućava da radi iz rezervnog izvora napajanja kada glavno napajanje nije dostupno. Podešeno vrijeme alarma i način rada pohranjeni su u nepromjenjivoj memoriji mikrokontrolera. Način prikaza - 24 sata. Sadrže imitaciju "kucanja" Indikacija vremena i režima rada se vrši pomoću LED indikatora.

Princip rada

Podaci o satu se zasnivaju na mikrokolu DS1307 - satu realnog vremena koji komunicira sa kontrolnim kontrolerom preko I2C interfejsa. Indikacija vremena se vrši preko 4 7-segmentna indikatora koji rade u dinamičkom režimu. Unos i podešavanje vremena vrši se pomoću 5 dugmadi: "+ minute", "+ sati", "podešavanje", "alarm" i "reset". Zvučni signal budilnika se emituje preko standardnog piezo emitera i predstavlja signal frekvencije od 1 kHz sa drugim pauzama.

Atmega48 je izabran kao upravljački mikrokontroler zbog svoje dostupnosti i prisutnosti potrebnih perifernih uređaja na ploči (čak i sa viškom). DS1307 sat realnog vremena povezan je sa I2C hardverskim izlazima upravljačkog mikrokontrolera. Za rad DS1307 u samostalnom načinu rada (u slučaju nestanka struje glavnog kontrolera) koristi se 3V litijumska rezervna baterija, čiji će resurs trajati nekoliko godina zbog niske potrošnje energije mikrokola.

Pogledajmo detaljnije kontrolni program:

Program radi na principu flag-tajmer mašine: sva stanja i događaji su predstavljeni u obliku odgovarajućih zastavica koje se izvršavaju u prekidima odgovarajućeg tajmera 1s, 1ms i 263.17ms. Program koristi 2 hardverska tajmera.

Prozivanje mikrokola sata i pritiskanje dugmadi se vrši u intervalu od 263,17 ms. Interval od 1 ms se koristi za generiranje zvučnog signala zvona, a 1 s - za njegovu modulaciju. Drugi interval takođe kontroliše treptanje tačke u 2. cifri indikatora, odvajajući sate i minute, a služi i kao formiranje "kvačice".
Razmotrimo šematski dijagram sata.

Oznake i ocjene:
S4 - Povećanje sati
S3 - Povećajte minute
S2 - Instalacija
S1 - Uključite alarm
S5 - Reset

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

Napon napajanja je 5 volti.

Prilagodba i upotreba

Pravilno sastavljen sat ne treba dodatno podešavanje. Potrebno je samo postaviti trenutno vrijeme i alarm.
Podešavanje trenutnog vremena vrši se na sledeći način:
1) Koristite dugmad S1 i S2 da podesite trenutno vrijeme (tačka između cifara ne treperi)
2) Pokrenite sat sa dugmetom S3
Postavljanje alarma:
1) Pritisnite S3 i uvjerite se da je tačka upaljena u 1. cifri
2) Podesite vreme poziva pomoću dugmadi S1 ​​i S2
3) Uključite zvono tipkom S4
Dodatne karakteristike:
Omogućite otkucavanje - dok držite S4, pritisnite S2 dok se ne pojave karakteristični zvukovi. Onemogućeno na isti način.
Prikaz minuta i sekundi - dok držite S4 pritisnite S1. Ako nakon toga pritisnete S3, sekunde će biti resetirane na 00. Povratak - ista kombinacija.

Gledanje fotografija i videa

Sat je sastavljen u kućištu ispod neispravne "elektronike".


Kao što naziv govori, glavna svrha ovog uređaja je da sazna trenutno vrijeme i datum. Ali ima mnogo drugih korisnih karakteristika. Ideja o njegovom stvaranju pojavila se nakon što sam naišao na polupolomljen sat sa relativno velikim (za ručni zglob) metalnim kućištem. Mislio sam da tu mogu ubaciti sat domaće izrade, čije su mogućnosti ograničene samo mojom maštom i vještinom. Kao rezultat toga, pojavio se uređaj sa sljedećim funkcijama:

1. Sat - kalendar:

    Odbrojavanje i prikaz na indikatoru sati, minuta, sekundi, dana u sedmici, dana, mjeseca, godine.

    Dostupnost automatske korekcije trenutnog vremena, koja se vrši svakog sata (maksimalne vrijednosti +/- 9999 jedinica, 1 jedinica = 3,90625 ms.)

    Izračunavanje dana u sedmici po datumu (za tekući vijek)

    Automatski prelazak na ljetno i zimsko računanje vremena (mogućnost prebacivanja)

  • Prijestupne godine se uzimaju u obzir

2. Dva nezavisna alarma (melodija se oglašava kada se aktivira)
3. Tajmer sa diskretnošću od 1 sek. (Maksimalno vrijeme odbrojavanja 99h 59m 59s)
4. Dvokanalna štoperica sa brzinom brojanja od 0,01 sek. (maksimalno vrijeme brojanja 99h 59m 59s)
5. Štoperica sa brzinom brojanja od 1 sekunde. (maksimalno vrijeme brojanja 99 dana)
6. Termometar u rasponu od -5°C. do 55 ° C (ograničeno temperaturnim opsegom normalnog rada uređaja) u koracima od 0,1 ° C.
7. Čitač i emulator elektronskih ključeva - tableti tipa DS1990 koji koriste Dallas 1-Wire protokol (memorija za 50 komada, u kojoj već postoji nekoliko univerzalnih "all-terrain ključeva") sa mogućnošću pregleda bajta šifre ključa .
8. IR daljinski upravljač (implementirana je samo komanda "Snimi sliku") za digitalne fotoaparate "Pentax", "Nikon", "Canon"
9. LED lampa
10.7 melodije
11. Zvučni signal na početku svakog sata (prekidač)
12. Zvučna potvrda pritiskanja dugmadi (preklopna)
13. Praćenje napona baterije sa funkcijom kalibracije
14. Digitalno podešavanje svjetline indikatora

Možda je ova funkcionalnost suvišna, ali volim univerzalne stvari, eto, plus moralna satisfakcija što će ovaj sat biti napravljen ručno.

Šematski dijagram sata

Uređaj je baziran na mikrokontroleru ATmega168PA-AU. Sat otkucava prema T2 tajmeru, koji radi u asinhronom režimu od kvarca sata na 32768 Hz. Mikrokontroler je skoro sve vreme u režimu mirovanja (indikator je isključen), budi se jednom u sekundi da bi ovu sekundu dodao trenutnom vremenu i ponovo zaspi. U aktivnom modu, MC se taktuje od internog RC oscilatora na 8 MHz, ali ga interni predskaler dijeli sa 2, kao rezultat toga, jezgro se taktuje sa 4 MHz. Za indikaciju se koriste četiri jednoznamenkasta LED digitalna sedmosegmentna indikatora sa zajedničkom anodom i decimalnim zarezom. Postoji i 7 statusnih LED dioda čija je namjena sljedeća:
D1- Znak negativne vrijednosti (minus)
D2- Znak štoperice u radu (treperi)
D3- Znak uključenog prvog budilnika
D4- Znak uključenog drugog budilnika
D5- Znak zvučne signalizacije na početku svakog sata
D6- Znak uključenog tajmera (treperi)
D7- Znak niskog napona baterije

R1-R8 - otpornici za ograničavanje struje segmenata digitalnih indikatora HG1-HG4 i LED dioda D1-D7. R12, R13 - razdjelnik za kontrolu napona akumulatora. Budući da je napon napajanja sata 3V, a bijeloj LED D9 potrebno oko 3,4-3,8V pri nazivnoj potrošnji struje, ne svijetli punom snagom (ali je dovoljno da se ne spotakne u mraku) i stoga se povezuje bez otpornik za ograničavanje struje. Elementi R14, Q1, R10 su dizajnirani za kontrolu D8 infracrvene LED diode (implementacija daljinskog upravljanja za digitalne kamere). R19, ​​R20, R21 se koriste za povezivanje pri komunikaciji sa uređajima koji imaju 1-Wire interfejs. Upravljanje se vrši pomoću tri dugmeta, koje sam uslovno nazvao: MODE (režim), UP (gore), DOWN (dolje). Prvi od njih je također dizajniran da probudi MC eksternim prekidom (dok se indikacija uključi), tako da se posebno povezuje na PD3 ulaz. Pritiskom na ostale tipke određuje se ADC i otpornici R16, R18. Ako se dugmad ne pritisne u roku od 16 sekundi, MK zaspi i indikator se gasi. Kada je u modu "Daljinski upravljač za kamere" ovaj interval je 32 sekunde, a sa uključenom baterijskom lampom 1 minut. MK se također može staviti u stanje mirovanja ručno pomoću kontrolnih tipki. Kada štoperica radi sa brzinom od 0,01 sek. uređaj ne ulazi u stanje mirovanja.

Štampana ploča

Uređaj je sastavljen na dvostranoj štampanoj ploči okruglog oblika kako bi odgovarao unutrašnjem prečniku kućišta ručnog sata. Ali u proizvodnji sam koristio dvije jednostrane ploče debljine 0,35 mm. Ova debljina je ponovo dobijena ljuštenjem od dvostranog stakloplastike debljine 1,5 mm. Zatim je zalijepio daske. Sve je to urađeno jer nisam imao tanak dvostrani fiberglas, a svaki ušteđeni milimetar debljine u ograničenom unutrašnjem prostoru kućišta sata je vrlo vrijedan i nije bilo potrebe da se kombinuje u proizvodnji štampanih provodnika koristeći LUT metoda. Crtež PCB-a i lokacija dijelova nalaze se u priloženim datotekama. Na jednoj strani nalaze se indikatori i otpornici za ograničavanje struje R1-R8. Na poleđini - svi ostali detalji. Postoje dvije prolazne rupe za bijele i infracrvene LED diode.

Kontakti dugmadi i držača baterije izrađeni su od fleksibilnog, elastičnog čeličnog lima debljine 0,2 ... 0,3 mm. i konzervirano. Ispod su fotografije ploče sa obje strane:

Konstrukcija, dijelovi i njihova moguća zamjena

Mikrokontroler ATmega168PA-AU može se zamijeniti sa ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Digitalni indikatori - 4 komada KPSA02-105 super jarko crvene boje visine 5,08 mm. Može se isporučiti iz iste serije KPSA02-xxx ili KCSA02-xxx. (samo ne zeleno - slabo će svijetliti) Ne znam za druge analoge sličnih veličina sa pristojnom svjetlinom. Kod HG1, HG3 katodna veza segmenata se razlikuje od HG2, HG4, jer mi je bilo zgodnije da postavim štampanu ploču. U tom smislu, za njih se u programu koristi drugačija tabela generatora znakova. Korišteni otpornici i kondenzatori SMD za površinsku montažu standardnih veličina 0805 i 1206, LED D1-D7 standardne veličine 0805. Bijele i infracrvene LED diode prečnika 3mm. Ploča ima 13 prolaznih rupa u koje je potrebno ugraditi kratkospojnike. Kao senzor temperature korišten je DS18B20 sa 1-Wire interfejsom. LS1 je konvencionalna piezoelektrična sirena koja se uklapa u poklopac. Jednim kontaktom se spaja sa pločom uz pomoć opruge ugrađene na njoj, a drugim se samim poklopcem spaja na kućište sata. Kvarcni rezonator od ručnog sata.

Programiranje, firmver, osigurači

Za programiranje u krugu postoji samo 6 okruglih kontaktnih pinova (J1) na ploči, budući da potpuni konektor ne stane u visinu. Povezao sam ih sa programatorom pomoću kontakt uređaja napravljenog od PLD2x3 pin utikača i zalemio na njih oprugama, pritiskajući ih jednom rukom na mjesta. Ispod je fotografija uređaja.

Koristio sam ga jer sam tokom procesa otklanjanja grešaka morao mnogo puta da ponovo flešujem MK. Uz jednokratni firmver, lakše je zalemiti tanke žice povezane s programatorom na zakrpe, a zatim ponovo odlemiti. Pogodnije je flešovati MK bez baterije, ali tako da napajanje dolazi ili iz vanjskog + 3V izvora, ili iz programatora s istim naponom napajanja. Program je napisan na asembleru u okruženju VMLAB 3.15. Izvorni kodovi, firmver za FLASH i EEPROM u aplikaciji.

FUSE bitovi mikrokontrolera DD1 moraju se programirati na sljedeći način:
CKSEL3 ... 0 = 0010 - taktiranje internog RC oscilatora 8 MHz;
SUT1 ... 0 = 10 - Vrijeme pokretanja: 6 CK + 64 ms;
CKDIV8 = 1 - djelitelj frekvencije sa 8 je onemogućen;
CKOUT = 1 - Izlazni sat na CKOUT je onemogućen;
BODLEVEL2… 0 = 111 - kontrola napona napajanja je onemogućena;
EESAVE = 0 - brisanje EEPROM-a tokom programiranja čipa je zabranjeno;
WDTON = 1 - Nema stalne aktivacije Watchdog Timera;
Bolje je ne dirati ostale dijelove FUSE. FUSE – bit je programiran ako je postavljen na “0”.

EEPROM treperi sa dumpom priloženim u arhivi.

Prve EEPROM ćelije sadrže početne parametre uređaja. Tabela u nastavku opisuje namjenu nekih od njih, koja se može mijenjati u razumnim granicama.

Adresa ćelije

Imenovanje

Parametar

Bilješka

Količina napona baterije pri kojoj se javlja signal slabe baterije

260 (104 USD) (2.6V)

koeficijent za korekciju vrijednosti izmjerenog napona baterije

vremenski interval za prelazak u stanje mirovanja

1 jedinica = 1 sek

vremenski interval za prelazak u stanje mirovanja kada je lampa uključena

1 jedinica = 1 sek

vremenski interval za prelazak u režim mirovanja kada je u režimu daljinskog upravljanja za kamere

1 jedinica = 1 sek

Ovdje se pohranjuju brojevi ključeva IButtona.

Mala objašnjenja za tačke:

1 bod. Ovdje je prikazana vrijednost napona na bateriji, pri kojoj će se upaliti LED, signalizirajući njegovu nisku vrijednost. Podesio sam ga na 2.6V (parametar - 260). Ako vam treba nešto drugo, na primjer 2.4V, onda trebate napisati 240 ($ 00F0). Niži bajt se unosi u ćeliju na 0000 $, a visoki bajt u 0001 $.

2 bod. Pošto nisam ugradio varijabilni otpornik na ploču za podešavanje tačnosti mjerenja napona baterije zbog nedostatka prostora, uveo sam softversku kalibraciju. Procedura kalibracije za precizno mjerenje je sljedeća: u početku je u ovoj EEPROM ćeliji upisan faktor od 1024 ($ 400), potrebno je staviti uređaj u aktivni način rada i pogledati napon na indikatoru i odmah izmjeriti stvarni napon na bateriji pomoću voltmetra. Faktor korekcije (K), koji se mora podesiti, izračunava se po formuli: K = Ur / Ui * 1024 gdje je Ur stvarni napon mjeren voltmetrom, Ui je napon koji mjeri sam uređaj. Nakon izračunavanja faktora "K", on se unosi u uređaj (kao što je opisano u uputama za upotrebu). Nakon kalibracije moja greška nije prelazila 3%.

3 pipsa Ovdje možete podesiti vrijeme nakon kojeg uređaj prelazi u stanje mirovanja ako se ne pritisne nijedno dugme. Košta me 16 sekundi. Ako trebate zaspati nakon 30 sekundi, onda morate zapisati 30 (26 dolara).

4 i 5 bodova su isti.

6 pipsa Adresa $ 0030 pohranjuje nulti ključ porodice (dallas 1-Wire), zatim njegov 48-bitni broj i CRC. I tako 50 ključeva u seriji.

Postavka, karakteristike rada

Postavljanje uređaja se svodi na kalibraciju mjerenja napona baterije kao što je gore opisano. Takođe je potrebno detektovati odstupanje sata za 1 sat, izračunati i uneti odgovarajuću vrednost korekcije (procedura je opisana u uputstvu za upotrebu).

Uređaj se napaja litijumskom baterijom CR2032 (3V) i troši oko 4 μA u režimu mirovanja, i 5 ... 20 mA u aktivnom režimu, u zavisnosti od osvetljenosti indikatora. Uz svakodnevno petominutno korištenje aktivnog načina rada, baterija bi trebala biti dovoljna za oko 2....8 mjeseci, ovisno o svjetlini. Kućište sata je spojeno na minus baterije.

Očitavanje ključa je provjereno na DS1990. Emulacija je testirana na METAKOM interfonima. Serijski brojevi od 46 do 49 (zadnja 4) su spojeni (svi ključevi su pohranjeni u EEPROM, mogu se mijenjati prije treptanja) univerzalni ključevi za interfone. Ključ registrovan na broju 49 otvorio je sve METAKOM interfone na koje sam naišao, ostale univerzalne ključeve nisam mogao testirati, uzeo sam njihove kodove sa mreže.

Daljinski upravljač za kamere testiran na Pentax optio L20, Nikon D3000. Canon ga nije mogao natjerati da provjeri.

Korisnički priručnik ima 13 stranica, tako da ga nisam uključio u članak, već sam ga stavio u prilogu u PDF formatu.

Arhiva sadrži:
Shema u i GIF;
Crtež tiskane ploče i raspored elemenata u formatu;
Firmware i izvori u asembleru;

Spisak radioelemenata

Oznaka Vrstu Denominacija Količina BilješkaProdavnicaMoja sveska
DD1 MK AVR 8-bit

ATmega168PA

1 PA-AU U notepad
U2 temperaturni senzor

DS18B20

1 U notepad
Q1 MOSFET tranzistor

2N7002

1 U notepad
C1, C2 Kondenzator30 pF2 U notepad
C3, C4 Kondenzator0,1 uF2 U notepad
C5 Elektrolitički kondenzator47 uF1 U notepad
R1-R8, R17 Otpornik

100 ohma

9 U notepad
R9 Otpornik

10 kΩ

1 U notepad
R10 Otpornik

8.2 Ohm

1 U notepad
R11 Otpornik

300 Ohm

1 U notepad
R12 Otpornik

2 MOhm

1 U notepad
R13 Otpornik

220 kΩ

1 U notepad
R14 Otpornik

30 kΩ

1 U notepad
R15, R19 Otpornik

4,7 k Ohm

2 U notepad
R16 Otpornik

20 kΩ

1
Predlažem da se ponovi krug elektronskog sata na ATmega 8 mikrokontroleru, sa prikazom informacija velikim LED diodama. Radno vrijeme, provjereno. Firmver je trenutno u fazi finalizacije. U toku je izrada većeg displeja koji će biti udaljen od glavne jedinice, metara 5. Na glavnoj jedinici će biti i indikacija - da se duplira veliki displej. Šematski dijagram LED sata je prikazan na slici - kliknite za povećanje.

Opis uređaja

1. Funkcije.
1.1 Sat. Format prikaza vremena je 24-satni. Digitalna korekcija tačnosti putovanja.


1.2 Termometar. Mjerenje temperature sa dva senzora u rasponu od -55,0°C - 125,0°C.


1.3 Uzastopni prikaz informacija na indikatoru.
1.4 Kontrola glavnog napajanja.
1.5 Korišćenje trajne memorije mikrokontrolera za čuvanje postavki i postavki kada je napajanje isključeno.
1.6 Tri dugmeta za instalaciju i konfiguraciju: PLUS, ODUZETI, SET.

Rad uređaja

Kada ga uključite po prvi put, na ekranu se pojavljuje reklamni bljesak na 1 sekundu. Zatim prikaz vremena.
Klikom na SET_TIME pomiče indikator u krug iz glavnog moda sata (prikazuje trenutno vrijeme):
- način prikaza minuta i sekundi. Ako ste u ovom režimu istovremeno pritisnite dugme PLUS i ODUZETI, tada će se sekunde resetirati.
- postavljanje minuta trenutnog vremena.
- podešavanje trenutnog sata.
- vrijednost dnevne korekcije tačnosti takta. Simbol c i vrijednost korekcije. Granice instalacije -25?25 sek. Odabrana vrijednost će biti dnevno u 0 sati 0 minuta i 30 sekundi dodana/oduzeta od trenutnog vremena.
- simbol t... Podešavanje trajanja prikaza sata.
- simbol i... Vrijeme prikaza simbola za prikaz unutrašnje temperature ( int).
- simbol d... podešavanje vremena za prikaz temperature sa unutrašnjeg senzora.
- simbol o... Prikaz simbola za prikaz vremena spoljne temperature ( van).
- simbol u... podešavanje vremena za prikaz temperature sa eksternog senzora.
- simbol P... podešavanje vremena prikaza početnog ekrana za oglašavanje.
Postavljanje ograničenja za vrijeme prikaza 0-60 sek. Ako je postavljeno 0, ovaj parametar se ne prikazuje na indikatoru. Ako su svi parametri postavljeni na 0, indikator će prikazati sate.

Podešavanje sata

3.1 U svim režimima, držanje dugmadi PLUS/ODUZETI vrši se ubrzana instalacija.
3.2 Ako su izvršene promjene postavki, 10 sekundi nakon posljednje promjene, nove vrijednosti će biti upisane u nepromjenjivu memoriju (EEPROM) i odatle će se čitati kada se napajanje ponovo uključi. Indikator će se prebaciti u režim glavnog vremena.
3.3 Nove postavke stupaju na snagu tokom instalacije.

Kontrola snage

Mikrokontroler prati prisustvo glavnog napajanja. Kada je isključen, uređaj se napaja iz internog izvora. Da bi se smanjila potrošnja struje, indikator, senzori i dugmad su isključeni. Sat nastavlja da odbrojava. Kada se napajanje napaja iz glavnog izvora, sve funkcije se vraćaju.


Trenutno se razvijaju štampane ploče, ispravlja se kolo, moguće je kolektivno. Ako imate ideje i prijedloge za poboljšanje sata - pišite na forum. Autori dizajna: Aleksandrovich & SOIR (Soir & C.E.A)

Predlažem za samostalno sklapanje dva vrlo jednostavna kola, odnosno sat na PIC i AVR mikrokontroleru. Osnova jednog kola je mikrokontroler AVR Attiny2313, a drugog PIC16F628A

Ovi taktni krugovi na mikrokontroleru će uvelike pomoći početnicima radio-amaterima da se bave problemima rada i programiranja mikrokontrolera.

Pogledajmo pobliže ovu jednostavnu shemu: napajanje se može napajati i iz tri AA baterije i iz


Attiny2313 mikrokontroler radi sa kvarcnim kristalom od 16 MHz. Kao mjerač vremena, u internom krugu mikrokontrolera koristi se 16-bitni tajmer sa djeliteljem 256. Čim interni brojač odbroji do 625, aktivira se prekid. Stoga ćemo imati prekide 100 puta u sekundi.

Vremenski interval se uzima u obzir u globalnim varijablama, a svaki prekid zahtijeva povećanje vrijednosti milisekundi za jedan. Čim broj milisekundi dostigne 100, tada morate povećati vrijednost sekundi za jednu, a nula milisekundi. I tako dalje, u skladu sa istim algoritmom, do desetina sati, koji se resetuju tek po dostizanju vrednosti od 24 i već bez povećanja sledeće cifre.

U skladu sa ovim principom kreiramo vrijednost trenutnog vremena zabilježenu u globalnim varijablama. Sada moramo vizuelno prikazati ove podatke. Budući da mikrokontroler ima ograničen broj portova, koristit ćemo takvu karakteristiku kao što je inercija sa15-11gwa indikatora digitalnog segmenta. Katode njegovih indikatora su spojene paralelno, a anode imaju odvojenu kontrolu, što omogućava prikaz cifre na bilo kojem od četiri indikatora u bilo kojem trenutku.

Brzim prebacivanjem porta mikrokontrolera na koji su spojene sve katode i brzim prebacivanjem anoda stvara se iluzija prikaza sve četiri cifre na segmentnom displeju, iako u stvari samo jedan od segmenata radi. Ako je trenutno vrijeme 11:57, tada prvo prikazujemo broj jedan na indikatoru prvog sata, nakon 1 ms prikazujemo broj 1 na drugom indikatoru, nakon još 1 ms prikazujemo indikator 5 puta 3, nakon 1 ms prikazujemo prikaz 7 na indikatoru 4 i tako ciklično, ažurirajući svaki indikator nakon 1 ms.

Stanje dugmadi za kontrolu sata se ispituje na kraju svakog ciklusa prikaza oko 40 puta u sekundi.

Crtež štampane ploče napravljen u programu i firmver za mikrokontroler se preuzimaju sa gornje veze. i direktno o zamršenosti firmvera, pročitajte ovdje.

Ovaj dizajn, iako na drugom tipu mikrokontrolera, nije ništa manje kompliciran od prethodnog kola.


Algoritam firmvera je također jednostavan u arhivi postoje vrlo detaljni komentari na programski kod. Dva prekidača kn1 i kn2 su dizajnirani za korekciju vremena - sati i minuta. Točnost sata ovisi o frekvenciji korištenog kvarca.

Strukturno, sat je napravljen na dvije štampane ploče koje se nalaze jedna pored druge pod uglom od 90 stepeni. Indikator se nalazi na prvoj ploči, a sva ostala elektronika na drugoj. Rezervno napajanje u čijoj ulozi se koriste tri baterije smeštene u držač od starog kineskog upaljača sa LED diodama. Za napajanje izmjeničnom strujom prikladna je bilo koja struja od 5V i 150mA.


Arhiva koju možete preuzeti sa zelenog linka sadrži izgled obe štampane ploče u programu Sprint Layout i firmver za PIC mikrokontroler sa izvornim kodom programa pod MP_LAB IDE, sa detaljnim komentarima.

A sam program možete pronaći i ovdje

U ovom dizajnu ima digitalnu korekciju tačnosti hoda, kao i ugrađeni termometar, koji naizmjenično sa tačnim vremenom prikazuje očitanja temperature na LED displeju. Dizajn sata koristi nepromjenjivu memoriju mikrokontrolera, koja čuva postavke i postavke čak i ako se izgubi vanjsko napajanje.


Za kontrolu anoda LED indikatora koriste se tranzistorski prekidači prema standardnoj shemi prebacivanja.

Prilikom prvog uključivanja, na displeju se na jednu sekundu pojavljuje reklama. Zatim se prikazuje vrijeme. Pritiskom na tipku SET_TIME se indikator u krugu prebacuje iz glavnog moda sata:

Apsolutno, u svim ćelijama držanjem tipki PLUS / MINUS vrši se ubrzana instalacija. Ako je korisnik promijenio postavke, tada se nakon 10 sekundi nove vrijednosti pohranjuju u neizbrisivu memoriju mikrokontrolera i čitaju. kada treperi MK, postavljamo ga na sljedeći način:


Eksterni dizajn uređaja možete procijeniti sa fotografija ispod, firmver i dodatne datoteke za dizajn možete preuzeti sa linka iznad.


Firmver budilnika implementira raspored smjena: 4/5 (četiri do pete) - 4 dana u 1 smjeni, 1 slobodan dan, 4 dana u 2 smjene, 1 slobodan dan, 4 dana noću, 1 slobodan dan; - dan, noć, 2 slobodna dana; Radnim danima - pon-pet - radnim danima, subotom-ned - slobodan dan; (Praznici se ne računaju); Dnevno.

Korisnik sam bira tip budilnika i postavlja bilo koje vrijeme za aktivaciju. U opcijama 4/5 i dan, noć, 2 slobodna dana - potrebno je dodatno odabrati trenutnu smjenu.

Osim toga, u MK firmveru su implementirane sljedeće funkcije: Prelazak na ljetno-zimski period; Vremenska korekcija; Ubrzavajući budilnik; Prikaz nule u cifri sati i u cifri datuma

Kolo sata je bazirano na mikrokolu sata DS1307 i mikrokontroleru MEGA8. Kolo (arhivirano sa MK firmverom i crtežima štampanih ploča) je dizajnirano za upotrebu sedmosegmentnih digitalnih indikatora sa zajedničkom anodom za napon od 5V. (PAŽNJA! Na dijagramu, radi jednostavnosti, balastni otpornici nisu ucrtani. Moraju se ugraditi na svaki segment indikatora. Ukupno 112 kom. Ocena je izračunata prema dokumentaciji. U upotrebi sam segmentne indikatore fys15011 i tipovi fyd-5622. Dodatni tranzistorski prekidači su neophodni.

Crtež štampane ploče je razvijen za već postojeću kutiju iz starog pokvarenog sata. Na Alarm konektor se može priključiti opterećenje male snage, recimo muzičku karticu, a džamperom JP1 odspojiti interni biper. Mikrokontroler se može postaviti direktno na ploču, što uvelike olakšava konfiguraciju u slučaju modifikacije dizajna.

Podešavanje sata
Da biste to učinili, uđite u način podešavanja parametara:
Parametar-Vrijednost- Spremite u memoriju
P.01 - SAT [-]
P.02 - MINUTE [-]
P.03 - DAN [-]
P.04 - MJESEC [-]
P.05 - GODINA [-]
R.06 - Tip budilnika [+] (1-4 / 5; 2-5 / 8; 3-željeznički raspored; 4-dnevni)
P.07 - PROMJENI [+]
P.08 - Bud.1.HH [+]
P.09 - Bud.1.MM [+]
P.10 - Bud.2.HH [+]
P.11 - Bud.2.MM [+]
P.12 - Bud.3.HH [+]
P.13 - Bud.3.MM [+]
P.14 - Ispravka (D.Ch) [+]
P.15 - Ljeto/zimski period [+]
P.16 - Biper za ubrzanje [+]
P.17 - Prikaz beznačajne nule u cifri sati [+]
P.18 - Prikaz beznačajne nule u cifri datuma [+]

Postavka alarma: Sa dugmetom On/On Bud. - Uključeno / Uključeno se vrši, u ovom slučaju: Sa tipom budilnika 1: Bud.1 - 1 smjena; Bud.2 - pomak; Pupoljak 3 - 3. smjena;
Raspored smjena: 1,2,3,4 - prva smjena; 5 - slobodan dan; 6,7,8,9 - druga smjena; 10 - slobodan dan; 11,12,13,14 - 3 smjene; 15.16 - slobodan dan; Zatim se dani ponavljaju.
Za prvi tip budilnika 2: Alarm 1 - postavlja vrijeme alarma; Bud.2, Bud.3 - ne radi; Raspored smjena: radnim danima.
Kod treće vrste alarma: Bud.1 - vrijeme je postavljeno na dan; Bud.2 - postavlja noćno vrijeme; Bud.3 - ne radi;
Raspored smjena: - dan, noć, 2 slobodna dana; Kada je tip budilnika 4 Bud.1, Bud.2, Bud.3 - vrijeme je podešeno; Ako planirate da koristite samo jedan budilnik, podesite vreme za tri da bude isto.
Sa rasporedom smjena: Dnevno. Ako pritisnete dugmad Off. u modu za podešavanje parametara, postavke će biti napuštene bez pohranjivanja.
Podešavanje: Prilikom korekcije primjenjuje se sljedeća metoda: +/- BH, gdje je: H broj sekundi koje treba ispraviti po satu (maks. 9). D - sekunde prilagođene po danu. PAŽNJA! Ne vrši se podešavanje kada je napajanje isključeno. Prilikom uključivanja - provjerite tačno vrijeme.

Ovaj sat je već nekoliko puta recenziran, ali nadam se da će i vama moja recenzija biti zanimljiva. Dodan opis posla i uputstva.

Dizajner je kupljen na ebay.com za 1,38 funti (0,99 + 0,39 dostava), što je ekvivalentno 2,16 dolara. U trenutku kupovine ovo je najniža ponuđena cijena.

Isporuka je trajala oko 3 sedmice, set je došao u običnoj plastičnoj vrećici, koja je pak bila upakovana u malu vrećicu za "mjehurić". Na terminalima indikatora je bio mali komadić pjene, ostali dijelovi su bili bez ikakve zaštite.

Od dokumentacije samo mali komad A5 formata sa listom radio komponenti na jednoj strani i šematski dijagram na drugoj.

1. Šema strujnog kruga, korišteni dijelovi i princip rada



Osnova ili "srce" sata je 8-bitni CMOS mikrokontroler AT89C2051-24PU opremljen sa 2KB Flash programabilnim i izbrisivim ROM-om.
Sklop generatora sata sastavljena prema šemi (slika 1) i sastoji se od kvarcnog rezonatora Y1 od dva kondenzatora C2 i C3, koji zajedno čine paralelni oscilatorni krug.


Promjenom kapacitivnosti kondenzatora moguće je promijeniti frekvenciju generatora takta u malim granicama i, shodno tome, tačnost takta. Na slici 2 prikazana je varijanta kola generatora takta sa mogućnošću podešavanja greške takta.

Početni čvor za resetiranje služi za postavljanje internih registara mikrokontrolera u početno stanje. Služi za napajanje, nakon priključenja napajanja na 1 izlaz MC-a, jednim impulsom u trajanju od najmanje 1 μs (12 taktova).
Sastoji se od RC kola formiranog od otpornika R1 i kondenzatora C1.

Šema unosa sastoji se od dugmadi S1 ​​i S2. Programski je napravljen tako da se pritiskom na bilo koji od tastera iz zvučnika čuje jedan signal, a kada ga držite pritisnut, dvostruki signal.

Display modul sastavljen na četverocifrenom sedmosegmentnom displeju sa zajedničkom katodom DS1 i otpornim sklopom PR1.
Sklop otpornika je skup otpornika u jednom paketu:


Audio dio krug je sklop sastavljen na otpornik R2 10kOhm, pnp tranzistor Q1 SS8550 (koji djeluje kao pojačalo) i piezoelektrični element LS1.

Ishrana napaja se preko konektora J1 sa kondenzatorom za izravnavanje C4 spojenim paralelno. Opseg napona napajanja od 3 do 6V.

2. Sastavljanje konstruktora

Montaža nije izazvala nikakve poteškoće, na ploči je potpisano gde lemiti koje delove.

Mnogo slika - montaža konstruktora je skrivena ispod spojlera

Počeo sam sa panelom, pošto je jedini koji nije radio komponenta:

Sljedeći korak je lemljenje otpornika. Nemoguće ih je zbuniti, oba su na 10kΩ:


Nakon toga sam ugradio elektrolitički kondenzator na ploču, pazeći na polaritet, sklop otpornika (također obraćajući pažnju na prvi izlaz) i elemente generatora takta - 2 kondenzatora i kvarcni rezonator

Sljedeći korak je lemljenje dugmadi i kondenzatora filtera napajanja:

Nakon toga, na redu su zvučni piezoelektrični element i tranzistor. U tranzistoru, glavna stvar je postaviti ga na desnu stranu i ne zbuniti zaključke:

Na kraju, zalemio sam indikator i konektor za napajanje:

Povezujem ga na izvor od 5V. Sve radi!!!


3. Podešavanje trenutnog vremena, alarma i satnog signala.

Nakon uključivanja napajanja, displej je u režimu ("SATI: MINUTE") i prikazuje podrazumevano vreme 12:59. Uključeno je zvono po satu. Oba alarma su uključena. Prvi je postavljen na 13:01, a drugi u 13:02.


Svakim kratkim pritiskom na S2, ekran će se prebacivati ​​između (SATI: MINUTE) i (MINUTE: SEKUNDE).
Dugim pritiskom na dugme S1 ulazi se u meni podešavanja koji se sastoji od 9 podmenija, označenih slovima A, B, C, D, E, F, G, H, I. Podmeniji se menjaju tasterom S1, vrijednosti se mijenjaju tipkom S2. Nakon podmenija I slijedi izlaz iz menija postavki.

O: Podešavanje trenutnog sata
Pritiskom na dugme S2 vrednost sata se menja od 0 do 23. Nakon podešavanja sati, pritisnite S1 da biste otišli u podmeni B.

B: Podešavanje minuta trenutnog vremena


C: Uključite zvono po satu
Podrazumevano je UKLJUČENO - svaki sat od 8:00 do 20:00 čuje se zvučni signal. Pritiskom na S2 mijenja se vrijednost između ON i OFF. Nakon podešavanja vrednosti, pritisnite S1 da biste otišli u podmeni D.

D: Uključite / isključite prvi alarm
Podrazumevano, alarm je UKLJUČEN. Pritiskom na S2 mijenja se vrijednost između ON i OFF. Nakon podešavanja vrijednosti, pritisnite S1 da biste prešli na sljedeći podmeni. Ako je alarm isključen, podmeniji E i F se preskaču.

E: Podesite sat za prvi alarm
Pritiskom na dugme S2 vrednost sata se menja od 0 do 23. Nakon podešavanja sati, pritisnite S1 da biste otišli u podmeni F.

F: Postavite minute prvog alarma
Pritiskom na dugme S2 minute se menjaju od 0 do 59. Nakon podešavanja minuta, pritisnite S1 da biste otišli u podmeni C.

G: Uključite/isključite drugi alarm
Podrazumevano, alarm je UKLJUČEN. Pritiskom na S2 mijenja se vrijednost između ON i OFF. Nakon podešavanja vrijednosti, pritisnite S1 da biste prešli na sljedeći podmeni. Ako je alarm isključen, podmeniji H i I se preskaču i izlazi se iz menija podešavanja.

H: Postavite drugi budilnik
Pritiskom na dugme S2 vrednost sata se menja od 0 do 23. Nakon podešavanja sati, pritisnite S1 da biste otišli u podmeni I.

I: Podešavanje minuta drugog alarma
Pritiskom na dugme S2 minute se menjaju od 0 do 59. Nakon podešavanja minuta, pritisnite S1 da izađete iz menija podešavanja.

Korekcija sekundi
U načinu rada ("MINUTE: SEKUNDE"), morate držati pritisnutu tipku S2 da resetujete sekunde. Zatim, kratkim pritiskom na dugme S2, započnite odbrojavanje sekundi.

4. Opšti utisci o satu.

Pros:
+ Niska cijena
+ Jednostavna montaža, manje dijelova
+ Zadovoljstvo samostalnog sklapanja
+ Prilično mala greška (zaostajao sam za nekoliko sekundi dnevno)

minusi:
- Nakon isključivanja napajanje ne zadržava vrijeme
- Nedostatak bilo kakve dokumentacije, osim šeme (ovaj članak je djelimično riješio ovaj minus)
- Firmver u mikrokontroleru je zaštićen od čitanja

5. Dodatno:

1) Na beskrajnim prostranstvima interneta pronašao sam uputstva za ovaj sat na engleskom i preveo ga na ruski. Možete ga preuzeti

Top srodni članci