환풍기 댐퍼를 닫기위한 제로크로싱

이 가이드를 마치면

제로크로싱을 이해할 수 있습니다 .

환풍기에 포함된 댐퍼를 환풍기 전원이 꺼질때 닫을 수 있습니다.

환경

dsPIC33CK64MC를 사용한 PCB

제로크로싱이란

이론상으로 Y값이 0이 되는 x의 값을 찾는 것이다.

전류량이 0이 되는 순간을 찾는것

하는 이유

환풍기 댐퍼를 닫기 위해선 환풍기의 전원이 차단 되는 순간 즉 전류량이 줄어드는 순간을 찾는 것이다.

제로크로싱을 통해 캐패시터의 전류를 쓰기 시작하는 그 시점부터 남은 여전류를 통해 댐퍼를 닫기 위함이다.

방법

dsPIC33CK64MC 기준으로 하기 때문에 해당 mcu의 공식문서를 참고했다.

11번 채널이 VDCLINK 값을 확인하고 있다.

확인하는 방법은 다음과 같다.

  1. 11번 채널을 아날로그 채널로 만들어준다 (ADC 값을 확인하기 위함)
  2. ADC 채널 이름은 RA3 이자 AN3 이다. 해당 값이 변환이 완료되었는지 확인하는 플래그를 사용한다.
  3. 플래그가 생성되면 변환이 완료된 것이므로 해당 VDC 값을 확인할 수 있다.

위 방법을 통해 코드를 작성하면 다음과 같다.

if (ADSTATLbits.AN3RDY)    // AN3 변환 완료 확인
    {
         AN3_Flag  = true;
     }
     
     
     
if(AN3_Flag){
            adc_val = ADCBUF3;
            UartWriteNumber(adc_val);
            __delay_ms(100);
            
            if(adc_val <36000){
                step_motor(DIR_REVERSE);
            }  
          }