- Hall Effect คืออะไร?
- ส่วนประกอบที่จำเป็น
- แผนภูมิวงจรรวม
- การเขียนโปรแกรม Atmega16 สำหรับ Hall Sensor
- การใช้งาน Hall Sensor
เซ็นเซอร์ Hallทำงานบนหลักการของ Hall Effect ที่เสนอโดย Edwin Hall ในปี 1869 คำแถลงที่เสนอกล่าวว่า “ Hall effect คือการสร้างความแตกต่างของแรงดันไฟฟ้า (แรงดันฮอลล์) บนตัวนำไฟฟ้าตามแนวขวางกับกระแสไฟฟ้าในตัวนำ และกับสนามแม่เหล็กที่ใช้ในแนวตั้งฉากกับกระแสไฟฟ้า”
ดังนั้นอะไรคือรูปแบบที่ง่ายที่สุดของข้อความที่จะเข้าใจมันในทางที่ดีขึ้น? ในบทช่วยสอนนี้จะอธิบายทีละขั้นตอนพร้อมตัวอย่างที่ใช้ได้จริง ที่นี่เซ็นเซอร์ Hall จะเชื่อมต่อกับไมโครคอนโทรลเลอร์ Atmega16และ LED หนึ่งดวงจะถูกใช้เพื่อแสดงเอฟเฟกต์เมื่อแม่เหล็กจะถูกนำเข้าใกล้ Hall Sensor
Hall Effect คืออะไร?
Hall Effect เกี่ยวข้องกับการเคลื่อนที่ของประจุไฟฟ้าในสนามแม่เหล็ก เพื่อทำความเข้าใจในทางปฏิบัติให้เชื่อมต่อแบตเตอรี่กับตัวนำดังที่แสดงในภาพ (ก) ด้านล่าง กระแส (i) จะเริ่มไหลผ่านตัวนำจากขั้วบวกไปเป็นลบของแบตเตอรี่
การไหลของอิเล็กตรอน (e -) จะอยู่ในทิศทางตรงกันข้ามกับกระแสเช่นจากขั้วลบของแบตเตอรี่ผ่านตัวนำไปยังขั้วบวกของแบตเตอรี่ ในขณะนี้เมื่อเราวัดแรงดันไฟฟ้าระหว่างตัวนำดังแสดงในภาพด้านล่าง (b) ด้านล่างแรงดันไฟฟ้าจะเป็นศูนย์นั่นคือความต่างศักย์จะเป็นศูนย์
ตอนนี้นำแม่เหล็กและสร้างสนามแม่เหล็กระหว่างตัวนำเช่น Image (c) ด้านล่าง
ในสภาวะนี้เมื่อวัดแรงดันไฟฟ้าข้ามตัวนำจะมีการพัฒนาแรงดันไฟฟ้า แรงดันไฟฟ้าที่พัฒนาขึ้นนี้เรียกว่า“ Hall Voltage ” และปรากฏการณ์นี้เรียกว่า“ Hall Effect ”
เราใช้เซ็นเซอร์ฮอลล์กับไมโครคอนโทรลเลอร์หลายตัวเพื่อสร้างแอปพลิเคชั่นที่น่าสนใจเช่นมาตรวัดความเร็วสัญญาณเตือนประตูความจริงเสมือน ฯลฯ ลิงก์ทั้งหมดสามารถพบได้ด้านล่าง:
- วงจรสัญญาณเตือนประตูแม่เหล็กโดยใช้ Hall Sensor
- DIY Speedometer โดยใช้ Arduino และการประมวลผลแอพ Android
- ความจริงเสมือนโดยใช้ Arduino และการประมวลผล
- วงจรวัดความเร็วแบบดิจิตอลและเครื่องวัดระยะทางโดยใช้ไมโครคอนโทรลเลอร์ PIC
ส่วนประกอบที่จำเป็น
- A3144 Hall Sensor IC
- Atmega16 ไมโครคอนโทรลเลอร์ IC
- 16Mhz คริสตัลออสซิลเลเตอร์
- ตัวเก็บประจุ 100nF สองตัว
- ตัวเก็บประจุ 22pF สองตัว
- ปุ่มกด
- สายจัมเปอร์
- เขียงหั่นขนม
- USBASP v2.0
- LED (สีใดก็ได้)
แผนภูมิวงจรรวม
การเขียนโปรแกรม Atmega16 สำหรับ Hall Sensor
Atmega16 ได้รับการตั้งโปรแกรมโดยใช้ USBASP และ Atmel Studio7.0 หากคุณไม่ทราบว่า Atmega16 สามารถตั้งโปรแกรมโดยใช้ USBASP ได้อย่างไรให้ไปที่ลิงค์ โปรแกรมที่สมบูรณ์จะได้รับในตอนท้ายของโครงการ เพียงอัปโหลดโปรแกรมใน Atmega16 โดยใช้โปรแกรมเมอร์ JTAG และ Atmel Studio 7.0 ตามที่อธิบายไว้ในบทช่วยสอนก่อนหน้านี้
การเขียนโปรแกรม Atmega16 จะเป็นเรื่องง่ายและจะใช้ PORT เพียงสองพินเท่านั้น จะใช้พิน PORT หนึ่งพินเพื่ออ่านค่าจากเซ็นเซอร์ Hall PORT พินอื่น ๆ จะใช้เชื่อมต่อ LED หนึ่งดวง ประการแรกรวมไลบรารีที่จำเป็นทั้งหมดไว้ในโปรแกรม
กำหนดขาอินพุตสำหรับการอ่านเซ็นเซอร์ Hall
# กำหนดห้องโถงใน PA0
ที่นี่เซ็นเซอร์ฮอลล์เชื่อมต่อที่ PORTA0 ของ Atmega16 และเป็นค่าเริ่มต้นสำหรับการอ่านสถานะ
DDRA = 0xFE; PINA = 0x01;
หากแม่เหล็กอยู่ใกล้เซ็นเซอร์ให้เปิด LED หรือปิด LED การตรวจจับจะขึ้นอยู่กับการเปลี่ยนแปลงสถานะของพิน PORT
ถ้า (bit_is_clear (PINA, hallIn)) { PORTA = 0b00000010; } else { PORTA = 0b00000000; }
การใช้งาน Hall Sensor
เซ็นเซอร์ฮอลล์ใช้กันอย่างแพร่หลายในทุกที่ที่จำเป็นในการวัดความแรงของสนามแม่เหล็กหรือตรวจจับขั้วของแม่เหล็ก นอกเหนือจากนี้ยังมีแอพพลิเคชั่นมากมายที่สามารถพบได้ทั่วไป แอปพลิเคชั่นบางส่วนมีรายชื่อด้านล่าง:
- เป็นพร็อกซิมิตีเซนเซอร์ในโทรศัพท์มือถือ
- กลไกการเปลี่ยนเกียร์ในยานยนต์
- เซ็นเซอร์ผลกระทบของห้องโถงหมุน
- ตรวจสอบวัสดุเช่นท่อและท่อ
- การตรวจจับความเร็วในการหมุน
หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเซ็นเซอร์ Hall โปรดดูบทช่วยสอนก่อนหน้านี้โดยใช้ Hall Sensor