ºÃµÄÑ¡Ôñ¡£µ±Kp ³ËÒÔ100 ʱ£¬ÎÒÃÇÊäÈëµÄÊýÖµ¾Í´Ó1.3 ±äΪÁË130£¬Ã»ÓÐСÊýµã£¬NXT-G»áϲ»¶Õâ¸öÊýµÄ¡£
µ«ÊDz»ÒªÍü¼Ç£¬Òª¶Ô½á¹û½øÐÐת»»¡£µ±Íê³ÉP¿ØÖƲ¿·ÖµÄ¼ÆËãʱ£¬Òª¶Ô½á¹û³ýÒÔ100¡£»¹¼ÇµÃÎÒÃÇÇ°Ã涨ÒåP¿ØÖÆÆ÷µÄ±í´ïʽÂð£¿
Turn= Kp*(error)
ÎÒÃÇ°ÑKp³ËÒÔ100£¬¾ÍÒâζ׿ÆËã³öµÄ TurnÊÇÆäʵ¼ÊÖµµÄ100±¶¡£ÔÚʹÓÃTurnµÄÖµÒÔÇ°£¬±ØÐëÒª¶ÔËü³ýÒÔ100¡£
Òò´Ë£¬ÎÒÃÇеġ¢¸Ä½ø¹ýµÄѲÏßP¿ØÖÆÆ÷ÐéÄâ´úÂëÈçÏ£º
Kp = 1000 !¼Çס£¬ÎÒÃÇÓà Kp*100 £¬Òò´ËÕâ¸öKpʵ¼ÊÖ»ÓÐ10£¡ offset = 45 ! ³õʼ»¯ÆäËüÁ½¸ö±äÁ¿ Tp = 50
Loop forever
LightValue = read light sensor ! µ±Ç°¹âµç´«¸ÐÆ÷µÄ¶ÁÖµ
error = LightValue - offset ! ¼õÈ¥offset£¨²¹³¥Á¿£©¼ÆËãerror£¨Îó²î£©
Turn = Kp * error ! ¨D±ÈÀý¿ØÖƲ¿·Ö¡¬, ÎÒÃÇÏ£ÍûÂí´ïµÄ¹¦ÂÊÖµ¸Ä±ä¶àÉÙ£¿ Turn = Turn/100 ! ¼ÇסÏû³ýKpÖÐÒòÊý100µÄÓ°Ïì! powerA = Tp + Turn ! AÂí´ïµÄ¹¦ÂÊÖµ powerC = Tp - Turn ! CÂí´ïµÄ¹¦ÂÊÖµ
MOTOR A direction=forward power=powerA! ÔÚÂí´ïÄ£¿éÖÐÉèÖÃÕâ¸ö¹¦ÂÊÖµ MOTOR C direction=forward power=powerC! ÉèÖÃÁíÒ»¸öÂí´ïµÄ¹¦ÂÊÖµ end loop forever ! ½áÊøÑ»·£¬·µ»Ø£¬½øÐÐÏÂÒ»´ÎÑ»·
µÈһϣ¬ÔÚµÚÒ»¸ö°æ±¾µÄP¿ØÖÆÆ÷Öл¹ÓÐÒ»¸ö¡°Î¢ÃîµÄÎÊÌ⡱£¬ÊÇʲôÄØ£¿
ÔÚÕâ¸öÀý×ÓÖУ¬ÓÐÕâÑùÒ»¸öÎÊÌ⣺ÔÚÎÒÃǼÆËãÂí´ï¹¦ÂÊֵʱ£¨ÈçpowerC=Tp-Turn£©£¬¿ÉÄÜ»áµÃµ½Ò»¸ö¸ºµÄÂí´ï¹¦ÂÊÖµ£¬ÕâÒâζ×ÅÂí´ï·´Ïòת¶¯£¬µ«ÊÇNXT-G³ÌÐòÖÐÂí´ïÄ£¿éµÄÊý¾Ý½Ó¿ÚÎÞ·¨¡°Àí½â¡±Õâ¸öÊýÖµ¡£Âí´ïµÄ¹¦ÂÊÖµÊÇÒ»¸öÔÚ0µ½100Ö®¼äµÄÊýÖµ£¬Âí´ïµÄת¶¯·½ÏòÊÇÓÉÁíÍâÒ»¸ö²»Í¬µÄÊäÈë½Ó¿Ú¿ØÖƵġ£µ±¹¦ÂÊֵΪ¸ºÊýʱ£¬ÄãÐèÒªÔÚ³ÌÐòÖÐÉèÖÃÂí´ïµÄÔËת·½Ïò¡£·½·¨ÈçÏ£º
If powerA > 0 ! Âí´ï¹¦ÂÊֵΪÕýֵʱ MOTOR A direction=forwardpower=powerA else
powerA = powerA * (-1) ! Âí´ï¹¦ÂÊֵΪ¸ºÖµÊ±£¬Òª×öÕâÒ»²½ÔËËã
MOTOR A direction=reverse power=powerA !´ËʱÂí´ï¹¦ÂÊֵΪÕýÖµ£¬»¹ÐèÒªÔÚ¿ØÖÆÃæ°åÉϵߵ¹Âí´ïµÄתÏò
end If
Âí´ïÄ£¿éͨ¹ýÊý¾ÝÏß½ÓÊÕ¹¦ÂÊÖµ£¨powerA¶ÔÓ¦AÂí´ï£©£¬ÔÚÂí´ïµÄ²ÎÊýÉèÖô°¿Ú£¬Óø´Ñ¡¿òÉèÖ÷½Ïò¡£
¶ÔCÂí´ïÒ²ÐèÒª½øÐÐÏàËƵijÌÐò´úÂëÉèÖá£ÕâÑù£¬µ±¼ÆËã³öµÄÂí´ï¹¦ÂÊֵΪ¸ºÖµÊ±£¬
¾Í¿ÉÒÔÕýÈ·µØ¿ØÖÆÂí´ïÁË£¬P¿ØÖÆÆ÷¾ÍÄܹ»ÊµÏÖ¡°ÁãתÍä°ë¾¶×ªÍ䡱£¬»úÆ÷È˿ɸù¾ÝÐèҪʵÏÖÔµØתÍä¡£
»¹ÓÐÆäËûµÄ¡°Î¢ÃîÎÊÌ⡱¡£Èç¹û³öÏÖ¼ÆËã³öµÄÂí´ï¹¦ÂÊ´óÓÚ100µÄÇé¿öÔõô°ì£¿Êµ¼ÊÉÏÂí´ï»á½«¹¦ÂÊÖµÈ϶¨Îª100¡£ÔÚP¿ØÖÆÆ÷£¨»òPID¿ØÖÆÆ÷£©ÖгöÏÖÕâÖÖÇé¿ö£¬²¢²»Ê®·ÖÌ«ºÃ¡£ÎÒÃǸüÏ£Íû¿ØÖÆÆ÷ÓÀÔ¶²»»áÈÃÂí´ï×ö³¬³öÄÜÁ¦·¶Î§µÄÊ¡£Èç¹û¼ÆËã³öµÄÂí´ï¹¦ÂÊÖµ±È100´ó²»Á˶àÉÙ£¨»ò±È-100С²»Á˶àÉÙ£©£¬»úÆ÷ÈËÔËÐÐÇé¿ö»¹ËãOK£»Èç¹ûÕâ¸ö¼ÆËã³öµÄÂí´ï¹¦ÂÊÖµ±È100´óºÜ¶à£¨»òÕß±È-100СºÜ¶à£©£¬Õâ¾ÍÒâζ×Å¿ØÖÆÆ÷Õý¾³£ÐÔµÄʧȥ¿ØÖÆÄÜÁ¦¡£ÄãÐèÒª¿¼ÂÇÒ»ÏÂÈçºÎ´¦ÀíÕâÖÖÇé¿ö£¡
P¿ØÖÆÆ÷¸ÅÒª
Ï£ÍûÄãÒѾ¶ÔP£¨±ÈÀý£©¿ØÖÆÆ÷ÓÐÁË×ã¹»µÄÁ˽⣬Ëü»¹ÊÇÏ൱¼òµ¥µÄ¡£Óô«¸ÐÆ÷²âÁ¿ÄãÏë¿ØÖƵĶ«Î÷£¬½«²âÁ¿½á¹ûת»»Îªerror£¨Îó²î£©¡ª¡ª¶ÔÓÚѲÏß»úÆ÷ÈËÀ´Ëµ£¬ÎÒÃÇͨ¹ý¼õµôºÚºÍ°×¹âµç´«¸ÐÆ÷¶ÁÖµµÄƽ¾ùÖµÀ´ÊµÏÖ£¬½«error £¨Îó²î£©³ËÒÔÒ»¸ö½ÐKpµÄ±ÈÀýϵÊý£¬¾ÍµÃµ½ÁËϵͳµÄÐÞÕýÖµ¡£ÔÚÎÒÃǵÄѲÏß»úÆ÷ÈËÀý×ÓÖУ¬ÎÒÃÇͨ¹ý¼Ó´ó/¼õСÂí´ïµÄ¹¦ÂÊÖµÀ´Ó¦ÓÃÕâ¸öÐÞÕýÖµ¡£Õâ¸ö½ÐKpµÄ±ÈÀýϵÊýÒªÓÃÓиù¾ÝµÄÍƲâÀ´È·¶¨£¬²¢Í¨¹ý·´¸´ÊÔÑé½øÐе÷Õû¡£
P¿ØÖÆÆ÷Äܹ»´¦ÀíºÜ¶à¿ØÖÆÎÊÌ⣬²»½ö½öÊÇÓÃÔÚÀָ߻úÆ÷ÈËѲÏßÉÏ¡£Ò»°ãÀ´Ëµ£¬ÔÚÂú×ãÌõ¼þµÄÇé¿öÏ£¬P¿ØÖÆÆ÷¶¼ÄÜÁ¼ºÃ¹¤×÷¡£
1. ´«¸ÐÆ÷ÐèÒªÓÐ×ã¹»¿íµÄ¶¯Ì¬·¶Î§£¨²»ÐÒµÄÊÇ£¬ÎÒÃǵÄѲÏß»úÆ÷ÈËÈ´²»ÊÇÕâÑù£©
2. ±»¿ØÖƵĶ«Î÷£¨ÔÚÎÒÃǵÄÀý×ÓÀïÊÇÂí´ï£©Ò²ÐèÒªÓÐ×ã¹»¿íµÄ¶¯Ì¬·¶Î§¡£Ã¿¸öÂí´ïÔÚ¹¦ÂÊÖµÉÏµÄ¿í¶¯Ì¬·¶Î§Ó¦¸ÃºÜ½Ó½ü£¨NXTÂí´ïÔÚÕâÒ»·½Ãæ·Ç³£ºÃ£©¡£
3. ´«¸ÐÆ÷ºÍ±»¿ØÖƵĶ«Î÷±ØÐëÏìӦѸËÙ¡£¨DѸËÙ¡¬µÄÒâ˼ÊǨD±ÈϵͳÄÚ·¢ÉúµÄÈκα仯¶¼¿ì¡¬¡£¿ØÖÆÂí´ïʱ£¬Í¨³£²»Ì«¿ÉÄÜ»ñµÃÂí´ïµÄ¨DѸËÙ¡¬ÏìÓ¦£¬ÒòΪÂí´ïÐèÒªÒ»¶¨µÄʱ¼äÀ´¸Ä±ä¹¦ÂÊ¡£¾ÍÊÇ˵»úÆ÷È˵Ķ¯×÷Òª±ÈP¿ØÖÆÆ÷µÄÃüÁîÖͺó£¬Õâ¶ÔP¿ØÖÆÆ÷µÄ¾«È·¿ØÖÆ£¬»á²úÉúÒ»¶¨µÄÀ§ÄÑ¡£
ÔÚ¿ØÖÆÆ÷ÖмÓÈë¡°I¡±£ºPI¿ØÖÆÆ÷
£¨¡°I¡±£º»á¸øÎÒÃÇ´øÀ´Ê²Ã´ÄØ£¿£©
ΪÁËÌá¸ßP¿ØÖÆÆ÷µÄÏìÓ¦Ëٶȣ¬ÎÒÃÇÔÚ±í´ïʽÖмÓÈëÒ»¸öеIJ¿·Ö¡ª¡ª»ý·Ö£¬PIDÖеġ°I¡±¡£»ý·ÖÊǸߵÈÊýѧÖзdz£ÖØÒªµÄÄÚÈÝ£¬ÔÚÕâÀÎÒÃÇÖ»ÐèÒªÖ±½ØÁ˵±µØʹÓÃËü¡£
»ý·ÖÓÃÓÚ¼ÆËãÎó²îµÄ¶¯Ì¬ÇóºÍ¡£
ÿ´ÎÎÒÃǶÁÈ¡¹âµç´«¸ÐÆ÷µÄÖµ£¬²¢¼ÆËãerror£¨Îó²î£©Ê±£¬ÎÒÃǽ«error£¨Îó²î£©¼Óµ½Ò»¸ö±äÁ¿ÖУ¬Õâ¸ö±äÁ¿ÎÒÃdzÆ֮Ϊintegral£¨»ý·Ö£©¡£
integral£¨»ý·Ö£©= integral£¨»ý·Ö£©+ error£¨Îó²î£©
Õâ¸ö±í´ïʽ²»ÊÇÆÕͨµÄÊýѧ±í´ï·½Ê½£¬ËüʹÓÃÁ˽«Ò»ÏµÁÐÊýÖµÀۼӵķ½·¨£¬Õâ¸ö·½·¨ÔÚ±à³ÌÖо³£Ê¹Óá£ÔÚ¼ÆËã»ú³ÌÐòÀÕâ¸ö±í´ïʽÓÐןÍÊýѧ²»ÏàͬµÄº¬Òå¡££¨ÔÚ±¾ÎÄÖУ¬»áÓÃÎÄ×Ö¼ÓÖصķ½Ê½À´±íÃ÷ÕâÊDZà³ÌµÄ·½Ê½£¬¶ø²»ÊÇÆÕͨµÄÊýѧ±í´ïʽ¡££©Õâ¸ö¡°=¡±ÊǸ³ÖµµÄÒâ˼£¬Òâζ׎«ËüÓұߵļÆËã½á¹û¸³Öµ¸ø×ó±ßµÄÄǸö±äÁ¿Ãû£¬¾ÍÊǼÆËã»ú°ÑÔÓеÄintegralµÄÖµ¼ÓÉÏerrorµÄÖµ£¬½«½á¹û¸³Öµ¸øintegral¡£
½ÓÏÂÀ´£¬Í¬PµÄ²¿·ÖÒ»Ñù£¬ÎÒÃǶÔintegral³ËÒÔÒ»¸ö±ÈÀý³£Êý£¬ÕâÊÇÁíÒ»¸öK¡£ÒòΪÕâ¸ö±ÈÀý³£ÊýÓë»ý·Ö²¿·ÖÓйأ¬ËùÒÔÎÒÃdzÆÆäΪKi¡£ÓëP±ÈÀý¿ØÖƲ¿·ÖÏàͬ£¬ÎÒÃÇ°Ñintegral£¨»ý·Ö£©³ËÒÔÒ»¸ö³£Á¿£¬»áµÃµ½Ò»¸öÐÞÕýÖµ¡£ÎÒÃÇÒª°ÑÕâ¸öÐÞÕýÖµ¼Óµ½Turn±äÁ¿ÖÐÈ¥¡£
Turn= Kp*(error) + Ki*(integral)
ÉÏÃæ¾ÍÊÇPI¿ØÖÆÆ÷µÄ»ù±¾±í´ïʽ¡£TurnÊǶÔÂí´ïµÄÐÞÕý£¬Kp*(error) ÊDZÈÀý¿ØÖƲ¿·Ö£¬ Ki*(integral)ÊÇ»ý·Ö¿ØÖƲ¿·Ö¡£
»ý·Ö¿ØÖƲ¿·ÖÓÐʲô×÷ÓÃÄØ£¿Èç¹ûÎó²îÔÚ¼¸´ÎÑ»·Öж¼±£³ÖͬÑùµÄÖµ£¬»ý·Ö²¿·Ö¾Í»áÔ½À´Ô½´ó¡£ÀýÈ磬Èç¹ûÎÒÃǶÁÈ¡¹âµç´«¸ÐÆ÷Öµ£¬¼ÆËã³öerrorΪ1£¬ºÜ¶Ìʱ¼äºó£¬ÎÒÃÇÔٴζÁÈ¡¹âµç´«¸ÐÆ÷Öµ£¬ÕâÒ»´ÎerrorΪ2£¬µÚÈý´ÎµÄerror»¹ÊÇΪ2£¬ÄÇô´ËʱµÄintegral½«ÊÇ1+2+2=5¡£IntegralΪ5£¬µ«ÕâÒ»²½µÄerrorֻΪ2¡£ÔÚÐÞÕýÁ¿ÖУ¬»ý·Ö²¿·ÖÄܲúÉúºÜ´óµÄÓ°Ï죬µ«Í¨³£À´Ëµ£¬ËüÐèÒª±È½Ï³¤µÄʱ¼ä²ÅÄÜ·¢»Ó×÷Óá£
»ý·Ö¿ØÖƵÄÁíÒ»¸ö×÷ÓÃÊÇÄÜÈ¥³ýСµÄÎó²î¡£ÔÚѲÏß¹ý³ÌÖУ¬Èç¹û¹âµç´«¸ÐÆ÷·Ç³£½Ó½üÏߵıßÔµ£¬µ«ÓÖ²»ÊÇÕýºÃÔÚÏߵıßÔµÉÏ£¬ÄÇôerror»áºÜС£¬Ö»ÄܲúÉúÒ»¸öºÜСµÄÐÞÕýÁ¿¡£Äã¿ÉÒÔͨ¹ý¸Ä±ä±ÈÀý¿ØÖÆÖÐµÄ KpÀ´ÐÞÕýÕâ¸öСµÄerror£¬µ«¾³£»á²úÉú»úÆ÷È˵ÄÕñµ´£¨À´»ØÒ¡°Ú£©¡£»ý·Ö¿ØÖƲ¿·Ö¾Í¿ÉÒÔÍêÃÀµØÐÞÕýСµÄÎó²î£¬ÒòΪintegral£¨»ý·Ö£©ÊǶÔerrors£¨Îó²î£©µÄÀÛ¼Ó£¬¼¸¸öÁ¬ÐøµÄСÎó²î¿ÉÒÔʹintegral£¨»ý·Ö£©´óµ½×ãÒÔ·¢Éú×÷Óá£
ÎÒÃÇ¿ÉÒÔ°Ñ»ý·Ö¿ØÖÆÀí½âΪ¿ØÖÆÆ÷µÄ\£¨´æ´¢Æ÷£©¡£Integral£¨»ý·Ö£©±íÏÖµÄÊÇerror£¨Îó²î£©ÀÛ»ýµÄ¹ý³Ì£¬¿ÉÒÔ³ÖÐøÏò¿ØÖÆÆ÷ÌṩÐÞÕýÎó²îµÄ·½·¨¡£
Óйػý·ÖµÄһЩ΢ÃîÎÊÌâ
ÎÒÒþ²ØÁËÒ»¸öСÎÊÌ⣨ÆäʵҲ²»ÊÇСÎÊÌ⣬µ«ÊÇÎÒÃÇÒª°ÑËü±ä³ÉСÎÊÌ⣩¡ª¡ª ʱ¼ä¡£»ý·Ö¼ÆËãµÄÆäʵÊÇ error¡Á(µ¥Î»Ê±¼ä£© µÄ×ܺͣ¬µ¥Î»Ê±¼ä(dT)ÊÇÎÒÃÇ´ÓÉÏÒ»´Î¶ÁÈ¡¹âµç´«¸ÐÆ÷Öµµ½ÕâÒ»´Î¶ÁÈ¡¹âµç´«¸ÐÆ÷ÖµµÄʱ¼ä¼ä¸ô¡£integral= integral+ error*(dT)
Òò´Ë£¬ÎÒÃÇÿ´ÎÏòintegral ÖÐÔö¼ÓµÄÓ¦¸ÃÊÇerror¡ÁdT¡£²âÁ¿»úÆ÷È˵ÄdTÊÇÏ൱ÈÝÒ×µÄÊ¡£ÔÚÿ´Î¶ÁÈ¡¹âµç´«¸ÐÆ÷ֵʱ£¬ÎÒÃÇ¿ÉÒÔ¶ÁÈ¡¼ÆʱÆ÷µÄÖµ¡£Èç¹ûÎÒÃÇ´Óµ±Ç°Ê±¼äÖмõµôÉÏÒ»´ÎµÄʱ¼ä£¬¾ÍµÃµ½ÁË´ÓÉÏÒ»´Î¶ÁÖµÆðµÄdT¡£Èç¹û²»È¥²âÁ¿Õâ¸ödT£¬²»×ö³Ë·¨¼ÆË㣬ÊDz»ÊÇ»á¸üºÃһЩÄØ£¿Èç¹ûÕâ¸ödT×ÜÊÇÏàֵͬÄØ£¿Èç¹ûÎÒÃÇÿһ´Î¼ÓÈëµ½integralÖеIJ¿·Ö£¬ÆädTÖµ¶¼ÊÇÏàͬµÄ£¬ÎÒÃǾÍÄܹ»°ÑÒòÊýdT´Ó error¡Á(dT)ÖÐÌáÈ¡³öÀ´£¬Ö»×öÇóºÍµÄÔËËã¡£ integral= integral+ error
ʵ¼ÊÉÏÖ»Óе±ÎÒÃÇÐèÒªÓÃintegral×öÁíÍâµÄÔËËãʱ£¬ÎÒÃDzÅÐèҪȥ³ËÒÔdT¡£Òò´ËÎÒÃÇ¿ÉÒÔ°ÑÕâ¸öʱ¼äÒòÊý²ØÆðÀ´¡£ÔÚPI¿ØÖÆÆ÷ÖУ¬»ý·Ö²¿·ÖµÄ±í´ïʽÊÇKi ¡Á(integral)¡ÁdT£¬ÆäÖÐKiÊÇÒ»¸öÐèÒªÎÒÃǽøÐÐ΢µ÷µÄϵÊý£¨¾ÍÏñKpÒ»Ñù£©£¬ËùÒÔ
Ϊʲô²»ÓÃÒ»¸öеÄKiÀ´´úÌæKi ¡ÁdTÕâÒ»²¿·ÖÄØ£¿Õâ¸öеÄKiÓëÔÀ´µÄÊDz»Í¬µÄ£¬µ«ÊÇÒòΪÎÒÃÇÄĸö¶¼²»ÖªµÀ£¬ËùÒÔÓÃÄÄÒ»¸ö¡¢½Ðʲô£¬¶¼Ã»ÓйØϵ¡£ÎÞÂÛËü½Ðʲô¡¢´ú±íʲôº¬Ò壬ÎÒÃǶ¼ÐèҪͨ¹ý·´¸´ÊÔÑéÀ´ÕÒµ½Ïà¶Ô׼ȷµÄÖµ¡£
ËùÒÔ£¬Ö»Òª°ÑËùÓеÄʱ¼ä²½½øÖµ¡ª¡ªdT É趨³ÉÏàͬµÄ£¨»ò´óÖÂÏàͬµÄ£©Öµ£¬ÎÒÃǾͿÉÒÔ´Ó»ý·Ö¿ØÖƲ¿·ÖÖÐÈ¥³ýʱ¼äÒòËØ¡£
»ý·Ö¾ßÓмÇÒäÐÔ
¹ØÓÚintegral£¨»ý·Ö£©£¬»¹ÓÐ×îºóÒ»¸öҪעÒâµÄϸ½Ú¡£Í¨³£Çé¿öÏ£¬integral£¨»ý·Ö£©Ö»ÄÜÇ÷½üÓÚ0£¬ÎÒÃǼÓÈëµ½integral£¨»ý·Ö£©ÖеÄerror£¨Îó²î£©Öµ¾ø´ó¶àÊý¶¼ÊÇ·ûºÅÏàÒìµÄ£¬ÔÚintegralΪ0 ʱ£¬Ëü¶Ô¿ØÖÆÆ÷ÊDz»ÆðÈκÎ×÷Óõġ£ÀýÈ磬ÔÚ¾¹ý¼¸´ÎÑ»·ºó£¬error£¨Îó²î£©ÖµÎª1,2,2,3,2,1£¬Ïà¼ÓºóµÃµ½integral£¨»ý·Ö£©Îª11¡£ÔÚ×îºóÒ»µãµÄ error£¨Îó²î£©½öΪ1£¬±ÈÔÚÄÇÒ»µãµÄ integral ҪСºÜ¶à¡£ÈÃintegralÇ÷½üÓÚ0 µÄ·½·¨Ö»ÓÐÒ»¸ö£¬¾ÍÊǼÓÈ븺µÄerror£¨Îó²î£©À´Æ½ºâÔçÆÚ¼ÓÈëµÄÕýµÄerror£¨Îó²î£©£¬À´Öð½¥¼õÉÙintegral¡£È磬ÏÂÃ漸¸öerror£¨Îó²î£©ÊÇ-2£¬-2£¬-3£¬Ôòintegral£¨»ý·Ö£©»á´Ó11½µµ½4£¬»¹ÐèÒª¼ÓÈë¸ü¶àµÄ¸º error£¨Îó²î£©£¬²Å»áʹ»ý·Ö½µµ½0¡£´ËÍ⣬integral£¨»ý·Ö£©ÆÚÍûerror£¨Îó²î£©ÔÚÕý¸ºÎó²îÖ®¼ä¾ùÔÈ·Ö²¼¡£
Èç¹ûѲÏß»úÆ÷ÈËÔÚÏß±ßÔµµÄ×ó²à£¬¶ø»ý·Ö²¿·ÖÀÛ»ýµÄÎó²îÒ²ÔÚÏßµÄ×ó²à£¬ÄÇô»ý·Ö¿ØÖƲ¿·Ö²»½öÒª°Ñ»úÆ÷ÈËËÍ»ØÏߵıßÔµ£¬»¹ÒªÊ¹»úÆ÷ÈËÔ½¹ýÏߣ¬µ½ÏßµÄÓҲࡣÈç¹ûÓдóµÄÎó²î³ÖÐøÒ»¶Îʱ¼ä£¬»ý·Ö»áÇ÷ÏòÓÚÎÞÇî¡£ÕâÔÚ°üº¬Óлý·Ö¿ØÖƵĿØÖÆÆ÷À»áÒýÆðһЩÎÊÌâ¡£µ±»ý·Ö²¿·ÖÉè·¨ÐÞÕýµÄÎó²îºÜ´óʱ£¬»ý·ÖµÄÕâÖÖÇãÏò»áÒýÆ𳬵÷£¬ÎÒÃDZØÐëÔÚ³ÌÐòÉÏ×öһЩµ÷ÕûÒÔ±ÜÃâ³öÏÖÎÊÌâ¡£½â¾öintegral£¨»ý·Ö£©Ç÷ÏòÓÚÎÞÇîÎÊÌ⣬ÓÐÁ½¸ö³£¼ûµÄ½â¾ö·½°¸£º£¨1£©½«integral£¨»ý·Ö£©ÖÃÁ㡪¡ªÃ¿´Îerror£¨Îó²î£©Îª0£¬»òerror£¨Îó²î£©¸Ä±ä·ûºÅ£¬¾Í½«±äÁ¿integral£¨»ý·Ö£©ÉèÖÃΪ0£»£¨2£©µ±¼ÆËãÒ»¸öеÄintegralʱ£¬¶ÔÀÛ»ýµÄintegral³ËÒÔÒ»¸öСÓÚ1µÄÒòÊýÀ´ÒÖÖÆ»ý·Ö£º
integral = (2/3)*integral + error
ÕâÑù£¬Ã¿´ÎÑ»·»á°Ñ»ý·ÖÖµ½µµÍ1/3¡£Èç¹ûÄãÈÏΪ»ý·Ö¿ØÖƲ¿·ÖÊÇÒ»¸ö¿ØÖÆÆ÷µÄ¡°memory¡±£¨´æ´¢Æ÷£©£¬ÄÇôÕâÖÖÒÖÖÆ»áÔÚÒ»¶Î¡°½Ï³¤¡±µÄʱ¼äºóÇ¿ÆÈËü±äµÃ½¡ÍüÆðÀ´¡£
PI¿ØÖÆÆ÷µÄÐéÄâ´úÂë
ÔÚ¿ØÖÆÆ÷ÖмÓÈë»ý·Ö¿ØÖƲ¿·Ö£¬ÎÒÃÇÐèÒªÔö¼ÓеıäÁ¿Ki ºÍintegral¡£±ðÍüÁË£¬ÎªÁ˽øÐÐÕûÊýÔËË㣬ÎÒÃÇÒª°ÑKs³ËÒÔ100¡£
Kp = 1000 ! ¼ÇסÎÒÃÇÓà Kp*100£¬Òò´ËKpʵ¼ÊΪ10 Ki = 100 !¼ÇסÎÒÃÇÓà Ki*100£¬Òò´ËKiʵ¼ÊΪ1 offset = 45 ! ³õʼ»¯±äÁ¿ Tp = 50
integral = 0 ! ÔÚÕâ¸ö±äÁ¿Àï´æ´¢»ý·ÖÖµ Loopforever
LightValue = read light sensor ! µ±Ç°¹âµç´«¸ÐÆ÷¶ÁÖµ
error = LightValue - offset !¼õÈ¥offset£¨²¹³¥Á¿£©¼ÆËãerror£¨Îó²î£© integral = integral + error ! ÐÂÔöµÄ»ý·Ö¿ØÖƲ¿·Ö
Turn = Kp*error + Ki*integral ! ¡°±ÈÀý¿ØÖƲ¿·Ö¡±+¡°»ý·Ö¿ØÖƲ¿·Ö¡±