บทนำ
เซ็นเซอร์ฮอลล์เอฟเฟกต์ (Hall effect sensor) คือเซ็นเซอร์ที่ตอบสนองต่อสนามแม่เหล็ก พอเราเอาเซ็นเซอร์ฮอลล์ไปวางในสนามแม่เหล็ก อิเล็กตรอนที่วิ่งผ่านจะถูกผลักไปด้านหนึ่งของเซ็นเซอร์ ทำให้เซ็นเซอร์ด้านหนึ่งเป็นบวก อีกด้านเป็นลบ และเกิดแรงดันไฟฟ้าขึ้นมา เราเรียกแรงดันนี้ว่า "แรงดันฮอลล์ (Hall voltage)" ซึ่งแรงดันนี้จะแปรผันตรงกับความแรงของสนามแม่เหล็กที่มากระทำ
เอาไปใช้ทำอะไรได้บ้างในยุคนี้? ใช้ตรวจจับระยะใกล้ (Proximity), วัดกำลังไฟฟ้า, วัดความเร็ว, และวัดกระแสไฟฟ้า ตัวอย่างเช่น วัดความเร็วล้อหรือเพลา, ระบบเตือนภัย, คีย์บอร์ด และเครื่องพิมพ์
ข้อดีของเซ็นเซอร์ฮอลล์เอฟเฟกต์
• เป็นเซ็นเซอร์ "ล่องหน" ทำงานแบบไม่สัมผัส (Non-contact) ดังนั้นไม่มีการสึกหรอหรือแรงเสียดทาน ทำให้มีอายุการทำงานไม่จำกัด • ทำงานที่ความเร็วสูงได้มากกว่า 100 kHz ในขณะที่เซ็นเซอร์แบบอื่นอาจเริ่มเพี้ยนที่ความถี่สูง • เมื่อปิดผนึกดีๆ จะทนต่อฝุ่น อากาศ น้ำ ในขณะที่เซ็นเซอร์แบบ capacitive อาจถูกฝุ่นหลอกได้ • วัดความเร็วเป็นศูนย์ได้ (Zero speed) • ช่วงอุณหภูมิการทำงานกว้าง • ให้ผลการทำงานที่สม่ำเสมอสูง (Highly repeatable) • วัดกระแสไฟฟ้าที่มีค่าสูงได้
ข้อเสียของเซ็นเซอร์ฮอลล์เอฟเฟกต์
• อาจถูกรบกวนโดยสนามแม่เหล็กภายนอก • มีการเลื่อนของค่าที่วัดได้จากอุณหภูมิค่อนข้างมาก (Temperature drift) • มีแรงดันออฟเซ็ต (Offset voltage) สูง • สัญญาณอาจถูกบล็อกโดยโลหะเฟอร์รัส (Ferrous metal)
ขั้นตอนที่ 1: เซ็นเซอร์ฮอลล์แต่ละแบบทำงานยังไง
ในการทดลองของเรา เราใช้เซ็นเซอร์ฮอลล์เอฟเฟกต์ 3 แบบ ซึ่งแต่ละแบบตอบสนองต่อสนามแม่เหล็กต่างกันไป
- เซ็นเซอร์แบบ "แตะแล้วติด" (Model A417): เซ็นเซอร์นี้ทำงานเป็นสวิตช์แบบ Unipolar มันจะติด (ON) เมื่อสนามแม่เหล็กเข้าใกล้พอดี และจะดับ (OFF) เมื่อเอาแม่เหล็กออก เหมาะสำหรับงานแบบปุ่มกดหรือลิมิตสวิตช์
- เซ็นเซอร์แบบ "ล็อคสถานะ" (Model A417): เซ็นเซอร์แบบนี้มีความจำ! มันจะติดด้วยขั้วแม่เหล็กหนึ่ง (เช่น ขั้วเหนือ) และจะค้างสถานะนั้นไว้ จนกว่าจะใช้ขั้วตรงข้าม (เช่น ขั้วใต้) มาสั่งปิด
- เซ็นเซอร์แบบ "วัดระยะ/เชิงเส้น" (Model A324): เซ็นเซอร์นี้ให้สัญญาณเอาต์พุตแบบอนาล็อกที่แปรผันตามความแรงของสนามแม่เหล็ก เมื่อไม่มีสนามแม่เหล็ก เอาต์พุตจะอยู่ที่ครึ่งหนึ่งของแรงดันแหล่งจ่าย (เช่น 2.5V) เมื่อแม่เหล็กเข้าใกล้ แรงดันเอาต์พุตจะเพิ่มขึ้นหรือลดลง ขึ้นอยู่กับว่าขั้วไหนของแม่เหล็กที่หันเข้าหาเซ็นเซอร์
ขั้นตอนที่ 2: ช่วงระยะทำการของเซ็นเซอร์ฮอลล์
ช่วงระยะทำการของเซ็นเซอร์ฮอลล์ขึ้นอยู่กับความแรงของแม่เหล็กที่เราใช้ ในทดสอบแรกเราใช้แม่เหล็กนีโอไดเมียม (Neodymium) เพื่อทดสอบว่าระยะไหนที่เซ็นเซอร์จะตรวจจับแม่เหล็กได้และทำให้ไฟ LED ติด เราพบว่าเซ็นเซอร์จะตอบสนองเฉพาะด้านหนึ่งของตัวมัน และจะไวต่อแม่เหล็กที่เข้ามาในแนวตรงมากที่สุด ถ้าอยากให้เซ็นเซอร์ตรวจจับอีกด้านหนึ่ง ต้องใช้ขั้วแม่เหล็กอีกขั้วหนึ่ง
เราเอาเซ็นเซอร์สองตัวมาต่อรวมกันเพื่อทดสอบว่าจะทำให้มีประสิทธิภาพมากขึ้นไหม ผลคือทำให้ช่วงระยะทำการกว้างขึ้น และตรวจจับได้ทั้งสองด้านของเซ็นเซอร์
เราใช้เทคนิค "ไลท์เพนติ้ง" (Light painting) เพื่อให้เห็นภาพของพื้นที่ที่เซ็นเซอร์สามารถตรวจจับแม่เหล็กได้


ขั้นตอนที่ 3: ทดสอบสนามแม่เหล็กกับวัสดุต่างๆ
ข้อดีขั้นเทพของเซ็นเซอร์ฮอลล์เอฟเฟกต์ (Hall Effect Sensor) ก็คือมันตรวจจับผ่านวัสดุที่ไม่ใช่เหล็กได้นะเว้ย! เอาแผ่นไม้มาคั่นระหว่างเซ็นเซอร์กับแม่เหล็กสิ เซ็นเซอร์ยังคงทำงานได้ปร๋อ แต่ถ้าเป็นแผ่นเหล็กล่ะก็... สนามแม่เหล็กโดนบล็อก! เซ็นเซอร์จะเงียบกริบ (ตอนแรก) แต่เดี๋ยวแม่เหล็กมันจะไปทำให้แผ่นเหล็กนั้นกลายเป็นแม่เหล็กชั่วคราว แล้วเซ็นเซอร์ก็จะตอบสนองกับแผ่นเหล็กนั้นแทน งานนี้เรียกว่าแม่เหล็กพี่เลี้ยงแผ่นเหล็กน้องไปเลย
การทดสอบแบบนี้แหละที่ทำให้เราสร้างสวิตช์ล่องหนได้ ข้อดีอีกอย่างของฮอลล์เซ็นเซอร์เลยทีเดียว งานนี้จัดไปวัยรุ่น!
ขั้นตอนที่ 4: ควบคุมมอเตอร์ด้วยเซ็นเซอร์ฮอลล์เอฟเฟกต์
คราวนี้เรามาลองใช้เซ็นเซอร์ฮอลล์เอฟเฟกต์ควบคุมเอาต์พุตแบบต่างๆ ดูบ้าง มาดูกันว่าเซ็นเซอร์ตัวนี้จะทำงานกับมอเตอร์กระแสตรง (DC Motor) และเซอร์โวมอเตอร์ (Servo Motor) ได้ยังไง และมันจะควบคุมมอเตอร์ได้แค่ไหน เราลองเล่นกับเซ็นเซอร์สามประเภทหลักๆ คือ "แบบสัมผัส (Touch - A 417)", "แบบล็อค (Latching - A229)" และ "แบบวัดระยะ (Distance - A324)"
- ควบคุมแบบสวิตช์: เซ็นเซอร์แบบสัมผัสและแบบล็อค ทำงานเหมือนสวิตช์เปิด-ปิดสำหรับมอเตอร์ หรือใช้สลับทิศทางการหมุนของเซอร์โวได้เลย
- ควบคุมความเร็ว: ส่วนเซ็นเซอร์แบบวัดระยะ (A324) นี่เจ๋งกว่า เพราะเราควบคุมความเร็วมอเตอร์ด้วยระยะห่างของแม่เหล็กได้เลย! เซ็นเซอร์ A324 ส่งสัญญาณอนาล็อกให้บอร์ด Arduino ซึ่งเราอ่านค่าได้ด้วย
analogRead()แล้วเอาไปใช้กับ PWM ผ่านanalogWrite()เพื่อปรับความเร็วมอเตอร์ได้สบายๆ
ขั้นตอนที่ 5: เกมรถยนต์โต้ตอบได้
มาถึงขั้นตอนสนุกๆ กันบ้าง! ในการทดลองนี้ เราทำบอร์ดเกมที่ติดตั้งเซ็นเซอร์ฮอลล์เอฟเฟกต์หลายตัวไว้ แล้วเอาแม่เหล็กไปติดกับรถของเล่น เวลาเราขับรถของเล่นไปตามเส้นทางที่กำหนด รถจะไปกระตุ้นเซ็นเซอร์ตัวต่างๆ ที่ซ่อนอยู่ใต้บอร์ด ซึ่งต่ออยู่กับไฟ LED คนละดวง ทำให้ไฟกระพริบตามจุดที่รถวิ่งผ่าน ไอเดียนี้เอาไปทำเป็นเกมรถ interactive สอนเด็กๆ ก็ได้นะ สนุกดี!

ขั้นตอนที่ 6: หมุนล้อกันเถอะ
ถ้าน้องติดแม่เหล็กไว้ที่ล้อที่กำลังหมุน น้องก็จะได้สัญญาณทุกครั้งที่แม่เหล็กผ่านเซ็นเซอร์ฮอลล์เอฟเฟกต์ (Hall Effect Sensor) เราใช้โพเทนชิโอมิเตอร์ (Potentiometer) ในการขับล้อด้วย ซึ่งก็ให้สัญญาณกับเซ็นเซอร์ฮอลล์เอฟเฟกต์เหมือนเดิม
ไอเดียนี้เอาไปทำเกมได้เลยนะตัวนี้ หรืออีกทางนึงก็ติดแม่เหล็กไว้ที่ล้อจักรยานหรือรถเข็น แล้วให้มันสว่างขึ้นตอนที่มันเคลื่อนที่ งานนี้จัดไปวัยรุ่น!
ขั้นตอนที่ 7: นาฬิกาทรายกระพริบ
ไอเดียคือการสร้างวิธีมองเห็นเวลาอีกแบบหนึ่ง
เราติดแม่เหล็กไว้ที่ปลายลูกตุ้มเพื่อสร้างตัวจับเวลา วางเซ็นเซอร์ฮอลล์เอฟเฟกต์ไว้ใต้ตำแหน่งล่างสุดของลูกตุ้ม มันจะอ่านสัญญาณทุกครั้งที่แม่เหล็กผ่านมา พอเซ็นเซอร์ทำงาน มันก็จะเปิดไฟ LED นั่นแปลว่าถ้าลูกตุ้มหยุดนิ่ง ไฟ LED ก็จะติดค้างไว้ ลูกตุ้มจะทำงานเป็นเวลา 1 นาที และไฟ LED ที่กระพริบจะบอกว่าเหลือเวลาอีกเท่าไหร่ก่อนครบ 1 นาที ห้ามช็อตนะตัวนี้!
ขั้นตอนที่ 8: ลิงก์และบทเรียนเจ๋งๆ เกี่ยวกับเซ็นเซอร์ฮอลล์เอฟเฟกต์
อยากรู้ลึกกว่านี้เกี่ยวกับเซ็นเซอร์ฮอลล์เอฟเฟกต์เหรอ? มีบทเรียนและแหล่งข้อมูลดีๆ เกี่ยวกับเซ็นเซอร์ฮอลล์เอฟเฟกต์และแอปพลิเคชันต่างๆ อยู่มากมาย ตั้งแต่พื้นฐานไปจนถึงการประยุกต์ใช้จริง เช่น การควบคุมมอเตอร์ DC ด้วย Arduino ไปหาอ่านเพิ่มเติมกันได้ สู้งานนะน้อง!