الجيروسكوب هو متحسس يقيس السرعة الزاوية لدوران الجهاز حول ثلاثة محاور. وخلافًا لمقياس التسارع، الذي يقيس التسارع الخطي، يكتشف الجيروسكوب الدوران والاتجاه في الفضاء. وفقًا لـ STMicroelectronics, 2024، تحقق جيروسكوبات MEMS الحديثة دقة تصل إلى 0.01 درجة في الثانية، مما يسمح باستخدامها في الملاحة وتثبيت الصورة وتطبيقات الواقع المعزز.
النقاط الرئيسية
الجيروسكوب في الهاتف الذكي هو متحسس كهروميكانيكي دقيق (MEMS) يقيس السرعة الزاوية لدوران الجهاز. وخلافًا للجيروسكوبات الميكانيكية المستخدمة في الطيران، فإن جيروسكوب MEMS هو شريحة سيليكون بأبعاد 2×2×1 مم مركبة على لوحة أم الهاتف.
تستخدم الهواتف الذكية الحديثة حصريًا جيروسكوبات MEMS من النوع اهتزازي — tuning-fork و ring-design. ليس لها أجزاء دوارة، مما يضمن متانة تصل إلى 10 سنوات من التشغيل المتصل. أكبر المصنعين هم Bosch Sensortec (سلسلة BMI)، STMicroelectronics (سلسلتا L3G و A3G) و InvenSense (سلسلة ICM).
يمتلك جيروسكوب MEMS النموذجي نطاق قياس من ±125 إلى ±2000 °/ث، وتردد أخذ عينات يصل إلى 32 كيلوهرتز، واستهلاك تيار يبلغ 3–6 ملي أمبير. وفقًا لـ Bosch Sensortec BMI160 (2023)، يبلغ مستوى الضوضاء 0.007 °/ث/√هرتز عند نطاق ±125 °/ث — وهذا كافٍ لتتبع دقيق للدوران.
| المعلمة | القيمة |
|---|---|
| التقنية | MEMS (اهتزازي) |
| النطاق | ±125 — ±2000 °/ث |
| استهلاك الطاقة | 3–6 ملي أمبير |
| الحجم | 2×2×1 مم |
| الضوضاء | 0.007 °/ث/√هرتز |
يعتمد مبدأ عمل جيروسكوب MEMS على تأثير كوريوليس. داخل الشريحة توجد كتلة سيليكون تهتز بتردد محدد (15–30 كيلوهرتز). عندما يدور الجهاز، تؤثر قوة كوريوليس على الكتلة المهتزة، وتكون متناسبة مع السرعة الزاوية.
العناصر الرئيسية في جيروسكوب MEMS هي الأاقطاب المحركة التي تنشئ الاهتزازات والأاقطاب الحساسة التي تكتشف الإزاحة. وفقًا للبحث العلمي “MEMS Gyroscopes for Consumer Electronics” (IEEE, 2023)، يتضمن التصميم النموذجي 4—8 هياكل مشطية مرتبة بشكل متماثل حول الكتلة المركزية.
تنقل الجيروسكوبات الحديثة البيانات عبر ناقل I²C أو SPI. يستقبل وحدة التحكم في الهاتف قيم السرعة الزاوية على ثلاثة محاور: X (Pitch)، Y (Roll) و Z (Yaw). يقوم محول ADC المضمن بتحويل الإشارة السعية إلى قيم رقمية بدقة 16–24 بت. يصل معدل التحديث في أوضاع اللعب إلى 400 هرتز.
مقياس التسارع يقيس التسارع الخطي — تغير سرعة الجسم على طول المحاور. الجيروسكوب يقيس الدوران — معدل تغير الزاوية. هذه المتحسسات متكاملة: يوفر مقياس التسارع الاتجاه بالنسبة لمتجه الجاذبية، ولكنه لا يميز الإمالة عن الحركة الخطية. يتبع الجيروسكوب الدوران بشكل مستقل عن الجاذبية، ولكنه يتعرض للانحراف.
في التطبيقات الفعلية، يتم استخدام Sensor Fusion — خوارزمية تدمج بيانات الجيروسكوب ومقياس التسارع ومقياس المغناطيسية. يحسب مرشح ماهوني أو المرشح التكميلي كواترنيونات الاتجاه بدقة تصل إلى درجتين في الحالة الساكنة و 5 درجات في الحالة الديناميكية. يوفر Android المتحسس الافتراضي TYPE_ROTATION_VECTOR على مستوى الإطار.
val rotationVector = sensorManager
.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR)
val callback = object : SensorEventListener {
override fun onSensorChanged(event: SensorEvent) {
val quat = FloatArray(4)
SensorManager.getQuaternionFromVector(quat, event.values)
// quat[0..3] — كواترنيون الاتجاه
}
}
يوفر Android نوعين من متحسسات الجيروسكوب: TYPE_GYROSCOPE (معاير، بدون انحراف) و TYPE_GYROSCOPE_UNCALIBRATED (بيانات خام مع تقدير الانحراف). يتم الوصول إليها عبر SensorManager.getDefaultSensor(). تعاد البيانات بالراديان في الثانية (راد/ث).
تسجيل مستمع للجيروسكوب يتطلب تحديد تأخير: SENSOR_DELAY_GAME (20 مس) للألعاب، SENSOR_DELAY_UI (67 مس) لواجهة المستخدم، SENSOR_DELAY_FASTEST (0 مس) للحصول على أقصى تردد. بدون إلغاء التسجيل في onPause()، تفرغ البطارية خلال 2–3 ساعات.
class GyroActivity : AppCompatActivity() {
private lateinit var sensorManager: SensorManager
private var gyroscope: Sensor? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
sensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
gyroscope = sensorManager.getDefaultSensor(
Sensor.TYPE_GYROSCOPE
)
}
override fun onResume() {
super.onResume()
gyroscope?.let { sensor ->
sensorManager.registerListener(
this, sensor, SensorManager.SENSOR_DELAY_GAME
)
}
}
}
البيانات الخام من event.values[0..2] تتوافق مع السرعة الزاوية على المحاور X و Y و Z. للحصول على زاوية الدوران، يجب دمج السرعة الزاوية بمرور الوقت. عند تردد 50 هرتز، يبلغ خطأ الدمج حوالي درجة واحدة في الدقيقة — مقبول للألعاب ولكنه غير كافٍ للملاحة بدون تصحيح.
انحراف الصفر (bias drift) هو المشكلة الرئيسية في جيروسكوبات MEMS. حتى عند السكون، قد يظهر المتحسس سرعة زاوية غير صفرية (0.1–2 °/ث). السبب هو تغيرات درجة الحرارة والضغوط الميكانيكية في الهيكل السيليكوني. يقوم المصنعون بتعويض هذا التأثير على مستوى العتاد.
يقوم نظام Android بمعايرة الجيروسكوب تلقائيًا عند أول تشغيل أو عند تغير درجة الحرارة. تستغرق عملية المعايرة 10–30 ثانية ولا تتطلب تدخل المستخدم — يكفي وضع الهاتف على سطح ثابت. طريقة calibrate() غير متاحة على جميع الأجهزة. للمعايرة الإجبارية، يتم استخدام TYPE_GYROSCOPE_UNCALIBRATED للحصول على إزاحة الانحراف عبر event.values[3..5].
private fun handleUncalibratedGyro(event: SensorEvent) {
val rawX = event.values[0] // راد/ث دون معايرة
val biasX = event.values[3] // إزاحة المحور X
val calibratedX = rawX - biasX
applyCalibrationToFusion(
calibratedX,
event.values[1] - event.values[4],
event.values[2] - event.values[5]
)
}
يستخدم الجيروسكوب في عشرات السيناريوهات — من تثبيت الكاميرا إلى خوذ الواقع الافتراضي مثل Google Cardboard. يستخدم ARKit من Apple و ARCore من Google الجيروسكوب كمتحسس رئيسي لتتبع دوران الرأس. وفقًا لمواصفات Apple ARKit Technical Specification (2024)، يوفر الجيروسكوب بالإضافة إلى مقياس التسارع دقة تتبع تصل إلى 0.5 درجة.
خارج الإلكترونيات الاستهلاكية، تستخدم الجيروسكوبات في الروبوتيات والطائرات بدون طيار. تستخدم الروبوتات المتنقلة القائمة على Android Things و ROS (Robot Operating System) جيروسكوبات MEMS لتثبيت الحركة والاعتماد على قياس المسافة. وفقًا لدراسة IEEE “MEMS IMU in Robotics” (2024)، دقة تحديد موقع الروبوت المتنقل باستخدام الجيروسكوب أعلى بنحو 3–5 مرات من قياس مسافة العجلات وحدها، وخاصة عند الحركة على الأسطح الزلقة. في الطائرات الموجهة بدون طيار الاستهلاكية، يحافظ الجيروسكوب مع الباروميتر على ارتفاع الطيران بدقة 0.5 متر عند رياح تصل إلى 10 م/ث.
في تطبيقات الواقع المعزز، يعد الجيروسكوب المتحسس الرئيسي الذي يحدد موقع الأجسام الافتراضية بالنسبة للعالم الحقيقي. يستخدم Google ARCore الجيروسكوب لتتبع حركة الجهاز بتردد 1000 هرتز (عبر أخذ عينات داخلي، بشكل مستقل عن تردد API). تحقق ARKit من Apple دقة تحديد موقع تبلغ 0.5 درجة عند الحركة، وهو ما يكفي لتركيب الأثاث الافتراضي أو شخصيات اللعب على المشهد الحقيقي.
الجيل الجديد من IMU سداسية المحاور (InvenSense ICM-42688, 2024) يدمج الجيروسكوب ومقياس التسارع في شريحة واحدة باستهلاك 0.45 ملي أمبير في وضع الطاقة المنخفذة. ما زال تطوير مقياسات التدرج والجيروسكوبات الذرية للأجهزة المحمولة في مرحلة النموذج المخبري. من المتوقع ظهور جيروسكوبات MEMS التجارية بدقة 0.001 °/ث بحلول عام 2028.
الأسئلة الشائعة
يكتشف الجيروسكوب دوران الجهاز واتجاهه في الفضاء. بدونه، لن تكون وضع الواقع الافتراضي والدوران التلقائي بالإمالة وتثبيت الفيديو وتطبيقات الواقع المعزز ممكنة. لا يمكن للهواتف الحديثة العمل بدون جيروسكوب.
مقياس التسارع يقيس التسارع الخطي (الحركة والإمالة بالنسبة للجاذبية). يقيس الجيروسكوب السرعة الزاوية (الدوران). لا يميز مقياس التسارع دوران الجهاز عن حركته الخطية — يحل الجيروسكوب هذه المشكلة.
يستخدم Android المعايرة التلقائية. للمعايرة اليدوية، قم بتنزيل تطبيقات مثل “GPS Status & Toolbox” — حيث ترشدك لوضع الهاتف على سطح مستوٍ وإجراء المعايرة عبر TYPE_GYROSCOPE_UNCALIBRATED.
هذا هو انحراف الصفر — خاصية طبيعية لمتحسسات MEMS. حتى الجيروسكوبات الباهظة لديها إزاحة تبلغ 0.1–2 °/ث عند السكون. تقوم المعايرة بطرح هذه الإزاحة. إذا تجاوز الانحراف 5 °/ث، فالمتحسس معطل.
استخدم SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) وسجّل SensorEventListener. تصل البيانات بالراديان في الثانية على ثلاثة محاور. للألعاب، استخدم SENSOR_DELAY_GAME (20 مس)؛ للخلفية، استخدم SENSOR_DELAY_UI (67 مس).
الملخص
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.
اقرأ أيضًا