Агуулгын хүснэгт:

Arduino Volt Meter (0-100V DC) - Хувилбар 2 (илүү сайн): 3 алхам
Arduino Volt Meter (0-100V DC) - Хувилбар 2 (илүү сайн): 3 алхам

Видео: Arduino Volt Meter (0-100V DC) - Хувилбар 2 (илүү сайн): 3 алхам

Видео: Arduino Volt Meter (0-100V DC) - Хувилбар 2 (илүү сайн): 3 алхам
Видео: How to make DC volt meter amp meter 0-100v 0-10A with bigger display 2024, Оны зургадугаар сарын
Anonim
Image
Image
Алхам 1: Схем
Алхам 1: Схем

Энэхүү зааварчилгаанд би Arduino Nano болон ADS 1115 ADC ашиглан DC (0-100v) өндөр хүчдэлийг харьцангуй нарийвчлалтай, нарийвчлалтай хэмжих вольтметрийг бүтээсэн.

Энэ бол миний өмнө зааж өгсөн вольтметрийн хоёр дахь хувилбар юм:

Миний авсан туршилтын хэмжилтүүд үнэн зөв байсан бөгөөд ихэвчлэн стандарт вольтметрээр хэмжсэн бодит хүчдэлийн 0.1v дотор байдаг (би Astro AI DM6000AR ашигласан).

Энэ нь миний бодлоор Arduino дээр гадаад хүчдэлийн лавлагаа ашиглахаас хамаагүй дээр юм.

Хангамж

1 x Arduino Nano - Холбоос

1 x Олед дэлгэц (SSD 1306) - Холбоос

1 x ADS 1115 - 16 бит ADC - Холбоос

1 x 1/4W (1W эсэргүүцэл ашиглахыг санал болгож байна) 1% резистор - 220к ом - Холбоос

1 x 1/4W (1W эсэргүүцэл ашиглахыг санал болгож байна) 1% резистор - 10k ом - Холбоос

Талх, утас - Холбоос

Astro AI DM6000AR - Холбоос

USB Power Bank - холбоос

9V батерей - холбоос

CanadianWinters нь Amazon.com ХХК болон харьяа сайтуудтай холбогдож сайтуудаас төлбөр авах боломжийг бүрдүүлэх зорилготой түншлэлийн зар сурталчилгааны хөтөлбөр болох Amazon Services LLC Associates Program -ийн оролцогч юм. Эдгээр холбоосыг ашигласнаар Amazon Associate-ийн хувьд, хэрэв та өөр зүйл худалдаж авсан ч гэсэн шаардлага хангасан худалдан авалтаас олдог бөгөөд энэ нь танд ямар ч зардал гарахгүй.

Алхам 1: Алхам 1: Схем

Алхам 1: Схем
Алхам 1: Схем

Би дээр дурдсан схемийн дагуу бүх хэсгүүдийг холбосон.

Би ADC1115 -ийн ADDR зүүг газардууллаа. Энэ нь ADC хаягийг 0x48 болгож тохируулдаг.

Алхам 2: Алхам 2: Код ба резисторын тооцоолол

Алхам 2: Код ба резисторын тооцоолол
Алхам 2: Код ба резисторын тооцоолол

Өмнөх зааварчилгааны нэгэн адил хэлхээний санаа нь хэмжих DC хүчдэл нь хүчдэлийн резистороор дамждаг. Масштабтай хүчдэлийг дараа нь ADC хөрвүүлэгчийн аналог зүү рүү оруулаад I2C-ээр Arduino руу дамжуулж дараа нь дахин хэмжиж OLed дэлгэц дээр харуулна.

Би энэ тохиолдолд кодыг дундажлах, тэгшлэх аргыг ашиглаагүй, учир нь уншилт нь яг үнэн зөв харагдаж байна. Дуу чимээг багасгахын тулд та A0 (ADC дээр) ба газардуулгын хооронд жижиг конденсатор нэмж оруулахыг хүсч магадгүй юм. Энэ нь миний шалгалтанд шаардлагатай биш байсан.

Миний анзаарсан нэг зүйл бол зай залгаагүй үед (0 вольт) бага зэрэг чимээ шуугиантай байсан. Би Arduino -ийн цуваа мониторыг ашиглан ADC -ийн утгыг харуулах, кодоор залруулах/тохируулах боломжтой болсон.

Өмнөх зааварчилгааны нэгэн адил би хүчдэл хуваагуурт янз бүрийн эсэргүүцлийн утгыг ашиглахыг хүсвэл тооцооллыг автоматжуулдаг хүснэгт хийсэн.

Энэ төсөлд миний ашиглаж байсан код энд байна.

#оруулах

#оруулах #оруулах #Adafruit_ADS1115 зар оруулах (0x48); // ADC -ийн хаяг U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (эргүүлэх, [дахин тохируулах]) int calib = 7; // Алдааны хөвөх хүчдэлийг бууруулах ADS1115 шалгалт тохируулгын утга = 0; // float хүчдэлийн утгыг хадгалахад ашигладаг Radjust = 0.043421905; // Хүчдэл хуваагч хүчин зүйл (R2 / R1+R2) float vbat = 0; // тооцоолсны дараах эцсийн хүчдэл- батерейны хүчдэл // хойшлуулалгүйгээр дэлгэцийг шинэчлэх хувьсагчид гарын үсэг зураагүй урт өмнөхMillis = 0; // дэлгэцийг шинэчилж байх үед хадгалах болно // тогтмолууд өөрчлөгдөхгүй: const long interval = 250; // дэлгэцийг шинэчлэх интервал (миллисекунд) void setup (void) {Serial.begin (9600); u8g2.begin (); ads.begin (); } void loop (void) {int16_t adc0; // A0 оролтын 16 бит ADC уншсан adc0 = ads.readADC_SingleEnded (0); хүчдэл = ((adc0 + calib) * 0.1875)/1000; тэмдэггүй урт гүйдэлMillis = millis (); vbat = хүчдэл/Radjust; // (vbat = интервал) {ӨмнөхMillis = currentMillis; u8g2.clearBuffer (); // дотоод цэсийг цэвэрлэх // Багц хүчдэлийн дэлгэц - Энэ хуудсан дээрх фонтууд: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr); // 20px фонт u8g2.setFont (u8g2_font_fub35_tr); // 35px фонт u8g2.setCursor (1, 42); u8g2.хэвлэх (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px фонт u8g2.setCursor (1, 60); u8g2.print ("Вольт"); } u8g2.sendBuffer (); // дотоод санах ойг дэлгэцийн саатал руу шилжүүлэх (1); }

Алхам 3: Алхам 3: Үүнийг туршиж үзье

Алхам 3: Үүнийг туршиж үзье!
Алхам 3: Үүнийг туршиж үзье!

Энэ вольтметрийг туршихын тулд би орон нутгийн дэлгүүрээс худалдаж авсан 10х 9в батерейг ашигласан. Энэ удаад би 97 вольт хүртэл хэмжих боломжтой боллоо! Би энэ вольтметрийг ашиглан цахилгаан унадаг дугуйн батерейныхаа хүчдэлийг хэмжихээр төлөвлөж байна (24-60 вольтын хоорондох хүчдэл, заримдаа 72 вольт байдаг).

Электроникийг pcb болон жижиг хайрцагт савласны дараа сайхан, зөөврийн батерейны тоолуур хийх болно. OLED дээрх график болон фонтыг таны хэрэгцээнд нийцүүлэн өөрчилж болно (жишээ нь уншихад хялбар том фонт). Миний зорилго бол дижитал олон хэмжигчээс холгүй орших Олед/Ардуино тоолуур дээр хүчдэлийн заалттай байх явдал байв. Би +/- 0, 3v max delta-ийг зорьж байсан.

Зааварчилгааны эхэнд байгаа видеоноос харахад би үүнийг архивлаж чадсан юм! Ихэнх уншилтууд цэг дээр байсан!

Энэхүү зааварчилгаа танд таалагдсан гэж найдаж, санал бодлоо хэлээрэй!

Зөвлөмж болгож буй: