PIC Lesson: DC Motor

August 30th, 2010  Posted at   Lesson PIC
, arrow   |   80 Commentsarrow

DC Motor adalah motor elektrik yang menggunakan arus terus (DC – Direct Current). DC Motor mempunyai dua terminal sahaja. Motor akan berpusing apabila dua terminal tersebut diberikan voltan mengikut keperluannya misalnya 12V. Arah pusingannya pula bergantung kepada polarity bekalan.

Bagi mengawal DC Motor menggunakan microcontroller, H-bridge driver digunakan. H-bridge driver contohnya L293 atau L298. L298 adalah untuk kegunaan arus motor yang lebih tinggi. Dengan driver ini, terdapat dua input yang membolehkan mengawal arah pusingan motor sama ada pusingan jam ataupun lawan pusingan jam. Juga terdapat input enable yang membolehkan mengawal kelajuan motor dengan memberikan PWM kepada pin tersebut. Di bawah adalah litar DC Motor menggunakan L298.

Kelajuan motor diukur dalam revolutions perminute (rpm) ataupun bilangan pusingan dalam satu minit. Bagi mengira pusingan per minit, encoder bersama dengan infrared sensor digunakan. Encoder adalah plate yang mempunyai bilah yang diletakkan supaya berpusing bersama shaft motor. Infrared akan membaca bilah-bilah tersebut untuk menghasilkan pulse. Ianya bergantung kepada bilangan bilah encoder tersebut.

Misalnya, saya menggunakan encoder yang mempunyai 8 bilah. Oleh itu, 1 pusingan motor akan menghasilkan 8 pulse. Bagaimana ingin menukarkan kepada unit rpm.

Di dalam program PIC, tetapkan jangka masa untuk mengira bilangan pulse. Misalnya dalam jangka masa 0.5 saat. Di dalam masa 0.5s, apabila motor berpusing akan menghasilkan x bilangan pulse. Pengiraan rpm adalah seperti rumus di bawah.

Berikut adalah videonya.

PIC Source Code

80 Responses to “PIC Lesson: DC Motor”

  1. aina says:

    salam..nak tanya mcm mana kalau kita nak buat motor tu dlm putaran 90° ulang alik dlm progamming tu kena tambah apa and sya guna pic18

  2. afiq says:

    salam….nak mohon copy sebagai rujukan

  3. atikah says:

    minta izin copy :)

  4. john says:

    salam…nk tnye…formula ni boleh gune dlm arduino x??kalo leh cmne care nk tulis dlm program jz utk rumus shj

  5. khairul says:

    okey abang sharul terima kasih, saya ada satu lagi soalan macam mana abang bt lcd dispaly baca speed dc mator adakah bardasarkan rumus rpm yang abang bg kt pic lesson ini.

  6. khairul says:

    abg shah saya nak tanye soalan boleh x kelajuan speed motor tu diadjust semula sebagai contoh apabila pemberat diletakkan di encoder n menyebabkan kelajuan motor berkurang, so saya nak speed selepas pemberat diletak mantain mengikut speed asal sama sebelum pemberat diletakkan.. arap abang shah dapat bantu.

  7. wan raimi says:

    assalammualaikum abang shah sy pelajar tahun akhir sebuah university di malaysia, boleh x klo saya nak tgk cooding pic untuk project pic dc motor abg ini serta schematic project ini sebb project sy ad related dengan project ini cume bezanya sy mengunakan can-bus network untuk menghantar maklumat tentang kelajuan speed motor ini… jika ad abg ad kenakan bayaran saya snggup bayar yang termampu..

  8. husnina says:

    assalamualaikum, saya nak tanya, en shah pndai tak nak olah sesuatu benda?contohnya car alarm system? saya nak mintak bantuan

  9. zaha says:

    salam nk tny .. kgunaan motor dc ni ape ?? saya xfaham sangat .. dan sesuai untuk membuat mesin apa ?

  10. fizi says:

    Salam. Nak tnya, kena dc motor backward xfunction bila sambung menggunakan timer relay. example timer relay jenama anv-h3m-c. dc motor hnya boleh forward, tetapi bila timing foward habis, dc motor xboleh backward. dc motor repeat forward.

Leave a Reply

What is 14 + 5 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)