Page 15 - ipst-actuatorlab
P. 15
¤ÁÙ Í× ¡Ò÷´Åͧ¢ºÑ âËÅ´¡ÃÐáÊʧ٠¢Í§ª´Ø ¡ÅÍ §ÊÁͧ¡Å IPST-MicroBOX l 15
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ toggle_d
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ sleep
void main()
{ // Ż٠ǹÃͺäÁà ¨Ù º
// µÃǨÊͺ¡Òá´ÊÇµÔ ª· ¾Õè Íõ PA1
while(1)
{
if(in_a(1)==0)
{
sleep(200); // Ë¹Ç §àÇÅÒ»ÃÐÁÒ³ 0.2 Ç¹Ô Ò·Õ à¾Íè× Å´ÊÑ ÒÃú¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
toggle_d(2); // ¡ÅºÑ ʶҹСÒõ´Ô /´ºÑ ¢Í§ËÅÍ´ä¿
}
}
}
¤Òí ͸ºÔ ÒÂâ»Ãá¡ÃÁ
â»Ãá¡ÃÁ¨ÐǹÍÒ ¹¤Ò Í¹Ô ¾µØ ¢Í§¡Òá´ÊÇµÔ ª ¶Ò äÁÁ ¡Õ Òá´ÊÇµÔ ª ¨ÐÍÒ ¹¤Ò ä´à »¹ 1 ¶Ò Á¡Õ Òá´
ÊÇµÔ ª¨ ÐÍÒ ¹¤Ò ä´à »¹ 0 àÁÍè× â»Ãá¡ÃÁµÃǨ¾ºÇÒ à§Íè× ¹ä¢ if(in_a(1)==0) ໹ ¨Ã§Ô ¹¹Ñè áÊ´§ÇÒ Á¡Õ Òá´ÊÇµÔ ª
à¡´Ô ¢¹éÖ ¨ÐµÍºÊ¹Í§´Ç ¡ÒÃË¹Ç §àÇÅÒ»ÃÐÁÒ³ 0.2 Ç¹Ô Ò·Õ à¾Í×è Å´¼Å¢Í§ÊÑ Ò³Ãº¡Ç¹·ËÕè ¹Ò ÊÁÑ ¼ÊÑ ¢Í§
ÊÇµÔ ª «§Öè ÊÇ ¹¹¼Õé ¾Ù ²Ñ ¹ÒÊÒÁÒöàÅÍ× ¡»ÃºÑ ä´µ ÒÁ¤ÇÒÁàËÁÒÐÊÁ¡ºÑ Ãкº ¨Ò¡¹¹éÑ ¨§Ö ·Òí ¡ÒÃ¡ÅºÑ Ê¶Ò¹Ð¡ÒÃ
µ´Ô /´ºÑ ¢Í§ËÅÍ´ä¿´Ç Â¤Òí ʧèÑ toggle_d(2);
â»Ãá¡ÃÁ·Õè B1-1 : ä¿Å RelayTest01.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ¤Çº¤ÁØ ÃàÕ Å´ Ç Â¡Òá´ÊÇµÔ ª
¡ÒÃàª×èÍÁµÍ·Ò§ÎÒôáÇÃ
B1.1.1 àªÍ×è ÁµÍ ¾Íõ PA1 ¢Í§á¼§Ç§¨ÃËÅ¡Ñ MicroBOX à¢Ò ¡ºÑ ¨´Ø µÍ Í¹Ô ¾µØ LOW ¢Í§á¼§Ç§¨Ã ZX-SWITCH
B1.1.2 àªÍè× ÁµÍ ¾Íõ PD2 ¢Í§á¼§Ç§¨ÃËÅ¡Ñ MicroBOX à¢Ò ¡ºÑ ¨´Ø µÍ Í¹Ô ¾µØ RELAY-1 ¢Í§á¼§Ç§¨Ã RELAY4i
B1.1.3 µÍ ÊÒÂä¿àÅÂéÕ §¨Ò¡¨´Ø µÍ à·ÍÃÁ ¹Ô ÍźÅÍç ¡¢Í§á¼§Ç§¨ÃËÅ¡Ñ MicroBOX ä»Â§Ñ ¨´Ø µÍ ä¿àÅÂÕé §¢Í§á¼§Ç§¨Ã
RELAY4i µÍ §µÍ ¢ÇéÑ ¢Í§ä¿àÅÂÕé §ã˶ ¡Ù µÍ § áç´¹Ñ ¢Í§ÍÐá´»àµÍÃä ¿µÃ§·¨èÕ Ò ÂãË¡ ºÑ ἧǧ¨Ã MicroBOX ໹ +12V
B1.1.4 µÍ ËÅÍ´ä¿ 12Và¢Ò ¡ºÑ ¨´Ø µÍ Ë¹Ò ÊÁÑ ¼ÊÑ ¢Í§ÃàÕ Å NO áÅÐ C ¢Í§àÍÒµ¾ µØ RELAY-1 µÒÁû٠·Õè B1-1
¢¹éÑ µÍ¹¡Ò÷´Åͧ
B1.1.1 ÊÃÒ §ä¿Åâ »Ãà¨¡ç µª Íè× RelayTest01 áÅоÁÔ ¾â »Ãá¡ÃÁÀÒÉÒ C µÒÁâ»Ãá¡ÃÁ·Õè B1-1
B1.1.2 ·Òí ¡ÒäÍÁä¾Åá ÅдÒǹâ ËÅ´â»Ãá¡ÃÁà¾Í×è ·´Êͺ¼ÅÅ¾Ñ ¸¡ Ò÷Òí §Ò¹
B1.1.3Ã¹Ñ â»Ãá¡ÃÁ¡´ÊÇµÔ ª· µÕè Í ¡ºÑ ¾Íõ PA1Ê§Ñ à¡µ¡Ò÷Òí §Ò¹¢Í§ËÅÍ´ä¿áÅСÒÃáÊ´§¼Å·áèÕ ¼§Ç§¨ÃRELAY4i
â´ÂàÁè×Í¡´¤ÃÑé§ááËÅʹ俨е͡Ѻ˹ÒÊÑÁ¼ÑʢͧÃÕàŵԴÊÇÒ§ ä¿áÊ´§Ê¶Ò¹Ð¡Ò÷íÒ§Ò¹¢Í§ªÍ§
RELAY-1 º¹á¼§Ç§¨Ã RELAY4i ¨Ðµ´Ô ÊÇÒ §´Ç Â
B1.1.5 ¡´ÊÇµÔ ªÍ ¡Õ ¤Ã§éÑ Ê§Ñ à¡µ¡Ò÷Òí §Ò¹¢Í§ËÅÍ´ä¿áÅСÒÃáÊ´§¼Å·áèÕ ¼§Ç§¨Ã RELAY4i
ËÅʹ俨дºÑ áÅÐ¶Ò ËÒ¡Á¡Õ Òá´ÊÇµÔ ªÍ ¡Õ ¤Ã§Ñé ÃàÕ Å¡ ¨ç зÒí §Ò¹ ËÅʹ俵´Ô ÊÇÒ § ¡Ò÷Òí §Ò¹¨Ð¡ÅºÑ
ʶҹеÒÁ¡Òá´ÊÇÔµªã¹áµÅФÃÑé§
#include
#include
void main()
{ // Ż٠ǹÃͺäÁà ¨Ù º
// µÃǨÊͺ¡Òá´ÊÇµÔ ª· ¾Õè Íõ PA1
while(1)
{
if(in_a(1)==0)
{
sleep(200); // Ë¹Ç §àÇÅÒ»ÃÐÁÒ³ 0.2 Ç¹Ô Ò·Õ à¾Íè× Å´ÊÑ ÒÃú¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
toggle_d(2); // ¡ÅºÑ ʶҹСÒõ´Ô /´ºÑ ¢Í§ËÅÍ´ä¿
}
}
}
¤Òí ͸ºÔ ÒÂâ»Ãá¡ÃÁ
â»Ãá¡ÃÁ¨ÐǹÍÒ ¹¤Ò Í¹Ô ¾µØ ¢Í§¡Òá´ÊÇµÔ ª ¶Ò äÁÁ ¡Õ Òá´ÊÇµÔ ª ¨ÐÍÒ ¹¤Ò ä´à »¹ 1 ¶Ò Á¡Õ Òá´
ÊÇµÔ ª¨ ÐÍÒ ¹¤Ò ä´à »¹ 0 àÁÍè× â»Ãá¡ÃÁµÃǨ¾ºÇÒ à§Íè× ¹ä¢ if(in_a(1)==0) ໹ ¨Ã§Ô ¹¹Ñè áÊ´§ÇÒ Á¡Õ Òá´ÊÇµÔ ª
à¡´Ô ¢¹éÖ ¨ÐµÍºÊ¹Í§´Ç ¡ÒÃË¹Ç §àÇÅÒ»ÃÐÁÒ³ 0.2 Ç¹Ô Ò·Õ à¾Í×è Å´¼Å¢Í§ÊÑ Ò³Ãº¡Ç¹·ËÕè ¹Ò ÊÁÑ ¼ÊÑ ¢Í§
ÊÇµÔ ª «§Öè ÊÇ ¹¹¼Õé ¾Ù ²Ñ ¹ÒÊÒÁÒöàÅÍ× ¡»ÃºÑ ä´µ ÒÁ¤ÇÒÁàËÁÒÐÊÁ¡ºÑ Ãкº ¨Ò¡¹¹éÑ ¨§Ö ·Òí ¡ÒÃ¡ÅºÑ Ê¶Ò¹Ð¡ÒÃ
µ´Ô /´ºÑ ¢Í§ËÅÍ´ä¿´Ç Â¤Òí ʧèÑ toggle_d(2);
â»Ãá¡ÃÁ·Õè B1-1 : ä¿Å RelayTest01.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ¤Çº¤ÁØ ÃàÕ Å´ Ç Â¡Òá´ÊÇµÔ ª
¡ÒÃàª×èÍÁµÍ·Ò§ÎÒôáÇÃ
B1.1.1 àªÍ×è ÁµÍ ¾Íõ PA1 ¢Í§á¼§Ç§¨ÃËÅ¡Ñ MicroBOX à¢Ò ¡ºÑ ¨´Ø µÍ Í¹Ô ¾µØ LOW ¢Í§á¼§Ç§¨Ã ZX-SWITCH
B1.1.2 àªÍè× ÁµÍ ¾Íõ PD2 ¢Í§á¼§Ç§¨ÃËÅ¡Ñ MicroBOX à¢Ò ¡ºÑ ¨´Ø µÍ Í¹Ô ¾µØ RELAY-1 ¢Í§á¼§Ç§¨Ã RELAY4i
B1.1.3 µÍ ÊÒÂä¿àÅÂéÕ §¨Ò¡¨´Ø µÍ à·ÍÃÁ ¹Ô ÍźÅÍç ¡¢Í§á¼§Ç§¨ÃËÅ¡Ñ MicroBOX ä»Â§Ñ ¨´Ø µÍ ä¿àÅÂÕé §¢Í§á¼§Ç§¨Ã
RELAY4i µÍ §µÍ ¢ÇéÑ ¢Í§ä¿àÅÂÕé §ã˶ ¡Ù µÍ § áç´¹Ñ ¢Í§ÍÐá´»àµÍÃä ¿µÃ§·¨èÕ Ò ÂãË¡ ºÑ ἧǧ¨Ã MicroBOX ໹ +12V
B1.1.4 µÍ ËÅÍ´ä¿ 12Và¢Ò ¡ºÑ ¨´Ø µÍ Ë¹Ò ÊÁÑ ¼ÊÑ ¢Í§ÃàÕ Å NO áÅÐ C ¢Í§àÍÒµ¾ µØ RELAY-1 µÒÁû٠·Õè B1-1
¢¹éÑ µÍ¹¡Ò÷´Åͧ
B1.1.1 ÊÃÒ §ä¿Åâ »Ãà¨¡ç µª Íè× RelayTest01 áÅоÁÔ ¾â »Ãá¡ÃÁÀÒÉÒ C µÒÁâ»Ãá¡ÃÁ·Õè B1-1
B1.1.2 ·Òí ¡ÒäÍÁä¾Åá ÅдÒǹâ ËÅ´â»Ãá¡ÃÁà¾Í×è ·´Êͺ¼ÅÅ¾Ñ ¸¡ Ò÷Òí §Ò¹
B1.1.3Ã¹Ñ â»Ãá¡ÃÁ¡´ÊÇµÔ ª· µÕè Í ¡ºÑ ¾Íõ PA1Ê§Ñ à¡µ¡Ò÷Òí §Ò¹¢Í§ËÅÍ´ä¿áÅСÒÃáÊ´§¼Å·áèÕ ¼§Ç§¨ÃRELAY4i
â´ÂàÁè×Í¡´¤ÃÑé§ááËÅʹ俨е͡Ѻ˹ÒÊÑÁ¼ÑʢͧÃÕàŵԴÊÇÒ§ ä¿áÊ´§Ê¶Ò¹Ð¡Ò÷íÒ§Ò¹¢Í§ªÍ§
RELAY-1 º¹á¼§Ç§¨Ã RELAY4i ¨Ðµ´Ô ÊÇÒ §´Ç Â
B1.1.5 ¡´ÊÇµÔ ªÍ ¡Õ ¤Ã§éÑ Ê§Ñ à¡µ¡Ò÷Òí §Ò¹¢Í§ËÅÍ´ä¿áÅСÒÃáÊ´§¼Å·áèÕ ¼§Ç§¨Ã RELAY4i
ËÅʹ俨дºÑ áÅÐ¶Ò ËÒ¡Á¡Õ Òá´ÊÇµÔ ªÍ ¡Õ ¤Ã§Ñé ÃàÕ Å¡ ¨ç зÒí §Ò¹ ËÅʹ俵´Ô ÊÇÒ § ¡Ò÷Òí §Ò¹¨Ð¡ÅºÑ
ʶҹеÒÁ¡Òá´ÊÇÔµªã¹áµÅФÃÑé§