رباتیک و هوافضا

پروژه ی اندازه گیری میدان مغناطیسی با آردوینو به همراه کد برنامه

اندازه گیری میدان مغناطیسی با آردوینو

به نام خدا

پروژه ی اندازه گیری میدان مغناطیسی با آردوینو به همراه کد برنامه

 

اندازه گیری میدان مغناطیسی با آردوینو

در این پروژه ما از اصل تبدیل سیگنال آنالوگ به دیجیتال در آردوینو یونو استفاده می کنیم. در اینجا از سنسور hall effect  استفاده می کنیم تا مقدار میدان مغناطیسی را محاسبه کنیم.  نام سنسوری که از آن استفاده می کنیم UGN3503U می باشد. این سنسور یک سنسور هال می باشد که میدان مغناطیسی را تشخیص می دهد و از خروجی خود با توجه به مقدار نیروی میدان ولتاژ متغییری را ایجاد می کند.

 

 

در شکل زیر شماتیک یک سنسور UGN3503U را مشاهده می کنید که سه پایه دارد.  هنگامی که میدان مغناطیسی توسط این سنسور اندازه گیری شد مقدار ان بر روی ال س دی نمایش داده می شود.

اندازه گیری میدان مغناطیسی با آردوینو

آردوینو دارای شش کانال انالوگ به دیسی می باشد که ورودی های سیگنال انالوگ می باشد.  UNO ADC دارای ۱۰ بیت رزولوشن می باشد که مقادیر ۰ تا ۱۰۲۳ را خواهد داشت. به این معنی ست که ولتاژ بین ۰ تا ۵ ولت را به ۰ تا ۱۰۲۳ قسمت تبدیل می کند. پس هر واحد آن  برابر با ۴٫۹ میلی ولت می باشد.

بیشتر بخوانید...  ساخت مدار تشخیص تاریکی با استفاده از آی سی 555

قطعات مورد نیاز پروژه ی اندازه گیری میدان مغناطیسی با آردوینو:

آردوینو یونو

منبع تغذیه ۵ ولتی

ال سی دی ۲ در ۱۶

خازن ۱۰۰ پیکو فارادی دو عدد

سنسور UGn3503U

 

شماتیک مدار پروژه ی اندازه گیری میدان مغناطیسی با آردوینو :

در شکل زیر شماتیک مدار را مشاهده می کنید دقت کنید که تمامیه اتصالات را به درستی انجام دهید. همچنین در صورت نیاز می توانید از یک پتانسیومتر برای افزایش مقدار کنتراست ال سی دی استفاده کنید.

اندازه گیری میدان مغناطیسی با آردوینو

دانلود کد برنامه پروژه ی اندازه گیری میدان مغناطیسی با آردوینو  :

دانلود فایل
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);/// REGISTER SELECT PIN,ENABLE PIN,D4 PIN,D5 PIN, D6 PIN, D7 PIN
char ADCSHOW[5];//initializing a character of size 5 for showing the ADC result
void setup()
{
  // set up the LCD's number of columns and rows:
lcd.begin(16, 2);
}
 
void loop()
{
             lcd.print("FluxDensity");//showing name
                lcd.setCursor(0, 1);//move to second line
                lcd.print("(in Gauss):");// showing units
                String ADCVALUE = String((analogRead(A0)-515)/3.76);
 /* Now since the default reference if 5V and resolution is 10bit so for every 5/1024 = 5mV, we get one increment is count, The sensor provides increment voltage of 1.3V for every 1Gauss increment if field.
So we need to divide ADC value by 3.76 for getting the gauss value, now the 0 gauss output of sensor is 2.5V so we need to subtract that first. To hold a 0V read at 0Gauss field. */
                // Convert the reading to a char array
                ADCVALUE.toCharArray(ADCSHOW, 5);
                lcd.print(ADCSHOW);//showing the field strength value
                lcd.print("G   ");
                lcd.setCursor(0, 0);// set the cursor to column 0, line 0
}

 

بیشتر بخوانید...  ساخت ساعت دقیق با سیستم هشدار دهنده و نمایش دما با آردوینو و DS3231

 

دیدگاه‌ها (0)

*
*