Skatieties kanālā ATmega8. Divu kanālu termometrs, pulkstenis uz ATmega8, DS18B20, DS1307, LCD1602 Vienkāršs pulkstenis uz atmega8 mikrokontrollera

Pulksteņa koncepcija ar lieliem cipariem

Strukturāli ierīce sastāvēs no diviem dēļiem - viens virs otra. Pirmā plate ir gaismas diožu matrica, kas veido stundas un minūtes, otrā ir barošanas daļa (LED vadība), loģika un barošanas avots. Šāds dizains padarīs pulksteni kompaktāku (bez korpusa, aptuveni 22cm x 9cm, 4-5 centimetrus biezs) + dos iespēju pieskrūvēt matricu citam projektam, ja kaut kas noiet greizi.

Strāvas daļa tiks veidota uz UL2003 draivera un tranzistora slēdžu bāzes. Loģiski - uz Atmega8 un DS1307. Barošana: 220V - transformators; loģika 5V (caur 7805), barošanas daļa - 12V (caur LM2576ADJ). Būs atsevišķs nodalījums 3V akumulatoram reāllaika pulksteņa autonomai barošanai - DS1307.

Es domāju izmantot Atmega8 un DS1307 (plānoju piekārt pulksteni pie griestiem, lai strāvas padeves pārtraukuma gadījumā man katru reizi nav jāmācās pēc iestatījumiem), tomēr dēļa izkārtojums nozīmēs iespēja darbināt ierīci bez DS1307 (pirmo reizi, un varbūt uz visiem laikiem - kā tas darbosies).

Tādējādi, atkarībā no konfigurācijas, pulksteņa programmas darbības algoritms būs šāds:

Atmega8- laika skaitītājs pēc taimera. Strādājiet ciklā bez pauzēm: tastatūras aptaujāšana, laika pielāgošana (ja nepieciešams), 4 ciparu parādīšana un atdalītājs.

Atmega8+DS1307. Strādājiet ciklā bez pauzēm: tastatūras aptauja, DS1307 laika regulēšana (ja nepieciešams), laika nolasīšana no DS1307, 4 ciparu parādīšana un atdalītājs. Vai arī cita iespēja - lasīšana no DS1307 uz taimera, pārējais cilpā (pagaidām nezinu, kā vislabāk).

Segments sastāv no 4 virknē savienotām sarkanām gaismas diodēm. Viens cipars – 7 segmenti ar kopīgu anodu. Es neplānoju atdalīt segmentus, izmantojot astoņu figūru modeli, kā tas tiek darīts parastajos rādītājos.

Pulksteņa jaudas daļa

Pulksteņa jaudas daļa ir veidota uz UL2003 draivera un tranzistora slēdžiem VT1 un VT2.

UL2003 ir atbildīgs par indikatoru segmentu kontroli, taustiņi ir paredzēti ciparu kontrolei.

Stundu un minūšu atdalītāju kontrolē atsevišķi (signāls K8).

Segmentus, bitus un atdalītāju kontrolē mikrokontrolleris, pieliekot pozitīvu potenciālu (t.i., pieliekot +5 V) uz K1-K8, Z1-Z4.

Signālu piegāde segmentiem un bitiem jāveic sinhroni un ar noteiktu frekvenci, lai nodrošinātu dinamisku informācijas izvadi (stundās un minūtēs).

Tranzistoru BCP52 var izmantot kā tranzistoru VT1 (BCP53).

Pulksteņa jaudas daļas shēma ar lieliem cipariem

Septiņu segmentu indikatora iespiedshēmas plate pulkstenim ar lieliem cipariem

Kā jau teicu iepriekš, pulkstenis sastāvēs no divām iespiedshēmu platēm - indikatoru plates + loģikas un barošanas daļas.

Sāksim ar indikatoru shēmas plates projektēšanu un ražošanu.

Iespiedshēmas plates izstrāde septiņu segmentu indikatoram pulkstenim ar lieliem cipariem

Septiņu segmentu indikatora iespiedshēmas plate pulkstenim ar lieliem cipariem "lay" formātā atrodas raksta beigās, pievienotajos failos. Jūs varat lasīt par iespiedshēmu plates ražošanas tehnoloģiju, izmantojot LUT metodi.

Ja jūs visu izdarījāt pareizi, gatavais PCB izskatīsies apmēram šādi.

Gatavā septiņu segmentu indikatora iespiedshēmas plate pulkstenim ar lieliem cipariem

Septiņu segmentu indikatora montāža

Tā kā indikatoru plāksne ir abpusēja, pirmā lieta, kas jādara, ir veikt starpslāņu pārejas. Es to daru, izmantojot nevajadzīgo detaļu kājas - izveru tās caur caurumiem un no abām pusēm lodēju. Kad visas pārejas pabeigtas, notīru ar plakanu, smalku vīli - sanāk ļoti glīti un jauki.

Starpslāņu flakoni uz indikatoru paneļa

Nākamais solis faktiski ir indikatora salikšana. Kāpēc mums vajag sarkanu (zaļu, baltu, zilu) gaismas diožu komplektu. Piemēram, es paņēmu šos.

Gatavošanās indikatora montāžai

Uzstādot diodes, neaizmirstiet, ka mēs izgatavojam indikatoru ar kopējo anodu - t.i. "+" diodēm jābūt savienotām kopā. Parastie PCB anodi ir lieli vara gabali. Noteikti pievērsiet uzmanību dalīšanas punkta anodam.

Anodu atrašanās vieta uz indikatora iespiedshēmas plates

Rezultātā pēc 2 stundu rūpīga darba jums vajadzētu iegūt šo:

Septiņu segmentu indikators

Pulksteņa digitālā daļa

Pulksteņa digitālo daļu ar lieliem cipariem saliksim pēc šādas shēmas:

Pulksteņa diagramma ar lieliem cipariem

Pulksteņa shēma ir diezgan caurspīdīga, tāpēc es neredzu jēgu izskaidrot, kā tā darbojas. Iespiedshēmas plati *.lay formātā var lejupielādēt raksta beigās. Ņemiet vērā, ka iespiedshēmas plate galvenokārt ir paredzēta virsmas montāžas daļām.

Tātad, elementu bāze, ko izmantoju:

1. Diodes tilts DFA028 (derēs jebkurš kompakts virszemes montāžai);
2. Sprieguma regulatori LM2576ADJ D2PAK korpusā, 78M05 HSOP3-P-2.30A korpusā;
3. Tranzistoru slēdži BCP53 (SOT223 korpuss) un BC847 (SOT23 korpuss);
4. Atmega8 mikrokontrolleris (TQFP);
5. Reāllaika pulkstenis DS1307 (SO8);
6. Barošana 14V 1.2A no kādas vecas iekārtas;
7. Atlikušās daļas ir jebkura veida, pēc izmēra piemērotas uzstādīšanai uz iespiedshēmas plates.

Protams, ja vēlaties izmantot citas detaļu paketes, jums būs jāveic dažas izmaiņas PCB.

Pievērsiet uzmanību pretestības vērtībām R3 un R4 - tām jābūt tieši tādām, kā norādīts diagrammā - ne vairāk, ne mazāk. Tas tiek darīts, lai nodrošinātu tieši 12 V pie sprieguma regulatora LM2576ADJ izejas. Ja joprojām nevarat atrast šādas rezistoru vērtības, pretestības R4 vērtību var aprēķināt, izmantojot formulu:

R4=R3(12/1.23-1) vai R4=8.76R3

Digitālās daļas salikšana. 1. versija bez DS1307

Ja, izgatavojot pulksteņa iespiedshēmas plati, ievērojāt punktos sniegtos ieteikumus, tad vai nav jāatgādina, ka pirms montāžas iespiedshēmas plate ir jāizurbj, jānovērš visi uz tās redzamie īssavienojumi un dēlis ir jāpārklāj ar šķidru kolofoniju? Tad sākam pulksteņa salikšanu.

Iesaku sākt ar barošanas bloka montāžu un tikai tad uzstādīt digitālo daļu. Šis ir vispārīgs ieteikums ierīču pašmontēšanai. Kāpēc? Vienkārši tāpēc, ka, ja barošanas bloks ir samontēts ar kļūdu, jūs varat sadedzināt visu zemsprieguma elektroniku, kas būtu jābaro ar šo barošanas avotu.

Ja viss ir izdarīts pareizi, strāvas padevei nekavējoties jādarbojas. Mēs pārbaudām barošanas avota montāžu - mēra spriegumu pārbaudes punktos.

Attēlā parādīti pārbaudes punkti, kuros jāpārbauda barošanas spriegums. Ja spriegums atbilst deklarētajam, varat sākt montēt pulksteņa digitālo daļu. Pretējā gadījumā mēs pārbaudām barošanas elementu uzstādīšanu un funkcionalitāti.

Pulksteņa barošanas avota pārbaudes punkti un sprieguma vērtības

Pēc barošanas avota pārbaudes mēs turpinām pulksteņa digitālās daļas montāžu - visu pārējo elementu uzstādīšanu uz iespiedshēmas plates. Mēs pārbaudām īssavienojumus, īpaši Atmega mikrokontrollera un UL2003 draivera kājās.

Pulksteņa digitālās daļas uzstādīšana

Lūdzu, ņemiet vērā, ka mēs montējam pulksteni BEZ DS1307 reāllaika pulksteņa uzstādīšanas, tomēr ir jāpabeidz visi šīs mikroshēmas vadi. Nākotnē, ja radīsies nepieciešamība, tas ietaupīs mums laiku, pārveidojot pulksteni otrajai versijai, kurā joprojām tiks izmantots atsevišķs, neatkarīgs reāllaika pulkstenis DS1307.

ATMEGA8 mikrokontrollera sākotnējā pārbaude

Lai pārbaudītu mikrokontrollera pareizību un funkcionalitāti, mums ir nepieciešams:

1. Programmētājs, piemēram.
2. mikrokontrollera programmēšanai ķēdē.
3. AVRDUDESHELL programma.

Mēs savienojam pulksteņa plati ar datu kabeli. Mēs savienojam datu kabeli ar programmētāju. Programmētājs datoram, kurā ir instalēta programma AVRDUDESHELL. Pulksteņa paneli nedrīkst savienot ar 220 V barošanas avotu.

Programma AVRDUDESHELL veiksmīgi nolasa datus no mikrokontrollera

Ja, nolasot drošinātājus, rodas problēmas, pārbaudiet instalāciju - kaut kur var būt īssavienojums vai “trūkst savienojuma”. Vēl viens padoms - iespējams, mikrokontrolleris ir zema ātruma programmēšanas režīmā, tad vienkārši pārslēdziet programmētāju uz šo režīmu (


- signalizācija.
- termometrs.

1. Funkcijas.

- norāde. Alternatīvi.

PLUSMINUSS

2. Iestatīšana.

2.2. Nospiežot poguIZVĒLNEIESTATĪT

Grupa CLOC:

– minūtes;

- pulkstenis;

PLUS vai MINUSS);

Ar".

Grupa ALar:

IeslēgtsIZSLĒGTS" ja ir invalīds;

Grupa diSP:

tc

tt

E.F., Ar

P

Grupa Gaišs:

A", jaunākajos" IeslēgtsOF

L_ ".

L¯ ".

L".

2.4. Turot pogasPLUS/ MINUSS

3. Piezīmes.

priekšmets .

Video par programmas darbību t lietotājsvilks2000.

– pulkstenis ar digitālās precizitātes korekciju.
- signalizācija.
- termometrs.
– indikācija uz septiņu segmentu indikatora.
– automātiska indikatora spilgtuma regulēšana.

1. Funkcijas.

– pulkstenis, laika displeja formāts 24 stundas, stundas: minūtes.

– digitālās precizitātes korekcija. Iespējama ikdienas korekcija ±25 sek. No pašreizējā laika tiks pievienota/atņemta iestatītā vērtība 1 stunda 0 minūtes 30 sekundes.

- signalizācija. Norādītajā laikā vienu minūti tiek dzirdami īsi dubulti signāli. Varat izslēgt skaņu pirms grafika, nospiežot jebkuru no pogām. Kad modinātājs ir iespējots, tad, kad tiek parādīts laiks, vismazāk nozīmīgajā ciparā tiek parādīts punkts.

- termometrs. Mērītās temperatūras diapazons ir -55,0 ÷ 125,0 o C. Ja temperatūra ir virs 99,9 vai zemāka par -9,9 o C, grāda desmitdaļas netiek rādītas.

- norāde. Alternatīvi.

- pielāgojama mainīgo rādījumu animācija.

– mikrokontrollera nepastāvīgās atmiņas izmantošana, lai saglabātu iestatījumus, kad barošana ir izslēgta.

– ja galvenajā režīmā nospiežat poguPLUS, tad laiks tiek parādīts indikatoros, ja noklikšķināsit uzMINUSS- temperatūra. Kad pogas tiek atlaistas, rādījumu automātiskā maiņa tiek atsākta.

– automātiska indikatora spilgtuma regulēšana atkarībā no apgaismojuma.

2. Iestatīšana.

2.1. Kad strāva ir ieslēgta, pulkstenis ir galvenajā režīmā.

2.2. Nospiežot poguIZVĒLNEpāriet iestatījumu režīmā un atlasa instalējamo parametru grupu. Grupas ietvaros iestatāmais parametrs tiek atlasīts, izmantojot poguIESTATĪT. Pieejams uzstādīšanai pēc kārtas:

Grupa CLOC:

– minūtes;

- pulkstenis;

– sekundes (nospiežot pogas, atiestatiet uz nulliPLUS vai MINUSS);

– korekcijas vērtība. Augstākajā secībā simbols " Ar".

Grupa ALar:

– modinātāja aktivizēšana. Uz indikatora "Ieslēgts"ja modinātājs ir iespējots",IZSLĒGTS" ja ir invalīds;

– minūtes, kad atskan modinātājs;

- modinātāja stundas.

Grupa diSP:

– pašreizējā laika rādīšanas laiks. Ar augstākajiem cipariem simboli "tc". Iestatīšanas diapazons 0÷99 sek. Ja iestatīts uz 0, laiks netiks parādīts;

- temperatūras indikācijas laiks. Ar augstākajiem cipariem simboli "tt". Iestatīšanas diapazons 0÷99 sek. Ja iestatīts uz 0, temperatūra netiks rādīta;

- animācijas efektu izvēle. Ar augstākajiem cipariem simboli "E.F.". Ja iestatīts uz 0, informācijas izmaiņas tiks veiktas bez efektiem, ja ir izvēlēts automātiskais režīms (simbols " A"), efekti mainīsies pa vienam. Ja ir atlasīts režīmsr, tad efekti mainīsies nejauši.

- izvēlieties animācijas ātrumu. Nozīmīgākajā ciparā simbols "P". Iestatījumu diapazons ir 0÷99. Viena vienība atbilst aptuveni 2 ms, jo lielāka vērtība, jo lēnāka ir animācija.

Grupa Gaišs:

– iespējot automātisku indikatora spilgtuma kontroli. Nozīmīgākajā ciparā simbols "A", jaunākajos" Ieslēgts"ja ir iespējota automātiskā regulēšana",OF" ja spilgtums ir iestatīts manuāli;

– minimālais spilgtuma slieksnis automātiskajam režīmam. Ar augstākajiem cipariem simboli "L_ ".

– maksimālais spilgtuma slieksnis automātiskajam režīmam. Ar augstākajiem cipariem simboli "L¯ ".

– spilgtuma līmenis manuālajā režīmā. Ar augstākajiem cipariem simboli "L".

2.3. Iestatāmais parametrs mirgo.

2.4. Turot pogasPLUS/ MINUSSParametrs tiek ātri iestatīts.

3. Piezīmes.

1. Minimālajam un maksimālajam spilgtuma slieksnim iestatīšanas diapazons ir 0 ÷ 99, bet programma ievieš ierobežojumus: minimums nevar būt lielāks vai vienāds ar maksimālo un otrādi.

2. Iestatot spilgtuma parametrus, informācija uz indikatora tiek parādīta ar izvēlēto spilgtuma vērtību.

3. Nepieciešams salīdzināt animācijas ātrumu un informācijas parādīšanas laiku. Ja ir atlasīta lēna animācija un īss displeja laiks, var izrādīties, ka informācijai nav laika pilnībā atjaunināt pirms nākamās maiņas.

Šī raksta materiālu apspriešanai ir izveidota tēma.

Video par programmas darbību t lietotājsvilks2000.

Šis elektroniskais pulkstenis, kas veidots uz mikrokontrolleri Atmega8, ir aprīkots ar viegli nolasāmu LED displeju, modinātāju ar snaudas funkciju un jaudas atjaunošanas funkciju.

Skatīties specifikācijas

  • laika displeja formāts: stundas, minūtes;
  • modinātājs ar snaudas funkciju;
  • vienkārša vadība, izmantojot 2 pogas;
  • Akumulatora darbības atbalsts;
  • barošanas spriegums: 7…12V / 0,2 A;
  • divu iespiedshēmu plates izmēri: 60×21 mm, 58×44 mm.

Pulksteņa shematiskā diagramma ir parādīta attēlā zemāk. Pulksteņa ķēde jābaro ar pastāvīgu spriegumu diapazonā no 7...12V. Tas var būt jebkurš ar strāvas slodzi vismaz 200 mA.

Plātnes CON5 savienotājam var pieslēgt zummeru ar ģeneratoru, kas darbosies kā trauksmes signāls. Pogas ir savienotas ar iespiedshēmas plates spailēm SA1 un SA2, ko izmanto iestatījumu ievadīšanai un pulksteņa darbināšanai.

Laika un modinātāja iestatīšana

Nospiežot pogu SA1, mēs nonākam pulksteņa izvēlnē “Set1”, kurā ir iespēja iestatīt pašreizējo laiku, un vēl viena īsa SA1 pogas nospiešana nonāk modinātāja laika iestatīšanas izvēlnē “Set2”.

Lai atlasītu un mainītu iestatījumus, izmantojiet pogu SA2. Pēc atlases gan laika iestatīšanas režīmā, gan modinātāja iestatīšanas režīmā displejā sāks mirgot pirmais cipars, pēc kura jūs varat iestatīt desmitiem stundu, izmantojot pogu SA2.

Vēlreiz nospiežot SA1, sāks mirgot otrais cipars, un, izmantojot SA2, varat iestatīt stundu mērvienības. Nākamās divas SA1 nospiešanas ļaus iestatīt desmitiem minūšu un minūšu vienības. Iestatot stundas un minūtes, vienmēr tiek iestatīts tikai viens cipars. Piekto reizi nospiežot SA1, pulkstenis atgriežas normālā režīmā. Turklāt, ilgstoši nenospiežot nevienu pogu, instalēšanas procedūras tiks pārtrauktas.

Kamēr pulkstenis darbojas, ilgi nospiežot pogu SA2, modinātājs tiek ieslēgts/izslēgts. Kad modinātājs ir aktivizēts, uz dažām sekundēm tiek parādīts sākuma laiks. Trauksmes statusu norāda punkts, kas atrodas ceturtajā ciparā. Kad modinātājs ir aktīvs, šis indikators iedegas.

Pēc modinātāja ieslēgšanas varat nospiest jebkuru pogu, lai to izslēgtu uz aptuveni 5 minūtēm, un tiks aktivizēta atlikšanas funkcija. Par šo faktu norāda mirgojošs punkts indikatora ceturtajā ciparā. Pēc 5 minūtēm modinātājs atskanēs vēlreiz. Vēlreiz nospiežot jebkuru pogu, to var atlikt vēl uz 5 minūtēm utt.

Trauksmes signāls tiek pilnībā izslēgts pēc ilgstošas ​​SA2 taustiņa nospiešanas vai aptuveni pusotras minūtes, ja lietotājs nereaģē.

Pulksteņa darbība ir pārbaudīta Proteus:

Ja pulksteņa darbības laikā izrādās, ka pulkstenis ievērojami atpaliek vai steidzas, varat mēģināt samazināt vai palielināt kondensatora C1 vērtību.

(34,7 Kb, lejupielādes: 1923)

Skatieties kanālā ATmega8.

  • 10 trauksmes signāli katrai nedēļas dienai.
  • Aizkaves signāls, ja modinātājs nav izslēgts, nodziest apmēram pēc 5 minūtēm.
  • Divi modinātāji uz atsevišķas MK kājas, slodze ieslēgšana/izslēgšana.
  • Divi DS18B20 temperatūras sensori (mājās un ārā).
  • Temperatūras displeja izvēle (nulles izslēgšana).
  • Taimeris 99 stundas.
  • Indikatora spilgtums ir regulējams dienas un nakts laikam.
  • Mainīgais parametrs vienmērīgi maina spilgtumu.
  • Kad tiek zaudēti 220 volti, akumulatora patēriņš ir mazāks par 40 mikroampēriem.
  • Modinātājs ieslēdzas jebkurā barošanas režīmā.
  • Pulkstenis var parādīt līdz 8 režīmiem.
  • Ķēdē var izmantot indikatorus ar kopēju anodu vai katodu.

Pulkstenis var rādīt līdz pat 8 režīmiem, kuriem var izvēlēties vienu no piecpadsmit displeja formātiem, rādīšanas laiku un izlaišanas reižu skaitu.

Displeja formāti.
0

Datums, Nedēļas diena, Stundas-minūtes.

1

Stundas-minūtes-sekundes.

2

Stundas un minūtes.

3

Stundas-minūtes, nedēļas diena.

4

Mēneša_diena_nedēļas diena.

5

Diena mēnesis Gads.

6

Diena mēnesis gads nedēļas diena.

7
8

Temperatūras 1 sensors (mājas sensors).

9

Temperatūras 2 sensors (sensors ārpusē).

A

Temperatūras 1 sensors, Stundas-minūtes.

b

Temperatūras 2 sensors, Stundas-minūtes.

C

Temperatūras 1 sensors, Temperatūras 2 sensors.

d

Temperatūras 1 sensors, Temperatūras 2 sensors.

E

Nedēļas diena numurs mēnesis gads.

F

Diena mēnesis Gads.

Režīmos, kur nav norādītas grādu desmitdaļas, punkts nosaka vairāk nekā 0,5 grādus.

Poga F — iziet no režīma. 3 galveno režīmu izvēle.
SET poga - ieiet izvēlētajā režīmā. Pēc tam pārejiet uz nākamo parametru (mirgojošs lauks).
PLUS poga - plus/ieslēgts. SETUP režīmā ritiniet galvenās izvēlnes.
MĪNUSA poga - mīnuss/__(izslēgts). SETUP režīmā ritiniet galvenās izvēlnes.

Visiem režīmiem, izņemot nulles un taimera režīmus, ir laika izbeigšana. Ja ilgāk par 30 sekundēm netiek nospiests neviens režīms, režīms tiek iestatīts uz nulli.

ZVANU režīms

SETUP režīms.
Lai ierakstītu vērtības EEPROM, jums ir jāapstiprina visas vērtības apakšrežīmā, nospiežot SET.
Piemērs: LIGHT ->SET-> L.ooooo ->SET-> HO4b L.2 ->SET-> LIGHT .

PORT režīms.

Pulksteņa režīms.

Sekunžu pielāgošana. Nospiežot MĪNUSS, sekundes tiek atiestatītas uz nulli. Ja bija vairāk nekā 31 sekunde, minūtes tiek palielinātas.
Tālāk seko minūšu un stundu iestatīšana.
Uzstādīts:
diena, mēnesis, gads un nedēļas diena.
Pulksteņa korekcija. Šī vērtība tiek pievienota vai atņemta katru stundu. Solis 0,008 sekundes. (50 vērtības), maksimālā vērtība 0,391. Aprēķina piemērs: ar korekciju, kas vienāda ar nulli, mēra pulksteņa novirzi, piemēram, 5 dienās pulkstenis ir aizskrējis par 3 sekundēm, tad korekcija ir tieši 3/(5*24)=0,025.

Iestatiet režīmu SEE.

Nulles režīmā pulkstenis pārmaiņus rāda līdz 8 režīmiem, kuriem ir izvēlēts viens no desmit displeja formātiem un tā rādīšanas laiks. (augšējā tabula).
1 režīma izvēle.
r 5 atlasiet vienu no piecpadsmit displeja formātiem.
Ar 03 laiks sekundēs, cik ilgi izvēlētais režīms būs redzams.
n 0 cik reizes izlaist (nerādi) režīmā. Piemērs:
1 r0 c03n0
2 r5 c03n0
3 r4 c02n1
r0; r5; r4; r0; r5; r4; r0; r5; r4; r0; r5; r4; ..
r4; — redzams, r4; - palaida garām.
Kad laiks ir 00, režīms tiek atspējots.

Mode USt Bud. Signalizācijas iestatījumi.

Bip trauksmes signāls - PWM.
Piespraust trauksmes signāls - mute 1 izejas pumpī.
Abi Aizbīdnis un izvade.
Signāla aizkave.
Iestata signāla aizkaves skaitu.
Kad izslēgts Atlikt (00) izslēdz modinātāju, nospiežot jebkuru taustiņu.
Kad ieslēgts modinātāja atlikšana pogu F, nospiežot SET PLUS MINUS pogas, signāls izslēdzas, bet atkal darbosies pēc aptuveni 5 minūtēm.
Kad signāla aizkave ir aktīva, nulles režīmā mirgo pēdējā cipara punkts.
Atspējot aizkavi (ja nav signāla). Režīmā 0, nospiežot SET ieslēgtu. šis režīms. Aktīvās aizkaves klātbūtne izraisa simbolu O 4. iepazīšanās vietā. Nospiežot PLUS MINUS, aizkave tiek izslēgta.

DS18B20 režīms.

Gaismas režīms.

Signāla režīms.

Atiestatīšanas režīms.

Darbības nulles režīmā.

F - režīma izvēle.
SET - signāla aiztures atcelšanas režīms
PLUS — iestatiet SEE režīmu.
MINUSS - modinātāju iestatīšana.

Katru stundu uz vienu sekundi tiek iestatīta tapa PB2(16).

Lai ietaupītu naudu, signāla aizkave ir aizliegta akumulatora režīmā. Arī taimeris apstājas.

Avots WinAVR-20060421. Programmaparatūras anods, katods un programmaparatūra ķēdei ar lieliem indikatoriem. Ar automātisku pāreju uz vasaras/ziemas laiku.
Nav pārejas uz vasaras/ziemas laiku.
Diagramma lieliem indikatoriem. Iesūtījis Aleksejs.



Es vēršu jūsu uzmanību uz vienkāršu diagrammu un dizainu " Divu kanālu termometrs, pulkstenis uz ATmega8, DS18B20, DS1307, LCD (ZhK) 1602«.
Dizains ļauj parādīt pašreizējo laiku, datumu, mēnesi, nedēļas dienu un pašreizējo temperatūru no diviem digitālajiem temperatūras sensoriem uz divu līniju simbola indikatora.

Divu kanālu termometra un pulksteņa diagramma

Dizains ir samontēts uz ATmega8-16PU mikrokontrollera, DS1307 reāllaika pulksteņa mikroshēmas DIP paketē, DS18B20 digitālajiem temperatūras sensoriem un LCD1602 LCD indikatora.


Programmā tika izveidota ierīces diagramma
Temperatūras sensori ir savienoti ar savienotājiem DS1 un DS2:
— tapa 1 — uz sensora GND tapu
— tapa 2 — uz sensora DQ tapu
— kontakts 3 — uz sensora Vcc tapu

Sensoru savienojumi diagrammā neatbilst iespiedshēmas platei.
Programma ir pielāgota iespiedshēmas platei, jums ir jāpievieno:
— 1. sensors uz PB1 (15. kontakts)
— 2. sensors uz PB2 (16. kontakts)

Es vēršu jūsu uzmanību uz mikrokontrollera D porta tapu savienošanu ar indikatora tapām:
- Mikrokontrollera PD0 - uz indikatora tapu D7
- Mikrokontrollera PD1 - uz indikatora tapu D6
- Mikrokontrollera PD2 - uz indikatora tapu D5
- Mikrokontrollera PD3 - uz indikatora tapu D4
Šis savienojums tika izvēlēts, lai vienkāršotu celiņu izkārtojumu uz iespiedshēmas plates.

Dizainā izmantotās detaļas:

LCD displejs ir 2 rindu, 16 rakstzīmju negatīvs, baltas rakstzīmes uz tumši zila fona ar baltu fona apgaismojumu. Varat arī izmantot jebkuru līdzīgu rakstzīmju sintezējošu (simbolisku) divu rindu, 16 rakstzīmju indikatoru ar vai bez kirilicas atbalsta, kas atbalsta HD44780 tipa kontrollera komandu sistēmu:
— STN (FSTN) Negatīvs (zils vai melns) ar fona apgaismojumu (tas tiek izmantots dizainā) — šādi indikatori darbojas tikai ar fona apgaismojumu
- FSTN pozitīvais, TN pozitīvais, HTN pozitīvais - ar vai bez fona apgaismojuma
Izmantotajam ķīniešu LCD indikatoram nav iebūvēta kirilicas alfabēta, tāpēc, lai būtu skaidrība par nedēļas dienas rādīšanu indikatorā, rakstzīmju ģeneratora RAM (CGRAM) tiek ierakstītas pielāgotas rakstzīmes - “P”, “n” , “t”, “H”, “b” un divas rakstzīmes apgrieztā formā “D” un “U”.

Divu kanālu termometra un pulksteņa iespiedshēmas plate

Dizains ir samontēts uz vienpusējas iespiedshēmas plates, visas izmantotās detaļas tiek “izvadītas”
Programmā tika izveidota ierīces iespiedshēmas plate.
Uz tāfeles ir trīs džemperi - P1, P2, P3
Kvarca rezonators ir uzstādīts “guļus” uz plates ar džemperi pielodēts pie kontakta paliktņa uz plates zem rezonatora.

Divu kanālu termometra un pulksteņa darbības apraksts

Dizaina "D" pamats divu kanālu termometrs, pulkstenis" ir mikrokontrolleris ATmega8 DIP pakotnē ar takts frekvenci 1 MHz no iebūvēta oscilatora ar iekšējo RC ķēdi. FUSE bitu iestatīšana ir noklusējuma iestatījums, nekas nav jāmaina.
Pašreizējā laika noteikšanai tiek izmantota reāllaika pulksteņa mikroshēma DS1307, kas skaita sekundes, minūtes, stundas, mēneša datumu, mēnesi, nedēļas dienu un gadu ar garā gada kompensāciju, kas ir spēkā līdz 2100. gadam.
Tiek parādīts tikai sekojošais:
- pašreizējais laiks - stundas un minūtes
- mēneša datums
- mēnesis
- nedēļas diena
Kā temperatūras sensori tiek izmantoti divi digitālie temperatūras sensori DS18B20, kas ļauj izmērīt pašreizējo temperatūru robežās no -45 grādiem līdz +125 grādiem pēc Celsija ar precizitāti līdz 0,5 grādiem.
Katra sensora pašreizējā temperatūra tiek parādīta ar izšķirtspēju 0,1 °C
Pirms katras temperatūras vērtības simboli “D” un “U” tiek parādīti apgrieztā formā:
- "D" - temperatūra mājā
— “U” — ārējā temperatūra

Programmas darbība tiek organizēta ar pārplūdes pārtraukumiem no taimera T1, kas notiek ik pēc 4 sekundēm. Pašreizējais laiks tiek atjaunināts ik pēc 4 sekundēm, pašreizējās temperatūras no sensoriem tiek atjauninātas pārmaiņus, ik pēc 4 sekundēm.

Ierīce tiek darbināta no stabilizēta barošanas avota ar spriegumu 5 volti, jūs varat izmantot lādētāju no mobilā tālruņa vai autonomu barošanas avotu - akumulatoru. Strāvas patēriņš ir atkarīgs no fona apgaismojuma spilgtuma (rezistora R3 vērtība) un konkrētā gadījumā ir 12 mA.

Ierīci kontrolē divas pogas:
— S1 — “Atlase”
— S2 — “Instalēšana”

Ieslēdzot ierīci pirmo reizi (vai katru reizi, kad tā tiek ieslēgta, ja nav rezerves barošanas avota DS1307 - BAT1), ierīce pāriet instalēšanas režīmā “Pilna”. Šajā gadījumā ir nepieciešams iestatīt pašreizējo gadu, mēnesi, datumu, nedēļas dienu un pašreizējo laiku - stundas un minūtes. Šajā režīmā skaidrojošā informācija netika tulkota krievu valodā (atšķirībā no nedēļas dienas norādes), visi skaidrojumi tiek parādīti angļu valodā (pilnīga instalēšana tiek veikta ārkārtīgi reti, to nav grūti saprast):

Gada iestatīšana:
Mirgojošs kursors balta taisnstūra formā norāda, kur un kas jāievada:
— ar pogu “Instalēt” — mēs to iestatījām uz desmitiem gadu
— izmantojot pogu “Atlasīt”, pārejiet pie gada mērvienību iestatīšanas
— izmantojot pogu Iestatīšana — iestatiet gada vienību vērtību
— ar pogu “Atlasīt” — pārejiet uz nākamo iestatījumu

Mēneša iestatīšana uz “Mēnesis”
- līdzīgi kā gada iestatīšana

Mēneša dienas iestatīšana “Dati”:
- līdzīgi kā gada iestatīšana

Nedēļas dienas “Nedēļa” iestatīšana:
- līdzīgi kā gada iestatīšanai, ar - 1 - P, 2 - Ot, 3 - Tre, 4 - Ce, 5 - Piekt, 6 - Sest, 7 - Sv.

Pašreizējā laika iestatīšana “Hour_Min”
Piemēram, pašreizējais laiks ir 17 stundas 39 minūtes:
— ar pogu “Instalēt” — mēs iestatām desmitiem stundu — 1
— izmantojot pogu “Atlasīt”, pārejiet pie stundu vienību iestatīšanas
— izmantojot pogu Iestatīšana — iestatiet stundu mērvienības — 7
— ar pogu “Atlasīt” — pārejiet uz desmitiem minūšu iestatījumu — 4
— izmantojot pogu Iestatīšana — iestatiet minūšu mērvienības uz -0
— sekundes displejos jau ir norādītas kā “00”
— tieši 17 stundas 40 minūtes nospiediet pogu “Atlasīt”, un pašreizējais laiks 17 stundas 40 minūtes 00 sekundes tiks ierakstīts DS1307

Darbības režīmā pogas “Atlasīt” un “Instalēt” ļauj pārslēgties uz šādiem režīmiem:
Atlasīšanas poga— laika korekcija (šajā gadījumā tiek iestatīts tikai pašreizējais laiks “Hour_Min”, kā aprakstīts iepriekš)
Poga "Instalēt".- “Pilna” instalācija
Lai pārietu uz vēlamo režīmu, jānospiež atbilstošā poga un turiet to, līdz displeja ekrāns nodziest. Pēc displeja tīrīšanas atlaidiet pogu un pēc sekundes pārejam uz izvēlēto režīmu.

Dizains tika izstrādāts un pārbaudīts uz maizes dēļa, tas netika samontēts aparatūrā.
Bija daudz komentāru par to, ka ierīce nedarbojas un iespiedshēmas plate neatbilst shēmas shēmai.
Tika nolemts ierīci atjaunot aparatūrā.
Zemāk ir samontētās ierīces fotoattēli atbilstoši šajā lapā publicētajai shēmai, iespiedshēmas platei un programmaparatūrai.
Ierīce nekavējoties sāka darboties, nekādas problēmas netika novērotas.
Iespiedshēmas plate ir izgatavota, izmantojot LUT metodi. Kļūdas dēļ, uzstādot mikroshēmas uz tāfeles, tās nācās atlodēt un pārkārtot (un vecenē ir caurums), kā rezultātā tika sabojāti drukātie vadītāji un līdz ar to izskats nav īpaši labs. labi, džemperis P2 ir uzstādīts apdrukāto vadu sānos (neurba caurumus), DS1 sensors ir savienots ar apmēram 1 metru garu kabeli (tā, lai tas būtu apmēram 30 cm augstumā no grīdas, DS2 sensors ir savienots ar 5 metrus garu kabeli un iznests pa logu Sensoru pieslēgšanas savienotāji ņemti no veco datoru dzesētājiem.

Bija viena problēma - RTC DS1307 neieslēdzās uzreiz, iemesls bija kolofonija starp kvarca tapām. Pēc dēļa mazgāšanas pulkstenis sāka darboties.

(10,8 KiB, 1990 trāpījumi)

(27,3 KiB, 1471 trāpījums)

(390,1 KiB, 1288 trāpījumi)

(51,7 KiB, 2476 trāpījumi)

Lejupielādēt no YandexDisk (papildus - datu lapas krievu valodā)

Visas nepieciešamās detaļas “Divkanālu termometra, pulksteņa uz ATmega8, DS18B20, Ds1307” komplektēšanai, ieskaitot programmēto mikrokontrolleri, varat pasūtīt mājaslapas interneta veikalā