I.åé¡ã®å£°æ
枩床ãæå®ã®ã¬ãã«ã«ä¿ã¡ãã¿ã¹ã¯ãå€æŽããå¿ èŠããããŸãã 枩床èšãåãä»ããããŠãããã€ã¯ãã³ã³ãããŒã©ãŒãšãé»åãå¶åŸ¡ããããã®ãã©ã€ã¢ãã¯ããããŸãã TAUã«é ãæž©ãããã å·®åã¹ããŒã ã«ãã£ãŠPIDã³ã³ãããŒã©ãŒããé¡ã«å ¥ããŠãäœã£ããããŸããã
IIã çè«ç玹ä»
PIDã³ã³ãããŒã©ãŒã¯ã©ã®ããã«æ©èœããŸããïŒ çŸåšã®æž©åºŠãšç®çã®æž©åºŠã®å·®ãåããã«ã¹ã¿ã ä¿æ°ãæãããšãçŸæç¹ã§çºè¡ããå¿ èŠãããé»åãåŸãããŸãã ããã¯æ¯äŸã³ã³ããŒãã³ãã§ãããäžäžèŽãçºçããæç¹ã§æ©èœããŸããã€ãŸããèšå®ç¹ã®å€åãšãªããžã§ã¯ãã®åäœã®äž¡æ¹ã«å³åº§ã«å¿çããŸãã ãŠã©ãŒã ã¢ãããå§ããŸãããïŒ ãã¯ãŒãäœäžãå§ããŸãã éç±ïŒ ãªãã«ãªã£ãããŸãã¯å·åŽä¿¡å·ãçºããã ãã¹ãŠãæ£åžžã§ãããå®éã®ç掻ã§ã®ã¿å¹æã®å¹æãé ããŠçŸããŸãããªããžã§ã¯ãã¯ç§ãã¡ã ãã§ãªãç°å¢ã«ãã£ãŠã圱é¿ãåããŸãïŒå ç±ãããåå¿åšã¯å éšã ãã§ãªãå·åŽãããéšå±ã«ç±ãæŸåºãããããé»æºãåããšããã«é»æºãããã¯ããã«å·åŽãå§ããŸãã ãããã£ãŠãçŽç²ãªæ¯äŸã¬ã®ã¥ã¬ãŒã¿ã¯ãµããŒããã€ã³ããäžå¿ã«æ¯åããå€åã倧ããã»ã©ãç°å¢/ãªã¢ã¯ã¿ãŒã®å 容ãé«ããªããŸãã
ãªã¢ã¯ãã«ãžã®ãå€éšãå¹æãè£æ£ããããã«ãåè·¯ã«äžå¯æ¬ ãªã³ã³ããŒãã³ããè¿œå ãããŸãã ã·ã¹ãã å ã«ãã£ãäžäžèŽã¯ãã¹ãŠç©ååšã«éãããŸãïŒãããã£ãŠãéç±ãããšããã«-éã¯æžå°ããŸãããæããã¯ãããŸãã-éãå¢å ããŸãïŒã ãããŠã环ç©ç©åãšãã®ä¿æ°ã¯ããã¯ãŒã®å¢æžãäžããŸãã ãã®ã¢ãããŒãã®çµæãå®åžžããã»ã¹ã§ã¯ããã°ããããŠãç©åãç°å¢æ倱ãè£åããé»åã®éãžã®å¯äžãéžæããæ¯åãæ¶ããŸã-ç©åãå®å®ãããããåºåé»åã®å€ã¯äžå®ã«ãªããŸãã ããã«ãææã®æž©åºŠãåæã«ç¶æããããããäžäžèŽã¯ãªããæ¯äŸæåã¯ãŸã£ããæ©èœããŸããã
ã·ã¹ãã ã®é²åºãšå¿çã®éã®é 延ã®åœ±é¿ãè£æ£ããããã«ãã·ã¹ãã ã«å·®åã³ã³ããŒãã³ããè¿œå ãããŸãã æ¯äŸã¬ã®ã¥ã¬ãŒã¿ãŒãåžžã«é»åãäŸçµŠãã枩床ãç®çã®ç¹ã«éãããŸã§ãæ¯äŸå·®ã¯äŸçµŠãããé»åãç®çã®ç¹ã«éããåã«æžå°ããå§ããŸã-äžæŽåãæžå°ãããããå¹æãæžå°ãããè² ã®å°é¢æ°ããããŸãã ããã«ããã倧èŠæš¡ãªç§»è¡äžã®éç±ãæå°éã«æããããŸãã
ãããã£ãŠãç©ççãªæå³ãæŽçããŠãå®è£ ã®äž»èŠãªåé¡ã«åãçµã¿ãŸãã
IIIã 誰ãèŠå¶æ©é¢ã䜿çšãã¹ãã§ããïŒ
-æè¡è ã«ã
ããããäœãç¶ããŸããïŒ ãããã£ãŠãæè¡è ã¯ç©çã³ã³ããŒãã³ããç解ããããŒããŠã§ã¢pidã³ã³ãããŒã©ãŒã®ã»ããã¢ããçµéšããããŸãã ãã®ããããœãããŠã§ã¢ã®å®è£ ã¯ãæè¡è ã«ãããã¥ãŒãã³ã°ã®å©äŸ¿æ§ããç¶è¡ããå¿ èŠããããŸã-ç©çã¢ãã«ãç¹°ãè¿ããŸãã ãããŠããã¯éåžžã«éèŠã§ãïŒ éåžžã«å€ãã®å Žåãã³ãŒããç°¡çŽ åããããã«ãä¿æ°ã¯ãããšãã°å察ã«å€æŽãããŸã-é€ç®ãåãé€ãããã§ãã ãã®çµæããã¥ãŒãã³ã°ã¯å°çãšæªå€¢ã«å€ãããããã»ã¹ãç解ããã®ã§ã¯ãªãããã®ç¹å®ã®ã³ã³ãããŒã©ãŒããã¥ãŒãã³ã°ããçµéšãå¿ èŠã«ãªããŸãã ãã®ããšãããä¿æ°ïŒç©åå®æ°ãšåŸ®åå®æ°ïŒã«æéã®æ¬¡å ãå¿ èŠã§ããããšãããããŸããã€ãŸããç§åäœã§èšå®ããã1 / sãã§èšå®ããå¿ èŠã¯ãããŸããã
IVã æ©èœã®ç¯å²ã
æ±çšã¬ã®ã¥ã¬ãŒã¿ãŒãäœæããããšããŠããŸããã€ãŸããå°ããªé«éãªããžã§ã¯ããšåŒ·åãªå·šå€§çã®äž¡æ¹ã§åäœããã¯ãã§ãã ãããã£ãŠãå¶åŸ¡ããã枩床ã¯äžè¬ã«ã¡ãŒã¿ãŒã«ãã£ãŠå¶éããããšæ³å®ããå¿ èŠããããŸãã æãäžè¬çã«äœ¿çšãããã®ã¯ãXAïŒKïŒããã³XKïŒLïŒã§ãã é©çšç¯å²ã¯ãæ倧1200°Cã§ãã å·åŽã«ã¯ããé«åºŠãªæ©åšïŒã¯ã©ã€ãªã¹ã¿ããïŒãå¿ èŠã§ãããè¿œå ã®å·åŽå¶åŸ¡ïŒãã¡ã³ããã³ééå¯èœãªãã£ãããããã¢ïŒãã»ãšãã©å¿ èŠãããŸãããã€ãŸããçŸæç¹ã§ã¯èæ ®ããé€å€ãããŠããŸãã å¶åŸ¡ããã枩床ã¯ã15°Cãã1200°Cã§ãããé»æºã®ã¿ãå¶åŸ¡ãããŸãã
å¶åŸ¡ç²ŸåºŠã¯ãæåã«æž¬å®ç²ŸåºŠã«ãã£ãŠæ±ºå®ãããŸãããã£ãªãã¬ãŒã·ã§ã³ããŒãã«ã¯0.1床åŸã«äžããããŸãã ããŒãã«å ã®çŽç·æ§ã¯ååãšããŠãŸãšããªã®ã§ã粟床ã¯äž»ã«ã¢ã³ããšé»æµèšã«ãã£ãŠå¶éãããŸãã ç§ã®å Žåã0.1床ãç¶æãã粟床ãéæãããã£ãã®ã§ãã¡ãŒã¿ãŒã¯1/32床ã«èšå®ãããŸããããã«ãããã3ã¯ã©ã³ã¿ã ã0.1床ã«ãªããéåžžã®ããã€ãºã調æŽ+ -1ã¯ã©ã³ã¿ã ãåŸãããŸãã床ã 1/32ã䜿çšãããšãåºå®å°æ°ç¹ã§ã®äœæ¥ãå¯èœã«ãªããŸã-5ããã=å°æ°éšãæ®ãã¯æŽæ°ã§ãã 16ãããã§ã¯ã0ã2047°ãè¡šãããšãããããŸãã è² ã®æ°ã䜿çšãã代ããã«ãææ°ã®ä»£ããã«ã±ã«ãã³ã§äœæ¥ããŸãããããã£ãŠã0ã2047°Kã§è¡šç€ºãããããã¯-273ã1775°Cãšåçã§ãã 0.03125°ã®å¢åã§ã
V.ã«ã¹ã¿ãã€ãºã®ç¯å²ã
匷åãªçºé»æã§ãã€ã¯ããªã¢ã¯ã¿ãŒãå¶åŸ¡ããã«ã¯ã1ïŒ ã®é»åã§10床ã®å ç±ã«ååã§ããããšãå€æããå ŽåããããŸããã倧åã®äžæŽ»æ§çã§ã¯ãå ç±é»åã®100ïŒ ã§ããçšåºŠå ç±ããããšã¯ã»ãšãã©ã§ããŸããã ïŒå®éã«ã¯ããã®ããã«èŠããŸã-ããã€ãã®æåå¶åŸ¡ããŒã¿ãŒããããŸã-ãããã¯å¥åã®ãã€ãã¹ã€ããã§ãªã³ã«ãªããåæå ç±ãçæããŸã;å°æ¥ã枩床調æŽåšã¯å¥ã®ããŒã¿ãŒãå¶åŸ¡ããããšã§åäœç¹ãç¶æããæ倧é»åã§æ倧+ 10°CãçæããŸãããã¯çµ¶ããç±ããªã£ãïŒã ããã«åºã¥ããŠã1床ããã100ïŒ ã®é»åãæ¯äŸã®å¶éä¿æ°ã§ãããšä»®å®ããããšã¯è«ççã§ãã 0.1床ã®å¶åŸ¡æ§ãååŸãããã®ã§ããã¯ãæå³ããããŸããã æå°å€ã¯ãç°¡åã«ããããã«ãéã«ããŸãã-100床ããã1ïŒ ã®é»åã
æéä¿æ°ã®ç¯å²ã¯ãã¬ã®ã¥ã¬ãŒã¿ã®åäœæ¡ä»¶ã«åºã¥ããŠåçŽã«èšç®ãããŸãã 0ãééããåŸã®ã¹ã€ãããªã³ã®é 延æéãèšç®ããŠãã©ã€ã¢ãã¯ã®é»åãå¶åŸ¡ãããããã³ã³ãããŒã©ãŒã®å¶éåšæ³¢æ°ã¯50Hzã§ãã ãã©ã¹ãŸãã¯ãã€ãã¹ãæ°ã«ããªããã¯ãŒãå¶åŸ¡ãããšç¢ºä¿¡ããŠããå Žåã¯ã100 Hzã§äœæ¥ã§ããŸãããåžžã«ããã§ãããšã¯éããªããããæ¯ååãéã®æ£ãšè² ã®äž¡æ¹ã®åæ³¢ãç §å°ããããšããå§ãããŸãã 寿åœãççž®ããããã«ãåäœæéã25Hzã«ççž®ããŸãããããã«ãããèšç®ãããå¹æã¯4ã€ã®åæ³¢ã«å¯ŸããŠæå¹ã«ãªãããã®éã«æ°ããå¹æãèšç®ããæ©äŒããããŸãã
ãããã£ãŠãæå®æ°ã¯0ã2000ç§ã®ç¯å²ã§1/25ç§ã«èšå®ãããŸãïŒ2000 * 25 = 50,000ã16ãããã§ãïŒã
ãŸãã0ã100ïŒ ã®æå°ããã³æ倧é»åå¶éããããŸãã
VIã é»æºç®¡çã
ãã®ç¬éããããã¹ãŠã®çè«èšç®ãçµäºããç¹å®ã®å®è£ ã«çµã³ã€ããŠèŠãç·Žç¿ãå§ãŸããŸãã
ãã®ããã0ãééããåŸã«ãã©ã€ã¢ãã¯ãéãéã®é 延ãå¶åŸ¡ããããšãæ¢ã«æ±ºå®ããŠããŸãããããã£ãŠã0ã®é 延ã¯100ïŒ ã®é»åãç¡éã®é 延= 0ïŒ ã®é»åãæå³ããŸãã
質åïŒã©ããªç²ŸåºŠã§é»åãå¶åŸ¡ã§ããŸããïŒ äžè¬çã«ãã¿ã€ããŒã®ã«ãŠã³ãããŠã³ã®æ£ç¢ºãã äžæ¹ãã©ã®ãããªé»åãå¿ èŠã§ããïŒ 0.04ç§ã«é©çšããå¿ èŠãããé»åã®å²åãèšç®ããŸãã ååãšããŠãçµéšããã1ç§ã®æž©åºŠãç¶æããã«ã¯ã0.1ç§ã®åšæ³¢æ°ã§1ïŒ ã®ç²ŸåºŠã®é»åå¶åŸ¡ã§ååã§ãã 0.04ç§ãå¶åŸ¡ããŸãïŒ2.5åé«éïŒã ãããã£ãŠãæ倧å€ã®1/250ïŒ0.4ïŒ å»ã¿ïŒã®åŸã«ãã¯ãŒããŒãã«ãèšç®ããããšã«ããŸããã ããã«ãããããŒãã«ãããŸã倧ããããïŒ500ãã€ãïŒãåæã«1ïŒ ãè¶ ãã粟床ã«ããããšãã§ããŸãã ã±ãŒã¹ã«ããã«ç²ŸåºŠãå¿ èŠãªå Žåãåã«ãŠã³ãã¯ããã»ã©é£ãããããŸããã
次ã«ããã®ãŸãã«è¡šãèšç®ããããšã«ã€ããŠè©±ããŸãããã ãŸãã ãŒããééããä¿¡å·ã®åäœã®ç¬éãããããšã«æ³šæããå¿ èŠããããŸãã ç§ã®å Žå-12Vã ã€ãŸããå ¥åé»å§ã12Vãäžåããšã0ãééããä¿¡å·ãåãåããŸãã
ããã¯ãé»åã100ïŒ ã®å Žåãéå§æé= 12Vã®ééæéã§ããããšãæå³ããŸãã
æ¹çšåŒç³»ã解ããŸã
; IntMomentïŒ= 12V ; æ倧ïŒ= sqrïŒ220 * sqrtïŒ2ïŒïŒ ; {SqrïŒSinïŒPi / 2ïŒ* KïŒ=æ倧 ; {SqrïŒSinïŒXïŒ* KïŒ= IntMoment ; ; 2 * k / MaxCode = 1-cosïŒT * PiïŒ ; cosïŒT * PiïŒ= 1-2 * k / MaxCode ; T * Pi = arccosïŒ1-2 * k / MaxCodeïŒ ; T = arccosïŒ1-2 * k / MaxCodeïŒ/ Pi
ããã»ããµã¯32786ã®åšæ³¢æ°ã§åäœããPLLã¯384/2ã«èšå®ãããåæ³¢ã®åšæ³¢æ°ã¯100 Hzã§ãããããæéTã®ã¿ã€ããŒã«å®æ°ãããŒãããã³ãŒãã¯æ¬¡ã®åœ¢åŒã«ãªããŸãã
65536-(T*(32768*384/2)/100.0 + 773)
é 延æéãèšç®ããå¿ èŠããããŸããããã«ãããæ£åŒŠæ³¢ã«å«ãŸããéšåã®é¢ç©ãåäžã«å¢å ããŸãã ã€ãŸãããã¯ãŒãåäžã«å¢å ãããæé枬å®å€ãå¿ èŠã§ãã åèšé»åã¯ãæ£åŒŠæ³¢å šäœã®ç©åã§ãã [ããã«æ°åŒãæ¿å ¥ããæ¹æ³ãç¥ã£ãŠããã®ã¯èª°ã§ããïŒ ãŸããïŒ ããããã¡ãŒãã«èšæ³ã§æžã]ã
æ倧= intïŒsqrïŒsinïŒxïŒïŒãx = 0..PiïŒ intïŒsqrïŒsinïŒxïŒïŒãx = 0..T * PiïŒ= x / 2-sinïŒ2 * xïŒ/ 4 + C | 0..T * PI =ïŒT * PiïŒ/ 2-sinïŒ2 * T * PiïŒ/ 4 ïŒT * PiïŒ/ 2-sinïŒ2 * T * PiïŒ/ 4 = Q * Pi / 2
ãããã£ãŠãäžãããã粟床ã§ãã¹ãŠã®Qã調ã¹ãããããã®TãèŠã€ããå¿ èŠããããŸãã
ç§ã¯ãã®ãããªæããªæ¹æ³ã§ãããèªåã§æ±ºããŸããïŒ
ããŒã«ãžã§ãã¬ãŒã¿ãŒ
#!/usr/bin/perl # (T*Pi)/2 - sin(2*T*Pi)/4 = Q*Pi/2 use constant PI => 4 * atan2(1, 1); $T = 1; for( $i = 250; $i >= 0; $i-- ) { $int = $i*PI/2/250; $ev = ($T*PI)/2-sin(2*$T*PI)/4; while( abs($ev-$int) > 0.0005 ) { $T -= 0.0001; $ev = ($T*PI)/2-sin(2*$T*PI)/4; } #print $i."\t".$T."\n"; $code = 65536-($T*(32768*384/2)/100.0 + 773); printf "DB 0%02Xh, 0%02Xh ; %04Xh = $i/250 of power\n", $code%256, int($code/256), $code, $i; }
ããã§ãåºåã§ã0ãééããããšã«é¢ããä¿¡å·ãåãåã£ãåŸãç¹ç«ãŸã§ã¿ã€ããŒè² è·å®æ°ã«å¯Ÿå¿ãã250ã®å€ãæã€ãã¬ãŒããåŸãŸããïŒããæ£ç¢ºã«ã¯ãäžèšã§è¿°ã¹ãããã«12VãééããŸãïŒã
VIIã å ¥å枬å®
å¥ã®å€§ããªèšäºã«å€ããã®ã§ããã®è³ªåã¯ã¹ãããããŸãã ç±æµæã®åé¡ãã©ã®ããã«è§£æ±ºãããã¯ãBoseã§äº¡ããªã£ãç§ã®ããã°ã®ã¢ãŒã«ã€ãã«ãããŸãã
ç¥ã£ãŠããã¹ãäž»ãªããšã¯ãå¿ èŠãªåšæ³¢æ°ïŒãã®å Žå-25HzïŒãšå¿ èŠãªç²ŸåºŠïŒåºåã¯1/32床ã§0ãã2048床ã±ã«ãã³ã®æ°å€ïŒã§ããŒã¿ã枬å®ããããšã§ãã ããŒã¿ã¯ã以éã®ãã¹ãŠã®èšç®ã§æ£èŠåããããšæ³å®ãããŸãã
ããã誰ã«ãšã£ãŠãèå³æ·±ããã®ã§ããå Žå-ã³ã¡ã³ããæžããŠã次åã¯ç±é»å¯Ÿã®ããã«ã©ã®ããã«è¡ããããã眲åããŸãã
Viiiã 圱é¿ã®èšç®
ãããŠãããèµ·ãããŸãããæçµçã«ç§ãã¡å šå¡ãå§ãããã®ãçæããããã®ãã¹ãŠã®ããŒã¿ããããŸããã€ãŸããå¶åŸ¡èŠçŽ ã«é©çšãããã¹ãé»åã®çš®é¡ãèšç®ããããã§ãã
PIDã³ã³ãããŒã©ãŒã®åŒãããäžåºŠæãåºããŠãã ãã
U = K * ( Err + (1/Ti)*Int + Td*dErr )
- Uã¯çºè¡ãããæš©éã§ãã
- K-æ¯äŸä¿æ°ïŒæ³š-æ¬åŒ§ããå€ããçç±-å°ãäœãã«èª¬æããŸãïŒ;
- Tiã¯ç©åæå®æ°ã§ãã èšç®ã§ã¯éæ°ã䜿çšãããããšã«æ³šæããŠãã ããã
- Td-埮åæå®æ°
- Err-é»æµã®äžäžèŽïŒèšå®ç¹ãšæž¬å®æž©åºŠã®å·®
- dErr-äžäžèŽã®å°é¢æ°ïŒçŸåšãšéå»ã®ãšã©ãŒã®å·®ïŒ
- Intã¯çŽ¯ç©ãã¹ãããç©åïŒèŠããã¹ãŠã®Errsã®åèšïŒ
ã»ã¯ã·ã§ã³IIIã§æèµ·ããã質åã«åã³è¡ããŸãããæè¡è ã¯ããã䜿çšããŸãã ãããã£ãŠããã¹ãŠã®å®è£ ã®å€å žçãªãšã©ãŒãã€ãŸããæçµçãªä¿æ°ã®æ¬¡å ãã蚱容ããªãããšãéåžžã«éèŠã§ãã ç©çããã»ã¹ãå¶åŸ¡ããããã®ããã€ã¹ãäœæããŠããŸã ãã€ãŸããã¢ãã«ãæºæ ããå¿ èŠããããŸãã
ãã¹ãŠã®ãã£ã¡ã³ã·ã§ã³ãåºåããŸãã éšåçã«å°æ¥ãèŠæ®ããŠãç§ã¯ãã§ã«IVã§èª¬æããŸããããããã§ãã詳现ã«æããã«ããŸãã
- U-ãã¯ãŒã®ïŒ åäœã®å€ãæã¡ãŸãã ããæ£ç¢ºã«ã¯-ããŒãã«ã®é»åã100ïŒ ãã1/250ã«ãªããããé»åã®2/5ã§æ¶è²»ãããŸãã
- Err-ãã¹ãããã床ã§èšå®ã ããæ£ç¢ºã«-1/32床ã§ã
- Int-æŽæ°ãæéã®åºŠæ°ã®åèšãè¡šããŸã-ã€ãŸãã次å 床*ç§ãæã¡ãŸãã ããæ£ç¢ºã«-ïŒ1/32床ïŒ*ïŒ1/25ç§ïŒ
- Ti -1/25ç§ã§èšå®
- ïŒ1 / TiïŒ* Int-èšç®åŸã次å ïŒ1/32床ïŒãæã€å¯äžãæäŸããŸãã
- dErr-埮åã次æ°/äºæ¬¡å ããŸãã¯ãããïŒ1/32床ïŒ/ïŒ1/25ç§ïŒ
- Td -1/25ç§ã§èšå®
- Td * dErr-補åã寞æ³ã«å¯äžããåŸïŒ1/32床ïŒ
- ïŒ...ïŒ -ãããã£ãŠãæ¬åŒ§å ã®ãã¹ãŠã®çšèªã¯æ¬¡å ïŒ1/32床ïŒã«çž®å°ãããŸã
- K - Uããã³ïŒ...ïŒã«äžèŽããŸããããã¯ã床åäœã®æ¬¡å ãããæ£ç¢ºã«ã¯ïŒ2/5ïŒïŒ /ïŒ1/32床ïŒãæã€ããšãæå³ããŸã
ããã§ãæ¯äŸä¿æ°ãæ¬åŒ§ããåãåºãããçç±ãæ確ã«ç¢ºèªã§ããŸã-ããã«ããã埮åä¿æ°ãšintä¿æ°ãæéå ã«åçŽã«äžå®ã«ä¿ã€ããšãã§ããŸãããã®çµæãèšå®æã«ãªãã¬ãŒã¿ãŒã¯åçŽã§ããããããæ°å€ã§åäœããŸã-æ¯äŸä¿æ°ã®åºŠæ°ãšç©åä¿æ°ãšåŸ®åä¿æ°ã®ç§æ°
ãããŠãããããèŠãããã«ããã€ã³ãã®äœçœ®ãšæéã®æ¬¡å ã®äŸ¿å©ãªéžæã®ãããã§ããã¹ãŠã®èšç®ã¯ã»ãŒãæ£é¢ãããå®è¡ãããŸãã
1ã€ã«å ããŠã Tiå€ããããèšç®ã«ã¯1 / Tiãå¿ èŠã§ãã é«ãããåå²æäœã¯éåžžã«é«äŸ¡ã§ãã ä¹ç®ã®æäœã¯ã¯ããã«å®äŸ¡ã§ããããã Multiplicationã䜿çšããäžå€æŽæ°ã«ããé€ç®ã®åªããèšäºã䜿çšããŸãã ç§ãã¡ã«ãšã£ãŠãçµå±ã®ãšããã K / Ti / Tdã®å€æŽã¯éåžžã«ãŸãã§ããããããã£ãŠãå€æŽåŸã«ããããå€æŽããäœè£ããããŸããäž»ãªããšã¯ãèšç®ã®ã¡ã€ã³ãµã€ã¯ã«ãè¿ éã«æ©èœããããšã§ãã
ãããã£ãŠãèšç®ã®ããã®Tiã®ä»£ããã«ãã»ããTi_m ã Ti_sh1 ã Ti_sh2ã«å解ããŸãã ãããŠãåãµã€ã¯ã«ã§èšç®ããŸãïŒ
T1 = MULUH(Ti_m, Int) Q = SHR(T1+SHR(Int-T1, Ti_sh1), Ti_sh2)
次ã«ãããã深床ã®ãã©ã³ã¹ãèšç®ããŸãã ãããè¡ãã«ã¯ãå®å šãªåŒã段éçã«äœæããŸãã
-
Eo = E
; ç§ãã¡ã¯ééããéãå»ãå¿ èŠãããã ãšã©ãŒ-å16ããã -
E = YX
; æ°ããäžäžèŽãèšç®ããŸãã 16ããã -
Int = Int + (E+Eo)/2
; ãšã©ãŒãçµ±åããŸãã ãã®å Žåãå·®ã®ååã®åèšãèæ ®ããŸãïŒå·®åã¹ããŒã ïŒã 32ããã= 32ããã+ 16ããã -
cI = Int * (1/Ti)
; ç©åå¯äžãèæ ®ããŸã-32ããã* 32ããã=> 32ããã -
cD = Td * (E-Eo)
; å·®åã®å¯äžãèæ ®ããŸã-16 * 16 => 32bit -
PID = E + cI + cD
; ãžã£ã³ã 16 + 32 + 32 => 32ããã -
U = K*PID/256
; ä¿æ°; 32 * 16/8ããã=> 40ãããã
ãã¹ãŠã®èšç®ã§ã7çªç®ã®ã¹ããããŸã§ã®ãã€ã³ãã®äœçœ®ã¯å³5mã®ãŸãŸã§ãã æåŸã®ç¬éã«ãè³ã§é¢çœããã§ã€ã³ããçºçããŸãã Kã¯ãããã1/256ã«èšå®ãããä¹ç®åŸããã€ã³ãã¯å·Šã«5 + 8 = 13æ¡ã·ããããããããçµæããäžäœ8ããããç Žæ£ããå¿ èŠããããŸãã çµæã®æäžäœãã€ãã¯ã2/5ïŒ åŸã«å¿ èŠãªé»åã§ãã ããã¯ãé»åã1/250ã¹ãããã§èª¿æŽããããã1ã€ã®çç±ã§ããããã«ãããçµæã1ãã€ãã«å ¥ããŠãããŒãã«ããç®çã®çµæãç°¡åã«ååŸã§ããŸãã
ããã«ã0ã250ã®ã¹ãä¹ã«ã®ã¿é¢å¿ãããããšãæãåºããŠãã ããããããã£ãŠãèšç®ã®7çªç®ã®ã¹ãããã¯éåžžã«ç°¡åã§ãè² ã®æ°ãåŸããããããã«uMinãè¿œå ããŸãã äžäœãã€ãããŒãã§ãªãããšãå€æãããšãããã«uMaxãè¿œå ããŸãã ãããŠãé»åãç¯å²å ã«ããå Žåã«ã®ã¿-uMinæªæºãŸãã¯uMax以äžããã§ãã¯ããŸãã
çªç¶èª°ããèå³ãæã£ããïŒ
å®å
šãªãããã¯ãã¹èšç®
; PID CalcMainEnd: ; , Go-Go. CalcPid: ; 1. Eo = E | 16bit Pid1: MOV Err0H, ErrH MOV Err0L, ErrL ; 2. E = YX | 16bit Pid2: CLR C MOV A, SettingL SUBB A, ThermoL MOV ErrL, A MOV A, SettingH SUBB A, ThermoH MOV ErrH, A JNB OV, Pid2Ov JB ACC.7, Pid2Max Pid2Min: MOV ErrL, #LOW(-500*32) MOV ErrH, #HIGH(-500*32) SJMP Pid2End Pid2Max: MOV ErrL, #LOW(500*32) MOV ErrH, #HIGH(500*32) SJMP Pid2End Pid2Ov: JNB ACC.7, Pid2OvP Pid2OvN: ; CLR C MOV A, ErrL SUBB A, #LOW(-500*32) MOV A, ErrH SUBB A, #HIGH(-500*32) JNC Pid2End ; > -500 => SJMP Pid2Min Pid2OvP: CLR C MOV A, ErrL SUBB A, #LOW(500*32) MOV A, ErrH SUBB A, #HIGH(500*32) JNC Pid2Max ; < 500 => Pid2End: ; 3. Int = Int + (E+Eo)/2 | 32bit+16bit Pid3: JNB PowerReady, Pid3End ; -- MOV A, ErrL ADD A, Err0L MOV R0, A ; MOV A, ErrH ADDC A, Err0H MOV C, ACC.7 ; 16 , RRC A ; XCH A, R0 ; A= , R0 - RRC A ; JNB IntS, Pid3IntPos ; Int , R0:A, Int CLR C CPL A ADD A, #1 XCH A, R0 CPL A ADDC A, #0 XCH A, R0 Pid3IntPos: ; Int R0:A , ADD A, IntLL MOV IntLL, A MOV A, IntLH ADDC A, R0 MOV IntLH, A MOV A, R0 JB ACC.7, Pid3Neg ; ? ; , JNC jPid3End ; -- . INC IntHL ; MOV A, IntHL JNZ Pid3End ; 4 -- INC IntHH ; MOV A, IntHH JNZ Pid3End ; -- MOV IntHH, #0FFh ; -- MOV IntHL, #0FFh MOV IntLH, #0FFh MOV IntLL, #0FFh jPid3End: SJMP Pid3End Pid3Neg: ; , , FFh MOV A, IntHL ADDC A, #0FFh MOV IntHL, A MOV A, IntHH ADDC A, #0FFh MOV IntHH, A JC Pid3End ; , CPL IntS ; , CPL C ; MOV A, #0 SUBB A, IntLL MOV IntLL, A MOV A, #0 SUBB A, IntLH MOV IntLH, A MOV A, #0 SUBB A, IntHL MOV IntHL, A MOV A, #0 SUBB A, IntHH MOV IntHH, A ; -- Pid3End: ; 5. cI = Int*(1/Ti) | 32*32=>32bit Pid5: ; R3:R2:R1:R0 = Int*(1/Ti) JB Ti_sh1, Pid5Calc ; Ti_sh1=0, 1/Ti=1 Ti=0. MOV A, Ti_mLL ORL A, Ti_mLH ORL A, Ti_mHL ORL A, Ti_mHH JZ Pid5Zero MOV R0, IntLL MOV R1, IntLH MOV R2, IntHL MOV R3, IntHH AJMP Pid5End Pid5Zero: MOV A, #0 MOV R0, A MOV R1, A MOV R2, A MOV R3, A MOV IntLL, A MOV IntLH, A MOV IntHL, A MOV IntHH, A AJMP Pid5End Pid5Calc: ; R7:R6:R5:R4[:R3] = MULUH(Int*Ti_m) // R3 MOV R2, #0 ;; R7:R6 = IntHH*Ti_mHH MOV A, IntHH MOV B, Ti_mHH MUL AB MOV R7, B MOV R6, A ; R6:R5 += IntHL*Ti_mHH MOV A, IntHL MOV B, Ti_mHH MUL AB MOV R5, A MOV A, R6 ADD A, B MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R5:R4 += IntLH*Ti_mHH MOV A, IntLH MOV B, Ti_mHH MUL AB MOV R4, A MOV A, R5 ADD A, B MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R4:R3 += IntLL*Ti_mHH MOV A, IntLL MOV B, Ti_mHH MUL AB MOV R3, A MOV A, R4 ADD A, B MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ;; R6:R5 += IntHH*Ti_mHL MOV A, IntHH MOV B, Ti_mHL MUL AB ADD A, R5 MOV R5, A MOV A, R6 ADDC A, B MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R5:R4 += IntHL*Ti_mHL MOV A, IntHL MOV B, Ti_mHL MUL AB ADD A, R4 MOV R4, A MOV A, R5 ADDC A, B MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R4:R3 += IntLH*Ti_mHL MOV A, IntLH MOV B, Ti_mHL MUL AB MOV A, R3 MOV R3, A MOV A, R4 ADDC A, B MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ;; R5:R4 += IntHH*Ti_mLH MOV A, IntHH MOV B, Ti_mLH MUL AB ADD A, R4 MOV R4, A MOV A, R5 ADDC A, B MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ; R4:R3 += IntHL*Ti_mLH MOV A, IntHL MOV B, Ti_mLH MUL AB ADD A, R3 MOV R3, A MOV A, R4 ADDC A, B MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ;; R4:R3 += IntHH*Ti_mLL MOV A, IntHH MOV B, Ti_mLL MUL AB ADD A, R3 MOV R3, A MOV A, R4 ADDC A, B MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A ;;; R3 > 7F -- MOV A, R3 JNB ACC.7, Pid5Shift ; R3<80 -- ANL A, #7Fh JZ Pid5Round ; = 80 -- MOV A, #1 ADD A, R4 MOV R4, A MOV A, R2 ; A=0 ADDC A, R5 MOV R5, A MOV A, R2 ; A=0 ADDC A, R6 MOV R6, A MOV A, R2 ; A=0 ADDC A, R7 MOV R7, A SJMP Pid5Shift Pid5Round: MOV A, R4 ORL A, #01h MOV R4, A ;JMP Pid5Shift Pid5Shift: ; R3:R2:R1:R0 = (Int-R7:R6:R5:R4) >> 1 CLR C MOV A, IntLL SUBB A, R4 MOV R0, A MOV A, IntLH SUBB A, R5 MOV R1, A MOV A, IntHL SUBB A, R6 MOV R2, A MOV A, IntHH SUBB A, R7 RRC A ; >>1 MOV R3, A MOV A, R2 RRC A MOV R2, A MOV A, R1 RRC A MOV R1, A MOV A, R0 RRC A ;MOV R0, A ; R3:R2:R1:R0 += R7:R6:R5:R4 ;MOV A, R0 ADD A, R4 MOV R0, A MOV A, R1 ADDC A, R5 MOV R1, A MOV A, R2 ADDC A, R6 MOV R2, A MOV A, R3 ADDC A, R7 MOV R7, A ; sh2. ; sh2 16 ( Ti 16; 16 ) MOV A, Ti_sh2 JNB ACC.4, Pid5ShiftUnder16 ; >=16 -- 2 mov' MOV R0, 18h+2; R2, bank 3 MOV R1, 18h+3; R3, bank 3 MOV R2, #0 MOV R3, #0 Pid5ShiftUnder16: JNB ACC.3, Pid5ShiftUnder8 ; >=8 -- 1 mov' MOV R0, 18h+1; R1, bank 3 MOV R1, 18h+2; R2, bank 3 MOV R2, 18h+3; R3, bank 3 MOV R3, #0 Pid5ShiftUnder8: ANL A, #07h JZ Pid5End ; -- MOV R4, A SJMP Pid5ShiftRight Pid5NextShift: CLR C ; C ! Pid5ShiftRight: MOV A, R3 RRC A MOV R3, A MOV A, R2 RRC A MOV R2, A MOV A, R1 RRC A MOV R1, A MOV A, R0 RRC A MOV R0, A DJNZ R4, Pid5NextShift ; , ; , R3:R2:R1:R0 ; , IntS Pid5End: ; 4. PID += [ cD = Td * (E-Eo) ] | 16*16=>32bit Pid4: ; cD = R7:R6:R5:R4; ErrD = E-Eo CLR C MOV A, ErrL SUBB A, Err0L MOV DiffL, A MOV A, ErrH SUBB A, Err0H MOV DiffH, A MOV C, ACC.7 ; MOV DiffS, C ; E-Eo JNC Pid4Mul ; Diff -- , MOV A, DiffL CPL A ADD A, #1 MOV DiffL, A MOV A, DiffH CPL A ADDC A, #0 MOV DiffH, A Pid4Mul: ; R7:R6 = DiffH*TdH ; MOV A, DiffH = A=DiffH MOV B, TdH MUL AB MOV R6, A MOV R7, B ; R5:R4 = DiffL*TdL MOV A, DiffL MOV B, TdL MUL AB MOV R4, A MOV R5, B ; R6:R5 += DiffH*TdL MOV A, DiffH MOV B, TdL MUL AB ADD A, R5 MOV R5, A MOV A, R6 ADD A, B MOV R6, A MOV A, R7 ADDC A, #0 MOV R7, A ; R6:R5 += DiffL*TdH MOV A, DiffL MOV B, TdH MUL AB ADD A, R5 MOV R5, A MOV A, R6 ADD A, B MOV R6, A MOV A, R7 ADDC A, #0 MOV R7, A ; 6. PID = E + cI + cD | 32bit Pid6: ; R3:R2:R1:R0 cI, IntS; ; R7:R6:R5:R4 = cD; DiffS ; E JB IntS, ChkDiffN JNB DiffS, Pid6Add ; Int>0, Diff>0 => Add SJMP Pid6Sub ; Int>0, Diff<0 => Sub ChkDiffN: JNB DiffS, Pid6Sub ; Int<0, Diff>0 => Sub ; Int<0, Diff<0 => Add Pid6Add: ; => MOV A, R0 ADD A, R4 MOV R0, A MOV A, R1 ADDC A, R5 MOV R1, A MOV A, R2 ADDC A, R6 MOV R2, A MOV A, R3 ADDC A, R7 MOV R3, A JNC Pid6Err ; - MOV R3, #0FFh MOV R2, #0FFh MOV R1, #0FFh MOV R0, #0FFh SJMP Pid6Err Pid6Sub: ; -- CLR C MOV A, R4 SUBB A, R0 MOV R0, A MOV A, R5 SUBB A, R1 MOV R1, A MOV A, R6 SUBB A, R2 MOV R2, A MOV A, R7 SUBB A, R3 MOV R3, A JNC Pid6Err ; -- DiffS CPL DiffS ; , DiffS MOV R6, #0 ; R6=0 MOV A, R0 CPL A ADDC A, R6 ; R6=0, C=1 => +1 MOV R0, A MOV A, R1 CPL A ADDC A, R6 ; + MOV R1, A MOV A, R2 CPL A ADDC A, R6 MOV R2, A MOV A, R3 CPL A ADDC A, R6 MOV R3, A Pid6Err: MOV R6, #0 ; R6=0 ; R3:R2:R1:R0 -- cI+cD; DiffS ; / Err, ; Err DiffS MOV R4, ErrL MOV A, ErrH JB ACC.7, Pid6ChkDiffS JNB DiffS, Pid6SumErrNoInv ; Err>0, Diff>0 => NoInv SJMP Pid6SumErrInv Pid6ChkDiffS: JNB DiffS, Pid6SumErrNoInv ; Err<0, Diff>0 => NoInv Pid6SumErrInv: ; Err DiffS -- SETB C ; C MOV A, ErrL CPL A ADDC A, R6 ; A+=R6+C, R6=0 C=1 => A+=1 MOV R4, A ; R4=ErrL MOV A, ErrH CPL A ADDC A, R6 Pid6SumErrNoInv: MOV R5, A ; ErrH Pid6SumErr: ; , R5:R4 Err, DiffS; - MOV A, R0 ADD A, R4 MOV R0, A MOV A, R5 CLR F0 JNB ACC.7, Pid6SubErrPos SETB F0 MOV R6, #0FFh ; => FF Pid6SubErrPos: ADDC A, R1 MOV R1, A MOV A, R2 ADDC A, R6 ; + MOV R2, A MOV A, R3 ADDC A, R6 ; + MOV R3, A MOV R6, #0 ; JNC Pid6ChkF0 JB F0, Pid7 ; Err<0, => , SJMP Pid6SumOv ; Err>0, => Pid6ChkF0: JNB F0, Pid7 ; Err>0, => ;SJMP Pid6SumUf ; Err<0, => Pid6SumUf: ; Err<0 => CPL DiffS MOV A, R0 CPL A ADD A, #1 ; C=?, 1 MOV R0, A MOV A, R1 CPL A ADDC A, R6 MOV R1, A MOV A, R2 CPL A ADDC A, R6 MOV R2, A MOV A, R3 CPL A ADDC A, R6 MOV R3, A SJMP Pid7 ; DiffS Pid6SumOv: ; => MOV R0, #0FFh MOV R1, #0FFh MOV R2, #0FFh MOV R3, #0FFh ; 7. U = K*PID/256 | 32bit*16bit/8bit => 40bit, ; | 10bit ; | Pid7: ; R3:R2:R1:R0 PID, DiffS ; K*PID/256, 10 ; K , PID < 0 => JB DiffS, Pid7Umin ; 16 , ; R3 != 0 => MOV A, R3 JNZ Pid7Umax ; [R2:R1:R0 * KH:HL] = [R7:R6:R5:R4:R3] ; , R7=0 R6=0, ; , R7 R6 ; ; R7:R6 = R2*KH MOV A, R2 JZ Pid7S1 MOV A, KH JNZ Pid7Umax ; R2!=0 KH!=0 => R7:R6>0 => Pid7S1: ; R6:R5 = R2*KL MOV A, R2 MOV B, KL MUL AB MOV R5, A MOV A, B JNZ Pid7Umax ; R6 > 0 => ; R6:R5 = R1*KH MOV A, R1 MOV B, KH MUL AB ADD A, R5 JC Pid7Umax ; R6 > 0 => MOV R5, A MOV A, B JNZ Pid7Umax ; R6 > 0 => ; R5:R4 = R0*KH MOV A, R0 MOV B, KH MUL AB MOV R4, A MOV A, R5 ADD A, B JC Pid7Umax ; R6 > 0 => MOV R5, A ; R5:R4 = R1*KL MOV A, R1 MOV B, KL MUL AB ADD A, R4 MOV R4, A MOV A, R5 ADDC A, B JC Pid7Umax ; R6 > 0 => MOV R5, A ; R4:R3 = R0*KL MOV A, R0 MOV B, KL MUL AB RLC A ; C = R3>=0x80, Z=R3>0x80 MOV R3, #0FFh ; R3<>0x80 => JNZ Pid7S2 MOV R3, #0FEh ; R3==0x80 => Pid7S2: MOV A, R4 ADDC A, B ; , , - ANL A, R3 ; -- MOV R4, A MOV A, R5 ADDC A, R6 ; R6=0 , JC Pid7Umax ; R6 > 0 => MOV R5, A ; R5:R4 => 16 ; R5:R4 Umax/Umin MOV A, UmaxL SUBB A, R4 ; C=0 MOV A, UmaxH SUBB A, R5 JC Pid7Umax ; R5:R4>Umax => R5:R4 = Umax MOV A, UminL SUBB A, R4 ; C=0 MOV A, UminH SUBB A, R5 JNC Pid7Umin ; R5:R4<Umin => R5:R4 = Umin ; MOV UH, R5 MOV UL, R4 SETB UReady AJMP CalcExit Pid7Umax: ; MOV UH, UmaxH MOV UL, UmaxL SETB UReady AJMP CalcExit Pid7Umin: ; MOV UH, UminH MOV UL, UminL SETB UReady AJMP CalcExit
IXã æŽé²ã®é©çšã
ãããã£ãŠãèšç®ããã圱é¿ãããããããé©çšããããšãã¿ã¹ã¯ã§ãã ãã®ããã«ãåšæ³¢æ°ã50 Hzã®äžè¬çãªäœæ¥ãµã€ã¯ã«ãæ©èœããŸãã å¶æ°ãµã€ã¯ã«ã§-枬å®ãšèšç®ãå®è¡ãããå¥æ°ãµã€ã¯ã«ã§-å¹æã®é©çšã ãããã£ãŠãäžè¬çãªã¹ããŒã ãåŸãããŸãããã¯ãŒãèšå®ããã枬å®ãšèšç®ã1ã€ã®æ£åŒŠæ³¢ãéããŠè¡ãããæ°ããæ£åŒŠæ³¢ã®é©çšãå¥ã®æ£åŒŠæ³¢ãéããŠè¡ãããŸãã
X.èœãšãç©Žã
å·®åã¹ããŒã ãšæ¯èŒããŠãçŽæ¥ã¹ããŒã ã«ã¯èœãšãç©Žãã»ãšãã©ãããŸãããããã«ç§ãèŠããã®ã®ãªã¹ãã瀺ããŸãã
- ãã£ã¡ã³ã·ã§ã³ã®äŒèšåŠç ã æãéèŠã§æãäžè¬çãªééãã äœãKãKiãKdã§ããããæå®ããã«ãU = K *ïŒErr + Ki * Int + Kd * DiffïŒã ããåãããšã¯ã§ããŸããã ãããŠãã©ã®ãããªç²ŸåºŠã§ã æéã®æ¬¡å ã®éæ°ãæã€ä¿æ°Kiã«ãšã£ãŠç¹ã«éèŠã§ã-æŒç®ãæŽæ°ã§ããå ŽåãDIVISIONãå¿ èŠã§ãããæŽæ°ã®éæ°ã¯è¡šçŸã§ããªããããä¹ç®ããã®ã¯ç°¡åã§ã¯ãããŸããã
- äŒèšèšå· ã 2çªç®ã¯éåžžã«éèŠã§ã-èšå·ã®æ€èšã ãã¹ãŠã®æäœã¯ã·ã³ããªãã¯ã§ãªããã°ãªãããç©åã¯ã·ã³ããªãã¯ã«çŽ¯ç©ããå¿ èŠããããŸã-æ¯äŸæåã眮ãæããã ãã§ãªããããšãã°å€éšã®åœ±é¿ã«èããããšãã§ãããã-æ··åç©èªäœã®ç±; ãããŠåœŒã®ãµã€ã³ã¯è² ã§ãã
- ãªãŒããŒãããŒã®èª¬æ ã 0ïŒ ãã100ïŒ ã®é»åãååŸããããèšç®ãããé»åã100ïŒ ãè¶ ããã0ïŒ æªæºã§ãããšããäºå®ãååŸããããšãéèŠã§ãã ããšãã°ãåŠå®çãªçµæãåŸãããå Žåããã¹ãŠã®èšç®ãè¡ãå¿ èŠã¯ãããŸããã ãã ããåæã«ã補åã®è¿œå äžã«ãªãŒããŒãããŒãçºçããå¯èœæ§ãããããšãèæ ®ããããšãéèŠã§ãããŸããã100ïŒ ä»¥äžããšããŠèæ ®ããå¿ èŠãããããªãŒããŒãããŒåŸã«çµæãæ®ãããšã¯ãããŸããã ããã¯äž»ã«ãå¿ èŠãªå Žåã«èŠå¶ã®æ¬ åŠã«æ©ãŸãããŸã-ãªããžã§ã¯ãã¯å¿ èŠãªæž©åºŠããäœããé»åã¯äŸçµŠãããŸãã
- èšç®æéã®äŒèš ã 倧èŠæš¡ãªä¹ç®ïŒå®çŸæ²ç·ãé€ç®ãå«ãïŒã®å¿ èŠæ§ã«ã¯æéãããããããææªã®å Žåã®èšç®ã®å®è¡æéãèšç®ããããšã¯éåžžã«éèŠã§ããã枬å®éã®ç©ºãæéãããçãããå¿ èŠããããŸãã ããããªããšã管çãããŠããªããªããžã§ã¯ãããåäœããŠããããã«èŠããŸãããäœããã®çç±ã§åäœããŠããªãããã§ãã
Xiã çµè«
ãã®çµæãçŽæ¥å®è£ æ¹åŒã«ã¯å·®åæ¹åŒã®åé¡ã¯ãããŸããããããå€ãã®èšç®ã³ã¹ããå¿ èŠã«ãªããŸãã ãã ããé©åãªå®è£ ãè¡ããšãçŽæ¥åè·¯ã¯å®äŸ¡ãª8ããããã€ã¯ãã³ã³ãããŒã©ãŒã§ãéåžžã«é©çšå¯èœã§ãããããäºæž¬å¯èœãªçµæãåŸãããŸãã