반응형

회전하는 제품에 있는 자석의 NS극 개수를 계수할 때 사용한다.

  • 최소 극 인식 값을 넘어갔을 때만 카운트 된다.
  • 이미 한 쪽 극수 카운팅이 되면 반대쪽 최소 극 인식 값을 넘어가야 카운트 된다.
  • 최소 극 인식 값을 사용하여 노이즈나, 진동 구간에서 카운트를 방지한다.

 

void proc_Count_Pole () {
//NValue = N극 가우스값
//SValue = S극 가우스값
//iMinGauss = 최소 극인식 가우스 값

  // N극이 극인식 가우스 값 이상일 때
  if ( NValue >= iMinGauss) { // N극 카운트 안 됐으면 카운트업
    if (iPoleCNTSet != 1) {
      NPoleCNT++; // 극 수 증가
      iPoleCNTSet = 1;
    }
  }
  
  // S극이 극인식 가우스 값 이상일 때
  if (SValue >= iMinGauss) { // S극 카운트 안 됐으면 카운트업
    if (iPoleCNTSet != 2) {
      SPoleCNT++; // 극 수 증가
      iPoleCNTSet = 2;
    }
  }
  
  NSPoleCNT = NPoleCNT + SPoleCNT; // 극 수 합
}
반응형

관련글