سنسورهای اثر هال
سنسورهای اثر هال با یک میدان مغناطیسی فعال میشوند و برای اندازهگیری سرعت چرخش میل لنگ ماشین یا چرخ دوچرخه یا برای تشخیص حضور میدان مغناطیسی همانند سیستم هشدار در پنجره یا درب بکاربرده میشوند.
وقتی سنسور اثر هال در یک میدان مغناطیسی باشد، میدان نیرویی را بر ماده نیمه هادی سنسور وارد میکند و الکترونهای ماده را از میدان مغناطیسی دور میکند. حرکت الکترونها یک تفاوت بالقوه را بین دو طرف ماده نیمه هادی ایجاد می کند که نشان میدهد سنسور در یک میدان مغناطیسی قراردارد. سنسور اثرهال به قطبیت میدان مغناطیسی حساس است، وقتی قطب جنوب آهنربا به سمت برچسبدار سنسور نزدیک شود، یا وقتی قطب شمال آهنربا به سمت صاف سنسور نزدیک شود، فعال میشود. جهتگیری آهنربا با یک قطبنما تعیین میشود.
سنسور اثر هال 3144 به یک مقاومت pull-up نیاز دارد. مقاومت های pull-up داخلی پینهای ورودی آردوینو میتوانند بجای اتصال یک مقاومت بین پینهای VCC و خروجی سنسور بکاربرده شوند. مقاومت pull-up داخلی آردوینو با دستور digitalWrite(pin,INPUT_PULLUP) فعال میشود.
کدهای سنسور اثر هال تعداد دور در دقیقه، زمان هر دور و سرعت دوچرخه با لاستیکهای 700× 32، با محیط 2.16 متر را تعیین میکنند. نتایج بر روی مانیتور سریال نمایش داده میشوند.
اتصال به | قطعه |
Arduino VCC | (سمت چپ سمت صاف سنسور) Hall VCC |
Arduino GND | Hall GND |
پین 8 Arduino | (سمت راست سمت صاف سنسور)Hall out |
جدول 1. اتصالات برای سنسور اثر هال
کد راه اندازی سنسور هال
int switchPin = 8; // Hall effect sensor pin
int switchState = LOW; // set switch to LOW
int revolution = 0; // number of revolutions
float circum = 2.16; // tyre circumference
unsigned long time = 0; // time (ms) per revolution
float speed, rpm;
int reading;
void setup()
{ // pull-up resistor on hall
pinMode(switchPin, INPUT_PULLUP); // effect sensor pin
Serial.begin(9600); // set baud rate for Serial Monitor
}
void loop()
{
reading = digitalRead(switchPin); // read Hall switch
if(reading != switchState) // switch state changed
{
if (reading == HIGH && switchState == LOW)
{ // start of new revolution
revolution = revolution +1; // increment number of revolutions
time = millis() - time; // time (ms) since last revolution
speed = 3600.0*circum/time; // speed calculationin km/h
rpm = 60000.0/time; // revolutions per minute
Serial.print(revolution); // print number of revolutions
Serial.print("\t"); // and a tab
Serial.print(speed,1); // print speed to 1DP
Serial.print("km/h\t"); // with " km/h" and tab
Serial.print(rpm,0);Serial.println("rpm"); // print rpm, "rpm"
time = millis(); // update revolution time
}
switchState = reading; // update hall switch state
}
}
تابع () time= millis زمان سپری شده از زمان شروع برنامه را برحسب میکرو ثانیه برمیگرداند که از نوع unsigned long است.
تیم ردرونیک (redronic) مجموعه ای از آموزش ها و پروژههای مرتبط با آردوینو را برای شما علاقهمندان به الکترونیک و برنامه نویسی فراهم کرده است. جهت مشاهده این پروژهها اینجا کلیک کنید.
ماژول اثر هال یک قطعه الکترونیکی است که بر اساس اصل اثر هال عمل میکند. این ماژول از یک سنسور هال استفاده میکند تا اطلاعاتی درباره قوانین مغناطیسی اطراف ما را به ما بدهد. این علم پرکاربرد در صنایع الکترونیک، فیزیک و مهندسی استفاده میشود.چند محصول خوب دیگر هم معرفی میکنم:
محصولات پر فروش