Friday, September 25, 2015

How to Control DVD/CD ROM Driver Stepper Mortor.

How to Control DVD/CD ROM Driver Stepper Mortor.


මේ ලිපියෙන් ඔබව දැනුවත් කරන්නේ CD හෝ DVD දාවක වල තිබෙන stepper motor එකක් Arduino යොදාගෙන පාලනය කරන
ආකාරයයි. 









මේ සදහා ඔබට පහත දැක්වෙන උපාoග අවශ්‍ය වෙනවා.

Arduino UNO
CD/DVD ROM Driver Stepper Motor
L298 Dual H-Bridge Motor Driver ( for homemade version :  http://pahan01.blogspot.com/2015/08/homemade-h-bridge-motor-driver-for.html?m=1 )
Bread Board
Jumper Wires
Your PC
Arduino IDE
Circuit Wires
Lead Wire & Soldering Iron
A piece of insulation tape
Screw driver
External 5V / 0.6A Power Supply unit

මුලින්ම බලමු මේ සදහා අවශ්‍ය stepper motor එක ලබාගන්නා ආකාරය. භාවිතා නොකරන CD ROM Driver එකකින් හෝ DVD ROM Driver එකකින් මෙම motor එක ලබාගන්න පුලුවන්. ඔබ ලග ඉහත කී CD/DVD ROM Driver එකක් නොමැති නම් පරිගනක අලුත්වැඩියා කරන ස්තානයකින් ඉවතලන එවැනි කොටසක් අඩු මුදලට මිලදීගැනීමේ හැකියාව තියෙනවා. ඒ ආකාරයට ලබාගත් stepper motor එකක් පහත රූපයේ පෙන්වා ඇත.



දැන් අපි මෙම stepper motor එකෙහි අග්‍ර හදුනාගමු. සාමාන්‍යයෙන් මෙවැනි motor එකක් තුල කම්බි දගර 2ක් පවතිනවා. එම දගර දෙකේ කෙලවර හතර තමයි මේ motor එකේ අග්‍ර හතර වෙන්නේ. 



දැන් අපගේ අරමුණ මෙම එක් එක් දගර(coil) වල අග්‍ර යුගලයන් වෙන වෙනම හදුනාගැනීමයි.



මේ සදහා මල්ටි මීටරයක් භාවිතා කරන්න පුලුවන්. මල්ටි මීටරය ප්‍රතිරෝදය මනින ආකාරයට සකසා ඉහත රූපයේ පරිදි අග්‍ර යුගලෙන් යුගල පරීක්ශා කරන්න. මල්ටි මීටරයේ කටුව ගමන් කරයි නම් එම අග්‍ර යුගල stepper motor එකෙහි එක් දගරයක කෙලවර 2ක් ලෙස හදුනාගන්න. 
දැන් මෝටරයේ අග්‍ර හතර සදහා වයර් පාස්සාගන්න.

දැන් පහත ආකාරයට උපකරණ සම්බන්ද කරගන්න.


Stepper motor එකෙහි අග්‍ර හතර නිවැරදිව රූපයේ පරිදි motor driver සමග සම්බන්ද කරන්න. රූපයේ පෙන්වා ඇති 2,3,4,5 අග්‍ර Arduino එකෙහි digital pin 2,3,4,5 සමග සම්බන්ද කරගන්න.motor driver කොටසෙහි "To Arduino" යටතෙහි ඇති +5V සහ Gnd අග්‍ර Arduino එකෙහි අදාල අග්‍ර සමග සම්බන්ද කරන්න.  "To Power supply" යටතේ ඇති අග්‍ර දෙක 5V/0.6A පමන විභව අන්තරයක් සහ ධාරාවක් ලබා දෙන භාහිර බල සැපයුමකට සම්බන්ද කරන්න. (මෙහිදී pwm අග්‍ර භාවිතා නොකරන නිසා H-Bridge motor driver එකෙහි Enable A සහ Enable B ලෙස නම් කර ඇති එම අග්‍ර, කුඩා jumpers 2ක් මගින් +5V [from Arduono] සමග සම්බන්ද කර ඇත. ඔබගේ motor driver කොටසෙහි ද එම අග්‍ර, Arduino එකෙහි සිට එන +5V සමග සම්බන්ද කිරීම අනිවාර්‍ය වේ.)

දැන් පහත code එක Arduino එකට Upload කරන්න.

int pins[4] = {
  2,3,4,5};

void setup(){
  for(int i = 0; i<4; i++){
    pinMode(pins[i], OUTPUT);
  }
}

void loop(){
  for(int i = 0; i<100; i++){
    forw();
  }
  for(int i = 0; i<100; i++){
    back();
  }
}

void forw(){
  for(int i = 4; i !=0; i--){
    digitalWrite(pins[i-1], HIGH);
    delay(100);
    digitalWrite(pins[i-1], LOW);
  }
}

void back(){
  for(int i = 0; i<4; i++){
    digitalWrite(pins[i], HIGH);
    delay(100);
    digitalWrite(pins[i], LOW);
  }
}



මෙම කේතය මඟින් සිදු කරන්නේ Stepper Motor එක පියවර 100ක් එක් දිශාවකට ද තවත් පියවර 100ක් ප්‍රතිවිරුද්ද දිශාවට ද කරකැවීමයි.

දෝශ නිවැරදි කිරීම.

ඔබ මේ ආකාරයට සියලුම උපාoග සම්බන්ද කලද stepper motor , එකම තැන් දෙපසට පමනක් චලනය වේ නම් පහත පියවර අනුගමනය කරන්න.
  • Motor Driver කොටසේ සිට මෝටරය දක්වා ගමන් කරන වයර් යුගල දෙකක් ඇත (පරිපත සටහන බලන්න)
  • දැන එම වයර් යුගල දෙකෙන් ඕනෑම එක් යුගලක් තෝරාගන්න.
  • දැන් එහි ඇති වයර් දෙක ගලවා මාරු කර නැවත සම්බන්ද කරන්න.
  • මෙවිට stepper මෝටරය එක් දිශාවකට පියවර 100ක් ද අනෙක් දිශාවට පියවර 100ක් ද ලෙස දිගටම ගමන් කරන ආකාරය ඔබට දැකගත හැක.
මේ පිලිබදව යම් ගැටලුවක් ඇත්නම් comment එකක් මගින් ඉදිරිපත් කරන්න.

15 comments:

  1. වටිනා ළිපියක් :)

    ReplyDelete
  2. කරුනාකර කේත ක්‍රියාත්මකවන ආකාරය පැහැදිලි කරන්න පුලුවන්ද.....?

    ReplyDelete
    Replies
    1. මෙම කේතය තේරුම් ගැනීමට Arrays, void සහ for loops පිලිබද දැනුම අවශ්‍ය වෙනවා.නමුත් ඒ පිලිබදව දැනට blog of pahan හරහා ලිපියක් ඉදිරිපත් කර නැහැ. (ලගදීම බලාපොරොත්තු වන්න) මෙම ලිපි ඉදිරිපත් කල සැනින් කේතය ක්‍රියාත්මක වන ආකාරය update එකක් ලෙස පළකරන්නම්.

      Delete
  3. කකරුනාකර කේත ක්‍රියාත්මකවන ආකාරය පැහැදිලි කරන්න පුලුවන්ද....?

    ReplyDelete
  4. Verify wenawa....L298 driver akak dala banna ona L293D walin podi motir wada karanna barida...akata meme project aka connect karanne kohomada....?thanz lot

    ReplyDelete
    Replies
    1. L293 motor driver එක වුවද භාවිතා කරන්න පුලුවන්. නිවැරදිව input/output/power අග්‍ර හදුනාගෙන ලිපියේ ආකාරයට L298 motor driver එක වෙනුවට භාවිතා කරන්න. ( එක් output අග්‍රයකින් 600mA උපරිම ධාරාවක් ලැබෙන නිසා L293 motor driver මේ සදහා යොදාගත හැක.)

      Delete
  5. PC aken programe aka desining karala.....arduino akak haraha....CNC akak run karanna puluwam softweare akak thiyenawada......?

    ReplyDelete
    Replies
    1. ඔව්... දැනට ඒ මෘදුකoගය භාවිතා කරල CNC Machine එකක් සාර්ථකව අත්හදා බලමින් පවතිනවා... software by Sadeepa Ravishan (plotter driver software) ඉදිරියේදී ඒපිලිබදව දැනුවත් කරන්නම්...

      Delete
  6. apita barida motor drive eka direct arduino ekata set krala me wade karanna..braed bord ekak use kranna onemda..? help me

    ReplyDelete
  7. https://www.youtube.com/watch?v=4QtxagEy7K0
    me video eke tyena widihta motor drive eka direct arduino ekta set karanna barida?

    ReplyDelete
  8. me video eke motor driver eka direct thamai set karala thiyenne... arduino ekata....

    namuth steppers nam direct arduino ekata set karanna sudusu na... aniwaryayenma driver eka harahaa ma set karanna...

    ReplyDelete
  9. Patta macn hadala wadada kiyala kiyannam thankz

    ReplyDelete