უყურეთ ATmega8-ზე. ორარხიანი თერმომეტრი, საათი ATmega8, DS18B20, DS1307, LCD1602 მარტივი საათი atmega8 მიკროკონტროლერზე

საათის კონცეფცია დიდი რიცხვებით

სტრუქტურულად, მოწყობილობა შედგება ორი დაფისგან - ერთი მეორეზე მაღლა. პირველი დაფა არის LED-ების მატრიცა, რომელიც ქმნის საათებსა და წუთებს, მეორე არის დენის ნაწილი (LED კონტროლი), ლოგიკა და კვების წყარო. ეს დიზაინი გახდის საათს უფრო კომპაქტურს (გარსაცმის გარეშე, დაახლოებით 22 სმ x 9 სმ, 4-5 სანტიმეტრი სისქით) + შესაძლებელს გახდის მატრიცის სხვა პროექტზე გადახრას, თუ რამე არასწორედ მოხდება.

დენის ნაწილი აშენდება UL2003 დრაივერის და ტრანზისტორი გადამრთველების საფუძველზე. ლოგიკური - Atmega8-ზე და DS1307-ზე. კვების ბლოკი: 220 ვ - ტრანსფორმატორი; ლოგიკური 5V (7805-ით), დენის ნაწილი - 12V (LM2576ADJ-ის მეშვეობით). იქნება ცალკე განყოფილება 3 ვ ბატარეისთვის რეალური დროის საათის ავტონომიური კვებისათვის - DS1307.

ვფიქრობ Atmega8-ის და DS1307-ის გამოყენებას (საათი ჭერიდან ჩამოკიდებას ვგეგმავ, რომ ელექტროენერგიის გათიშვის შემთხვევაში ყოველ ჯერზე არ მომიწიოს პარამეტრებზე ჩხუბი), თუმცა დაფის განლაგება გულისხმობს მოწყობილობის მუშაობის შესაძლებლობა DS1307-ის გარეშე (პირველად და შესაძლოა სამუდამოდ - როგორ იმუშავებს).

ამრიგად, კონფიგურაციის მიხედვით, საათის პროგრამის ოპერაციული ალგორითმი იქნება შემდეგი:

Atmega8- დროის მრიცხველი ტაიმერით. იმუშავეთ ციკლში პაუზების გარეშე: კლავიატურის გამოკითხვა, დროის რეგულირება (საჭიროების შემთხვევაში), 4 ციფრის და გამყოფის ჩვენება.

Atmega8 + DS1307. იმუშავეთ ციკლში პაუზების გარეშე: კლავიატურის გამოკითხვა, DS1307 დროის რეგულირება (საჭიროების შემთხვევაში), დროის წაკითხვა DS1307-დან, 4 ციფრის ჩვენება და გამყოფი. ან სხვა ვარიანტი - წაკითხვა DS1307-დან ტაიმერზე, დანარჩენი მარყუჟში (ჯერ არ ვიცი, რამდენად უკეთესია).

სეგმენტი შედგება 4 წითელი LED-ისგან, რომლებიც დაკავშირებულია სერიაში. ერთი ციფრი – 7 სეგმენტი საერთო ანოდით. მე არ ვაპირებ სეგმენტების გამოყოფას რვა ფიგურის ნიმუშის გამოყენებით, როგორც ეს ხდება ჩვეულებრივ ინდიკატორებში.

საათის დენის ნაწილი

საათის დენის ნაწილი აგებულია UL2003 დრაივერზე და ტრანზისტორი გადამრთველებზე VT1 და VT2.

UL2003 პასუხისმგებელია ინდიკატორის სეგმენტების კონტროლზე, კლავიშები არის ციფრების კონტროლი.

საათისა და წუთის გამყოფი კონტროლდება ცალკე (სიგნალი K8).

სეგმენტები, ბიტები და გამყოფი კონტროლდება მიკროკონტროლერის მიერ K1-K8, Z1-Z4 დადებითი პოტენციალის გამოყენებით (ანუ +5V) გამოყენებით.

სიგნალები სეგმენტებსა და ბიტებზე უნდა იყოს მიწოდებული სინქრონულად და გარკვეული სიხშირით, რათა უზრუნველყოს ინფორმაციის დინამიური გამომავალი (საათები და წუთები).

ტრანზისტორი BCP52 შეიძლება გამოყენებულ იქნას როგორც ტრანზისტორი VT1 (BCP53).

საათის დენის ნაწილის სქემა დიდი რიცხვებით

შვიდსეგმენტიანი ინდიკატორის ბეჭდური მიკროსქემის დაფა დიდი რიცხვებით საათისთვის

როგორც ადრე ვთქვი, საათი შედგება ორი ბეჭდური მიკროსქემის დაფისგან - ინდიკატორის დაფა + ლოგიკა და დენის ნაწილი.

დავიწყოთ ინდიკატორის მიკროსქემის დაფის დიზაინით და დამზადებით.

ბეჭდური მიკროსქემის დაფის შემუშავება შვიდსეგმენტიანი ინდიკატორისთვის დიდი რიცხვების მქონე საათისთვის

შვიდსეგმენტიანი ინდიკატორის ბეჭდური მიკროსქემის დაფა „ლაის“ ფორმატში დიდი რიცხვების მქონე საათისთვის განთავსებულია სტატიის ბოლოს, თანდართულ ფაილებში. თქვენ შეგიძლიათ წაიკითხოთ ბეჭდური მიკროსქემის დაფების წარმოების ტექნოლოგიის შესახებ LUT მეთოდის გამოყენებით.

თუ ყველაფერი სწორად გააკეთეთ, მზა PCB ასე გამოიყურება.

შვიდსეგმენტიანი ინდიკატორის დასრულებული ბეჭდური მიკროსქემის დაფა დიდი რიცხვების მქონე საათისთვის

შვიდსეგმენტიანი ინდიკატორის შეკრება

ვინაიდან ინდიკატორის დაფა ორმხრივია, პირველი, რაც უნდა გააკეთოთ, არის ფენების გადასვლები. ამას ვაკეთებ არასაჭირო ნაწილების ფეხების გამოყენებით - მათ ნახვრეტებში ვატარებ და ორივე მხრიდან ვამაგრებ. როდესაც ყველა გადასვლები დასრულდება, მე ვასუფთავებ მათ ბრტყელი, თხელი ფაილით - გამოდის ძალიან მოწესრიგებული და ლამაზი.

ინდიკატორის დაფაზე შრეთაშორისი ფლაკონები

შემდეგი ნაბიჯი, ფაქტობრივად, არის ინდიკატორის შეკრება. რატომ გვჭირდება წითელი (მწვანე, თეთრი, ლურჯი) LED-ების შეკვრა? მაგალითად, მე ავიღე ესენი.

ემზადება ინდიკატორის ასაწყობად

დიოდების დაყენებისას არ დაგავიწყდეთ, რომ ინდიკატორს ვაკეთებთ საერთო ანოდით - ე.ი. "+" დიოდები ერთმანეთთან უნდა იყოს დაკავშირებული. ჩვეულებრივი ანოდები PCB-ზე არის სპილენძის დიდი ნაჭრები. აუცილებლად მიაქციეთ ყურადღება გამყოფი წერტილის ანოდს.

ანოდების მდებარეობა ინდიკატორის დაბეჭდილი მიკროსქემის დაფაზე

შედეგად, 2 საათიანი შრომატევადი მუშაობის შემდეგ თქვენ უნდა მიიღოთ ეს:

შვიდი სეგმენტის მაჩვენებელი

საათის ციფრული ნაწილი

საათის ციფრულ ნაწილს დიდი ნომრებით შევკრებთ შემდეგი სქემის მიხედვით:

საათის დიაგრამა დიდი რიცხვებით

საათის წრე საკმაოდ გამჭვირვალეა, ამიტომ ვერ ვხედავ აზრს იმის ახსნაში, თუ როგორ მუშაობს. ბეჭდური მიკროსქემის დაფა *.lay ფორმატში შეგიძლიათ ჩამოტვირთოთ სტატიის ბოლოს. აღვნიშნავ, რომ ბეჭდური მიკროსქემის დაფა ძირითადად განკუთვნილია ზედაპირული ნაწილებისთვის.

ასე რომ, ელემენტის ბაზა, რომელიც მე გამოვიყენე:

1. დიოდური ხიდი DFA028 (ნებისმიერი კომპაქტური ზედაპირის დასამონტაჟებლად გამოდგება);
2. ძაბვის რეგულატორები LM2576ADJ D2PAK კორპუსში, 78M05 HSOP3-P-2.30A კორპუსში;
3. ტრანზისტორი გადამრთველები BCP53 (SOT223 კორპუსი) და BC847 (SOT23 კორპუსი);
4. Atmega8 მიკროკონტროლერი (TQFP);
5. რეალურ დროში საათი DS1307 (SO8);
6. კვების წყარო 14V 1.2A ზოგიერთი ძველი მოწყობილობიდან;
7. დარჩენილი ნაწილები არის ნებისმიერი ტიპის, ზომით შესაფერისი ბეჭდური მიკროსქემის დაფაზე დასაყენებლად.

რა თქმა უნდა, თუ გსურთ გამოიყენოთ სხვა ნაწილების პაკეტები, დაგჭირდებათ გარკვეული ცვლილებების შეტანა PCB-ში.

ყურადღება მიაქციეთ წინააღმდეგობის მნიშვნელობებს R3 და R4 - ისინი უნდა იყოს ზუსტად ისე, როგორც მითითებულია დიაგრამაზე - არც მეტი, არც ნაკლები. ეს კეთდება იმისათვის, რომ უზრუნველყოს ზუსტად 12 ვოლტი LM2576ADJ ძაბვის რეგულატორის გამოსავალზე. თუ თქვენ ჯერ კიდევ ვერ იპოვით რეზისტორების ასეთ მნიშვნელობებს, მაშინ R4 წინააღმდეგობის მნიშვნელობა შეიძლება გამოითვალოს ფორმულის გამოყენებით:

R4=R3(12/1.23-1) ან R4=8.76R3

ციფრული ნაწილის აწყობა. ვერსია 1, DS1307-ის გარეშე

თუ საათისთვის ბეჭდური მიკროსქემის დაფის დამზადებისას დაიცავით რეკომენდაციები, მაშინ არ არის საჭირო შეგახსენოთ, რომ აწყობამდე, ბეჭდური მიკროსქემის დაფა უნდა გაბურღოთ, მასზე ყველა ხილული მოკლე ჩართვა უნდა აღმოიფხვრას და დაფა უნდა იყოს დაფარული თხევადი როზინით? შემდეგ ვიწყებთ საათის აწყობას.

გირჩევთ დაიწყოთ კვების წყაროს აწყობა და მხოლოდ ამის შემდეგ ციფრული ნაწილის დაყენება. ეს არის ზოგადი რეკომენდაცია მოწყობილობების თვითშეკრებისთვის. რატომ? უბრალოდ იმიტომ, რომ თუ ელექტრომომარაგება შეცდომით არის აწყობილი, შეგიძლიათ დაწვათ ყველა დაბალი ძაბვის ელექტრონიკა, რომელიც უნდა იკვებებოდეს ამ ელექტრომომარაგებით.

თუ ყველაფერი სწორად გაკეთდა, ელექტრომომარაგება დაუყოვნებლივ უნდა იმუშაოს. ჩვენ ვამოწმებთ ელექტრომომარაგების შეკრებას - გავზომოთ ძაბვა ტესტის წერტილებში.

ფიგურაში ნაჩვენებია ტესტის წერტილები, რომლებშიც უნდა შემოწმდეს მიწოდების ძაბვა. თუ ძაბვა შეესაბამება დეკლარირებულ ძაბვას, შეგიძლიათ დაიწყოთ საათის ციფრული ნაწილის აწყობა. წინააღმდეგ შემთხვევაში, ჩვენ ვამოწმებთ ელექტრომომარაგების ელემენტების მონტაჟს და ფუნქციონირებას.

ტესტის წერტილები და ძაბვის მნიშვნელობები საათის ელექტრომომარაგებისთვის

ელექტრომომარაგების შემოწმების შემდეგ ვაგრძელებთ საათის ციფრული ნაწილის აწყობას - ყველა სხვა ელემენტის დამონტაჟებას ბეჭდური მიკროსქემის დაფაზე. ჩვენ ვამოწმებთ მოკლე ჩართვას, განსაკუთრებით Atmega მიკროკონტროლერის და UL2003 დრაივერის ფეხებში.

საათის ციფრული ნაწილის დაყენება

გთხოვთ გაითვალისწინოთ, რომ ჩვენ ვაწყობთ საათს DS1307 რეალურ დროში საათის დაყენების გარეშე, თუმცა, ამ ჩიპის ყველა გაყვანილობა უნდა დასრულდეს. მომავალში, საჭიროების შემთხვევაში, ეს დაგვიზოგავს დროს მეორე ვერსიისთვის საათის შეცვლაზე, სადაც კვლავ იქნება გამოყენებული DS1307-ზე ცალკე, დამოუკიდებელი, რეალურ დროში საათი.

ATMEGA8 მიკროკონტროლერის წინასწარი ტესტირება

მიკროკონტროლერის სისწორისა და ფუნქციონირების შესამოწმებლად, ჩვენ გვჭირდება:

1. პროგრამისტი, მაგალითად.
2. მიკროკონტროლერის წრიული პროგრამირებისთვის.
3. AVRDUDESHELL პროგრამა.

ჩვენ ვაკავშირებთ საათის დაფას მონაცემთა კაბელთან. ჩვენ ვაკავშირებთ მონაცემთა კაბელს პროგრამისტს. პროგრამისტი კომპიუტერისთვის, რომელზეც დაინსტალირებულია AVRDUDESHELL პროგრამა. საათის დაფა არ უნდა იყოს დაკავშირებული 220 ვ დენის წყაროსთან.

მიკროკონტროლერიდან მონაცემების წარმატებით წაკითხვა AVRDUDESHELL პროგრამით

თუ პრობლემები წარმოიქმნება საკრავების წაკითხვისას, შეამოწმეთ ინსტალაცია - შეიძლება სადმე იყოს მოკლე ჩართვა ან "დაკარგული კავშირი". კიდევ ერთი რჩევა - შესაძლოა მიკროკონტროლერი დაბალსიჩქარიანი პროგრამირების რეჟიმშია, შემდეგ უბრალოდ გადართე პროგრამისტი ამ რეჟიმში (


- განგაში.
- თერმომეტრი.

1. ფუნქციები.

- მითითება. მონაცვლეობით.

პლუსმინუს

2. დაყენება.

2.2. ღილაკზე დაჭერითმენიუSET

ჯგუფი CLOC:

– წუთები;

- უყურებს;

პლუსან მინუს);

თან".

ჯგუფი ალარ:

ჩართულიაგამორთულია"თუ გამორთულია;

ჯგუფი diSP:

ტკ

tt

EF,

ჯგუფი LiGH:

"უმცროსებში" ჩართულიაOF

_ ".

¯ ".

".

2.4. ღილაკების დაჭერითპლუს/ მინუს

3. შენიშვნები.

საგანი .

პროგრამის მუშაობის ვიდეო t მომხმარებელიმგელი 2000.

- უყურეთ ციფრული სიზუსტის კორექტირებით.
- განგაში.
- თერმომეტრი.
- მითითება შვიდი სეგმენტის ინდიკატორზე.
- ინდიკატორის სიკაშკაშის ავტომატური რეგულირება.

1. ფუნქციები.

- საათი, დროის ჩვენების ფორმატი 24 საათი, საათი: წუთი.

- ციფრული სიზუსტის კორექტირება. ყოველდღიური კორექტირება შესაძლებელია ±25 წმ. მითითებული მნიშვნელობა 1 საათი 0 წუთი 30 წამი დაემატება/გამოკლდება მიმდინარე დროს.

- განგაში. მითითებულ დროს ერთი წუთის განმავლობაში ისმის მოკლე ორმაგი სიგნალები. თქვენ შეგიძლიათ გამორთოთ ხმა ვადაზე ადრე რომელიმე ღილაკზე დაჭერით. როდესაც მაღვიძარა ჩართულია, დროის ჩვენებისას წერტილი გამოჩნდება ყველაზე ნაკლებად მნიშვნელოვანი ციფრით.

- თერმომეტრი. გაზომილი ტემპერატურის დიაპაზონი არის -55.0 ÷ 125.0 o C. თუ ტემპერატურა 99.9-ზე ზემოთ ან -9.9 o C-ზე დაბალია, ხარისხის მეათედი არ არის ნაჩვენები.

- მითითება. მონაცვლეობით.

- წაკითხვის შეცვლადი ანიმაცია.

- მიკროკონტროლერის არასტაბილური მეხსიერების გამოყენება პარამეტრების შესანახად დენის გამორთვისას.

– თუ მთავარ რეჟიმში დააჭირეთ ღილაკსპლუს, მაშინ ინდიკატორებზე გამოჩნდება დრო, თუ დააწკაპუნებთმინუს- ტემპერატურა. როდესაც ღილაკები გათავისუფლდება, წაკითხვის ავტომატური ცვლილება განახლდება.

- ინდიკატორის სიკაშკაშის ავტომატური რეგულირება განათების მიხედვით.

2. დაყენება.

2.1. როდესაც დენი ჩართულია, საათი მთავარ რეჟიმშია.

2.2. ღილაკზე დაჭერითმენიუშედის პარამეტრების რეჟიმში და ირჩევს პარამეტრების ჯგუფს დასაინსტალირებლად. ჯგუფში დასაყენებელი პარამეტრი შეირჩევა ღილაკის გამოყენებითSET. რიგრიგობით ხელმისაწვდომია ინსტალაციისთვის:

ჯგუფი CLOC:

– წუთები;

- უყურებს;

– წამი (გადატვირთეთ ნულზე ღილაკების დაჭერისასპლუსან მინუს);

- კორექტირების მნიშვნელობა. ყველაზე მნიშვნელოვან ციფრში სიმბოლო " თან".

ჯგუფი ალარ:

- მაღვიძარას ჩართვა. ინდიკატორზე "ჩართულია"თუ მაღვიძარა ჩართულია",გამორთულია"თუ გამორთულია;

– წუთები, როდესაც მაღვიძარა ირთვება;

- მაღვიძარას დრო.

ჯგუფი diSP:

– მიმდინარე დროის მითითების დრო. ყველაზე მაღალ ციფრებში სიმბოლოები "ტკ". დიაპაზონის დაყენება 0÷99 წმ. თუ დაყენებულია 0-ზე, დრო არ გამოჩნდება;

- ტემპერატურის ჩვენების დრო. ყველაზე მაღალ ციფრებში სიმბოლოები "tt". დაყენების დიაპაზონი 0÷99 წმ. თუ დაყენებულია 0-ზე, ტემპერატურა არ გამოჩნდება;

- ანიმაციური ეფექტის შერჩევა. ყველაზე მაღალ ციფრებში სიმბოლოები "EFთუ დაყენებულია 0-ზე, ინფორმაციის ცვლილებები განხორციელდება ეფექტების გარეშე, თუ არჩეულია ავტომატური რეჟიმი (სიმბოლო " "), მაშინ ეფექტები სათითაოდ შეიცვლება. თუ რეჟიმი არჩეულია, მაშინ ეფექტები შემთხვევით შეიცვლება.

- აირჩიეთ ანიმაციის სიჩქარე. ყველაზე მნიშვნელოვან ციფრში სიმბოლო "". პარამეტრების დიაპაზონი არის 0÷99. ერთი ერთეული შეესაბამება დაახლოებით 2 ms, რაც უფრო მაღალია მნიშვნელობა, მით უფრო ნელია ანიმაცია.

ჯგუფი LiGH:

- ჩართეთ ინდიკატორის სიკაშკაშის ავტომატური კონტროლი. ყველაზე მნიშვნელოვან ციფრში სიმბოლო ""უმცროსებში" ჩართულია"თუ ავტომატური რეგულირება ჩართულია,"OFთუ სიკაშკაშე დაყენებულია ხელით;

- მინიმალური სიკაშკაშის ბარიერი ავტომატური რეჟიმისთვის. ყველაზე მაღალ ციფრებში სიმბოლოები "_ ".

- მაქსიმალური სიკაშკაშის ბარიერი ავტომატური რეჟიმისთვის. ყველაზე მაღალ ციფრებში სიმბოლოები "¯ ".

- სიკაშკაშის დონე ხელით რეჟიმში. ყველაზე მაღალ ციფრებში სიმბოლოები "".

2.3. დაყენებული პარამეტრი ციმციმებს.

2.4. ღილაკების დაჭერითპლუს/ მინუსპარამეტრი სწრაფად დაყენებულია.

3. შენიშვნები.

1. მინიმალური და მაქსიმალური სიკაშკაშის ზღურბლებისთვის, დაყენების დიაპაზონი არის 0 ÷ 99, მაგრამ პროგრამა შემოაქვს შეზღუდვები: მინიმალური არ შეიძლება იყოს მაქსიმუმზე მეტი ან ტოლი და პირიქით.

2. სიკაშკაშის პარამეტრების დაყენებისას, ინდიკატორზე ინფორმაცია ნაჩვენებია არჩეული სიკაშკაშის მნიშვნელობით.

3. აუცილებელია ანიმაციის სიჩქარის და ინფორმაციის ჩვენების დროის შედარება. თუ არჩეულია ნელი ანიმაცია და მოკლე ჩვენების დრო, შეიძლება აღმოჩნდეს, რომ ინფორმაციას არ აქვს დრო, რომ სრულად განახლდეს მომდევნო ცვლამდე.

შექმნილია თემა სტატიის მასალების განსახილველად.

პროგრამის მუშაობის ვიდეო t მომხმარებელიმგელი 2000.

Atmega8 მიკროკონტროლერზე აგებული ეს ელექტრონული საათი აღჭურვილია ადვილად წასაკითხი LED დისპლეით, მაღვიძარას snooze ფუნქციით და ენერგიის აღდგენის ფუნქციით.

საათის სპეციფიკაციები

  • დროის ჩვენების ფორმატი: საათი, წუთი;
  • მაღვიძარა snooze ფუნქციით;
  • მარტივი კონტროლი 2 ღილაკის გამოყენებით;
  • ბატარეის მუშაობის მხარდაჭერა;
  • მიწოდების ძაბვა: 7…12V / 0.2 A;
  • ორი დაბეჭდილი მიკროსქემის ზომები: 60×21 მმ, 58×44 მმ.

საათის სქემატური დიაგრამა ნაჩვენებია ქვემოთ მოცემულ ფიგურაში. საათის წრე უნდა იკვებებოდეს მუდმივი ძაბვით 7...12 ვ დიაპაზონში. ეს შეიძლება იყოს ნებისმიერი, მინიმუმ 200 mA მიმდინარე დატვირთვით.

გენერატორის ზუმერი შეიძლება დაერთოს დაფის CON5 კონექტორს, რომელიც იმოქმედებს როგორც განგაშის სიგნალი. ღილაკები დაკავშირებულია ბეჭდური მიკროსქემის დაფის SA1 და SA2 ტერმინალებთან, რომლებიც გამოიყენება პარამეტრების შესვლისა და საათის მუშაობისთვის.

დროის და განგაშის დაყენება

SA1 ღილაკზე დაჭერისას მივდივართ „Set1“ საათის მენიუში, სადაც გვაქვს მიმდინარე დროის დაყენების შესაძლებლობა, ხოლო SA1 ღილაკის კიდევ ერთი მოკლე დაჭერით მიგვიყვანს „Set2“ განგაშის დროის დაყენების მენიუში.

პარამეტრების შესარჩევად და შესაცვლელად გამოიყენეთ SA2 ღილაკი. როგორც დროის დაყენების, ასევე განგაშის რეჟიმის არჩევის შემდეგ, ეკრანზე დაიწყება ციმციმება პირველი ციფრი, რის შემდეგაც SA2 ღილაკის გამოყენებით შეგიძლიათ დააყენოთ ათობით საათი.

SA1-ის ხელახლა დაჭერა გამოიწვევს მეორე ციფრის ციმციმს და SA2-ის გამოყენებით შეგიძლიათ დააყენოთ საათის ერთეულები. SA1-ის შემდეგი ორი დაჭერა საშუალებას მოგცემთ დააყენოთ ათობით წუთი და წუთების ერთეული. საათებისა და წუთების დაყენებისას ყოველთვის მითითებულია მხოლოდ ერთი ციფრი. SA1 მეხუთედ დაჭერით საათს უბრუნდება ნორმალურ მუშაობას. ასევე, ხანგრძლივი დროის განმავლობაში რაიმე ღილაკების დაჭერის გარეშე შეწყდება ინსტალაციის პროცედურები.

სანამ საათი მუშაობს, SA2 ღილაკზე ხანგრძლივი დაჭერით მაღვიძარას ჩართვა/გამორთვა ხდება. როდესაც მაღვიძარა გააქტიურებულია, დაწყების დრო გამოჩნდება რამდენიმე წამის განმავლობაში. განგაშის სტატუსი მითითებულია მეოთხე ციფრზე მდებარე წერტილით. როდესაც განგაში გააქტიურებულია, ეს მაჩვენებელი ანათებს.

მაღვიძარას ჩართვის შემდეგ შეგიძლიათ დააჭიროთ ნებისმიერ ღილაკს, რომ გამორთოთ დაახლოებით 5 წუთის განმავლობაში და ჩაჩუმების ფუნქცია გააქტიურდება. ეს ფაქტი მითითებულია ინდიკატორის მეოთხე ციფრზე მოციმციმე წერტილით. 5 წუთის შემდეგ განგაში ისევ გაისმა. ნებისმიერ ღილაკზე ხელახლა დაჭერით შესაძლებელია მისი გადადება კიდევ 5 წუთით და ა.შ.

განგაშის სიგნალი მთლიანად გამორთულია SA2 ღილაკის ხანგრძლივი დაჭერის შემდეგ, ან მომხმარებლის მხრიდან რეაქციის ნაკლებობის წუთნახევრის შემდეგ.

საათის მოქმედება გამოცდილია Proteus-ში:

თუ საათის მუშაობის დროს აღმოჩნდება, რომ საათი მნიშვნელოვნად ჩამორჩება ან ჩქარობს, შეგიძლიათ სცადოთ C1 კონდენსატორის ღირებულების შემცირება ან გაზრდა.

(34.7 Kb, ჩამოტვირთვები: 1,923)

უყურეთ ATmega8-ზე.

  • 10 მაღვიძარა კვირის ყოველი დღისთვის.
  • სიგნალის დაყოვნება, თუ მაღვიძარა არ გამორთულია, ირთვება დაახლოებით 5 წუთის შემდეგ.
  • ორი მაღვიძარა ცალკე MK ფეხიზე, ჩატვირთვა ჩართვა/გამორთვა.
  • ორი DS18B20 ტემპერატურის სენსორი (სახლში და გარეთ).
  • ტემპერატურის ჩვენების არჩევა (ნულოვანი დაცლა).
  • ტაიმერი 99 საათი.
  • ინდიკატორის სიკაშკაშე რეგულირდება დღისა და ღამის განმავლობაში.
  • ცვლადი პარამეტრი შეუფერხებლად ცვლის სიკაშკაშეს.
  • როდესაც 220 ვოლტი იკარგება, ბატარეის მოხმარება 40 მიკროამპერზე ნაკლებია.
  • მაღვიძარა ირთვება ნებისმიერ დენის რეჟიმში.
  • საათს შეუძლია 8-მდე რეჟიმის ჩვენება.
  • წრეში შეიძლება გამოყენებულ იქნას ინდიკატორები საერთო ანოდით ან კათოდით.

საათს შეუძლია აჩვენოს 8-მდე რეჟიმი, რისთვისაც შეგიძლიათ აირჩიოთ ეკრანის თხუთმეტი ფორმატიდან ერთ-ერთი, მისი ჩვენების დრო და გამოტოვების რაოდენობა.

ჩვენების ფორმატები.
0

თარიღი, კვირის დღე, საათი-წუთები.

1

საათები-წუთები-წამები.

2

საათები და წუთები.

3

საათი-წუთები, კვირის დღე.

4

თვის_დღე_კვირის დღე.

5

დღე თვე წელი.

6

დღე თვე წელი კვირის დღე.

7
8

ტემპერატურის 1 სენსორი (სახლის სენსორი).

9

ტემპერატურის 2 სენსორი (სენსორი გარეთ).

ტემპერატურის 1 სენსორი, საათი-წუთი.

ტემპერატურის 2 სენსორი, საათი-წუთი.

C

ტემპერატურის 1 სენსორი, ტემპერატურის 2 სენსორი.

ტემპერატურის 1 სენსორი, ტემპერატურის 2 სენსორი.

კვირის დღე რიცხვი თვე წელი.

დღე თვე წელი.

რეჟიმებში, სადაც მეათედი გრადუსი არ არის მითითებული, წერტილი განსაზღვრავს 0,5 გრადუსზე მეტს.

ღილაკი F - გასვლის რეჟიმი. 3 ძირითადი რეჟიმის არჩევანი.
SET ღილაკი - შედის არჩეულ რეჟიმში. შემდეგ გადადით შემდეგ პარამეტრზე (მოციმციმე ველი).
PLUS ღილაკი - პლუს/ჩართვა. SETUP რეჟიმში გადაახვიეთ მთავარ მენიუში.
ღილაკი MINUS - მინუს/__(გამორთვა). SETUP რეჟიმში გადაახვიეთ მთავარ მენიუში.

ყველა რეჟიმს, გარდა ნულოვანი და ტაიმერის რეჟიმისა, აქვს დროის შეწყვეტა. თუ არ არის დაჭერილი 30 წამზე მეტი ხნის განმავლობაში, რეჟიმი დაყენებულია ნულზე.

CALLS რეჟიმი

SETUP რეჟიმი.
EEPROM-ში მნიშვნელობების ჩასაწერად, თქვენ უნდა დაადასტუროთ ყველა მნიშვნელობა ქვერეჟიმში SET დაჭერით.
მაგალითი: LIGHT ->SET-> L.ooooo ->SET-> НО4ь L.2 ->SET-> LIGHT .

პორტის რეჟიმი.

საათის რეჟიმი.

წამის კორექტირება. MINUS-ის დაჭერით წამებს ნულამდე აყენებთ. თუ იყო 31 წამზე მეტი, მაშინ წუთები იზრდება.
შემდეგი მოდის წუთების და საათების დაყენება.
დაინსტალირებულია:
დღე, თვე, წელი და კვირის დღე.
საათის კორექტირება. ეს მნიშვნელობა ემატება ან კლებულობს ყოველ საათში. ნაბიჯი 0.008 წამი. (50 მნიშვნელობა), მაქსიმალური მნიშვნელობა 0,391. გაანგარიშების მაგალითი: ნულის ტოლი კორექტირებით იზომება საათის დრიფტი, მაგალითად, 5 დღეში საათი 3 წამით გაიქცა, მაშინ კორექტირება არის ზუსტად 3/(5*24)=0,025.

SEE რეჟიმის დაყენება.

ნულოვან რეჟიმში, საათი მონაცვლეობით აჩვენებს 8-მდე რეჟიმს, რისთვისაც არჩეულია ათი დისპლეის ფორმატიდან ერთი და მისი ჩვენების დრო. (ზედა მაგიდა).
1 რეჟიმის შერჩევა.
5 აირჩიეთ თხუთმეტი ჩვენების ფორმატიდან ერთი.
თან 03 დრო წამებში, როდესაც არჩეული რეჟიმი გამოჩნდება.
0 რამდენჯერ უნდა გამოტოვოთ (არ აჩვენო)რეჟიმი. მაგალითი:
1 r0 c03n0
2 r5 c03n0
3 r4 c02n1
r0; r5; r4; r0; r5; r4; r0; r5; r4; r0; r5; r4; ..
r4; - ხილული, r4; - ხელიდან გაუშვა.
როდესაც დრო არის 00, რეჟიმი გამორთულია.

რეჟიმი USt Bud.განგაშის პარამეტრები.

ბიპგანგაშის სიგნალი - PWM.
პინიგანგაშის სიგნალი - პირი 1 გამომავალ კვირტში.
ორივეშიმი და გამომავალი.
სიგნალის შეფერხება.
ადგენს სიგნალის შეფერხებების რაოდენობას.
როცა გამორთულია Snooze (00) გამორთავს მაღვიძარას რომელიმე ღილაკის დაჭერით.
როდესაც ჩართულია მაღვიძარას ჩაჩუმება ღილაკი F, SET PLUS MINUS ღილაკების დაჭერისას სიგნალი გამორთულია, მაგრამ კვლავ იმუშავებს დაახლოებით 5 წუთის შემდეგ.
როდესაც სიგნალის დაყოვნება აქტიურია, ნულოვან რეჟიმში ბოლო ციფრის წერტილი ციმციმებს.
გამორთეთ დაყოვნება (თუ სიგნალი არ არის).რეჟიმში 0, დააჭირეთ SET-ს. ამ რეჟიმში. აქტიური დაყოვნების არსებობა იწვევს სიმბოლოს მე-4 ნაცნობ ადგილას. PLUS MINUS-ის დაჭერით გამოირთვება დაყოვნება.

DS18B20 რეჟიმი.

სინათლის რეჟიმი.

სიგნალის რეჟიმი.

გადატვირთვის რეჟიმი.

მოქმედებები ნულოვანი რეჟიმში.

F - რეჟიმის შერჩევა.
SET - სიგნალის დაყოვნების გაუქმების რეჟიმი
PLUS - დააყენეთ SEE რეჟიმი.
MINUS - სიგნალიზაციის დაყენება.

ყოველ საათში, ერთი წამის განმავლობაში, დაყენებულია პინი PB2(16).

ფულის დაზოგვის მიზნით, სიგნალის შეფერხება აკრძალულია ბატარეის რეჟიმში. ტაიმერი ასევე ჩერდება.

წყარო WinAVR-20060421. Firmware ანოდი, კათოდი და firmware მიკროსქემისთვის დიდი ინდიკატორებით. ზაფხულის/ზამთრის დროზე ავტომატური გადასვლით.
არ იცვლება ზაფხულ/ზამთრის დროზე.
დიაგრამა დიდი ინდიკატორებისთვის. ალექსის გამოგზავნილი.



თქვენს ყურადღებას ვაქცევ მარტივ დიაგრამას და დიზაინს " ორარხიანი თერმომეტრი, საათი ATmega8, DS18B20, DS1307, LCD (ZhK) 1602«.
დიზაინი საშუალებას გაძლევთ აჩვენოთ მიმდინარე დრო, თარიღი, თვე, კვირის დღე და მიმდინარე ტემპერატურა ორი ციფრული ტემპერატურის სენსორიდან ორხაზიანი სიმბოლოს ინდიკატორზე.

ორარხიანი თერმომეტრისა და საათის დიაგრამა

დიზაინი აწყობილია ATmega8-16PU მიკროკონტროლერზე, DS1307 რეალურ დროში საათის ჩიპზე DIP პაკეტში, DS18B20 ციფრული ტემპერატურის სენსორებზე და LCD1602 LCD ინდიკატორზე.


პროგრამაში შეიქმნა მოწყობილობის დიაგრამა
ტემპერატურის სენსორები დაკავშირებულია DS1 და DS2 კონექტორებთან:
— pin 1 — სენსორის GND პინთან
— პინი 2 — სენსორის DQ პინთან
— pin 3 — სენსორის Vcc პინთან

დიაგრამაში სენსორის კავშირები არ შეესაბამება ბეჭდური მიკროსქემის დაფას.
პროგრამა მორგებულია ბეჭდური მიკროსქემის დაფაზე, თქვენ უნდა დააკავშიროთ:
- 1-ლი სენსორი PB1-მდე (მე-15 პინი)
— მე-2 სენსორი PB2-ზე (მე-16 პინი)

თქვენს ყურადღებას ვაქცევ მიკროკონტროლერის D პორტის ქინძისთავების დაკავშირებას ინდიკატორის ქინძისთავებთან:
- მიკროკონტროლერის PD0 - ინდიკატორის D7 დასამაგრებლად
- მიკროკონტროლერის PD1 - ინდიკატორის D6 დასამაგრებლად
- მიკროკონტროლერის PD2 - ინდიკატორის D5 დასამაგრებლად
- მიკროკონტროლერის PD3 - ინდიკატორის D4 დასამაგრებლად
ეს კავშირი შეირჩა ბეჭდური მიკროსქემის დაფაზე ტრეკების განლაგების გასამარტივებლად.

დიზაინში გამოყენებული დეტალები:

LCD დისპლეი არის 2-ხაზიანი, 16-სიმბოლოიანი უარყოფითი, თეთრი სიმბოლოები მუქ ლურჯ ფონზე, თეთრი განათებით. თქვენ ასევე შეგიძლიათ გამოიყენოთ ნებისმიერი მსგავსი სიმბოლოების სინთეზირების (სიმბოლური) ორხაზიანი, 16-სიმბოლოიანი ინდიკატორი, კირილიცის მხარდაჭერით ან მის გარეშე, რომელიც მხარს უჭერს HD44780 ტიპის კონტროლერის ბრძანების სისტემას:
— STN (FSTN) ნეგატივი (ლურჯი ან შავი) შუქით (ეს გამოიყენება დიზაინში) — ასეთი ინდიკატორები მუშაობს მხოლოდ განათებით
- FSTN Positive, TN Positive, HTN Positive - განათებით ან მის გარეშე
გამოყენებული ჩინური LCD ინდიკატორს არ აქვს ჩაშენებული კირიული ანბანი, ამიტომ, ინდიკატორზე კვირის დღის ჩვენების სიცხადისთვის, პირადი სიმბოლოები იწერება სიმბოლოების გენერატორის RAM-ში (CGRAM) - "P", "n" , "t", "H", "b" და ორი სიმბოლო შებრუნებული სახით "D" და "U".

ორარხიანი თერმომეტრისა და საათის ბეჭდური მიკროსქემის დაფა

დიზაინი აწყობილია ცალმხრივ ბეჭდურ მიკროსქემის დაფაზე, ყველა გამოყენებული ნაწილი "გამომავალია"
პროგრამაში შეიქმნა მოწყობილობის ბეჭდური მიკროსქემის დაფა.
დაფაზე სამი ჯემპერია - P1, P2, P3
კვარცის რეზონატორი დამონტაჟებულია დაფაზე "დაწოლილი" რეზონატორის კორპუსი ჯუმპერით დამაგრებულია რეზონატორის ქვეშ არსებულ დაფაზე.

ორარხიანი თერმომეტრისა და საათის მუშაობის აღწერა

დიზაინის საფუძველი "D" ორარხიანი თერმომეტრი, საათი"არის მიკროკონტროლერი ATmega8 DIP პაკეტში საათის სიხშირით 1 MHz ჩაშენებული ოსცილატორიდან შიდა RC მიკროსქემით. FUSE ბიტების დაყენება ნაგულისხმევია, არაფრის შეცვლა არ არის საჭირო.
რეალური დროის საათის ჩიპი გამოიყენება მიმდინარე დროის დასადგენად DS1307, რომელიც ითვლის წამებს, წუთებს, საათებს, თვის თარიღს, თვეს, კვირის დღეს და წელიწადს ნახტომი წლის ანაზღაურებით, რომელიც მოქმედებს 2100 წლამდე.
ნაჩვენებია მხოლოდ შემდეგი:
- მიმდინარე დრო - საათები და წუთები
- თვის თარიღი
- თვე
- კვირის დღე
ტემპერატურის სენსორად გამოიყენება ორი ციფრული ტემპერატურის სენსორი DS18B20, რომელიც საშუალებას გაძლევთ გაზომოთ მიმდინარე ტემპერატურა -45 გრადუსიდან +125 გრადუს ცელსიუსამდე 0,5 გრადუსის სიზუსტით.
თითოეული სენსორის მიმდინარე ტემპერატურა ნაჩვენებია 0,1 °C გარჩევადობით
თითოეული ტემპერატურის მნიშვნელობის წინ, სიმბოლოები "D" და "U" ნაჩვენებია შებრუნებული სახით:
- "D" - ტემპერატურა სახლში
- "U" - გარე ტემპერატურა

პროგრამის ფუნქციონირება ორგანიზებულია ტაიმერის T1-დან გადინების შეფერხებით, რომელიც ხდება ყოველ 4 წამში. მიმდინარე დრო ახლდება ყოველ 4 წამში, სენსორებიდან მიმდინარე ტემპერატურა ახლდება მონაცვლეობით, ყოველ 4 წამში.

მოწყობილობა იკვებება სტაბილიზირებული დენის წყაროდან 5 ვოლტიანი ძაბვით, შეგიძლიათ გამოიყენოთ დამტენი მობილური ტელეფონიდან, ან ავტონომიური კვების წყარო - ბატარეა. მიმდინარე მოხმარება დამოკიდებულია უკანა განათების სიკაშკაშეზე (რეზისტორი R3-ის მნიშვნელობა) და კონკრეტულ შემთხვევაში არის 12 mA.

მოწყობილობა კონტროლდება ორი ღილაკით:
- S1 - "შერჩევა"
- S2 - "ინსტალაცია"

როდესაც მოწყობილობა პირველად ჩართულია (ან ყოველ ჯერზე, როდესაც ის ჩართულია სარეზერვო კვების წყაროს DS1307 - BAT1 არარსებობის შემთხვევაში), მოწყობილობა გადადის "სრულ" ინსტალაციის რეჟიმში. ამ შემთხვევაში აუცილებელია დანიშნოს მიმდინარე წელი, თვე, თარიღი, კვირის დღე და მიმდინარე დრო - საათები და წუთები. ამ რეჟიმში, განმარტებითი ინფორმაცია არ ითარგმნა რუსულად (კვირის დღის მითითებისგან განსხვავებით), ყველა ახსნა ნაჩვენებია ინგლისურად (სრული ინსტალაცია ხორციელდება უკიდურესად იშვიათად, ამის გაგება არ არის რთული):

წლის დაყენება:
მოციმციმე კურსორი თეთრი მართკუთხედის სახით მიუთითებს სად და რა უნდა შეიყვანოთ:
- "ინსტალაციის" ღილაკით - ჩვენ დავაყენეთ ათობით წელი
— ღილაკის „არჩევის“ გამოყენებით — გააგრძელეთ წლის ერთეულების დაყენება
— „Setup“ ღილაკის გამოყენებით — დააყენეთ წლის ერთეულების მნიშვნელობა
— „აირჩიე“ ღილაკით — გადადით შემდეგ პარამეტრზე

თვის დაყენება „თვეზე“
- წლის დაყენების მსგავსი

თვის „მონაცემების“ დღის დაყენება:
- წლის დაყენების მსგავსი

კვირის დღის "კვირის" დაყენება:
- წლის დაყენების მსგავსი, - 1 - ორშაბათი, 2 - სამ, 3 - ოთხ, 4 - ხუთ, 5 - პარასკევი, 6 - შაბათი, 7 - მზე

მიმდინარე დროის „Hour_Min“ დაყენება
მაგალითად, მიმდინარე დრო არის 17 საათი 39 წუთი:
- "ინსტალაციის" ღილაკით - დავაყენეთ ათობით საათი - 1
— ღილაკის „არჩევის“ გამოყენებით — გააგრძელეთ საათის ერთეულების დაყენება
— „Setup“ ღილაკის გამოყენებით — დააყენეთ საათის ერთეულები — 7
— ღილაკით „არჩევა“ — გადადით ათობით წუთის პარამეტრზე — 4
— „Setup“ ღილაკის გამოყენებით — დააყენეთ წუთების ერთეულები -0-ზე
- წამები უკვე მითითებულია ეკრანებზე, როგორც "00"
— ზუსტად 17 სთ 40 წუთზე დააჭირეთ ღილაკს "Select" და მიმდინარე დრო 17 საათი 40 წუთი 00 წამი ჩაიწერება DS1307-ში.

მუშაობის რეჟიმში, ღილაკები "არჩევა" და "ინსტალაცია" საშუალებას გაძლევთ გადახვიდეთ შემდეგ რეჟიმებზე:
არჩევის ღილაკი— დროის კორექტირება (ამ შემთხვევაში, მხოლოდ მიმდინარე დრო „Hour_Min“ დაყენებულია ზემოთ აღწერილი)
ღილაკი "ინსტალაცია".- "სრული" ინსტალაცია
სასურველ რეჟიმში შესასვლელად, თქვენ უნდა დააჭიროთ შესაბამის ღილაკს და გააჩეროთ სანამ ეკრანი არ გასუფთავდება. ეკრანის გასუფთავების შემდეგ გაათავისუფლეთ ღილაკი და წამის შემდეგ გადავდივართ არჩეულ რეჟიმში.

დიზაინი შემუშავებული და გამოცდილი იყო პურის დაფაზე;
იყო ბევრი კომენტარი იმის შესახებ, რომ მოწყობილობა არ მუშაობდა და ბეჭდური მიკროსქემის დაფა არ ემთხვევა მიკროსქემის დიაგრამას.
გადაწყდა მოწყობილობის ხელახალი შექმნა აპარატურაში.
ქვემოთ მოცემულია აწყობილი მოწყობილობის ფოტოები მიკროსქემის მიხედვით, ბეჭდური მიკროსქემის დაფის და ამ გვერდზე გამოქვეყნებული პროგრამული უზრუნველყოფის მიხედვით.
მოწყობილობამ მაშინვე დაიწყო მუშაობა, არანაირი პრობლემა.
ბეჭდური მიკროსქემის დაფა დამზადებულია LUT მეთოდით. დაფაზე მიკროსქემების დაყენების შეცდომის გამო, მათი გაფუჭება და გადაწყობა მოუწია (და არის ხვრელი მოხუც ქალში), რამაც გამოიწვია დაბეჭდილი გამტარების დაზიანება და, შედეგად, გარეგნობა არ არის ძალიან კარგია, ჯუმპერი P2 დამონტაჟებულია დაბეჭდილი დირიჟორების გვერდზე (არ გაბურღია ხვრელები), DS1 სენსორი დაკავშირებულია დაახლოებით 1 მეტრის სიგრძის კაბელთან (ისე, რომ ის იატაკიდან დაახლოებით 30 სმ სიმაღლეზე იყოს, DS2 სენსორი უკავშირდება 5 მეტრის სიგრძის კაბელს და გამოყვანილია ფანჯრიდან.

იყო ერთი პრობლემა - RTC DS1307 მაშინვე არ დაიწყო, მიზეზი იყო კვარცის ქინძისთავებს შორის როზინი. დაფის გარეცხვის შემდეგ საათმა დაიწყო მუშაობა.

(10.8 KiB, 1,990 დათვალიერება)

(27.3 KiB, 1,471 დათვალიერება)

(390.1 KiB, 1,288 დათვალიერება)

(51.7 KiB, 2,476 დათვალიერება)

ჩამოტვირთეთ YandexDisk-დან (დამატებით - მონაცემთა ცხრილები რუსულ ენაზე)

ვებსაიტის ონლაინ მაღაზიაში შეგიძლიათ შეუკვეთოთ ყველა საჭირო ნაწილი "ორარხიანი თერმომეტრი, საათი ATmega8, DS18B20, Ds1307" ასაწყობად, მათ შორის დაპროგრამებული მიკროკონტროლერი.