±â¼ú°øÀ¯
 ÁúÀÇÀÀ´ä
 ÀÚ·á½Ç
 ¸¶ÀÌÄÞÁ¦¾î
  Home >> ±â¼ú°øÀ¯ > ¸¶ÀÌÄÞÁ¦¾î

Total 38  (35/38)
ºÎ·ÏÀ» Æ÷ÇÔÇÏ¿© ÃÑ 38°­Á·Π±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. Ã¥À» ÀеíÀÌ ¾ÕÆä¿¡ÁöºÎÅÍ »ç¿ëÇϽʽÿä

Á¦9Àå 8051 È°¿ë- 6°­


9. ½ºÅÜÇÎ ¸ðÅÍÀÇ Á¦¾î

9-1. ½ºÅܸðÅÍ
½ºÅܸðÅÍ stepping motor, (pulse motor, stepper motor)´Â ´Ù¸¥ AC servo, DC servo motor¿¡ ºñÇÏ¿©
Á¤È®ÇÑ °¢µµÁ¦¾î¿¡ À¯¸®ÇÏ¿© ÇöÀç ¿ì¸®ÁÖÀ§¿¡ ¸¹ÀÌ ¾²ÀÌ°í ÀÖ´Ù.
½ºÅܸðÅÍ´Â µðÁöÅÐ ÆÞ½º¸¦ ±â°èÀûÀÎ Ãà ¿îµ¿À¸·Î º¯È­½ÃÅ°´Â º¯È­±âÀ̸ç, ÆÞ½º´Â µðÁöÅÐsource¿¡ ÀÇÇØ °¡ÇØÁø´Ù.
¸Å ÆÞ½º ¼ö¿¡ µû¶ó ¸ðÅÍÀÇ ÃàÀº Á¤ÇØÁø °¢µµ·Î ȸÀüÇϸç ÆÞ½º°£°ÝÀ» ¾Ë¸Â°Ô Á¶Á¤Çϸé
±¸µ¿¹æ½Ä °ú ¼ÓµµÁ¦¾î¸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù.


9-2. ½ºÅܸðÅÍÀÇ Æ¯Â¡

¢Ñ ÀåÁ¡
i) µðÁöÅнÅÈ£·Î Á÷Á¢ ¿ÀÇ·çÇÁÁ¦¾î¸¦ ÇÒ ¼ö ÀÖ°í, ½Ã½ºÅÛÀüü°¡ °£´ÜÇÏ´Ù.
ii) ÆÞ½º½ÅÈ£ÀÇ ÁÖÆļö¿¡ ºñ·ÊÇÑ È¸Àü¼Óµµ¸¦ ¾òÀ» ¼ö ÀÖÀ¸¹Ç·Î ¼ÓµµÁ¦¾î°¡ ±¤¹üÀ§ÇÏ´Ù´Â Á¡.
iii) ±âµ¿, Á¤Áö, Á¤-¿ªÈ¸Àü, º¯¼ÓÀÌ ¿ëÀÌÇϸç ÀÀ´äƯ¼ºµµ ÁÁ´Ù´Â Á¡.
iv) ¸ðÅÍÀÇ È¸Àü°¢ÀÌ ÀÔ·Â pulse¼ö¿¡ ºñ·ÊÇÏ°í, ¸ðÅÍÀÇ ¼Óµµ°¡ 1ÃÊ°£ÀÇ ÀÔ·Â pulse¼ö¿¡
ºñ·ÊÇÑ´Ù´Â Á¡.
v) 1 step´ç °¢µµ¿ÀÂ÷°¡ +5% À̳»À̸ç ȸÀü°¢ÀÇ ¿ÀÂ÷°¡ step¸¶´Ù ´©ÀûµÇÁö ¾Ê´Â´Ù´Â Á¡.
vi) Á¤Áö ½Ã¿¡ ³ôÀº À¯ÁöÅäÅ©·Î À§Ä¡¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Ù´Â Á¡.
±âµ¿ ¹× Á¤ÁöÀÀ´ä¼ºÀÌ ¾çÈ£ÇϹǷΠservo motor·Î¼­ »ç¿ëÀÌ °¡´ÉÇÏ´Ù.
vii) ÃÊ Àú¼ÓÀ¸·Î ³ôÀº ÅäÅ©( torque ) ¿îÀüÀ» ÇÒ ¼ö ÀÖ´Ù´Â Á¡.
¸ðÅÍ Ãà¿¡ Á÷°á ÇÏ¹Ç·Î½á µ¿±âȸÀüÀÌ °¡´ÉÇÏ´Ù.
viii) ºê·¯½Ã°¡ ¾ø°í ¸ðÅÍÀÚüÀÇ ºÎÇ°¼ö°¡ Àû±â ¶§¹®¿¡ ½Å·Ú¼ºÀÌ ³ô´Ù´Â Á¡.
ix) ȸÀü°¢ÀÇ °ËÃâÀ» À§ÇÑ feedbackÀÌ ºÒÇÊ¿äÇÏ¿© Á¦¾î°è°¡ °£´ÜÇϸç, °¡°ÝÀÌ »ó´ëÀûÀ¸·Î Àú·Å
ÇÏ´Ù´Â Á¡.

¢Ñ ´ÜÁ¡
i) °í¼Ó¿îÀü½Ã Å»Á¶Çϱ⠽±´Ù´Â Á¡.
ii) ¾î´À ÁÖÆļö¿¡¼­´Â Áøµ¿, °øÁø Çö»óÀÌ ¹ß»ýÇϱ⠽±°í, °ü¼ºÀÌ ÀÖ´Â ºÎÇÏ¿¡ ¾àÇÏ´Ù´Â Á¡.
iii) º¸ÅëÀÇ driverµµ ±¸µ¿½Ã¿¡´Â ±Ç¼±ÀÇ ÀδöÅϽº ¿µÇâÀ¸·Î ÀÎÇÏ¿© ±Ç¼±¿¡ ÃæºÐÇÑ Àü·ù¸¦ È긮
°Ô ÇÒ ¼ö ¾øÀ¸¹Ç·Î pluseºñ°¡ »ó½ÂÇÔ¿¡ µû¶ó torque°¡ ÀúÇÏÇϸç DC motor ¿¡ºñÇØ È¿À²ÀÌ
¶³¾î Áø´Ù.


9-3. ½ºÅܸðÅÍÀÇ ±¸Á¶
½ºÅܸðÅÍ´Â ³»ºÎ¸¦ ±¸¼ºÇÏ´Â °íÁ¤ÀÚ¶ó ºÒ¸®¿ì´Â ±ØÀÇ ¼ö¿¡ µû¶ó ´Ü»ó(1»ó), 2»ó, 3»ó, 4»ó, 5»ó, 6»ó µîÀÇ Á¾·ù°¡ ÀÖ´Ù.
¿©±â¼­ ¸»ÇÏ´Â »óÀ̶õ À§»óÀ» ¸»ÇÏ¸ç ¸ðÅÍÀÇ ³»ºÎ¿¡ ¸îÁ¶ÀÇ ÄÚÀÏÀ»(°íÁ¤ÀÚ¿¡ °¨°ÜÀÖ´Â ÄÚÀÏ) °®°í ÀÖ´À³Ä¸¦ ¸»ÇÏ´Â °ÍÀÌ´Ù.
¿¹¸¦µé¾î 4»ó¸ðÅͶó ÇÏ¸é ¸ðÅÍ¿¡´Â ¼­·Î ´Ù¸¥ 4°¡ÁöÀÇ »óÀ» ¸¸µé ¼ö ÀÖÀ¸¸ç °á±¹ ¸ðÅͳ»ºÎ¿¡ µ¶¸³ÀûÀ¸·Î
Á¸Á¦ÇÏ´Â »óÀǼö¶ó ÀÌÇØÇÏ¸é µÇ°Ú´Ù.





½ºÅÜÇθðÅÍ´Â ÀÏ¹Ý DC¸ðÅÍ¿Í´Â ´Þ¸® ¹è¼±¼ö°¡ ¸¹´Ù. ÈçÈ÷ 4°³¿¡¼­ 6°³ÀÇ ¼±ÀÌ ³ª¿ÍÀÖ¾î ¾î´ÀÂÊ¿¡
±¸µ¿Àü¿øÀ» ¿¬°áÇÏ´ÂÁö Àß ¾Ë¼ö ¾øÀ¸¹Ç·Î »ç¿ëÀÚ´Â ¸ðÅÍÀÇ »ç¾ç¼­¸¦ ÀÐ¾î º¸¾Æ¾ß ÇÑ´Ù.
½ºÅÜ°¢ = 360¡Æ/ (»ó¼ö x ȸÀüÀÚÀÇ Åé´Ï ¼ö)




9-4. ½ºÅÜÇθðÅÍÀÇ ±¸µ¿¹æ½Ä°ú »ó¿©ÀÚ¹æ½Ä
½ºÅܸðÅÍÀÇ ±¸µ¿¹æ½ÄÀº À¯´ÏÆú¶ó(unipolar, ´Ü±Ø¼º)¹æ½Ä°ú ¹ÙÀÌÆú¶ó(bipolar, ½Ö±Ø¼º)¹æ½ÄÀÌ ÀÖ´Ù.






À§ÀÇ ±×¸²°ú °°ÀÌ unipolar¹æ½ÄÀÇ ´Ü±Ø¼ºÀº Àü·ù°¡ ÇÑÂÊÀ¸·Î¸¸ È帣°í ½Ö±Ø¼ºÀÇ bipolar¹æ½ÄÀº Àü·ù°¡ 4°³ÀÇ ¹è¼±¿¡
¾çÂÊÀ¸·Î ¸ðµÎÈ帥´Ù´Â ÀǹÌÀÌ´Ù. ±×¸²3.3°ú °°ÀÌ 6°³ÀÇ ¹è¼±À» °¡Áø¸ðÅÍ´Â unipolar¹æ½Ä°ú bipolar¹æ½Ä¸ðµÎ ¾µ¼ö ÀÖÀ¸³ª
4°³Àǹ輱À» °¡Áø ¸ðÅÍ´Â bipolar¹æ½Ä¸¸À» ¾µ ¼ö ÀÖ´Ù.

Bipolar¹æ½ÄÀÇ °æ¿ì ÄÚÀÏÀÇ ÀÌ¿ëµµ°¡ ³ô°í Àú¼Ó¿¡¼­ ´õÅ« ÅäÅ©¸¦ ¾òÀ»¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸
°í¼Ó¿¡¼­´Â unipolar¹æ½ÄÀÌ Á»´õ À¯¸®ÇÑ Æ¯¼ºÀ» °¡Áö°í ÀÖ´Ù.



9-4-1. 1»ó ¿©ÀÚÁ¦¾î
°íÁ¤ÀÚÀÇ 1°³ ÄÚÀϸ¸À» Â÷·Ê·Î ¿©ÀÚÇÏ¿© ȸÀüÀڰ踦 ¸¸µå´Â ¹æ¹ýÀÌ´Ù.
ÀÌ ¿©ÀÚ¹ý¿¡¼­´Â ȸÀüÀÚ°¡ Á¤ÁöÇÏ´Â À§Ä¡( ¾ÈÁ¤Á¡ )ÀÌ °íÁ¤ÀÚ¿Í È¸ÀüÀÚ°¡ ÀÏÄ¡ÇÏ´Â Á¡À̵ȴÙ.
À̹æ¹ýÀº È¿À²Àº ÁÁÀ¸³ª dampingƯ¼ºÀÌ ³ª»Ú±â ¶§¹®¿¡ ÀÏÁ¤ÇÑ ÆÞ½ººñ·Î »ç¿ëÇÒ¶§¿¡´Â Áøµ¿ÀÌ ¹ß»ýÇϱ⠽±´Ù.


9-4-2. 2»ó ¿©ÀÚÁ¦¾î
¸ðÅÍ¿¡ ÀÖ´Â 2°³°íÁ¤ÀÚÀÇ ÄÚÀÏÀ» µ¿½Ã¿¡ ¿©ÀÚÇÏ°í °¢±Ç¼± »çÀÌ¿¡ ¹ß»ýÇÑ Àڰ踦 ÀÌ¿ëÇÏ¿© ȸÀü ½ÃÅ°´Â ¹æ¹ýÀÌ´Ù.
ÀÌ ¿©ÀÚ¹ý¿¡¼­ ȸÀüÀÚÀÇ ¾ÈÁ¤Á¡Àº °íÁ¤ÀÚÀÇ »çÀÌ¿¡ ÀְԵȴÙ.
À̹æ¹ýÀº 1»ó¿©ÀÚ¿¡ ºñÇØ 2¹èÀÇ ÀԷ½ÅÈ£¸¦ ÇÊ¿ä·ÎÇÏ°Ô µÇ¾î È¿À²Àº ÀúÇϵÇÁö¸¸ dampingƯ¼ºÀÌ ¾çÈ£ÇϹǷΠ°¡Àå
³Î¸® ÀÌ¿ëµÇ´Â ¹æ½ÄÀÌ´Ù.





9-4-3. 1-2»ó ¿©ÀÚÁ¦¾î
1»ó¿©ÀÚ¿Í 2»ó¿©ÀÚ¸¦ ±³´ë·Î ÇàÇÏ´Â °ÍÀ¸·Î 1ÆÞ½º¿¡´ëÇÑ ½ºÅÜ°¢Àº 1»ó¿©ÀÚ¿Í 2»ó¿©ÀÚ¿¡ ÀÇÇÑ ½ºÅÜ°¢ÀÇ ¹ÝÀ̵ȴÙ.
À̸¦ ÇÏÇÁ½ºÅÜÀ̶ó ÇÏ¸ç ¸¸ÀÏ ½ºÅÜ°¢ÀÌ 3.6¡£ÀÇ ¸ðÅ͸¦ 1-2»ó¿©ÀÚ¹ýÀ¸·Î ±¸µ¿½ÃÅ°¸é 1.8¡£ÀÇ ½ºÅÜ°¢À» ¾òÀ»¼ö ÀÖ´Â °ÍÀÌ´Ù.
ÀÌ ¿©ÀÚ¹ýÀº °íºÐÇØ´ÉÀ» ¿ä±¸ÇÏ´Â À§Ä¡°áÁ¤ Á¦¾î¿¡ »ç¿ëµÉ¼ö ÀÖÀ¸¸ç Áøµ¿°ú ¼ÒÀ½À» ÁÙÀÏ ¼ö ÀÖÀ¸³ª
½ºÅÜÀÇ Á¤È®µµ´Â ¶³¾îÁø´Ù.






9-5. ½ºÅÜÇθðÅÍÀÇ ¿ë¾î
a) ½ºÅÜ °¢µµ( step angle ) : ÀÔ·Â ½ÅÈ£ 1 ÆÞ½º¿¡ ´ëÀÀÇÏ´Â ¸ðÅÍ ÃàÀÇ È¸Àü °¢µµ.

b) ÄÚ±ë ( cogging ) : ¸ðÅ͸¦ ¼ÕÀ¸·Î ȸÀü½ÃÄÑ º¸¾ÒÀ» ¶§ ´À³¥ ¼ö ÀÖ´Â ¹Ý¹ß·Â.

c) Å»Á¶ ( ÷­ðà ) : ½ºÅ¸Æà Ư¼º ¶Ç´Â slewing Ư¼ºÀ» ¹þ¾î³­ ÁÖÆļöÀÇ pulse¸¦ ÁÖ¾úÀ» °æ¿ì,
motor´Â ȸÀüÀÌ ºÒ±ÔÄ¢ÇÏ°Ô Çϰųª Á¤ÁöÇÏ°Ô ÇÑ´Ù. ÀÌ »óŸ¦ Å»Á¶¶ó°í ÇÑ´Ù.

d) ¿Âµµ »ó½Â°ª(temperature rise) : ½ºÅܸðÅ͸¦ Á¤ÇØÁø ¿©ÀÚ±â¹ýÀ¸·Î ¿©ÀÚÇÏ°í, ¸ðÅ͸¦ Á¤ÁöÇÑ »óÅ¿¡¼­
ÃøÁ¤ÇÑ °æ¿ìÀÇ ¿Âµµ»ó½Â°ªÀ» ³ªÅ¸³½´Ù. ¶Ç ÀÌ °æ¿ì 1»ó¸¸ ¿©ÀÚÇϸç, ¶ÇÇÑ ±× ÃøÁ¤¹ýÀº ÀϹÝÀûÀ¸·Î ÀúÇ×¹ýÀ» ÀÌ¿ëÇÑ´Ù.

e) ½ºÅ¸Æà Ư¼º ( starting characteristic ) : MotorÀÇ È¸ÀüÀÌ ÀÔ·Â pulse¿Í ¿ÏÀüÈ÷ 1´ë 1·Î ´ëÀÀÇؼ­ ±âµ¿ÇÒ ¼ö ÀÖ´Â,
motorÀÇ ÃÖ´ë ¹ß»ý torque¿Í ÀÔ·Â ÆÞ½º¿ÍÀÇ °ü°è¸¦ °¡¸£Å²´Ù. Ç®ÀÎ ÅäÅ©(pull in torque)¶ó°í Ç¥ÇöÇÏ´Â °æ¿ìµµ ÀÖ´Ù.

f) ÃÖ´ë ±âµ¿ ÅäÅ© ( maximum running torque ) : ½ºÅܸðÅÍ°¡ ¿òÁ÷ÀÏ ¼ö ÀÖ´Â ÃÖ´ëÀÇ torque ¸¦ ¸»Çϸç,
ÀϹÝÀûÀ¸·Î´Â 10 ppsÀÇ ÁÖÆļö·Î ¸ðÅ͸¦ ±¸µ¿ ½ÃÄ×À» ¶§ÀÇ °ªÀ¸·Î Á¤ÀÇ µÇ°í ÀÖ´Ù.





9-6. ½ºÅÜÇÎ ¸ðÅÍÀÇ ±¸µ¿ µå¶óÀ̹ö(L297)






9-7. L297ÀÇ ÇÉ ±â´É
SYNC(N0 1) : One chip ÃÝÆÛ ¿À½Ç·¹ÀÌÅÍ Ãâ·Â(¿©·¯°³ÀÇ L297À» °°ÀÌ »ç¿ëÇÒ ¶§)
HOME(No 3) : L297 ÀÇ Ãʱâ»óÅÂ(ABCD = 0101)¸¦ ¿ÜºÎ¿¡ ¾Ë¸®´Â Open Collector Ãâ·Â
A,B,C,D(No 4, 6, 7, 9) : Motor A,B,C,D »óÀÇ µå¶óÀ̹ö Signal
INH1(No 5) : A,B »óÀÇ µå¶óÀ̺긦 ±ÝÁö½ÃÅ°´Â Active Low Ãâ·Â½ÅÈ£
INH2(No 8) : C,D »óÀÇ µå¶óÀ̺긦 ±ÝÁö½ÃÅ°´Â Active Low Ãâ·Â½ÅÈ£
ENABLE(No 10) : Active High ·Î Chip Enable Signal
CONTROL(No 18) : ÃÝÆÛÀÇ µ¿ÀÛÀ» Á¤ÀÇ (¿¹...INH1, INH2 µ¿ÀÛ 1 : A,B,C,D µ¿ÀÛ)
SENSE1(No 14) : A,B »óÀÇ Àü¾ÐÀ» °¨ÁöÇϱâ À§ÇÑ ºÎÇÏÀü·ù¿¡ ´ëÇÑ ÀÔ·Â
SENSE2(No 13) : C,D »óÀÇ Àü¾ÐÀ» °¨ÁöÇϱâ À§ÇÑ ºÎÇÏÀü·ù¿¡ ´ëÇÑ ÀÔ·Â
OSC(No 16) : RC ȸ·Î¸¦ ¿¬°áÇÏ¿© ÃÝÆÛÀ²À» °áÁ¤ÇÑ´Ù. ¿©·¯°³ÀÇ l297À» »ç¿ëÇÒ ¶§´Â GND ¿¡ ¿¬°á
(f ¡Ö 1/0.69RC.. ´Ü R > 10k¥Ø)
CLOCK(No 18) : Step Clock ÀÔ·Â ¸¸¾à LOW°¡ °¡ÇØÁö¸é MotorÀº ÇÑ ½ºÅÜÀÌ Áõ°¡
CW/CCW(No 17) : Motor ÀÇ È¸Àü¹æÇâÀ» Á¦¾î
HALF/FULL(No 19) : ÇÏÇÁ / Ç® ½ºÅÜÀÇ ÀÔ·Â
RESET(No 20) : Reset ÀÔ·ÂÀ¸·Î L297À» Home À§Ä¡·Î ÃʱâÈ­ µÈ´Ù
Vref(No 15) : ÃÝÆÛȸ·Î¿¡ ´ëÇÑ ±âÁØÀü¿ø(°ø±ÞÀü¾ÐÀÌ ÇÇÅ©ºÎÇÏÀü·ù¸¦ °áÁ¤)
Vs(No 12) : +5 volt ÀÔ·Â
GND(No 2) : Ground



9-8. L297ÀÇ ±â´É¿ä¾à
- Bridge ·Î ±¸¼ºµÈ 2°³ÀÇ Driver ¿Í 4°³ÀÇ ´Þ¸µÅÏ ¾î·¹ÀÌ µîÀ¸·Î ±¸¼º
- CPU Signal ¿¡ ÀÇÇÑ »ó ¿©ÀÚ½ÅÈ£¿Í Á¦¾î½ÅÈ£·Î Motor¸¦ ±¸µ¿ÇÑ´Ù
- ÁÖ¿ä±â´ÉÀº MotorÀÇ »ó ¼ø¼­¸¦ ¹ß»ýÇÏ´Â Translator ¿Í Motor ±Ç¼±ÀÇ Àü·ù¸¦ Á¶ÀýÇÏ´Â 2°³ÀÇ
PWM(Pulse Width Modulation) ÃÝÆÛȸ·ÎÀÌ´Ù
- HALF/FULL ÀԷ¿¡ µû¸¥ 3°³ÀÇ ¿©ÀÚ¹æ½Ä ±¸¼º

¢Ñ Normal : 2»ó¿©ÀÚ (ÀÔ·Â °ª => Translator °¡ Ȧ¼öÀÏ ¶§ (1,3,5,7) LOW)
¢Ñ Wave : 1»ó¿©ÀÚ (ÀÔ·Â °ª => Translator °¡ ¦¼öÀÏ ¶§ (2,4,6,8) LOW)
¢Ñ Half_Step : 1-2»ó¿©ÀÚ (ÀÔ·Â °ª =>HIGH)








- ¿©·¯°³ÀÇ L297À» °°ÀÌ »ç¿ëÇÒ °æ¿ì Á¢Áö ³ëÀÌÁ ÇØ°áÇϱâ À§ÇÏ¿© ÃÝÆÛ ¿À½Ç·¹ÀÌÅ͸¦ µ¿±â½ÃŲ´Ù.
(SYNC PinÀ» °°ÀÌ ¿¬°áÇÏ°í OSC Pin Àº Ground Á¢Áö)

- 2°³ÀÇ ÃÝÆÛ¸¦ µå¶óÀ̺êÇϱâ À§ÇØ 2°³ÀÇ Flip FlapÀ» °¡Áö°í ÀÖ´Ù





/************************************************************************/
/* Stepping MOTORÀÇ ±¸µ¿ */
/* 8051ÀÇ P1 Æ÷Æ®·Î Ãâ·ÂµÇ´Â 2»ó ¿©ÀÚ¹æ½ÄÀ¸·Î Stepping Motor¸¦ ±¸µ¿ */
/************************************************************************/

#include
#define IN_BYTE P3
#define SW P3.0 /* Á¤,¿ªÈ¸Àü ½ºÀ§Ä¡ ¼³Á¤Æ÷Æ® */
#define ON 1
#define OFF 0

void delay(unsigned int tt) /* ¹Ì¼¼ÇÑ ½Ã°£Áö¿¬ */
{
unsigned int i,j;
for(i=0;i for(j=0;j<450;j++);
}

void r_s()
{
unsigned int i;
unsigned char A[]={0x09,0x0A,0x06,0x05}; /* 2»ó ¿©ÀÚ ½ºÅÜ°ª ¼³Á¤(Á¤È¸Àü) */
for(i=0;i<4;i++)
{
P1=A[i];
delay(1);
}
}

void l_s()
{
unsigned int j;
unsigned char B[]={0x09,0x05,0x06,0x0A}; /* 2»ó ¿©ÀÚ ½ºÅÜ°ª ¼³Á¤(¿ªÈ¸Àü) */
for(j=0;j<4;j++)
{
P1=B[j];
delay(1);
}
}

void main()
{
unsigned int pre_data;
unsigned int key;
while(1)
{
pre_data=IN_BYTE=0;
key=IN_BYTE;
if(key=SW)
{
key=pre_data;
P1=0x00;
r_s();
}
else
{
key=pre_data;
P1=0x00;
l_s();
}
}
}

/**********************************************************************/
/* ½ºÅÜÇÎ ¸ðÅÍ µå¶óÀ̹ö L297À» ÀÌ¿ëÇÑ ½ºÅÜÇÎ ¸ðÅÍÀÇ °¡°¨¼Ó Á¦¾î */
/* DIR : 0 => ¿ªÈ¸Àü 1 => Á¤È¸Àü(½Ã°è¹æÇâ) */
/* MOTOR ENABLE : HIGH ACTIVE(ȸ·Î»ó Ç×½ÃÁ¢Á¡) */
/* PULSE : HIGH ACTIVE(Up trige eddge) */
/* PPI 8255 PC ÇÏÀ§ Port : 0x03 => Á¤È¸Àü ±¸µ¿ */
/* 0x02 => ¿ªÈ¸Àü ±¸µ¿ */
/**********************************************************************/
#include
#define PA 0x7400
#define PB 0x7401
#define PC 0x7402
#define CR 0x7403
#define CW 0x80
#define IN_BYTE P1
#define SW_1 P1.0 /* ½ºÅÜÇθðÅÍ Enable */
#define SW_2 P1.1
#define T_R 0x03 /* ½Ã°è¹æÇâ ±¸µ¿ */
#define T_L 0x02 /* ¹Ý½Ã°è¹æÇâ ±¸µ¿ */

void step_delay(unsigned int tt)
{
unsigned int i,j;
for(i=0;i<1;i++)
for(j=0;j }

void sm(int dir,int speed) /* initial ¡¡½ºÅÜÇÎ ¸ðÅÍ Turning */
{
write_XDATA(CR,CW); /* initial 8255 */
write_XDATA(PC,dir);
step_delay(speed); }
void main()
{
unsigned int i,j;
int key=0;
int out_data[]={1000,707,500,353,250,177,125,88,70,60};/* °¨¼ÓÅ×À̺í */
write_XDATA(CR,CW);
for(i=0;i<9;i++) /* °¡¼Ó½ÃÀÛ */
{
for(j=0;j<10;j++) /* ¹Ì¼¼ÇÑ ÆÞ½ºÀΰ¡ */
{
sm(T_R,out_data[i]);
step_delay(1200);
}
}

do{
i++;
sm(T_R,55);
}while(i<=8500); /* ¾à 6ÃÊ°£ °í¼ÓTurningÈÄ °¨¼Ó */
for(i=9;i<=0;i--)
{
for(j=0;j<10;j++) /* °¨¼Ó½ÃÀÛ */
{
sm(T_R,out_data[i]);
step_delay(1200);
}

}
do{
i++;
sm(T_R,1000);
}while(i<=400); /* ¾à 4ÃÊ°£ Àú¼Ó TurningÈÄ Á¤Áö */
write_XDATA(PC,0x00);
sm(T_R,1000);

}

±Û¾²±â ±Û¼öÁ¤ ±Û»èÁ¦

±Û¾²±â

[1]...[PRE][31][32][33][34][35][36][37][38]
   °Ë»ö¾î    

Copyright ¨Ï All rights reserved