فهرست مطالب:

متر ولتاژ آردوینو (0-100V DC) - نسخه 2 (بهتر): 3 مرحله
متر ولتاژ آردوینو (0-100V DC) - نسخه 2 (بهتر): 3 مرحله

تصویری: متر ولتاژ آردوینو (0-100V DC) - نسخه 2 (بهتر): 3 مرحله

تصویری: متر ولتاژ آردوینو (0-100V DC) - نسخه 2 (بهتر): 3 مرحله
تصویری: Review of XL4015 5A 1.25 -30V DC CC Buck converter with thermal image 2024, ژوئن
Anonim
Image
Image
مرحله 1: طرحواره ها
مرحله 1: طرحواره ها

در این دستورالعمل ، من یک ولت متر برای اندازه گیری ولتاژهای بالا DC (0-100v) با دقت و دقت نسبی با استفاده از Arduino Nano و ADS 1115 ADC ساخته ام.

این نسخه دوم ولت متر است که از دستورالعمل قبلی من در اینجا استفاده شده است:

اندازه گیری های آزمایشی که انجام دادم دقیق بود ، بیشتر در 0.1 ولت ولتاژ واقعی اندازه گیری شده با ولت متر استاندارد (من از Astro AI DM6000AR استفاده کردم).

این به نظر من بسیار بهتر و آسان تر از استفاده از منبع ولتاژ خارجی در آردوینو است.

تدارکات

1 x آردوینو نانو - پیوند

1 نمایشگر Oled (SSD 1306) - پیوند

1 x ADS 1115 - ADC 16 بیتی - پیوند

1 x 1/4W (پیشنهاد می کنم از مقاومتهای 1W استفاده کنید) 1٪ مقاومت - 220k اهم - پیوند

1 x 1/4W (پیشنهاد می کنم از مقاومتهای 1W استفاده کنید) 1٪ مقاومت - 10k اهم - پیوند

تخته نان و سیم - پیوند

Astro AI DM6000AR - پیوند

USB پاور بانک - پیوند

باتری های 9 ولت - پیوند

CanadianWinters یک شرکت کننده در برنامه Amazon Services LLC Associates Program است ، یک برنامه تبلیغاتی وابسته که به منظور ایجاد هزینه ای برای سایتها با پیوند به Amazon.com و سایتهای وابسته طراحی شده است. با استفاده از این پیوندها ، من به عنوان یک همکار آمازون از خریدهای واجد شرایط ، حتی اگر چیز دیگری خریداری می کنید-و هیچ هزینه ای برای شما ندارد.

مرحله 1: مرحله 1: طرحواره ها

مرحله 1: طرحواره ها
مرحله 1: طرحواره ها

من تمام قسمتها را مطابق نمودارهای بالا متصل کردم.

من پین ADDR ADC1115 را به زمین وصل کردم. این آدرس ADC را روی 0x48 تنظیم می کند.

مرحله 2: مرحله 2: محاسبات کد و مقاومت

مرحله 2: محاسبات کد و مقاومت
مرحله 2: محاسبات کد و مقاومت

همانطور که در دستورالعمل قبلی توضیح داده شد ، ایده مدار این است که ولتاژ DC مورد اندازه گیری از طریق مقاومت ولتاژ عبور می کند. ولتاژ مقیاس بندی شده و سپس وارد پین آنالوگ مبدل ADC می شود تا خوانده شود ، سپس از طریق I2C به آردوینو منتقل می شود و مجدداً مقیاس بندی شده و بر روی صفحه نمایش OLed نمایش داده می شود.

من در این مورد از میانگین گیری یا هموارسازی در کد استفاده نکردم ، زیرا قرائت ها کاملاً دقیق و دقیق به نظر می رسند. برای کاهش نویز ، ممکن است بخواهید یک خازن کوچک بین A0 (در ADC) و زمین اضافه کنید. هرچند برای آزمایش من لازم نبود.

نکته ای که من متوجه آن شدم ، کمی صدا بود وقتی باتری متصل نبود (0 ولت). من از مانیتور سریال Arduino برای نمایش مقدار ADC و تصحیح/تنظیم آن از طریق کد استفاده کردم.

مانند دستورالعمل قبلی ، من یک صفحه گسترده ایجاد کردم که محاسبات را در صورت تمایل به استفاده از مقادیر مختلف مقاومت در تقسیم ولتاژ ، ایجاد می کند: پیوند به Google Sheet

در اینجا کدی است که برای این پروژه استفاده کردم:

#عبارتند از

#شامل #شامل #شامل تبلیغات 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؛ // ولتاژ نهایی پس از محاسبه- ولتاژ باتری // متغیرهایی برای تازه سازی صفحه بدون استفاده از تاخیر بدون امضای طولانی قبلی Milis = 0؛ // آخرین باری که صفحه نمایش تازه شد ذخیره می شود // ثابت ها تغییر نمی کنند: const long interval = 250؛ // بازه زمانی برای بازسازی صفحه (میلی ثانیه) void setup (void) {Serial.begin (9600)؛ u8g2.begin ()؛ ads.begin ()؛ } حلقه void (خالی) {int16_t adc0؛ // 16 بیت ADC خواندن ورودی A0 adc0 = ads.readADC_SingleEnded (0) ؛ ولتاژ = ((adc0 + calib) * 0.1875)/1000 ؛ جریان طولانی بدون امضا Millis = millis ()؛ vbat = ولتاژ/تنظیم // جلوگیری از نمایش ولتاژ منفی در صورت قطع باتری در صورت (vbat = interval) {previousMillis = 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.print (vbat، 2) ؛ u8g2.setFont (u8g2_font_8x13B_mr) ؛ // فونت 10 پیکسل u8g2.setCursor (1 ، 60) ؛ u8g2.print ("ولت") ؛ } u8g2.sendBuffer ()؛ // انتقال حافظه داخلی به تأخیر نمایش (1) ؛ }

مرحله 3: مرحله 3: بیایید آن را آزمایش کنیم

مرحله 3: بیایید آن را آزمایش کنیم!
مرحله 3: بیایید آن را آزمایش کنیم!

برای آزمایش این ولت متر از باتری های 10x 9V استفاده کردم که در یک فروشگاه محلی تهیه کردم. این بار من می توانم تا 97 ولت را اندازه گیری کنم! من قصد دارم از این ولت متر برای اندازه گیری ولتاژ بسته باتری دوچرخه های برقی استفاده کنم (ولتاژ آنها بین 24-60 ولت و گاهی اوقات 72 ولت).

هنگامی که وسایل الکترونیکی در یک PCB و یک جعبه کوچک بسته بندی می شوند ، این یک متر سنج باتری خوب و قابل حمل می شود. گرافیک و فونت های OLED می توانند متناسب با نیاز شما سفارشی شوند (به عنوان مثال فونت بزرگتر برای خواندن آسان). هدف من این بود که یک ولتاژ بر روی متر Oled/Arduino که چندان دورتر از چند متر دیجیتال من نیست ، اندازه گیری کنم. من برای +/- 0 ، 3v max delta هدف داشتم.

همانطور که از ویدیوی ابتدای دستورالعمل مشاهده می کنید ، من توانستم این را بایگانی کنم! بیشتر خواندن ها به صورت نقطه ای بود!

امیدوارم از این برنامه آموزشی لذت برده باشید و نظرات خود را به من اطلاع دهید!

توصیه شده: