Gyroscope sa mga smartphone: ano ito, mga uri at prinsipyo ng trabaho

May-akda: IT Sectr Nai-publish: 2026-03-22 Oras ng pagbabasa: 9 min

Ang gyroscope ay isang sensor na sumusukat ng angular velocity ng pag-ikot ng device kaugnay ng tatlong axis. Hindi tulad ng accelerometer na nagtatala ng linear acceleration, tinutukoy ng gyroscope ang pag-ikot at oryentasyon sa espasyo. Ayon sa datos ng STMicroelectronics, 2024, ang mga modernong MEMS-gyroscope ay nagbibigay ng katumpakan hanggang 0.01 degrees bawat segundo, na nagpapahintulot sa paggamit ng mga ito sa nabigasyon, pagpapatatag ng imahe at AR application.

Mga Pangunahing Punto

  • Gyroscope — MEMS sensor na sumusukat ng angular velocity sa paligid ng tatlong axis (X, Y, Z) sa degrees bawat segundo.
  • Teknolohiya ng MEMS ay nagpapahintulot sa paglikha ng miniature gyroscope na may sukat na 2×2 mm na may konsumo ng kuryente na mas mababa sa 5 mA.
  • Android Sensor Framework ay nagbibigay ng API TYPE_GYROSCOPE at TYPE_GYROSCOPE_UNCALIBRATED para sa pag-access ng datos.
  • Pagkakalibrate ng gyroscope ay nagko-compensate ng zero drift — ang pangunahing error ng MEMS sensors.
  • 6-axis system (gyroscope + accelerometer) ay ginagamit sa ARKit, ARCore at game controllers.

Ano ang gyroscope sa telepono

Gyroscope sa smartphone ay isang microelectromechanical sensor (MEMS) na sumusukat ng angular velocity ng pag-ikot ng device. Hindi tulad ng mechanical gyroscope sa aviation, ang MEMS-gyroscope ay isang silicon chip na may sukat na 2×2×1 mm na naka-mount sa motherboard ng telepono.

Mga uri ng gyroscope sa mobile device

Sa modernong smartphone, tanging MEMS-gyroscope ng vibration type ang ginagamit — tuning-fork at ring-design. Wala silang mga umiikot na bahagi, na tinitiyak ang tibay hanggang 10 taon ng tuloy-tuloy na operasyon. Ang mga nangungunang tagagawa — Bosch Sensortec (BMI series), STMicroelectronics (L3G, A3G series) at InvenSense (ICM series).

Mga pangunahing katangian

Ang tipikal na MEMS-gyroscope ay may saklaw ng pagsukat mula ±125 hanggang ±2000 °/s, frequency ng sampling hanggang 32 kHz at konsumo ng kuryente na 3–6 mA. Ayon sa datos ng Bosch Sensortec BMI160 (2023), ang antas ng ingay ay 0.007 °/s/√Hz sa saklaw na ±125 °/s — sapat para sa tumpak na pagsubaybay ng pag-ikot.

ParameterHalaga
TeknolohiyaMEMS (vibration)
Saklaw±125 — ±2000 °/s
Konsumo3–6 mA
Sukat2×2×1 mm
Ingay0.007 °/s/√Hz

Paano gumagana ang MEMS-gyroscope

Ang prinsipyo ng operasyon ng MEMS-gyroscope ay nakabatay sa Coriolis effect. Sa loob ng chip ay may silicon mass na nag-o-oscillate sa isang tiyak na frequency (15–30 kHz). Kapag umiikot ang device, kumikilos ang Coriolis force na proporsyonal sa angular velocity sa oscillating mass.

Konstruksyon ng vibration gyroscope

Ang mga pangunahing elemento ng MEMS-gyroscope ay ang drive electrodes na lumilikha ng oscillations at ang sensitive electrodes na nagtatala ng deviation. Ayon sa pananaliksik na “MEMS Gyroscopes for Consumer Electronics” (IEEE, 2023), ang tipikal na konstruksyon ay may kasamang 4–8 comb structures na simetriko na nakapalibot sa central mass.

Digital interface

Ang mga modernong gyroscope ay nagpapadala ng datos sa pamamagitan ng I²C o SPI bus. Ang controller ng smartphone ay tumatanggap ng three-axis angular velocity values — para sa X (Pitch), Y (Roll) at Z (Yaw) axis. Ang built-in na ADC ay nagko-convert ng capacitive signal sa digital values na may resolution na 16–24 bits. Ang refresh rate sa game mode ay umaabot sa 400 Hz.

Pagkakaiba ng gyroscope at accelerometer

Accelerometer ay sumusukat ng linear acceleration — pagbabago ng bilis ng bagay sa kahabaan ng axis. Gyroscope ay sumusukat ng pag-ikot — bilis ng pagbabago ng anggulo. Ang mga sensor na ito ay komplementaryo: ang accelerometer ay nagbibigay ng oryentasyon kaugnay ng gravity vector, ngunit hindi nakikilala ang pagkiling mula sa linear movement. Ang gyroscope ay sumusubaybay ng pag-ikot nang independyente sa gravity, ngunit madaling kapitan ng drift.

Sensor Fusion — pagsasama ng datos

Sa totoong aplikasyon, ginagamit ang Sensor Fusion — algorithm na pinagsasama ang datos mula sa gyroscope, accelerometer at magnetometer. Ang Mahony filter o complementary filter ay nagkakalkula ng orientation quaternions na may katumpakan hanggang 2 degrees sa static at 5 degrees sa dynamic. Ang Android ay nagbibigay ng virtual sensor TYPE_ROTATION_VECTOR sa antas ng framework.

kotlin
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] — orientation quaternion
    }
}

Pagtatrabaho sa gyroscope sa pamamagitan ng Android API

Ang Android ay nagbibigay ng dalawang uri ng gyroscope sensors: TYPE_GYROSCOPE (naka-calibrate, walang drift) at TYPE_GYROSCOPE_UNCALIBRATED (raw data na may estimate ng drift). Ang access sa mga ito ay sa pamamagitan ng SensorManager.getDefaultSensor(). Ang datos ay ibinabalik sa rad/s — radians bawat segundo.

Halimbawa ng pagrehistro ng gyroscope

Pagrehistro ng listener ng gyroscope ay nangangailangan ng pagtukoy ng delay: SENSOR_DELAY_GAME (20 ms) para sa laro, SENSOR_DELAY_UI (67 ms) para sa interface, SENSOR_DELAY_FASTEST (0 ms) para sa maximum frequency. Kung walang pagkansela ng registration sa onPause(), ang baterya ay mauubos sa loob ng 2–3 oras.

kotlin
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
            )
        }
    }
}

Pagproseso ng datos ng gyroscope

Raw data mula sa event.values[0..2] ay tumutugma sa angular velocity para sa X, Y at Z. Para makuha ang anggulo ng pag-ikot, kailangan i-integrate ang angular velocity sa oras. Sa frequency na 50 Hz, ang integration error ay mga 1 degree bawat minuto — katanggap-tanggap para sa laro, ngunit hindi sapat para sa nabigasyon nang walang correction.

Pagkakalibrate at drift ng gyroscope

Zero drift (bias drift) — ang pangunahing problema ng MEMS-gyroscope. Kahit sa pahinga, ang sensor ay maaaring magpakita ng hindi zero angular velocity (0.1–2 °/s). Dahilan — pagbabago ng temperatura at mechanical stress sa silicon structure. Ang mga tagagawa ay nagko-compensate ng epektong ito sa hardware level.

  • Temperature drift — pagbabago ng offset kapag umiinit ang telepono mula 25 hanggang 60 °C. Na-compensate ng built-in temperature model.
  • Long-term drift — pagbabago ng characteristics sa loob ng 1–3 taon ng paggamit. Nangangailangan ng periodic calibration.
  • Angular random walk noise — ARW (Angle Random Walk). Nagpapakilala ng akumulasyon ng error sa panahon ng integration.

Pagkakalibrate sa Android

Ang Android system ay awtomatikong nag-calibrate ng gyroscope sa unang pag-on o kapag nagbago ang temperatura. Ang proseso ng calibration ay tumatagal ng 10–30 segundo at hindi nangangailangan ng interbensyon ng user — ilagay lang ang telepono sa hindi gumagalaw na ibabaw. Ang method na calibrate() ay hindi available sa lahat ng device. Para sa forced calibration, ginagamit ang TYPE_GYROSCOPE_UNCALIBRATED na may pagkuha ng bias offset sa pamamagitan ng event.values[3..5].

kotlin
private fun handleUncalibratedGyro(event: SensorEvent) {
    val rawX = event.values[0]    // rad/s walang calibration
    val biasX = event.values[3]     // X offset
    val calibratedX = rawX - biasX
    
    applyCalibrationToFusion(
        calibratedX,
        event.values[1] - event.values[4],
        event.values[2] - event.values[5]
    )
}

Paggamit ng gyroscope sa mobile applications

Ang gyroscope ay ginagamit sa dose-dosenang scenario — mula sa pagpapatatag ng camera hanggang sa VR headset Google Cardboard. Ang ARKit mula sa Apple at ARCore mula sa Google ay gumagamit ng gyroscope bilang pangunahing sensor para sa pagsubaybay ng pag-ikot ng ulo. Ayon sa Apple ARKit Technical Specification (2024), ang gyroscope kasama ng accelerometer ay nagbibigay ng tracking accuracy hanggang 0.5 degrees.

  • Pagpapatatag ng video — EIS (Electronic Image Stabilisation) ay gumagamit ng gyroscope para i-compensate ang panginginig ng camera. Ang algorithm ay nagco-correct ng frame batay sa angular velocity.
  • Game controllers — pag-ikot ng device para kontrolin ang sasakyan o karakter. Ang delay mula gyroscope papuntang screen ay 20–50 ms.
  • Navigation sa loob ng gusali — Pedestrian Dead Reckoning (PDR) ay nag-i-integrate ng gyroscope data para matukoy ang direksyon ng paggalaw nang walang GPS.
  • Fitness tracker — pagbilang ng mga pag-ikot at pagpihit sa ehersisyo. Tinutukoy ng modernong algorithm ang uri ng aktibidad na may 93% accuracy.

Industrial at scientific applications

Sa labas ng consumer electronics, ang gyroscope ay ginagamit sa robotics at drones. Ang mobile robots batay sa Android Things at ROS (Robot Operating System) ay gumagamit ng MEMS-gyroscope para sa pagpapatatag ng paggalaw at odometry. Ayon sa IEEE research na “MEMS IMU in Robotics” (2024), ang positioning accuracy ng mobile robot na may gyroscope ay 3–5 beses na mas mataas kaysa sa wheel odometry lang, lalo na sa paggalaw sa madulas na ibabaw. Sa consumer drones, ang gyroscope kasama ng barometer ay nagpapanatili ng flight altitude na may accuracy na 0.5 meters sa hangin hanggang 10 m/s.

AR at VR tracking

Para sa AR applications, ang gyroscope ang pangunahing sensor na tumutukoy sa posisyon ng virtual objects kaugnay ng totoong mundo. Ang Google ARCore ay gumagamit ng gyroscope para subaybayan ang paggalaw ng device na may frequency na 1000 Hz (sa pamamagitan ng internal sampling, independyente sa API frequency). Ang ARKit mula sa Apple ay umaabot sa positioning accuracy na 0.5 degrees sa paggalaw, sapat para sa paglalagay ng virtual furniture o game characters sa totoong scene.

Kinabukasan ng gyroscope

Ang bagong henerasyon ng 6-axis IMU (InvenSense ICM-42688, 2024) ay pinagsasama ang gyroscope at accelerometer sa iisang chip na may konsumo na 0.45 mA sa low power mode. Ang pag-develop ng gradiometers at atomic gyroscopes para sa mobile device ay nananatili sa yugto ng laboratory prototypes. Ang industrial samples ng MEMS-gyroscope na may accuracy na 0.001 °/s ay inaasahan sa 2028.

Mga Madalas Itanong

Bakit kailangan ng gyroscope sa telepono?

Tinutukoy ng gyroscope ang pag-ikot at oryentasyon ng device sa espasyo. Kung wala ito, hindi posible ang VR mode, awtomatikong pag-ikot ng screen sa pagtagilid, pagpapatatag ng video at AR applications. Ang modernong telepono ay hindi maaaring gumana nang walang gyroscope.

Ano ang pagkakaiba ng gyroscope sa accelerometer?

Accelerometer ay sumusukat ng linear acceleration (paggalaw at pagkiling kaugnay ng gravity). Gyroscope ay sumusukat ng angular velocity (pag-ikot). Hindi nakikilala ng accelerometer ang pag-ikot ng device mula sa linear na paggalaw nito — ang gyroscope ay lumulutas ng problemang ito.

Maaari bang i-calibrate ang gyroscope sa telepono?

Sa Android, ginagamit ang awtomatikong calibration. Para sa manual calibration, mag-download ng mga app tulad ng “GPS Status & Toolbox” — iminumungkahi ng mga ito na ilagay ang telepono sa patag na ibabaw at gawin ang calibration sa pamamagitan ng TYPE_GYROSCOPE_UNCALIBRATED.

Bakit nagpapakita ng hindi zero values ang gyroscope sa pahinga?

Ito ay zero drift — natural na katangian ng MEMS sensors. Kahit mamahaling gyroscope ay may offset na 0.1–2 °/s sa pahinga. Ibinabawas ng calibration ang offset na ito. Kung ang drift ay lumampas sa 5 °/s — sira ang sensor.

Paano makakuha ng gyroscope data sa Android?

Gamitin ang SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) at magrehistro ng SensorEventListener. Ang datos ay dumarating sa rad/s sa tatlong axis. Para sa laro, gamitin ang SENSOR_DELAY_GAME (20 ms), para sa background — SENSOR_DELAY_UI (67 ms).

Buod

  • Gyroscope — MEMS sensor na sumusukat ng angular velocity ng pag-ikot ng smartphone sa paligid ng tatlong axis.
  • MEMS technology ay gumagamit ng Coriolis effect sa oscillating silicon mass para sukatin ang pag-ikot.
  • Gyroscope at accelerometer — komplementaryong sensor: ang una ay sumusukat ng pag-ikot, ang pangalawa — linear acceleration.
  • Android API ay nagbibigay ng TYPE_GYROSCOPE at TYPE_GYROSCOPE_UNCALIBRATED na may datos sa rad/s.
  • Calibration ay nagko-compensate ng zero drift — pangunahing error ng MEMS-gyroscope na may tipikal na offset na 0.1–2 °/s.
  • Paggamit ay kinabibilangan ng AR/VR, pagpapatatag ng video, game controllers at PDR navigation.
  • Modernong 6-axis IMU ay pinagsasama ang gyroscope at accelerometer sa iisang chip na may konsumo mula 0.45 mA.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din