سنسور اثر هال مبدلی است که خروجی آن بصورت ولتاژی است که در پاسخ به میدان مغناطیسی تغییر می کند. سنسورهای اثر هال در مجاورت دستگاه های سوئیچینگ ، تشخیص سرعت و سنجش جریان بکار می روند. ولتاژ هال متناسب است با جریان الکتریکی (I) و میدان مغناطیسی (B).اندازه این ولتاژ در محدودهٔ میکرو ولت می باشد. به همین خاطر در کاربردهای عملی حضور تقویت کننده ها ضروری می باشد.با اعمال میدان های مغناطیسی نسبتا بزرگ ولتاژ خروجی در محدودهٔ چند میکروولت می باشد. در این ماژول برای ارتقا حساسیت سنسور و گرفتن خروجی مطلوب با بیشترین دقت و با حداقل خطای هیسترزیس از تقویت کننده، رگولاتور ولتاژ و مدارهای سوییچینگ منطقی استفاده شده است که راه اندازی آسان آن را توسط رزبری پای میسر می سازد.
سنسورهای اثر هال به دو نوع عمده تقسیم می شوند:
۱.سنسورهای خطی یا آنالوگ
۲.سنسورهای اثر هال با خروجی دیجیتال
کاربردهای حسگر با خروجی دیجیتال:
- کنترل موتور(تشخیص سرعت )
- تجهیزات عکاسی (اندازه گیری زمان)
- زمان احتراق
- حسگر مکان
- شمارنده پالس (چاپگر و درایو موتور)
- Joy stick
- قفل شدن در
- مشاهده جریان (سیستم موتور)
- اندازه گیری سرعت چرخش
- اندازه گیری فلو
- رله
- امنیتی (کارت های مغناطیسی )
- ارتباطات راه دور
- فشارسنج ها
- سوییچ های محدود کننده
- سنسور تعیین مکان لنز
- تست تجهیزات
- سنسور تعیین مکان شفت
- دستگاه های سکه ای
کاربردهای سنسور با خروجی خطی :
- مشاهده جریان
- درایو دیسک
- درایو فرکانس متغیر
- کنترل حفاظت موتور
- حفاظت منبع تغذیه
- اندازه گیری مکان
- دیافراگم فشار
- پتانسیومترهای غیر تماسی
- سوییچ های انکودر
- انکودرهای چرخشی
- تنظیم کننده ولتاژ
- ردیاب فلزات آهن دار
نحوه اتصال ماژول اثر هال UGN3144 به رزبری پای
تجهیزات مورد نیاز :
- برد رزبری پای
- ماژول PCF8591
- برد برد
- سیم برد بردی
برنامه C راه اندازی ماژول اثر هال UGN3144 با رزبری پای
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#include <stdio.h> #include <wiringPi.h> #include <pcf8591.h> #define PCF 120 int main (void) { int res, tmp, status; wiringPiSetup (); // Setup pcf8591 on base pin 120, and address 0x48 pcf8591Setup (PCF, 0x48); status = 0; while(1) // loop forever { res = analogRead(PCF + 0); printf("Current intensity of magnetic field : %d\n", res); if (res - 133 < 5 || res - 133 > -5) tmp = 0; if (res < 128) tmp = -1; if (res > 138) tmp = 1; if (tmp != status) { switch(tmp) { case 0: printf("\n*****************\n" ); printf( "* Magnet: None. *\n" ); printf( "*****************\n\n"); break; case -1: printf("\n******************\n" ); printf( "* Magnet: North. *\n" ); printf( "******************\n\n"); break; case 1: printf("\n******************\n" ); printf( "* Magnet: South. *\n" ); printf( "******************\n\n"); break; } status = tmp; } delay (200); } return 0 ; } |
برنامه پایتون راه اندازی ماژول اثر هال UGN3144 با رزبری پای
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#/usr/bin/env python import RPi.GPIO as GPIO import PCF8591 as ADC import time def setup(): ADC.setup(0x48) def Print(x): if x == 0: print '' print '*************' print '* No Magnet *' print '*************' print '' if x == 1: print '' print '****************' print '* Magnet North *' print '****************' print '' if x == -1: print '' print '****************' print '* Magnet South *' print '****************' print '' def loop(): status = 0 while True: res = ADC.read(0) print 'Current intensity of magnetic field : ', res if res - 133 < 5 and res - 133 > -5: tmp = 0 if res < 128: tmp = -1 if res > 138: tmp = 1 if tmp != status: Print(tmp) status = tmp time.sleep(0.2) if __name__ == '__main__': setup() loop() |
اجرای برنامه C
برنامه را در فایلی با نام analog_hall_switch.c ذخیره کنید به محل ذخیره شدن فایل بروید و دستور زیر را برای کامپایل شدن اجرا کنید.
1 |
gcc analog_hall_switch.c –lwiringPi |
برای اجرای برنامه دستور زیر را وارد کنید.
1 |
sudo ./a.out |
اجرای برنامه پایتون
برای اجرای پایتون کافی است برنامه را در فایلی به نام python 17_analog_hall_switch.py ذخیره کنید برای اجرا به محل ذخیره سازی فایل بروید و دستور زیر را اجرا کنید.
1 |
sudo python 17_analog_hall_switch.py |
سلام
با تشکر از زحمات ارزنده شما.
مطالب بسیار اموزنده و مفید هستند .