Hall effect sensor: ทุกสิ่งที่คุณจำเป็นต้องรู้สำหรับโครงการ Arduino ของคุณ

เซ็นเซอร์ Hall effect

คุณอาจกำลังมองหาอุปกรณ์ที่ช่วยให้คุณตรวจจับสนามแม่เหล็กในบริเวณใกล้เคียงหรือใช้เป็นสวิตช์แบบไม่สัมผัสสำหรับแอปพลิเคชันที่ต้องการการป้องกันน้ำเป็นต้น ในกรณีนั้นคุณสามารถใช้ไฟล์ เซ็นเซอร์เอฟเฟกต์ Halสิ่งที่ฉันจะแสดงให้คุณเห็นทุกสิ่งที่คุณจำเป็นต้องรู้เพื่อรวมเข้ากับโครงการในอนาคตของคุณกับ Arduino อันที่จริงถ้าคุณจะใช้มันร่วมกับแม่เหล็กนีโอดิเมียมแอพพลิเคชั่นที่คุณจะได้รับจากมันก็มีมากมาย

การเชื่อมต่อของอุปกรณ์ประเภทนี้ทำได้ง่ายมากอย่างที่คุณเห็น นอกจากนี้ยังเป็นชิ้นส่วนอิเล็กทรอนิกส์  ถูกมาก และคุณสามารถหาซื้อได้ง่ายในร้านค้าเฉพาะทางหรือทางออนไลน์ หากต้องการทราบข้อมูลเพิ่มเติมสามารถอ่านต่อได้ ...

เอฟเฟกต์ Hall

แผนภาพผลกระทบของห้องโถง

ชื่อของมันมาจากผู้ค้นพบคนแรกคือ Edwin Herbert Hall นักฟิสิกส์ชาวอเมริกัน เอฟเฟกต์ห้องโถง เป็นปรากฏการณ์ทางกายภาพที่เกิดขึ้นเมื่อสนามไฟฟ้าปรากฏขึ้นเนื่องจากการแยกประจุไฟฟ้าภายในตัวนำซึ่งสนามแม่เหล็กไหลเวียน สนามไฟฟ้า (สนามฮอลล์) นี้จะมีส่วนประกอบที่ตั้งฉากกับการเคลื่อนที่ของประจุไฟฟ้าและกับส่วนประกอบที่ตั้งฉากของสนามแม่เหล็กที่ประยุกต์ ด้วยวิธีนี้เหนือสิ่งอื่นใดสามารถตรวจจับการปรากฏตัวของสนามแม่เหล็กได้

กล่าวอีกนัยหนึ่งคือเมื่อกระแสไหลผ่านตัวนำหรือเซมิคอนดักเตอร์และมีสนามแม่เหล็กอยู่ใกล้ ๆ จะได้รับการตรวจสอบว่า a แรงแม่เหล็ก ในตัวรับน้ำหนักที่จัดกลุ่มใหม่ภายในวัสดุ นั่นคือตัวพาประจุจะเบี่ยงเบนและกระจุกอยู่ที่ด้านหนึ่งของตัวนำ / เซมิคอนดักเตอร์ อย่างที่คุณสามารถจินตนาการได้สิ่งนี้ทำให้เกิดการเปลี่ยนแปลงของศักย์ไฟฟ้าในตัวนำ / เซมิคอนดักเตอร์นี้ทำให้เกิดสนามไฟฟ้าที่ตั้งฉากกับสนามแม่เหล็ก

Hall Effect Sensor คืออะไร?

เซ็นเซอร์ Hall effect

ดังนั้นเมื่อคุณรู้ว่าเอฟเฟกต์ Hall ทำงานอย่างไรคุณสามารถพูดคุยเกี่ยวกับส่วนประกอบหรือ เซ็นเซอร์ Hall effect พวกเขาสามารถใช้ประโยชน์จากปรากฏการณ์นี้เพื่อประยุกต์ใช้งานได้จริง ตัวอย่างเช่นคุณสามารถทำการวัดสนามแม่เหล็กได้ด้วย

องค์ประกอบเหล่านี้ใช้กันอย่างแพร่หลายใน โครงการอิเล็กทรอนิกส์มากมาย และอุปกรณ์ที่ใช้บ่อย ตัวอย่างเช่นในยานพาหนะคุณสามารถพบได้ในระบบรักษาความปลอดภัยบางอย่างเพื่อวัดตำแหน่งของเพลาลูกเบี้ยวในเครื่องยนต์เพื่อวัดความเร็วของของเหลวตรวจจับโลหะและอื่น ๆ อีกมากมาย

ข้อดีของเซ็นเซอร์ Hall effect ประเภทนี้ไม่เหมือนใครก็คือ ไม่ต้องการการติดต่อ. นั่นคือพวกเขาสามารถทำงานเหล่านี้ได้จากระยะไกลนอกเหนือจากการป้องกันเสียงรบกวนจากอิเล็กทรอนิกส์ฝุ่นละอองและอื่น ๆ อีกด้วยดังนั้นพวกเขาจึงค่อนข้างทนทานและเชื่อถือได้ในการวัดของพวกเขา อย่างไรก็ตามช่วงของพวกเขามี จำกัด เนื่องจากต้องอยู่ในระยะที่กำหนดจากฟิลด์ที่สร้างขึ้นเพื่อที่จะสามารถจับภาพได้

ชนิด

ภายในเซ็นเซอร์ Hall effect คุณจะพบ สองประเภทพื้นฐาน:

  • อนาล็อก: เป็นอุปกรณ์พื้นฐานที่มีพินหรือเอาท์พุตที่จะส่งสัญญาณตามสัดส่วนกับความเข้มของสนามแม่เหล็กที่จับได้ นั่นคือพวกมันคล้ายกับ เซ็นเซอร์อุณหภูมิ, กับความตึงเครียดและเซ็นเซอร์อื่น ๆ ที่เรามีรายละเอียดในบล็อกนี้
  • ดิจิตอล: ในกรณีของดิจิทัลพวกเขามีพื้นฐานมากกว่าอนาล็อก เนื่องจากไม่ส่งเอาต์พุตตามสัดส่วนกับสนาม แต่จะให้ค่าแรงดันไฟฟ้าสูงหากมีสนามแม่เหล็กและต่ำหากไม่มีสนามแม่เหล็ก นั่นคือไม่สามารถใช้ในการวัดสนามแม่เหล็กเช่นอะนาล็อกเพียงเพื่อตรวจจับการมีอยู่ของมัน นอกจากนี้ตัวเลขเหล่านี้ยังสามารถแบ่งออกเป็นหมวดหมู่ย่อยเพิ่มเติมอีกสองประเภท:
    • Latch: ประเภทนี้จะเปิดใช้งานเมื่อมีคนเข้าใกล้และรักษาค่าไว้ที่ทางออกจนกว่าขั้วตรงข้ามจะเข้าใกล้
    • สวิตช์: ในส่วนอื่น ๆ เหล่านี้เอาต์พุตจะไม่ได้รับการบำรุงรักษาจะถูกปิดใช้งานเมื่อถอดเสาออก ไม่จำเป็นต้องนำขั้วตรงข้ามเข้ามาใกล้เพื่อให้เอาต์พุตเปลี่ยน ...

ฉันแนะนำให้คุณใช้ แม่เหล็กนีโอดิเมียม เป็นสิ่งที่ดีที่สุดสำหรับเซ็นเซอร์ Hall effect เหล่านี้ในการทำงานได้ดี

หากคุณกำลังมองหาเซ็นเซอร์ประเภทอนาล็อกตัวเลือกที่ดีอาจเป็น เซ็นเซอร์ Hall 49E. ด้วยวิธีนี้คุณสามารถตรวจจับการมีอยู่ของสนามแม่เหล็กและวัดได้ด้วย ตัวอย่างเช่นคุณสามารถวัดสนามแม่เหล็กที่อยู่ใกล้ ๆ สร้างเครื่องวัดความเร็วรอบโดยใช้แม่เหล็กเพื่อวัดรอบต่อนาทีของแกนหรือความเร็วตรวจจับเมื่อประตูเปิดหรือปิดด้วยแม่เหล็กเป็นต้น เซ็นเซอร์นี้สามารถพบได้ในร้านค้าหลายแห่งในราคาไม่กี่เซนต์หรืออย่างอื่นหากคุณต้องการติดตั้งบน PCB พร้อมทุกสิ่งที่คุณต้องการในโมดูลที่พร้อมใช้งานกับ Arduino:

  • ผลิตภัณฑ์ที่ไม่พบ
  • ผลิตภัณฑ์ที่ไม่พบ

นอกจากนี้ หากสิ่งที่คุณกำลังมองหาคือดิจิทัลจากนั้นคุณสามารถซื้อได้ เซ็นเซอร์ฮอลล์ A3144ซึ่งเป็นประเภทสวิตช์เช่นกันนั่นคือไม่จำเป็นต้องเปลี่ยนเสา ด้วยวิธีนี้คุณจะสามารถตรวจจับการมีอยู่ของวัตถุที่เป็นโลหะหรือว่ามีสนามแม่เหล็กหรือไม่และยังสร้างตัวนับ RPM เหมือนในกรณีก่อนหน้านี้ นอกจากนี้ยังหาได้ง่ายและมีราคาถูกหรือมากกว่ารุ่นก่อนหน้าทั้งแบบหลวมและในโมดูล:

ในกรณีของอะนาล็อกคุณต้อง ดูเอกสารข้อมูล ของรุ่นที่คุณซื้อ สำหรับ ตัวอย่างเช่นใน 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

เมื่อคุณได้เห็นว่ามันทำงานอย่างไรและสิ่งที่คุณต้องรู้เกี่ยวกับเซ็นเซอร์ 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);
  }
}

ฉันหวังว่าคู่มือนี้จะช่วยคุณได้ ...


เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา