PIC를 사용한 AC전력 콘트롤러(소프트편)

 PIC를 사용한 AC전력 콘트롤러의 프로그램편입니다.
 CCS사의 C언어로 작성했습니다. PC와 시리얼 통신으로
 접속해 PC로부터 리모트 제어를 할 수가 있습니다.


【개요】

 이번, PIC의 프로그램으로 실현된 기능은 단순한 것으로, 테스트를 겸하고 있습니다.
본체의 볼륨으로 0%에서 100%까지 연속의 전력 제어를 단체로 완성됩니다.
한층 더 시리얼 통신으로 PC와 접속하면, PC 측에 하이퍼 터미널
(을)를 사용해 커멘드를 키보드로부터 입력하는 것으로, 리모트 제어로 임의의 비율의
값을 입력해 설정 제어할 수가 있습니다.


【프로그램 기본 구성】

 본체의 프로그램의 전체 구성은 밑그림과 같이 되어 있습니다. 전체가 메인과
세치기 처리의 2개 흘러 나오고 되어있어, 메인에서는 상시 PC로부터의 USART
경유의 데이터 수신의 유무를 체크하고 있습니다. 데이터 수신이 있는 경우에는
수신 데이타를 뽑기 시작해, 커멘드 체크를 해 각각의 커멘드의 처리를 실행
합니다. 실행이 완료하면(자) 다시 또와의 흐르러 돌아와 반복합니다.

 그 후에서는, 리모트 모드로 없는 경우에는, 볼륨의 위치를 아날로그
데이터로서 입력해, 8비트로 A/D변환해 값을 duty라고 하는 변수에 격납합니다.
이것이, 위상 제어의 비율을 나타내는 데이터가 됩니다.
 PC로부터의 커멘드로 리모트 모드로 설정되었을 때는, 이 아날로그 입력
의 처리는 스킵 되어 PC 측에서의 데이터가 duty 변수에 세트 되고 그 쪽에서
위상 제어가 실행됩니다.
이 아날로그 데이터 의 독포함치를 상시 액정 표시기에 표시하고 있습니다. 실제의
표시예는 밑그림과 같이 됩니다.





 실제의 위상 제어는, 제로 크로스의 새치기 처리 중(안)에서 실행됩니다.








【새치기 처리 프로그램】

 제로 크로스 펄스에 의한, RB0의 외부 새치기가, 교류의 반사이클마다 발생
합니다. 따라서 밑그림과 같이 10 msec마다 세치기가 들어가게 됩니다.

 이 새치기가 위상 제어의 스타트 시점이 됩니다. 우선, 제로 크로스 펄스의
중앙 부근이 정확히 교류의 정현파가 제로 볼트를 횡단할 때이기 때문에, 새치기
하지만 펄스의 첫 시작으로 들어가도록(듯이) 설정했을 때에는, 펄스폭의 1/2만
늦춘 곳(점)이 위상 제어의 100%의 위치가 됩니다.
 이번 유니트의 실측치에서는, 제로 크로스 펄스의 펄스폭은 약 400μsec
(이었)였습니다. 따라서, 새치기가 들어가고 나서 200μsec만 기다리고 있습니다.

 다음에 duty 변수에 세트 되고 있는 값을 바탕으로, 0%에서 100%의 위상 제어를 합니다.
8비트의 변수로 취급하는 것으로 하면, 반사이클을 256 등분 해 취급하게 됩니다.
즉 duty가 255때가 100%로, 0때가 0%가 됩니다.
한층 더 반사이클 10 msec를 256 등분 하기 때문에, 10 msec÷256=39μsec 하지만
위상 잘게 썰기의 단위가 됩니다.

 이것들로부터 포토 트라이액의 온 출력을 하는 시점은, (255-duty)×39μsec
그리고 구해지게 됩니다. 포토 트라이액에의 On신호는 펄스로 좋기 때문에, 폭이
100μsec의 사이만 온 신호를 출력하고 있습니다.

 여기서주의하지만 필요한 것은, 이 처리가 끝날 때까지 쭉 새치기 처리로 동작해
있으므로, 새치기 금지인 채라고 하는 것입니다.
어떠한 다른 처리도 병행해 실행시키고 싶은 경우에는, 이 처리 방법은 변경한다
필요가 있습니다. 타이머 0의 타이머 인터럽션 보고 등에 의할 방법이 생각됩니다.









 여기서, 제로 크로스의 펄스폭은 소자에 의한 불균일이나, 온도, 시간에 의해
다르거나 변화하거나 하기 때문에, 0%과 100%부근은 정확하게 위치가 일치하지 않는다
가능성이 있습니다.
거기서, duty의 상한, 하한 부분에 대해서는, 몇 안 되는 분만큼 강제적으로 0%과 100%
(으)로 하고 있습니다. 이것을 그림으로 나타내면(자) 밑그림과 같이 됩니다.








【PC로부터의 리모콘】

 PIC를 활용한 것으로, USA RT경유의 시리얼 통신이 가능하게 되기 때문에, PC
(으)로부터의 리모콘 제어를 할 수 있도록(듯이) 했습니다.
리모콘때의 커멘드는 아래 표와 같이 되어 있습니다.
우선의 테스트용이므로, 간단한 커멘드만되고 있습니다.

커멘드 커멘드 서식 기능 비고
r rCR 리모트 모드 설정 「l」커멘드가 올 때까지 리모트 모드를 보관 유지한다
이전은 센서의 입력은 중지
l lCR 로컬 모드 설정 리모트 모드를 해제해 센서 입력을 한다
d d 위상 제어 위치 설정 이 커멘드의 뒤에 Duty=와 메세지 출력
됩니다.
데이터 xxxCR 위상 위치 지정 실제의 위상 제어를 실시하는 비율을 0에서 255의
값으로 입력합니다.

실제로 제어했을 때의 하이퍼 터미널의 출력은 아래와 같이 됩니다.






【프로그램 리스트】

프로그램은 모두 CCS사의 C언어로 기술하고 있습니다.
USA RT의 사용법이나, A/D변환의 사용법이 간단하게 가능하게 됩니다.
아래와 같이가 원시 파일이므로, 사용해 주세요.
콘트롤러 본체와 액정 표시기의 라이브러리와 2개로 나누어져 있습니다.

이번 액정 표시기의 라이브러리는, 지금까지의 것으로 조금 변경을 더하고 있어,
레이디 체크를 하지 않고 르프타이마에 의한 지연인 만큼 하고 있습니다.
이것에 의해, 액정 표시기가 실제로 접속되어 있지 않아도, 지금까지와 같이
레이디 체크로 영구 대기가 되어 버리는 일 없이, 처리가 계속됩니다.


★ PIC 활용 파워 콘트롤러 원시 파일






   목차로 돌아온다