ds5l1Çý¶¯Æ÷Èȹ¦ÂʹýÔØ£¬ttÂí´ï²ÎÊý
chanong
|Ëü²úÉúµÄÈÈÁ¿½ÏÉÙ£¬³ß´ç½ÏС£¬¶øÇÒ¼Û¸ñ±ãÒË¡£»ùÓÚMOSFET µÄTB6612 H ÇÅÊÇL298N µÄÀíÏëÌæ´úÆ·¡£ÌÔ±¦ÉÏ6¿éÇ®¾Í¿ÉÒÔÂòµ½¡£ËüÓÐÄÄЩÓÅȱµãÒÔ¼°ÈçºÎʹÓ㿽ñÌìÎÒÃǾÍÒ»ÆðÀ´ÌÖÂÛһϡ£±¾ÎÄ·Òë×Ô¿ÆÆÕ´óÉñDroneBotWorkshop.com¡£Í¨Ë×Ò×¶®£¬ÊʺϷÒëÐÂÊÖ¡£
Ŀ¼1 ¼ò½é
2 H ÇŻعË2.1 Âö¿íµ÷ÖÆ(PWM)
3 TB66121FNG H ÇÅ3.1 MOSFET ²ÉÓÃ3.2 TB6612FNG ¹æ¸ñ3.3 ¿ØÖÆTB6612FNG
4 TB6612 ºÍL298N
5 ½«TB6612FNG Á¬½Óµ½Arduino 5.1 TB6612FNG 5.2 TB6612FNG Arduino ²Ýͼ
6 TB6612FNG »úÆ÷ÈËС³µµ××ù6.1 TN6612FNG µÄSparkfun ¿â6.2 »úÆ÷ÈËС³µÁ¬½Ó6.3 »úÆ÷ÈËС³µ´úÂë
7 ½áÂÛ
½ÓÏÂÀ´£¬Á˽âÈçºÎÔÚArduino ÏîÄ¿ÖÐʹÓÃTB6612FNG H ÇÅ¡£
¼ò½é¿ØÖÆÖ±Á÷µç»úµÄËٶȺͷ½ÏòÊÇ΢¿ØÖÆÆ÷µÄÒ»¸ö·Ç³£³£¼ûµÄÓ¦Ó᣿ÉÄÜÓÐÐí¶àÏîÄ¿¿ÉÒÔʹÓÃÕâЩÉ豸¹¹½¨£¬´Ó»úÆ÷È˵½Ò£¿Ø·É»ú¡£
È»¶ø£¬Èç¹ûÄú³¢ÊÔ½«Ö±Á÷µç»úÖ±½ÓÁ¬½Óµ½Arduino µÈ΢¿ØÖÆÆ÷£¬ÄúºÜ¿ì¾Í»á·¢ÏÖÕâÊDz»¿ÉÄܵģ¬ÒòΪArduino ÎÞ·¨Îªµç»úÌṩ×ã¹»µÄµçÁ÷¡£
Ö±Á÷µç»úÐèÒªµÄµçÁ÷³¬¹ý΢¿ØÖÆÆ÷¿ÉÒÔÖ±½ÓÌṩµÄµçÁ÷£¬²¢ÇÒÐí¶àÖ±Á÷µç»úÔÚ´¦ÀíÆ÷ÎÞ·¨´¦ÀíµÄ²»Í¬µçѹÏÂÔËÐС£ËùÒÔÏÔÈ»ÐèҪijÖÖ½Ó¿Ú¡£
¿ØÖÆÖ±Á÷µç»úµÄ×î³£¼û·½·¨ÊÇʹÓóÆÎªH ÇŵÄÉ豸¡£ÕâÖÖÀàÐ͵ĿØÖÆÆ÷¿ÉÒÔ¿ØÖÆÖ±Á÷µç»úµÄËٶȺͷ½Ïò£¬»¹¿ÉÒÔʹÓÃÒ»¶ÔH ÇÅ¿ØÖÆË«¼«²½½øµç»ú¡£
ÎÒÃÇÔÚÐí¶àÏîÄ¿ÖÐʹÓÃH ÇÅ¡£ËüÏà¶Ô±ãÒ˲¢Çҷdz£Ò×ÓÚʹÓᣵ½Ä¿Ç°ÎªÖ¹£¬×î³£ÓõÄHÇÅÊÇL298N¡£
L298N ÊÇÐí¶àArduino ÏîÄ¿Éè¼ÆÖзdz£³£ÓõÄ×é¼þ¡£Ò»µ©ÄúÁ˽âÁËËüµÄ¹¤×÷ÔÀí£¬Ëü¾Í»á±äµÃ±ãÒËÇÒÒ×ÓÚʹÓá£È»¶ø£¬ÕâÒ²ÓÐÆäȱµã¡£ÉÔºó»áÏêϸ½éÉÜ¡£
½ñÌìÎÒÃǽ«Ê¹ÓøüºÃµÄH ÇÅ£¬Ëü¿ÉÒÔÔÚÐí¶àÓ¦ÓÃÖÐÌæ´úL298N¡£Ëü±»³ÆÎªTB6612FNG£¬ÔÚʹÓÃËüÖ®ºó£¬ÎÒÏëÄú»áͬÒâËüÊDZȾɵÄL298N ¸üºÃµÄÑ¡Ôñ¡£
H ÇŻعËÔÚ¿ªÊ¼Ö®Ç°£¬ÎÒÃÇÏȻعËÒ»ÏÂH ÇŵŤ×÷ÔÀí¡£Èç¹ûÄãÃ÷°×¾ÍÌø¹ýÕâ¸ö¡£
ÏÂͼչʾÁËÖ±Á÷µç»úºÍHÇŵŤ×÷ÔÀí¡£
H ÇÅ¿ÉÒÔÏëÏóΪËĸö¿ª¹ØµÄÅÅÁС£ÕýÈçÄúËù¿´µ½µÄ£¬¿ª¹ØµÄÅÅÁз½Ê½ºÜÏñ×Öĸ¡°H¡±¡£Òò´ËµÃÃû¡°H ÇÅ¡±¡£ÈçͼËùʾ£¬µç»úλÓÚ¡°H¡±µÄÖм䡣ÕýÈçÄú¿ÉÒÔÏëÏóµÄÄÇÑù£¬µ±¿ª¹Ø´ò¿ªÊ±£¬Ã»ÓеçÁ÷Á÷Ïòµç»ú¡£
ÈçÉÏͼËùʾ£¬µ±Äã±ÕºÏһЩ¿ª¹ØÊ±£¬Äã»á·¢ÏÖµçÁ÷Á÷¹ýµç»ú£¬µç»ú˳ʱÕëÐýת¡£ÏÔÈ»£¬Í¬Ê±±ÕºÏÁ½¸öÒÔÉϵĿª¹Ø¿ÉÄܻᵼÖ¶Ì·¡£
±ÕºÏÁíÍâÁ½¸ö¿ª¹ØÔÊÐíµçÁ÷Á÷¹ýµç»ú£¬µ«¼«ÐÔÏà·´¡£Õ⽫µ¼Öµç»úÄæÊ±ÕëÐýת¡£
Äú»¹¿ÉÒÔʹÓÃÎïÀí½»»»»ú¹¹½¨H ÇÅ£¬µ«ÕâÖÖÇé¿ö²»Ì«³£¼û¡£ÔÚ´ó¶àÊýÇé¿öÏ£¬¿ª¹Ø±»Ë«¼«½áÐ;§Ìå¹Ü(BJT) »òMOSFET µÈ°ëµ¼ÌåÈ¡´ú¡£
Óð뵼Ìå´úÌæ¿ª¹Ø»¹ÓÐÒ»¸ö¶îÍâµÄÓŵ㣺Ëü»¹ÔÊÐíµ÷½Úµç»úµÄËÙ¶È¡£
Âö¿íµ÷ÖÆ(PWM) Âö¿íµ÷ÖÆ(PWM) ¹ËÃû˼Òå¡£Âö³å±»·¢Ë͵½¿ØÖÆH Çŵľ§Ìå¹Ü£¬µç×Ó¡°¿ª¹Ø¡±»á·Ç³£¿ìËٵشò¿ªºÍ¹Ø±ÕËü¡£
Äú¿ÉÒÔ¸ü¸ÄÂö³å¿í¶ÈÀ´ÉèÖá°¿ª¡±ºÍ¡°¹Ø¡±±ÈÂÊ¡£Õâ¾ßÓпØÖƵç»úËٶȵÄЧ¹û¡£
Óë¼òµ¥µØ¸Ä±äµçÔ´µçѹÏà±È£¬PWM Êǵ÷½ÚÖ±Á÷µç»úËٶȵĸüºÃ·½·¨¡£Í¨¹ýPWM£¬µç»úÔÚÕû¸öËÙ¶È·¶Î§ÄÚÒÔ×î´óŤ¾ØÔËÐУ¬¶øÊ¹Óõçѹ¿ØÖÆÊ±ÔòÔÚµÍËÙʱŤ¾Ø½µµÍ¡£
TB66121FNG H ÇÅÏÖÔÚÈÃÎÒÃÇÀ´¿´¿´¡°¸üºÃ¡±µÄH ÇÅÄ£¿é¡£
TB6612FNG H ÇÅÊÇÒ»¿îСÐÍ¡¢¾¼Ãʵ»ÝµÄ˫ͨµÀH ÇÅ¿ØÖÆÆ÷£¬Ê¹ÓÃMOSFET À´ÊµÏÖ׿ԽµÄÐÔÄÜ¡£
ʹÓÃMOSFET Çý¶¯MOSFET ±ÈË«¼«½áÐ;§Ìå¹Ü(BJT) ¾ßÓÐÏÔ×ÅÓÅÊÆ¡£
µäÐ͵ÄBJT ÔÚ¡°µ¼Í¨¡±×´Ì¬ÏµÄѹ½µÔ¼Îª0.7 ·ü£¬²¢ÇÒÓÉÓÚH ÇÅÐèÒªµçÁ÷Á÷¹ýÁ½¸öBJT£¬Òò´Ë×Üѹ½µÎª1.4 ·ü¡£Ôڵ͵çѹÏ£¬Õâ¸ù±¾²»ÊÇÎÊÌâ¡£Èç¹ûÏòH ÇÅÌṩ6 ·üµçѹ£¬Ôòµç»úµÄÊä³ö½«½öΪ4.6 ·ü¡£ÔÚ´ËʾÀýÖУ¬H ÇÅÖÐËðʧÁ˽ü25% µÄµçѹ¡£¸ÃÄÜÁ¿ÒÔÈȵÄÐÎʽºÄÉ¢¡£Õâ¾ÍÊÇΪʲô´ó¶àÊý»ùÓÚBJT µÄH ÇÅÐèÒª·Ç³£´óµÄÉ¢ÈÈÆ÷¡£
MOSFET ûÓй̶¨Ñ¹½µ¡£Ïà·´£¬µ±MOSFET µ¼Í¨Ê±£¬Æäµç×è·Ç³£Ð¡£¬Í¨³£Ö»ÓÐÁãµã¼¸Å·Ä·¡£¼´Ê¹ÔÚH ÇÅÉè¼ÆÖÐÁ½¸öMOSFET ¶¼¡°µ¼Í¨¡±£¬×ܵç×èÒ²·Ç³£µÍ¡£ÊÂʵÉÏ£¬Èç¹ûÄúʹÓÃÓÖ³¤ÓÖϸµÄµçÏß×÷ΪµçÔ´£¬Á½¸öµç×è¿ÉÄܶ¼±ÈH ÇŸü´ó¡£
Òò´Ë£¬µçѹ½µ¼«µÍ£¬¼¸ºõ¿ÉÒÔºöÂÔ²»¼Æ¡£ÕâÒâζ׿¸ºõËùÓÐÀ´×ÔµçÔ´µÄµçѹ¶¼»á´«µÝµ½µç»ú¡£ÈÈÁ¿ËðʧÉÙ¡£
TB6612FNG ¹æ¸ñTB6612FNG ¹æ¸ñÈçÏ£¨¹æ¸ñÊÊÓÃÓÚÄ£¿éÖеÄÁ½¸öH ÇÅ£©¡£
µç»úµçÔ´µçѹΪ2.5 ÖÁ13.5 ·üÖ±Á÷µç¡£Âß¼µçÔ´µçѹΪ2.7 ÖÁ5.5 ·üÖ±Á÷µç¡£Á¬ÐøÊä³öµçÁ÷Ϊ1.2 °²Å࣬·åÖµµçÁ÷Ϊ3.2 °²Åà¡£ÄÚÖÃÈȹضϹ¦ÄÜ¡£´ý»úµçԴģʽ¡£¸ÃÆ÷¼þÊÇÒ»ÖÖ±íÃæÌùװоƬ£¬¿ÉÓÃÓÚÐí¶àÁ÷ÐеÄÄ£¿é¡£
µäÐ͵ÄTB6612FNG Ä£¿éÒý½ÅÅÅÁÐÈçÏ£º
¹ØÓÚÄ£¿é²¼¾ÖÐèҪעÒâµÄÒ»µãÊÇ£¬ËùÓÐÊäÈëÒý½Å¶¼Î»ÓÚÒ»²à£¬ËùÓÐÊä³öºÍµçÔ´Òý½Å¶¼Î»ÓÚÁíÒ»²à¡£ÕâÖÖË«H ÇÅÄ£¿éÏÔȻûÓÐÉ¢ÈÈÆ÷£¬µ«Èç¹ûÄúÔ¸Ò⣬Äú¿ÉÒÔÔÚ±íÃæÌùװоƬÉ**²×°Ò»¸öСÐÍÉ¢ÈÈÆ÷¡£
¿ØÖÆTB6612FNG TB6612FNG ¿ÉÒÔÔÚËÄÖÖģʽÏÂÔËÐС£
˳ʱÕëÄæÊ±Õë¶ÌÖÆ¶¯Í£Ö¹Òª¿ØÖÆH ÇÅ£¬Äú¿ÉÒÔʹÓõç»úA Êä³ö´¦µÄAI1£¨»òÔÚijЩÐͺÅÉϱê¼ÇΪ¡°AIN1¡±£©ºÍAI2 (AIN2) Òý½Å¡£ B ÊäÈë¿ØÖÆÏßÒÔÀàËÆµÄ·½Ê½ÓÃÓÚµç»úB Êä³ö¡£
ϱíÏÔʾÁËËüµÄ¹¤×÷ÔÀí¡£
PWMA ºÍPWMB ÊäÈëÓÃÓÚÒÔÂö¿íµ÷ÖÆ·½Ê½¿ØÖƵç»úËÙ¶È¡£
Çë×¢Ò⣬´ý»úÊäÈë(STBY) ±ØÐë±£³Ö¸ßµçƽ²ÅÄÜʹTB6612FGH ÔËÐС£Ëü¿ÉÒÔÁ¬½Óµ½VCC »òʹÓÃArduino Êä³ö½øÐпØÖÆ¡£
µÚ¶þµãÐèҪעÒâµÄÊÇ£¬ÕýÏòºÍ·´Ïò¿ØÖÆÐźÅÓëµäÐÍL298N H ÇÅÖÐʹÓõÄÐźÅÏàͬ¡£ÕâʹµÃÔÚÐí¶àÇé¿öÏ¿ÉÒÔÇáËÉʹÓÃTB6612FNG ×÷Ϊֱ½ÓÌæ´úÆ·¡£
TB6612ºÍL298N×îºóÒ»¶ÎµÄ¹Ø¼ü´ÊÊÇ¡°¾³£¡±¡£ÔÚijЩÇé¿öÏ£¨ÀýÈç¸ßѹµç»ú£©£¬TB6612FNG ÎÞ·¨Ê¹Óá£È»¶ø£¬¶ÔÓÚÐí¶àÉè¼Æ£¬°üÀ¨Ê¹ÓÃ6 ·ü»ò12 ·üµç»úµÄÉè¼Æ£¬ËüÃÇÊÇÌá¸ßÐÔÄܵÄÀíÏëÌæ´úÆ·¡£
ÏÂÃæÊÇTB6612FNGºÍL298NµÄ¹æ¸ñ±È½Ï¡£
Èç¹ûÄúµÄµç»úÐèÒª³¬¹ý13.5 ·ü£¬ÔòTB6612FNG ²»Êʺϡ£µ«ÊÇ£¬Èç¹ûÄúµÄµç»úÊǵÍѹ£¨¼´3·ü£©É豸£¬Ôò¿ÉÒÔ½«ÆäÌæ»»ÎªL298N¡£
L298N ¿ÉÒÔ´¦ÀíµÄÎÈ̬¹¤×÷µçÁ÷¼¸ºõÊÇTB6612FNG µÄÁ½±¶£¬µ«Ò»µ©´ïµ½·åÖµµçÁ÷£¬Çé¿ö¾Í²î²»¶àÁË¡£
Èç¹ûÊÊÓã¬TB6612FNG ÏÔÈ»¸üʤһ³ï¡£
ÊÂʵÉÏ£¬´ó¶àÊýTB6612FNG Ä£¿éµÄ³ß´ç»¹²»µ½L298N Ä£¿éµÄËÄ·ÖÖ®Ò»¡£ÓÉÓÚûÓÐÉ¢ÈÈÆ÷£¬Òò´Ë¸ü¼Ó½ô´Õ¡£µ«ÊÇ£¬×îºÃÈÃÉ豸ÖÜΧÓÐ¿ÕÆøÁ÷ͨ¡£ TB6612FNGµÄÁÁµãÔÚÓÚЧÂÊ¡£Èç¹ûÄúÕýÔÚ¹¹½¨µç³Ø¹©µçµÄÉ豸£¬Ç¿ÁÒÍÆ¼ö¡£Ê¹ÓÃTB6612FNG£¬¼¸ºõËùÓеç»úµçÔ´µçѹ¶¼»áµ½´ïµç»ú¡£ L298NµÄѹ½µÎª1.4·ü¡£ TB6612FNG ¾ßÓÐL298N ËùûÓеĵ͵çÁ÷´ý»úģʽ¡£ÎÒÏëÎÒ»á¸ÄÓÃTB6612FNG ÒÔÊÊÓ¦ÐÂÉè¼Æ¡£ÎҵijéÌëÀï×°ÂúÁËL298N Ä£¿é£¡
ÓÃÓÚArduino µÄTB6612FNG TB6612FNG ʹÓÃÓëL298N ÀàËÆµÄ¿ØÖÆ·½°¸£¬Òò´ËÄú¿ÉÒÔÇáËɵØÖظ´Ê¹ÓþɴúÂëÀ´Ê¹ÓÃпØÖÆÆ÷¡£ÊÂʵÉÏ£¬ÕâÕýÊÇÎÒÔÚµÚÒ»¸öÑÝʾÖÐËù×öµÄ¡£
ΪTB6612FNG ½ÓÏß´ËʵÑéÐèÒªÒÔÏÂ×é¼þ¡£
Arduino£¬ÎÒʹÓõÄÊÇArduino Uno£¬µ«ÈκÎArduino ¶¼¿ÉÒÔ¹¤×÷¡£Á½¸öµçλÆ÷¿ØÖÆËÙ¶È¡£ÎÒʹÓÃÁË10K ÏßÐÔµçλÆ÷£¬µ«Èκγ¬¹ý5K µÄÏßÐÔµçλÆ÷¾Í×ã¹»ÁË¡£ TB6612FNG Ë«H Çŵç»ú¿ØÖÆÆ÷¡£Á½¸öСÐÍÖ±Á÷µç»ú¡£ÎÒÓÃÁËÁ½¸ö6 ·üµç»ú¡£»ÆÉ«µç»úÊÇСÐÍ»úÆ÷ÈËÆû³µÌ×¼þ¸½´øµÄµç»ú¡£µç¶¯»úµÄµçÔ´¡£Ê¹ÓÃ6·üµç»úʱ£¬µçԴΪ6·ü£¬ÓÉ4½ÚAAµç³Ø×é³É¡£½ÓÏßÈçÏ¡£
ʹÓÃÉÏͼÓÒ²àµÄ±í¸ñ½«TB6612FNG Á¬½Óµ½Arduino¡£ÁíÍ⣬²»ÒªÍü¼Ç½«STBY£¨´ý»ú£©ÒýÏßÁ¬½Óµ½+5 ·ü¡£·ñÔò£¬Ëü½«ÎÞ·¨Õý³£¹¤×÷¡£
Arduino µÄTB6612FNG ´úÂëÁ¬½ÓËùÓÐ×é¼þºó£¬Äú¿ÉÒÔÔËÐÐÒÔÏ´úÂ뿪ʼ¹¤×÷¡£
/*TB6612FNG H ÇÅÑÝʾTB6612-Demo.inoÑÝʾʹÓÃTB6612FNG H Çŵç»ú¿ØÖÆÆ÷Çý¶¯Á½¸öÖ±Á÷µç»úDroneBot Workshop 2019https://dronebotworkshop.com*///Motor Aint pwmA=5;int in1A=3;int in2A=4;//Motor Bint pwmB=6;int in1B=7;int in2B=8;//µ÷ËÙµçλÆ÷sint SpeedControl1=A0;int SpeedControl2=A1;//µç»úËÙ¶ÈÖµ-´ÓÁ㿪ʼint MotorSpeed1=0;int MotorSpeed2=0; void setup () {//ÉèÖÃËùÓеç»ú¿ØÖÆÒý½ÅΪÊä³öspinMode(pwmA, OUTPUT);pinMode(pwmB, OUTPUT);pinMode(in1A, OUTPUT);pinMode(in2A, OUTPUT);pinMode(in1B, OUTPUT) ;pinMode (in2B, OUTPUT );}void Loop() {//ÉèÖõç»úA ÕýÏòdigitalWrite(in1A, HIGH);digitalWrite(in2A, LOW);//ÉèÖõç»úB ÕýÏòdigitalWrite(in1B, HIGH);digitalWrite (in2B, LOW) ) ;//¶ÁÈ¡µçλÆ÷²¢½«Æäת»»Îª·¶Î§0 µ½255MotorSpeed1=map(analogRead(SpeedControl1), 0, 1023, 0, 255);MotorSpeed2=map(analogRead(SpeedControl2), 0 , 1023, 0, 255); //ÉèÖõç»úËÙ¶ÈsanalogWrite( pwmA, MotorSpeed1);analogWrite(pwmB, MotorSpeed2);} Ê×ÏÈÊÇTB6612FNGµç»ú¿ØÖÆÆ÷Á¬½ÓµÄArduinoÒý½Å£¬IN1ºÍIN2Òý½Å£¬²¢¶¨ÒåÒ»¸ö±äÁ¿À´´ú±íPWMÒý½Å¡£
½ÓÏÂÀ´£¬¶¨ÒåÒ»¸ö±äÁ¿À´±íʾÓëµçλ¼ÆµÄÄ£ÄâÁ¬½Ó£¬²¢¶¨ÒåÒ»¸ö±äÁ¿À´±íʾµç»úËÙ¶È¡£
ÔÚÉèÖÃÖУ¬ÎÒÃǽ«ËùÓÐÒý½Å¶¨ÒåΪÊä³ö²¢½øÈëÑ»·¡£
ͨ¹ýÉèÖÃÁ½¸öµç»úµÄ·½ÏòÀ´Æô¶¯Ñ»·¡£Èç¹ûÐèÒª£¬Äú¿ÉÒÔʹÓÃÉϱíÀ´·´×ªÒ»¸ö»òÁ½¸öµç»úµÄ·½Ïò¡£
½ÓÏÂÀ´£¬¶ÁÈ¡Á½¸öµçλÆ÷µÄÖµ¡£ÖµµÄ·¶Î§ÊÇ0µ½1023£¬Òò´ËʹÓÃMapº¯Êý½«·¶Î§¸ü¸ÄΪ0µ½255¡£
×îºó£¬Ê¹ÓÃÉú³ÉPWM µÄAnalogWrite º¯Êý½«PWM Âö³åдÈëµç»ú¿ØÖÆÆ÷²¢ÉèÖÃËÙ¶È¡£
½«´úÂë¼ÓÔØµ½Arduino ÖУ¬Á¬½Óµç»úµçÔ´²¢Ê¹ÓÃÁ½¸öµçλÆ÷¡£Äú½«Äܹ»Ê¹ÓÃËüÃÇÀ´¿ØÖƵç»úµÄËÙ¶È¡£
TB6612FNG »úÆ÷ÈËÆû³µµ××ùTB6612FNG µÄ×îÖÕʵÑéʹÓÃTB6612FNG H ÇÅÀ´Çý¶¯Ð¡ÐÍ»úÆ÷ÈËÆû³µµÄµç»ú¡£
ÊÂʵÉÏ£¬ÎÒÃÇ¿ÉÒÔÔÚÉÏÒ»¸öʵÑéÖÐ×öµ½ÕâÒ»µã£¬²¢Ê¹ÓÃÁ½¸öµçλÆ÷¿ØÖƵç»ú¡£È»¶ø£¬ÕâÒ»´ÎÎÒÏë³¢ÊÔÒÔ²»Í¬µÄ·½Ê½±à³Ì¡£
Õâ´ÎÎÒ½«³¢ÊÔʹÓøÿ⡣
ÊÊÓÃÓÚTN6612FNG µÄSparkfun ¿âSparkfun ·¢²¼ÁËרÃÅΪTN6612FNG ¿ª·¢µÄ¿â¡£Õâ¿ÉÒÔ´ÓGitHub ÏÂÔØ¡£
¸Ã¿â¼ò»¯Á˵ç»ú¿ØÖÆÆ÷µÄʹÓᣳýÁËÄܹ»ÒÔÈÎÒâËÙ¶ÈË«ÏòÒÆ¶¯µç»úÍ⣬Ëü»¹¾ßÓÐÖÆ¶¯ºÍÍ£Ö¹µÄÄÜÁ¦¡£
´ËÍ⣬Sparkfun ¿â¸½´øÁ˷dz£ÊʺϻúÆ÷ÈËÆû³µµÄʾÀý´úÂ롣ʵ¼ÊÉÏ£¬ÎÒÖ»ÐèÒª¸ü¸ÄÒ»Ðм´¿ÉʹÆäÕý³£¹¤×÷¡£
ΪÁ˸ø»úÆ÷ÈËÆû³µ½ÓÏߣ¬ÎÒʹÓÃÁËÒ»ÖÖÁ÷ÐеıûÏ©Ëá»úÆ÷ÈËÆû³µÌ×¼þ¡£¸ÃÌ×¼þ¿ÉÒÔÔÚÌÔ±¦ºÍÑÇÂíÑ·ÉÏÇáËɹºÂò¡£ÕâЩÌ×¼þÅäÓÐÒ»¸öµ××ù¡¢Ò»¶Ôµç»ú¡¢Ò»Ð©ÅäÌ×µÄÂÖ×Ó¡¢Ò»¸öµç³Ø×ùÒÔ¼°½«ËùÓж«Î÷×é×°ÔÚÒ»ÆðËùÐèµÄËùÓÐÓ²¼þ¡£
»úÆ÷ÈËÆû³µµÄµçÆø½ÓÏßÓë֮ǰʹÓõĽÓÏ߷dz£ÏàËÆ¡£ Arduino ºÍTB6612FNG Ö®¼äµÄÁ¬½ÓÏàͬ£¬µ«ÔÚArduino Òý½ÅºÍ´ý»úÒý½ÅÖ®¼äÔö¼ÓÁËÒ»¸öÁ¬½Ó¡£ÎÒ²ðÏÂÁËÁ½¸öµçλÆ÷¡£
Äú¿ÉÒÔʹÓÃÁ½½Úï®µç³Ø»òËĽÚAA µç³ØÎªµç»ú¹©µç²¢ÎªArduino ¹©µç¡£ÎªArduino ¹©µçµÄÁíÒ»¸ö²»´íµÄÑ¡ÔñÊÇʹÓÃUSB ÒÆ¶¯µçÔ´¡£
¾ÍÎÒ¶øÑÔ£¬ÎÒÖ»Êǽ«½ÓÏßÁôÔÚÃæ°ü°åÉ϶ø²»½øÐк¸½Ó£¬²¢Ê¹ÓÃÖ§¼ÜÀ´¹Ì¶¨Arduino¡£½á¹û£¬ÎÒÃÇÈÏΪÎÒÃÇ´´ÔìÁËÊÀ½çÉÏ×î³óµÄ»úÆ÷ÈËÆû³µ£¡
ͨ¹ýÓÀ¾Ã²¼Ïß²¢ÕýÈ·°²×°ºÍƽºâArduino ºÍµç³Ø×ù£¬Äú¿ÉÒÔ×öµÃ¸üºÃ¡£¾ÍÎÒ¶øÑÔ£¬¸Ã×°Öò»Æ½ºâ£¬Òò´ËÎÒÔÚ±³Ãæ°²×°ÁËÒ»¸öСÐÍC ÐμÐÒÔÔö¼ÓÖØÁ¿¡£
»úÆ÷ÈËС³µ´úÂëÔÚÔËÐлúÆ÷ÈË´úÂë֮ǰ£¬ÄúÐèÒª°²×°Sparkfun ¿â¡£×î¼òµ¥µÄ·½·¨Êǽ«¿âÏÂÔØÎªzip Îļþ¡£½«Æä±£´æÔÚ¼ÆËã»úÉϵÄij¸öλÖÃÒÔ±ãÄúÒÔºó¿ÉÒÔÕÒµ½Ëü¡£×îÈÝÒ×ÕÒµ½ËüµÄµØ·½ÊÇÔÚÄúµÄÏÂÔØÎļþ¼ÐÖС£
½ÓÏÂÀ´£¬´ò¿ªArduino IDE ²¢µ¥»÷Ò³Ãæ¶¥²¿µÄSketch ²Ëµ¥ÏѡÔñ¡°°üº¬¿â¡±½«´ò¿ªÒ»¸ö×Ӳ˵¥¡£
×Ӳ˵¥¶¥²¿µÄµÚ¶þÏîÊÇ¡°Ìí¼ÓZIP ¿â¡±¡£Ñ¡Ôñ´ËÑ¡Ï´ò¿ªÒ»¸ö¶Ô»°¿ò¡£Ê¹ÓøöԻ°¿òä¯ÀÀµ½±£´æ¿âZIP ÎļþµÄλÖò¢Ñ¡ÔñËü¡£
¸Ã¿âËæÊ¾Àý´úÂëÒ»Æð°²×°¡£
ÒªÔÚArduino IDE ÖÐÔËÐÐʾÀý´úÂ룬ÄúÐèÒª´Ó¶¥²¿Ñ¡Ôñ¡°Îļþ¡±²Ëµ¥£¬È»ºóÑ¡Ôñ¡°Ê¾Àý¡±¡£½«³öÏÖÒ»¸ö×Ӳ˵¥¡£ÏòϹö¶¯×Ӳ˵¥µ½µ×²¿¸½½üµÄ¡°×Ô¶¨Òå¿âÖеÄʾÀý¡±¡£ÏÂÃæ£¬Äú½«¿´µ½°´×Öĸ˳ÐòÅÅÁеÄʾÀýÁÐ±í¡£²éÕÒ²¢Ñ¡ÔñSparkfun TB6612FNG µç»ú¿â¡£
¸Ã¿â½ö°üº¬ÃûΪMotorTestRun µÄʾÀý´úÂë¡£´ò¿ª´úÂë¡£ÕâÊÇÓÃÓÚ»úÆ÷ÈËÆû³µµÄ´úÂë¡£
Èç¹ûÄúÏëÈçÉÏËùʾÁ¬½ÓArduino ºÍTB6612FNG£¬ÔòÐèÒª¶Ô´úÂë½øÐÐÒ»´¦¸ü¸Ä¡£ÕâÊÇÒòΪSparkfunʹÓõÄArduinoÒý½ÅÓëÁ¬½ÓʱʹÓõÄArduinoÒý½Å²»Í¬¡£
Sparkfun ʹÓÃÒý½Å2 ½øÐÐAIN1 (AI1) Á¬½Ó£¬ÎÒʹÓÃÒý½Å3¡£Òò´Ë£¬Äú¿ÉÒÔͨ¹ýÁ½ÖÖ·½Ê½À´´¦Àí£º
½«´úÂëµÚ28 Ðиü¸ÄΪ#define AIN13¡£Õâ¾ÍÊÇÎÒ´¦Àí²îÒìµÄ·½Ê½¡£Ö»Ðè±£³Ö´úÂëÏàͬ²¢½«Òý½Å3 Á¬½Ó¸ü¸ÄΪÒý½Å2 ¼´¿É¡£ÏÂÃæÊÇÐÞ¸ÄΪʹÓÃÒý½Å3 µÄ´úÂë¡£
/**************************************************** * **** *************************************TestRun.inoTB6612FNG HÇŵç»úÇý¶¯³ÌÐò´úÂëʾÀýMichelle @ SparkFun Electronics8/20/16https://github.com/sparkfun/SparkFun_TB6612FNG_Arduino_Library ʹÓÃÁ½¸öµç»úÀ´ÑÝʾ¿âÖеŦÄÜ¡£Õâ»áµ¼Ö»úÆ÷ÈËÉÔ΢¡°¶¶¶¯¡±¡£Ã¿¸öÔ˶¯¶¼ÓÐÏàµÈÇÒÏà·´µÄÔ˶¯£¬Òò´Ë¼ÙÉèµç»úƽºâ£¬»úÆ÷ÈËÓ¦¸ÃÍê³É×ÊÔ´£ºTB6612 SparkFun ¿â¿ª·¢»·¾³ÏêϸÐÅÏ¢£º Developed with Arduino 1.6.4 Developed with ROB-9457 ************ ****************************************************** ***************** ********///ÕâÊÇÀàMotor ºÍËùÓÐ//º¯Êý#include //°üº¬ËùÓÐÊäÈëÒý½ÅµÄTB6612 ¿â¡£Çë×¢Ò⣬PWM ¶¨Ò屨ÐëλÓÚPWM Òý½ÅÉÏ//ÁгöµÄĬÈÏÒý½ÅÊÇRedbot (ROB-12097) ʹÓõÄÒý½Å¡£ //³ýÁËSTBYÖ®Í⣬Redbotͨ¹ýÎïÀí¿ª¹Ø¿ØÖÆSTBY#define AIN1 3#define BIN1 7#define AIN2 4#define BIN2 8#define PWMA 5#define PWMB 6#define STBY 9//ÕâЩ³£Á¿ÓÃÓÚµç»úÉèÖÃÓÃÓÚ´´½¨¡£ //¿ÉÒÔÆ¥Å亯ÊýÃû³Æ£¬ÀýÈçforward¡£ÖµÎª1»ò-1 const int offsetA=1;const int offsetB=1;//µç»ú³õʼ»¯¡£Ö»ÒªÎÒÃÇÓÐÄڴ棬¸Ã¿â¾ÍÔÊÐíÎÒÃdzõʼ»¯µç»ú¡£Èç¹ûÄúʹÓÃÏñforward//ÕâÑùµÄº¯Êý£¬ËüÐèÒªÁ½¸öµç»ú×÷Ϊ²ÎÊý£¬Äú¿ÉÒÔ´´½¨Ò»¸öк¯Êý»òµ÷ÓÃ//¡£¶à´ÎÔËÐÐÒ»¸öº¯Êý¡£µç»úmotor1=µç»ú(AIN1, AIN2, PWMA, offsetA, STBY);µç»úmotor2=µç»ú(BIN1, BIN2, PWMB, offsetB, STBY);void setup(){//ÕâÀïʲôҲûÓÐ}void loop() { //ʹÓÃÒ»¸öÒÔËÙ¶ÈΪ²ÎÊýºÍ¿ÉÑ¡³ÖÐøÊ±¼äµÄÇý¶¯º¯Êý¡£¸ºËÙ¶È//ÏòÏà·´·½ÏòÒÆ¶¯¡£ËÙ¶È´Ó-255µ½255¡£/Ò²Óùý¡£ /brake º¯Êý²»´ø²ÎÊý¡£ motor1.drive(255,1000);motor1.drive(-255,1000);motor1.brake();Delay(1000); //Çý¶¯¹¦ÄܵÄʹÓÃËÙ¶È//ºÍ¿ÉÑ¡µÄ³ÖÐøÊ±¼ä×÷Ϊ²ÎÊý¡£¸ºËÙ¶È//ÑØÏà·´·½ÏòÒÆ¶¯¡£ËÙ¶È´Ó-255µ½255¡£ÎÒÃÇ»¹Ê¹Óò»´ø²ÎÊýµÄ//brake º¯Êý¡£ motor2.drive(255,1000 );motor2.drive(-255,1000);motor2.brake();Delay(1000 ); //ʹÓÃת·¢º¯Êý£¬¸Ãº¯Êý½«Á½¸öµç»ú¼°ÆäËÙ¶È×÷Ϊ²ÎÊý£¨¿ÉÑ¡£©¡£Èç¹ûSpeed ʹÓøºÊý//·´Ïòǰ½ø(motor1, motor2, 150); Late(1000); //ʹÓÃÒÔÁ½¸öµç»úΪ²ÎÊýµÄback º¯Êý//¿ÉÑ¡ËÙ¶È¡£ÕýÊý»ò¸ºÊý//ËÙ¶ÈÊý½«ÒÔÏà·´µÄ·½Ïòǰ½øback(motor1, motor2, -150); Late(1000); //ʹÓÃÒÔÁ½¸öµç»úΪ²ÎÊýµÄÖÆ¶¯º¯Êý//×¢Òâ¸Ãº¯ÊýBrake(motor1, motor2); Delay(1000); //ʹÓÃÒÔÁ½¸öµç»úºÍËÙ¶ÈΪ²ÎÊýµÄleft ºÍright º¯Êý¡£ //´Ëº¯ÊýÐýתÁ½¸öµç»úÒÔÏòÊʵ±µÄ·½ÏòÒÆ¶¯¡£Òª×ª¶¯µ¥¸öµç»ú£ºdrive.left(motor1, motor2, 100); Late(1000) ; right(motor1, motor2, 100); Late(1000); //ÔÙ´ÎʹÓÃÖÆ¶¯Æ÷¡£Öƶ¯Æ÷£¨µç»ú1¡¢µç»ú2£©£»Sparkfun ¿âʹTN6612FNG µÄʹÓñäµÃ·Ç³£ÈÝÒס£¶¨ÒåËùÓеç»ú¿ØÖÆÆ÷Á¬½Óºó£¬ÉèÖÃÁ½¸ö¶ÔÏ󣬷ֱðÃüÃûΪmotor1 ºÍMotor2¡£Çë×¢Òâ´´½¨¶ÔÏóʱÈçºÎ´«µÝËùÓеç»ú²ÎÊý¡£
ÉèÖÃÖв»ÐèÒªÈκÎÄÚÈÝ£¬ÒòΪ¿â½«Òý½Å¶¨ÒåΪÊä³ö¡£
Ñ»·»ù±¾ÉÏÊÇ¿âÌṩµÄ¹¦ÄܵÄÑÝʾ¡£¸ÃÎĵµ¼Ç¼Á¼ºÃ£¬Òò´ËÄú¿ÉÒÔºÁÎÞÎÊÌâµØ¸ù¾ÝÄúµÄÐèÇó½øÐе÷Õû¡£Ìصã°üÀ¨£º
Çý¶¯- ´Ë¹¦ÄÜÉèÖõç»úËٶȺͷ½Ïò£¨µ¥¶ÀÓ¦ÓÃÓÚÿ¸öµç»ú£©¡£½«ËÙ¶È×÷ΪÕýÊý»ò¸ºÊý´«µÝ¡£¸ºÊýʹµç»úÑØÏà·´·½ÏòÐýת¡£Äú»¹¿ÉÒÔÖ¸¶¨µç»úÔËÐÐʱ¼ä£¨ÒÔºÁÃëΪµ¥Î»£©¡£Ïòǰ ´Ë¹¦ÄÜÔÊÐíÄúÏòÇ°ÒÆ¶¯Á½¸öµç»ú¡£½ÓÊÕËÙ¶È×÷Ϊ¿ÉÑ¡²ÎÊý¡£ÏÖÔÚ¿ÉÒÔÔÙ´ÎʹÓøºËÙ¶È£¬µç»ú½«ÏòºóÒÆ¶¯¡£ÇëÀ뿪¡£Öƶ¯Æ÷ Í£Ö¹µç»ú¡£Èç¹ûÄúûÓÐÖ¸¶¨ÉÏÒ»¸öÃüÁîµÄ³ÖÐøÊ±¼ä£¬Ôò±ØÐëʹÓøÃʱ¼äÀ´Í£Ö¹»úÆ÷ÈË¡£×ó- Õ⽫Á½¸öµç»ú×÷Ϊ²ÎÊý²¢Ê¹»úÆ÷ÈËÏò×óת¡£ÎÒÃÇ»¹Ê¹ÓÃËÙ¶È×÷Ϊ²ÎÊý¡£ÓÒ- ÓÒתѻ·µÄ´úÂëʹÓÃÐí¶àÕâЩº¯Êý½öÓÃÓÚ×Ô¶¯¼ÝÊ»Æû³µÁ·**¡£Ëüʵ¼ÊÉÏÊÇΪÁËÈÃÆû³µ±£³ÖÔÚͬһλÖöøÉè¼ÆµÄ£¬µ«ÎÒÄdzóªµÄ»úÆ÷ÈËÆû³µÌ«²»Æ½ºâÁË£¬ÎÒÎÞ·¨×öµ½ÕâÒ»µã¡£Ò²ÐíÄãµÄ³µµÄÐÔÄÜ»áÌá¸ß£¡
Äú¿ÉÒÔ³¢ÊÔʹÓôúÂëÀ´¸ü¸Ä»òÌí¼Ó¹¦ÄÜÀ´¿ØÖÆÄúµÄÆû³µ¡£
½áÂÛTB6612FNG ÊÇÒ»¿î¼Û¸ñµÍÁ®µÄË«H Çŵç»ú¿ØÖÆÆ÷£¬Ò×ÓÚʹÓ㬿ÉÔÚÐí¶àÓ¦ÓÃÖÐÓÃ×÷L298N µÄÖ±½ÓÌæ´úÆ·¡£ËüÃdzߴçС¡¢É¢Èȵͣ¬Ê¹Æä³ÉΪСÐÍ»úÆ÷ÈËÆû³µºÍÆäËûµç³Ø¹©µçÉ豸µÄÀíÏëÑ¡Ôñ¡£








