راه اندازی ماژول اثر هال UGN3144 با آردوینو
سنسور اثر هال مبدلی است که خروجی آن بصورت ولتاژی است که در پاسخ به میدان مغناطیسی تغییر می کند. سنسورهای اثر هال در مجاورت دستگاه های سوئیچینگ ، تشخیص سرعت و سنجش جریان بکار می روند. ولتاژ هال متناسب است با جریان الکتریکی (I) و میدان مغناطیسی (B).اندازه این ولتاژ در محدودهٔ میکرو ولت می باشد. به همین خاطر در کاربردهای عملی حضور تقویت کننده ها ضروری می باشد.با اعمال میدان های مغناطیسی نسبتا بزرگ ولتاژ خروجی در محدودهٔ چند میکروولت می باشد. در این ماژول برای ارتقا حساسیت سنسور و گرفتن خروجی مطلوب با بیشترین دقت و با حداقل خطای هیسترزیس از تقویت کننده، رگولاتور ولتاژ و مدارهای سوییچینگ منطقی استفاده شده است که راه اندازی آسان آن را توسط آردوینو میسر می سازد.
سنسورهای اثر هال به دو نوع عمده تقسیم می شوند:
۱.سنسورهای خطی یا آنالوگ
۲.سنسورهای اثر هال با خروجی دیجیتال
کاربردهای حسگر با خروجی دیجیتال:
- کنترل موتور(تشخیص سرعت )
- تجهیزات عکاسی (اندازه گیری زمان)
- زمان احتراق
- حسگر مکان
- شمارنده پالس (چاپگر و درایو موتور)
- Joy stick
- قفل شدن در
- مشاهده جریان (سیستم موتور)
- اندازه گیری سرعت چرخش
- اندازه گیری فلو
- رله
- امنیتی (کارت های مغناطیسی )
- ارتباطات راه دور
- فشارسنج ها
- سوییچ های محدود کننده
- سنسور تعیین مکان لنز
- تست تجهیزات
- سنسور تعیین مکان شفت
- دستگاه های سکه ای
کاربردهای سنسور با خروجی خطی :
- مشاهده جریان
- درایو دیسک
- درایو فرکانس متغیر
- کنترل حفاظت موتور
- حفاظت منبع تغذیه
- اندازه گیری مکان
- دیافراگم فشار
- پتانسیومترهای غیر تماسی
- سوییچ های انکودر
- انکودرهای چرخشی
- تنظیم کننده ولتاژ
- ردیاب فلزات آهن دار
نحوه اتصال ماژول اثر هال UGN3144 به آردوینو
تجهیزات مورد نیاز :
کد راه اندازی ماژول اثر هال UGN3144 با آردوینو
//Analog Hall Sensor //using an LM393 Low Power Low Offset Voltage Dual Comparator /******************************* * Analog Hall Sensor Uno R3 * A0 A0 * D0 7 * VCC 5V * GND GND *******************************/ const int ledPin = 13;//the led attach to pin13 int sensorPin = A0; // select the input pin for the potentiometer int digitalPin=7; //D0 attach to pin7 int sensorValue = 0;// variable to store the value coming from A0 boolean digitalValue=0;// variable to store the value coming from pin7 void setup() { pinMode(digitalPin,INPUT);//set the state of D0 as INPUT pinMode(ledPin,OUTPUT);//set the state of pin13 as OUTPUT Serial.begin(9600); // initialize serial communications at 9600 bps } void loop() { sensorValue = analogRead(sensorPin); //read the value of A0 digitalValue=digitalRead(digitalPin); //read the value of D0 Serial.print("Sensor Value "); // print label to serial monitor Serial.println(sensorValue); //print the value of A0 Serial.print("Digital Value "); // print label to serial monitor Serial.println(digitalValue); //print the value of D0 in the serial if( digitalValue==HIGH )//if the value of D0 is HIGH { digitalWrite(ledPin,LOW);//turn off the led } if( digitalValue==LOW)//else { digitalWrite(ledPin,HIGH);//turn on the led } delay(1000);//delay 200ms }
با سلام
در کاربرد ها نوشتید تشخیص سرعت موتور
میشه بگید چطور این کار را انجام بدم؟ در کئام قسمت موتور باید قرار بدهم؟
یک آهنربا به شفت خروجی موتور متصل کنید تا در هر یک رور چرخش موتور یکبا. سنسور را تحریک کند و سپس یک حلقه بنویسید و با هر سیگنال سنسور متغیر داخل حلقه را با یک جمع کنید حال میتوانید با اضافه کردن فاکتور زمان تعداد دور موتور در یک دقیقه را بدست آورید