
ซ้อนกันจาก 12 ภาพ วิธีการ=B (R=44,S=4)
ในโลกของเทคโนโลยีและอิเล็กทรอนิกส์ในปัจจุบัน เซ็นเซอร์ MEMS (Micro-Electro-Mechanical Systems) ได้กลายเป็นเครื่องมือสำคัญสำหรับโครงการทุกประเภท ตั้งแต่หุ่นยนต์ไปจนถึงระบบอัตโนมัติในบ้านและอุปกรณ์สวมใส่ โมดูลที่รวมเอาเครื่องวัดความเร่งและไจโรสโคป เช่น MPU6050 และ y LSM9DS1เป็นสองตัวเลือกยอดนิยมเนื่องจากความคล่องตัว ต้นทุนต่ำ และบูรณาการกับไมโครคอนโทรลเลอร์ เช่น Arduino และแพลตฟอร์มอื่น ๆ ได้ง่าย ความเข้าใจอย่างถ่องแท้เกี่ยวกับการทำงาน คุณสมบัติเฉพาะ ความแตกต่าง และแม้แต่วิธีที่ดีที่สุดในการใช้ประโยชน์จากสิ่งเหล่านี้ ถือเป็นสิ่งสำคัญสำหรับการออกแบบระบบที่แม่นยำ วัดการเคลื่อนไหว ทิศทาง และความเอียง.
ในบทความนี้ เราจะพาคุณผ่านทุกสิ่งที่คุณต้องรู้เกี่ยวกับเซ็นเซอร์ทีละขั้นตอน MPU6050 y LSM9DS1:วิธีการทำงาน แอปพลิเคชันที่พวกเขามี วิธีผสานเข้ากับโครงการของคุณ ปรับเทียบ ตีความการอ่านอย่างถูกต้อง และใช้ประโยชน์จากความสามารถของพวกเขาอย่างเต็มที่ โดยผสมผสานข้อมูลที่รวบรวมจากบทช่วยสอนและบทความทางเทคนิคที่ดีที่สุด ภายใต้วิสัยทัศน์ที่ใช้งานได้จริงและทันสมัยด้วยภาษาที่ใกล้ชิด เพื่อให้ บรรลุผลลัพธ์ระดับมืออาชีพ ในการพัฒนาของคุณ
เซ็นเซอร์ MEMS คืออะไรและทำงานอย่างไร?
ก่อนที่จะเจาะลึกถึงรุ่นเฉพาะ MPU6050 และ LSM9DS1 สิ่งสำคัญคือต้องชัดเจนเกี่ยวกับแนวคิดของ เซ็นเซอร์ MEMS. อุปกรณ์เหล่านี้เรียกอีกอย่างหนึ่งว่า ระบบไฟฟ้าไมโครแมคคานิคส์รวมส่วนประกอบกลไกระดับจุลภาคและวงจรอิเล็กทรอนิกส์เข้าไว้ในชิปตัวเดียว เพื่อให้สามารถตรวจจับการเปลี่ยนแปลงทางกายภาพ เช่น การเร่งความเร็ว การหมุน หรือการสั่น และแปลงสัญญาณดังกล่าวให้เป็นสัญญาณไฟฟ้าที่ระบบดิจิทัลสามารถตีความได้
ในกรณีของเครื่องวัดความเร่งและไจโรสโคป MEMS การทำงานของอุปกรณ์เหล่านี้จะขึ้นอยู่กับหลักการ เช่น:
- กฎความเร่งของนิวตัน (a = F/m) โดยใช้โครงสร้างภายในทำหน้าที่เป็นมวลจุลภาคและสปริง
- ปรากฏการณ์ Coriolis ใช้เพื่อตรวจจับการเคลื่อนไหวเชิงมุม โดยใช้ประโยชน์จากการเบี่ยงเบนที่มวลขนาดเล็กประสบเมื่อหมุนภายในชิป
- ตัวแปลง ADC ภายในที่จะแปลงการเปลี่ยนแปลงทางกายภาพเป็นค่าดิจิตอลที่มีความละเอียดสูง (ปกติคือ 16 บิต)
ความสามารถเหล่านี้ทำให้ MEMS มีประโยชน์อย่างยิ่งในแอปพลิเคชันที่ต้องการ การวัดทิศทาง ความเอียง หรือการเคลื่อนที่ ในสามมิติ เช่น ระบบนำทาง ระบบกันสั่นของกล้อง นาฬิกาอัจฉริยะ โดรน หุ่นยนต์ และอื่นๆ อีกมากมาย
คุณสมบัติหลักของ MPU6050
El MPU6050 อาจเป็นเซ็นเซอร์ตรวจจับการเคลื่อนไหว MEMS ที่ใช้กันอย่างแพร่หลายที่สุดในกลุ่มผู้ผลิต วิศวกร และนักเล่นอดิเรกที่กำลังมองหาโซลูชันที่ประหยัดและเชื่อถือได้ในการวัดความเร่งและการหมุนใน 3 แกน
ข้อมูลทางเทคนิคที่สำคัญประกอบด้วย:
- มาตรความเร่ง 3 แกน:สามารถตรวจจับความเร่งบนแกน X, Y และ Z โดยมีช่วงที่ตั้งโปรแกรมได้คือ ±2g, ±4g, ±8g และ ±16g
- ไจโรสโคปแบบ 3 แกน:วัดความเร็วเชิงมุมบนแกนทั้งสามแกน โดยมีความไวที่ปรับได้ที่ ±250, ±500, ±1000 และ ±2000 องศาต่อวินาที
- โปรเซสเซอร์การเคลื่อนไหวแบบดิจิตอล (DMP): ประกอบด้วยไมโครโปรเซสเซอร์ภายในที่ทำหน้าที่คำนวณที่ซับซ้อน โมชั่นฟิวชั่น (การรวมเซ็นเซอร์) คำนวณข้อมูล เช่น ควอเทอร์เนียน มุมออยเลอร์ และเมทริกซ์การหมุน โดยไม่ต้องโหลดการคำนวณเหล่านั้นลงในไมโครคอนโทรลเลอร์หลัก
- เอาท์พุตดิจิตอลผ่าน I2C:การสื่อสารผ่านบัส I2C โดยมีที่อยู่ที่เป็นไปได้ 0 ที่อยู่ (กำหนดค่าได้ผ่านพิน AD0 ถึง 68x0 หรือ 69xXNUMX) อนุญาตให้ใช้งานร่วมกับ Arduino, ESP และบอร์ดที่คล้ายคลึงกันส่วนใหญ่
- ตัวแปลง ADC 16 บิต:ให้ความละเอียดสูงในการรวบรวมข้อมูล
- เซ็นเซอร์อุณหภูมิในตัว
- ความเป็นไปได้ของการขยายด้วยแม็กนีโตมิเตอร์ภายนอก:ผ่านทางบัสเสริม I2C, MPU6050 สามารถอ่านเซนเซอร์ที่เชื่อมต่ออื่นๆ เช่น HMC5883L (แมกนีโตมิเตอร์) ยอดนิยม เพื่อสร้าง IMU 9 แกนที่สมบูรณ์
- แรงดันไฟฟ้าที่ใช้งานได้อย่างยืดหยุ่น:สามารถรับไฟได้ที่ 3,3V หรือ 5V ได้ หากใช้เมนบอร์ด เช่น GY-521 ที่มีตัวควบคุมไฟ
นอกจากนี้ ขนาดกะทัดรัดของโมดูล (ประมาณ 25 x 15 มม.) และความจริงที่ว่าโมดูลนี้พร้อมที่จะรวมเข้ากับแผงการทดลองทำให้โมดูลนี้เหมาะสำหรับการทดสอบและการพัฒนาขั้นสุดท้าย
LSM9DS1 คืออะไร และแตกต่างกันอย่างไร?
ในทางกลับกัน LSM9DS1 เป็นตัวเลือกที่ทันสมัยและล้ำหน้ากว่าในตระกูล MEMS IMU แม้ว่าจะไม่ค่อยเป็นที่นิยมในโปรเจ็กต์สำหรับผู้เริ่มต้นเท่า MPU6050 ก็ตาม โดยจะรวมคุณสมบัติต่อไปนี้ไว้ในชิปตัวเดียว:
- Un มาตรความเร่ง 3 แกน
- Un ไจโรสโคป 3 แกน
- Un แมกนีโตมิเตอร์แบบ 3 แกน
ซึ่งหมายความว่า LSM9DS1 เป็น 9 DoF (องศาแห่งความเป็นอิสระ) IMUช่วยให้คุณวัดความเร่ง ความเร็วเชิงมุม และสนามแม่เหล็กโลกในสามมิติ โดยให้ค่าการอ่านที่ครบถ้วนและแม่นยำ ตำแหน่งและทิศทางที่แน่นอน โดยเกี่ยวข้องกับโลก
ข้อได้เปรียบหลักเหนือ MPU6050 ได้แก่:
- รวมเซ็นเซอร์ทั้งสามเข้าไว้ในชิปกายภาพตัวเดียวประหยัดพื้นที่และลดความยุ่งยากในการเชื่อมต่อ
- คุณสามารถสื่อสารได้ทั้งสองทาง I2C เป็น SPIซึ่งทำให้มีความยืดหยุ่นมากขึ้นสำหรับแพลตฟอร์มที่แตกต่างกัน
- ระยะและความไวของเซ็นเซอร์แต่ละตัว (เครื่องวัดความเร่ง ไจโรสโคป เครื่องวัดสนามแม่เหล็ก) สามารถกำหนดค่าได้อย่างยืดหยุ่นมากขึ้น
- มีการกรองดิจิทัลขั้นสูงและตัวเลือกการตรวจจับเหตุการณ์
มักเลือกใช้ LSM9DS1 สำหรับโครงการที่ต้องมีการวางแนวแบบสัมบูรณ์ (เช่น เข็มทิศ ระบบนำทาง หรือการรักษาเสถียรภาพการบิน) โดยไม่ต้องใช้เซ็นเซอร์ภายนอกเพิ่มเติม
หลักการทำงานของเครื่องวัดความเร่งและไจโรสโคป MEMS
หากต้องการเข้าใจอย่างแท้จริงว่าโมดูล MEMS เหล่านี้ทำงานอย่างไร จำเป็นต้องเข้าใจแนวคิดทางกายภาพและวิธีการแปลเป็นข้อมูลดิจิทัล:
accelerometer
Un เครื่องวัดความเร่ง MEMS วัดความเร่งของวัตถุ (การเปลี่ยนแปลงความเร็วตามเวลา) เทียบกับแกนทั้งสามของอวกาศ โดยภายในแล้วจะขึ้นอยู่กับการมีอยู่ของ มวลแขวนลอยในระดับจุลภาค โดยใช้สมอที่ยืดหยุ่นได้หรือสปริงขนาดเล็ก เมื่อเซ็นเซอร์เร่งความเร็ว มวลจะเคลื่อนเล็กน้อย และการเปลี่ยนแปลงนี้จะถูกแปลงเป็นสัญญาณไฟฟ้าโดยใช้ตัวเก็บประจุแบบแปรผันหรือแบบเพียโซอิเล็กทริก
- เครื่องวัดความเร่งจะตรวจจับความเร่งอย่างน้อยหนึ่งอย่างเสมอ: แรงโน้มถ่วง (9,81 ม./วินาที2) แม้ว่าเซ็นเซอร์ยังคงอยู่
ใช้เพื่อคำนวณความเอียงเทียบกับระนาบแนวนอน. - ด้วยการบูรณาการความเร่งเทียบกับเวลา เราจึงสามารถได้ความเร็วและตำแหน่งที่เดินทางได้ แม้ว่าการดำเนินการเหล่านี้มีแนวโน้มที่จะสะสมข้อผิดพลาดก็ตาม
เครื่องมือวัดการหมุนวน
El ไจโรสโคป MEMS ใช้ ผลของโบลิทาร์ เพื่อตรวจจับความเร็วที่วัตถุหมุนรอบแกน X, Y และ Z เมื่อเซนเซอร์เกิดการหมุน มวลสั่นสะเทือนภายในจะเกิดการเบี่ยงเบนตามสัดส่วน ความเร็วเชิงมุมและการเปลี่ยนแปลงดังกล่าวจะวัดด้วยระบบอิเล็กทรอนิกส์
- ไจโรสโคปวัด ความเร็วเชิงมุม:การเปลี่ยนแปลงทิศทางของเซ็นเซอร์ในแต่ละแกนรวดเร็วแค่ไหน
- การบูรณาการความเร็วเชิงมุมกับเวลาจะได้มุมของการหมุน (ตำแหน่งเชิงมุม) แม้ว่าการดำเนินการนี้จะสร้างข้อผิดพลาดสะสมที่เรียกว่า ลอยไป.
เหตุใดจึงต้องใช้เครื่องวัดความเร่งและไจโรสโคปร่วมกัน?
ทั้งเครื่องวัดความเร่งและไจโรสโคปต่างก็มีข้อจำกัดในการกำหนดทิศทางของวัตถุ:
- มาตรความเร่ง: มีความแม่นยำในการตรวจจับความเอียงเทียบกับแกนตั้ง (โดยใช้แรงโน้มถ่วง) แต่มีความไวต่อการเคลื่อนไหวฉับพลัน การเร่งความเร็วจากภายนอก หรือการสั่นสะเทือนเป็นอย่างมาก
- ไจโรสโคป: เหมาะอย่างยิ่งสำหรับการวัดการเปลี่ยนแปลงทิศทางอย่างรวดเร็ว แต่จะประสบปัญหาการสะสมข้อผิดพลาดหากเอาต์พุตถูกรวมเข้าด้วยกันเป็นเวลานาน
ดังนั้น แอปพลิเคชันส่วนใหญ่จะรวมข้อมูลจากเซนเซอร์ทั้งสองตัวเข้าด้วยกัน ซึ่งจะช่วยเพิ่มความแม่นยำและความน่าเชื่อถือของการอ่านค่าได้อย่างมาก มุม ความเอียง หรือ ตำแหน่งเพื่อให้บรรลุเป้าหมายนี้ พวกเขาจะใช้มัน ฟิลเตอร์ประมวลผลแบบดิจิตอล เช่น ตัวกรองเสริมหรือตัวกรอง Kalman ที่รวมและชั่งน้ำหนักข้อดีของเซ็นเซอร์แต่ละตัว
เริ่มต้นใช้งาน MPU6050: การเชื่อมต่อและไลบรารี
แผนผังการเชื่อมต่อแบบทั่วไป
โมดูล MPU6050 โดยทั่วไปจะติดตั้งบนชนิดแผ่น GY-521ซึ่งช่วยอำนวยความสะดวกในการบูรณาการกับไมโครคอนโทรลเลอร์ เช่น Arduino เป็นอย่างมาก
การเชื่อมต่อพื้นฐานเพื่อใช้โมดูลในโหมด I2C โดยทั่วไปมีดังนี้:
MPU6050 | Arduino Uno/นาโน/มินิ | อาร์ดูอิโน เมกะ/DUE | Arduino Leonardo |
---|---|---|---|
VCC | 5V | 5V | 5V |
GND | GND | GND | GND |
SCL | A5 | 21 | 3 |
SDA | A4 | 20 | 2 |
โมดูลนี้มีตัวต้านทานแบบดึงขึ้นในตัว ดังนั้นจึงไม่จำเป็นต้องเพิ่มจากภายนอก
ที่อยู่ I2C และพิน AD0
MPU6050 ช่วยให้คุณกำหนดค่าที่อยู่ I2C ได้ 0x68 (โดยค่าเริ่มต้น เมื่อพิน AD0 อยู่ที่ GND หรือไม่ได้เชื่อมต่อ) หรือ 0x69 (เมื่อ AD0 เชื่อมต่อกับไฟสูง/5V) ทำให้สามารถใช้เซ็นเซอร์หลายตัวบนบัสเดียวกันได้อย่างง่ายดาย
ไลบรารีที่แนะนำ: I2Cdevlib โดย Jeff Rowberg
ในการทำงานอย่างสะดวกสบายกับ MPU6050 บน Arduino ชุมชนแนะนำให้ใช้ไลบรารีดังต่อไปนี้:
- ไอทูซีเดฟ:อำนวยความสะดวกในการสื่อสาร I2C กับเซ็นเซอร์ต่างๆ มากมาย
- MPU6050:ช่วยให้คุณเข้าถึงฟังก์ชั่นเซ็นเซอร์ทั้งหมด อ่านค่าที่ผ่านการสอบเทียบ ออฟเซ็ต และใช้ DMP
มีจำหน่ายใน: https://github.com/jrowberg/i2cdevlib
เมื่อดาวน์โหลดแล้ว เพียงแค่แตกไฟล์และวางไว้ในโฟลเดอร์ ห้องสมุด จาก Arduino IDE
การอ่านข้อมูลพื้นฐาน: ความเร่งและความเร็วเชิงมุม
เมื่อเชื่อมต่อและกำหนดค่า MPU6050 แล้ว ขั้นตอนถัดไปคือการดำเนินการ การอ่านค่าความเร่งและความเร็วเชิงมุม บนแกนทั้งสาม กระบวนการพื้นฐานโดยใช้ไลบรารีที่กล่าวถึงข้างต้นประกอบด้วย:
- เริ่มต้นการทำงานของเซ็นเซอร์ด้วยฟังก์ชั่น เซ็นเซอร์.initialize().
- ตรวจสอบการเชื่อมต่อด้วย เซ็นเซอร์.ทดสอบการเชื่อมต่อ().
- อ่านค่า RAW (ยังไม่ได้ประมวลผล) จากเครื่องวัดความเร่งและไจโรสโคปลงในตัวแปรต่างๆ เช่น ax, ay, az สำหรับความเร่ง และ gx, gy, gz สำหรับการหมุน
- ส่งข้อมูลไปยังพอร์ตซีเรียลเพื่อแสดงผลลัพธ์
ข้อมูลนี้ปรากฏเป็นจำนวนเต็ม 16 บิตในช่วง
การปรับเทียบเซนเซอร์ MPU6050
ขั้นตอนสำคัญประการหนึ่งเมื่อใช้ MPU6050 คือ การสอบเทียบเป็นเรื่องปกติมากที่เซ็นเซอร์จะส่งคืนค่าที่ไม่เท่ากับศูนย์ แม้ว่าจะวางแนวนอนและอยู่นิ่งอย่างสมบูรณ์แบบก็ตาม เนื่องมาจากการจัดวางที่ไม่ถูกต้องที่อาจเกิดขึ้นได้เมื่อบัดกรีชิปเข้ากับโมดูล หรือแม้แต่ข้อบกพร่องเล็กๆ น้อยๆ ในการผลิต
การปรับเทียบเซ็นเซอร์เกี่ยวข้องกับการกำหนด ออฟเซ็ตของเครื่องวัดความเร่งและไจโรสโคป บนแต่ละแกนและกำหนดค่าบนเซ็นเซอร์เพื่อให้การอ่านค่าขึ้นอยู่กับข้อมูลที่ถูกต้อง กระบวนการทั่วไปอาจประกอบด้วย:
- อ่านค่าออฟเซ็ตปัจจุบันโดยใช้ฟังก์ชั่นเช่น รับ XAccelOffset(), รับ YAccelOffset()ฯลฯ
- วางเซ็นเซอร์ไว้ในตำแหน่งแนวนอนและนิ่งสนิท
- ใช้โปรแกรมปรับค่าออฟเซ็ตจนกระทั่งค่าการอ่านที่ผ่านการกรอง (เช่น การใช้ค่าเฉลี่ยเคลื่อนที่หรือตัวกรองความถี่ต่ำ) บรรจบกันเป็นค่าในอุดมคติ: ขวาน = 0, ay = 0, az = 16384, gx = 0, gy = 0, gz = 0 ในโหมดดิบ (RAW)
- ตั้งค่าเหล่านี้ด้วยฟังก์ชั่น ตั้งค่า XAccelOffset(), ตั้งค่า YAccelOffset()ฯลฯ
เมื่อปรับเทียบอย่างถูกต้องแล้ว เซ็นเซอร์จะให้ค่าที่แม่นยำและเสถียรมากขึ้น ซึ่งจำเป็นสำหรับการใช้งานที่สำคัญ เช่น การรักษาเสถียรภาพหรือการนำทาง
การปรับขนาดและการแปลงค่าการอ่านเป็นหน่วยทางกายภาพ
ค่าอ่านดิบจาก MPU6050 จะต้องถูกแปลงให้เป็นหน่วย SI (ระบบระหว่างประเทศ) เพื่อที่จะตีความและใช้ในการคำนวณทางกายภาพหรือการแสดงภาพข้อมูล:
- การเร่งความเร็ว: ช่วงเริ่มต้นคือ ±2g ซึ่งเทียบเท่ากับ ±19,62 m/s2ค่า RAW 16384 สอดคล้องกับ 1g ดังนั้นจึงต้องแปลงเป็น x am/s2: ขวาน * (9,81/16384.0).
- ความเร็วเชิงมุม: โดยค่าเริ่มต้นคือ ±250°/s ดังนั้นการแปลงจะเป็นดังนี้: กรัม * (250.0 / 32768.0) เพื่อแปลงจากค่า RAW ให้เป็นองศาต่อวินาที
ปัจจัยมาตราส่วนเหล่านี้จะเปลี่ยนแปลงไปหากคุณกำหนดค่าเซนเซอร์ไปยังช่วงอื่น ดังนั้น จึงจำเป็นต้องตรวจสอบการตั้งค่าจากโรงงานหรือแบบกำหนดเองเสมอ ก่อนที่จะตีความข้อมูล
คำนวณความเอียงโดยใช้เพียงเครื่องวัดความเร่ง
เมื่อเซ็นเซอร์อยู่นิ่งหรืออยู่ภายใต้อิทธิพลของแรงโน้มถ่วงเท่านั้น การอ่านค่าของเครื่องวัดความเร่งสามารถใช้เพื่อคำนวณได้ มุมเอียงเทียบกับแกน X และ Yสูตรคณิตศาสตร์ทั่วไปใช้ฟังก์ชันตรีโกณมิติ:
- สำหรับความเอียง X: อาทาน(ขวาน / sqrt(ay² + az²)) × 180/π
- สำหรับ Y-slant: อาทาน(ay / sqrt(ax² + az²)) × 180/π
ซึ่งจะให้ค่ามุมเอียงเทียบกับแกนแต่ละแกนเทียบกับระนาบแรงโน้มถ่วง แม้ว่าหากเซนเซอร์กำลังเคลื่อนที่หรือได้รับการเร่งความเร็วอื่น ค่าเหล่านี้อาจเปลี่ยนแปลงได้
การคำนวณมุมการหมุนด้วยไจโรสโคป
ไจโรสโคปช่วยให้สามารถคำนวณได้ การเปลี่ยนแปลงของมุมโดยการบูรณาการความเร็วเชิงมุม เมื่อเวลาผ่านไป ในทางคณิตศาสตร์:
- มุมจะเท่ากับอินทิกรัลของความเร็วเชิงมุมในช่วงเวลาที่กำหนด: θ = θ0 + ∫w·dt
ในทางปฏิบัติ การคำนวณเหล่านี้สามารถทำได้ในลูปโปรแกรม โดยรวมความเร็วเชิงมุมคูณด้วยช่วงเวลาการสุ่มตัวอย่าง (dt) เพื่อให้ได้ค่าของมุมสะสม
การควบคุมข้อผิดพลาดในการรวมเป็นสิ่งสำคัญ เนื่องจากข้อผิดพลาดเล็กๆ น้อยๆ จะสะสมจนทำให้เกิด ลอยไป.
ฟิลเตอร์ฟิวชันเซ็นเซอร์: ฟิลเตอร์เสริมและฟิลเตอร์คาลมาน
เพื่อลดข้อผิดพลาดในการตีความและใช้ประโยชน์จากเซ็นเซอร์แต่ละตัวให้ได้มากที่สุด จึงมีการใช้อัลกอริทึมการรวมข้อมูล:
ตัวกรองเสริม
ตัวกรองนี้จะรวมมุมที่ประเมินโดยไจโรสโคป (ซึ่งใช้งานได้ดีในระยะสั้น) กับมุมที่คำนวณโดยเครื่องวัดความเร่ง (ซึ่งเชื่อถือได้มากกว่าในระยะยาวแต่มีสัญญาณรบกวน) สูตรทั่วไปคือ:
มุมสุดท้าย = α × (มุมก่อนหน้า + ความเร็วเชิงมุม×dt) + (1-α) × มุมวัดความเร่ง
โดยที่ α มักจะอยู่ระหว่าง 0,95 ถึง 0,99 ซึ่งช่วยให้ได้ค่าการอ่านที่เสถียรและลด ลอยไป.
ตัวกรองคาลมาน
ฟิลเตอร์นี้ล้ำหน้ากว่ามาก โดยจะรวมการวัดเข้าด้วยกันโดยคำนึงถึงความไม่แน่นอนของการวัดแต่ละครั้งและความสัมพันธ์ของการวัด ทำให้ได้การประมาณค่าที่แม่นยำในสภาวะที่มีสัญญาณรบกวน ฟิลเตอร์นี้ใช้กันอย่างแพร่หลายในระบบนำทางและหุ่นยนต์ขั้นสูง แม้ว่าจะต้องใช้พลังประมวลผลที่มากขึ้นก็ตาม
การจำลองภาพสามมิติและการแสดงทิศทาง (Yaw, Pitch, Roll)
แอปพลิเคชั่นที่น่าสนใจคือ การแสดงผลการวางแนว 3 มิติแบบเรียลไทม์ ของวัตถุ เช่น โดรน หรือ หุ่นยนต์ โดยแสดงมุม การหันเห การโยน และการกลิ้ง.
ทำได้โดยการส่งข้อมูลที่ประมวลผลแล้วไปยังซอฟต์แวร์กราฟิกโดยใช้เครื่องมือเช่น Serial Plotter หรือโปรแกรม 3D เฉพาะเพื่อตรวจสอบและวิเคราะห์การเคลื่อนไหว วิธีนี้ช่วยให้คุณเข้าใจได้ว่าระบบของคุณวางแนวในอวกาศอย่างไร
การอ่านแบบขยาย: การใช้เครื่องวัดสนามแม่เหล็กและเซ็นเซอร์ LSM9DS1
El LSM9DS1 บูรณาการเครื่องวัดความเร่ง ไจโรสโคป และเครื่องวัดสนามแม่เหล็กไว้ในชิปตัวเดียว ช่วยให้รับข้อมูลจาก ตำแหน่งและทิศทางที่แน่นอนนอกจากการวัดความเร่งและการหมุนแล้ว ยังสามารถตรวจจับสนามแม่เหล็กโลกได้อีกด้วย:
- คำนวณ ทิศอาซิมุทสัมบูรณ์มีประโยชน์ในการนำทางและเข็มทิศดิจิทัล
- พัฒนาระบบนำทางโดยไม่ต้องใช้เซ็นเซอร์ภายนอกเพิ่มเติม
- ฟิวส์ข้อมูลจากเซ็นเซอร์ทั้งหมดเพื่อการประมาณตำแหน่งและทิศทางที่แม่นยำสูง (9-DoF)
เคล็ดลับเชิงปฏิบัติเพื่อการใช้ MPU6050 และ LSM9DS1 อย่างมีประสิทธิภาพ
- ปรับเทียบเซ็นเซอร์เสมอ ก่อนใช้งานในแอปพลิเคชันที่สำคัญเพื่อปรับปรุงความแม่นยำ
- หลีกเลี่ยงการติดตั้งโมดูลใกล้แหล่งกำเนิดสัญญาณรบกวนแม่เหล็กไฟฟ้า เช่น มอเตอร์หรือแม่เหล็ก
- ใช้เทคนิคการกรองและควบคุมเวลาการสุ่มตัวอย่างอย่างแม่นยำ
- สำหรับการวางแนวที่แน่นอนตามทิศเหนือ ขอแนะนำให้ใช้ LSM9DS1 หรือรวม MPU6050 เข้ากับแม็กนีโตมิเตอร์ภายนอก เช่น HMC5883L
- การนำการแสดงภาพแบบเรียลไทม์มาใช้ช่วยให้ตีความข้อมูลที่รวบรวมได้ดีขึ้น
- ร้านหนังสือเช่น i2cdevlib พวกเขาทำให้การทำงานง่ายขึ้นมาก ดังนั้นให้จัดลำดับความสำคัญเพื่อให้การพัฒนาสะดวกยิ่งขึ้น