SL.pro
المدونة · · قراءة 9 دقائق

كيف تعمل تطبيقات ميزان الاستواء: شرح مقاييس التسارع في الهاتف

يعرف هاتفك أين اتجاه الأسفل لأنه يحمل مستشعرًا صغيرًا اسمه مقياس تسارع MEMS. يقيس هذا المستشعر كيف تشد الجاذبية على الهاتف في ثلاثة اتجاهات في وقت واحد. يقرأ تطبيق ميزان الاستواء هذه الأرقام الثلاثة، ويجري القليل من علم المثلثات، ثم يعرض لك زاوية. ويفعل ذلك مئات المرات في الثانية، داخل شريحة تكاد لا تراها بالعين المجردة. يشرح هذا المقال ما الذي يحدث فعلًا.

النقاط الرئيسية
  • يقيس مقياس التسارع كيف تتوزع الجاذبية على ثلاثة محاور. وهو لا يقيس الحركة حين يكون الهاتف ساكنًا.
  • تُحسب زاويتا الميل (pitch) والدوران (roll) من صيغ arctan المطبقة على قراءات الجاذبية الثلاث.
  • يمرر Spirit Level Pro القراءات الخام عبر متوسط متحرك أسي (alpha=0.15) حتى لا ترتجف الفقاعة.
  • تنجرف مستشعرات MEMS مع درجة الحرارة، لذا عايِر في المكان الذي تعمل فيه.
  • للهاتف الساكن الملامس لسطح، يقوم مقياس التسارع بالمهمة كاملة. ولا تحتاج إلى مقياس الدوران.
Close-up macro photo of a Kionix MEMS tri-axis accelerometer chip from a mobile device
شريحة مقياس التسارع MEMS داخل هاتفك أصغر من حبة أرز، ومع ذلك تقيس الجاذبية بدقة.

ما هو مقياس تسارع MEMS؟

MEMS اختصار للأنظمة الكهروميكانيكية الدقيقة (Micro-Electro-Mechanical Systems). عنصر الاستشعار داخل مقياس تسارع الهاتف صغير جدًا، بضع مئات من الميكرونات في عرضه، أصغر من حبة ملح. يجلس على نفس شريحة السيليكون التي تحمل إلكترونيات الشرائح العادية، ويُصنع بالطريقة نفسها. لهذا السبب تكون هذه المستشعرات رخيصة وتوجد في كل هاتف تقريبًا.

الآلية بسيطة متى تصورتها. تتعلق كتلة دقيقة على نوابض سيليكون محفورة في الشريحة. حين تميل الشريحة، تشد الجاذبية الكتلة قليلًا بعيدًا عن مركزها. تغير هذه الحركة الفجوة بين أصابع معدنية على شكل مشط، وتغيّر الفجوة يغيّر السعة الكهربائية بينها. تقرأ الشريحة هذا التغير وتحوله إلى رقم تسارع، مقيسًا بوحدة g.

وهنا الجزء الذي يجعل ميزان الاستواء ممكنًا. حين يكون الهاتف ساكنًا، لا يقرأ مقياس التسارع الحركة. بل يقرأ كم من الجاذبية يشد على كل محور من محاوره الثلاثة. الجاذبية قوة ثابتة معروفة. وحين تعرف كيف تتوزع بين المحاور الثلاثة، يمكنك أن تحسب بالضبط كيف يميل الهاتف.

كيف يقيس مقياس تسارع ثلاثي المحاور الميل؟

يمنح مقياس التسارع ثلاثي المحاور الهاتفَ مجموعته الخاصة من الاتجاهات: يمتد X من اليسار إلى اليمين، ويمتد Y من الأعلى إلى الأسفل، ويمتد Z من الأمام إلى الخلف. ضع الهاتف مسطحًا على طاولة، فتشد الجاذبية بالكامل تقريبًا على طول Z، فيقرأ Z نحو 9.81 m/s² ويقرأ X وY قرب الصفر. أمِل الهاتف فتتحرك الجاذبية، أقل على Z وأكثر على X وY، بنسبة الزاوية.

تحويل هذه القراءات الثلاث إلى زوايا هو علم مثلثات أساسي. الميل (pitch) هو الإمالة من الأمام إلى الخلف، والدوران (roll) هو الإمالة من اليسار إلى اليمين، وكلاهما يأتي من الظل العكسي:

Pitch = arctan( Y / sqrt(X² + Z²) ) Roll = arctan( X / sqrt(Y² + Z²) )

هذان السطران هما نواة الحساب بأكملها في تطبيق ميزان الاستواء. أدخِل القيم الثلاث الخام، وشغّل العملية الحسابية، فتحصل على الميل والدوران بالراديان. اضرب في 180/π لتحصل على الدرجات. هذا هو الرقم الذي تراه على شاشتك.

قد تتساءل لماذا يستعمل المقام الجذر التربيعي للمحورين الآخرين بدل محور واحد فقط. السبب أنه يُبقي القراءة مستقرة عبر دورة كاملة. لو قسمت على محور واحد، لانهار الحساب قرب الوضع العمودي، لأن ذلك المحور يهبط إلى الصفر فينتهي بك الأمر تقسم على شيء يكاد يكون معدومًا. استعمال المقدار المجموع للمحورين الآخرين يتجنب ذلك.

Freescale Semiconductor 3-axis MEMS accelerometer breakout board on white background
يقيس مقياس تسارع ثلاثي المحاور شدَّ الجاذبية على محاور X وY وZ في وقت واحد.
شاهد الفيزياء تعمل في الوقت الحقيقي

يعرض Spirit Level Pro زاويتي الميل والدوران مباشرةً مع تنعيم EMA، وخمسة إعدادات تسامح مسبقة، ومعايرة بلمسة واحدة. بلا أي تنزيل.

جرب Spirit Level Pro مجانًا

لماذا تكون بيانات المستشعر الخام مليئة بالضوضاء؟

يتقلب خرج مقياس التسارع الخام أكثر مما تتوقع. حتى الهاتف الساكن تمامًا يُظهر اهتزازات صغيرة في قراءاته. بعضها ضوضاء كهربائية في المستشعر نفسه، وبعضها اهتزاز يصل عبر السطح، وبعضها خطأ تقريب حين تُحوَّل الإشارة التناظرية إلى أرقام. اعرض هذا التدفق الخام على الشاشة فترتعش الفقاعة بلا توقف، وهذا عديم الفائدة في العمل الدقيق.

تأتي الضوضاء من مصادر قليلة. الضوضاء الحرارية تذبذب كهربائي عشوائي ناتج عن الحرارة. لا يمكنك إزالتها، وهي تحدد أدنى مستوى ممكن لهدوء المستشعر. وضوضاء الاهتزاز تأتي من محيطك: ضاغط ثلاجة، وقع أقدام، مرور خارج البيت. ونقطة الصفر في المستشعر تنجرف ببطء من تلقاء نفسها مع الوقت. ويحتاج كل مصدر منها إلى علاج مختلف.

الحل البرمجي المعتاد هو مرشح تمرير منخفض. يسمح بمرور التغيرات البطيئة، مثل الميل الحقيقي، ويكبح السريعة، مثل الاهتزاز. والطريقة الشائعة لذلك هي المتوسط المتحرك الأسي، أو EMA. تُحسب كل قراءة جديدة بجزء صغير، هو alpha، وتُحمل البقية من القيمة المرشَّحة السابقة:

filtered = alpha × new_reading + (1 - alpha) × previous_filtered

يستعمل Spirit Level Pro متوسطًا أسيًا بقيمة alpha=0.15. استقررنا على هذا الرقم بعد تجربة مجموعة من القيم يدويًا. عند alpha=0.05 كانت القراءة ناعمة كالزجاج لكنها بطيئة، وكانت الفقاعة تتأخر عن الهاتف حين تحركه. وعند alpha=0.3 كانت تواكب الحركة جيدًا لكنها ترتعش بما يكفي ليصعب التقاط قراءة دقيقة. وقيمة alpha=0.15 تقع في المنتصف. تبدو الفقاعة حية دون أن تبدو متوترة.

المقايضة: قيمة alpha أعلى تجعل الشاشة أسرع في متابعة الميل الحقيقي، لكنها تسمح كذلك بمرور اهتزاز أكثر. وقيمة alpha أقل تنعّم بقوة أكبر لكنها تضيف تأخيرًا. وتوازن قيمة alpha=0.15 بين الأمرين وتستقر خلال نحو 150ms.

ما دور مقياس الدوران؟

يقيس مقياس الدوران كم يدور الهاتف بسرعة، بالدرجات في الثانية. وهو لا يقيس الاتجاه الذي يشير إليه الهاتف. وهذا الفرق مهم. فمقياس الدوران وحده لا يستطيع أن يخبرك إن كان الهاتف مستويًا. إنه يعرف فقط إن كان يدور وبأي سرعة. أما للحصول على قراءة استواء والهاتف ساكن، فلدى مقياس التسارع ما تحتاجه.

يكتسب مقياس الدوران قيمته حين يكون الهاتف متحركًا، عبر دمج المستشعرات. تقرأ مقاييس التسارع الميل الساكن جيدًا لكنها تبطؤ وتزداد ضوضاء أثناء الحركة السريعة. وتتتبع مقاييس الدوران الدوران السريع جيدًا لكنها تنجرف، لأن أخطاءها الصغيرة تتراكم مع الوقت. ويمزج مرشح تكميلي أو مرشح كالمان بينهما: يتولى مقياس الدوران الحركة السريعة، ويعيد مقياس التسارع القراءة بعيدة المدى إلى الصواب.

تتجاوز معظم تطبيقات ميزان الاستواء، ومنها Spirit Level Pro، دمج المستشعرات لأن المهمة ساكنة. تضع الهاتف، فيستقر، فتقرأ الزاوية. ويؤدي مقياس التسارع ذلك وحده على ما يرام. يهم دمج المستشعرات أكثر حين يكون شيء في الطيران، مثل طائرة مسيّرة تتبع حركتها، لا حين تفحص رفًا.

لماذا المعايرة بهذه الأهمية؟

يخرج كل مستشعر MEMS من المصنع بإزاحة صغيرة مدمجة. إنها انحياز يُضبط أثناء التصنيع، وهو نفسه في كل قراءة: مقدار ثابت، في اتجاه ثابت. لذا قد تقرأ الشريحة درجة أو درجتين بعيدًا عن الصواب حتى حين يكون الهاتف مستويًا فعلًا. وهذا هو أكبر سبب منفرد يجعل تطبيق ميزان الاستواء يبدو خاطئًا لأول وهلة.

تصلح المعايرة هذا بقياس تلك الإزاحة على سطح تثق أنه مستوٍ، ثم تخزينها. يحفظ Spirit Level Pro القيم في localStorage تحت calibrationPitch وcalibrationRoll. ومن تلك اللحظة، تطرح كل قراءة هذين الرقمين المخزنين قبل أن تصل إلى الشاشة. فتختفي الإزاحة.

الفرق كبير. تجاهل المعايرة، فهاتف بانحياز 1.5° يقرأ 1.5° خطأً في كل شيء. قد يعرض 0.0° وهو يجلس على منحدر حقيقي مقداره 1.5°. عايِر الهاتف نفسه فيهبط الخطأ إلى بضعة أعشار الدرجة. وهذا أكبر مكسب دقة منفرد يمكنك الحصول عليه، ولا يكلفك إلا ثوانٍ قليلة.

كيف تؤثر درجة الحرارة في الدقة؟

تتفاعل مستشعرات MEMS مع درجة الحرارة. تتمدد نوابض السيليكون التي تحمل كتلة الإثبات وتتقلص حين تسخن الشريحة وتبرد، فتزيح نقطة الصفر. لذا انقل الهاتف من سيارة دافئة إلى مرآب بارد فتنجرف القراءة قليلًا قبل أن يستقر المستشعر على درجة الحرارة الجديدة. ليست إزاحة كبيرة، لكنها حقيقية.

الخلاصة العملية بسيطة: عايِر عند درجة الحرارة التي تنوي العمل عندها. المعايرة التي تجري في مكتب دافئ لن تصمد كاملةً في مرآب بارد. ولا داعي أن تشغل بالك بهذا في كل مهمة. فلتعليق الصور أو فحص رف، الانجراف أصغر من أن يُرى. أما للعمل الدقيق ضمن بضعة أعشار الدرجة، فامنح الهاتف دقيقة أو دقيقتين ليستقر بعد تغيّر كبير في درجة الحرارة، ثم عايِر.

Spirit level mounted on a camera showing how angular measurement works
تعمل عدة مستشعرات معًا لتحديد اتجاه الجهاز في ثلاثة أبعاد.

iPhone مقابل Android: هل عتاد المستشعر مختلف؟

نعم، ويظهر ذلك في إحساس التطبيق. تبني Apple منظومة الحركة الخاصة بها. فأجهزة iPhone من 6s فصاعدًا تحمل معالجًا مساعدًا للحركة من Apple يتعامل مع بيانات المستشعر بمعزل عن المعالج الرئيسي. وتعتمد هواتف Samsung Galaxy الرائدة على قطع من STMicroelectronics تضع مقياس تسارع ثلاثي المحاور ومقياس دوران ثلاثي المحاور على قالب واحد. وقد استعملت هواتف Google Pixel مستشعرات من Bosch وTDK InvenSense، تبعًا للسنة.

بعد المعايرة، يخرج iPhone رائد وAndroid رائد متقاربين تقريبًا. الفجوة التي تهم فعلًا هي بين الرائد وAndroid الاقتصادي. تستعمل الهواتف الاقتصادية مستشعرات MEMS أرخص بدقة أقل، وخرجها الخام أكثر ضوضاء. ومع ذلك تقرّبها المعايرة كثيرًا، والنتيجة كافية لمعظم أعمال الأشغال المنزلية.

ما يميز iPhone في تطبيق ميزان الاستواء ليس مقياس التسارع بقدر ما هو ذلك المعالج المساعد للحركة. فهو يظل يجمع بيانات المستشعر بمعدل عالٍ حتى حين لا يكون التطبيق في الواجهة، فيمنح مرشح التنعيم عينات أكثر ليعمل عليها. وهذا جزء كبير من سبب شعورك بسلاسة أجهزة iPhone هنا، حتى في مواجهة هواتف Android بمستشعرات جيدة على الورق مثلها.

الأسئلة الشائعة

كيف تعمل تطبيقات ميزان الاستواء على الهاتف؟

تقرأ مقياس تسارع MEMS في الهاتف، الذي يقيس كيف تشد الجاذبية على ثلاثة محاور (X وY وZ). أمِل الهاتف فتتحرك الجاذبية بين تلك المحاور. يشغّل التطبيق صيغ arctan ليحصل على الميل والدوران، وينعّم النتيجة ليهدّئ ضوضاء المستشعر، ويعرضها كفقاعة أو رقم. وتجري العملية كلها مئات المرات في الثانية.

ما مدى دقة مقياس تسارع الهاتف لاستخدامه ميزان استواء؟

يقرأ الهاتف الرائد المُعايَر ضمن بضعة أعشار الدرجة. وتقرأ هواتف Android الاقتصادية أسوأ من ذلك بلا معايرة، لأن مستشعراتها أرخص وتتفاوت أكثر بين الوحدات. والعامل الأكبر منفردًا هو المعايرة: فهي تزيل إزاحة المصنع وتقرّب أي هاتف تقريبًا. ولمعظم أعمال الأشغال المنزلية والحرف، الهاتف متوسط الفئة المُعايَر دقيق بما يكفي.

هل يستخدم تطبيق ميزان الاستواء مقياس الدوران؟

للهاتف الساكن، لا. يعطيك مقياس التسارع زاوية الميل وحده. يقيس مقياس الدوران سرعة الدوران، لا الموضع، فلا يستطيع أن يخبرك إن كان الهاتف مستويًا، بل كم يدور بسرعة فقط. تمزج بعض التطبيقات المستشعرين لقراءات أنعم أثناء الحركة، لكن للضغط على الهاتف ضد جدار وقراءة الزاوية، يؤدي مقياس التسارع المهمة كاملة.

لماذا يقرأ تطبيق ميزان الاستواء لديّ خطأً بسيطًا حتى على سطح مستوٍ؟

عادةً السبب إزاحة المصنع. لكل شريحة MEMS انحياز صغير مدمج يجعلها تقرأ قيمة غير صفرية حتى حين يكون الهاتف مستويًا. المعايرة على سطح تثق به تزيله. أسباب أخرى هي انجراف درجة الحرارة، أو علبة هاتف ترفع حافة واحدة عن السطح، أو غبار تحت الهاتف. والمعايرة على طاولة زجاجية نظيفة بعد أي تغير كبير في درجة الحرارة تعالج معظم ذلك.

الصورة الكاملة

تعمل تطبيقات ميزان الاستواء لأن الفيزياء وراءها موثوقة. الجاذبية ثابتة، ومقياس التسارع يقيسها طوال الوقت، وعلم المثلثات يحوّل ثلاثة أرقام إلى زاوية. المسار من عنصر الاستشعار إلى الفقاعة رياضياتٌ ثابتة على طول الطريق. لا تخمين فيه.

ما يجعل تطبيق ميزان استواء أفضل من آخر ليس العتاد. فكل هاتف رائد يأتي أصلًا بمستشعرات أكثر من كافية. الفرق في البرمجيات: كم يُصفَّى التدفق الخام جيدًا، وكيف تُخزَّن المعايرة وتُطبَّق، وكيف تتوافق إعدادات التسامح المسبقة مع الأعمال الحقيقية. أتقِن هذا فتصمد شريحة MEMS رخيصة في وجه أدوات مخصصة تكلف أضعافًا أكثر.

ومعرفة كيف يعمل المستشعر تجعلك أمهر في استعماله. عايِر عند درجة حرارة العمل. انزع العلبة للقراءات الدقيقة. اترك الرقم يستقر لثانية قبل أن تثق به. تأتي كل عادة من هذه مباشرةً من فهم ما يفعله العتاد.

جرب Spirit Level Pro مجانًا

يعمل على أي هاتف أو جهاز لوحي. لا يتطلب تنزيلًا. ميزات Pro من 10 دولار لمرة واحدة.

افتح Spirit Level Pro

لا حساب مطلوب · يعمل بدون اتصال · 20 لغة