მანქანის ბატარეების ავტომატური შესანახი მოწყობილობა PIC-ზე. უნივერსალური მიკროკონტროლერი დამტენი ATmega8 დამტენი

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

ახალი უნივერსალური დამტენი იკვებება USB-ის საშუალებით სმარტფონის ან ტაბლეტის დამტენიდან. ის ასევე შეიძლება იკვებებოდეს კომპიუტერის USB პორტიდან. დაფას აქვს მიკრო USB დაყენებული, მაგრამ ნებისმიერი სხვა ვარიანტის დაყენება შესაძლებელია. ასევე არის ჯეკი სტანდარტული DC დანამატისთვის; როდესაც მასში ელექტროენერგია მიეწოდება 5 ვოლტზე მეტი ძაბვით, ჯუმპერი იხსნება დაფაზე და ლოგიკური ნაწილი იწყებს კვებას LDO სტაბილიზატორის საშუალებით. 5 ვოლტიდან კვებისას ჯუმპერი უნდა იყოს დაყენებული (ის უბრალოდ მოკლე ჩართავს +5 ვოლტი სტაბილიზატორის შეყვანას და გამომავალს).

მოწყობილობა მოთავსებულია 10*12სმ დაფაზე.სამონტაჟო ბოძებზე ფიქსირდება LCD ინდიკატორი 16*2 i2c-კონვერტერით. დაფას აქვს ხრახნიანი ტერმინალები მრავალჯერადი დატენვის ბატარეის დასაკავშირებლად და დატვირთვა განმუხტვისთვის, რომელიც შეიძლება იყოს ნათურა ან მძლავრი 5W ცემენტის წინააღმდეგობა, მაგალითად, 4.7 ohms წინააღმდეგობით. ამ რეზისტორის წინააღმდეგობა გამოითვლება ფორმულით R = U / I, სადაც U არის ბატარეის ძაბვა და I არის სასურველი საწყისი გამონადენი დენი. თუ განტვირთვა არ არის დაგეგმილი, მაშინ დატვირთვა შეიძლება დარჩეს შეუერთებლად. მართვა ხორციელდება სამი ღილაკის გამოყენებით. ინფორმაცია ნაჩვენებია ეკრანზე, გარდა ამისა, გამოყენებულია პატარა სიგნალი ჩაშენებული გენერატორისა და LED-ის გარეშე. რაც უფრო კაშკაშაა LED, მით უფრო ფართოა პულსის სიგანე დამუხტვის რეჟიმში.

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


დააწკაპუნეთ გასადიდებლად
ჭკვიანი უნივერსალური დამტენის მუშაობის რეჟიმები:

  • Მთავარი მენიუ. ის ირჩევს ვოლტმეტრის დატენვის, განმუხტვის, დაკალიბრების პარამეტრებს
  • დააკისროს. ეკრანზე ნაჩვენებია მიმდინარე და დაყენებული დატენვის პარამეტრები, შესაძლებელია პარამეტრების შეცვლა უშუალოდ დატენვის პროცესში. არსებობს ძაბვისა და დენის შეზღუდვა მითითებულ მნიშვნელობებზე PWM-ის გამოყენებით. დამუხტვა სრულდება, როდესაც მითითებული ძაბვა მიიღწევა და დამუხტვის დენი მცირდება მითითებულზე ქვემოთ.
  • გამონადენი. კონტროლი მსგავსია დატენვის. გამონადენი მთავრდება, როდესაც ძაბვა ან დენი დაეცემა მითითებულზე ქვემოთ.
ამ პროცესში ითვლიან მილიამპერ-საათებს, ისინი ასევე ნაჩვენებია ბოლოს. გამოთვლილ მნიშვნელობებზე დაყრდნობით შეგიძლიათ განსაზღვროთ ბატარეის სიმძლავრის დაკარგვის ხარისხი, ე.ი. რამდენად გაცვეთილია. თუ ბატარეა 1 ა / სთ სიმძლავრით იღებს 500 mA / სთ ან იღებს 1 ა / სთ და იძლევა 500 mA / სთ, მაშინ მისი რესურსი უკვე მნიშვნელოვნად არის ამოწურული.

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

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

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

PCB: მალე
firmware: მალე

ალიექსპრესზე თითქმის უნივერსალური დატენვის "ხალხური" ვარიანტი: Lii-100.

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

დახვეწა შეიძლება გაკეთდეს ზედაპირული მონტაჟით ან პატარა დაფაზე. ამასთან ერთად იცვლება ზოგიერთი სიგნალი. ასე რომ, PWM დატენვის სიგნალი (სიხშირე დაახლოებით 66 kHz) ახლა აღებულია OC1A-დან, PWM გამონადენი - OC1B-დან, ხმა - OC2-დან. ამისათვის დაფაზე მოგიწევთ გადაყაროთ ორი რეზისტორები (გადადით OC1A-ზე და OC2-ზე) და დაშორდეთ გამოუყენებელ PB0-ს. დიაგრამაში ცვლილებები ნაჩვენებია ყვითლად.

ოპერაციული გამაძლიერებელი შეიძლება გამოყენებულ იქნას ისევე, როგორც დენის გაზომვისას მიკროსქემის ძირითად ნაწილში. ჩვენ ვერ ვიპოვეთ MCP6002, ამის ნაცვლად დაინსტალირებული იყო TLC2272. გამონადენის დენის რეგულირება მუშაობს ისევე, როგორც ორიგინალური IMAX-ში. ამ შემთხვევაში გათბება არა მხოლოდ დატვირთვის რეზისტორი, არამედ ველის კონტროლერი Q1.

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

სიხშირის მრიცხველი AT90S2313-ზე

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

დეტალები:http://home.skif.net/~yukol/FMrus.htm

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


რადიოჟურნალი N1 2002 წ Ni-Cd ბატარეებისთვის. საშუალებას გაძლევთ დატენოთ 4 ბატარეა.



სიხშირის მრიცხველი სურათზე 16F84A

სიხშირის მრიცხველის სპეციფიკაციები:

მაქსიმალური გაზომილი სიხშირე ............. 30 MHz;

გაზომილი სიხშირის მაქსიმალური გარჩევადობა .. .10 ჰც.

შეყვანის მგრძნობელობა .................... 250 მვ;

მიწოდების ძაბვა ......................... 8 ... 12 ვ:

დენის მოხმარება ............................ 35 mA


დეტალები, firmware:http://cadcamlab.ru


შედუღების სადგური ატმეგა 8-ზე


შედუღების რკინისა და თმის საშრობის გადართვა ხდება კომპიუტერის კონცენტრატორებით. თმის საშრობი კონტროლდება ტირისტორით, რადგან 110 ვ თმის საშრობი R1 დიოდური კათოდის ნაცვლად V. 6.


დეტალები, firmware: http://radiokot.ru/forum


ციფრული ტევადობის მრიცხველი წრედიდან შედუღების გარეშე

აღწერა მოცემულია ჟურნალში "რადიო" №6 2009 წ. სტრუქტურა აწყობილია AT90S2313-ზე, Tiny2313 პროგრამული უზრუნველყოფის ცვლილების გარეშე. Pon'ka-ში დავდე ჩეკ ველები SUT1, CKSEL1, CKSEL0, დანარჩენი ცარიელია. MAX631 არ დამიყენებია, ძვირია ჩვენთვის, გადავწყვიტე ელექტრომომარაგებიდან სტაბილიზატორის მეშვეობით 7805, R29, R32, R33 დავაყენო პლუს დენის წყარო. ტევადობის მრიცხველის გარდა, კორპუსში დამონტაჟებულია ზონდი შედუღების გარეშე ტრანზისტორების შესამოწმებლად და LF RF სიგნალის გენერატორი.



ნახევარგამტარული მრიცხველი ATmega8-ზე დაფუძნებული

მოწყობილობას შეუძლია:

ნახევარგამტარების მილების განსაზღვრა;
- განსაზღვროს ტიპი და სტრუქტურა;
- გაზომეთ სტატიკური პარამეტრები.
ზომავს დიოდებს, ბიპოლარულ ტრანზისტორებს, JFET და MOS ველის ეფექტის ტრანზისტორებს, რეზისტორებს, კონდენსატორებს.


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

სიხშირის მრიცხველი, ტევადობის და ინდუქციური მრიცხველი - FCL-მეტრი

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

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

მიწოდების ძაბვა, V: 6 ... 15

მოხმარების დენი, mA: 14 ... 17

გაზომვის ლიმიტები:

F1, MHz 0.01 ... 65 **

F2, MHz 10 ... 950

0,01 pF-დან ... 0,5 μF

L 0,001 μH ... 5 H


დისტანციური ხელმძღვანელი დიაგრამა


Უფრო ვრცლად: http://ru3ga.qrz.ru/PRIB/fcl.shtml


მინიატურული ვოლტმეტრი ATmega8L მიკროკონტროლერზე დაფუძნებული


აქ განვიხილავთ ვოლტმეტრის დიზაინს მხოლოდ ერთ ATmega8L მიკროკონტროლერზე და ინდიკატორს ელექტრონული სამედიცინო თერმომეტრიდან. გაზომილი DC ძაბვის დიაპაზონი არის ± 50 ვ. როგორც დამატებითი ფუნქცია, დანერგილია ხმის ზონდის რეჟიმი მავთულის, ინკანდესენტური ნათურების მთლიანობის შესამოწმებლად. მოწყობილობა ავტომატურად გადადის ლოდინის რეჟიმში, როდესაც არ არის გაზომვები. მიკროკონტროლერი იკვებება ორი მინიატურული ტუტე უჯრედით (ბატარეები მაჯის საათისთვის), მე დავაყენე 1 უჯრედი 3 ვ. არ იქნება საჭირო ბატარეების ხშირი შეცვლა: აქტიურ რეჟიმში მიმდინარე მოხმარება არის მხოლოდ 330 μA, ლოდინის რეჟიმში - 300 ნA-ზე ნაკლები. მისი მინიატურული დიზაინისა და შესაძლებლობების გამო, მოწყობილობა სასარგებლო და პრაქტიკულია. დაფა არ ჯდებოდა თერმომეტრის კორპუსში და მე ფლამასტერიდან გავაკეთე კოლოფში. მან დაამზადა საკუთარი დაფა, ავტობუსებზე ვეტიკალურად დაყენებული რეზისტორები R5-R7. VADZZ-მა ხელი შეუწყო პროგრამული უზრუნველყოფის შექმნას წყაროდან მისი წყალობით. ინდიკატორის ქინძისთავები მარცხნიდან მარჯვნივ, ქინძისთავები ქვედა ნაწილში და თქვენსკენ.

სქემა (სრული ზომის დიაგრამისთვის შეინახეთ სურათი თქვენს კომპიუტერში).

დამატებითი ინფორმაციისთვის იხილეთ: http://www.rlocman.ru/shem/schematics.html?di=63917

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

ბატარეების სიმძლავრის გაზომვა მინდოდა, იმპორტირებული მრიცხველები საკმაოდ ძვირია, საინტერესო წრე ვიპოვე და ავაწყე. მუშაობს კარგად, მუხტავს, ზომავს, მაგრამ რა სიზუსტით შემიძლია ვთქვა - სტანდარტი არ არსებობს. მე გავზომე საკმაოდ ღირსეული კომპანიების აკუმულატორები 2700 მ/სთ - მე ვაპირებდი 2000 წელს. ბატარეები სათამაშოებისთვის 700 მ/სთ -350; ბევრად უფრო მომგებიანი ვიდრე ბატარეები.


მოწყობილობა შექმნილია NiMH ბატარეების დასატენად და მათი სიმძლავრის გასაკონტროლებლად. დატენვის/დამუხტვის რეჟიმებს შორის გადართვა ხდება SA1 ღილაკით. მუშაობის რეჟიმი მითითებულია LED-ებით და შვიდი სეგმენტიანი ეკრანის პირველი ორი ციფრის ათობითი წერტილებით.
დენის ჩართვისთანავე მოწყობილობა გადადის დატენვის რეჟიმში. ინდიკატორი აჩვენებს დატენვის დროს. დაპროგრამებული პერიოდის გასვლის შემდეგ დატენვა ჩერდება. დამუხტვის დასრულებას (და გამონადენი იგივეა) მოწმობს მეოთხე გამონადენის ანთებული წერტილი. დატენვის დენი განისაზღვრება როგორც C/10, სადაც C არის ბატარეის სიმძლავრე, დაყენებული R14 ტრიმერით.
მრიცხველის მუშაობის პრინციპი ეფუძნება იმ დროის გაანგარიშებას, რომლის დროსაც ბატარეის ძაბვა დაეცემა 1,1 ვ-მდე. გამონადენის დენი უნდა იყოს ტოლი 450 მ, დაყენებული R16. სიმძლავრის გასაზომად საჭიროა ბატარეის ჩასმა განმუხტვის განყოფილებაში და პროცესის დაწყება ღილაკის დაჭერით! მოწყობილობას შეუძლია მხოლოდ ერთი ბატარეის დაცლა.

Უფრო ვრცლად:http://cxem.net

უნივერსალური ლომის რადიო ღუმელი

SMD ნაწილების შედუღების ღუმელს აქვს 4 პროგრამირებადი რეჟიმი.

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


ელექტრომომარაგება და გამათბობელი კონტროლი


მე ავაწყე ეს სტრუქტურა IR შედუღების სადგურის გასაკონტროლებლად. იქნებ ოდესმე მოვახერხო ღუმელი. პრობლემა იყო გენერატორის გაშვებასთან დაკავშირებით, დააყენეთ 22 pF კონდენსატორები 7, 8 ქინძისთავებიდან მიწაზე და დაიწყო ნორმალურად ჩართვა. ყველა რეჟიმი ნორმალურად მუშაობს, 250 ვტ დატვირთული კერამიკული გამათბობლით.

Უფრო ვრცლად: http://radiokot.ru/lab/hardwork/11/

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

გამათბობელი 250 W დიამეტრი 12 სმ გამოგზავნილია ინგლისიდან, ნაყიდია EBAY-ზე.


ციფრული შედუღების სადგური დაფუძნებული PIC16F88x / PIC16F87x (a)

შედუღების სადგური ორი ერთდროულად მოქმედი გამაგრილებლის და თმის საშრობით. შეგიძლიათ გამოიყენოთ სხვადასხვა MCU (PIC16F886 / PIC16F887, PIC16F876 / PIC16F877, PIC16F876a / PIC16F877a). ეკრანი არის Nokia 1100 (1110)-დან. თმის საშრობი ტურბინის სიჩქარე ელექტრონულად კონტროლდება, ასევე ჩართულია თმის საშრობით ჩაშენებული ლერწმის შეცვლა. საავტორო ვერსიაში გამოყენებული იყო იმპულსური კვების წყარო, მე გამოვიყენე ტრანსფორმატორის კვების წყარო. მე ყველას მომწონს ეს სადგური, მაგრამ ჩემი გამაგრილებელი: 60W, 24V, კერამიკული გამათბობლით, დიდი გაშვებით და ტემპერატურის მერყეობით. ამავდროულად, დაბალი სიმძლავრის შედუღების უთოებს, ნიქრომული გამათბობლით, ნაკლები რყევები აქვთ. ამავდროულად, ჩემი გამაგრილებელი უთო, მიხი-პსკოვისგან ზემოთ აღწერილი შედუღების სადგურით, Volu-ს პროგრამული უზრუნველყოფით, ინარჩუნებს ტემპერატურას გრადუსამდე სიზუსტით. ამიტომ საჭიროა გათბობისა და ტემპერატურის შენარჩუნების კარგი ალგორითმი. როგორც ექსპერიმენტი, მე გავაკეთე PWM რეგულატორი ტაიმერზე, მივაწოდე საკონტროლო ძაბვა თერმოწყვილის გამაძლიერებლის გამოსვლიდან, გათიშული, ჩართულია მიკროკონტროლერიდან, ტემპერატურის მერყეობა მაშინვე შემცირდა რამდენიმე გრადუსამდე, ეს ადასტურებს, რომ სწორი კონტროლის ალგორითმია. საჭირო. გარე PWM, რა თქმა უნდა, არის პორნოგრაფია მიკროკონტროლერის თანდასწრებით, მაგრამ კარგი firmware ჯერ არ არის დაწერილი. მე შევუკვეთე კიდევ ერთი გამაგრილებელი თუ არ არის კარგი სტაბილიზაცია, გავაგრძელებ ექსპერიმენტებს გარე PWM კონტროლით, ან იქნებ კარგი ფირმვერი გამოჩნდეს. სადგური აწყობილი იყო 4 დაფაზე, ერთმანეთთან დაკავშირებული კონექტორებით.

მოწყობილობის ციფრული ნაწილის დიაგრამა ნაჩვენებია სურათზე; სიცხადისთვის ნაჩვენებია ორი MC: IC1 - PIC16F887, IC1 (*) - PIC16F876. სხვა MCU-ები დაკავშირებულია იმავე გზით, შესაბამის პორტებთან.

კონტრასტის შესაცვლელად, თქვენ უნდა იპოვოთ 67 ბაიტი, მისი მნიშვნელობა არის "0x80", დასაწყისისთვის შეგიძლიათ დააყენოთ "0x90". მნიშვნელობები უნდა იყოს "0x80"-დან "0x9F"-მდე.

რაც შეეხება 1110i ეკრანს (ტექსტი გამოსახულია სარკისებურად), თუ არა ჩინეთი, არამედ ორიგინალი, გახსენით EEPROM, მოძებნეთ 75 ბაიტი, შეცვალეთ იგი A0-დან A1-ზე.

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

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

2. დამუხტვის დენი იქნება 5A-მდე. მიუხედავად იმისა, რომ მანქანაში მაქვს 85A/h ბატარეა, 5A საკმარისია დასატენად, უბრალოდ ცოტა მეტი დრო სჭირდება დატენვას. თუმცა, საჭიროების შემთხვევაში, შესაძლებელი იქნება დატენვის დენის გაზრდა 10A-მდე გლობალური ცვლილებებისა და MK-ის ხელახლა ციმციმის გარეშე.

3. დამუხტვის დენის შეცვლა შესაძლებელი იქნება 0,1A-მდე საფეხურებით. მინიმალური დენი შეიძლება შეირჩეს 0.1A-მდე. ეს ნიშნავს, რომ თქვენ ასევე შეგიძლიათ დატენოთ პატარა ბატარეები. უფრო მეტიც, თუ ენკოდერი ოდნავ უფრო სწრაფად შემოტრიალდება, დატენვის დენის გაზრდის/შემცირების ნაბიჯი იმუშავებს 0,5 ა ფარგლებში.

4. ბატარეა დაიტენება 14,4 ვოლტამდე.

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

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

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

8. "ბატარეის შენახვა ზამთარში" ფუნქცია მოსახერხებელი ჩანდა. რაც არ უნდა ითქვას, ბუნებაში აბსოლუტურად ნებისმიერ ბატარეას აქვს საკუთარი შიდა თვითგამორთვა. ეს ნიშნავს, რომ თუ თქვენ უბრალოდ დატოვებთ ბატარეას უყურადღებოდ გარკვეული პერიოდის განმავლობაში, მაშინ თვითდამუხტვის დენის გამო ის დაცლილია, რაც საბოლოოდ გამოიწვევს ფირფიტების სულფაციას. და ბატარეისთვის ეს სიკვდილია. უფრო მეტიც, თვითგამონადენისა და სულფაციის დრო არც ისე დიდია. ზოგჯერ რამდენიმე თვეც საკმარისია. ამის თავიდან ასაცილებლად, ფუნქცია განხორციელდება"ბატარეის შენახვა ზამთარში". მუშაობს უბრალოდ, დამტენს აკუმლატორს ვუერთებთ და ბატარეას მანქანიდან ამოღება არ სჭირდება. გარდა ამისა, დამტენი აკვირდება ბატარეის ძაბვას ყოველ ნახევარ საათში. თუ ძაბვა ნორმაზე დაბლა დაეცემა, ჩაირთვება ავტომატური დამუხტვა, დამუხტვის ციკლის დასრულების შემდეგ დამტენი კვლავ გადადის ბატარეის ძაბვის მართვის რეჟიმზე. უფრო მეტიც, პასუხის ზღვარს თავად მომხმარებელი ადგენს მენიუში და მენიუში შეიძლება შეირჩეს მიმდინარე სიძლიერე. პირადად მე დავაყენე 12,5 ვოლტის ბარიერი ჩემთვის და დამუხტვის დენი 0,5 ა. დაბალი დენებით დამუხტვა უფრო ეფექტურია, ვიდრე მაღალი დენებისაგან.

9. შესაძლოა სასარგებლო იყოს ფუნქცია „დატენვის გაგრძელება დენის გათიშვის შემდეგ“. მიუხედავად იმისა, რომ ასეთი დამთხვევა შეიძლება მოხდეს 150 წელიწადში ერთხელ, მიუხედავად ამისა, ეს ფუნქცია არსებობს. დამტენს ყოველთვის „ახსოვს“, რომ დატენვის პროცესი ჩართულია და თუ ელექტროენერგია გამორთულია/ჩართულია, დამუხტვა უბრალოდ გაგრძელდება. ნებისმიერ შემთხვევაში, ყველა ფუნქციის გამორთვა ან ჩართვა შესაძლებელია მენიუში არჩევით. თუ გამორთავთ ყველა ფუნქციას, მაშინ დამტენი უბრალოდ გახდება „ჩვეულებრივი დამტენი“, რომელიც დატენავს ბატარეას და გამორთავს.

10. და ბოლოს, პროგრამის ტაიმერი იმუშავებს მეხსიერებაში. ქრონომეტრაჟი გამუდმებით იკლებს წინ 0..1.2 და ასე შემდეგ. თუ ბატარეა იტენება, და ეს გამოჩნდება იმით, თუ როგორ იზრდება მასზე ძაბვა თანდათან 14,4 ვოლტამდე. ასე რომ, როგორც კი ბატარეაზე ძაბვა ოდნავ მოიმატებს, ტაიმერი დაუყოვნებლივ აღდგება 0-ზე და კვლავ განაგრძობს თვლას 0 ... 1.2 ... მაგრამ თუ ბატარეა გაუმართავია ან ძველია, ან ელექტროლიტის სიმკვრივე არ არის საკმაოდ სწორია, მაშინ გარკვეულ ზღურბლზე დატენვა შემდგომ შეუძლებელია. და ეს ბარიერი შეიძლება იყოს 14.4 ვოლტზე დაბლა. Როგორ უნდა იყოს? ამ შემთხვევაში, ტაიმერი შეწყვეტს გადატვირთვას. და გარკვეულ წერტილამდე მიღწევის შემდეგ, ის უბრალოდ გამორთავს დატენვას ეკრანზე შეტყობინებით. ბატარეის კიდევ უფრო ადუღებას აზრი არ აქვს. ტაიმერი შეიძლება გამორთოთ მენიუში ან ჩართოთ ღილაკების დიაპაზონის დაყენებით 30 წუთიდან 3 საათამდე. ეკრანი აჩვენებს, თუ როგორ ჩაინიშნავს ტაიმერი და დროდადრო აღდგება, თუ დამუხტვა გაჟონავს ნორმალურ რეჟიმში.

ახლა მოდით გადავიდეთ დამტენის წრეზე განხილვაზე.

Ენერგიის წყარო.
ამ შემთხვევაში ჩვენ გამოვიყენებთ ნებისმიერ გადართვის დენის წყაროს (UPS). გამომავალი ძაბვა 16-დან 20 ვოლტამდე. ვინაიდან დატენვის დენი იქნება 5A-მდე, UPS-ის გამომავალი დენი უნდა იყოს სადღაც 6A-მდე ზღვარით. გამოვიყენე IPBიგულისხმე კარგადRS-75-15რომელსაც აქვს გამომავალი ძაბვა 15 ვოლტი, მაგრამ აგრეგატში არის ტრიმერი, რომლითაც შეგიძლიათ ძაბვის გაზრდა 16,5 ვოლტამდე. UPS-ის უპირატესობა ის არის, რომ არის მსუბუქი, კომპაქტური და აქვს ჩაშენებული დაცვა მაღალი დენებისგან, მოკლე ჩართვისგან და ა.შ. ამიტომ, ამაზე ფიქრი აღარ გჭირდებათ. პრინციპი შესაფერისია ნებისმიერი სხვა IPI-სთვის. ყოველ შემთხვევაში ლეპტოპიდან. თუ თქვენს UPS-ს აქვს 5A-ზე ნაკლები დენი, თქვენ ასევე შეგიძლიათ გამოიყენოთ იგი, უბრალოდ უნდა დარწმუნდეთ, რომ არ დააყენოთ დატენვის დენი იმაზე მეტს, ვიდრე UPS-ს შეუძლია. ტრანსფორმატორის კვების ბლოკი არ არის შესაფერისი ჩვენს შემთხვევაში. ტრანსფორმატორზე დამტენი ცალკე თემა და ცალკე სტატიაა. ასე რომ, დენის წრე დაახლოებით ასე გამოიყურება.

1000uF კონდენსატორი, პრინციპში, არ შეიძლება დამონტაჟდეს, რადგან ის უკვე დამონტაჟებულია გადართვის ელექტრომომარაგებაში გამოსავალზე, მაგრამ თუ დააინსტალირეთ, ეს არ იქნება უარესი. კონდენსატორი C2 ჯობია ელექტროლიტი რომ იყოს, ოღონდ კერამიკული სმდ დავდე. 7805 სტაბილიზატორი საჭიროა MK, LCD დისპლეის და სხვა სამაგრების გასაძლიერებლად.

ახლა მოდით დავაკავშიროთ ბატარეა და საველე ეფექტის ტრანზისტორი.



როგორც ხედავთ, ყველაფერი მარტივია. ტრანზისტორი დაარეგულირებს დენს ბატარეის მეშვეობით. რელე K1 იკისრებს დაცვის როლს, ის ჩაირთვება მხოლოდ მაშინ, როცა ბატარეა სწორად არის დაკავშირებული და ჩართული. ცემენტის რეზისტორი R18 მოქმედებს როგორც შუნტი. 5A დენის დროს მას ექნება ძაბვა 0,5 ვოლტი. ჩვენ გავზრდით ამ ძაბვას და მივაწოდებთ მას MK ADC-ს, ასე რომ MK გაიგებს რა დენი არის დამუხტვის წრეში და ეს მნიშვნელობა შეიძლება იყოს ნაჩვენები. ახლა დროა დაუკავშიროთ MK წრედს.

როგორც ხედავთ, სქემა ცოტა უფრო გართულდა. მაგრამ არა ბევრი. PB0 ტერმინალს ვუერთებთ რელეს, ნებისმიერ რელეს 12 ვოლტისთვის, რომლის კონტაქტებმა უნდა გაუძლოს 5A დენს. დაახლოებით 200 ohms-ის ამორტიზაციის რეზისტორი უნდა იყოს დაკავშირებული რელესთან სერიულად, რადგან რელე იკვებება 16-20 ვოლტის ძაბვით. დამცავი დიოდი უნდა დამონტაჟდეს სარელეო კოჭის პარალელურად (ნებისმიერი, დაყენებულიLL4148), დიოდის გარეშე, VT4 ტრანზისტორს შეუძლია გარღვევა. VT4 შეიძლება იყოს ნებისმიერი npn ტიპის, გამოყენებული MMBT4401LT1.

ენკოდერი დაკავშირებულია PD7, PC1, PC0 ქინძისთავებთან. გამოიყენა ეს ან ეს. გამოსავლებზე, რომლებზეც დაკავშირებულია ენკოდერი, აუცილებელია 0.1 uF კონდენსატორების და 10k აწევის რეზისტორების დაკავშირება. ეს შეამცირებს კონტაქტებს.

დისპლეი გამოიყენებოდა ორ სტრიქონზე 16 სიმბოლოსგან. ეკრანს ასევე აქვს ჩაშენებული რუსული შრიფტი. თუ თქვენ დააკავშირებთ დისპლეს რუსული სიმბოლოების გარეშე, ეკრანი დაიბზარება. ვინაიდან Atmega8 MK-ს ბევრი ფეხი არ აქვს, ეკრანი დაკავშირებულია 4-ბიტიანი ავტობუსის საშუალებით. ეკრანის ქინძისთავები DB3-DB0 არ გამოიყენება.

BAT54S Schottky დიოდი, ორი 0.1uF კონდენსატორი და 100 Ohm რეზისტორი დაკავშირებულია MK PB2 პინთან. რატომ არის ეს საჭირო? ფაქტია, რომ წრე იყენებს op-amp LM358, რომელიც არ არის "რკინიგზა რელსამდე". ასეთ ოპ-ამპერატორებში უარყოფითი მიწოდების ძაბვის გარეშე უარყოფითი დენის ტერმინალზე, op-amp გამომავალი არასოდეს იქნება 0 ვოლტი. ამიტომ, ელემენტების ეს ჯაჭვი, რომელიც დაკავშირებულია PB2 პინთან, ქმნის დაახლოებით -4 ვ-ის უარყოფით ძაბვას op-amp-ის გასაძლიერებლად. იმისათვის, რომ ჯაჭვმა PB2 პინზე იმუშაოს და წარმოქმნას -4 ვ, მასზე უნდა იყოს გამოყენებული PWM სიგნალი 50% სამუშაო ციკლით. ამრიგად, PB2-ზე ყოველთვის არის PWM 62.5 kHz სიხშირით.

PWM ყოველთვის იმყოფება PB3 პინზე, მაგრამ სიგნალის მუშაობის ციკლი ამ შემთხვევაში 0-დან 100%-მდე უკვე რეგულირდება ენკოდერის როტაციით. რეზისტორი R18 და კონდენსატორი C11 წარმოადგენს ინტეგრირებულ წრეს, რომელიც არბილებს PWM-ს მუდმივ ძაბვაში. რეზისტორები R19 და ტრიმერი R20 არის ძაბვის გამყოფი. როგორ დავაყენო R20? ჩვენ ვაკავშირებთ მულტიმეტრს PB3 პინზე და ვატრიალებთ ენკოდერს, სანამ მოწყობილობა არ აჩვენებს 2,5 ვოლტს. შემდეგი, ჩვენ ვატრიალებთ ტრიმერის რეზისტორს R20 ისე, რომ ოპ-ამპერატორის არაინვერსიულ გამოსავალზე იყოს 0,25 ვოლტის ძაბვა. ეს ასრულებს R20 დაყენებას.

როგორ მუშაობს ტრანზისტორი რეგულირება და კონტროლი? დავუშვათ, რომ op-amp (+) არაინვერსიული გამომავალი არის 0,5 ვოლტი. op-amp-ის ერთ-ერთი თვისება არის ის, რომ ის ცდილობს გაათანაბროს პოტენციური სხვაობა მის ორ შეყვანას შორის. ის ამას აკეთებს თავისი გამომავალი გამოშვების გამოყენებით, ამაღლებს ან ამცირებს მასზე ძაბვას. ასე რომ, (+) პინზე არის 0,5 ვოლტი, ხოლო (-) პინზე არის 0 ვოლტი. Რა არის შემდეგი? op-amp დაუყოვნებლივ დაიწყებს ძაბვის გაზრდას გამომავალზე, რომელიც დაკავშირებულია IRF540 ტრანზისტორის კარიბჭესთან. ტრანზისტორი იწყებს გახსნას. დენი იწყებს გადინებას ბატარეის, ტრანზისტორისა და შუნტის მეშვეობით. დენი იწვევს ძაბვის ვარდნას R18 შუნტზე. op-amp ჩართავს ტრანზისტორს მანამ, სანამ არ იქნება ძაბვა 0,5 ვოლტი შუნტზე. შუნტიდან ძაბვა გამოიყენება R13-ით (-) ტერმინალში. როგორც კი (-) პინზე იქნება 0,5 ვოლტი (იგივე, რაც (+) პინზე), op-amp შეწყვეტს ტრანზისტორის ჩართვას. ამ შემთხვევაში დატენვის დენი იქნება 5A.

თუ ენკოდერი ამცირებს ძაბვას (+) ტერმინალზე 0,25 ვოლტამდე, op-amp შეამცირებს ძაბვას ტრანზისტორის კარიბჭეზე ისეთ მნიშვნელობამდე, რომ (-) ტერმინალში ის ასევე გახდება 0,25 ვოლტი, ეს მნიშვნელობა. შეესაბამება დატენვის დენს 2.5A. გამოდის, რომ დატენვის დენის რეგულირება ხორციელდება აპარატურაში op-amp-ის გამოყენებით. და ეს ძალიან კარგია, რადგან ოპ-გამაძლიერებელი არასოდეს გაიყინება და სროლის სიჩქარე მყისიერია. ეს საკონტროლო წრე არის ჩვეულებრივი ხაზოვანი დენის წყარო. ამ მიკროსქემის მოხერხებულობა ის არის, რომ ის მარტივია, მაგრამ მინუსი ის არის, რომ ძაბვის მთელი სხვაობა გადართვის ელექტრომომარაგებასა და ბატარეის ძაბვას შორის გამოიყოფა ტრანზისტორზე სითბოს სახით.

მაგალითად, UPS გამოსცემს 20 ვოლტს, ბატარეის ძაბვა მისი დამუხტვის დასაწყისში არის 12 ვოლტი, ხოლო დატენვის დენი არის 5A. რამდენი სიმძლავრეა გამოყოფილი ტრანზისტორზე? (20-12) * 5 = 40 ვტ. 40 ვატი ბევრია!!! თქვენ გჭირდებათ ძლიერი გამათბობელი და ხუთი ვენტილატორი. ასე კარგი არაფრისთვის. მიუხედავად იმისა, რომ IRF540 ტრანზისტორი გაუძლებს 150 ვატს, ტრანზისტორით დამტენის გათბობას აზრი არ აქვს. როგორ შევამციროთ სითბოს გამომუშავება? თქვენ შეგიძლიათ შეამციროთ UPS-ის ძაბვა, მაგალითად, 16 ვოლტამდე. მაშინ (16-12) * 5 = 20 W ორჯერ ნაკლები უკვე უკეთესია. მაგრამ გათბობა შეიძლება გაკეთდეს თუნდაც 5 ვატამდე ან ნაკლები. Როგორ?

მსგავსი ტიპის IPB-ში, როგორციგულისხმე კარგადRS-75-15ყოველთვის არის დამსხვრეული რეზისტორი, რომელსაც შეუძლია გამომავალი ძაბვის რეგულირება 10% ფარგლებში. ეს ნიშნავს 13.5-დან 16.5-მდე, ჩემს შემთხვევაში აღმოჩნდა 13-დან 17 ვოლტამდე. თქვენ შეგიძლიათ შეადუღოთ ტრიმერი ISB-დან, და ამის ნაცვლად შეადუღოთ MK გამომავალი, ასე რომ, ჩვენ შეგვიძლია გამოვიყენოთ MK ძაბვის დასარეგულირებლად ISB გამომავალზე, ეს შეამცირებს სითბოს გამომუშავებას ტრანზისტორზე მინიმუმამდე. მაგალითად, თუ ბატარეას აქვს 12 ვოლტი, ჩვენ ვამცირებთ ძაბვას 13 ვოლტამდე და ვიღებთ (13-12) * 5 = 5 ვტ სითბოს ტრანზისტორზე, 40-ზე უკეთესი. ასე ვაუმჯობესებთ წრედს.


შეაერთეთ PC123 ოპტოკუპლერი ან მსგავსი PB1 პინთან. PB1 პინზე, pwm სიგნალი ასევე ყოველთვის მორიგეობს, რომელიც ინტეგრირებულია R22 და C13 ჯაჭვით. ჩვენ ვამაგრებთ ტრიმერის რეზისტორს UPS-ში და ვამაგრებთ ჩვეულებრივ 1.2 kOhm რეზისტორს. ახლა MK-ს შეუძლია აკონტროლოს ძაბვა UPS-ის გამომავალზე ოპტოკუპლერის საშუალებით. როდესაც ოპტოკუპლერი გამორთულია, UPS-ის გამომავალზე ძაბვა მინიმალურია, მისი ჩართვისას, რეზისტორი R23 ჩართულია მიწაზე, ძაბვა იზრდება. შეუფერხებლად ხურავს / ხსნის ოპტოკუპლერს PWM სიგნალის გამოყენებით PB1 პინზე, შეუფერხებლად არეგულირებს ძაბვას UPS-ის გამომავალზე.

იმისთვის, რომ იცოდეთ როდის და რამდენი უნდა დაარეგულიროთ ძაბვა UPS-ის გამომავალზე, თქვენ უნდა იცოდეთ რამდენი ვოლტი არის ზოგადად დენის ტრანზისტორზე. ამის შემდეგ ჩვენ უნდა შევამციროთ ძაბვა UPS-ის გამოსავალზე ისე, რომ განსხვავება აკუმულატორის ძაბვასა და UPS-ის გამომავალ ძაბვას შორის იყოს რაც შეიძლება დაბალი. ამისათვის ჩვენ ვზომავთ ძაბვას ტრანზისტორის გადინებაში PC2-ის გამომავალთან MK ADC-ის გამოყენებით. ეს კეთდება R9 და R10 გამყოფის გამოყენებით. ახლა, საჭირო პარამეტრების ცოდნით, პროგრამა MC-ში თავად გააკონტროლებს PWM სამუშაო ციკლს PB1 პინზე.

ახლა ძალიან ცოტა დარჩა. ეს არის დატენვის წრეში დენის გაზომვა და ეკრანზე ჩვენება. და რჩება ბატარეაზე ძაბვის გაზომვა და ასევე ეკრანზე ჩვენება.

ბატარეის ძაბვა იზომება დიფერენციალური გზით. ჩვენ ამოვიღებთ მნიშვნელობას PC5 პინიდან. რეზისტორები R5 და R6 უნდა იყოს ზუსტად 3 kOhm, ხოლო R2 და R4 რეზისტორები უნდა იყოს თითო 1 kOhm, სასურველია სიზუსტე მინიმუმ 1%, ამიტომ მე არ მქონია ასეთი R4 როგორც ტრიმერი. დასკვნა ის არის, რომ რეზისტორების ასეთი რეიტინგებით, ძაბვის თანაფარდობა op-amp-ის შეყვანებზე და მის გამომავალზე არის 3: 1. როდესაც ბატარეაზე ძაბვა იცვლება 0-დან 15 ვოლტამდე, ძაბვა op-amp გამოსავალზე შეიცვლება 0-დან 5 ვოლტამდე. ამ ჯაჭვის დასაყენებლად, თქვენ უნდა დააკავშიროთ 14,4 ვოლტი ბატარეის ნაცვლად, მაგალითად, ლაბორატორიული კვების წყაროდან. შემდეგ ჩვენ ვატრიალებთ R4 ტრიმერს ისე, რომ LCD დისპლეი ასევე იყოს 14.4 ვოლტი. ძაბვის საზომი მიკროსქემის დაყენება დასრულებულია.

დენი იზომება შუნტზე ძაბვის ვარდნის საშუალებით, რომელსაც თამაშობს ჩვეულებრივი ცემენტის რეზისტორი. ჩვენი დენი არის 0-დან 5A-მდე. შუნტზე ძაბვა იცვლება, შესაბამისად, 0-დან 0,5 ვოლტამდე. რეზისტორების R16 და R17 მნიშვნელობები შეირჩევა ისე, რომ ძაბვა op-amp-ის გამოსავალზე იყო 0-დან 5 ვოლტამდე. ჩვენ დავაყენეთ დატენვის დენის ჩვენება შემდეგი ჯაჭვის მიხედვით. ვაერთებთ ბატარეას და ვაკეთებთ დენს 2,5 ა. ბატარეის პარალელურად ვაერთებთ 12 ვოლტიან ნათურას. ჩვენ ვწყვეტთ ბატარეას და ვტოვებთ ნათურას. ჩვენ ვზრუნავთ, რომ დენი არის 2.5 ამპერი. თუ შუნტზე ძაბვა არის 0,25 ვოლტი, მაშინ დენი არის 2,5 ა. თუ არა, ატრიალეთ ენკოდერი, სანამ შუნტი არ იქნება 0,25 ვოლტი. ახლა ჩვენ ვატრიალებთ R17 ტრიმერს ისე, რომ ეკრანზე გამოჩნდეს დენი 2.5A. მიმდინარე ეკრანის დაყენება დასრულებულია.

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

თუ თქვენ გჭირდებათ დატენვის დენი 10A-მდე, შუნტის პარალელურად, ჩვენ ვამაგრებთ იგივე შუნტს 0,1 Ohm ღირებულებით. ვიღებთ რელეს 10A-მდე გამძლე კონტაქტებით და IRF540 ტრანზისტორის პარალელურად ვამაგრებთ მეორეს იგივეს. ტრანზისტორებს ვამაგრებთ ძლიერ რადიატორზე და ვაგრძელებთ ტესტირებას. ერთადერთი ის არის, რომ დისპლეის დენის მნიშვნელობა უნდა გამრავლდეს 2-ზე. თუ ჩვენება აჩვენებს 5A, სინამდვილეში ეს უკვე იქნება 10A. პირადად მე თვითონ არ გამიკეთებია ეს, მაგრამ თეორიულად უნდა იმუშაოს.

საბოლოო ჯამში, მიღებული დიაგრამა ასე გამოიყურება:


ვერაფერს ვეთანხმები, ასე რომ ჩამოტვირთეთ სქემა აქედან .

რამდენიმე firmware ფრაგმენტი.

#include "define.h" #include "init_mcu.h" #include "lcd.h" #include "text.h" #include "bits_macros.h" #include "fun.h" #include "encoder.h" # მოიცავს "servise.h" #include "main.h" #include #შეიცავს #შეიცავს #შეიცავს #შეიცავს #შეიცავს #შეიცავს #define RELAY PB0 uint8_t lcd_time, lcd_track, lcd_count, enc_interval, enc_speed, off_charge; uint8_t U_bat_tim, I_bat_tim = 255, stok_reg, Energy_flag, count; uint16_t I_reg, enc_block, bat_count, bat_save, bat_off; EEMEM uint8_t ენერგიის_გამორთვა; struct flag (_Bool lcd_clr_txt0: 1; _Bool lcd_clr_txt1: 1; _Bool count_timer0: 1; // შეფერხების დამმუშავებლისთვის _Bool start_charging: 1; // გამორთეთ რელე, თუ ელექტროენერგია გამორთულია, როდესაც ღამურა იტენება:1 _Bool; დროშები; ISR (TIMER0_OVF_vect) // ტაიმერი 0 გადინება ყოველ 1 ms. (TCNT0 = 0x6; flags.count_timer0 = 1;) void reg_I (uint16_t reg_val) // დამუხტვის დენის შემცირება 14,4 ვოლტის მიღწევისას (თუ (I_reg> reg_val) (I_reg = 0; off_charge = 1; თუ (OCR2! = 0) (OCR2--; enc_data = OCR2;))) void charg_off (void) (if (BitIsSet (PORTB, RELAY)) (eeprom_update_byte (& Energy_off, 0);) ClearBit (PORTB, RELAY); ClearBit (TCCR2, COM21); // გააუქმა აპარატურის pwm გამომავალი PB3 პინზე OCR1A = 0; // შეამცირა პულსის გენერატორის ელექტრომომარაგება 12,5 ვოლტამდე. off_charge = 0; flags.start_charging = 0; flags.ocr1a_block = 0; enc_data = 0; I_bat_tim = 255; დათვლა = 0; OCR2 = 0;) int main (void) (#if 1 // ინიციალიზაცია MCU_init_ports (); MCU_init_adc (); MCU_init_an_comp (); MCU_init_timer0 (); MCU_init_timer1 (MCU_init_timer_timer1); ; LCD_init_flash , 0); LCD_string_of_flashXY (ტექსტი_2,3,1); _delay_ms (1500); LCD_string_of_flashXY (ტექსტი_3,3,0); LCD_string_of_flashXY (ტექსტი_4,2,1); _დაგვიანებით_ms (თუ 15 ms) (PIND , PUSH)) (servise ();) // შედით სერვისის მენიუში თუ (eeprom_read_byte (& Energy_off) && u_batt ()> 20) (enc_data = eeprom_read_byte (& i_pusk); ) else (eeprom_update_byte (& Energy_off, 0);) MCU_init_wdt (); sei (); #endif while (1) (wdt_reset (); uint8_t u_bat = u_batt (); uint8_t i_bat = i_batt (); #if 1 / * განსაზღვრავს, არის თუ არა ბატარეა დაკავშირებული * / თუ (u_bat> 30) // 30 * 0.0585 = 1.7 ვოლტი ბატარეაზე, დაკავშირებული (if (flags.lcd_clr_txt0 == 0) (flags.lcd_clr_txt0 = 1; LCD_clear ();) თუ (lcd_time> 200) (lcd_time = 0; LCD_string_of_flash7,str. XY (ტექსტი 7,0); LCD_string_of_flashXY (ტექსტი_11,13,0); char ბუფერი; uint16_t U = (u_bat * 59) / 100; utoa ((uint8_t) U, ბუფერი, 10); // ეკრანის ძაბვა, თუ (( uint8_t ) U> = 100) (LCD_dataXY (ბუფერი, 2,0); LCD_მონაცემები (ბუფერი); LCD_მონაცემები ("."); LCD_მონაცემები (ბუფერი); LCD_string_of_flashXY (ტექსტი_10,6,0);) სხვა თუ ((uint8_t) U > = 10 && (uint8_t) U<=99) { LCD_dataXY(buffer,2,0); LCD_data("."); LCD_data(buffer); LCD_string_of_flashXY(text_10,5,0); } else { LCD_dataXY("0",2,0); LCD_data("."); LCD_data(buffer); LCD_string_of_flashXY(text_10,5,0); } uint16_t I=(i_bat*20)/100; utoa((uint8_t)I, buffer, 10);//выводим ток на дисплей c шунта if ((uint8_t)I>9) (LCD_dataXY (ბუფერი, 10,0); LCD_მონაცემები ("."); LCD_მონაცემები (ბუფერი);) სხვა (LCD_dataXY ("0", 10,0); LCD_მონაცემები (""); LCD_მონაცემები (ბუფერი); ))) else // არ არის დაკავშირებული (LCD_string_of_flashXY (ტექსტი_5,0,0); LCD_string_of_flashXY (ტექსტი_6,0,1); flags.lcd_clr_txt0 = 0; eeprom_update_byte (& Energy_off, 0);;) 1 *#if დამუშავების ტაიმერი0 შეწყვეტის დროშა * / if (flags.count_timer0 == 1) (flags.count_timer0 = 0; lcd_time ++; enc_interval ++; I_reg ++; lcd_track ++; if (enc_speed! = 100) // დაადგინეთ კოდირება ბრუნვის სიჩქარე. (enc_speed ++;) if (enc_block > = 1) (enc_block ++; if (enc_block> = 500) (enc_block = 0;)) if (BitIsSet (PORTB, RELAY)) (bat_count ++;) else (bat_count = 0; bat_off = 0; bat_save ++;) stok_reg ++; if (flags.start_charging && count! = 255) (count ++;)) #endif #if 1 / * მონაცემების მიღება კოდირებიდან * / if (enc_interval> = 5) (enc_interval = 0; OCR2 = encoder (); // წაიკითხეთ მნიშვნელობის ენკოდერი. #if 0 // დროებით ტესტის სიმბოლოს ბუფერისთვის; utoa (OCR2, bu ffer, 10); თუ (OCR2> = 100) (LCD_მონაცემებიXY (ბუფერი, 0,1); LCD_მონაცემები (ბუფერი); LCD_მონაცემები (ბუფერი);) სხვა თუ (OCR2> = 10 && OCR2<=99) { LCD_dataXY("0",0,1); LCD_data(buffer); LCD_data(buffer); } else { LCD_dataXY("0",0,1); LCD_data("0"); LCD_data(buffer); } #endif if (OCR2==0)//отключаем все. { charg_off(); } else//начали заряд { if (flags.ocr1a_block==0) { flags.ocr1a_block=1; OCR1A=255;//подняли питание импульсника до 17 вольт. } SetBit(TCCR2,COM21); SetBit(PORTB,RELAY); } } #endif #if 1 /*уменьшение тока заряда при достижении 14.4вольта*/ if (u_bat==246 && OCR2>0) (reg_I (3000); // ყოველ 3 წამში ერთხელ) სხვა თუ (u_bat == 255 && OCR2> 0) (reg_I (100); // ერთხელ ყოველ 100 ms) სხვა თუ (u_bat> 246 && OCR2> 0 ) (reg_I (500); // 500 ms ერთხელ) #endif #if 1 / * გამორთეთ დამუხტვა, როდესაც დამუხტვის დენი მიაღწევს 0.1A-ს * / თუ (off_charge == 1 && enc_block == 0) (if (i_bat<=5)//5*0.02=0.1 А ток в батарее. { charg_off(); flags.lcd_clr_txt1=1; LCD_string_of_flashXY(text_13,0,1);//"БАТАРЕЯ ЗАРЯЖЕНА" } } //отключение реле если при заряде бат откл. электричество. if (OCR2>0 && i_bat> 4) // 4 * 0.02 = 0.08A (flags.start_charging = 1;) if (flags.start_charging == 1 && i_bat<2 && count==255)//2*0.02=0.04 А ток в батарее. { ClearBit(PORTB,RELAY); } #endif #if 1 /*Бегущий индикатор на дисплее*/ if (OCR2>0) (if (flags.lcd_clr_txt1 == 1) (flags.lcd_clr_txt1 = 0; LCD_string_of_flashXY (ტექსტი_8,0,1);) if (lcd_track> = 200) (lcd_track = 0 (ccount ++l;c) შემთხვევა 0: LCD_მონაცემები_flashXY (ტექსტი_15,8,1); შესვენება; შემთხვევა 1: LCD_მონაცემები_flashXY (ტექსტი_16,8,1); შესვენება; შემთხვევა 2: LCD_მონაცემები_flashXY (ტექსტი_17,8,1); შესვენება; შემთხვევა 3: LCD_Data_of_flashXY ,1); შესვენება; შემთხვევა 4: LCD_მონაცემები_flashXY (ტექსტი_19,8,1); შესვენება; შემთხვევა 5: LCD_მონაცემები_flashXY (ტექსტი_20,8,1); შესვენება; შემთხვევა 6: LCD_მონაცემები_flashXY (ტექსტი_21,8,1); შესვენება; შემთხვევა 7 : LCD_მონაცემები_flashXY (ტექსტი_22,8,1); შესვენება; შემთხვევა 8: #if 1 if (off_charge == 1) (LCD_count = 5; break;) if (u_bat<232)// 13.57V/0.0585=230 на АЦП. { lcd_count=255; LCD_string_of_flashXY(text_12,8,1); } else if (u_bat<=234) { lcd_count=0; } else if (u_bat<=236) { lcd_count=1; } else if (u_bat<=238) { lcd_count=2; } else if (u_bat<=240) { lcd_count=3; } else if (u_bat<=242) { lcd_count=4; } else if (u_bat<=244) { lcd_count=5; } else { lcd_count=5; } break; #endif default:lcd_count=5; break; } } } else { lcd_count=255; if (flags.lcd_clr_txt1==0) { flags.lcd_clr_txt1=1; LCD_string_of_flashXY(text_8,0,1); } } #endif #if 1 /*Аварийный таймер отключения*/ if (bat_count>= 60000 && eeprom_read_byte (& timer_time)) // msec 60000 (bat_count = 0; bat_off ++; #if 1 // LCD_string_of_flashXY (text_37,0,1); char buffer; utoa, 1_off); თუ (bat_off > = 100) (LCD_dataXY (ბუფერი, 2,1); LCD_მონაცემები (ბუფერი); LCD_მონაცემები (ბუფერი); LCD_string_of_flashXY (ტექსტი_38,5,1);) სხვა თუ (bat_off> = 10 && bat_off<=99) { LCD_dataXY(buffer,2,1); LCD_data(buffer); LCD_string_of_flashXY(text_38,4,1); } else { LCD_dataXY(buffer,2,1); LCD_data(" "); LCD_string_of_flashXY(text_38,4,1); LCD_dataXY(" ",7,1); } #endif } if (u_bat>U_bat_tim && off_charge == 0) // გადააყენეთ ძაბვის განგაშის ტაიმერი (bat_off = 0; U_bat_tim = u_bat;) თუ (i_bat = eeprom_read_word (& tim_dlitl)) // სტანდარტულად 180 წუთი (charg_off (); LCD_string_of_flashXY (ტექსტი_14,0,1); bat_off = 0; flags.lcd_clr_txt1 = 1;) #endif #if 1 / * ძაბვის რეგულირება ელექტრომომარაგების * / თუ (stok_reg> = 100) (stok_reg = 0; uint8_t u_stok = u_stokk (); if (u_stok> 62) // 0.0195 * 51 * 2 = 2 ვოლტი ჩაძირვაში. (თუ (OCR1A! = 0) (OCR1A--;)) სხვა თუ (u_stok<60) { if (OCR1A!=255) { OCR1A++; } } #if 0//временно для теста char buff; utoa(u_stok, buff, 10); if (u_stok>= 100) (LCD_მონაცემებიXY (buff, 3,1); LCD_მონაცემები (buff); LCD_მონაცემები (buff);) სხვა თუ (u_stok> = 10 && u_stok<=99) { LCD_dataXY("0",3,1); LCD_data(buff); LCD_data(buff); } else { LCD_dataXY("0",3,1); LCD_data("0"); LCD_data(buff); } #endif } #endif #if 1 /*Режим хранения батареи*/ if (bat_save>= 60000 && eeprom_read_byte (& save_on)! = 0) (bat_save = 0; თუ (u_bat<=eeprom_read_byte(&u_start))//12.5V / 0.0585=213,6 на АЦП { enc_data=eeprom_read_byte(&i_pusk); } } #endif #if 1 /*Режим отключения питания*/ if (enc_data && eeprom_read_byte(&power_off) && energy_flag==0) { energy_flag=1; eeprom_update_byte(&energy_off,1); } #endif } } #if 1 //тексты на дисплей const uint8_t PROGMEM text_1="Зарядное"; const uint8_t PROGMEM text_2="устройcтво"; const uint8_t PROGMEM text_3="SIRIUS 5А "; const uint8_t PROGMEM text_4="Для АКБ 12В"; const uint8_t PROGMEM text_5="Подключи батарею"; const uint8_t PROGMEM text_6="УЧТИ полярность."; const uint8_t PROGMEM text_7="U="; const uint8_t PROGMEM text_8=" "; const uint8_t PROGMEM text_9=" I="; const uint8_t PROGMEM text_10="В "; const uint8_t PROGMEM text_11="А "; const uint8_t PROGMEM text_12=" "; const uint8_t PROGMEM text_13="БАТАРЕЯ ЗАРЯЖЕНА"; const uint8_t PROGMEM text_14="ЗАРЯД ОТКЛЮЧЕН! "; // const uint8_t PROGMEM text_15={0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0}; // 1 const uint8_t PROGMEM text_16={0xFF,0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0}; // 12 const uint8_t PROGMEM text_17={0xFF,0xFF,0xFF,0x20,0x20,0x20,0x20,0x20,0}; // 123 const uint8_t PROGMEM text_18={0xFF,0xFF,0xFF,0xFF,0x20,0x20,0x20,0x20,0}; // 1234 const uint8_t PROGMEM text_19={0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0x20,0x20,0}; // 12345 const uint8_t PROGMEM text_20={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0x20,0}; // 123456 const uint8_t PROGMEM text_21={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0}; // 1234567 const uint8_t PROGMEM text_22={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0}; // 12345678 const uint8_t PROGMEM text_23 ="Режим сохр. "; const uint8_t PROGMEM text_24 ="ВКЛ "; const uint8_t PROGMEM text_25 ="ВЫКЛ"; const uint8_t PROGMEM text_26 ="U запуска <"; const uint8_t PROGMEM text_27 =" СЕРВИСНОЕ МЕНЮ "; const uint8_t PROGMEM text_28 =" ВЫХОД ИЗ МЕНЮ "; const uint8_t PROGMEM text_29 ="I запуска "; const uint8_t PROGMEM text_30 ="Режим отключения"; const uint8_t PROGMEM text_31 ="питания "; const uint8_t PROGMEM text_32 ="Аварийный Таймер"; const uint8_t PROGMEM text_33 =" ВКЛ "; const uint8_t PROGMEM text_34 =" ВЫКЛ "; const uint8_t PROGMEM text_35 ="задержка "; const uint8_t PROGMEM text_36 =" мин"; const uint8_t PROGMEM text_37 ="T="; const uint8_t PROGMEM text_38 ="min"; #endif

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

ახლა არის რამდენიმე ვიდეო და ფოტო. ასე გამოიყურებოდა პირველი პროტოტიპი.

ასე გამოიყურებოდა პირველი დაფა.

შემდგომში გაკეთდა უფრო ცივილიზებული გადახდა.

შემდეგ გამოიგონეს სხეული.

მერე ეს ყველაფერი შეგროვდა.

საბოლოოდ ასეც მოხდა.

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

ეს მოწყობილობა განკუთვნილია Li-ion და Ni-Mh ბატარეების სიმძლავრის გასაზომად, ასევე Li-ion ბატარეების დასატენად საწყისი დამუხტვის დენის არჩევით.

კონტროლი

ჩვენ ვუერთებთ მოწყობილობას სტაბილიზებულ ელექტრომომარაგებას 5 ვ და დენს 1A (მაგალითად, მობილური ტელეფონიდან). ინდიკატორი 2 წამის განმავლობაში აჩვენებს სიმძლავრის წინა გაზომვის შედეგს "xxxxmA/s" და მეორე ხაზზე OCR1A რეგისტრის მნიშვნელობას "S.xxx". ჩვენ ჩავსვამთ ბატარეას. თუ საჭიროა ბატარეის დატენვა, მაშინ მოკლედ დააჭირეთ ღილაკს CHARGE, თუ საჭიროა სიმძლავრის გაზომვა, მაშინ მოკლედ დააჭირეთ TEST ღილაკს. თუ თქვენ გჭირდებათ დატენვის დენის შეცვლა (OCR1A რეგისტრის მნიშვნელობა), მაშინ დიდი ხნის განმავლობაში (2 წამი) დააჭირეთ ღილაკს CHARGE. ჩვენ შევდივართ რეესტრის კორექტირების ფანჯარაში. გაუშვით ღილაკი. CHARGE ღილაკზე მოკლედ დაჭერით, ჩვენ ვცვლით რეესტრის მნიშვნელობებს (50-75-100-125-150-175-200-225) წრეში, პირველი ხაზი აჩვენებს ბატარეის დატენვის ცარიელ დენს არჩეულ მნიშვნელობაზე. (იმ პირობით, რომ თქვენ გაქვთ 0 რეზისტორი წრეში) , 22 Ohm). მოკლედ დააჭირეთ TEST ღილაკს, OCR1A რეგისტრის მნიშვნელობა ინახება არასტაბილურ მეხსიერებაში.
თუ თქვენ გააკეთეთ სხვადასხვა მანიპულაციები მოწყობილობით და გჭირდებათ საათის, გაზომილი სიმძლავრის გადატვირთვა, მაშინ დააჭირეთ TEST ღილაკს დიდი ხნის განმავლობაში (OCR1A რეგისტრის მნიშვნელობა არ არის გადატვირთული). როგორც კი დატენვა დასრულდება, ეკრანის განათება ითიშება, განათების ჩასართავად მოკლედ დააჭირეთ TEST ან CHARGE ღილაკს.

მოწყობილობის ლოგიკა ასეთია:

დენის გამოყენებისას, ინდიკატორი აჩვენებს ბატარეის სიმძლავრის წინა გაზომვის შედეგს და არასტაბილურ მეხსიერებაში შენახული OCR1A რეგისტრის მნიშვნელობას. 2 წამის შემდეგ მოწყობილობა გადადის ბატარეის ტიპის განსაზღვრის რეჟიმზე ტერმინალებზე ძაბვის მიხედვით.

თუ ძაბვა 2 ვ-ზე მეტია, მაშინ ეს არის Li-ion ბატარეა და სრული გამონადენის ძაბვა იქნება 2.9 ვ, წინააღმდეგ შემთხვევაში ეს არის Ni-MH ბატარეა და სრული გამონადენი ძაბვა იქნება 1 ვ. მხოლოდ ბატარეის მიერთების შემდეგ არის ხელმისაწვდომი საკონტროლო ღილაკები. შემდეგ მოწყობილობა ელოდება ტესტის ან დამუხტვის ღილაკების დაჭერას. ჩვენება აჩვენებს "_STOP". ტესტის ღილაკზე მოკლედ დაჭერისას, დატვირთვა დაკავშირებულია MOSFET-ის საშუალებით.

გამონადენი დენის სიდიდე განისაზღვრება ძაბვით 5.1 Ohm რეზისტორზე და ყოველ წუთში ის ჯამდება წინა მნიშვნელობასთან. მოწყობილობა იყენებს 32768Hz კვარცს საათის მუშაობისთვის.

ეკრანზე ნაჩვენებია ბატარეის სიმძლავრის "xxxxmA/s" და გამონადენის "A.xxx" მიმდინარე მნიშვნელობა, ასევე დრო "xx: xx: xx" ღილაკის დაჭერის მომენტიდან. ასევე ნაჩვენებია დაბალი ბატარეის ანიმაციური ხატულა. Ni-MH ბატარეის ტესტის დასასრულს ჩნდება წარწერა "_STOP", გაზომვის შედეგი ნაჩვენებია ეკრანზე "xxxxmA / s" და ინახება.

თუ ბატარეა არის Li-ion, მაშინ გაზომვის შედეგი ასევე ნაჩვენებია ეკრანზე "xxxxmA / s" და ახსოვს, მაგრამ დატენვის რეჟიმი დაუყოვნებლივ ჩართულია. ეკრანზე ნაჩვენებია რეგისტრის OCR1A "S.xxx" შინაარსი. ასევე ნაჩვენებია ბატარეის დატენვის ანიმაციური ხატულა.

დატენვის დენი კონტროლდება PWM-ით და შემოიფარგლება 0.22 Ohm რეზისტორით. აპარატურაში, დატენვის დენი შეიძლება შემცირდეს 0.22 Ohm-დან 0.5-1 Ohm-მდე წინააღმდეგობის გაზრდით. დატენვის დასაწყისში დენი თანდათან იზრდება OCR1A რეგისტრის მნიშვნელობამდე ან სანამ ბატარეის ტერმინალებზე ძაბვა არ მიაღწევს 4.22 ვ-ს (თუ ბატარეა დამუხტული იყო).

დამუხტვის დენის ღირებულება დამოკიდებულია OCR1A რეგისტრის მნიშვნელობაზე - რაც უფრო დიდია მნიშვნელობა, მით უფრო დიდია დამუხტვის დენი. როდესაც ბატარეის ტერმინალებზე ძაბვა არის 4.22 ვ, OCR1A რეგისტრის მნიშვნელობა მცირდება. დატენვის პროცესი გრძელდება მანამ, სანამ OCR1A რეგისტრის მნიშვნელობა არ იქნება 33-ის ტოლი, რაც შეესაბამება დაახლოებით 40 mA დენს. ამით სრულდება გადასახადი. ეკრანის უკანა განათება გამორთულია.

მორგება

1. შეაერთეთ კვების წყარო.
2. შეაერთეთ ბატარეა.
3. ვოლტმეტრს ვაკავშირებთ ბატარეას.
4. დროებითი ღილაკებით + და - (PB4 და PB5) ჩვენ მივაღწევთ ვოლტმეტრის ჩვენებების დამთხვევას ეკრანზე და საცნობარო ვოლტმეტრზე.
5. დააჭირეთ TEST ღილაკს დიდი ხნის განმავლობაში (2 წმ), ხდება დამახსოვრება.
6. ბატარეას ვხსნით.
7. ვოლტმეტრს ვუერთებთ 5.1 Ohm რეზისტორს (დიაგრამის მიხედვით 09N03LA ტრანზისტორის მახლობლად).
8. შეაერთეთ რეგულირებადი კვების ბლოკი ბატარეის ტერმინალებთან, დააყენეთ 4 ვ კვების ბლოკზე.
9. მოკლედ დააჭირეთ TEST ღილაკს.
10. ვზომავთ ძაბვას 5.1 Ohm რეზისტორზე - U.
11. გამოთვალეთ გამონადენი I = U / 5.1
12. დროებითი ღილაკების + და - (PB4 და PB5) გამოყენებით დააყენეთ გამონადენის გამოთვლილი დენი I ინდიკატორზე „A.xxx“.
13. დააჭირეთ TEST ღილაკს დიდი ხნის განმავლობაში (2 წმ), ხდება დამახსოვრება.

მოწყობილობა იკვებება სტაბილიზირებული წყაროდან 5 ვოლტიანი ძაბვით და 1A დენით. კვარცი 32768 ჰც-ზე შექმნილია ზუსტი დროისთვის. ATmega8 ტაქტირებულია შიდა 8 MHz ოსცილატორით და EEPROM დაცვა უნდა იყოს დაყენებული შესაბამისი კონფიგურაციის ბიტით. საკონტროლო პროგრამის დაწერისას გამოყენებული იქნა სამეურვეო სტატიები ამ საიტიდან.

ძაბვის და დენის კოეფიციენტების მიმდინარე მნიშვნელობები (Ukof. Ikof) ჩანს, თუ მესამე ხაზზე დააკავშირებთ 16x4 დისპლეს (სასურველია 16x4 გამართვისთვის). ან Ponyprog-ში თუ გახსნით EEPROM firmware ფაილს (წაიკითხეთ EEPROM კონტროლერიდან).
1 ბაიტი - OCR1A, 2 ბაიტი - I_kof, 3 ბაიტი - U_kof, 4 და 5 ბაიტი არის წინა სიმძლავრის გაზომვის შედეგი.

მოწყობილობის ვიდეო:

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

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

ჩართეთ და გამორთეთ LED-ები ნებისმიერ რეჟიმში (კარი ღიაა და ნათურა ჩართულია). ასევე ავტომატური გამორთვა ხუთი წუთის შემდეგ. და მინიმალური ლოდინის დენის მოხმარება.

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

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

მუშაობის პრინციპი მარტივია: ღილაკის მობრუნებით რეგულირდება ხმა, დაჭერისას ხმა ითიშება და ირთვება. თქვენ უნდა დაწეროთ Windows ან Android-ზე

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

მე ოდნავ შევცვალე დროის დაყოვნების რელეს წრე ფორდის მანქანის შიდა განათების ჩართვისთვის (სქემა შემუშავებული იყო ძალიან კონკრეტული მანქანისთვის, როგორც სტანდარტული Ford 85GG-13C718-AA რელეს შემცვლელი, მაგრამ წარმატებით დამონტაჟდა შინაური "კლასიკები").

ეს არ არის პირველი შემთხვევა, როდესაც ასეთი ხელნაკეთობები იშლება. მაგრამ რატომღაც ხალხი იჭერს firmware-ს. მიუხედავად იმისა, რომ უმეტესწილად ისინი ეფუძნება elmchan პროექტს "Simple SD Audio Player 8-pin IC". წყაროს ფაილი არ იხსნება იმის მტკიცებით, რომ პროექტი უნდა გამოსწორებულიყო, ჩემი ხარისხი უკეთესია... და ა.შ. მოკლედ, აიღეს ღია კოდის პროექტი, ააწყვეს და გადასცეს როგორც საკუთარს.

Ისე. Attiny 13 მიკროკონტროლერი არის ამ მოწყობილობის გული, ასე ვთქვათ. კარგა ხანი ვიტანჯე მისი ფირმვერით, ვერაფრით ვერ გავანათე.არც 5 მავთული LPT-ის საშუალებით და არც გრომოვის პროგრომატორი. კომპიუტერი უბრალოდ ვერ ხედავს კონტროლერს და ეს არის ის.

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

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