½¬¿î DriverExamples
»ùÇà ÄÚµå¿Í ÇÁ·ÎÁ§Æ®´Â stepperruningÀ» ¾òÀ»!
¼³¸í:
Lotsof »ç¶÷µéÀº buyEasyDriversorBigEasyDriversandthen ±×µéÀÇ ÇÁ·ÎÁ§Æ®¿¡¼ ´Ù¸¸ ¹ú±ÝÀ» ÀÏÇϱâ À§ÇÏ¿© ±×µéÀ» ¾ò½À´Ï´Ù. ±×·¯³ª ÀϺδ ±×·¸Áö ¾Ê½À´Ï´Ù. ±×·¡¼ ³ª´Â °¡´ÉÇÑ ÇÑ »¡¸® ÀÏÇÏ¸é¼ ½¬¿î µå¶óÀ̹ö¸¦ ¾ò±âÀ§ÇÑ ¸î °¡Áö °£´ÜÇÑ ÁöħÀ» ÀÛ¼ºÇÏ´Â °ÍÀÌ ÁÁÀº »ý°¢À̶ó°í »ý°¢Çß½À´Ï´Ù.
AllofÀÌ ¿¹´Â ³ªÀÇ ½¬¿î ¿îÀü»ç¿Í BigEasy ¿îÀü»ç ´í¼ ¸ðÅÍ ¿îÀü»ç ³ÎÀ¸·Î ³»°¡ ½ÇÇè½Ç ÁÖÀ§¿¡ ¼ÓÀÌ´Â ¸î¸î differentrandom ´í¼ ¸ðÅ͸¦ ¸ô°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ ¸ðµç ¿¹Á¦°¡ ¸ðµç Arduino orArduino Ŭ·Ð ¶Ç´Â Arduino ȣȯ (¸ðµç chipKITboards °°Àº) ¿Í ÇÔ²² ÀÛµ¿ÇؾßÇÏÁö¸¸, ³ª´Â ´Ü°è¿Í ¹æÇâ ÆÞ½º¸¦ begeneration.
Anddon Àд °ÍÀ» ÀØÁö ¸¶¼¼¿ä. Dan Thompson`sexcellentEasyDriver Æ©Å丮¾ó ºí·Î±× postifyouÀÌ ¹°°Ç¿¡ ´õ Àб⸦ ¿øÇÕ´Ï´Ù. ±× ºí·Î±× Æ÷½ºÆ®¿¡ ´ëÇÑ ÀÇ°ß¿¡ Å« Áú¹®À»Çß½À´Ï´Ù.
ÁÖ 1: ¸ðµç ¿¹´Â ½¬¿î ¿îÀü»ç ¶Ç´Â Å« easydrivers¿Í µ¿µîÇÏ°Ô Àß ÀÛµ¿ÇÒ °ÍÀÔ´Ï´Ù.
Note2: ¸ðµç ¿¹´Â arduino»Ó¸¸ ¾Æ´Ï¶ó chipKIT ³Î¿¡¼ ÀÏÇÒ °ÍÀÔ´Ï´Ù (and¸îÀº PIC32speed ¶§¹®¿¡ chipkit¿¡ ¸Å¿ì Àß ´Þ¸± °ÍÀÔ´Ï´Ù)
ÁÖ 3: ¸ðµç ¿¹´Â Àü¿ø ÀÔ·ÂÀ»À§ÇÑ ¹è·² ÀèÀ» º¸¿©ÁÝ´Ï´Ù-´ç½ÅÀº ¾î¶»°Ô µç easydrivers¿¡ Àü¿øÀ» °ø±ÞÇؾßÇÏÁö¸¸, ¹Ù·¼ ÀèÀ» ºñ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ´ç½ÅÀº Àü¿ø °ø±Þ Ãâ·Â somevoltage »çÀÌ 5V 30V, 1 Amp ¶Ç´Â.
¿¹Á¦ 1: ±âº»ÀûÀÎ Arduino üÁ¦
Thisis °¡Àå ±âº»ÀûÀÎ ¿¹´Â Arduino, EasyDriver ¹× ´í¼ ¸ðÅÍ·Î °¡Áú ¼ö ÀÖ½À´Ï´Ù. ¿¬°á ¸ðÅÍ ³× Àü¼±À» theEasy µå¶óÀ̹ö (ÀûÀýÇÑ ÄÚÀÏ ¿¬°á·Î ¿¬°áÇϽʽÿÀ powersupply 12V Àü¿ø ÇÉ ¿¬°áÇÏ°í, Arduino`sGND, ÇÉ 8 ÇÉ 9 ½¬¿î.
![](https://ae01.alicdn.com/kf/H70e92043ad00436c9ad1aef2584f363eH.jpg)
ÀÌ ½ºÄÉÄ¡¸¦·ÎµåÇÏ°í Arduino orchipkit¿¡ ½ÇÇàÇϽʽÿÀ:
¹«È¿ ¼³Á¤ () {
PinMode (8, »êÃâ); pinMode(9, »êÃâ); digitalWrite(8, ³·Àº); digitalWrite(9, ³·Àº);} ¹«È¿ ¹Ýº¹ () { digitalWrite(9, ³ôÀº); Áö¿¬ (1); digitalWrite(9, ³·Àº); Áö¿¬ (1);}
±×°Íº¸´Ù ÈξÀ °£´ÜÇÏÁö ¾Ê½À´Ï´Ù. ÄÚµå´Â ¹«¾ùÀԴϱî? ±×°ÍÀº setsup ÇÉ 8 9 as Ãâ·Â. ±× ´ÙÀ½ ¸ÞÀÎ ·çÇÁ¿¡¼, ´Ü¼øÈ÷ Åä±Û »çÀÌ¿¡ 1 ms¸¦ ±â´Ù¸®´Â ÇÉ 9 ³ô°í ³·Àº Åä±Û. ¿ì¸®´Â ÇÉ 9 as ´Ü°è Á¦¾î andpin 8 ¹æÇâÀ¸·Î Á¦¾î ½¬¿î.
Sincewe´Â ½¬¿î ¿îÀü»ç ³·Àº¿¡ MS1 ¶Ç´Â MS2 ³·°Ô ´ç±âÁö ¾ÊÀ¸¸ç, ½¬¿î ¿îÀü»ç´Â 1/8th microstep ÇüÅ¿¡ °úÅ ÇÒ °ÍÀÔ´Ï´Ù. ±× Àǹ̴ ¸Å¹ø "digitalWrite(9, ³ôÀº);" ÅëÈ ½ÇÇà, thestepper ¸ðÅÍ´Â Àüü ´Ü°èÀÇ 1/8th À̵¿ÇÕ´Ï´Ù. µû¶ó¼ ¸ðÅÍ is1.8 µµ ´Ü°è´ç, Çõ¸í ´ç 200 Àüü ´Ü°è, ¶Ç´Â 1600 ¸¶ÀÌÅ©·Î ½ºÅÜ perrevolution.
Sohow ºü¸¥ÀÌ Äڵ尡 ½ºÅ×ÆÛ ½ÇÇàµË´Ï´Ù? À½, STEPsignal 1ms ³ôÀº 1ms ³·Àº, °¢ Àüü ÆÞ½º 2ms oftime °É¸± °ÍÀÔ´Ï´Ù. 1 ÃÊ¿¡ 1000 ms°¡ Àֱ⠶§¹®¿¡ 1000/2 = 500 ¸¶ÀÌÅ©·Î ½ºÅÜ/ÃÊ.
¸ðÅÍ°¡ ´õ ´À·ÁÁö°í ½Í¾úÀ»±î¿ä? ¿ì¸®´Â Áö¿¬À» º¯°æÇÕ´Ï´Ù (); Linesto¿¡´Â ´õ ±ä Áö¿¬ÀÌ ÀÖ½À´Ï´Ù. ´ç½ÅÀÌ Áö¿¬ (10) ¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡; µÑ ´Ù¸¦ À§ÇØ, 50 ¸¶ÀÌÅ©·Î ½ºÅÜ/ÃÊ¿¡ you`llmove.
¸ðÅÍ°¡ ´õ »¡¸® °¡°í ½Í¾úÀ»±î¿ä? ¿ì¸®´Â ½ÇÁ¦·Î Áö¿¬ forless 1 ms ¿ì¸®´Â? ¿¹, ¹°·Ð ¿ì¸®´Â ÇÒ ¼ö ÀÖ½À´Ï´Ù! ¿ì¸®´Â delayMicroseconds(100) ¿¡ thedelay() Åëȸ¦ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù; °¢ delaywill 100 microseconds (¶Ç´Â ¿ì¸®), ±×·¡¼ ¸ðÅÍ´Â at5000 microsteps/second¸¦ ¸ô °ÍÀÔ´Ï´Ù.
Áö±Ý, ´ç½ÅÀÌ ÇÔ²² Àç»ýÇؾßÇÏ´Â ÇÑ °¡Áö-ÇöÀç Á¶Á¤ ³¿ºñ´ç½ÅÀÇ ½¬¿î µå¶óÀ̹ö. ´ç½ÅÀº ±×°ÍÀ» µ¹¸®±â À§ÇÏ¿© ÀÛÀº ³ª»ç ¿îÀü»ç¸¦ ÇÊ¿ä·Î ÇÏ°í, ±×°ÍÀ» ³Ê¹« ¸Ö¸® ¾î´À ¹æ¹ý ¶Ç´Â ´Ù¸¥ »ç¶÷ (they`redelicate) ¸¦ °¿äÇÏÁö ¾Ê±â À§ÇÏ¿© È®½ÇÇϽʽÿÀ. ¶ÇÇÑ ÀϺΠ½¬¿î µå¶óÀ̹ö´Â haveno ¹°¸®Àû Á¤Áö°¡ ±×µé¿¡°Ô ÁßÁöµÇ´Â ³¿ºñ·Î ¸¸µé¾îÁ³À¸¹Ç·Î ÁÖº¯°ú ÁÖº¯¿¡ µ¹¸³´Ï´Ù. À§ ºÎÈ£·Î, õõÈ÷ ³²ºñ Æíµµ ¶Ç´Â ´Ù¸¥ »ç¶÷À» µ¹¸³´Ï´Ù. ¸ðÅÍ À¯Çü¿¡ µû¶ó ´ç½ÅÀº (±×¸®°í ±× ÄÚÀÏ ÀúÇ×) ´ç½ÅÀÌ ³¿ºñ¸¦ ½ºÇÉ, ¶Ç´Â ´ç½ÅÀº ²Ï Å« Â÷À̸¦ maynotice/¾î¶² Â÷À̵µ ´À³¥ ¼ö ÀÖ½À´Ï´Ù.
¿¹ 2: ¾ÕµÚ·Î À̵¿
Ifwe ¿¹¸¦ µé¾î 1, ´Ü¼øÈ÷ ½ºÄÉÄ¡¸¦ Á¶±Ý º¯°æÇϽʽÿÀ, ¿ì¸®´Â ¾ÕÀ¸·Î ¶Ç´Â µÚ·Î ´Ü°èÀÇ Æ¯Á¤ ¼ö¸¦ À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù. Likeso:
Int °Å¸® = 0; /¿ì¸®°¡ °¡Áö°í °£ ´Ü°èÀÇ ¼ö¸¦ ±â·ÏÇϽʽÿÀ
Void üÁ¦ () { pinMode(8, »êÃâ); pinMode(9, »êÃâ); digitalWrite(8, ³·Àº); digitalWrite(9, ³·Àº);} ¹«È¿ ¹Ýº¹ () { digitalWrite(9, ³ôÀº); delayMicroseconds(100); digitalWrite(9, ³·Àº); delayMicroseconds(100); °Å¸® = °Å¸® + 1; /ÀÌ ´Ü°è¸¦ ±â·Ï//¿ì¸®°¡ ¿ì¸®ÀÇ ¿òÁ÷ÀÓÀÇ ³¡¿¡ ÀÖ´ÂÁö È®ÀÎÇÏ·Á¸é È®ÀÎ (°Å¸® = = 3600) { /¿ì¸®´Â! ¹ÝÀü ¹æÇâ (¹ÝÀü DIR ½ÅÈ£) ¸¸¾à¿¡ (digitalRead(8) = ³·Àº) { digitalWrite(8, ³ôÀº); } ´Ù¸¥ {digitalWrite(8, ³·Àº); } /´Ù½Ã 0À¸·Î ´Ù½Ã ¿ì¸®ÀÇ °Å¸®¸¦ ´Ù½Ã ´Ù½Ã ´Ù½Ã ´Ù½Ã ¿ì¸®°¡//½ÃÀÛ »õ·Î¿î À̵¿ °Å¸® = 0; //ÀÌÁ¦ ¹Ý µÎ ¹ø° Áö¿¬ (500); }}
NowusingÀÌ ½ºÄÉÄ¡, ¿ì¸®´Â ÇÑ ¹æÇâÀ¸·Î 3600 ´Ü°è¸¦ À̵¿, ÀϽà ÁßÁö, ±×¸®°í ´Ù¸¥ ¹æÇâÀ¸·Î 3600 ´Ü°è¸¦ À̵¿ÇÕ´Ï´Ù. ³ª´Â ´ç½ÅÀÌ Áö±Ý À̵¿ÀÇ ¸¹Àº ´Ù¸¥ ±æÀ̸¦ ¸¸µå´Â ¹æ¹ýÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ´ÂÁö È®½ÅÇÕ´Ï´Ù. Andyou´Â °¢ À̵¿ÀÇ ´Ü°è »çÀÌÀÇ Áö¿¬À» º¯°æÇÏ¿© atseparate ¼Óµµ°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¹ 3: »çÀü Á¦ÀÛ µµ¼°ü »ç¿ë-AccelStepper
À§ÀÇ ¿¹Á¦¸¦ Àß ÇÒ ¼ö¾ø´Â °ÍÀº µ¿ÀÏÇÑ Arduino ¶Ç´Â chipkit¿¡¼ ¿©·¯ steppersfrom 󸮵˴ϴÙ. ¶ÇÇÑ °¡¼Ó ¹×°¨¼ÓÀº ¾î·Æ½À´Ï´Ù. ´Ù¸¥ »ç¶÷µéÀº thisproblem·Î ´Þ¸®°í, ±×·¡¼ Áö±Ý ¿ì¸®´Â ¿ì¸®°¡ thesproblem¸¦ °íÄ¡±â À§ÇÏ¿© Arduino IDE ¶Ç´Â mpide¿¡ andinstall ´Ù¿î·ÎµåÇؼ ÁÁÀº µµ¼°üÀÌ ÀÖ½À´Ï´Ù.
AccelStepper libraryfromthispageÀÇ zip ÆÄÀÏÀ» Downloadthe ´Ù¿î·Îµå ÇÑ ÆÄÀÏÀ» ¾ÐÃà ÇØÁ¦ÇÏ°í arduinoÀÇ thelibraries Æú´õ¿¡ AccelStepper ¼³Ä¡ µð·ºÅ丮¸¦ ¹èÄ¡ÇϽʽÿÀ. ±× forMPIDE (chipKIT) »ç¿ëÀÚ¸¦ ÁÖÀÇÇϽʽÿÀ, ´ç½ÅÀº AccelStepper folderinÀ» »óÀ§ ¼öÁØ¿¡¼ ¶óÀ̺귯¸® Æú´õ»Ó¸¸ ¾Æ´Ï¶ó \ Çϵå¿þ¾î \ pic32 \ ¶óÀ̺귯¸®¸¦ º¹»çÇؾßÇϹǷΠavr°ú PIC32 Ãø¸éÀ» ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Usingthe °°Àº Çϵå¿þ¾î ¿¹¸¦ 1, ´Ù½Ã IDE ÀÔ·Â thefollowing ½ºÄÉÄ¡:
# Æ÷ÇÔ
/½ºÅ×ÆÛ ¹× ÇÉÀ» Á¤ÀÇÇÕ´Ï´Ù. ½ºÅ×ÆÛ ½ºÅ×ÆÛ (1, 9, 8);int pos = 3600; ¹«È¿ ¼³Á¤ (){½ºÅ×ÆÛ. setMaxSpeed(3000); ½ºÅ×ÆÛ. setAcceleration(1000);} ¹«È¿ ·çÇÁ (){ if (½ºÅ×ÆÛ. distanceToGo() = 0) {Áö¿¬ (500); pos = -pos; stepper.mo veTo(pos); } stepper.ru n();}
Thiscode ¾Ê½À´Ï´Ù ±âº»ÀûÀ¸·Î °°Àº ¿¹¸¦ µé¾î 2, usingacceleration/°¨¼Ó ÅëÇØ AccelStepper µµ¼°ü, runningfor µÎ ¸¹Àº ´Ü°è. (´õÇÇ ¾¾¸¦ °¡¸®Å°´Â °Í¿¡ °¨»ç°£´ÜÇÑ »ç½Ç!) ¸¹Àº ´Ü°è·Î µÎ ¹ø ½ÇÇàµÇ´Â ÀÌÀ¯´Â ´õ ª°í °£´ÜÇÏ°Ô ¹°°ÇÀ» À¯ÁöÇϱâ À§ÇØ "pos = -pos" À» ¼öÇàÇÕ´Ï´Ù. ÀÌ°ÍÀº °ÍÀÔ´Ï´Ù±×°ÍÀºÀÌ ½ÇÇàµË´Ï´Ù 0¿¡¼ 3600, ´ÙÀ½ 3600-3600 (7200 ´Ü°è).
¿¹ 4: ¿©·¯ ½ºÅ×ÆÛ ¸ðÅÍ ½ÇÇà
AccelStepper ¶óÀ̺귯¸®¿¡ ´ëÇÑ ÈǸ¢ÇÑ °ÍµéÀº´ç½ÅÀÌ ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ´ç½ÅÀÌ ¿øÇϴ´ë·Î ¸¹Àº ½ºÅ×ÆÛ ¸ðÅ͸¦ ½ÇÇàÇÏ°í, µ¿½Ã¿¡, ´õ ¸¹Àº AccelStepper °³Ã¼¸¦ ¿ìȸÇÕ´Ï´Ù. Áö±Ý, ´ç½ÅÀÌ ±×µéÀ» ½ÇÇàÇÏ·Á°íÇÏ´Â °æ¿ìºü¸¥, ´Ü°è´Â ºÎµå·¯¿î, ±×·¡¼ ´ç½ÅÀº ³Ê¹« ¸¹Àº arduino¸¦ toload Á¶½ÉÇؾßÇÕ´Ï´Ù. The chipKIT ¾ø½À´Ï´Ù thisproblem ¶§¹®¿¡ ³Ê¹« »¡¸® theArduino.
Inthis ´ÙÀ̾î±×·¥, ¿ì¸®´Â µÎ ½¬¿î µå¶óÀ̹ö¿Í µÎ ½ºÅ×ÆÛ ¸ðÅÍ. ¿ì¸° 2 ´õ ÇÉÀ» Arduino Ãß°¡ ÀÌ secondmotor.
![](https://ae01.alicdn.com/kf/H1cc004acf18744dbb5f325f1810a7cb7s.jpg)
ÀÌ ¿¹ÀÇ ÄÚµå´Â shownbelow:
# Æ÷ÇÔ
//±×µéÀÌ »ç¿ëÇÏ´Â µÎ °³ÀÇ ½ºÅ×ÆÛ ¹× ÇÉÀ» Á¤ÀÇÇÕ´Ï´Ù. ½ºÅ×ÆÛ stepper1(1, 9, 8);AccelStepper stepper2(1, 7, 6);int pos1 = 3600;int pos2 = 5678;void üÁ¦ (){ stepper1.setMaxSpeed(3000); stepper1.setAcceleration(1000); stepper2.setMaxSpeed(2000); stepper2.setAcceleration(800);}void loop(){ if (stepper1.distanceToGo = 0) {
Pos1 =-pos1;
Stepper1.moveTo (pos1);} (stepper2.distanceToGo() = 0) { pos2 = -pos2; stepper2.moveTo(pos2); } stepper1.run(); stepper2.run()
IfyouÀÌ Äڵ带 ½ÇÇàÇÏ¸é °¡¼Ó ¹×°¨¼Ó (anarduino¿¡¼-´Ù½Ã, ÀÌ ¹®Á¦´Â chipkit¿¡¼ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù) ´ÜÀÏ ¸ðÅÍ¿Í ¸¶Âù°¡Áö·Î ¸Å¿ì ¿øÈ°ÇÏÁö ¾Ê½À´Ï´Ù ãÀ» ¼ö ÀÖ½À´Ï´Ù-Áï isbecause ¿ì¸®ÀÇ µÎ °¡Áö ÃÖ´ë ¼Óµµ (3000 ¹× 1000) ´Â ¸Å¿ì ³ô½À´Ï´Ù. ÇÁ·Î¼¼¼ÀÇ ´É·ÂÀº ó¸®ÇÕ´Ï´Ù. ÇϳªÀÇ ¼Ö·ç¼ÇÀº ÃÖ´ë ¼Óµµ¸¦ ³·Ãß°í 1/8th microstepping to1/4, half ¶Ç´Â full step ¸ðµå¿¡¼ ÀüȯÇÕ´Ï´Ù. ¿À¸¥ÂÊÀÌ ³¡³ª¸é sameshaft ȸÀü ¼Óµµ¸¦ º¼ ¼ö ÀÖÁö¸¸ CPU ÇÏÁßÀÌ Àû½À´Ï´Ù (ÃÊ´ç ¸¹Àº ´Ü°è·Î º¯Çϱ⠶§¹®¿¡).
Youcan º¼ ÀÌ ¿¹¸¦ ±×³É º¹»ç ¹× codefrom ¿¹ 3 ¹× µÎ À§Ä¡ µÎ ½ºÅ×ÆÛ. Thisexample ÄÚµå´Â ¸Å¿ì °£´ÜÇÏ°í À¯¿ëÇÏÁö ¾ÊÁö¸¸ AccelStepper ¶óÀ̺귯¸®¿¡¼ ±âÁ¸ ¿¹¸¦ ¿¬±¸ÇÏ°í ´Ù¸¥ ±â´É¿¡ µµ¿ò¸» ÆäÀÌÁö¸¦ ÀнÀ´Ï´Ù. ±×¸®°í ÁÁÀº ¾ÆÀ̵ð¾î¸¦ ¾òÀ¸½Ê½Ã¿À. ½ºÅ×ÆÛ Á¦¾î·Î ÇÒ ¼öÀÖ´Â ´Ù¸¥ °Í.
ÂüÁ¶:
½¬¿î DriverPinout:
![](https://ae01.alicdn.com/kf/H50ac6062146449609e27bbc901dd9186D.jpg)