Mundarija:
- Ta'minotlar
- 1 -qadam: 1 -qadam: sxemalar
- 2 -qadam: 2 -qadam: kod va rezistor hisoblari
- 3 -qadam: 3 -qadam: Keling, buni sinab ko'ramiz
Video: Arduino volt o'lchagich (0-100V DC) - 2 -versiya (yaxshiroq): 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Bu yo'riqnomada men Arduino Nano va ADS 1115 ADC yordamida yuqori aniqlikdagi DC (0-100v) yuqori kuchlanishlarni o'lchash uchun voltmetr qurdim.
Bu voltmetrning ikkinchi versiyasi, bu erda oldingi ko'rsatmalarni ishlatganman:
Men olgan test o'lchovlari aniq edi, asosan standart voltmetr bilan o'lchangan haqiqiy kuchlanishdan 0,1v ichida (men Astro AI DM6000AR ishlatardim).
Bu mening fikrimcha, Arduino -da tashqi kuchlanish moslamasini ishlatishdan ko'ra osonroq va osonroq.
Ta'minotlar
1 x Arduino Nano - havola
1 x Oled displey (SSD 1306) - havola
1 x ADS 1115 - 16 bitli ADC - havola
1 x 1/4 Vt (men 1W rezistorlardan foydalanishni taklif qilaman) 1% rezistorlar - 220k ohm - Havola
1 x 1/4 Vt (men 1 Vt rezistorlardan foydalanishni taklif qilaman) 1% rezistorlar - 10k ohm - Havola
Non paneli va simlar - havola
Astro AI DM6000AR - havola
USB quvvat banki - havola
9V batareyalar - havola
CanadianWinters Amazon.com MChJ Associates dasturining ishtirokchisi bo'lib, Amazon.com va unga aloqador saytlarga havola qilish orqali saytlar uchun pul ishlash vositalarini taqdim etish uchun mo'ljallangan sheriklik reklama dasturidir. Ushbu havolalarni ishlatib, Amazon Associate sifatida, agar siz boshqa narsa sotib olsangiz ham, sotib olishdan daromad olaman va bu sizga hech qanday xarajat qilmaydi.
1 -qadam: 1 -qadam: sxemalar
Men barcha qismlarni yuqoridagi sxema bo'yicha uladim.
Men ADC1115 ning ADDR pinini erga bog'ladim. Bu ADC manzilini 0x48 ga o'rnatadi.
2 -qadam: 2 -qadam: kod va rezistor hisoblari
Oldingi ko'rsatmalarda bo'lgani kabi, sxemaning g'oyasi shundaki, o'lchanadigan shahar zo'riqishi kuchlanish qarshiligidan o'tadi. O'lchovli kuchlanish ADC konvertorining analog piniga o'qiladi, so'ngra I2C orqali Arduino-ga o'tadi, so'ngra qayta o'lchanadi va OLed displeyida ko'rsatiladi.
Men bu holatda kodni o'rtacha yoki tekislashni ishlatmadim, chunki o'qishlar juda aniq ko'rinadi. Shovqinni kamaytirish uchun siz A0 (ADC) va tuproq o'rtasida kichik kondansatör qo'shishingiz mumkin. Bu mening testim uchun kerak emas edi.
Bir narsani payqadimki, batareya ulanmaganida (0 volt) biroz shovqin eshitildi. Men ADC qiymatini ko'rsatish va uni kod orqali to'g'rilash/sozlash uchun Arduino seriyali monitoridan foydalandim.
Oldingi ko'rsatmalarda bo'lgani kabi, men kuchlanish taqsimlagichida har xil qarshilik qiymatlarini ishlatmoqchi bo'lsangiz, hisob -kitoblarni avtomatlashtiradigan elektron jadval tuzdim: Google Sheet -ga havola.
Mana bu loyiha uchun ishlatgan kodim:
#qo'shing
#include #include #include Adafruit_ADS1115 reklamalari (0x48); // ADC manzili U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (aylanish, [reset]) int calib = 7; // Xatolik suzuvchi kuchlanishni kamaytirish uchun ADS1115 kalibrlash qiymati = 0; // kuchlanish qiymatini saqlash uchun ishlatiladi float Radjust = 0.043421905; // Kuchlanishni ajratuvchi omil (R2 / R1+R2) float vbat = 0; // hisobdan keyingi yakuniy kuchlanish- batareya quvvati // kechiktirmasdan ekranni yangilash uchun o'zgaruvchilar imzosiz uzoq oldingiMillis = 0; // oxirgi marta ekran yangilanganda saqlanadi // doimiylar o'zgarmaydi: const long interval = 250; // ekran yangilanadigan interval (millisekundlar) void setup (void) {Serial.begin (9600); u8g2.begin (); ads.begin (); } void loop (void) {int16_t adc0; // 16 bit ADC A0 kirishini o'qiydi adc0 = ads.readADC_SingleEnded (0); kuchlanish = ((adc0 + kalibr) * 0,1875)/1000; belgisiz uzun oqimMillis = millis (); vbat = kuchlanish/Radjust; // Batareya uzilganda salbiy kuchlanish paydo bo'lishining oldini oling, agar (vbat = interval) {previousMillis = currentMillis; u8g2.clearBuffer (); // ichki menoriyni tozalash // Paket kuchlanish ko'rsatkichi - bu sahifadagi shriftlar: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr); // 20 pikselli shrift u8g2.setFont (u8g2_font_fub35_tr); // 35 pikselli shrift u8g2.setCursor (1, 42); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 pikselli shrift u8g2.setCursor (1, 60); u8g2.print ("Volts"); } u8g2.sendBuffer (); // ichki xotirani displey kechikishiga o'tkazish (1); }
3 -qadam: 3 -qadam: Keling, buni sinab ko'ramiz
Ushbu voltmetrni sinab ko'rish uchun men mahalliy do'konda sotib olgan 10x 9v batareyalardan foydalanardim. Bu safar men 97 voltgacha o'lchashim mumkin edi! Men ushbu voltmetr yordamida elektr velosipedlar akkumulyatorlaridagi kuchlanishni o'lchashni rejalashtiryapman (ular 24-60v gacha, vaqti-vaqti bilan 72v).
Elektron buyumlar kompyuterga va kichik qutiga joylashtirilgandan so'ng, bu batareya zaryadini o'lchash moslamasini yaratadi. OLED -dagi grafikalar va shriftlar sizning ehtiyojlaringizga moslashtirilgan bo'lishi mumkin (masalan, o'qish uchun katta shrift). Mening maqsadim - raqamli ko'p o'lchagichimdan unchalik uzoq bo'lmagan Oled/Arduino o'lchagichida kuchlanish ko'rsatkichi bo'lish edi. Men +/- 0, 3v maksimal deltaga intildim.
Ko'rsatma boshidagi videodan ko'rib turganingizdek, men buni arxivlay oldim! Ko'p o'qishlar aniq joyida edi!
Umid qilamanki, sizga bu ko'rsatma yoqdi va o'z fikrlaringizni bildiring!
Tavsiya:
PCB yordamida yaxshiroq loyihalar: 6 qadam
PCB -dan foydalangan holda yaxshiroq loyihalar: Agar siz elektron loyihalar bilan ishlashga ko'p vaqt sarflagan bo'lsangiz, bu qanchalik qiziqarli va hayajonli bo'lishini bilasiz. Sizning davrangiz ko'z oldingizda jonlanishini ko'rishdan ko'ra hayajonliroq narsa yo'q. Loyihangiz loyihaga aylansa, yanada qiziqarli bo'ladi
Qadimgi ruscha VFD quvurlaridan Arduino uchun qalqon: soat, termometr, volt o'lchagich : 21 qadam (rasmlar bilan)
Qadimgi ruscha VFD naychasidan Arduino uchun qalqon: soat, termometr, voltmetr …: Bu loyihani amalga oshirish uchun deyarli yarim yil kerak bo'ldi. Bu loyihada qancha mehnat sarflanganini tasvirlab berolmayman. Bu loyihani yakka o'zi bajarish meni abadiy olib ketadi, shuning uchun do'stlarimdan yordamim bor edi. Bu erda siz bizning ishimizni juda uzoq yo'riqnomada to'planganini ko'rishingiz mumkin
Tor tarmoqli IoT: aqlli yoritish va o'lchash yaxshiroq va sog'lom ekotizimga yo'l ochadi: 3 qadam
Tor tarmoqli IoT: aqlli yoritish va o'lchash yaxshiroq va sog'lom ekotizimga yo'l ochadi: avtomatlashtirish deyarli barcha sohalarda o'z yo'lini topdi. Ishlab chiqarishdan sog'liqni saqlash, transport va ta'minot zanjiriga qadar avtomatlashtirish kunning nurini ko'rdi. Shubhasiz, bularning barchasi jozibali, lekin shunday ko'rinadi
Ko'rsatmalarda fayllarni ko'rish/hujjatlashtirishning yaxshiroq usuli: 4 qadam
Ko'rsatmalarda fayllarni ko'rish/hujjatlashtirishning eng yaxshi usuli: Odamlar tez -tez Instructables yuklash orqali loyiha uchun fayllarni o'z ichiga oladi, lekin ko'pincha bu dasturiy ta'minot manbai bo'lib, ular hatto ko'rsatma beruvchining yuragi bo'lishi mumkin. Ammo Instructables o'quvchiga kodni o'qish va ko'rib chiqishning oson usulini bermaydi. (
Ko'p tomonlama volt, amper va quvvat o'lchagich: 6 qadam (rasmlar bilan)
Ko'p tomonlama volt, amper va quvvat o'lchagichlari: multimetrlar ko'p maqsadlarga mos keladi. Lekin, odatda, ular bir vaqtning o'zida faqat bitta qiymatni o'lchaydilar. Agar biz kuch o'lchovlari bilan shug'ullanadigan bo'lsak, bizga ikkita multimetr kerak bo'ladi, biri kuchlanish uchun, ikkinchisi Amper uchun. Va agar biz samaradorlikni o'lchashni xohlasak, bizga fou kerak