Al ceas pentru diagrama desktop. Ceasuri electronice - Ceasuri - Modele pentru casa si gradina. Am ales acest model pentru că este ușor să faci un ceas cu propriile mâini.

Cu afișaj dinamic. Nu există plângeri cu privire la funcționarea ceasului: mișcare precisă, setări convenabile. Dar un mare dezavantaj este că indicatoarele LED sunt greu de văzut în timpul zilei. Pentru a rezolva problema, am trecut la afișaj static și LED-uri mai strălucitoare. Ca întotdeauna în cazul software-ului, multumiri lui Soir. În general, vă aduc în atenție un ceas mare de exterior cu afișaj static funcțiile de setări rămân aceleași ca la ceasurile anterioare;

Au doua display-uri - cel principal (afara pe strada) si cel auxiliar pe indicatoare - in interior, pe corpul aparatului. Luminozitatea ridicată este obținută prin utilizarea LED-urilor ultra-luminoase cu un curent de funcționare de 50mA și cipuri de driver.

Schema de circuit a unui ceas electronic de exterior cu LED-uri strălucitoare

Pentru a intermite firmware-ul controlerului cu fișiere și pentru a utiliza următoarele setări de siguranțe:

Plăci cu circuite imprimate ale ceasului, unitate de control și modul extern, în format LAY, .


Caracteristicile acestui circuit de ceas:

- Format de afișare a orei pe 24 de ore.
- Corecția digitală a preciziei cursei.
- Control încorporat al sursei principale de alimentare.
- Memorie nevolatilă pentru microcontroler.
- Există un termometru care măsoară temperatura în intervalul -55 - 125 de grade.
- Este posibilă afișarea alternativă a informațiilor despre timp și temperatură pe indicator.


Apăsarea butonului SET_TIME mută indicatorul într-un cerc din modul principal de ceas (afișând ora curentă). În toate modurile, ținând apăsat butoanele PLUS/MINUS, se realizează o instalare accelerată. Modificările setărilor la 10 secunde după ultima modificare a valorii vor fi scrise în memoria nevolatilă (EEPROM) și vor fi citite de acolo când alimentarea este repornită.


Un alt mare plus al optiunii propuse este ca luminozitatea s-a schimbat, acum pe vreme insorita luminozitatea este excelenta. Numărul de fire a scăzut de la 14 la 5. Lungimea firului până la afișajul principal (exterior) este de 20 de metri. Sunt mulțumit de performanța ceasului electronic s-a dovedit a fi un ceas complet funcțional – atât ziua, cât și noaptea. Cu stimă, Soir-Alexandrovich.

Acest ceas este asamblat pe un chipset binecunoscut - K176IE18 (contor binar pentru un ceas cu un generator de semnal de sonerie),

K176IE13 (contor pentru ore cu alarmă) și K176ID2 (convertor de cod binar în șapte segmente)

Când alimentarea este pornită, zerourile sunt scrise automat în contorul de ore și minute și în registrul de memorie al ceasului cu alarmă al chipului U2. Pentru a instala

timp, apăsați butonul S4 (Setare oră) și ținând-l apăsați butonul S3 (Ora) - pentru a seta ora sau S2 (Min) - pentru a seta

minute. În acest caz, citirile indicatorilor corespunzători vor începe să se schimbe cu o frecvență de 2 Hz de la 00 la 59 și apoi din nou 00. În momentul tranziției

de la 59 la 00 contorul orelor va crește cu unu. Setarea orei alarmei este aceeași, trebuie doar să o ții

butonul S5 (Setare alarmă). După setarea orei de alarmă, trebuie să apăsați butonul S1 pentru a porni alarma (contacte

închis). Butonul S6 (Resetare) este folosit pentru a forța ca indicatorii minutelor să fie resetati la 00 în timpul configurării. LED-urile D3 și D4 joacă un rol

puncte de împărțire care clipesc la o frecvență de 1 Hz. Indicatorii digitali de pe diagramă sunt amplasați în ordinea corectă, adică vin pe primul loc

indicatoare de oră, două puncte de separare (LED-uri D3 și D4) și indicatoare de minute.

Ceasul a folosit rezistențe R6-R12 și R14-R16 cu o putere de 0,25 W, restul - 0,125 W. Rezonator de cuarț XTAL1 la o frecvență de 32 768 Hz -

santinelă obișnuită, tranzistoarele KT315A pot fi înlocuite cu orice siliciu de putere redusă cu structura corespunzătoare, KT815A - cu tranzistori

putere medie cu un coeficient de transfer de curent de bază static de cel puțin 40, diode - orice siliciu de putere redusă. Tweeter BZ1

dinamic, fara generator incorporat, rezistenta infasurarii 45 Ohm. Butonul S1 este blocat în mod natural.

Indicatorii folosiți sunt TOS-5163AG verzi, puteți utiliza orice alți indicatori cu un catod comun fără a reduce

rezistența rezistențelor R6-R12. În figură puteți vedea pinout-ul acestui indicator, concluziile sunt afișate condiționat, deoarece prezentat

vedere de sus.

După asamblarea ceasului, poate fi necesar să reglați frecvența oscilatorului cu cristal. Acest lucru se poate realiza cel mai precis prin control digital

folosind un frecvențămetru, perioada de oscilație este de 1 s la pinul 4 al microcircuitului U1. Reglarea generatorului pe măsură ce ceasul avansează va necesita cheltuieli semnificativ mai mari

timp. De asemenea, poate fi necesar să reglați luminozitatea LED-urilor D3 și D4 selectând rezistența rezistenței R5, astfel încât totul

strălucea uniform. Curentul consumat de ceas nu depășește 180 mA.

Ceasul este alimentat de o sursă de alimentare convențională, asamblată pe un stabilizator de microcircuit pozitiv 7809 cu o tensiune de ieșire de +9V și un curent de 1,5A.

20 august 2015 la 12:34

Ceasuri electronice de casă, componente - partea 1, măsurarea timpului

  • DIY sau Do It Yourself

Probabil că fiecare tocilar care iubește electronicele de casă, mai devreme sau mai târziu, vine cu ideea de a-și crea propriul ceas unic. Ideea este destul de bună, să ne dăm seama cum și ce este mai bine să le facem. Ca punct de plecare, vom presupune că o persoană știe cum să programeze microcontrolere, înțelege cum să trimită 2 octeți printr-un port i2c sau serial și poate lipi mai multe fire împreună. În principiu, acest lucru este suficient.

Este clar că funcția cheie a unui ceas este de a măsura timpul (cine ar fi crezut, nu?). Și este recomandabil să faceți acest lucru cât mai precis posibil, există mai multe opțiuni și capcane.

Deci, ce metode de măsurare a timpului sunt disponibile în hardware-ul pe care îl putem folosi?

Oscilator RC CPU încorporat

Cea mai simplă idee care vă poate veni în minte este să configurați pur și simplu un cronometru software și să îl folosiți pentru a număra secundele inverse. Deci, această idee nu este bună. Ceasul va funcționa, desigur, dar precizia generatorului încorporat nu este reglementată în niciun fel și poate „pluti” în limita a 10% din valoarea nominală. Este puțin probabil ca cineva să aibă nevoie de un ceas care durează 15 minute pe lună.

Modul în timp real DS1307

O opțiune mai corectă, care este folosită și în majoritatea produselor „folk”, este ceasul în timp real. Microcircuitul comunică cu microcontrolerul prin I2C și necesită un minim de cablare (cuarț și o pereche de rezistențe). Prețul este de aproximativ 100 de ruble per cip sau aproximativ 1 dolar pe eBay pentru o placă gata făcută cu un cip, un modul de memorie și un conector pentru baterie.

Schema din fisa de date:

La fel de important, microcircuitul este produs într-un pachet DIP, ceea ce înseamnă că orice radioamator începător îl poate lipi. Bateria încorporată menține ceasul să funcționeze chiar dacă alimentarea este oprită.

S-ar părea că totul este bine, dacă nu pentru o singură problemă - precizie scăzută. Precizia aproximativă a cuarțului ceasului este de 20-30 ppm. Denumirea ppm - părți pe milion, arată numărul de părți pe milion. S-ar părea că 20 de milionimi este super, dar pentru o frecvență de 32768Hz rezultă 20*32768/1000000 = ±0,65536Hz, adică. deja o jumătate de hertz. Prin calcule simple, se poate observa că generatorul cu o astfel de diferență pe zi „face clic” pe 56 de mii de cicluri suplimentare (sau lipsă), ceea ce corespunde la 2 secunde pe zi. Există diferite tipuri de cuarț, unii utilizatori au scris și despre o eroare de 5 secunde pe zi. Cumva, nu este foarte precis - într-o lună un astfel de ceas va dura cel puțin un minut. Aceasta este deja o diferență semnificativă, vizibilă cu ochiul liber (când serialul TV preferat al bunicii începe la ora 11.00, iar ceasul arată 11.05, dezvoltatorul unui astfel de ceas va fi jenat în fața rudelor).

Cu toate acestea, deoarece temperatura din cameră este mai mult sau mai puțin stabilă, iar frecvența cuarțului nu se va schimba prea mult, puteți adăuga o corecție software. Un alt sfat dat pe forumuri este să folosești ceas cu quartz de la plăcile de bază vechi, conform recenziilor, sunt destul de precise.

Modul în timp real DS3231

Nu suntem primii care pune întrebarea acurateței, iar compania Dallas, în urma dorințelor, a lansat un modul mai avansat - DS3231. Se numește „Ceas în timp real extrem de precis” și are un generator încorporat cu corecție a temperaturii. Precizia este de 10 ori mai mare și este de 2 ppm. Prețul este puțin mai mare, dar corpul cipului este proiectat pentru montarea SMD, lipirea nu este atât de convenabilă, dar puteți cumpăra o placă gata făcută pe eBay.


(fotografie de pe site-ul vânzătorului)

O precizie de 6 secunde pe lună este deja un rezultat bun. Dar vom merge mai departe - în mod ideal, ceasurile din secolul 21 nu trebuie deloc ajustate.

Modul radio DCF-77

Metoda este destul de exotică, dar de dragul completității nu poate fi ignorată. Puțini oameni știu, dar semnale de timp precise au fost transmise prin radio din anii 70. Emițătorul DCF-77 este situat în Germania lângă Frankfurt, iar pe frecvența VHF 77,5 KHz se transmit ștampile de timp precise (da, aveau deja ceasuri de perete și de masă acum 20 de ani care nu trebuiau reglate).

Lucrul bun la această metodă este că circuitul are un consum redus de energie, așa că acum se produc chiar și ceasuri de mână cu această tehnologie. O placă de recepție DCF-77 gata făcută poate fi achiziționată de pe ebay, prețul cerut este de 20 USD.

Multe ceasuri și stații meteo au capacitatea de a primi DCF-77, singura problemă este că semnalul practic nu ajunge în Rusia. Harta acoperirii de pe Wikipedia:

După cum puteți vedea, doar Moscova și Sankt Petersburg sunt la granița zonei de recepție. Potrivit recenziilor proprietarilor, doar uneori semnalul poate fi primit, ceea ce, desigur, nu este potrivit pentru utilizare practică.

modul GPS

Dacă ceasul este situat aproape de fereastră, atunci o metodă foarte realistă de a obține ora exactă este un modul GPS. Aceste module pot fi achiziționate ieftin de pe ebay (prețul de emisiune este de 10-15 USD). De exemplu, Ublox NEO-6M se conectează direct la pinii seriali ai procesorului și scoate șiruri NMEA la o viteză de 9600.

Datele vin în aproximativ următorul format: „$GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,*1A”, iar analizarea lor nu este dificilă nici măcar pentru un Arduino slab. Apropo, patrioții pot achiziționa modulul Ublox NEO-7N mai scump, care acceptă (conform recenziilor) atât GPS, cât și Glonass.

Evident, modulul GPS nu știe nimic despre diferitele fusuri orare, așa că dezvoltatorul va trebui să se gândească la calculul lor și la schimbarea orei de vară/iarnă însuși. Un alt dezavantaj al utilizării GPS este consumul relativ mare de energie (cu toate acestea, unele module pot fi puse în „modul de repaus” folosind comenzi separate).

Wifi

Și, în sfârșit, ultima modalitate (și cea mai evidentă în acest moment) de a obține ora exactă este să o luați de pe Internet. Există două abordări aici. Primul, și cel mai simplu, este să utilizați ceva de genul Raspberry PI cu Linux ca placă de ceas, apoi nu trebuie să faceți nimic, totul va funcționa imediat. Dacă doriți ceva „exotic”, atunci cea mai interesantă opțiune este modulul esp8266.

Acesta este un modul ieftin (prețul de emisiune este de aproximativ 200 de ruble pe ebay) modulul WiFi poate comunica cu serverul prin portul serial al procesorului, dacă se dorește, poate fi, de asemenea, actualizat (există destul de multe firmware-uri terță parte), iar o parte a logicii (de exemplu, sondarea serverului de timp) se poate face în modul însuși. Firmware-ul terțelor părți acceptă o mulțime de orice, de la Lua la C++, așa că există destule opțiuni pentru a-ți „flexa creierul”.

În acest moment, subiectul măsurării timpului poate fi probabil închis. În partea următoare vom arunca o privire mai atentă asupra procesoarelor și metodelor de ieșire în timp.

Ceas cu indicator LED cu șapte segmente pe cip K145IK1911

Istoricul acestor ceasuri care apar pe site este ușor diferit de alte diagrame de pe site.

Este o zi liberă normală, mă duc la oficiul poștal, scotocesc și cititorul nostru dă peste Fedorenko Evgeniy, a trimis o diagramă a ceasului, cu o descriere și toate fotografiile.

Pe scurt despre schemă circuit de ceas electronic lor mâinile finalizat pe cipul K145IK1911, iar ora este afișată pe indicatori LED cu șapte segmente. Și la fel și articolul lui.

Diagrama ceasului:


Pentru a mări o imagine, faceți clic pe ea pentru a o mări și salvați computerul.

Nu cu mult timp în urmă m-am confruntat cu sarcina fie de a cumpăra un ceas nou, fie de a asambla eu unul nou. Cerințele pentru ceas au fost simple - afișajul ar trebui să afișeze ore și minute, ar trebui să existe un ceas cu alarmă, iar indicatoarele LED cu șapte segmente ar trebui să fie folosite ca dispozitiv de afișare. Nu am vrut să adun o grămadă de cipuri logice și nu am vrut să mă implic în programarea controlerelor. Alegerea a fost făcută cu privire la dezvoltarea industriei electronice sovietice - cip K145IK1901.

Nu era în magazin la acel moment, dar era un analog, într-un pachet cu 40 de pini - K145IK1911. Numele pinii acestui microcircuit nu este diferit de cel anterior, diferența este în numerotare.



Dezavantajul acestor microcircuite este că funcționează doar cu indicatori fluorescenți în vid. Pentru a asigura andocarea cu indicatorul LED, a fost necesar să se construiască un circuit de potrivire folosind comutatoare cu semiconductori.

Ca drivere de șir – J1-J7 poti folosi tranzistori KT3107 cu indicele literei I, A, B. Pentru driverele pentru selectarea segmentelor D1-D4, KT3102I sau KT3117A, KT660A, precum și orice altele cu o tensiune maximă colector-emițător de cel puțin 35 V și un curent de colector de la se vor folosi cel puțin 100 mA. Curentul segmentelor indicatoare este reglat de rezistențele din circuitele colectoare ale driverelor de rând.



Un punct care clipește la o frecvență de 1 Hz este folosit pentru a separa cifrele orei și minutelor.

Această frecvență este prezentă la pinul Y4 după ce cronometrarea a început. Această schemă oferă, de asemenea, posibilitatea de a afișa pe afișaj în loc de ore și minute - minute și, respectiv, secunde. Trecerea la acest mod se realizează prin apăsarea butonului „Sec.” Revenirea la afișarea orei și minutelor se efectuează după apăsarea butonului „Întoarcere”. Acest cip oferă posibilitatea de a seta două ceasuri cu alarmă simultan, dar în această schemă al doilea ceas cu alarmă nu este folosit ca fiind inutil. Ca emițător de sunet este folosit un tweeter piezo cu generator încorporat, cu o tensiune de alimentare de 12V. Semnalul ceasului cu alarmă este eliminat de la pinul Y5 al microcircuitului. Pentru a furniza un sunet intermitent, semnalul este modulat la o frecvență de 1 Hz, folosită pentru a indica al doilea ritm (punct). Pentru un studiu mai detaliat al funcționalității microcircuitului K145IK1901(11), puteți consulta documentația, care recent poate fi găsită cu ușurință pe Internet. Microcircuitul trebuie alimentat cu o tensiune negativă de -27V±10%. Conform experimentelor efectuate, microcircuitul rămâne funcțional chiar și la o tensiune de -19V, iar precizia ceasului nu este deloc afectată.

Diagrama ceasului este prezentată în figura de mai sus. În circuit au fost utilizate rezistențe cu cip de dimensiune standard 1206, ceea ce face posibilă reducerea semnificativă a dimensiunilor dispozitivului. Orice indicator cu șapte segmente cu un anod comun sunt potriviti ca indicatori cu șapte segmente.

Ei bine, acest articol s-a terminat deocamdată. Va fi dezvoltat și completat și îmi exprim recunoștința autorului său, Evgeniy Fedorenko, pentru toate întrebările Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.

Îmi amintesc... În urmă cu treizeci de ani, șase indicatori erau o mică comoară. Oricine putea face apoi un ceas folosind logica TTL cu astfel de indicatori era considerat un expert sofisticat în domeniul său.

Strălucirea indicatoarelor de descărcare de gaz părea mai caldă. După câteva minute mă întrebam dacă aceste lămpi vechi ar funcționa și am vrut să fac ceva cu ele. Acum este foarte ușor să faci un astfel de ceas. Tot ce ai nevoie este un microcontroler...

Deoarece în același timp eram interesat de programarea microcontrolerelor în limbaje de nivel înalt, am decis să mă joc puțin. Am încercat să construiesc un ceas simplu folosind indicatori digitali de descărcare a gazelor.

Scopul proiectării

Am decis ca ceasul să aibă șase cifre, iar ora să fie setată cu un număr minim de butoane. În plus, am vrut să încerc să folosesc câteva dintre cele mai comune familii de microcontrolere de la diferiți producători. Am intenționat să scriu programul în C.

Indicatorii de descărcare de gaz necesită tensiune înaltă pentru a funcționa. Dar nu am vrut să mă ocup de tensiunea de rețea periculoasă. Ceasul trebuia să fie alimentat de o tensiune inofensivă de 12 V.

Deoarece scopul meu principal a fost jocul, nu veți găsi aici nicio descriere a designului mecanic sau a desenelor corpului. Dacă doriți, puteți schimba singur ceasul în funcție de gusturile și experiența dvs.

Iată ce am primit:

  • Afișare timp: HH MM SS
  • Indicație de alarmă: HH MM --
  • Mod de afișare a timpului: 24 de ore
  • Precizie ± 1 secundă pe zi (în funcție de cristalul de cuarț)
  • Tensiune de alimentare: 12 V
  • Consum de curent: 100 mA

Diagrama ceasului

Pentru un dispozitiv cu un afișaj digital din șase cifre, modul multiplex a fost o soluție naturală.

Scopul majorității elementelor diagramei bloc (Figura 1) este clar fără comentarii. Într-o anumită măsură, sarcina non-standard a fost de a crea un convertor de niveluri TTL în semnale de control ale indicatorului de înaltă tensiune. Driverele anodului sunt realizate folosind tranzistoare NPN și PNP de înaltă tensiune. Diagrama este împrumutată de la Stefan Kneller (http://www.stefankneller.de).

Cipul 74141 TTL conține un decodor BCD și un driver de înaltă tensiune pentru fiecare cifră. Poate fi dificil să comandați un cip. (Deși nu știu dacă le mai face cineva). Dar dacă găsiți indicatoare de descărcare de gaze, 74141 poate fi undeva în apropiere :-). La momentul logicii TTL, practic nu exista nicio alternativă la cipul 74141. Așa că încearcă să găsești unul undeva.

Indicatorii necesită o tensiune de aproximativ 170 V. Nu are sens să se dezvolte un circuit special pentru un convertor de tensiune, deoarece există un număr mare de cipuri de convertizor boost. Am ales IC34063 ieftin și disponibil pe scară largă. Circuitul convertor este aproape complet copiat din fișa de date MC34063. I s-a adăugat doar un comutator de alimentare T13. Comutatorul intern nu este potrivit pentru o tensiune atât de mare. Am folosit un șoc ca inductanță pentru convertor. Este prezentat în Figura 2; diametrul său este de 8 mm și lungimea de 10 mm.

Eficiența convertorului este destul de bună, iar tensiunea de ieșire este relativ sigură. La un curent de sarcină de 5 mA, tensiunea de ieșire scade la 60 V. R32 acționează ca un rezistor de detectare a curentului.

Pentru alimentarea logicii, se folosește regulatorul liniar U4. Există spațiu pe circuit și pe placă pentru o baterie de rezervă. (3,6 V - NiMH sau NiCd). D7 și D8 sunt diode Schottky, iar rezistența R37 este concepută pentru a limita curentul de încărcare în funcție de caracteristicile bateriei. Dacă construiți ceasuri doar pentru distracție, nu veți avea nevoie de baterie, D7, D8 și R37.

Circuitul final este prezentat în Figura 3.

Figura 3.

Butoanele de setare a orei sunt conectate prin diode. Starea butoanelor este verificată prin setarea unui „1” logic la ieșirea corespunzătoare. Ca o caracteristică bonus, un emițător piezo este conectat la ieșirea microcontrolerului. Ca să taci scârțâitul acela urât, folosește un mic întrerupător. Un ciocan ar fi destul de potrivit pentru asta, dar aceasta este o ultimă soluție :-).

O listă de componente ale circuitului, un desen al plăcii de circuit imprimat și o diagramă de aspect pot fi găsite în secțiunea „Descărcări”.

CPU

Aproape orice microcontroler cu un număr suficient de pini, al cărui număr minim necesar este indicat în Tabelul 1, poate controla acest dispozitiv simplu.

Tabelul 1.
Funcţie Concluzii
Nutriţie 2
Rezonator cu cuarț 2
Managementul anodului 6
Driver 74141 4
Buton de intrare 1
Emițător piezo 1
Total 16

Fiecare producător își dezvoltă propriile familii și tipuri de microcontrolere. Locația știfturilor este individuală pentru fiecare tip. Am încercat să proiectez o placă universală pentru mai multe tipuri de microcontrolere. Placa are o priză cu 20 de pini. Cu câteva fire jumper îl puteți adapta la diferite microcontrolere.

Microcontrolerele testate în acest circuit sunt enumerate mai jos. Puteți experimenta cu alte tipuri. Avantajul schemei este capacitatea de a utiliza diferite procesoare. Radioamatorii, de regulă, folosesc o singură familie de microcontrolere și au programatorul și instrumentele software adecvate. Pot fi probleme cu microcontrolerele de la alți producători, așa că ți-am dat ocazia să alegi un procesor din familia ta preferată.

Toate particularitățile pornirii diferitelor microcontrolere sunt reflectate în tabelele 2...5 și figurile 4...7.

Tabelul 2.
Freescale
Tip MC68HC908QY1
Rezonator cu cuarț 12 MHz
Condensatoare C1, C2 22 pF
Program freescale.zip
(vezi secțiunea „Descărcări”)
Setări

Notă: Un rezistor de 10 MΩ este conectat în paralel cu rezonatorul de cuarț.

Tabelul 3.
Microcip
Tip PIC16F628A
Rezonator cu cuarț 32,768 kHz
Condensatoare C1, C2 22 pF
Program pic628.zip
(vezi secțiunea „Descărcări”)
Setări Int. Generator de 4 MHz - I/O RA6,
MCLR OFF, WDT OFF, LVP OFF,
BROUT OFF, CP OFF, PWRUP OFF

Notă: Microcircuitul trebuie rotit cu 180° în priză.

Tabelul 4.
Atmel
Tip ATtiny2313
Rezonator cu cuarț 12 MHz
Condensatoare C1, C2 15 pF
Program attiny.zip
(vezi secțiunea „Descărcări”)
Setări mp. Oscilator 8 MHz, RESET PORNIT

Notă: Adăugați componentele SMD R și C la pinul RESET (10 kΩ și 100 nF).

Tabelul 5.
Atmel
Tip AT89C2051
Rezonator cu cuarț 12 MHz
Condensatoare C1, C2 22 pF
Program la2051.zip
(vezi secțiunea „Descărcări”)
Setări --

Notă: Adăugați componentele SMD R și C la pinul RESET (10 kΩ și 100 nF); conectați pinii marcați cu asteriscuri la magistrala de alimentare +Ub prin rezistențe SMD de 3,3 kOhm.

Când comparați codurile pentru diferite microcontrolere, veți vedea că acestea sunt foarte asemănătoare. Există diferențe în accesul la porturi și definirea funcțiilor de întrerupere, precum și în ceea ce depinde de componentele hardware.

Codul sursă este format din două secțiuni. Funcţie principal() configurează porturile și pornește un temporizator care generează semnale de întrerupere. După aceasta, programul scanează butoanele apăsate și setează ora și valorile de alarmă corespunzătoare. Acolo, în bucla principală, ora actuală este comparată cu ceasul cu alarmă și emițătorul piezo este pornit.

A doua parte este o subrutină pentru gestionarea întreruperilor temporizatorului. O subrutină care este apelată la fiecare milisecundă (în funcție de capacitățile cronometrului) incrementează variabilele de timp și controlează cifrele afișate. În plus, se verifică starea butoanelor.

Rularea circuitului

Când instalați componente și configurați, începeți cu sursa de alimentare. Lipiți regulatorul U4 și componentele din jur. Verificați tensiunea de 5 V pentru U2 și 4,6 V pentru U1. Următorul pas este asamblarea convertorului de înaltă tensiune. Utilizați rezistența de reglare R36 pentru a seta tensiunea la 170 V. Dacă domeniul de reglare nu este suficient, modificați ușor rezistența rezistenței R33. Acum instalați cipul U2, tranzistoarele și rezistențele anodului și circuitului de driver digital. Conectați intrările U2 la magistrala GND și conectați unul dintre rezistențele R25 - R30 în serie la magistrala de alimentare +Ub. Numerele indicatoare ar trebui să se aprindă în pozițiile corespunzătoare. În ultima etapă a verificării circuitului, conectați pinul 19 al microcircuitului U1 la masă - emițătorul piezo ar trebui să sune.

Veți găsi codurile sursă și programele compilate în fișierul ZIP corespunzător din secțiunea „Descărcări”. După ce ați introdus programul în microcontroler, verificați cu atenție fiecare pin în poziția U1 și instalați firele și jumperii de lipit necesare. Consultați imaginile microcontrolerului de mai sus. Dacă microcontrolerul este programat și conectat corect, generatorul său ar trebui să înceapă să funcționeze. Puteți seta ora și alarma. Atenţie! Există spațiu pe placă pentru încă un buton - acesta este un buton de rezervă pentru extinderi viitoare :-).

Verificați acuratețea frecvenței generatorului. Dacă nu este în intervalul așteptat, modificați ușor valorile condensatoarelor C1 și C2. (Lipiți condensatoarele mici în paralel sau înlocuiți-le cu altele). Precizia ceasului ar trebui să se îmbunătățească.

Concluzie

Procesoarele mici pe 8 biți sunt destul de potrivite pentru limbaje de nivel înalt. C nu a fost conceput inițial pentru microcontrolere mici, dar pentru aplicații simple îl puteți folosi foarte bine. Limbajul de asamblare este mai potrivit pentru sarcini complexe care necesită timpi critici sau încărcare maximă a procesorului. Pentru majoritatea amatorilor de radio, sunt potrivite atât versiunile gratuite, cât și versiunile limitate shareware ale compilatorului C.

Programarea C este aceeași pentru toate microcontrolerele. Trebuie să cunoașteți funcțiile hardware (registre și periferice) ale tipului de microcontroler selectat. Fiți atenți la operațiunile cu biți - limbajul C nu este potrivit pentru manipularea biților individuali, așa cum se poate vedea în exemplul originalului când pentru ATtiny.

Ai terminat? Apoi acordați-vă pentru a contempla tuburile cu vid și urmăriți...

...vechile s-au întors... :-)

Nota editorului

Un analog complet al SN74141 este microcircuitul K155ID1, produs de software-ul Minsk Integral.
Microcircuitul poate fi găsit cu ușurință pe Internet.