예전에 만들었던 MPPT 회로에서 많은 부분의 문제점이나 버그를 제거. 소프트웨어 PWM에서 그럴듯하게 되는 듯 싶었으나, 새로운 ATTiny를 이용한 회로에서 문제가 있었다.


 최종적으로 16F676에서의 내부 오실레이터가 가져다주는 최대 주파수인 4KHz의 노이즈를 극복할 수 있었다.


 가장 큰 문제였던 점은 전류 측정 회로에서의 OP-AMP의 출력단과 마이크로 컨트롤러의 ADC 핀에 연결하는 부분에 저항을 달았던게 많은 전압 강하를 만들어서 결국 제대로 동작이 힘들었는데, 결국 그 문제를 해결하니 아주 보편적인 로직으로 펌웨어를 업데이트할 수 있었다. 이 문제는 PIC나 AVR에서 같은 문제를 일으켰고 저항을 제거하고 바로 연결하는게 정확한 결과를 받아낸다는 것을 배울 수 있었다.


 사실 펄스 리플을 막을려고 말단에 RC 필터를 달았던건데 아무런 쓸모가 없다는 것은 참 슬프고, 아주 오랜동안 몰랐다는 것도 자신에게 한심했다. 취미용 오실로스코프 그러나 짝퉁인 DSO138 덕분에 많은 문제를 해결했고 참 고맙다. 이런 헤딩에는 오실로스코프가 없으면 문제를 잡아내기 힘들다는 것도 깨달았다.


 여튼 16F676과 ATTiny85를 이용한 회로 모두 이 잘못을 고친 후에 큰 문제가 없는 것을 확인. ADC 평균치 샘플링 부분도 약간의 변화를 줘서 2의 승수가 아닌 연산에서 문제없이 동작하는 펌웨어를 만들 수 있었다.


 도중에 16F676의 사용가능한 메모리 레지스터의 한계를 시험하기도 했다.


 넘어가는 해에 MPPT반응이 아쉽긴한데 노을에 패널의 반응을 기대하는 것은 낭만없는 욕심이라 남겨두었다.


(편집)


 역시나 아마추어의 실패와 잘못된 설계는 또다른 문제를 야기.


 이후에 새로 찾은 낮은 전압 높은 전류의 문제로 이는 PWM으로 생기는 리플을 막아볼려고 붙인 간단한 RC 저주파 필터를 붙이는 과정에서 발생. 그냥 특정 타이밍부터 가져온 값에서 평균값을 구하는 방법이 최고라는 것을 깨달음.


 전압을 가져오는 부분에 C6가 문제인 것으로 제거하면 반응성이 좋아진 탓인지 고전류 저전압 상태를 벗어나게 해준다. 그렇지만 아직 확신하기는 이르다.


 전류값을 가져오는 C5는 정상적으로 잘 동작한다. 이게 우연히 모르고 제거를 하지 않은건데 일정 시간동안 증폭된 전류의 전압 측정값을 유지시켜준다.

 

 혹시 ADC 타이밍이 안맞는지 체크를 하고 싶은데 1채널 취미용 오실로스코프로는 어렵다. 2채널을 하나 구하는게 더 정확히 문제를 찾을 것 같다.



Posted by 파르셀수스
TAG

댓글을 달아 주세요