본문 바로가기
Study/MAXIM 78M661X

전력값 읽을때 주의사항(마이너스 값 플러스로~)

by Answer Choi 2019. 3. 7.
반응형


78M6610이나 78630으로 전력값을 가져오면 CT의 방향에 따라 마이너스( - )값이 나타납니다.



레지스터 테이블을 보면 전압과 전류는 부호가 없지만, 전력은 부호가 있습니다.


즉 CT를 반대로 연결하면 마이너스 값이 발생합니다.


단상인 78M6610의 경우 마이너스 값이 나오면 플러스로 바꿔주면 됩니다.


1
2
3
4
5
6
7
if (((data >> 23& 0x01== 1) {  //minus
    data -= 1;
    data = (0xffffff - data);
    data = (data *0.05);             
}else{                            //plus
    data = (data *0.05); 
}
cs


전압과 전류는 플러스값으로만 표현되니 상관이 없고,


전력의 경우 signed 24bit 인데 제일 앞자리는 부호입니다.


Line 1 : 부호가 1이면 마이너스 입니다.


Line 2~4 : 2의 보수방식이라 계산해주면 부호를 뺀 값을 얻을 수 있습니다.


Line 6 : 플러스이므로 그대로 하면 됩니다.



3상의 경우도 마찬가지로 전력값만 마이너스 값이 존재합니다.


1
2
3
4
5
6
7
8
9
if (((data >> 23& 0x01== 1) {  //minus
    data -= 1;
    data = (0xffffff - data);
    data = (data  * Wscale) / 100.//because send Wh(1000. ->100.)    
   
}else{                            //plus
    data = (data  * Wscale) / 100.//because send Wh(1000. ->100.)
   
}
cs


Line : 3상도 24bit중 첫 bit로 부호를 판별합니다.


그리고 단상과 마찬가지로 마이너스의 경우 플러스로 만들어 줍니다.


주의 할 점은 CT 3개를 각각 읽어야 합니다.


만약 CT 3개의 평균값으로 읽으면 정확한 값이 나오지 않게 됩니다.


예를들어 CT가 3개중 1~2개가 반대로 연결되어 있는경우


1번 CT가 10Wh, 2번 CT가 -8Wh, 3번 CT가 8Wh인데 WATT_3(평균값)을 읽어오게 되면


26Wh가 10Wh로 표시됩니다.


 값은 터무니 없이 낮게 나오게 되죠.


따라서 CT의 방향을 정확하게 연결을 하던지, 각각의 CT값을 읽어 더해줘야 합니다.


다음 포스팅에서 CT를 올바르게 연결할 수 있는 방법에 대해 올리겠습니다.


반응형

인기글