PIC의 사용법(하드웨어편)

1. 사용상의 유의점

  (1) 발진소자에 대하여

CPU를 동작시키기 위해 필요한 클록을 만드기 위한 소자로 하기와 같이 사용한다.
용도에 따라 선택할 수 있다. 각 경우의 회로와 정수에 대해서는
데이터북에 자세히 쓰여져 있으므로 데이터북을 참고하기 바란다.

LP(Low Power Crystal):
100KHz 이하의 수정발진자(주로 시계용) 초저소비전력으로 하는 경우에 사용한다.

XT(Crystal/Resonator):
4MHz 이하의 수정 발진자나 세라믹 발진자.
그다지 속도를 요하지 않은 경우에 사용한다.

HS(High Speed Crystal/Resonator):
4MHz 이상 10MHz 이하의 수정발진자 또는 세라믹 발진자.
고속으로 동작시킬 필요가 있는 경우에 사용한다.

CR(Register/Capasitor):
저항과 콘덴서에 의한 발진(4MHz 이하).
권장값은 R:5∼100KΩ, C>20pF.
주파수가 부정확하고 변동해도 문제없을 경우에 사용하지만, 별로 권할만한 방법이 아니다.
외부 노이즈나 온도에 의해 변동, 오동작할 가능성이 높다.

 (2) 전원에 대하여

전원전압에 대해서는 절대 최대정격:7.5V로 되어 있으므로 이 이상의 전압을 걸면 파괴되기 쉬우므로 주의하기 바란다.
전원전압과 소비전류는 클록으로 무엇을 사용하는가에 따라 변동하게 된다.
데이터 시트에 따르면 다음과 같다.

저속 크리스털, RC, LP의 경우:
4.0∼6.0V[1.8∼4.5mA at 5.5V(4MHz)]
(최대 4MHz까지)

고속 크리스털의 경우:
4.5∼5.5V[7.3∼10mA at 5.5V(10MHz)]
(최대 10MHz까지)

(주:)
'PIC16F84-10'은 LP 모드는 불가, 'PIC16F84-4'를 사용할 것.
간단히 말해서 전압이 5V이고, 소비전류는 저속이라면 5mA 이하, 고속이라면 10mA 이하라고 생각하고 있으면 된다.
전압은 의외로 허용 범위가 좁기 때문에 3단자 레귤레이터에 의해 5V로 정전압화할 필요가 있다.
이렇게 하면 상당히 안정되는데, 어느 정도 전압이 변해도 정확하게 동작하는 것 같다. 단, 최대성능은 나오지 않을지도 모른다(?)

※ 특히 저소비전력으로 하려는 경우
전원은 5V로 정전압화하고, 클록 주파수를 가급적 낮게 한다.
발진소자로서는 32KHz의 수정발진자를 사용하는 것이 편리하다.
더구나 'PIC16LF84'를 사용하면 전원전압을 2V까지 낮추고, 32KHz의 클록으로 하면 여하튼 15∼35μA라는 초저소비전력으로 할 수 있다.
(PIC16LF84를 쉽게 입수하는 것이 급선무)

 (3) 입출력 핀의 허용전류에 대하여

PIC의 입출력 핀은 드라이브 능력이 크기 때문에, 발광 다이오드(LED)나 릴레이 등을 직접 구동할 수 있어 매우 편리하다.
그러나, 핀 전부를 최대허용전류로 동시에 구동하면 포트 전체의 허용전류가 over하여, 발열, 파괴로 이어질 가능성도 있으므로 주의할 필요가 있다.

허용 싱크전류: PORTA:80mA  PORTB:150mA(인입전류)
허용 소스전류: PORTA:50mA  PORTB:100mA(공급전류)
허용 소비전력: 패키지당:800mW
1핀당:             최대 싱크전류:25mA  최대 소스전류:20mA


예: 출력 포트에서 릴레이(25mA)를 직접 드라이브했다고 하면 전체 포트라면 다음과 같이 허용을 over하여 발열하기도 하므로 위험하다.
PORTA에서 25mAx5 포트=125mA로 되어 80mA를 초과
PORTB에서 25mAx8 포트=200mA로 되어 150mA를 초과

r결국,
PORTA는 80mA/5 포트=16mA가 최대허용전류
PORTB는 150mA/8 포트=약 19mA가 최대허용전류
로 된다.


2. 회로설계의 실제

실제로 자작 PIC를 사용한 하드웨어를 만드는 순서를 설명한다.
우선 PIC를 빨리 시험해 보기 위해, 회로는 단순한 LED(발광 다이오드)를 PIC에서 직접 드라이브하여 점등/소등을 할 수 있도록 한 것이다.
기판을 직접 자작해서 만들 수도 있지만, 여기서는 우선 간단히 PIC용 프린트 기판을 이용하여 만들어 보았다.


 

전용 기판과 PIC16C84, XTAL, CR, 전원 레귤레이터 등을 사용하고 있다.
기판에는 유니버설 부분이 있으므로 외부 부가회로를 추가할 수 있다.
(부착한 부품은 자작 ROM 라이터용이다)

 

이것을 사용하여 PIC를 우선 동작시키기 위한 'LED 점멸회로'를 예제로 들기로 한다.
PIC는 상당히 대전류를 직접 ON/OFF할 수 있다.
어느 정도인가 하면 각 핀당 25mA의 인입이 최대로 되어 있다.
발광다이오드는 고작 10mA 정도만 흘리면 밝게 발광하므로 충분하다.
5V의 전원으로 10mA를 흘리기 위해서는 LED에서의 전압강하가 약 1V 정도이므로,
(4V-0.6V)/10mA=340Ω에서,
약 300∼500Ω 정도의 저항을 LED에 직렬로 삽입하여 PIC의 출력 포트에 접속한다.
출력 포트는 PIC의 경우 프로그램에 의해 자유로이 정할 수 있으므로 여기서는 PORTA의 RA0, RA1, RA3의 3개를 접속했다.
다음은 10MHz의 수정발진자와 그것에 접속하는 콘덴서인데, 콘덴서는 데이터북에서, 15∼33pF로 되어 있으므로 20pF로 한다.
리셋 단자(MCLR)에는 reset switch를 부착하여 언제든지 리셋을 할 수 있도록 해둔다.
이 단자는 저항으로 pull-up하여 5V가 걸리도록 한다(풀업저항은 3k∼20kΩ 정도이다).
전원회로는 3단자 레귤레이터 7805를 사용하여 5V의 정전압을 만든다.
이 레귤레이터의 전후에 전해콘덴서(47∼100μF)를 붙인다. 극성이 있으므로 붙일 때는 주의하기 바란다. 나중에 전원 램프 대용으로 이용하기 위해 LED를 추가해 둔다. 이렇게 해서 완성된 회로가 아랫 그림이다.

 

회로도는 HiWIREII CAD를 사용하여 작도한 것이다.
회로도 작성용 CAD 소프트가 없는 사람은 이러한 프리 소프트웨어를 입수해서 사용해 보는 것도 좋을 것이다.

LED 점멸 제어 회로도

 


3. 조립 제작의 실제

조립은 기판을 완성하는 것이므로 부품을 배치하고 납땜을 하는 작업이다.
부품에서는 전원(전지)와의 접속에 전원용 핀플러그를 사용했기 때문에 그것을 양면 접착 테이프로 고정하고 있다.
다음은 PIC와 전원 주변은 프린트 기판 자체의 배선에 의해 연결되므로 발광 다이오드와 리셋 스위치를 적당한 스루홀에 고정하여 배선한다.

 

PIC 주변의 콘덴서, 전원 레귤레이터 관련의 배치와 배선 모양을 나타낸 것이다.

 

 

 
 

전원용 플러그 주변, 각 LED, reset switch의 배치와 배선이다.
저항을 잘 이용하여 배선을 하고 있다.
적색 LED가 전원 표시용이다.

 


다음 페이지로      목차 페이지로