MPU-6050 เป็นส่วนประกอบการประมวลผลการเคลื่อนไหว 6 แกนแบบบูรณาการครั้งแรกของโลกซึ่งรวมไจโรสโคป 3 แกนตัวเร่งความเร็ว 3 แกนและตัวประมวลผลการเคลื่อนไหวดิจิตอลที่ปรับขนาดได้ (DMP)จุดประสงค์ของการใช้มันคือการได้รับมุมเอียงของวัตถุที่จะวัด (เช่น quadcopter, รถที่สมดุล) บนแกน x, y และ z นั่นคือมุมพิทช์มุมม้วนและมุมหันเหเราอ่านข้อมูลหกข้อมูลของ MPU-6050 (ค่าโฆษณาเร่งความเร็วสามแกนและค่าโฆษณาความเร็วเชิงมุมสามแกน) ผ่านอินเตอร์เฟส I2Cหลังจากการประมวลผลฟิวชั่นฟิวชั่นสามารถคำนวณพิทช์ม้วนและมุมหันเหไปได้เป็นการอ้างอิงทิศทางสำหรับค่าการวัดคำจำกัดความของทิศทางพิกัดเซ็นเซอร์ดังแสดงในรูปด้านล่างซึ่งเป็นไปตามหลักการของระบบพิกัดมือขวา (นั่นคือนิ้วหัวแม่มือขวาชี้ไปยังทิศทางบวกของ X--แกนนิ้วชี้ไปที่ทิศทางบวกของแกน y และนิ้วกลางชี้ไปที่ทิศทางบวกของทิศทาง Z
แคตตาล็อก
ด้วยบัสเซ็นเซอร์ I2C ที่ทุ่มเท MPU-6050 สามารถรับอินพุตได้โดยตรงจากเข็มทิศ 3 แกนภายนอกให้เอาต์พุต 9-Axis Motionfusion ™เต็มมันกำจัดปัญหาความคลาดเคลื่อนระหว่างไจโรสโคปรวมและไทม์ไลน์เร่งความเร็วและลดพื้นที่บรรจุภัณฑ์อย่างมีนัยสำคัญเมื่อเทียบกับโซลูชันหลายองค์ประกอบเมื่อเชื่อมต่อกับสนามแม่เหล็กสามแกน MPU-60X0 สามารถให้เอาต์พุตฟิวชั่นการเคลื่อนที่ 9 แกนเต็มไปยังพอร์ต I2C หรือ SPI หลัก (โปรดทราบว่าพอร์ต SPI นั้นมีเฉพาะใน MPU-6000)
ผู้ผลิต MPU-6050 คือ TDKหลังจากผู้ก่อตั้ง TDK สองคนดร. Yogoro Kato และ Takei Takei คิดค้น Ferrite ในโตเกียวพวกเขาก่อตั้ง Tokyo Denkikagaku Kogyo K.K.ในปี 1935 ในฐานะแบรนด์อุตสาหกรรมอิเล็กทรอนิกส์ระดับโลก TDK ยังคงรักษาตำแหน่งที่โดดเด่นในด้านวัตถุดิบอิเล็กทรอนิกส์และส่วนประกอบอิเล็กทรอนิกส์พอร์ตโฟลิโอผลิตภัณฑ์ที่ครอบคลุมและเป็นนวัตกรรมของ TDK ครอบคลุมส่วนประกอบแฝงเช่นตัวเก็บประจุเซรามิก, ตัวเก็บประจุอิเล็กโทรไลต์อลูมิเนียม, ตัวเก็บประจุฟิล์ม, ผลิตภัณฑ์แม่เหล็ก, ส่วนประกอบความถี่สูง, อุปกรณ์และอุปกรณ์ป้องกันนอกจากนี้เซ็นเซอร์แม่เหล็กและ MEMS) ฯลฯ นอกจากนี้ TDK ยังมีแหล่งจ่ายไฟและอุปกรณ์พลังงานหัวแม่เหล็กและผลิตภัณฑ์อื่น ๆแบรนด์ผลิตภัณฑ์ ได้แก่ TDK, EPCOS, Invensense, Micronas, Tronics และ TDK-Lambda
ในหมู่พวกเขา SCL และ SDA เป็นอินเทอร์เฟซ IIC ที่เชื่อมต่อกับ MCU และ MCU ควบคุม MPU-6050 ผ่านอินเทอร์เฟซ IIC นี้นอกจากนี้ยังมีอินเทอร์เฟซ IIC คือ aux_cl และ aux_daอินเทอร์เฟซนี้สามารถใช้ในการเชื่อมต่ออุปกรณ์ทาสภายนอกเช่นเซ็นเซอร์แม่เหล็กเพื่อสร้างเซ็นเซอร์เก้าแกนVlogic เป็นแรงดันพอร์ต IOพินนี้สามารถรองรับอย่างน้อย 1.8Vเรามักจะเชื่อมต่อโดยตรงกับ VDDAD0 เป็นพินควบคุมที่อยู่ของอินเทอร์เฟซ Slave IIC (เชื่อมต่อกับ MCU)พินนี้ควบคุมบิตต่ำสุดของที่อยู่ IICหากเชื่อมต่อกับ GND ที่อยู่ IIC ของ MPU-6050 คือ 0x68;หากเชื่อมต่อกับ VDD มันคือ 0x69โปรดทราบว่าที่อยู่ที่นี่ไม่ได้รวมการส่งข้อมูลบิตต่ำสุด (บิตต่ำสุดที่ใช้เพื่อแสดงการดำเนินการอ่านและเขียน)บน MwbalancingSTC15 AD0 เชื่อมต่อกับ GND ดังนั้นที่อยู่ IIC ของ MPU-6050 คือ 0x68 (ไม่รวมบิตต่ำสุด)
เริ่มต้นอินเตอร์เฟส IIC
MPU-6050 ใช้ IIC ในการสื่อสารกับ STC15 ดังนั้นเราจึงต้องเริ่มต้นสายข้อมูล SDA และ SCL ที่เชื่อมต่อกับ MPU-6050 ก่อน
รีเซ็ต MPU-6050
ขั้นตอนนี้คืนค่าการลงทะเบียนทั้งหมดภายใน MPU-6050 เป็นค่าเริ่มต้นของพวกเขาซึ่งทำได้โดยการเขียน 1 ถึงบิต 7 ของการจัดการพลังงานลงทะเบียน 1 (0x6b)หลังจากรีเซ็ตการลงทะเบียนการจัดการพลังงาน 1 จะถูกกู้คืนเป็นค่าเริ่มต้น (0x40) และการลงทะเบียนนี้จะต้องถูกตั้งค่าเป็น 0x00 เพื่อปลุก MPU-6050 และนำไปสู่สถานะการทำงานปกติ
ตั้งค่าช่วงเต็มรูปแบบของเซ็นเซอร์ความเร็วเชิงมุม (Gyro) และเซ็นเซอร์เร่งความเร็ว
ในขั้นตอนนี้เราตั้งค่าช่วงเต็มรูปแบบ (FSR) ของเซ็นเซอร์สองตัวผ่านการลงทะเบียนการกำหนดค่า Gyroscope (0x1b) และการลงทะเบียนการกำหนดค่าเซ็นเซอร์การเร่งความเร็ว (0x1c) ตามลำดับโดยทั่วไปแล้วเราตั้งค่าช่วงเต็มรูปแบบของการหมุนวนเป็น± 2000DPS และช่วงแบบเต็มรูปแบบของ accelerometer เป็น± 2G
ตั้งค่าพารามิเตอร์อื่น ๆ
ที่นี่เราจำเป็นต้องกำหนดค่าพารามิเตอร์ต่อไปนี้: ปิดการขัดจังหวะปิดใช้งานอินเตอร์เฟส AUX I2C, ปิดการใช้งาน FIFO, ตั้งค่าอัตราการสุ่มตัวอย่างแบบไจโรสโคปและกำหนดค่าตัวกรองต่ำดิจิตอล (DLPF)เนื่องจากเราไม่ได้ใช้การขัดจังหวะเพื่ออ่านข้อมูลในบทนี้ฟังก์ชั่นขัดจังหวะจะต้องปิดในเวลาเดียวกันเนื่องจากเราไม่ได้ใช้อินเทอร์เฟซ AUX I2C เพื่อเชื่อมต่อเซ็นเซอร์ภายนอกอื่น ๆ เราจึงต้องปิดอินเทอร์เฟซนี้ด้วยฟังก์ชั่นเหล่านี้สามารถควบคุมได้ผ่านการลงทะเบียนเปิดใช้งานการลงทะเบียน (0x38) และการลงทะเบียนการควบคุมผู้ใช้ (0x6a)MPU-6050 สามารถใช้ FIFO เพื่อจัดเก็บข้อมูลเซ็นเซอร์ แต่เราไม่ได้ใช้ในบทนี้ดังนั้นช่อง FIFO ทั้งหมดจะต้องปิดสิ่งนี้สามารถควบคุมได้ผ่านการลงทะเบียน FIFO เปิดใช้งาน (0x23)โดยค่าเริ่มต้นค่าของการลงทะเบียนนี้คือ 0 (นั่นคือ FIFO ถูกปิดใช้งาน) ดังนั้นเราสามารถใช้ค่าเริ่มต้นโดยตรงอัตราการสุ่มตัวอย่างของไจโรสโคปถูกควบคุมโดยการลงทะเบียนอัตราการสุ่มตัวอย่าง (0x19)โดยปกติแล้วเราตั้งค่าอัตราการสุ่มตัวอย่างนี้เป็น 50 การกำหนดค่าของตัวกรองดิจิตอลต่ำผ่าน (DLPF) จะเสร็จสมบูรณ์ผ่านการลงทะเบียนการกำหนดค่า (0x1a)โดยทั่วไปแล้วเราจะตั้งค่า DLPF เป็นครึ่งแบนด์วิดท์เพื่อปรับสมดุลความแม่นยำของข้อมูลและความเร็วในการตอบสนอง
กำหนดค่าแหล่งนาฬิการะบบและเปิดใช้งานเซ็นเซอร์ความเร็วเชิงมุมและเซ็นเซอร์เร่งความเร็ว
การตั้งค่าของแหล่งนาฬิการะบบขึ้นอยู่กับการลงทะเบียนการจัดการพลังงาน 1 (0x6b) ซึ่งต่ำสุดสามบิตของการลงทะเบียนนี้จะกำหนดการเลือกแหล่งที่มาของนาฬิกาโดยค่าเริ่มต้นบิตทั้งสามนี้ถูกตั้งค่าเป็น 0 ซึ่งหมายความว่าระบบใช้ oscillator 8MHz ภายใน 8MHz เป็นแหล่งนาฬิกาอย่างไรก็ตามเพื่อปรับปรุงความแม่นยำของนาฬิกาเรามักจะตั้งค่าเป็น 1 และเลือก X-Axis Gyroscope PLL เป็นแหล่งนาฬิกานอกจากนี้การเปิดใช้งานเซ็นเซอร์ความเร็วเชิงมุมและเซ็นเซอร์เร่งความเร็วเป็นขั้นตอนสำคัญในกระบวนการเริ่มต้นการดำเนินการทั้งสองดำเนินการผ่านการลงทะเบียนการจัดการพลังงาน 2 (0x6c)เพียงตั้งค่าบิตที่สอดคล้องกันเป็น 0 เพื่อเปิดใช้งานเซ็นเซอร์ที่เกี่ยวข้องหลังจากทำตามขั้นตอนข้างต้น MPU-6050 สามารถป้อนสถานะการทำงานปกติการลงทะเบียนเหล่านั้นที่ไม่ได้ตั้งค่าเป็นพิเศษจะใช้ค่าเริ่มต้นที่ตั้งไว้ล่วงหน้าโดยระบบ
เซ็นเซอร์ไจโร
เซ็นเซอร์มีการติดตั้งไจโรด้านในซึ่งจะยังคงขนานกับทิศทางเริ่มต้นเนื่องจากเอฟเฟกต์ไจโรสโคปดังนั้นเราสามารถคำนวณทิศทางและมุมของการหมุนได้โดยการตรวจจับความเบี่ยงเบนของไจโรจากทิศทางเริ่มต้น
เซ็นเซอร์ accelerometer
เซ็นเซอร์ accelerometer เป็นอุปกรณ์ที่สามารถวัดความเร่งและทำงานตามหลักการของเอฟเฟกต์ piezoelectricในระหว่างการเร่งความเร็วเซ็นเซอร์วัดแรงเฉื่อยที่ใช้กับบล็อกมวลจากนั้นคำนวณค่าการเร่งความเร็วโดยใช้กฎข้อที่สองของนิวตัน
Digital Motion Processor (DMP)
DMP เป็นโมดูลการประมวลผลข้อมูลในชิป MPU6050 ที่มีอัลกอริทึมการกรอง Kalman ในตัวสำหรับการรับข้อมูลจาก Gyroscope และ Accelerometer เซ็นเซอร์และประมวลผล quaternions เอาต์พุตคุณลักษณะนี้ช่วยลดปริมาณงานของไมโครโปรเซสเซอร์ส่วนปลายได้อย่างมากและหลีกเลี่ยงการกรองที่น่าเบื่อและกระบวนการฟิวชั่นข้อมูล
หมายเหตุ:
Quaternions: Quaternions เป็นหมายเลข supercomplex ที่เรียบง่ายตัวเลขที่ซับซ้อนประกอบด้วยตัวเลขจริงรวมถึงหน่วยจินตนาการ I โดยที่ i^2 = -1
- ของเล่น
- โทรศัพท์มือถือและเกมพกพา
- คอนโทรลเลอร์เกมแบบเคลื่อนไหว
- เทคโนโลยี Blurfree ™ (สำหรับวิดีโอ/ภาพนิ่งรักษาภาพสั่นไหว)
- เทคโนโลยี AirSign ™ (เพื่อความปลอดภัย/การรับรองความถูกต้อง)
- InstantGesture™ iG™ Gesture Recognition
- Wearable Sensors for Health, Fitness and Sports
- เฟรมเวิร์กเกมและแอปพลิเคชันที่เปิดใช้งานการเคลื่อนไหว
- เทคโนโลยี MotionCommand ™ (สำหรับการตัดทอนท่าทาง)
- บริการตามสถานที่จุดสนใจและการคำนวณที่ตายแล้ว
- รีโมทคอนโทรล 3 มิติสำหรับ DTV ที่เชื่อมต่ออินเทอร์เน็ตและตั้งกล่องด้านบนหนู 3D
- เทคโนโลยี TouchAnywhere ™ (สำหรับ“ No Touch” UI Application Control/Navigation)
We can take the following ways to reduce the noise of MPU-6050.
ใช้เซ็นเซอร์สอบเทียบ
Calibrating the accelerometer and gyroscope of the MPU-6050 can eliminate the bias and error of the sensors themselves, thus reducing the effect of noise.กระบวนการสอบเทียบมักจะประกอบด้วยสองขั้นตอน: การสอบเทียบแบบคงที่และการสอบเทียบการเคลื่อนไหว
กระบวนการกรองฮาร์ดแวร์
การเพิ่มตัวเก็บประจุตัวกรองลงในสายไฟของ MPU-6050 สามารถลดผลกระทบของเสียงรบกวนจากแหล่งจ่ายไฟต่อเซ็นเซอร์ในระหว่างการจัดวาง PCB เราควรพยายามทำให้ MPU-6050 อยู่ห่างจากแหล่งสัญญาณรบกวนที่อาจเกิดขึ้นเช่นสายสัญญาณความถี่สูงและส่วนประกอบพลังงานสูง
การประมวลผลการกรองซอฟต์แวร์
หลังจากรวบรวมข้อมูลดิบจาก MPU-6050 เราสามารถเพิ่มลิงค์การกรองซอฟต์แวร์เพื่อประมวลผลข้อมูลเริ่มต้นล่วงหน้าเพื่อกำจัดสัญญาณรบกวนที่เกิดจากเสียงรบกวนวิธีการกรองซอฟต์แวร์ที่ใช้กันทั่วไป ได้แก่ การกรองเฉลี่ยการกรองค่ามัธยฐานการกรอง Kalman และอื่น ๆ
ใช้ตัวกรอง low-pass ภายใน
MPU-6050 มีตัวกรองผ่านดิจิตอลแบบดิจิตอลแบบบูรณาการภายในซึ่งสามารถใช้เพื่อลดเสียงรบกวนความถี่สูงโดยการตั้งค่าความถี่ cutoffโดยเฉพาะเราสามารถตั้งค่าความถี่ cutoff ของตัวกรองดิจิตอลโดยการปรับเปลี่ยนการลงทะเบียนการกำหนดค่าของ MPU-6050 เพื่อกำจัดเสียงรบกวนความถี่สูงที่เกิดจากการสุ่มตัวอย่าง A/D
The MPU-6050 is a six-axis accelerometer and gyroscope sensor that can be used to measure the motion and attitude of objects. The motion trajectory calculation based on MPU-6050 can be realized by the following steps:
The first step is to read the sensor data.We need to read the accelerometer and gyroscope data from the MPU-6050 sensors using appropriate drivers and library functions.ข้อมูลเหล่านี้มักจะส่งออกในรูปแบบดิจิตอลดังนั้นงานการแปลงและการสอบเทียบบางอย่างจำเป็นต้องแปลงเป็นการวัดจริงในหน่วยกายภาพ
The second step is to calculate the acceleration.First, we need to process the data from the accelerometer to derive the acceleration of the object in each axis.Subsequently, in order to calculate the velocity and displacement of the object in each axis, we need to integrate the acceleration data.เทคนิคการรวมเชิงตัวเลขเช่นวิธีการของออยเลอร์หรือวิธี Lunger-Kutta มักใช้ในกระบวนการนี้เพื่อให้แน่ใจว่าความถูกต้องของการคำนวณการกระจัด
The third step is to calculate the angular velocity. Using gyroscope data, the angular velocity of the object in each axis can be calculated. Again, this data needs to be calibrated and converted to obtain the angular velocity in actual physical units.
ขั้นตอนที่สี่คือการคำนวณการหมุนโดยการรวมข้อมูลความเร็วเชิงมุมมุมของการหมุนของวัตถุในแต่ละแกนสามารถคำนวณได้สิ่งนี้สามารถทำได้โดยใช้เทคนิคการรวมตัวเลขเช่นวิธีการของออยเลอร์หรือวิธี Longe-Kutta เพื่อคำนวณมุม
ขั้นตอนที่ห้าคือการรวมข้อมูลเรารวมข้อมูลจาก accelerometers และ gyroscopes เพื่อรับทัศนคติที่สมบูรณ์และข้อมูลตำแหน่งของวัตถุสิ่งนี้สามารถทำได้โดยใช้อัลกอริทึมเช่น Solver Attitude-based quaternion หรือตัวแก้มุมออยเลอร์
ขั้นตอนที่หกคือการมองเห็นผลลัพธ์เราแปลงวิถีการเคลื่อนที่ของวัตถุที่คำนวณได้เป็นชุดของจุดในระบบพิกัด 3 มิติและแสดงโดยใช้เครื่องมือสร้างภาพที่เหมาะสมเพื่อความเข้าใจที่เข้าใจง่ายมากขึ้นเกี่ยวกับวิถีการเคลื่อนที่ของวัตถุและการเปลี่ยนแปลงทัศนคติ
คำถามที่พบบ่อย [คำถามที่พบบ่อย]
1. MPU6050 มีความแม่นยำแค่ไหน?
ผลลัพธ์ที่ได้รับแสดงให้เห็นถึงความแม่นยำที่เพียงพอน้อยกว่า 1 % และความน่าเชื่อถือทำให้มั่นใจได้ว่าการวัดขนาดที่เหมาะสมของเพลาลิฟต์และมาตรฐานที่สูงของอุตสาหกรรมยก
2. วิธีการอ่านข้อมูลจาก MPU6050
ในการอ่านการลงทะเบียน MPU6050 ภายในอาจารย์จะส่งเงื่อนไขการเริ่มต้นตามด้วยที่อยู่ทาส I2C และบิตเขียนจากนั้นที่อยู่การลงทะเบียนที่จะอ่าน
3. ใช้ MPU6050 ที่ไหน?
ในการติดตามสุขภาพที่สวมใส่ได้อุปกรณ์ติดตามออกกำลังกายในโดรนและ quadcopters MPU6050 ใช้สำหรับการควบคุมตำแหน่งใช้ในการควบคุมแขนหุ่นยนต์อุปกรณ์ควบคุมท่าทางด้วยมือ
4. MPU6050 เป็น IMU หรือไม่?
บล็อกเซ็นเซอร์ MPU6050 IMU อ่านข้อมูลจากเซ็นเซอร์ MPU-6050 ที่เชื่อมต่อกับฮาร์ดแวร์การเร่งความเร็วของบล็อกเอาต์พุตอัตราเชิงมุมและอุณหภูมิตามแกนของเซ็นเซอร์
5. การประมวลผลของ MPU6050 คืออะไร?
นี่คือโปรเซสเซอร์ออนบอร์ดของ MPU6050 ที่รวมข้อมูลที่มาจาก accelerometer และ gyroscopeDMP เป็นกุญแจสำคัญในการใช้ MPU6050 และอธิบายรายละเอียดในภายหลังเช่นเดียวกับไมโครโปรเซสเซอร์ทั้งหมด DMP ต้องการเฟิร์มแวร์เพื่อทำงาน