이 가이드를 마치면
제로크로싱을 이해할 수 있습니다 .
환풍기에 포함된 댐퍼를 환풍기 전원이 꺼질때 닫을 수 있습니다.
환경
dsPIC33CK64MC를 사용한 PCB
제로크로싱이란
이론상으로 Y값이 0이 되는 x의 값을 찾는 것이다.
전류량이 0이 되는 순간을 찾는것
하는 이유
환풍기 댐퍼를 닫기 위해선 환풍기의 전원이 차단 되는 순간 즉 전류량이 줄어드는 순간을 찾는 것이다.
제로크로싱을 통해 캐패시터의 전류를 쓰기 시작하는 그 시점부터 남은 여전류를 통해 댐퍼를 닫기 위함이다.
방법
dsPIC33CK64MC 기준으로 하기 때문에 해당 mcu의 공식문서를 참고했다.

11번 채널이 VDCLINK 값을 확인하고 있다.
확인하는 방법은 다음과 같다.
- 11번 채널을 아날로그 채널로 만들어준다 (ADC 값을 확인하기 위함)
- ADC 채널 이름은 RA3 이자 AN3 이다. 해당 값이 변환이 완료되었는지 확인하는 플래그를 사용한다.
- 플래그가 생성되면 변환이 완료된 것이므로 해당 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);
}
}