การวัดแม่เหล็กด้วย Arduino: 9 ขั้นตอน

การวัดแม่เหล็กด้วย Arduino: 9 ขั้นตอน

สารบัญ:

Anonim

ไรลีย์, แมรี่เกบ

วัสดุ:

ขั้นตอนที่ 1: ข้อมูลการวิจัย

เราเริ่มแรกแล้วว่าเราต้องการวัดความเป็นแม่เหล็กโดยใช้ Arduino เซ็นเซอร์ที่วัดสนามแม่เหล็กคือเซ็นเซอร์ Linear Hall จากนั้นเราต้องค้นหาการเข้ารหัสและการเดินสายที่จะทำงานและแสดงข้อมูลผ่านกราฟหรือตัวเลข

ขั้นตอนต่อไปที่เราทำการทดลองคือการออกแบบลูกบาศก์ของเราเราต้องปฏิบัติตามข้อกำหนดทั้งหมดที่มีน้ำหนักไม่เกิน 1.33 กก. ต้องเป็น 10x10x10 ที่มีเบาะรองที่ล้มเหลว 10% เป็นต้น

แมรี่

ขั้นตอนที่ 2: สร้างและออกแบบ Cubestat

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

วัสดุ:

-24 popsicles ที่ตัดความยาว 10 มม. (สำหรับรูปทรงสี่เหลี่ยมของแต่ละด้าน)

-10 popsicles ความยาวปกติสำหรับส่วนตัดขวางด้านในของแต่ละช่องสี่เหลี่ยม

-8 แท่งไอติมความยาว 10 มม. สำหรับชั้นวาง

- ชิ้นส่วนโลหะแบนสำหรับชั้นวาง (เพียงแค่ต้องพอดีกับชั้นวางของ / สามารถใหญ่กว่าหรือเล็กกว่าที่เราใช้)

-3 บานพับขนาดเล็ก

มุมโลหะ -2 รองรับ

- กาวร้อนและจำนวนมาก

แมรี่

ขั้นตอนที่ 3: ต่อสาย Arduino (สำหรับ Linear Hall)

นี่คือการเดินสายไฟสำหรับโถงเชิงเส้น

ลวดสีส้มจะไปที่หมุดแรก (ซ้ายบนโถงทางเส้น) ไปยัง AO บน arduino สายสีเขียวไปที่ 5V บน Arduino สายสีเขียวไปที่ GND บน Arduino สายสีน้ำเงินไปที่หมายเลข 3 บน Arduino

* คุณสามารถเลือกที่จะใช้ไฟ LED แต่ในการออกแบบขั้นสุดท้ายของเราเราไม่ได้

นี่คือการเดินสายไฟเดียวที่คุณจะต้องทำเพื่อ LINEAR HALL

แมรี่

ขั้นตอนที่ 4: การเดินสายไฟรอบสุดท้าย

นี่คือการเดินสายไฟสุดท้ายด้วย Linear Hall Sensor และ SD Card

วิธีนี้จะช่วยให้สามารถรวบรวมข้อมูลขณะอยู่ในวงโคจร คุณมี Linear Hall Sensor แบบมีสายอยู่แล้วคุณจะต้องเพิ่มการ์ด SD ในตอนนี้

สายไฟการ์ด SD:

เชื่อมต่อ GND ของคุณบนการ์ด SD เข้ากับกราวด์บน Arduino

เชื่อมต่อ VCC บนการ์ด SD ไปยัง 5v บน Arduino

เชื่อมต่อ CS กับ 4 บน Arduino

เชื่อมต่อ MOSI กับ 11 บน Arduino

เชื่อมต่อ SCK กับ 13 บน Arduino

เชื่อมต่อ MISO กับ 12 บน Arduino

เพิ่มจอแสดงผล LED บนเขียงหั่นขนมตามที่แสดงในภาพ

เพิ่มลวดจากลวดด้านซ้ายของจอแสดงผล LED ไปยังขาหมายเลข 7 บน Arduino

ถัดไปแนบด้านหนึ่งของตัวต้านทานไปยังสายด้านขวาของจอแสดงผล LED

ในที่สุดก็เพิ่มลวดไปที่ปลายอีกด้านของตัวต้านทานแล้วแนบกับ GND บน Arduino (ดู fritzing หากคุณต้องการความช่วยเหลือ)

ไรลีย์

ขั้นตอนที่ 5: การทดสอบเบื้องต้น

ใน Prelims คุณจะต้องทดสอบการสั่นสะเทือนและเที่ยวบินด้วย Arduino ของคุณและเซ็นเซอร์ใน Cubestat ของคุณ ภาพการบินทดสอบไม่ได้

ชุดการทดสอบเหล่านี้ทำขึ้นเพื่อกำหนดว่า Arduino ของคุณพร้อมสำหรับการบินหรือไม่การทดสอบการสั่นสะเทือนนั้นทำขึ้นเพื่อดูว่า Cubestat ของคุณพร้อมที่จะบินไปกับจรวดแล้วหรือยัง ลูกบาศก์ของเราสั่น 5 ครั้งในหนึ่งวินาทีในระหว่างการทดสอบการสั่นสะเทือน หาก Cubestat ของคุณไม่พร้อมสำหรับการบินปัญหาจะเกิดขึ้นในการทดสอบเหล่านี้ ปัญหาเหล่านี้อาจรวมถึง:

- Arduino ของคุณปิด

- แบตเตอรี่หมด

Cubestat ของคุณหยุดพัก

- สายไฟหลวม

หากไม่มีปัญหาเกิดขึ้น Cubestat ของคุณพร้อมที่จะบิน!

ไรลีย์

ขั้นตอนที่ 6: Fritzing Diagram

นี่คือขั้นตอนในโครงการที่เราสร้างสายไฟ Arduino ผ่าน Fritzing

Fritzing เป็นโอเพ่นซอร์สสำหรับทุกคนในการเข้าถึง มันอนุญาตให้เราถ่ายโอนอาร์ดิโนที่แท้จริงของเราด้วยการเดินสายไปยังออนไลน์ Fritzing.com ประกอบด้วยเครื่องมือทั้งหมดที่จำเป็นเช่น LED, สายไฟ, เขียงหั่นขนม, ตัวต้านทานและอื่น ๆ ! นอกจากนี้ยังมีเซ็นเซอร์ที่ช่วยในการวัดชนิดข้อมูลเฉพาะ นี่คือเว็บไซต์ที่ยอดเยี่ยมที่ช่วยให้กลุ่มของเราเป็นวิธีที่ง่ายและรวดเร็วในการสร้าง arduino และการเชื่อมต่อออนไลน์ของเรา

เพื่อทำสิ่งนี้……

1. ก่อนอื่นเราใช้แถบค้นหาเพื่อค้นหา Arduino Uno และเขียงหั่นขนม

2. หลังจากวางลงบนตารางเราค้นหาเซ็นเซอร์ Linear Hall Effect และเครื่องอ่านการ์ด SD ถัดไปวางผู้ที่อยู่ในตำแหน่งเดียวกันกับที่พวกเขาอยู่ใน arduino ที่เกิดขึ้นจริง

3. ถัดไปค้นหาสายไฟและวางไว้ในตำแหน่งที่ต้องการ (เปลี่ยนสีเพื่อลดความสับสนและน่าสนใจยิ่งขึ้น)

4. ขั้นตอนถัดไปเพื่อค้นหา LED และตัวต้านทานและวางไว้ในจุดเดียวกับที่แสดงใน Arduino ของคุณ

5. การตั้งค่า Arduino / Breadboard ของคุณควรมีลักษณะคล้ายกับของคุณเอง โชคดี!

เกบ

ขั้นตอนที่ 7: การเข้ารหัสสำหรับโครงการ

#include

#include

#include

int led = 13; // LED บน arduino

int digitalPin = 3; // เซนเซอร์เชิงเส้นตรงเซ็นเซอร์แม่เหล็กฮอลล์

int analogPin = A0; // linear ฮอลล์เซนเซอร์แบบแม่เหล็กอินเตอร์เฟซแบบอะนาล็อก

int digitalVal; // การอ่านแบบดิจิตอล int analogVal; // การอ่านแบบอะนาล็อก

แม่เหล็กลอย; // ตัวแปรเพื่อเก็บฟลักซ์แม่เหล็ก

ไฟล์ magnetData;

การตั้งค่าเป็นโมฆะ ()

{

pinMode (10, OUTPUT); // ต้องตั้งค่า pin 10 เป็น output แม้ว่าจะไม่ได้ใช้

pinMode (7, OUTPUT); // การตั้งค่าพิน 7 เป็นไฟ led

SD.begin (4); // เริ่มต้นการ์ด sd ด้วย CS set เป็น pin 4

pinMode (LED, OUTPUT);

pinMode (digitalPin, INPUT);

pinMode (analogPin, INPUT);

Serial.begin (9600);

Serial.println (F ("แม่เหล็ก"));

}

เป็นโมฆะห่วง ()

{

magnetData = SD.open ("log.txt", FILE_WRITE); // เปิดไฟล์ชื่อ "บันทึก" ถ้า (magnetData) {// จะพักได้ก็ต่อเมื่อสร้างไฟล์สำเร็จแล้ว

if (magnetData) {

Serial.print ("Magnetism =");

}

// อ่านส่วนต่อประสานแบบอะนาล็อก

analogVal = analogRead (analogPin);

Serial.println (analogVal); // พิมพ์ค่าแอนะล็อก

}

magnetData.print (แม่เหล็ก);

magnetData.close ();

digitalWrite (7, สูง);

ล่าช้า (500); digitalWrite (7, LOW);

ล่าช้า (500);

}

ขั้นตอนที่ 8: การรวบรวมข้อมูลและทำความเข้าใจกับมัน

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

เมื่อไม่มีการวัดสนามแม่เหล็กกราฟจะแสดงเป็นเส้นตรงและตัวเลขที่ปรากฏคือ 547 (คุณสามารถดูข้อมูลตัวเลขได้โดยไปที่ "เครื่องมือ" แล้วคลิกที่จอภาพอนุกรม)

เมื่อทำการวัดสนามแม่เหล็กมันจะสร้างสไปค์และการเคลื่อนไหว

หนามแหลมที่วัดต่ำกว่าเส้นตรงคงที่ถูกสร้างขึ้นโดยการวัดด้านลบของแม่เหล็ก เมื่อหนามแหลมสูงกว่าเส้นตรงค่าคงที่เซ็นเซอร์จะทำการวัดด้านบวก

เดือยที่ใหญ่กว่าหมายความว่ามีการวัดจำนวนแม่เหล็กขนาดใหญ่และเดือยที่เล็กลงหมายถึงการวัดปริมาณแม่เหล็กเล็กน้อย

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

เกบ

ขั้นตอนที่ 9: ผลการทดสอบ

ข้อมูลที่เรารวบรวมอยู่ด้านล่าง เมื่อไม่ได้วัดสนามแม่เหล็กมันแสดง 547 ดังที่คุณเห็นว่าสนามแม่เหล็กนั้นไม่แข็งแรงและแทบจะไม่เปลี่ยนแปลงตลอดการทดสอบทั้งหมด ขนาดเพิ่มขึ้นมากขึ้นในตอนท้ายของการทดสอบ (ยิ่งตัวเลขที่แสดงมีขนาดเล็กลงจะแสดงขนาดที่วัดได้มากขึ้น) เราตั้งค่า Variac เป็นความเร็ว 90 และตั้งเวลาเป็นเวลาหนึ่งนาที

นี่คือพล็อตการกระจายของผลลัพธ์ของเรา เราทดสอบเป็นเวลา 1 นาทีด้วยความเร็ว 3.67 โดยใช้ variac (ซึ่งมี 90 รายการ) พล็อตกระจายกระจายแสดงความผันผวนของสนามแม่เหล็กในช่วงเวลาประมาณ 30 วินาที อย่างที่คุณเห็นมันไม่ผันผวนมากนัก

ไรลีย์

นี่คือรายการใน

การประกวด Arduino 2019