77·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

PID¿ØÖÆËã·¨µÄCÓïÑÔʵÏÖ(ÍêÕû°æ)(8)

À´Ô´£ºÍøÂçÊÕ¼¯ ʱ¼ä£º2018-11-26 ÏÂÔØÕâÆªÎĵµ ÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:»òQQ£º ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣µã»÷ÕâÀï¸øÎÒ·¢ÏûÏ¢

£¨×¢Ò⣬ÎÒÕâÀïÌÖÂÛµÄǰÌáÊÇÊä³ö¿ØÖƵÄÊǵçѹ£¬²»ÊÇPWM·½²¨¡£PWMÊä³öºóÒª¾­¹ýÂ˲¨ÕûÐÎÔÙÊä³ö¿ØÖÆ¡££© ǰÌáÌõ¼þ£º

Êä³öµçѹ¿ØÖƵçѹ·¶Î§ÊÇ0-10V¡£

¸ø¶¨¡¢·´À¡¡¢Êä³öµçѹ²ÉÑùÊäÈëµçѹ·¶Î§ÊÇ0-5V£¨¾­¹ýÔË·Å£©¡£ ʹÓõ¥Æ¬»úADΪ10λADоƬ¡£

ÄÇô10λADоƬµçѹ²É¼¯µÃµ½µÄÊý¾Ý·¶Î§¾ÍÊÇ0-1024¡£

PWMΪ 8λ¿Éµ÷Õ¼¿Õ±È·½²¨£¬0¶ÔÓ¦Êä³öÕ¼¿Õ±ÈΪ0µÄ·½²¨£¬255¶ÔÓ¦Êä³öÕ¼¿Õ±È100%µÄ·½²¨£¬127¶ÔÓ¦Êä³ö50%µÄ·½²¨¡£

±ÈÈ統ǰ¸ø¶¨ÊÇ2.5V£¬·´À¡µçѹÊÇ1V¡££¨KP,KI,KDµÈϵÊýÂÔ£¬¹ØÓÚPIDËã·¨µÄÕûÊýʵÏÖÎÒÔÚǰÎÄÖÐÓÐÂÛÊöÈçºÎʵÏÖ£©¡£ ÄÇô¾­¹ýAD²ÉÑù 1¡¢¸ø¶¨2.5V¶ÔӦΪ 512 2¡¢·´À¡1V¶ÔӦΪ 205

¼Ù¶¨¾­¹ýPID¼ÆËãµÃµ½µÄUKΪ400

Ò²¾ÍÒâζ×ÅÊä³öµçѹӦµ±Îª£¨400*£¨UPWM·åÖµµçѹ£©£©/1024 ÄÇôUK¶ÔÓ¦µÄPWMÕ¼¿Õ±ÈÊǶàÉÙÄØ£¿

ÎÒÃÇÖªµÀ£¬UK=1024¶ÔÓ¦Õ¼¿Õ±ÈΪ100£¬Ò²¾ÍÊÇPWMµÄÕ¼¿Õ±ÈϵÊýΪ255¡£¿ÉÖª£¬PWMϵÊý = UK/4;

ÄÇô400¾ÍÓ¦µ±¶ÔӦϵÊý 400/4=100¡£ Ò²¾ÍÊÇÊä³öµçѹ=400*10/1024=3.9V

ͬʱ£¬ÓÉÓÚ²ÉÑù¾«¶ÈÒÔ¼°PWMÊä³öÕ¼¿Õ±È¾«¶È¿ØÖƵÄÎÊÌ⣬½«µ¼ÖÂÊä³öµçѹºÍÆÚÍûÖµ²»ÊÇÄÇôÏßÐÔ£¬ËùÒÔ£¬ÎÒÔÚÏîÄ¿ÄÚ¼ÓÈëÁËÊä³öµçѹ²ÉÑùµÄ¿ØÖÆ¡£ ²ÉÑùADÊäÈëΪ0-5V£¬ËùÒÔ£¬¶ÔÓÚÊä³ö0-10VÓÐÒ»¸öËõСµÄ±ÈÀý¡£ Êä³ö10VÔò²ÉÑùÖµ¶ÔӦΪ255 Êä³ö5VÔò²ÉÑùÖ®¶ÔÓ¦127 ¿ÉÖª£¬3.9V¶ÔÓ¦AD½á¹ûΪ97

²ÉÑùÊä³öµçѹֵ£¬¿ÉÒÔÕë¶ÔÐԵĵ÷ÕûÒ»ÏÂÕ¼¿Õ±ÈÊä³ö£¬´Ó¶øµÃµ½Îó²îÔÊÐí·¶Î§ÄÚµÄÒ»¸ö¿ØÖÆÊä³öµçѹ¡£

ͬʱ£¬¾­¹ýһЩ¼ÓËÙ¿ØÖƵÄÊֶΡ£¿ÉÒԱȽÏѸËٵĴﵽ¿ØÖƵÄÄ¿µÄ¡£

ÏÂÎÄÖеÄUK¿ØÖÆ·½·¨ÊÇÕë¶ÔÔöÁ¿Ê½PID¿ØÖƶøÀ´×öµÄ¡£ /****************************************************/ void PWMProcess(void) {

uint16 idata temp; uint16 idata UKTemp; temp = 0; UKTemp = 0;

if( Pwm.ChangeFlag_Uint8 != 0 ) //ÅжÏÊÇ·ñÐèÒª¸Ä±äÕ¼¿Õ±È { //ÊÇ·ñÐèÒª¸Ä±äÕ¼¿Õ±ÈºÍÄãµÄ±»¿ØÏµÍ³ÌØÐÔÓÐ¹Ø Pwm.ChangeFlag_Uint8 = 0;

UKTemp = PID.Uk_Uint16 + SwIn.AddValue_Uint16; //¼ÆËãUK¿ØÖÆÁ¿

//¿ØÖÆÁ¿ºÍ¼ÆËãÖµÒÔ¼°Ò»¸ö¿ª¹ØÁ¿Óйأ¬ÎÒÕâÀïµÄ¿ª¹ØÁ¿ÊÇϵͳÐèÒªµÄʱºòµþ¼ÓÔÚ¿ØÖÆÁ¿ÉϵÄÒ»¸ö±äÁ¿¡£ if(UKTemp>999) {

UKTemp = 999; }

//ÕâÀïÖ»ËùÒÔÊÇ999·â¶¥¶ø²»ÊÇ1024ÊÇÒòΪÎÒµÄϵͳPWMµÄ·åÖµµçѹÊÇ12Vµ¼Ö¡£

while(1) //Èç¹ûÊä³öµçѹºÍÆÚÍûµçѹÏà²î Delta£¬Ôò¼ÌÐøµ÷ÕûÕ¼¿Õ±È£¬Ö±µ½ÔÚÎó²îÒÔÄÚ {

ADChPro(UPWMADCH); //²âÁ¿Êä³öµçѹ if( ADPool.Value_Uint16[UPWMADCH] == UKTemp) {

return;

}

if( ADPool.Value_Uint16[UPWMADCH] > UKTemp) //Èç¹ûµ±Ç°µçѹ´óÓÚÊä³öµçѹ£¬¼õСռ¿Õ±È {

if( ( ADPool.Value_Uint16[UPWMADCH] - UKTemp ) > UDELTA ) {

temp = ADPool.Value_Uint16[UPWMADCH] - UKTemp; // temp = temp / 2; //Ͻµ¿ÉÒÔ¼ÓËÙϽµ£¬ËùÒÔϽµ²ÎÊý¼Ó±¶ if( Pwm.DutyCycle_Uint8 > temp ) {

Pwm.DutyCycle_Uint8 = Pwm.DutyCycle_Uint8 - temp; } else {

Pwm.DutyCycle_Uint8 = 0; } } else {

return; } }

else //Èç¹ûµ±Ç°µçѹСÓÚÊä³öµçѹ {

if( ( UKTemp - ADPool.Value_Uint16[UPWMADCH] ) > UDELTA ) {

temp = UKTemp - ADPool.Value_Uint16[UPWMADCH];

temp = temp / 4; //ÉÏÉý´¦Àí²»Òª³¬µ÷£¬ËùÒÔÿ´ÎÖ»+Ò»°ë if( (255-Pwm.DutyCycle_Uint8) > temp ) {

Pwm.DutyCycle_Uint8 += (temp/2); } else {

Pwm.DutyCycle_Uint8 = 255; } } else {

return; } }

DisPlayVoltage();

PWMChangeDuty(Pwm.DutyCycle_Uint8); //¸Ä±äÕ¼¿Õ±È Delay(10,10);

} } }

/*****************************************************/ ¸½Â¼2

Ö±Á÷µç»úPWMµ÷ËÙϵͳÖпØÖƵçѹ·ÇÏßÐÔÑо¿

ÒýÑÔ

ÓÉÓÚÏßÐÔ·Å´óÇý¶¯·½Ê½Ð§ÂʺÍÉ¢ÈÈÎÊÌâÑÏÖØ£¬Ä¿Ç°¾ø´ó¶àÊýÖ±Á÷µç¶¯»ú²ÉÓÿª¹ØÇý¶¯·½Ê½¡£¿ª¹ØÇý¶¯·½Ê½Êǰ뵼Ì幦ÂÊÆ÷¼þ¹¤×÷ÔÚ¿ª¹Ø×´Ì¬£¬Í¨¹ýÂö¿íµ÷ÖÆPWM¿ØÖƵ綯»úµçÊàµçѹ£¬ÊµÏÖµ÷ËÙ¡£Ä¿Ç°ÒÑÓÐÐí¶àÎÄÏ×½éÉÜÖ±Á÷µç»úµ÷ËÙ£¬ËÎÎÀ¹úµÈÓÃ89C51µ¥Æ¬»úʵÏÖÁËÖ±Á÷µç»ú±Õ»·µ÷ËÙ£»ÕÅÁ¢Ñ«µÈÓÃAVRµ¥Æ¬»úʵÏÖÁËÖ±Á÷µç»úPWMµ÷ËÙ£»¹ù³ç¾üµÈÓÃC8051ʵÏÖÁËÎÞË¢Ö±Á÷µç»ú¿ØÖÆ£»Õźì¾êµÈÓÃPICµ¥Æ¬»úʵÏÖÁËÖ±Á÷µç»úPWMµ÷ËÙ£»Íõ³¿ÑôµÈÓÃDSPʵÏÖÁËÎÞË¢Ö±Á÷µç»ú¿ØÖÆ¡£ÉÏÊöÎÄÏ×¶ÔʵÏÖµ÷ËÙµÄÓ²¼þµç·ºÍÈí¼þÁ÷³ÌµÄÉè¼ÆÓнÏÏêϸµÄÃèÊö£¬µ«Ã»ÓÐ˵Ã÷¾ßÌåµÄµ÷ѹµ÷ËÙ·½·¨£¬Ò²Ã»ÓÐÌá¼°Õ¼¿Õ±ÈÓëµç»ú¶Ëµçѹƽ¾ùÖµÖ®¼äµÄ¹ØÏµ¡£ÔÚÀîά¾üµÈ»ùÓÚµ¥Æ¬»úÓÃÈí¼þʵÏÖÖ±Á÷µç»úPWMµ÷ËÙϵͳÖÐÌᵽƽ¾ùËÙ¶ÈÓëÕ¼¿Õ±È²¢²»ÊÇÑϸñµÄÏßÐÔ¹ØÏµ£¬ÔÚÒ»°ãµÄÓ¦ÓÃÖУ¬¿ÉÒÔ½«Æä½üËÆµØ¿´×÷ÏßÐÔ¹ØÏµ¡£µ«Ã»ÓÐ×öÉîÈëµÄÑо¿¡£±¾ÎÄͨ¹ýʵÑéÑéÖ¤£¬ÔÚ²»´øµç»úÇé¿öÏ£¬PWM²¨Õ¼¿Õ±ÈÓë¿ØÖÆÊä³ö¶Ëµçѹƽ¾ùÖµÖ®¼ä³ÊÏßÐÔ¹ØÏµ£»ÔÚ´øµç»úÇé¿öÏ£¬Õ¼¿Õ±ÈÓëµç»ú¶Ëµçѹƽ¾ùÖµÂú×ãÅ×ÎïÏß·½³Ì£¬ÄÜÈ¡µÃ¾«È·µÄ¿ØÖÆ¡£±¾Îĵĵç»ú±Õ»·µ÷ËÙÊÇÔËÓÃMatlabÄâºÏµÄ¹ØÏµÊ½Í¨¹ýPID¿ØÖÆË㷨ʵÏÖ¡£ 1 ϵͳӲ¼þÉè¼Æ

±¾ÏµÍ³ÊÇ»ùÓÚTX-1CʵÑé°åÉϵÄAT89C52µ¥Æ¬»ú£¬µ÷ËÙϵͳµÄÓ²¼þÔ­ÀíͼÈçͼ1Ëùʾ£¬Ö÷ÒªÓÉAT89C52µ¥Æ¬»ú¡¢555Õñµ´µç·¡¢L298Çý¶¯µç·¡¢¹âµç¸ôÀë¡¢»ô¶ûÔª¼þ²âËٵ緡¢MAX 232µçƽת»»µç·µÈ×é³É¡£

ͼ1 ±Õ»·¿ØÖÆÏµÍ³Ê¾Òâͼ

2 ϵͳÈí¼þÉè¼Æ

ϵͳ²ÉÓÃÄ£¿é»¯Éè¼Æ£¬Èí¼þÓÉ1¸öÖ÷³ÌÐò£¬3¸öÖжÏ×Ó³ÌÐò£¬¼´ÍⲿÖжÏ0¡¢ÍⲿÖжÏ1£¬¶¨Ê±Æ÷0×Ó³ÌÐò£¬PIDËã·¨×Ó³ÌÐò£¬²âËÙ×Ó³ÌÐò¼°·¢ËÍÊý¾Ýµ½´®¿ÚÏÔʾ×Ó³ÌÐò×é³É£¬Ö÷³ÌÐòÁ÷³ÌͼÈçͼ2Ëùʾ¡£ÍⲿÖжÏ0ͨ¹ý±È½ÏÖ±Á÷µçƽÓë¾â³Ý²¨ÐźŲúÉúPWM²¨£¬ÍⲿÖжÏ1ÓÃÓÚ¶Ô´«¸ÐÆ÷µÄÂö³å¼ÆÊý¡£¶¨Ê±Æ÷0ÓÃÓÚ¶Ô¼ÆÊýÂö³å¶¨Ê±¡£²âµÃµÄתËÙͨ¹ý´®¿Ú·¢Ë͵½ÉÏλ»úÏÔʾ£¬Í¨¹ýPIDÄ£¿éµ÷ÕûתËÙµ½É趨ֵ¡£±¾ÊµÑé²ÉÓÃM£¯T·¨²âËÙ£¬ËüÊÇͬʱ²âÁ¿¼ì²âʱ¼äºÍÔڴ˼ì²âʱ¼äÄÚ»ô¶û´«¸ÐÆ÷Ëù²úÉúµÄתËÙÂö³åÐźŵĸöÊýÀ´È·¶¨×ªËÙ¡£ÓÉÍⲿÖжÏ1¶Ô»ô¶û´«¸ÐÆ÷Âö³å¼ÆÊý£¬Í¬Ê±Æð¶¯¶¨Ê±Æ÷0£¬µ±¼ÆÊý¸öÊýµ½Ô¤¶¨Öµ2 000ºó£¬¹Ø¶¨Ê±Æ÷0£¬¿ÉµÃµ½¼Æ2 000¸öÂö³åµÄ¼ÆÊýʱ¼ä£¬ÓÉʽ¼ÆËã³öתËÙ£º

n=60f£¯K=60N£¯(KT) (1)

ʽÖУºnΪֱÁ÷µç»úµÄתËÙ£»KΪ»ô¶û´«¸ÐÆ÷תÅÌÉϴŸÖÊý£»fΪÂö³åƵÂÊ£»NΪÂö³å¸öÊý£»TΪ²ÉÑùÖÜÆÚ¡£

°Ù¶ÈËÑË÷¡°77cn¡±»ò¡°Ãâ·Ñ·¶ÎÄÍø¡±¼´¿ÉÕÒµ½±¾Õ¾Ãâ·ÑÔĶÁÈ«²¿·¶ÎÄ¡£Êղر¾Õ¾·½±ãÏ´ÎÔĶÁ£¬Ãâ·Ñ·¶ÎÄÍø£¬Ìṩ¾­µäС˵×ÛºÏÎÄ¿âPID¿ØÖÆËã·¨µÄCÓïÑÔʵÏÖ(ÍêÕû°æ)(8)ÔÚÏßÈ«ÎÄÔĶÁ¡£

PID¿ØÖÆËã·¨µÄCÓïÑÔʵÏÖ(ÍêÕû°æ)(8).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡
±¾ÎÄÁ´½Ó£ºhttps://www.77cn.com.cn/wenku/zonghe/310452.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

Copyright © 2008-2022 Ãâ·Ñ·¶ÎÄÍø °æÈ¨ËùÓÐ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£º ÓÊÏ䣺tiandhx2@hotmail.com
ËÕICP±¸16052595ºÅ-18
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩
×¢²á»áÔ±ÏÂÔØ
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
×¢²á»áÔ±ÏÂÔØ
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º