สารบัญ:

Magnetometer แบบพกพา: 7 ขั้นตอน (พร้อมรูปภาพ)
Magnetometer แบบพกพา: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Magnetometer แบบพกพา: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Magnetometer แบบพกพา: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: The Best MAGNETOMETER KIT! How It Works | Build a Fluxgate Magnetic Field Sensors Gradiometer 2024, กรกฎาคม
Anonim
เครื่องวัดสนามแม่เหล็กแบบพกพา
เครื่องวัดสนามแม่เหล็กแบบพกพา

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

โทรศัพท์มือถือมักมีเครื่องวัดความเข้มข้นของสนามแม่เหล็กแบบ 3 แกน แต่ได้รับการปรับให้เหมาะสมสำหรับสนามแม่เหล็กโลกที่อ่อนแอที่ ~1 เกาส์ = 0.1 mT และอิ่มตัวที่สนามที่มีความเข้มข้นไม่กี่ mT ตำแหน่งของเซ็นเซอร์บนโทรศัพท์ไม่ชัดเจน และไม่สามารถวางเซ็นเซอร์ไว้ในช่องแคบๆ เช่น รูของแม่เหล็กไฟฟ้าได้ นอกจากนี้ คุณอาจไม่ต้องการนำสมาร์ทโฟนของคุณเข้าใกล้แม่เหล็กแรงสูง

ในที่นี้ ฉันอธิบายวิธีสร้างเครื่องวัดค่าความเข้มข้นของสนามแม่เหล็กแบบพกพาอย่างง่ายพร้อมส่วนประกอบทั่วไป: เซ็นเซอร์ฮอลล์เชิงเส้น, Arduino, จอแสดงผล และปุ่มกด ค่าใช้จ่ายทั้งหมดน้อยกว่า 5EUR และความไวของ ~0.01mT ในช่วง -100 ถึง +100mT นั้นดีกว่าที่คุณคาดไว้อย่างไร้เดียงสา หากต้องการอ่านค่าสัมบูรณ์ที่แม่นยำ คุณจะต้องปรับเทียบ: ฉันอธิบายวิธีดำเนินการดังกล่าวด้วยโซลินอยด์แบบยาวที่ทำเองที่บ้าน

ขั้นตอนที่ 1: The Hall Probe

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

ฉันใช้ SS49E เพราะราคาถูกและมีจำหน่ายทั่วไป บางสิ่งที่ควรทราบจากแผ่นข้อมูล:

  • แรงดันไฟจ่าย: 2.7-6.5 V เข้ากันได้อย่างสมบูรณ์แบบกับ 5V จาก Arduino
  • Null-output: 2.25-2.75V ดังนั้นประมาณครึ่งทางระหว่าง 0 ถึง 5V
  • ความไว: 1.0-1.75mV/Gauss ดังนั้นจึงต้องสอบเทียบเพื่อให้ได้ผลลัพธ์ที่แม่นยำ
  • แรงดันเอาต์พุต 1.0V-4.0V (หากใช้งานที่ 5V): Arduino ADC ครอบคลุมอย่างดี
  • ช่วง: ขั้นต่ำ +-650G, ปกติ +-1000G
  • เวลาตอบสนอง 3mus จึงสามารถสุ่มตัวอย่างได้ไม่กี่สิบเฮิร์ทซ
  • กระแสไฟจ่าย: 6-10mA ต่ำพอที่จะใช้แบตเตอรี่
  • ข้อผิดพลาดของอุณหภูมิ: ~0.1% ต่อองศา C ดูเหมือนเพียงเล็กน้อย แต่การเบี่ยงเบนออฟเซ็ต 0.1% ทำให้เกิดข้อผิดพลาด 3mT

เซ็นเซอร์มีขนาดกะทัดรัด ~4x3x2 มม. และวัดองค์ประกอบของสนามแม่เหล็กที่ตั้งฉากกับด้านหน้า มันจะส่งผลบวกสำหรับสนามที่ชี้จากด้านหลังไปด้านหน้า เช่น เมื่อด้านหน้าถูกนำไปยังขั้วแม่เหล็กใต้ เซ็นเซอร์มี 3 ลีด, +5V, 0V และเอาต์พุตจากซ้ายไปขวา เมื่อมองจากด้านหน้า

ขั้นตอนที่ 2: วัสดุที่จำเป็น

  • เซ็นเซอร์ฮอลล์เชิงเส้น SS49E ราคาเหล่านี้ประมาณ 1EUR สำหรับชุด 10 ออนไลน์
  • Arduino Uno พร้อมบอร์ดต้นแบบสำหรับต้นแบบหรือ Arduino Nano (ไม่มีส่วนหัว!) สำหรับเวอร์ชันพกพา
  • SSD1306 จอแสดงผล OLED ขาวดำ 0.96” พร้อมอินเทอร์เฟซ I2C
  • ปุ่มกดชั่วขณะหนึ่ง

ในการสร้างโพรบ:

  • ปากกาลูกลื่นเก่าหรือหลอดกลวงอื่นๆ ที่ทนทาน
  • สายเกลียวบาง 3 เส้นยาวกว่าท่อเล็กน้อย
  • ท่อหดแบบบาง (1.5 มม.) 12 ซม.

เพื่อให้พกพาได้:

  • กล่องทิกแทกขนาดใหญ่ (18x46x83 มม.) หรือใกล้เคียง
  • คลิปหนีบแบตเตอรี่ 9V
  • สวิตช์เปิด/ปิด

ขั้นตอนที่ 3: เวอร์ชันแรก: การใช้ Arduino Prototype Board

เวอร์ชั่นแรก: การใช้บอร์ดต้นแบบ Arduino
เวอร์ชั่นแรก: การใช้บอร์ดต้นแบบ Arduino
เวอร์ชั่นแรก: การใช้บอร์ดต้นแบบ Arduino
เวอร์ชั่นแรก: การใช้บอร์ดต้นแบบ Arduino

สร้างต้นแบบก่อนเสมอเพื่อตรวจสอบว่าส่วนประกอบทั้งหมดใช้งานได้และซอฟต์แวร์ใช้งานได้! ทำตามรูปภาพและเชื่อมต่อโพรบ Hall จอแสดงผล และปุ่ม null: โพรบฮอลล์ต้องเชื่อมต่อกับ +5V, GND, A0 (ซ้ายไปขวา) จอแสดงผลต้องเชื่อมต่อกับ GND, +5V, A5, A4 (ซ้ายไปขวา) ปุ่มจำเป็นต้องทำการเชื่อมต่อจากพื้นถึง A1 เมื่อกด

รหัสถูกเขียนและอัปโหลดโดยใช้ Arduino IDE เวอร์ชัน 1.8.10 จำเป็นต้องติดตั้งไลบรารี Adafruit_SSD1306 และ Adafruit_GFX อัปโหลดโค้ดในแบบร่างที่แนบมา

จอแสดงผลควรแสดงค่า DC และค่า AC

ขั้นตอนที่ 4: ความคิดเห็นบางประการเกี่ยวกับรหัส

อย่าลังเลที่จะข้ามส่วนนี้หากคุณไม่สนใจการทำงานภายในของโค้ด

ลักษณะสำคัญของรหัสคือสนามแม่เหล็กถูกวัด 2,000 ครั้งติดต่อกัน ใช้เวลาประมาณ 0.2-0.3 วินาที ด้วยการติดตามผลรวมและผลรวมกำลังสองของการวัด จึงสามารถคำนวณทั้งค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐาน ซึ่งรายงานเป็น DC และ AC โดยการเฉลี่ยการวัดจำนวนมาก ความแม่นยำจะเพิ่มขึ้น ตามทฤษฎีโดย sqrt(2000)~45 ดังนั้นด้วย ADC 10 บิต เราจึงสามารถเข้าถึงความแม่นยำของ ADC แบบ 15 บิตได้! มันสร้างความแตกต่างอย่างมาก: การนับ ADC 1 ครั้งคือ 5mV ซึ่งเท่ากับ ~0.3mT ด้วยการหาค่าเฉลี่ย เราปรับปรุงความแม่นยำจาก 0.3mT เป็น 0.01mT

เป็นโบนัส เรายังได้ค่าเบี่ยงเบนมาตรฐาน ดังนั้นจึงระบุฟิลด์ที่ผันผวนได้ สนามที่ผันผวนที่ 50Hz ทำ ~10 รอบเต็มในช่วงเวลาการวัด ดังนั้นจึงสามารถวัดค่า AC ได้ดี

หลังจากรวบรวมโค้ด ฉันได้รับข้อเสนอแนะต่อไปนี้: Sketch ใช้พื้นที่จัดเก็บโปรแกรม 16852 ไบต์ (54%) สูงสุดคือ 30720 ไบต์ ตัวแปรโกลบอลใช้หน่วยความจำไดนามิก 352 ไบต์ (17%) เหลือ 1696 ไบต์สำหรับตัวแปรในเครื่อง สูงสุดคือ 2048 ไบต์

พื้นที่ส่วนใหญ่ถูกใช้โดยห้องสมุด Adafruit แต่มีพื้นที่เหลือเฟือสำหรับการใช้งานเพิ่มเติม

ขั้นตอนที่ 5: การเตรียมโพรบ

การเตรียมโพรบ
การเตรียมโพรบ
การเตรียมโพรบ
การเตรียมโพรบ

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

เตรียมลวดอ่อนบาง 3 เส้นที่ยาวกว่าท่อ ฉันใช้สายริบบิ้น 3 ซม. ไม่มีตรรกะในสี (สีส้มสำหรับ +5V สีแดงสำหรับ 0V สีเทาสำหรับสัญญาณ) แต่มีเพียง 3 สายที่ฉันจำได้

ในการใช้โพรบกับต้นแบบ ให้บัดกรีลวดเชื่อมต่อแกนแข็งที่ถอดแล้วบางส่วนที่ปลายและป้องกันด้วยท่อหด ภายหลังสามารถตัดออกเพื่อให้สามารถบัดกรีสายโพรบเข้ากับ Arduino ได้โดยตรง

ขั้นตอนที่ 6: สร้างเครื่องมือแบบพกพา

การสร้างเครื่องมือแบบพกพา
การสร้างเครื่องมือแบบพกพา

แบตเตอรี่ 9V, หน้าจอ OLED และ Arduino Nano พอดีกับกล่อง Tic-Tac (ขนาดใหญ่) อย่างสบาย มีข้อดีคือโปร่งใส สามารถอ่านหน้าจอได้ดีแม้อยู่ภายใน ส่วนประกอบคงที่ทั้งหมด (โพรบ สวิตช์เปิด/ปิด และปุ่มกด) ติดอยู่ที่ด้านบน เพื่อให้สามารถถอดชุดประกอบทั้งหมดออกจากกล่องเพื่อเปลี่ยนแบตเตอรี่หรืออัปเดตรหัส

ฉันไม่เคยชอบแบตเตอรี่ 9V มาก่อน เพราะมีราคาแพงและมีความจุน้อย แต่ซูเปอร์มาร์เก็ตในพื้นที่ของฉันก็ขายรุ่น NiMH แบบชาร์จซ้ำได้ในราคาอันละ 1 ยูโร และฉันพบว่าพวกเขาสามารถชาร์จได้อย่างง่ายดายโดยเก็บไว้ที่ 11V ผ่านตัวต้านทาน 100Ohm ในชั่วข้ามคืน ฉันสั่งคลิปราคาถูกแต่มันมาไม่ถึง ดังนั้นฉันจึงแยกแบตเตอรี่ 9V อันเก่าเพื่อเปลี่ยนด้านบนให้เป็นคลิป ข้อดีของแบตเตอรี่ 9V คือมีขนาดกะทัดรัดและ Arduino ทำงานได้ดีโดยเชื่อมต่อกับ Vin บน +5V จะมี 5V ที่ได้รับการควบคุมสำหรับ OLED และสำหรับโพรบ Hall

โพรบ Hall หน้าจอ OLED และปุ่มกดเชื่อมต่อในลักษณะเดียวกับต้นแบบ การเพิ่มเพียงอย่างเดียวคือปุ่มเปิด/ปิดระหว่างแบตเตอรี่ 9V และ Arduino

ขั้นตอนที่ 7: การปรับเทียบ

สอบเทียบ
สอบเทียบ
สอบเทียบ
สอบเทียบ
สอบเทียบ
สอบเทียบ

ค่าคงที่การสอบเทียบในโค้ดสอดคล้องกับตัวเลขที่ระบุในแผ่นข้อมูล (1.4mV/Gauss) แต่แผ่นข้อมูลอนุญาตให้ใช้ช่วงกว้าง (1.0-1.75mV/Gauss) เพื่อให้ได้ผลลัพธ์ที่แม่นยำ เราจะต้องสอบเทียบหัววัด!

วิธีที่ตรงไปตรงมาที่สุดในการสร้างสนามแม่เหล็กที่มีความแรงที่กำหนดไว้อย่างดีคือการใช้โซลินอยด์: ความแรงของสนามของโซลินอยด์แบบยาวคือ: B=mu0*n*I การซึมผ่านของสุญญากาศเป็นค่าคงที่ของธรรมชาติ: mu0=1.2566x10^-6 T/m/A สนามมีความสม่ำเสมอและขึ้นอยู่กับความหนาแน่นของขดลวด n เท่านั้น และกระแส I ซึ่งทั้งสองอย่างนี้สามารถวัดได้อย่างแม่นยำ (~1%) สูตรที่ยกมานั้นมาจากโซลินอยด์ที่มีความยาวไม่สิ้นสุด แต่เป็นค่าประมาณที่ดีมากสำหรับสนามที่อยู่ตรงกลางตราบใดที่อัตราส่วนของความยาวต่อเส้นผ่านศูนย์กลาง L/D>10

ในการทำโซลินอยด์ที่เหมาะสม ให้ใช้ท่อทรงกระบอกกลวงที่มี L/D > 10 แล้วพันด้วยลวดเคลือบธรรมดา ฉันใช้ท่อพีวีซีที่มีเส้นผ่านศูนย์กลางภายนอก 23 มม. และพันรอบ 566 รอบ ซึ่งขยายเกิน 20.2 ซม. ส่งผลให้ n=28/ซม.=2800/ม. ความยาวสาย 42 ม. ความต้านทาน 10.0 โอห์ม

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

ก่อนการสอบเทียบ ฉันวัด 6.04 mT/A ในขณะที่ทฤษฎีคาดการณ์ 3.50 mT/A ดังนั้นฉันจึงคูณค่าคงที่การสอบเทียบในบรรทัดที่ 18 ของโค้ดด้วย 0.58 เครื่องวัดค่าความเข้มข้นของสนามแม่เหล็กได้รับการปรับเทียบแล้ว!

แม่เหล็กท้าทาย
แม่เหล็กท้าทาย
แม่เหล็กท้าทาย
แม่เหล็กท้าทาย

รองชนะเลิศการแข่งขันแม่เหล็ก

แนะนำ: