사용자 도구

사이트 도구


commands:pid

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
commands:pid [2026/08/31 22:52] – 바깥 편집 127.0.0.1commands:pid [2026/09/12 23:27] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 ====== PID 제어 ====== ====== PID 제어 ======
  
-^ 명령어 ^ 설명 ^ +PID 계수를 설정한 뒤 현재값과 설정값로 출력을 계산하고 상태를 확인합니다.
-| ''IpidSet(id, kp, ki, kd, sampleMs, outMin, outMax)''계수, 계산 주기와 출력 범위를 설정합니다. | +
-| ''IpidRun(id, pv, sv)''현재값 ''PV''와 설정값 ''SV''로 출력을 계산합니다. | +
-| ''IpidReset(id)'' | 적분값과 내부 상태를 초기화합니다. | +
-| ''IpidReverse(id, reverse)'' | 정동작·역동작을 선택합니다. | +
-| ''IpidItermLimit(id, min, max)'' | 적분항의 범위를 제한합니다. | +
-| ''IpidOutput(id)'' | 마지막 출력값을 반환합니다. |+
  
-<code cpp> +  * [[commands:reference:ipidset|IpidSet()]] — PID 계수계산 주기와 출력 범위를 설정합니다
-void setup() { IpidSet(02.0, 0.5, 0.1, 100, 0, 100); } +  * [[commands:reference:ipidrun|IpidRun()]] — 현재값과 설정값을 사용해 PID 출력을 계산합니다
-void loop() { +  * [[commands:reference:ipidreset|IpidReset()]] — PID의 적분값과 내부 상태를 초기화합니다. 
-  float output = IpidRun(0, ntcReadf(0), 50.0); +  * [[commands:reference:ipidreverse|IpidReverse()]] — PID의 정동작 또는 역동작을 선택합니다. 
-  IanalogWritef(0, 0.0, 100.0, output); +  * [[commands:reference:ipiditermlimit|IpidItermLimit()]] — PID 적분항의 최솟값과 최댓값을 제한합니다. 
-+  * [[commands:reference:ipidoutput|IpidOutput()]] — 마지막으로 계산된 PID 출력값을 반환합니다.
-</code> +
- +
-===== 명령어 원형 ===== +
- +
-^ 반환형 ^ 명령어 원형 ^ +
-| ''bool'' | ''IpidSet(uint8_t id, float kp, float ki, float kd, unsigned long sampleMs, float outMin, float outMax)''+
-| ''float'' | ''IpidRun(uint8_t id, float pv, float sv)''+
-| ''void'' ''IpidReset(uint8_t id)'' | +
-''void'' | ''IpidReverse(uint8_t id, bool reverse)'' | +
-''void'' | ''IpidItermLimit(uint8_t id, float iMin, float iMax)'' | +
-''float'' | ''IpidOutput(uint8_t id)''+
- +
-PID 계산은 안전장치가 아닙니다. 센서 단선, 과온, 출력 고착과 비상정지는 별도 회로와 로직으로 처리하십시오.+
  
 [[commands:builtin|← 내장 명령어 리스트]] [[commands:builtin|← 내장 명령어 리스트]]
  
commands/pid.1788184327.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki