جدول المحتويات:

اردوينو فولت متر (0-100 فولت تيار مستمر) - الإصدار 2 (أفضل): 3 خطوات
اردوينو فولت متر (0-100 فولت تيار مستمر) - الإصدار 2 (أفضل): 3 خطوات

فيديو: اردوينو فولت متر (0-100 فولت تيار مستمر) - الإصدار 2 (أفضل): 3 خطوات

فيديو: اردوينو فولت متر (0-100 فولت تيار مستمر) - الإصدار 2 (أفضل): 3 خطوات
فيديو: Output DC or AC Voltage using MCP4725 DAC with LCD and PWM to Voltage Converter with Arduino 2024, يونيو
Anonim
Image
Image
الخطوة 1: المخططات
الخطوة 1: المخططات

في هذا الدليل ، قمت ببناء مقياس الفولتميتر لقياس الفولتية العالية DC (0-100 فولت) بدقة ودقة نسبية باستخدام Arduino Nano و ADS 1115 ADC.

هذا هو الإصدار الثاني من الفولتميتر الذي استخدم التعليمات السابقة الخاصة بي هنا:

كانت قياسات الاختبار التي أجريتها دقيقة ، معظمها في حدود 0.1 فولت من الجهد الفعلي المقاس بمقياس الفولتميتر القياسي (استخدمت Astro AI DM6000AR).

هذا أفضل بكثير وأسهل في رأيي من استخدام مرجع جهد خارجي على Arduino.

اللوازم

1 × اردوينو نانو - رابط

1 × شاشة Oled (SSD 1306) - رابط

1 × ADS 1115 - 16 بت ADC - رابط

1 × 1/4 واط (أقترح استخدام مقاومات 1 وات) 1٪ مقاومات - 220 كيلو أوم - رابط

1 × 1/4 واط (أقترح استخدام مقاومات 1 واط) 1٪ مقاومات - 10 كيلو أوم - رابط

اللوح والأسلاك - وصلة

Astro AI DM6000AR - رابط

بنك الطاقة USB - وصلة

بطاريات 9 فولت - وصلة

CanadianWinters هو أحد المشاركين في برنامج Amazon Services LLC Associates ، وهو برنامج إعلان تابع مصمم لتوفير وسيلة للمواقع لكسب الرسوم من خلال الارتباط بموقع Amazon.com والمواقع التابعة. باستخدام هذه الروابط ، بصفتي أحد شركاء Amazon ، أكسب من عمليات الشراء المؤهلة ، حتى إذا اشتريت شيئًا آخر - ولن يكلفك ذلك أي شيء.

الخطوة 1: الخطوة 1: المخططات

الخطوة 1: المخططات
الخطوة 1: المخططات

لقد قمت بتوصيل جميع الأجزاء حسب المخططات أعلاه.

لقد ربطت دبوس ADDR الخاص بـ ADC1115 بالأرض. يقوم هذا بتعيين عنوان ADC إلى 0x48.

الخطوة 2: الخطوة 2: حسابات الكود والمقاوم

الخطوة 2: الكود وحسابات المقاوم
الخطوة 2: الكود وحسابات المقاوم

كما في التعليمات السابقة ، فإن فكرة الدائرة هي أن جهد التيار المستمر المراد قياسه يمر عبر المقاوم للجهد. الجهد المقاس ثم يدخل في الدبوس التناظري لمحول ADC ليتم قراءته ، ثم تمريره إلى Arduino عبر I2C ثم إعادة تحجيمه وعرضه على شاشة OLed.

لم أستخدم أي متوسط أو تجانس في الكود في هذه الحالة ، حيث تبدو القراءات دقيقة تمامًا. لتقليل الضوضاء ، قد ترغب في إضافة مكثف صغير بين A0 (على ADC) والأرض. لم يكن مطلوبًا لإجراء الاختبار الخاص بي رغم ذلك.

شيء واحد لاحظته ، كان قليلاً من الضوضاء عندما لم تكن هناك بطارية متصلة (0 فولت). لقد استخدمت الشاشة التسلسلية لـ Arduino لعرض قيمة ADC وتصحيحها / ضبطها عبر الكود.

كما في التعليمات السابقة ، قمت بعمل جدول بيانات يقوم بأتمتة العمليات الحسابية في حالة رغبتك في استخدام قيم مقاومة مختلفة في مقسم الجهد: رابط إلى ورقة Google

هذا هو الكود الذي استخدمته لهذا المشروع:

#يشمل

# تضمين # تضمين # تضمين إعلانات Adafruit_ADS1115 (0x48) ؛ // عنوان ADC U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0) ؛ // (دوران ، [إعادة تعيين]) int calib = 7 ؛ // قيمة معايرة ADS1115 لتقليل جهد تعويم الخطأ = 0 ؛ // تستخدم لتخزين قيمة الجهد الطفو Radjust = 0.043421905 ؛ // عامل مقسم الجهد (R2 / R1 + R2) عائم vbat = 0 ؛ // الجهد النهائي بعد العيارات- فولطية البطارية // المتغيرات لتحديث الشاشة دون استخدام تأخير بدون توقيع طويل ميليس = 0 ؛ // سيخزن آخر مرة تم فيها تحديث الشاشة // لن تتغير الثوابت: فاصل زمني طويل = 250 ؛ // الفاصل الزمني الذي يتم فيه تحديث الشاشة (مللي ثانية) إعداد باطل (باطل) {Serial.begin (9600)؛ u8g2.begin () ، ads.begin () ، } حلقة باطلة (باطلة) {int16_t adc0؛ // 16 بت ADC قراءة الإدخال A0 adc0 = ads.readADC_SingleEnded (0) ؛ الجهد = ((adc0 + calib) * 0.1875) / 1000 ؛ تيار طويل بدون توقيع ميليس = ميلي () ؛ vbat = الجهد / Radjust ؛ // منع عرض الجهد السالب عند فصل البطارية إذا (vbat = فاصل زمني) {previousMillis = currentMillis؛ u8g2.clearBuffer () ، // مسح القائمة الداخلية // عرض حزمة الجهد - الخطوط في هذه الصفحة: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr) ؛ // 20px font u8g2.setFont (u8g2_font_fub35_tr) ؛ // 35px font 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 فولت في بعض الأحيان).

بمجرد تعبئة الإلكترونيات في ثنائي الفينيل متعدد الكلور وصندوق صغير ، سيؤدي ذلك إلى جعل مقياس حزمة بطارية محمولًا لطيفًا. يمكن تخصيص الرسومات والخطوط على OLED لتناسب احتياجاتك (على سبيل المثال ، خط أكبر لسهولة القراءة). كان هدفي هو الحصول على قراءة للجهد على عداد Oled / Arduino ليس بعيدًا جدًا عن جهاز Digital Multi Meter الخاص بي. كنت أهدف إلى +/- 0 ، 3v max delta.

كما ترون من الفيديو في بداية Instructable ، تمكنت من أرشفة هذا! كانت معظم القراءات على الفور!

آمل أن تكون قد استمتعت بهذا Instructable واسمحوا لي أن أعرف أفكارك!

موصى به: