Სარჩევი:

მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი: 9 ნაბიჯი (სურათებით)
მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი: 9 ნაბიჯი (სურათებით)

ვიდეო: მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი: 9 ნაბიჯი (სურათებით)

ვიდეო: მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი: 9 ნაბიჯი (სურათებით)
ვიდეო: EBYTE LoRa მოდულის მიმოხილვა და კონფიგურაცია 2024, ივლისი
Anonim
მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი
მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი
მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი
მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი
მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი
მიკროკონტროლერზე დაფუძნებული ჭკვიანი ბატარეის დამტენი

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

მე ავაშენე დამტენი ძირითადად ჩემი 11.1v/4400maH Li-ion ბატარეის დასატენად. Firmware ძირითადად დაწერილია ამ კონკრეტული ტიპის ბატარეის დასატენად. თქვენ შეგიძლიათ ატვირთოთ თქვენი დამუხტვის პროტოკოლი თქვენი საჭიროებების დასაკმაყოფილებლად სხვა ტიპის ბატარეები.

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

როდესაც პირველად ვიყიდე ჩემი წინა 11.1v/2200mah Li-ion ბატარეა, ვეძებდი წვრილმანი ბატარეის დამტენებს ინტერნეტში ჭკვიანი კონტროლით. მაგრამ მე ვიპოვე ძალიან შეზღუდული რესურსები. ასე რომ, მაშინ მე გავაკეთე ბატარეის დამტენი LM317- ის საფუძველზე და იმუშავა ნამდვილად კარგია ჩემთვის. მაგრამ რადგან ჩემი წინა ბატარეა დროთა განმავლობაში გარდაიცვალა (უმიზეზოდ), შევიძინე კიდევ ერთი Li-ion ბატარეა 11.1v/4400mah. მაგრამ ამჯერად, წინა დაყენება არაადეკვატური იყო ჩემი ახალი ბატარეის დასატენად. მოთხოვნა, მე შევისწავლე ქსელში და შემეძლო შემექმნა ჩემი ჭკვიანი დამტენი.

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

მოდით სწრაფად გადავხედოთ როგორ დავტენოთ Li-ion ბატარეა.

ნაბიჯი 1: დატენვის პროტოკოლი Li-ion ბატარეისთვის

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

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

აქ არის ბმული, რომ იცოდეთ საჭირო დეტალები Li-ion ბატარეის დასატენად.

თუ თქვენ ხართ ზარმაცი, რომ წაიკითხოთ ყველა ეს თეორია, მაშინ არსი ასეთია.

1. 3.7 ვ Li-ion ბატარეის სრული დატენვაა 4.2 ვ. ჩვენს შემთხვევაში, 11.1 ვ ლითიუმ-იონური ბატარეა ნიშნავს 3 x 3.7 ვ ბატარეას. სრული დატენვისთვის ბატარეა უნდა მიაღწიოს 12.6 ვ-ს, მაგრამ უსაფრთხოების მიზნით, ჩვენ დატენავს 12.5 ვ -მდე

2. როდესაც ბატარეა მიაღწევს თავის სრულ დატენვას, მაშინ დამტენიდან დამუხტული ბატარეის დენი მცირდება რეიტინგული ბატარეის სიმძლავრის 3% -მდე. მაგალითად, ჩემი უჯრედის ბატარეის სიმძლავრეა 4400 mah. როდესაც ბატარეა სრულად იტენება, ბატარეის მიერ გამოყვანილი დენი მიიღწევა 4400 მ-ის თითქმის 3% -5% ანუ 132-დან 220 მ-მდე. დატენვის უსაფრთხოდ შესაჩერებლად, დატენვა შეწყდება, როდესაც გამოყვანილი დენი ქვემოთ წავა 190ma (რეიტინგული სიმძლავრის თითქმის 4%).

3. მთლიანი დატენვის პროცესი იყოფა ორ ძირითად ნაწილად 1-მუდმივი დენი (CC რეჟიმი), 2-მუდმივი ძაბვა (CV რეჟიმი). (ასევე არის დამუხტვის დამუხტვის რეჟიმი, მაგრამ ჩვენ ამას არ განვახორციელებთ ჩვენს დამტენში როგორც დამტენი შეატყობინებს მომხმარებელს სრული დატენვისთანავე განგაშით, მაშინ ბატარეა უნდა იყოს გათიშული დამტენიდან)

CC რეჟიმი -

CC რეჟიმში, დამტენი დატენავს ბატარეას 0.5c ან 1c დატენვის მაჩვენებლით. ახლა რა ჯანდაბაა 0.5c/1c ???? მარტივად რომ ვთქვათ, თუ თქვენი ბატარეის სიმძლავრეა ვთქვათ 4400mah, მაშინ CC რეჟიმში, 0.5c იქნება 2200ma და 1c იქნება 4400ma დატენვის დენი. 'c' ნიშნავს დატენვის/განმუხტვის სიჩქარეს. ზოგიერთი ბატარეა ასევე მხარს უჭერს 2c ანუ CC რეჟიმში, თქვენ შეგიძლიათ დააყენოთ დატენვის მიმდინარეობა 2 ბატარეის სიმძლავრემდე, მაგრამ ეს გიჟურია !!!!!

მაგრამ იმისათვის, რომ ვიყო უსაფრთხო, მე ავირჩევ 1000 მ -ის დატენვას 4400mah ბატარეაზე ანუ 0.22c. ამ რეჟიმში დამტენი აკონტროლებს ბატარეის მიერ მიმდინარე დენებს დამოუკიდებლად დატენვის ძაბვისგან. ანუ დამტენი შეინარჩუნებს 1A დატენვის დენის გაზრდას /გამომავალი ძაბვის შემცირება, სანამ ბატარეის დატენვა არ მიაღწევს 12.4 ვ -მდე.

CV რეჟიმი -

როგორც კი ბატარეის ძაბვა აღწევს 12,4 ვ -მდე, დამტენი შეინარჩუნებს 12,6 ვოლტს (ბატარეის მიერ გამოყვანილი დენისგან დამოუკიდებლად) მის გამომავალზე. ახლა დამტენი შეაჩერებს დატენვის ციკლს ორ რამეზეა დამოკიდებული. თუ ბატარეის ძაბვები კვეთს 12,5 ვ და ასევე, თუ დატენვის დენი დაეცემა 190 მ -ზე ქვემოთ (ბატარეის რეიტინგული სიმძლავრის 4%, როგორც ადრე ავუხსენით), მაშინ დატენვის ციკლი შეჩერდება და ჟღერს ზარი.

ნაბიჯი 2: სქემატური და ახსნა

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

მიკროსქემის შეყვანის ძაბვა შეიძლება იყოს 19/20 ვ. მე გამოვიყენე ძველი ლეპტოპის დამტენი 19 ვ.

J1 არის ტერმინალური კონექტორი, რომელიც აკავშირებს წრედს ძაბვის წყაროსთან. Q1, D2, L1, C9 ქმნის ბუკ კონვერტორს. ახლა რა ჯანდაბაა ეს ??? ეს არის ძირითადად DC to DC ქვევით გადამყვანი. ამ ტიპში კონვერტორი, თქვენ შეგიძლიათ მიაღწიოთ სასურველ გამომავალ ძაბვას მოვალეობის ციკლის შეცვლით. თუ გსურთ მეტი იცოდეთ მამალი კონვერტორების შესახებ, ეწვიეთ ამ გვერდს. მაგრამ გულწრფელად რომ ვთქვათ, ისინი სრულიად განსხვავდებიან თეორიისგან. L1 და C9 ჩემი მოთხოვნების შესაბამისად, 3 დღე დასჭირდა ცდას და შეცდომას. თუ თქვენ აპირებთ სხვადასხვა ბატარეის დატენვას, მაშინ შესაძლებელია, რომ ეს ღირებულებები შეიცვალოს.

Q2 არის დრაივერის ტრანზისტორი ძალა mosfet Q1. R1 არის მიკერძოებული რეზისტორი Q1– ისთვის. ჩვენ ვიკვებებით pwm სიგნალით Q2– ის ბაზაზე გამომავალი ძაბვის გასაკონტროლებლად. C13 არის დაშლის ქუდი

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

გაითვალისწინეთ, რომ გზაზე არის დიოდი D1. რას აკეთებს დიოდი აქ? ეს პასუხი ასევე ძალიან მარტივია. როდესაც წრე გათიშული იქნება შეყვანის დენისგან, ხოლო ბატარეა მიმაგრებულია გამომავალზე, დენის ბატარეიდან მიედინება საპირისპირო გზაზე MOSFET Q3 & Q1 სხეულის დიოდების მეშვეობით და ამით U1 და U2 მიიღებენ ბატარეის ძაბვას მათ შეყვანისას და გაამძაფრებს მიკროსქემის ბატარეას. ამის თავიდან ასაცილებლად გამოიყენება D1.

D1– ის გამომუშავება იკვებება მიმდინარე სენსორის შეყვანისას (IP+). ეს არის დარბაზის ეფექტის ბაზის მიმდინარე სენსორი, ანუ მიმდინარე ზონდირების ნაწილი და გამომავალი ნაწილი იზოლირებულია. მიმდინარე სენსორის გამომუშავება (IP-) შემდეგ იკვებება ბატარეა. აქ R5, RV1, R6 ქმნიან ძაბვის გამყოფ წრეს ბატარეის ძაბვის/გამომავალი ძაბვის გასაზომად.

Atmega8– ის ADC გამოიყენება ბატარეის ძაბვისა და დენის გასაზომად. ADC– ს შეუძლია გაზომოთ მაქსიმუმ 5 ვ. მაგრამ ჩვენ გავზომავთ მაქსიმუმ 20 ვ (ზოგიერთ თავსაბურავს). იმისათვის, რომ შემცირდეს ძაბვა ADC დიაპაზონში, 4: გამოიყენება 1 ძაბვის გამყოფი. ქოთანი (RV1) გამოიყენება სრულყოფილი სრულყოფის/დაკალიბრების მიზნით. ამაზე მოგვიანებით ვისაუბრებ. C6 არის ქუდის გაწყვეტა.

ACS714 მიმდინარე სენსორის გამომავალი ასევე იკვებება atmega8– ის ADC0 პინით. ამ ACS714 სენსორის საშუალებით, ჩვენ გავზომავთ მიმდინარეობას. მე მაქვს 5A ვერსიის pololu– ს გარღვევის დაფა და მართლაც მშვენივრად მუშაობს. მომდევნო ეტაპზე ვისაუბრებ როგორ გავზომოთ დენი.

LCD არის ნორმალური 16x2 LCD. აქ გამოყენებული LCD არის კონფიგურირებული 4 ბიტიანი რეჟიმში, რადგან atmega8– ის პინ რაოდენობა შეზღუდულია. RV2 არის LCD– ის სიკაშკაშის რეგულირების ქოთანი.

Atmega8 არის 16 მჰც -ზე გარე ბროლის X1– ით, ორი განშტოებული თავსახურით C10/11. ADM ერთეული atmega8 იკვებება Avcc pin– ით 10uH ინდუქტორის საშუალებით. C7, C8 აკუდთან დაკავშირებულ თავებს ათავსებენ. მოათავსეთ ისინი მაქსიმალურად მჭიდროდ Avcc და Aref შესაბამისად PCB მიღებისას. გაითვალისწინეთ, რომ Agnd pin არ არის ნაჩვენები წრეში. Agnd pin იქნება დაკავშირებული მიწასთან.

მე დავაყენე atmega8– ის ADC გარე Vref– ის გამოსაყენებლად, ანუ ჩვენ მივაწოდებთ საცნობარო ძაბვას Aref pin– ის საშუალებით. ამის მთავარი მიზეზი არის კითხვის მაქსიმალური სიზუსტის მისაღწევად. შიდა 2.56v საცნობარო ძაბვა არ არის იმდენად დიდი. ამიტომაც გარედან დავაკონფიგურირე. ახლა აქ არის რაღაც შესამჩნევი. 7805 (U2) ამარაგებს მხოლოდ ACS714 სენსორს და ატმეგა 8 -ის არეფს. ეს არის ოპტიმალური სიზუსტის შესანარჩუნებლად. ACS714 იძლევა სტაბილურ 2.5 ვ გამომავალ ძაბვას, როდესაც მასში არ არის მიმდინარე ნაკადი. მაგრამ ვთქვათ, თუ ACS714- ის მიწოდების ძაბვა შემცირდება (ვთქვათ 4.7v), მაშინ არ გამომავალი ძაბვა (2.5v) ასევე დაიკლებს და ის შექმნის შეუსაბამო/მცდარ მიმდინარე კითხვას. ასევე, როდესაც ჩვენ ვზომავთ ძაბვას Vref– სთან მიმართებაში, მაშინ არეფზე მითითებული ძაბვა უნდა იყოს შეცდომის გარეშე და სტაბილური. ამიტომაც გვჭირდება სტაბილური 5 ვ.

თუ ჩვენ დავამუშავებდით ACS714 & Aref- ს U1– დან, რომელიც ამარაგებს ატმეგა 8 – ს და LCD– ს, მაშინ U1– ის გამომავალზე იქნება ძაბვის მნიშვნელოვანი ვარდნა და ამპერი და ძაბვის კითხვა არასწორი იქნება. ამიტომაც არის აქ U2 შეცდომის აღმოსაფხვრელად მხოლოდ არეფის და ACS714– ის სტაბილური 5 ვ მიწოდებით.

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

ნაბიჯი 3: ფუნქციონირება …

ფუნქციონირებს…
ფუნქციონირებს…
ფუნქციონირებს…
ფუნქციონირებს…
ფუნქციონირებს…
ფუნქციონირებს…

როდესაც იკვებება, atmega8 ჩართავს მამლის კონვერტორს Q2- ის ბაზაზე 25% pwm გამომუშავებით. თავის მხრივ, შემდეგ Q2 ამოძრავებს Q1 და დაიწყება მამალი კონვერტორი. Q3 ამოძრავებთ მამლის კონვერტორის გამომუშავების გათიშვას და ბატარეა. atmega8 შემდეგ კითხულობს ბატარეის ძაბვას რეზისტორის გამყოფის საშუალებით. თუ ბატარეა არ არის დაკავშირებული, მაშინ atmega8 აჩვენებს შეტყობინებას "ჩადეთ ბატარეა" 16x2 LCD– ით და ელოდება ბატარეას. თუ ბატარეა მაშინ მიმაგრებულია, atmega8 შეამოწმებს ძაბვას. თუ ძაბვა 9v- ზე დაბალია, მაშინ atmega8 აჩვენებს "გაუმართავი ბატარეას" 16x2 LCD- ზე.

თუ ბატარეა 9 ვ -ზე მეტია ნაპოვნი, მაშინ დამტენი პირველად შევა CC რეჟიმში და ჩართავს გამომავალი mosfet Q3. დამტენი რეჟიმი (CC) განახლდება დაუყოვნებლივ ჩვენებისათვის. თუ ბატარეის ძაბვა აღმოჩნდება 12,4 ვ -ზე მეტი, მაშინ mega8 დაუყოვნებლივ დატოვებს CC რეჟიმს და შევა CV რეჟიმში. თუ ბატარეის ძაბვა 12,4 ვ -ზე ნაკლებია, მაშინ მეგა 8 შეინარჩუნებს 1A დატენვის დენს ბუკ კონვერტორის გამომავალი ძაბვის გაზრდით/შემცირებით pwm– ის სხვადასხვა მოვალეობის ციკლით. დატენვის დენი იკითხება ACS714 მიმდინარე სენსორით. მამალი გამომავალი ძაბვა, დატენვის დენი, PWM სამუშაო ციკლი პერიოდულად განახლდება LCD- ში.

. ბატარეის ძაბვა შემოწმდება Q3- ის გამორთვით ყოველი 500ms ინტერვალის შემდეგ. ბატარეის ძაბვა დაუყოვნებლივ განახლდება LCD- ზე.

თუ დატენვის დროს ბატარეის ძაბვა აღემატება 12.4 ვოლტს, მაშინ მეგა 8 დატოვებს CC რეჟიმს და შევა CV რეჟიმში. რეჟიმის სტატუსი დაუყოვნებლივ განახლდება lcd– ზე.

შემდეგ მეგა 8 შეინარჩუნებს გამომავალ ძაბვას 12,6 ვოლტამდე მამლის მოვალეობის ციკლის შეცვლით. აქ ბატარეის ძაბვა შემოწმდება ყოველ 1 წთ ინტერვალის შემდეგ. როგორც კი ბატარეის ძაბვა იქნება 12.5 ვ -ზე მეტი, მაშინ ის შემოწმდება თუ გამოყვანილი დენი 190 მ -ზე დაბალია. თუ ორივე პირობა დაკმაყოფილებულია, მაშინ დატენვის ციკლი შეწყდება Q3– ის მუდმივი გამორთვით და Q5– ის ჩართვით ჟღერს ზარი. ასევე მეგა 8 აჩვენებს "დატენვის დასრულებას" lcd– ის საშუალებით.

ნაბიჯი 4: ნაწილები საჭირო

ნაწილები საჭირო
ნაწილები საჭირო

ქვემოთ ჩამოთვლილია პროექტის დასასრულებლად საჭირო ნაწილები. გთხოვთ, მიმართოთ მონაცემთა ცხრილს pinout– ისთვის. მოწოდებულია მხოლოდ გადამწყვეტი ნაწილების მონაცემთა ცხრილის ბმული

1) ATMEGA8A x 1. (მონაცემთა ცხრილი)

2) ACS714 5A მიმდინარე სენსორი Pololu x 1 -დან (მე მტკიცედ გირჩევთ გამოიყენოთ Pololu– ს სენსორი, რადგან ისინი ყველაზე ზუსტია ყველა სხვა სენსორში, რაც მე გამოვიყენე. თქვენ შეგიძლიათ იპოვოთ აქ). პინოტუ აღწერილია სურათზე.

3) IRF9540 x 2. (მონაცემთა ცხრილი)

4) 7805 x 2 (რეკომენდირებულია Toshiba– ს ორიგინალიდან, რადგან ისინი იძლევა ყველაზე სტაბილურ 5 ვ გამომავალს). (მონაცემთა ცხრილი)

5) 2n3904 x 3. (მონაცემთა ცხრილი)

6) 1n5820 schottky x 2. (მონაცემთა ცხრილი)

7) 16x2 LCD x 1. (მონაცემთა ცხრილი)

8) 330uH/2A დენის ინდუქტორი x 1 (რეკომენდირებულია coilmaster– ისგან)

9) 10uH ინდუქტორი x 1 (პატარა)

10) რეზისტორები -(ყველა რეზისტორი არის 1% MFR ტიპის)

150R x 3

680R x 2

1 კ x 1

2k2 x 1

10k x 2

22k x 1

5k ქოთანი x 2 (pcb სამონტაჟო ტიპი)

11) კონდენსატორები

შენიშვნა: მე არ გამომიყენებია C4. არ არის საჭირო მისი გამოყენება, თუ თქვენ იყენებთ ლეპტოპის კვების ბლოკს/რეგულირებადი კვების ბლოკს, როგორც 19 ვ ენერგიის წყაროს

100uF/25v x 3

470uF/25v x 1

1000uF/25v x 1

100n x 8

22p x 2

12) PCB მთაზე მომენტალური ბიძგი გადამრთველი x 2

13) 20v Buzzer x 1

14) 2 პინიანი ტერმინალის ბლოკის კონექტორი x 2

15) კაბინეტი (მე გამოვიყენე კაბინეტი ასე.). თქვენ შეგიძლიათ გამოიყენოთ რაც მოგწონთ.

16) 19 ვ ლეპტოპის ელექტრომომარაგება (მე შევცვალე hp ლეპტოპის კვების წყარო, თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი ტიპის ელექტრომომარაგება, როგორც გსურთ. თუ გსურთ ააშენოთ ერთი, მაშინ ეწვიეთ ჩემს ამ ინსტრუქციებს.)

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

18) ბანანის კონექტორი - ქალი (შავი და წითელი) x 1 + მამაკაცი (შავი და წითელი) (დამოკიდებულია თქვენი კონექტორების საჭიროებაზე)

ნაბიჯი 5: გამოთვლის დრო ……

ძაბვის გაზომვის გაანგარიშება:

მაქსიმალური ძაბვა, ჩვენ გავზომავთ atmega8 adc– ის გამოყენებით 20v. მაგრამ atmega8– ის adc– ს შეუძლია შეაფასოს max 5v. ასე რომ, 20v 5V დიაპაზონში, აქ გამოიყენება 4: 1 ძაბვის გამყოფი (როგორც 20v/4 = 5v). ასე რომ, ჩვენ შეგვიძლია განვახორციელოთ ის უბრალოდ ორი რეზისტორის გამოყენებით, მაგრამ ჩვენს შემთხვევაში, მე დავამატე ქვაბი ორ ფიქსირებულ რეზისტორს შორის, რათა ჩვენ ხელით შევცვალოთ სიზუსტე ქოთნის გადატრიალებით. ADC- ის გარჩევადობაა 10 ბიტი, ანუ წარმოადგენს 0v- დან 5v- მდე 0 -დან 1023 ათობითი რიცხვამდე ან 00h- დან 3FFh- მდე. ('h' ნიშნავს hex რიცხვებს). მითითება დადგენილია 5v გარედან არეფის პინის საშუალებით.

ასე რომ, გაზომილი ძაბვა = (adc კითხვა) x (Vref = 5v) x (რეზისტორის გამყოფი ფაქტორი, ანუ 4 ამ შემთხვევაში) / (მაქსიმალური adc კითხვა, ანუ 1023 10bit adc).

დავუშვათ, რომ ჩვენ ვიღებთ 512 -ს. შემდეგ გაზომილი ძაბვა იქნება -

(512 x 5 x 4) / 1023 = 10 ვ

მიმდინარე გაზომვის გაანგარიშება:

ACS714 მისცემს 2.5v სტაბილურ გამომავალს პინზე, როდესაც IP+ IP– დან IP– ის მიმართ დენი არ შემოვა. იგი იძლევა 2.5 მ ზე 185mv/A– ს, ანუ ვთქვათ, თუ 3A დენი მიედინება წრეში, acs714 მისცემს 2.5v+(0.185 x 3) v = 3.055v მის გარეთ pin.

ასე რომ, მიმდინარე გაზომვის ფორმულა ასეთია -

გაზომილი დენი = (((adc კითხვა)*(Vref = 5v)/1023) -2.5) /0.185.

ვთქვათ, adc კითხვა არის 700, მაშინ გაზომილი დენი იქნება - (((700 x 5)/1023) - 2.5) /0.185 = 4.98A.

ნაბიჯი 6: პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა კოდირებულია Winavr– ში GCC– ს გამოყენებით. მე მოდულარიზებული მაქვს კოდი, ანუ მე შევქმენი სხვადასხვა ბიბლიოთეკა, როგორიცაა adc ბიბლიოთეკა, lcd ბიბლიოთეკა და ა.შ. ფუნქციები მართავს 16x2 lcd. თქვენ ასევე შეგიძლიათ გამოიყენოთ lcd_updated _library.c რადგან ამ ბიბლიოთეკაში lcd– ის დაწყების თანმიმდევრობა შეცვლილია. თუ გსურთ განახლებული ბიბლიოთეკის გამოყენება, მაშინ გადაარქვით მას lcd.c

Main.c ფაილი შეიცავს ძირითად ფუნქციებს. Li-ion– ის დატენვის ოქმი აქ არის დაწერილი. გთხოვთ განსაზღვროთ ref_volt in main.c U2 (7805) გამომავალი გაზომვით ზუსტი მულტიმეტრით, რათა მიიღოთ ზუსტი კითხვა, როგორც გათვლები ემყარება მას

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

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

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

მე ატვირთული მაქვს თითოეული ფაილი, როგორც ორიგინალური ფორმატი, გარდა Makefile, რადგან ის ქმნის პრობლემის გახსნას. მე ავტვირთე.txt ფორმატში. უბრალოდ დააკოპირეთ შინაარსი და ჩასვით იგი ახალ მაკიაჟში და ააშენეთ მთელი პროექტი. ვოილა….თქვენ მზად ხართ დაწეროთ hex ფაილი.

ნაბიჯი 7: საკმარისია თეორიისათვის…..მოდი გავაფორმოთ

თეორია საკმარისია …
თეორია საკმარისია …
თეორია საკმარისია …
თეორია საკმარისია …
თეორია საკმარისია …
თეორია საკმარისია …
თეორია საკმარისია …
თეორია საკმარისია …

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

ნაბიჯი 8: პირველი დატენვის ციკლის დაწყებამდე …….კალიბრირება !!

დამტენის გამოყენებით ბატარეის დატენვამდე, ჯერ უნდა მოახდინოთ მისი დაკალიბრება. წინააღმდეგ შემთხვევაში ის ვერ შეძლებს ბატარეის დატენვას/გადატვირთვას.

არსებობს კალიბრაციის ორი ტიპი 1) ძაბვის კალიბრაცია. 2) მიმდინარე დაკალიბრება. დაკალიბრების ნაბიჯები შემდეგია.

თავდაპირველად, გაზომეთ U2– ის გამომავალი ძაბვა. შემდეგ განსაზღვრეთ ის main.c– ში, როგორც ref_volt. ჩემი იყო 5.01. შეცვალეთ იგი თქვენი გაზომვის მიხედვით. ეს არის ძაბვისა და მიმდინარე კალიბრაციის მთავარი აუცილებელი ნაბიჯი. მიმდინარე კალიბრაციისთვის არაფერი სხვა არის საჭირო. ყველაფერზე ზრუნავს თავად პროგრამული უზრუნველყოფა

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

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

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

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

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

ნაბიჯი 9: ჩართვა კალიბრაციის შემდეგ ….. ახლა თქვენ მზად ხართ როკზე

ჩართვა კალიბრაციის შემდეგ ….. ახლა თქვენ მზად ხართ როკზე
ჩართვა კალიბრაციის შემდეგ ….. ახლა თქვენ მზად ხართ როკზე
ჩართვა კალიბრაციის შემდეგ ….. ახლა თქვენ მზად ხართ როკზე
ჩართვა კალიბრაციის შემდეგ ….. ახლა თქვენ მზად ხართ როკზე
ჩართვა კალიბრაციის შემდეგ ….. ახლა თქვენ მზად ხართ როკზე
ჩართვა კალიბრაციის შემდეგ ….. ახლა თქვენ მზად ხართ როკზე

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

ჩემი წრე 100% მუშაობს და გამოცდილია. მაგრამ თუ რამეს შეამჩნევთ, გთხოვთ შემატყობინოთ. ასევე მოგერიდებათ დაუკავშირდით ნებისმიერ შეკითხვას.

ბედნიერი შენობა.

რგდს // შარანია

გირჩევთ: