Мазмұны:

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 қадам
Бейне: Complete Test/Review of 10A 0-100V LED DC Volt and Current Meter 2024, Маусым
Anonim
Image
Image
1 -қадам: схемалар
1 -қадам: схемалар

Бұл нұсқаулықта мен Arduino Nano мен ADS 1115 ADC көмегімен тұрақты кернеуді (0-100в) салыстырмалы дәлдікпен және дәлдікпен өлшеуге арналған вольтметр құрдым.

Бұл вольтметрдің екінші нұсқасы, мұнда менің нұсқаулығымда қолданылды:

Мен қабылдаған сынақ өлшемдері дәл болды, көбінесе стандартты вольтметрмен өлшенген нақты кернеудің 0,1 в ішінде (мен Astro AI DM6000AR қолдандым).

Бұл менің ойымша, Arduino -да сыртқы кернеу сілтемесін қолданудан гөрі әлдеқайда жақсы және оңай.

Жабдықтар

1 x Arduino Nano - сілтеме

1 x Oled дисплейі (SSD 1306) - сілтеме

1 x ADS 1115 - 16 биттік ADC - сілтеме

1 x 1/4 Вт (мен 1 Вт резисторды қолдануды ұсынамын) 1% резистор - 220 к ом - Сілтеме

1 x 1/4 Вт (мен 1 Вт резисторды қолдануды ұсынамын) 1% резистор - 10 к ом - Сілтеме

Нан тақтасы мен сымдар - сілтеме

Astro AI DM6000AR - сілтеме

USB қуат банкі - сілтеме

9В батареялары - сілтеме

CanadianWinters - Amazon Services LLC Associates бағдарламасының қатысушысы, Amazon.com мен аффилиирленген сайттарға сілтеме жасау арқылы сайттарға ақы алу құралдарын ұсынуға арналған серіктестік жарнама бағдарламасы. Осы сілтемелерді қолдана отырып, Amazon Associate ретінде, егер сіз басқа нәрсе сатып алсаңыз да, білікті сатып алудан табамын-және бұл сізге ештеңе етпейді.

1 -қадам: 1 -қадам: схемалар

1 -қадам: схемалар
1 -қадам: схемалар

Мен барлық бөлшектерді жоғарыдағы схемаға сәйкес қостым.

Мен ADC1115 ADDR түйреуішін жерге байладым. Бұл ADC мекенжайын 0x48 етіп орнатады.

2 -қадам: 2 -қадам: код және резисторлық есептеулер

2 -қадам: код және резисторлық есептеулер
2 -қадам: код және резисторлық есептеулер

Алдыңғы нұсқаулықтағыдай, тізбектің идеясы өлшенетін тұрақты кернеу кернеу резисторы арқылы өтеді. Масштабталған кернеу ADC түрлендіргішінің аналогтық түйреуішіне оқылады, содан кейін I2C арқылы Arduino-ға беріледі, содан кейін қайта масштабталады және OLed дисплейінде көрсетіледі.

Мен бұл жағдайда кодта орташа мәнді немесе тегістеуді қолданған жоқпын, себебі оқулар дәл дәл көрінеді. Шуды азайту үшін A0 (ADC) мен жер арасындағы шағын конденсаторды қосқыңыз келуі мүмкін. Бұл менің тестім үшін қажет емес еді.

Мен байқаған бір нәрсе, батарея қосылмаған кезде (0 вольт) біраз шу болды. Мен ADC мәнін көрсету және оны код арқылы түзету/реттеу үшін Arduino сериялық мониторын қолдандым.

Алдыңғы нұсқаулықтағыдай, мен кернеу бөлгіште резистордың әр түрлі мәндерін қолданғыңыз келсе, есептеулерді автоматтандыратын электрондық кесте жасадым: Google парағына сілтеме

Міне, мен бұл жоба үшін қолданған код:

#қосу

#қосу #қосу #қосу 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; // есептеуден кейінгі соңғы кернеу- аккумулятордың кернеуі // экранды кешіктірусіз жаңартуға арналған айнымалылар unsigned long previousMillis = 0; // экран соңғы рет жаңартылғанда сақталады // тұрақтылар өзгермейді: const long interval = 250; // экран жаңартылатын уақыт аралығы (миллисекундтар) void setup (void) {Serial.begin (9600); u8g2.begin (); ads.begin (); } void цикл (void) {int16_t adc0; // 16 бит ADC A0 кірісінің оқуы adc0 = ads.readADC_SingleEnded (0); кернеу = ((adc0 + calib) * 0,1875)/1000; белгісіз ұзақ токMillis = millis (); vbat = кернеу/Radjust; // Батарея ажыратылғанда теріс кернеуді көрсетуге жол бермеңіз, егер (vbat = interval) {previousMillis = currentMillis; u8g2.clearBuffer (); // ішкі менорды тазарту // Pack Voltage display - Бұл беттегі қаріптер: 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.print (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В).

Электроника компьютерге және кішкене қорапқа салынғаннан кейін, бұл жақсы және портативті батарея есептегішін жасайды. OLED -дегі графика мен қаріптер сіздің қажеттіліктеріңізге сәйкес реттелуі мүмкін (мысалы, оқуға ыңғайлы үлкен қаріп). Менің мақсатым Олед/Ардуино метрінде менің сандық мультиметрден алыс емес жерде кернеуді оқу болды. Мен +/- 0, 3в максималды дельтаға ұмтылдым.

Нұсқаулықтың басындағы видеодан көріп тұрғаныңыздай, мен мұны мұрағаттай алдым! Оқулардың көпшілігі назарда болды!

Сізге бұл нұсқаулық ұнады деп үміттенемін және өз ойларыңызбен бөлісіңіз!

Ұсынылған: