آموزش آردوینوپروژه های آردوینو

ساخت ولت متر دیجیتالی 0-55 DC با آردوینو (اندازه گیری ولتاژ)

سلام. آموزش ساخت ولت متر دیجیتالی DC با آردوینو (پروژه اندازه گیری ولتاژ با Arduino) را آماده کردیم.

آموزش اندازه گیری ولتاژ مدار DC با آردوینو

با داشتن میزان کمی اطلاعات در زمینه آردوینو و مدار تقسیم ولتاژ میتوانیم یک برد آردوینو را به ولت متر دیجیتال (Digital Voltmetr) تبدیل کنیم. و میتوانین ولتاژ ورودی را با استفاده از آردوینو اندازه گرفته و در یک ال سی دی کاراکتری نمایش دهیم.

آردوینو چندین پین ورودی آنالوگ دارد که به مبدل آنالوگ به دیجیتال ADC در داخل Arduino متصل میشوند. مبدل ADC آردوینو یک مبدل 10 بیتی است. بدین معنی که مقدار ورودی را به عددی بین 0 تا 1023 تبدیل میکند. ما با استفاده از تابع analogRead () این مقدار را بدست می آوریم. اگر ولتاژ مرجع را میدانید به راحتی میتوانید ولتاژ موجود در ورودی آنالوگ را محاسبه کنید. برای محاسبه ولتاژ ورودی میتوانید از مدار تقسیم ولتاژ استفاده کنید.

اگر میخواهید به طور کامل برنامه نویسی مبدل ADC در آردوینو را یاد بگیرید آموزش زیر را بخوانید :

ولتاژ اندازه گیری شده در صفحه نمایش ال سی دی کاراکتری 16*2 نمایش داده می شود. ما همچنین ولتاژ را در سریال مانیتور Arduino IDE نشان میدهیم و ولتاژ اندازه گیری شده را با استفاده از مولتی متر تأیید میکنیم.

مدار تقسیم ولتاژ چیست ؟

قبل از ورود به پروژه ولتمتر با آردوینو ، اجازه دهید در مورد مدار تقسیم ولتاژ صحبت کنیم.

تقسیم ولتاژ یک مدار مقاومت است و در شکل زیر نشان داده شده است. در این شبکه دو مقاومت داریم. همانطور که در شکل نشان داده شده است ، R1 و R2 دارای مقاومت 10k و 100k اهم هستند. نقطه میانی شاخه به عنوان ورودی آنالوگ به آردوینو برای اندازه گیری منتقل می شود. افت ولتاژ در R2 همان Vout است. یعنی همان ولتاژ مدار تقسیم شده ما.

مدار تقسیم ولتاژ چیست ؟

فرمول ها:

با استفاده از مقدار شناخته شده (دو مقدار مقاومت R1 ، R2 و ولتاژ ورودی Vin) و جایگذاری آن ها در معادله زیر میتوانیم مقدار ولتاژ را بدست آوریم.

Vout = Vin (R2/R1+R2)

این معادله بیان می کند که ولتاژ خروجی به طور مستقیم با ولتاژ ورودی ، R1 و R2 متناسب است.

با استفاده از این معادله در کد Arduino می توان ولتاژ ورودی را به راحتی بدست آورد. آردوینو تنها می تواند ولتاژ ورودی DC را تا 55 ولت اندازه گیری کند، به عبارت دیگر، هنگام اندازه گیری 55 ولت، پین آنالوگ آردوینو در حداکثر ولتاژ 5 ولت خود قرار دارد، بنابراین اندازه گیری تا این حد بی خطر است. در اینجا مقاومتهای R2 و R1 به نسبت 100:10 بر روی 100000 و 10000 تنظیم می شوند.

مدار ولت متر دیجیتال با برد آردوینو

در تصویر زیر شماتیک پروژه ولت متر دیجیتالی با آردوینو را مشاهده میکنید.

شماتیک پروژه ولت متر دیجیتالی با آردوینو

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

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

Pin DB4، DB5، DB6، DB7، RS و EN از LCD مستقیماً به Pin D4، D5، D6، D7، D8، D9 از Arduino Uno وصل می شوند.

نقطه مرکزی دو مقاومت R1 و R2 که باعث ایجاد مدار تقسیم ولتاژ می شود به پین A0 آردوینو وصل می شوند. در حالی که دو انتهای دیگر به ولتاژ ورودی (ولتاژ مورد اندازه گیری) و gnd وصل می شوند.

قطعات مورد نیاز

  1. برد آردوینو uno
  2. ال سی دی کاراکتری 16×2 (نمایشگر کریستال مایع)
  3. مقاومت 100 کیلو اهم
  4. مقاومت 10 کیلو اهم
  5. پتانسیومتر 10 کیلو اهم
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

توضیحات کد پروژه آردوینو

کد کامل Arduino برای اندازه گیری ولتاژ DC در فایل دانلود موجود است. کد ساده و قابل درک است.

قسمت اصلی كد تبدیل و قرار دادن ولتاژ ورودی معین به ولتاژ خروجی به كمک معادله داده شده فوق Vout = Vin (R2 / R1 + R2) است. همانطور که در ابتدا گفته شد مقدار خروجی ADC آردوینو از 0 تا 1023 خواهد بود. بنابراین باید برای بدست آوردن ولتاژ واقعی ، ورودی آنالوگ در A0 را در 5/1024 ضرب کنیم.

void loop()
{
    int analogvalue = analogRead(A0);
    temp = (analogvalue * 5.0) / 1024.0; // فرمول استفاده شده برای تبدیل ولتاژ
    input_volt = temp / (r2/(r1+r2));

در اینجا مقدار ولتاژ اندازه گیری شده را روی LCD و مانیتور سریال Arduino نمایش میدهیم. بنابراین در اینجا از کد Serial.println برای چاپ مقادیر روی Monitor Serial و از lcd.print برای چاپ مقادیر روی LCD 16×2 استفاده شده است.

    Serial.print("v= ");                 // پرینت مقادیر در سریال مانیتور
    Serial.println(input_volt);
    lcd.setCursor(0, 1);
    lcd.print("Voltage= ");               // پرینت مقادیر در ال سی دی
    lcd.print(input_voltage);

اینگونه است که می توانیم ولتاژ DC را با استفاده از آردوینو به راحتی محاسبه کنیم.

موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل

4.1 (9 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

12 نظر

  1. سلام خسته نباشید، من این مدار رو بستم ولی ولتاژ نمایش داده شده روی ال سی دی نهایت تا پنج ولت هست، میشه یه راهنمایی کنید که مشکل از کجاست

  2. سلام
    در این مدار جای مقاومت 10 با 100 کیلو اشتباه وصل شده طبق تصویر در این صورت وقتی 55 ولت وصل کنید در سر وسط 50 ولت به میکرو وارد میشود .
    یک سوال دارم بنده با تقسیم مقاومت سعی در ساخت ولت متر دارم و بجای مقاومت 10 کیلو از پتانسیومتر استفاده می کنم جهت تنظیم خروجی دقیق ، ولی مثلا برای 3.3 ولت که تنظیم شود وقتی 12 ولت به دستگاه وصل کنم حدود 14 ولت نمایش می دهد و برای ولتاژ کمتر از 2 ولت هم 0.5 ولت نمایش می دهد و همینطور 5 ولت را 7.5 ولت نمایش می دهد .
    با میکرو کنترل stm32 کار میکنم
    بنده با چند مدل دیگر از stm32 هم همین مشکل را دارم .
    لطفا راه نمایی کنید
    با تشکر

    1. سلام عزیز
      با توجه به لیست قطعات مورد نیاز، مقاومت بالایی باید 100 کیلو اهم و مقاومت پایینی باید 10 کیلو اهم باشد

  3. سلام.عالی بود…مهندس اگر بخوایم برق شهر رو اندازه بگیریم فرمول چگونه خواهد شد؟ و همچنین مقادیر اون r1 و r2؟ ممنون میشم که راه نمایی بفرمایید

    1. سلام وقت بخیر
      temp = (analogvalue * 5.0) / 1024.0;
      نمیشد بجای این خط
      temp =(analogvalue*204.8)
      را نوشت؟

    2. سلام عزیز
      این عدد را از کجا بدست آوردید؟

  4. سلام دوستان بنده 2 بار این مدار رد بستم و اصلا نتیجه نگرفتم

    1. من البته اشتباه نوشتم منظورم تقسیم بر 204.8 بود
      و از تقسیم 1024 بر 5 بدستش اوردم
      برای تبدیل 0 تا 1023 به 0 تا 5 ولت
      درسته؟

    2. اشتباهتون در اینجا هست که 1024 را تقسیم بر 5 میکنید در اصل باید 5 را تقسیم بر 1024 کتید 0.00488 بدست می آید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *