Სარჩევი:

წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის: 9 ნაბიჯი (სურათებით)
წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის: 9 ნაბიჯი (სურათებით)

ვიდეო: წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის: 9 ნაბიჯი (სურათებით)

ვიდეო: წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის: 9 ნაბიჯი (სურათებით)
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ნოემბერი
Anonim
წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის
წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის
წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის
წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის
წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის
წვრილმანი სიმძლავრის გაზომვის მოდული არდუინოსთვის

მოგესალმებით ყველას, ვიმედოვნებ, რომ მშვენივრად ხართ! ამ სასწავლო ინსტრუქციაში მე ვაპირებ გაჩვენოთ როგორ გავაკეთე ეს სიმძლავრის მრიცხველი/ ვატმეტრის მოდული Arduino დაფაზე გამოსაყენებლად. ამ სიმძლავრის მრიცხველს შეუძლია გამოთვალოს მოხმარებული სიმძლავრე და DC დატვირთვა. ენერგიასთან ერთად, ამ მოდულს ასევე შეუძლია მოგვცეს ძაბვისა და დენის ზუსტი მაჩვენებლები. მას შეუძლია ადვილად გაზომოს დაბალი ძაბვები (დაახლოებით 2V) და დაბალი დენები, როგორც დაბალი 50 mA შეცდომით არა უმეტეს 20mA. სიზუსტე დამოკიდებულია კომპონენტების არჩევანზე, თქვენი მოთხოვნებიდან გამომდინარე.

მარაგები

  • IC LM358 ორმაგი OP-AMP
  • 8 პინიანი IC ბაზა
  • შუნტის რეზისტორი (ჩემს შემთხვევაში 8.6 მილი ოჰმ)
  • რეზისტორები: 100K, 10K, 2.2K, 1K (1/2watt)
  • კონდენსატორები: 3 * 0.1uF კერამიკული კონდენსატორები
  • Veroboard ან ნულოვანი დაფა
  • ხრახნიანი ტერმინალები
  • Soldering რკინის და solder
  • Arduino Uno ან სხვა თავსებადი დაფა
  • OLED ეკრანი
  • Breadbard მავთულის დაკავშირება

ნაბიჯი 1: საჭირო კომპონენტების შეგროვება

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

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

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

ნაბიჯი 2: მუშაობის პრინციპი

მუშაობის პრინციპი
მუშაობის პრინციპი
მუშაობის პრინციპი
მუშაობის პრინციპი
მუშაობის პრინციპი
მუშაობის პრინციპი
მუშაობის პრინციპი
მუშაობის პრინციპი

სიმძლავრის მოდულის მუშაობა ემყარება სქემის თეორიისა და ძირითადი ელექტროენერგიის ორ კონცეფციას: ძაბვის გამყოფის კონცეფცია შემავალი ძაბვის გასაზომად და ომის კანონი წრეში გამავალი დენის გამოსათვლელად. ჩვენ ვიყენებთ შუნტის რეზისტორს, რათა შევქმნათ ძაბვის ძალიან მცირე ვარდნა მასზე. ეს ძაბვის ვარდნა პროპორციულია იმ დენის რაოდენობისა, რომელიც მიედინება შუნტში. ეს მცირე ძაბვა, როდესაც გაძლიერდება ოპერატიული გამაძლიერებელი, შეიძლება გამოყენებულ იქნას როგორც მიკროკონტროლერის შეყვანა, რომელიც შეიძლება დაპროგრამდეს, რათა მოგვაწოდოს მიმდინარე მნიშვნელობა. საოპერაციო გამაძლიერებელი გამოიყენება როგორც არაინვერსიული გამაძლიერებელი, სადაც მოგება განისაზღვრება უკუკავშირის მნიშვნელობებით რეზისტორი R2 და R1. არაინვერტირებადი კონფიგურაციის გამოყენება გვაძლევს საშუალებას გვქონდეს საერთო საფუძველი, როგორც საზომი მითითება. ამისათვის დენი იზომება მიკროსქემის დაბალ მხარეს. ჩემი განაცხადისათვის მე შევარჩიე 46 მოგება 100K და 2.2K რეზისტორის გამოყენებით, როგორც უკუკავშირის ქსელი. ძაბვის გაზომვა ხდება ძაბვის გამყოფი სქემის გამოყენებით, რომელიც ყოფს ძაბვას გამოყენებული რეზისტორული ქსელის პროპორციულად.

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

ნაბიჯი 3: ნაწილების გაერთიანება

ნაწილების გაერთიანება
ნაწილების გაერთიანება
ნაწილების გაერთიანება
ნაწილების გაერთიანება
ნაწილების გაერთიანება
ნაწილების გაერთიანება

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

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

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

ძაბვის შესასწავლად ვიყენებ 10K და 1K ძაბვის გამყოფ ქსელს. მე ასევე დავამატე 0.1 uF კონდენსატორი 1K რეზისტორზე ძაბვის გასათავისუფლებლად. ძაბვის საგრძნობი ქსელი შეყვანილია შეყვანის ტერმინალთან ახლოს

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

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

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

ნაბიჯი 6: დარჩენილი კავშირების დასრულება და მშენებლობის დასრულება

დარჩენილი კავშირების დასრულება და მშენებლობის დასრულება
დარჩენილი კავშირების დასრულება და მშენებლობის დასრულება
დარჩენილი კავშირების დასრულება და მშენებლობის დასრულება
დარჩენილი კავშირების დასრულება და მშენებლობის დასრულება
დარჩენილი კავშირების დასრულება და მშენებლობის დასრულება
დარჩენილი კავშირების დასრულება და მშენებლობის დასრულება

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

ნაბიჯი 7: მოდულის დაკავშირება არდუინოსთან

მოდულის დაკავშირება არდუინოსთან
მოდულის დაკავშირება არდუინოსთან
მოდულის დაკავშირება არდუინოსთან
მოდულის დაკავშირება არდუინოსთან
მოდულის დაკავშირება არდუინოსთან
მოდულის დაკავშირება არდუინოსთან
მოდულის დაკავშირება არდუინოსთან
მოდულის დაკავშირება არდუინოსთან

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

ნაბიჯი 8: პროექტის კოდი და სქემის დიაგრამა

პროექტის კოდი და სქემის დიაგრამა
პროექტის კოდი და სქემის დიაგრამა

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

#ჩართეთ

#ჩართეთ

#ჩართეთ

#ჩართეთ

#განსაზღვრეთ OLED_RESET 4 Adafruit_SSD1306 ჩვენება (OLED_RESET);

float val = 0;

float current = 0;

მცურავი ძაბვა = 0;

float power = 0;

void setup () {

pinMode (A0, INPUT);

pinMode (A1, INPUT);

ჩვენება. დასაწყისი (SSD1306_SWITCHCAPVCC, 0x3C); // ინიციალიზაცია I2C addr 0x3C (128x32) ჩვენებისთვის. ჩვენება ();

დაგვიანება (2000);

// ბუფერის გასუფთავება.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (WHITE);

სერიული.დაწყება (9600); // სერიული მონიტორის მნიშვნელობების სანახავად

}

ბათილი მარყუჟი () {

// სტაბილური კითხვისთვის საშუალო მაჩვენებლის აღება

for (int i = 0; i <20; i ++) {

მიმდინარე = მიმდინარე + analogRead (A0);

ძაბვა = ძაბვა + analogRead (A1); }

მიმდინარე = (მიმდინარე/20); მიმდინარე = მიმდინარე * 0.0123 * 5.0; // დაკალიბრების მნიშვნელობა, შესაცვლელია გამოყენებული კომპონენტების მიხედვით

ძაბვა = (ძაბვა/20); ძაბვა = ძაბვა * 0.0508 * 5.0; // დაკალიბრების მნიშვნელობა, შესაცვლელია გამოყენებული კომპონენტების მიხედვით

სიმძლავრე = ძაბვა*დენი;

// მნიშვნელობების დაბეჭდვა სერიულ მონიტორზე

სერიული. ბეჭდვა (ძაბვა);

Serial.print ("");

Serial.print (მიმდინარე);

Serial.print ("");

Serial.println (ძალა);

// ღირებულებების დაბეჭდვა OLED ეკრანზე

display.setCursor (0, 0);

display.print ("ძაბვა:");

ჩვენება. ბეჭდვა (ძაბვა);

ჩვენება. ბეჭდვა ("V");

display.setCursor (0, 10);

display.print ("მიმდინარე:");

ჩვენება. ბეჭდვა (მიმდინარე);

display.println ("A");

display.setCursor (0, 20);

display.print ("სიმძლავრე:");

ჩვენება. ბეჭდვა (ძალა);

display.println ("W");

ჩვენება. ჩვენება ();

დაგვიანება (500); // განახლების კურსი დადგენილია შეფერხებით

display.clearDisplay ();

}

გირჩევთ: