Sat - budilica na mikrokontroleru PIC16F628A. Uradi sam sat na mikrokontroleru Izvor sata na pic16f628a

Nudim dva vrlo jednostavna sklopa za samostalnu montažu, naime sat na PIC-u i AVR mikrokontroler. Osnova jednog sklopa je mikrokontroler AVR Attiny2313, a drugog PIC16F628A

Ovi sklopovi sata na mikrokontroleru uvelike će pomoći početnicima u radioamaterima da razumiju probleme rada i programiranja mikrokontrolera.

Pogledajmo pobliže ovaj jednostavan krug: Napajanje se može napajati iz tri AA baterije ili iz


Mikrokontroler Attiny2313 radi na kvarcu od 16 MHz. Kao brojač vremena, interni krug mikrokontrolera koristi 16-bitni mjerač vremena s djeliteljem na 256. Čim interni brojač izbroji do 625, javlja se prekid. Stoga ćemo imati prekide 100 puta u sekundi.

Vremenski interval se uzima u obzir u globalnim varijablama, a svaki prekid zahtijeva da se vrijednost milisekunde poveća za jedan. Čim broj milisekundi dosegne 100, trebate povećati vrijednost sekundi za jedan i vratiti milisekunde na nulu. I tako dalje u skladu s istim algoritmom do nekoliko desetaka sati, koji se resetiraju tek kada vrijednost dosegne 24 i bez povećanja sljedeće znamenke.

U skladu s tim principom kreiramo trenutnu vrijednost vremena zabilježenu u globalnim varijablama. Sada moramo vizualno prikazati ove podatke. Budući da mikrokontroler ima ograničen broj priključaka, koristit ćemo takvu značajku kao što je inercija digitalnog segmentnog indikatora sa15-11gwa. Katode njegovih indikatora spojene su paralelno, a anode imaju zasebno upravljanje, što vam omogućuje da u bilo kojem trenutku prikažete broj na bilo kojem od četiri indikatora.

Brzim prebacivanjem porta mikrokontrolera na koji su spojene sve katode i brzim prebacivanjem anoda, stvara se iluzija da su u indikatoru segmenta prikazane sve četiri znamenke, iako zapravo radi samo jedan od segmenata. Ako je trenutno vrijeme 11:57, tada prvo prikazujemo broj jedan na prvom indikatoru sata, nakon 1 ms prikazujemo broj 1 na drugom indikatoru, nakon još 1 ms prikazujemo 5 na 3. indikatoru, nakon 1 ms prikazujemo 7 na 4. indikatoru i tako dalje ciklički, ažurirajući svaki indikator nakon 1 ms.

Stanje tipki za upravljanje satom provjerava se na kraju svakog ciklusa prikaza oko 40 puta u sekundi.

S gornje poveznice preuzmite nacrt PCB-a napravljen u programu i firmware za mikrokontroler. i izravno o zamršenosti firmvera, pročitajte ovdje.

Ovaj dizajn, iako se temelji na drugom tipu mikrokontrolera, nije ništa manje složen od prethodnog sklopa.


Algoritam rada firmvera je također jednostavan; arhiva sadrži vrlo detaljne komentare na programski kod. Dva preklopna prekidača kn1 i kn2 dizajnirana su za korekciju vremena - sati i minuta. Točnost sata ovisi o frekvenciji korištenog kvarca.

Strukturno, sat je izrađen na dvije tiskane ploče smještene jedna pored druge pod kutom od 90 stupnjeva. Indikator se nalazi na prvoj ploči, a sva ostala elektronika na drugoj. Rezervno napajanje osiguravaju tri baterije smještene u držač od starog kineskog upaljača s LED diodom. Za napajanje iz AC mreže prikladna je bilo koja struja od 5V i 150mA.


Arhiva koju možete preuzeti na zelenoj poveznici sadrži izgled obiju tiskanih pločica u programu Sprint Layout i firmware za PIC mikrokontroler sa izvornim kodom programa za MP_LAB IDE, uz detaljne komentare.

A sam program također možete pronaći ovdje

Ovaj dizajn ima digitalnu korekciju točnosti hoda, kao i ugrađeni termometar, koji naizmjenično prikazuje očitanja temperature na LED zaslonu s točnim vremenom. Dizajn sata koristi trajnu memoriju mikrokontrolera koja sprema postavke i postavke čak i kada se izgubi vanjsko napajanje.


Za upravljanje anodama LED indikatora koriste se tranzistorski prekidači prema standardnom sklopnom krugu.

Kada ga uključite prvi put, na zaslonu se na jednu sekundu pojavljuje reklamni zaslon. Zatim se prikazuje vrijeme. Pritiskom na tipku SET_TIME indikator u krugu se prebacuje iz glavnog moda sata:

Apsolutno, u svim ćelijama, pritiskom na tipke PLUS/MINUS vrši se ubrzana instalacija. Ako je postavke promijenio korisnik, nakon 10 sekundi nove vrijednosti će biti pohranjene u trajnu memoriju mikrokontrolera i očitat će se. Kada bljeskate MK firmware, postavite ga na sljedeći način:


Vanjski dizajn uređaja možete procijeniti prema fotografijama u nastavku; šavove i dodatne datoteke za dizajn možete preuzeti s gornje veze.


Rasporedi smjena implementirani su u firmveru budilice: 4/5 (četiri na peti) – 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 dana odmora; Radnim danima – pon-pet - radni dani, sub-ned - zatvoreno; (Praznici se ne uzimaju u obzir); Dnevno.

Korisnik sam odabire vrstu rasporeda alarma i postavlja bilo koje vrijeme alarma. U opcijama 4/5 i dan, noć, 2 vikenda morate dodatno odabrati trenutnu smjenu.

Osim toga, sljedeće funkcije implementirane su u MK firmware: Prijelaz na ljetno-zimsko razdoblje; Podešavanje vremena; Ubrzavajući signal alarma; Prikaz nule u znamenkama sata i datuma

Krug sata temelji se na čipu sata DS1307 i mikrokontroleru MEGA8. Krug (smješten u arhivu s MK firmwareom i crtežima tiskanih ploča) dizajniran je za korištenje sedmosegmentnih digitalnih indikatora sa zajedničkom anodom za napon od 5V. (PAŽNJA! Radi jednostavnosti, balastni otpornici nisu prikazani na dijagramu. Potrebno ih je ugraditi na svaki segment indikatora. Ukupno ima 112 komada. Nazivna vrijednost izračunata je prema dokumentaciji. Koristio sam segmentne indikatore kao što su fys15011 i fyd-5622 Ako koristite snažnije, onda najvjerojatnije bez Dodatni tranzistorski prekidači nisu potrebni.

Crtež tiskane ploče razvijen je za postojeću kutiju starog pokvarenog sata. Možete spojiti opterećenje male snage na konektor alarma, recimo glazbenu karticu, i koristiti kratkospojnik JP1 za odspajanje unutarnjeg zvučnog signala. Mikrokontroler se može flashirati izravno na ploči, što uvelike pojednostavljuje konfiguraciju u slučaju izmjene dizajna.

Podešavanje sata
Da biste to učinili, morate ući u način podešavanja parametara:
Parametar-Vrijednost-Spremi u memoriju
P.01 - SAT [-]
P.02 - MINUTE [-]
P.03 - DAN [-]
P.04 - MJESEC [-]
P.05 - GODINA [-]
R.06 - Vrsta alarma [+] (1-4/5; 2-5/8; 3-željeznički vozni red; 4-dnevno)
P.07 - PROMJENA [+]
P.08 - Bud.1.HH [+]
P.09 - Bud.1.MM [+]
P.10 - Bud.2.CHH [+]
P.11 - Bud.2.MM [+]
P.12 - Bud.3.CHH [+]
P.13 - Bud.3.MM [+]
P.14 - Podešavanje (D.H) [+]
P.15 - Razdoblje ljeto/zima [+]
P.16 - Ubrzani biper [+]
P.17 - Prikaz vodeće nule u znamenki sata [+]
P.18 - Prikaz vodeće nule u znamenki datuma [+]

Postavka alarma: Gumb za uključivanje/uključivanje alarma. - On/On se provodi, u ovom slučaju: S tipom alarma 1: Alarm 1 - 1. smjena; Bud.2 - pomak; Bud.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. smjena; 15.16 - slobodan dan; Zatim se dani ponavljaju.
Kod prve vrste alarma 2: Alarm 1 - postavlja vrijeme alarma; Bud.2, Bud.3 - ne radi; Raspored smjena: Radnim danima.
S trećom vrstom alarma: Alarm 1 - postavljeno je doba dana; Bud.2 - postavlja vrijeme noću; Bud.3 - ne radi;
Raspored smjena: – dan, noć, 2 dana odmora;. Kada je vrsta alarma 4 Alarm 1, Alarm 2, Alarm 3, vrijeme je postavljeno; Ako planirate koristiti samo jednu budilicu, postavite vremena tri na isto vrijeme.
Sa rasporedom smjena: dnevno. Ako pritisnete gumbe za isključivanje alarma. u načinu podešavanja parametara, postavke će biti izašle bez spremanja.
Podešavanje: Prilikom podešavanja koristi se sljedeća metoda: +/- Ch.D, gdje je: Ch broj podešenih sekundi po satu (maksimalno 9). D - sekunde prilagođene po danu. PAŽNJA! Nema podešavanja kada je napajanje isključeno. Kada ga uključite, provjerite je li vrijeme točno.

Odgovor

Lorem Ipsum jednostavno je lažni tekst tiskarske i slovne industrije. Lorem Ipsum je standardni lažni tekst u industriji još od 1500-ih, kada je nepoznati tiskar uzeo galiju slova i pomešao je da bi napravio knjigu uzoraka slova. Preživio je ne samo pet http://jquery2dotnet.com/ stoljeća , ali i skok u elektroničko slaganje, ostajući u biti nepromijenjen 1960-ih izdavanjem listova Letraset koji sadrže odlomke Lorem Ipsuma, au novije vrijeme sa softverom za stolno izdavaštvo kao što je Aldus PageMaker uključujući verzije Lorem Ipsuma.

Sat - budilica na mikrokontroleru PIC16F628A na baterije

Ova verzija sata napravljena je na način da maksimalno pojednostavi strujni krug, smanji potrošnju energije i u konačnici dobije uređaj koji lako stane u džep. Odabirom minijaturnih baterija za napajanje strujnog kruga, SMD montaže i minijaturnog zvučnika (na primjer, iz neradnog mobilnog telefona), možete dobiti dizajn nešto veći od kutije šibica.
Korištenje super-svijetlog indikatora omogućuje vam smanjenje struje koju troši krug. Smanjenje potrošnje struje postiže se i u načinu rada "LoFF" - indikator je isključen, a svijetli samo treptajuća točka niže znamenke sata.

Slika 1. Pogled s prednje ploče.

Podesiva svjetlina indikatora omogućuje vam odabir najudobnijeg prikaza očitanja (i opet smanjenje potrošnje energije).
Sat ima 9 načina prikaza. Prebacivanje između načina rada vrši se pomoću gumba "plus" i "minus". Prije samog prikaza očitanja, na indikatorima se prikazuje kratka naznaka o nazivu načina rada. Trajanje prikaza savjeta je jedna sekunda. Korištenje kratkoročnih upita omogućilo je postizanje dobre ergonomije sata. Prilikom prebacivanja između načina prikaza (kojih ima dosta za tako jednostavan uređaj kao što je obični sat), nema zabune i uvijek je jasno koja su očitanja prikazana na indikatoru.

Slika 2. Načini prikaza.

Korekcija očitanja prikazanih na indikatoru aktivira se pritiskom na tipku "Korekcija". U tom slučaju prikazuje se kratkotrajni upit na 1/4 sekunde, nakon čega podešena vrijednost počinje treptati frekvencijom od 2 Hz. Očitanja se ispravljaju pomoću gumba plus i minus. Kada tipku pritisnete dulje vrijeme, aktivira se način automatskog ponavljanja na navedenoj frekvenciji. Frekvencije automatskog ponavljanja za pritisak tipke su: za sate, mjesece i dan u tjednu - 4 Hz; za minute, godinu i svjetlinu indikatora - 10 Hz; za vrijednost korekcije - 100 Hz.
Sve podešene vrijednosti, osim sati, minuta i sekundi, zapisuju se u EEPROM i vraćaju nakon isključivanja i uključivanja napajanja. Sekunde tijekom korekcije vraćaju se na nulu. Svi načini osim sati-minute, minute-sekunde i LoFF automatski se vraćaju. Ako se u roku od 10 sekundi ne pritisne nijedna tipka, sat se prebacuje na način prikaza sat-minuta.
Pritiskom na tipku "On/Off alarm." Budilica se uključuje/isključuje. Aktivaciju alarma potvrđuje kratki dvotonski zvuk. Kada je budilica uključena, svijetli točka u nižoj znamenki indikatora.
U načinu rada "Corr" na indikatoru se prikazuje konstanta korekcije čija je početna vrijednost 5000 mikrosekundi u sekundi. Kada sat kasni, konstantu povećavamo za iznos kašnjenja izračunat u mikrosekundama po sekundi. Ako se satu žuri, tada konstantu reduciramo po istom principu.

Slika 3. Satni dijagram.

Stolni i zidni satovi s termometrima izrađuju se u kućištima od analognih satova. Sat i termometar proizvode se kao zasebni, neovisni uređaji.

Neću opisivati ​​termometar; objavljen je na istoj web stranici. Sklop, tiskana ploča i firmware su tu, sve je nepromijenjeno.

Senzor temperature DS18B20 stolnog sata nalazi se izvan prozora. Izolirane žice 0,35 mm, duljine cca 10 metara

Sat je sastavljen na pojedinačnim 7-segmentnim zelenim LED indikatorima. Veličina brojeva je 14x25,4 mm - jasno vidljiva iz bilo kojeg kuta sobe. Imajte na umu da je indikator spojen bez otpornika za gašenje. To je zato što se svaki segment sastoji od dvije LED diode povezane u seriju i ima nazivni napon od 3,8 volta. S dinamičkom indikacijom, struje ne prelaze dopuštene vrijednosti.

Stabilizator napona nalazi se u utikaču adaptera. Sastavljen je na transformatoru od 3 vata i visokofrekventnom pretvaraču - stabilizatoru LM2575T-5.0 prema standardnom krugu. Mikrokrug bez hladnjaka praktički se ne zagrijava. Konektor za napajanje od 3,5 mm. Kvarc 4 MHz.

Bilo koji n-p-n tranzistori male snage. Tipke 6x6 H=14/10mm zalemljene na strani vodiča . Duljina potiskivača gumba odabire se na temelju zahtjeva dizajna. Svaki put kada pritisnete gumb, jedinica se dodaje. Kada se drži, brojanje se ubrzava do razumne brzine.

Otpornici MLT – 0,25. R3 – R6 1-3 kOhm.

Baterije: 4 komada GP-170 ili slično. Kada je mrežni napon isključen, oni napajaju samo mikrokontroler.

Preporučljivo je odabrati diode s najmanjim padom napona u smjeru prema naprijed.
Ploče su izrađene od jednostrane folije od fiberglasa.
HEX datoteka, dijagram, pečati u mapi br.1.

Opcija 2: na jednoj ploči

U ovo kućište nisu stale dvije ploče: sat i termometar. Nisam želio smanjiti veličinu indikatora sata.

Ne volim prikaz vremena i temperature s jednim indikatorom naizmjence na stolnom satu.
Morao sam uzeti još jedan manji indikator za termometar i nacrtati novu tiskanu pločicu. Stoga su krug i firmware za termometar različiti.

HEX datoteka i dijagram termometra u mapi br. 2. Tiskana pločica na istom mjestu.
Satni dijagram bez ikakvih promjena preuzet je iz prvog odjeljka.

U nastavku možete preuzeti firmware i tiskane pločice u HEX formatu

Popis radioelemenata

Oznaka Tip Vjeroispovijest Količina BilješkaDućanMoja bilježnica
opcija 1
MK PIC 8-bitni

PIC16F628A

1 U bilježnicu
VR1 DC/DC impulsni pretvarač

LM2575

1 5V U bilježnicu
VT1-VT4 Bipolarni tranzistor

KT3102

4 U bilježnicu
VD1, VD2, VD4 Dioda

D310

3 U bilježnicu
VD3 Schottky dioda

1N5819

1 U bilježnicu
VS1 Diodni most

DB157

1 U bilježnicu
C1, C2 Kondenzator20 pF2 U bilježnicu
C3, C5 Kondenzator0,1 µF2 U bilježnicu
C4 330 µF 16 V1 U bilježnicu
C6 Elektrolitički kondenzator100 µF 35 V1 U bilježnicu
R1, R2 Otpornik

10 kOhm

2 U bilježnicu
R3-R6 Otpornik

1 kOhm

4 U bilježnicu
R7, R10 Otpornik

100 Ohma

2 U bilježnicu
L1 Induktor330 µH1 U bilježnicu
Tr1 Transformator 1 U bilježnicu
F1 Osigurač100 mA1 U bilježnicu
Baterija4,8 V1 U bilježnicu
HL1, HL2 Dioda koja emitira svjetlo 2 U bilježnicu
S1, S2 Dugme 2 U bilježnicu
Z1 Kvarcni4 MHz1 U bilježnicu
IndikatorFYS10012BG211 U bilježnicu
opcija 2
MK PIC 8-bitni

PIC16F628A

1 U bilježnicu
VT1-VT4 Bipolarni tranzistor

KT3102

1 U bilježnicu
C1, C2 Kondenzator20 pF2 U bilježnicu
C3 Kondenzator0,1 µF1 U bilježnicu
R1 Otpornik

4,7 kOhm

1 U bilježnicu
R2, R3, R5, R6 Otpornik

Stolni i zidni satovi s termometrima izrađuju se u kućištima od analognih satova. Sat i termometar proizvode se kao zasebni, neovisni uređaji.

Neću opisivati ​​termometar; objavljen je na istoj web stranici termometar za PIC16F628A i FYD5622FS-11. Sklop, tiskana ploča i firmware su tu, sve je nepromijenjeno.

Senzor temperature DS18B20 stolnog sata nalazi se izvan prozora. Izolirane žice 0,35 mm, duljine cca 10 metara

Sat je sastavljen na pojedinačnim 7-segmentnim zelenim LED indikatorima. Veličina brojeva je 14x25,4 mm - jasno vidljiva iz bilo kojeg kuta sobe. Imajte na umu da je indikator spojen bez otpornika za gašenje. To je zato što se svaki segment sastoji od dvije LED diode povezane u seriju i ima nazivni napon od 3,8 volta. S dinamičkom indikacijom, struje ne prelaze dopuštene vrijednosti.

Stabilizator napona nalazi se u adapteru utikača. Sastavljen je na transformatoru od 3 vata i visokofrekventnom pretvaraču - stabilizatoru LM2575T-5.0 prema standardnom krugu. Mikrokrug bez hladnjaka praktički se ne zagrijava. Konektor za napajanje od 3,5 mm. Kvarc 4 MHz.

Bilo koji n-p-n tranzistori male snage. Tipke 6×6 H=14/10mm zalemljene na strani vodiča . Duljina potiskivača gumba odabire se na temelju zahtjeva dizajna. Svaki put kada pritisnete gumb, jedinica se dodaje. Kada se drži, brojanje se ubrzava do razumne brzine.

Otpornici MLT – 0,25. R3 – R6 1-3 kOhm.

Baterije: 4 komada GP-170 ili slično. Kada je mrežni napon isključen, oni napajaju samo mikrokontroler. Preporučljivo je odabrati diode s najmanjim padom napona u smjeru prema naprijed.

Ploče su izrađene od jednostrane folije od fiberglasa.

HEX datoteka, dijagram, pečati u mapi br.1.

Opcija 2: na jednoj ploči

U ovo kućište nisu stale dvije ploče: sat i termometar. Nisam želio smanjiti veličinu indikatora sata.

Ne volim prikaz vremena i temperature s jednim indikatorom naizmjence na stolnom satu.

Morao sam uzeti još jedan manji indikator za termometar i nacrtati novu tiskanu pločicu. Stoga su krug i firmware za termometar različiti.

HEX datoteka i dijagram termometra u mapi br. 2. Tiskana pločica na istom mjestu.

Satni dijagram bez ikakvih promjena preuzet je iz prvog odjeljka.