PIC Lesson: Servo Motor

Servo motor adalah alat electromechanical. Ia adalah sebuah motor yang mempunyai feedback loop. Oleh itu ia sebuah motor yang boleh dikawal posisi dan kelajuannya tanpa feedback kepada microcontroller. Servo motor hanya berputar dalam lingkungan sudutnya sahaja, contohnya hanya boleh berputar pada 1800.

Servo motor mempunyai tiga wayar. Kebiasaannya wayar merah adalah supply positif, wayar hitam adalah ground manakala wayar ketiga adalah signal daripada microcontroller. Wayar signal mempunyai beberapa standard warna iaitu warna putih, kuning atau oren.

Servo motor bergerak mengikut pulse signal. Signal ke servo adalah berbentuk PWM dengan frequency lebih kurang 50Hz iaitu masa bagi satu cycle adalah 20mS. Posisi armature servo motor bergantung pada duty cycle PWM tersebut. Dengan mengubah-ubah duty cycle, servo motor akan bergerak atau berputar. Dengan ini juga, kelajuannya boleh di kawal. Contoh signal untuk menggerakkan servo motor berputar mengikut arah jam atau mengikut arah lawan jam seperti diagram di bawah.

Walaubagaimanapun, untuk memprogram servo, tidak boleh menggunakan PWM Module dalam PIC kerana PWM yang diperlukan adalah frekuensi rendah. Oleh itu, PWM boleh dihasilkan menggunakan counter di dalam timer interrupt. Kemudian, hanya perlu menetapkan nilai posisi servo tersebut.

Berikut adalah skematik untuk menggerakkan servo mnggunakan input analog.

Bagi interface menggunakan Arduino boleh rujuk Arduino Lesson: Servo Motor, menggunakan ESP32 boleh rujuk ESP32 Lesson: Servo Motor dan menggunakan Raspberry Pi boleh rujuk Raspberry Pi Lesson: Servo Motor.

Berikut adalah video demo mengawal Servo Motor melalui Variable Resistor.

PIC Source Code

57 Replies to “PIC Lesson: Servo Motor”

  1. Hello,

    please could you show me where I can download the source code and schematic for this project. I can not find the download link.

    Thank you in advance

    Sam

  2. slm, camna nak buat coading servo ramping? untuk slow dan lajukan RC servo.. terima kasih

  3. salam sy nie baru kenal motor…untuk projek sy kene gune servo motor…bleh trangkn x pasal unit speed(sec/deg) ngn torque (kg.m)….contohnye Speed (sec/60deg): 0.16/4.8V, 0.14/6.0V
    ngn Torque (Kg-cm): 3.5/4.8V, 4.5/6.0V (Maximum 6.0V)…minta maaf sy mmg xfaham..minta tlg sgt2

  4. salam, sy nie bru jew bergiat dalam bidang elektronik…boleh x bg tau sec/60deg ngn kg-m nie mcm ne…
    contoh nye Speed (sec/60deg): 0.16/4.8V, 0.14/6.0V ngn Torque (Kg-m): 3.5/4.8V, 4.5/6.0V (Maximum 6.0V)…

    terima kasih

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.