คุณอาจกำลังมองหาอุปกรณ์ที่ช่วยให้คุณตรวจจับสนามแม่เหล็กในบริเวณใกล้เคียงหรือใช้เป็นสวิตช์แบบไม่สัมผัสสำหรับแอปพลิเคชันที่ต้องการการป้องกันน้ำเป็นต้น ในกรณีนั้นคุณสามารถใช้ไฟล์ เซ็นเซอร์เอฟเฟกต์ Halสิ่งที่ฉันจะแสดงให้คุณเห็นทุกสิ่งที่คุณจำเป็นต้องรู้เพื่อรวมเข้ากับโครงการในอนาคตของคุณกับ Arduino อันที่จริงถ้าคุณจะใช้มันร่วมกับแม่เหล็กนีโอดิเมียมแอพพลิเคชั่นที่คุณจะได้รับจากมันก็มีมากมาย
การเชื่อมต่อของอุปกรณ์ประเภทนี้ทำได้ง่ายมากอย่างที่คุณเห็น นอกจากนี้ยังเป็นชิ้นส่วนอิเล็กทรอนิกส์ ถูกมาก และคุณสามารถหาซื้อได้ง่ายในร้านค้าเฉพาะทางหรือทางออนไลน์ หากต้องการทราบข้อมูลเพิ่มเติมสามารถอ่านต่อได้ ...
เอฟเฟกต์ Hall
ชื่อของมันมาจากผู้ค้นพบคนแรกคือ Edwin Herbert Hall นักฟิสิกส์ชาวอเมริกัน เอฟเฟกต์ห้องโถง เป็นปรากฏการณ์ทางกายภาพที่เกิดขึ้นเมื่อสนามไฟฟ้าปรากฏขึ้นเนื่องจากการแยกประจุไฟฟ้าภายในตัวนำซึ่งสนามแม่เหล็กไหลเวียน สนามไฟฟ้า (สนามฮอลล์) นี้จะมีส่วนประกอบที่ตั้งฉากกับการเคลื่อนที่ของประจุไฟฟ้าและกับส่วนประกอบที่ตั้งฉากของสนามแม่เหล็กที่ประยุกต์ ด้วยวิธีนี้เหนือสิ่งอื่นใดสามารถตรวจจับการปรากฏตัวของสนามแม่เหล็กได้
กล่าวอีกนัยหนึ่งคือเมื่อกระแสไหลผ่านตัวนำหรือเซมิคอนดักเตอร์และมีสนามแม่เหล็กอยู่ใกล้ ๆ จะได้รับการตรวจสอบว่า a แรงแม่เหล็ก ในตัวรับน้ำหนักที่จัดกลุ่มใหม่ภายในวัสดุ นั่นคือตัวพาประจุจะเบี่ยงเบนและกระจุกอยู่ที่ด้านหนึ่งของตัวนำ / เซมิคอนดักเตอร์ อย่างที่คุณสามารถจินตนาการได้สิ่งนี้ทำให้เกิดการเปลี่ยนแปลงของศักย์ไฟฟ้าในตัวนำ / เซมิคอนดักเตอร์นี้ทำให้เกิดสนามไฟฟ้าที่ตั้งฉากกับสนามแม่เหล็ก
Hall Effect Sensor คืออะไร?
ดังนั้นเมื่อคุณรู้ว่าเอฟเฟกต์ Hall ทำงานอย่างไรคุณสามารถพูดคุยเกี่ยวกับส่วนประกอบหรือ เซ็นเซอร์ Hall effect พวกเขาสามารถใช้ประโยชน์จากปรากฏการณ์นี้เพื่อประยุกต์ใช้งานได้จริง ตัวอย่างเช่นคุณสามารถทำการวัดสนามแม่เหล็กได้ด้วย
องค์ประกอบเหล่านี้ใช้กันอย่างแพร่หลายใน โครงการอิเล็กทรอนิกส์มากมาย และอุปกรณ์ที่ใช้บ่อย ตัวอย่างเช่นในยานพาหนะคุณสามารถพบได้ในระบบรักษาความปลอดภัยบางอย่างเพื่อวัดตำแหน่งของเพลาลูกเบี้ยวในเครื่องยนต์เพื่อวัดความเร็วของของเหลวตรวจจับโลหะและอื่น ๆ อีกมากมาย
ข้อดีของเซ็นเซอร์ Hall effect ประเภทนี้ไม่เหมือนใครก็คือ ไม่ต้องการการติดต่อ. นั่นคือพวกเขาสามารถทำงานเหล่านี้ได้จากระยะไกลนอกเหนือจากการป้องกันเสียงรบกวนจากอิเล็กทรอนิกส์ฝุ่นละอองและอื่น ๆ อีกด้วยดังนั้นพวกเขาจึงค่อนข้างทนทานและเชื่อถือได้ในการวัดของพวกเขา อย่างไรก็ตามช่วงของพวกเขามี จำกัด เนื่องจากต้องอยู่ในระยะที่กำหนดจากฟิลด์ที่สร้างขึ้นเพื่อที่จะสามารถจับภาพได้
ชนิด
ภายในเซ็นเซอร์ Hall effect คุณจะพบ สองประเภทพื้นฐาน:
- อนาล็อก: เป็นอุปกรณ์พื้นฐานที่มีพินหรือเอาท์พุตที่จะส่งสัญญาณตามสัดส่วนกับความเข้มของสนามแม่เหล็กที่จับได้ นั่นคือพวกมันคล้ายกับ เซ็นเซอร์อุณหภูมิ, กับความตึงเครียดและเซ็นเซอร์อื่น ๆ ที่เรามีรายละเอียดในบล็อกนี้
- ดิจิตอล: ในกรณีของดิจิทัลพวกเขามีพื้นฐานมากกว่าอนาล็อก เนื่องจากไม่ส่งเอาต์พุตตามสัดส่วนกับสนาม แต่จะให้ค่าแรงดันไฟฟ้าสูงหากมีสนามแม่เหล็กและต่ำหากไม่มีสนามแม่เหล็ก นั่นคือไม่สามารถใช้ในการวัดสนามแม่เหล็กเช่นอะนาล็อกเพียงเพื่อตรวจจับการมีอยู่ของมัน นอกจากนี้ตัวเลขเหล่านี้ยังสามารถแบ่งออกเป็นหมวดหมู่ย่อยเพิ่มเติมอีกสองประเภท:
- Latch: ประเภทนี้จะเปิดใช้งานเมื่อมีคนเข้าใกล้และรักษาค่าไว้ที่ทางออกจนกว่าขั้วตรงข้ามจะเข้าใกล้
- สวิตช์: ในส่วนอื่น ๆ เหล่านี้เอาต์พุตจะไม่ได้รับการบำรุงรักษาจะถูกปิดใช้งานเมื่อถอดเสาออก ไม่จำเป็นต้องนำขั้วตรงข้ามเข้ามาใกล้เพื่อให้เอาต์พุตเปลี่ยน ...
ฉันแนะนำให้คุณใช้ แม่เหล็กนีโอดิเมียม เป็นสิ่งที่ดีที่สุดสำหรับเซ็นเซอร์ Hall effect เหล่านี้ในการทำงานได้ดี
หากคุณกำลังมองหาเซ็นเซอร์ประเภทอนาล็อกตัวเลือกที่ดีอาจเป็น เซ็นเซอร์ Hall 49E. ด้วยวิธีนี้คุณสามารถตรวจจับการมีอยู่ของสนามแม่เหล็กและวัดได้ด้วย ตัวอย่างเช่นคุณสามารถวัดสนามแม่เหล็กที่อยู่ใกล้ ๆ สร้างเครื่องวัดความเร็วรอบโดยใช้แม่เหล็กเพื่อวัดรอบต่อนาทีของแกนหรือความเร็วตรวจจับเมื่อประตูเปิดหรือปิดด้วยแม่เหล็กเป็นต้น เซ็นเซอร์นี้สามารถพบได้ในร้านค้าหลายแห่งในราคาไม่กี่เซนต์หรืออย่างอื่นหากคุณต้องการติดตั้งบน PCB พร้อมทุกสิ่งที่คุณต้องการในโมดูลที่พร้อมใช้งานกับ Arduino:
- ผลิตภัณฑ์ที่ไม่พบ
- ผลิตภัณฑ์ที่ไม่พบ
นอกจากนี้ หากสิ่งที่คุณกำลังมองหาคือดิจิทัลจากนั้นคุณสามารถซื้อได้ เซ็นเซอร์ฮอลล์ A3144ซึ่งเป็นประเภทสวิตช์เช่นกันนั่นคือไม่จำเป็นต้องเปลี่ยนเสา ด้วยวิธีนี้คุณจะสามารถตรวจจับการมีอยู่ของวัตถุที่เป็นโลหะหรือว่ามีสนามแม่เหล็กหรือไม่และยังสร้างตัวนับ RPM เหมือนในกรณีก่อนหน้านี้ นอกจากนี้ยังหาได้ง่ายและมีราคาถูกหรือมากกว่ารุ่นก่อนหน้าทั้งแบบหลวมและในโมดูล:
- ผลิตภัณฑ์ที่ไม่พบ
- ซื้อโมดูล KY-003 พร้อม Hall effect A3144
ในกรณีของอะนาล็อกคุณต้อง ดูเอกสารข้อมูล ของรุ่นที่คุณซื้อ สำหรับ ตัวอย่างเช่นใน 49E คุณจะพบกราฟว่าสนามแม่เหล็กสามารถวัดได้อย่างไรและจะช่วยให้คุณสร้างสูตรที่คุณต้องนำไปใช้ในซอร์สโค้ด Arduino เพื่อคำนวณความหนาแน่นของฟลักซ์แม่เหล็กที่ตรวจพบ (mT) ในกรณีของ 49E จะเป็น: B = 53.33V-133.3 เนื่องจากช่วงแม่เหล็กและแรงดันไฟฟ้าที่สามารถส่งได้ที่เอาต์พุต ...
สิ่งที่พบบ่อยสำหรับดิจิตอลและอนาล็อกคือไฟล์ จำนวนพินที่มี (พินเอาต์)ในทั้งสองกรณีคือ 3 หากคุณวางเซ็นเซอร์ Hall โดยหันหน้าเข้าหาคุณนั่นคือโดยให้ใบหน้าที่มีคำจารึกหันเข้าหาคุณหมุดทางด้านซ้ายจะเป็น 1 อันที่อยู่ตรงกลางจะเป็น 2 และ หนึ่งทางขวาของคุณจะ 3:
- 1: ทั้ง 49E และ A3144 คือขาจ่ายไฟ 5V
- 2: ชุดควบคุมเชื่อมต่อทั้งสองกรณีกับ GND หรือกราวด์
- 3: ในทั้งสองกรณีเป็นเอาท์พุทนั่นคืออันที่วัดหรือตรวจจับสนามแม่เหล็กสร้างแรงดันไฟฟ้าผ่านมัน โปรดจำไว้ว่าในระบบดิจิทัลจะใช้เพียงสองค่าสูงหรือต่ำในขณะที่ในอะนาล็อกคุณสามารถใช้สูตรก่อนหน้านี้เพื่อทราบว่าช่องนั้นตรวจพบได้อย่างไร
การรวมเซ็นเซอร์ Hall effect กับ Arduino
เมื่อคุณได้เห็นว่ามันทำงานอย่างไรและสิ่งที่คุณต้องรู้เกี่ยวกับเซ็นเซอร์ Hall effect นี้พร้อมคำอธิบายพินเอาต์คุณก็น่าจะรู้แล้วว่ามันเป็นอย่างไร เชื่อมต่อกับบอร์ด Arduino ของคุณ. ในกรณีนี้มันจะเชื่อมต่อแบบนี้:
- คุณรู้อยู่แล้วว่าพิน 1 ต้องเชื่อมต่อกับเอาท์พุทแรงดันไฟฟ้า 5V ของ Arduino เพื่อให้สามารถจ่ายไฟได้ทั้งในกรณีของดิจิตอลและอนาล็อก
- พินกลางหรือ 2 คุณต้องเชื่อมต่อกับ GND หรือกราวด์ของบอร์ด Arduino ของคุณ
- ในกรณีของพิน 3 จะแตกต่างกันไปขึ้นอยู่กับว่าเป็นของอนาล็อกหรือดิจิตอล:
- อะนาล็อก: เชื่อมต่อขา 3 ของเซ็นเซอร์ Hall โดยตรงกับอินพุตอะนาล็อกของบอร์ด Arduino ของคุณ
- ดิจิตอล: คุณต้องเชื่อมพิน 1 และ 3 ด้วยตัวต้านทานแบบดึงขึ้นเช่น 10K เพื่อให้วงจรทำงานได้อย่างถูกต้องกับ A3144 รุ่นอื่น ๆ อาจต้องการค่าความต้านทานที่แตกต่างกัน ... เมื่อคุณคำนึงถึงสิ่งนั้นแล้วคุณสามารถเชื่อมต่อพิน 3 กับอินพุตดิจิทัลบนบอร์ด Arduino ของคุณได้
ไม่สำคัญว่าจำนวนอินพุตของบอร์ดที่คุณเชื่อมต่ออยู่เพียงแค่จำหมายเลขแล้วสร้างให้ถูกต้อง ซอร์สโค้ดสำหรับโครงการของคุณในการทำงาน. ในกรณีนี้จะมีความแตกต่างระหว่างการที่คุณเลือกใช้อนาล็อกหรือดิจิทัล:
- รหัสง่ายๆสำหรับ analogic มันเป็น:
const int pinHall = A0; void setup() { pinMode(pinHall, INPUT); Serial.begin(9600); } void loop() { //Filtro para ruido con 10 medidas long measure = 0; for(int i = 0; i < 10; i++){ int value = measure += analogRead(pinHall); } measure /= 10; //Calcular el voltaje en mV que da la salida del sensor Hall float outputV = measure * 5000.0 / 1023; Serial.print("Voltaje de salida = "); Serial.print(outputV); Serial.print(" mV "); //Interpolación a densidad del campo magnético (fórmula) float magneticFlux = outputV * 53.33 - 133.3; Serial.print("La densidad del flujo magnético del campo es = "); Serial.print(magneticFlux); Serial.print(" mT"); delay(2000); }
- รหัสง่ายๆสำหรับ ดิจิตอล จะ:
const int HALLPin = 2; const int LEDPin = 13; //El pin 13 en el esquema de nuestro ejemplo no pinta nada, pero se podría agregar un LED a dicho pin para que se encienda si detecta campo magnetico void setup() { pinMode(LEDPin, OUTPUT); pinMode(HALLPin, INPUT); } void loop() { if(digitalRead(HALLPin)==HIGH) { digitalWrite(LEDPin, HIGH); } else { digitalWrite(LEDPin, LOW); } }
ฉันหวังว่าคู่มือนี้จะช่วยคุณได้ ...