( 디지털 가변저항 MCP41HVX1 을 아두이노를 통해 저항값을 조정하기 )
전자회로를 구성할 때 필수적으로 필요한 저항, 그중에서도 가끔 고정된 값이 아닌 변화되는
값을 가진 저항이 필요로 하는데 그것을 가변저항( potentiometer ) 이라고 한다.
일반적인 가변저항은
이런 형태 또는 기판에 꼽을수 있도록 되어 있는 것으로 일정 수치의 저항값을 사용자가 원하는
값으로 변경할 수 있도록 할 수 있다. OPAMP 에서 주로 많이 사용한다.
이렇게 손으로 조정하는 것이 아닌 전자 신호를 이용한 저항값 조정을 할 수 있는 것을
디지털 가변저항( Digital Potentiometer ) 이라고 한다.
즉 하나의 MCU 를 이용하여 만들고자 하는 회로와 접목 시켜서 특정 입력값에 따라 또는 스위치에 따라 저항값을 조정할 수 있는것이다
단 단점은 수동 소자는 전류값에 대한 것이 아주 크게 제한 적이지는 않치만 디지털 가변저항은
상당히 제한되어 설계되어 진다
여기서는 +36V 까지 동작시킬 수 있는 또는 ±18V 전압 범위 내에서 사용 가능한 Microchip 사의
MCP41HV51 을 아두이노 우노로 Control 하여 실제 저항 값이 변화 되는지 확인 해보겠다.
1. MCP41HV51 의 기본적인 특징
datasheet : http://ww1.microchip.com/downloads/en/devicedoc/20005207b.pdf
package 는 TSSOP 와 VQFN(MQ) 로만 구성되어 있으며
따라서 만능 기판에 연결하기 위해서는
이런 보드를 사용해야 한다.
MCP41HV51 모델과 MCP41HV31 모델이 있는데 그 차이는 5가 있는 것은 8비트로 처리 하며
3이 붙는 것은 7비트로 처리한다.
통신 방식은 SPI 방식이며 SCK, CS, SDI, SDO 로 연결 하여 제어 하도록 되어 있으며,
각 MAX 저항값은
MCP41HV31 – 104E/ST ===== 100k ohm ( 7 bits )
MCP41HV31 – 503E/ST ===== 50k ohm ( 7 bits )
MCP41HV31 – 103E/ST ===== 10k ohm ( 7 bits )
MCP41HV31 – 502E/ST ===== 5k ohm ( 7 bits )
MCP41HV51 – 104E/ST ===== 100k ohm ( 8 bits )
MCP41HV51 – 503E/ST ===== 50k ohm ( 8 bits )
MCP41HV51 – 103E/ST ===== 10k ohm ( 8 bits )
MCP41HV51 – 502E/ST ===== 5k ohm ( 8 bits )
Pin Out 은
2. Register Setting
MCP41HV51 의 경우 와이퍼의 위치 ( 즉 저항값 )를 결정하는 Wiper() 레지스터가 있으며 그 값의 변화에 따라 ROW 와 ROB 사이의 저항값이 변경된다.
즉 Wiper() 의 값을 0x00 ~ 0xFF 까지 원하는 값으로 셋팅하면 그에 맞추어 저항값이 변경된다.
다른 레지스터는 TCON0 ( Terminal Control ) 이 있으나 /SHDN Pin 이 Low 가 되면
ROHW 와 상관없이 디지털 가변저항은 션다운 되미로 신경 안써도 된다.
3. SPI 통신의 신호
저항값을 변경하려고 하면 SPI 통신을 통해 MCU에서 MCP51HV51 IC로 신호를 보내야
하며 통신 모드는 ( CPOL, CPHA ) = (0,0), (1,1) 인데, 모드 0 ,3에 해당함. SPI 주파수는
디지털 전원전압(VL)이 2.7V 이상이면 10MHz 이하로 하여 아래에 있는 그림의
포맷에따라 데이터를 전송해야 합니다.
사실 라이브러리로 구성이 되어 있어서 아두이노로 작업시에는 굳이 확인할 필요는 없슴
4. 회로의 구성
5. 레지스터 값이 0 일때 129.6 ohm 이 나온다.
6. 레지스터 값이 255일 경우 95.1 Kohm 이 나온다.
코드 정리
라이브러리를 다운받는다. https://github.com/gregsrabian/MCP41HVX1
'임베디드 보드 > 아두이노' 카테고리의 다른 글
아두이노 전광판 연결 설명 (0) | 2020.11.03 |
---|---|
HM10 Arduino BLE 와 스마트폰 통신 (0) | 2020.10.08 |
미니 LED 전광판 아두이노 제어 (0) | 2020.09.23 |
PWM splitter (0) | 2020.09.17 |
TFMINI + ARDUINO + ETHERNET SHIELD + LTE ROUTER (0) | 2020.09.03 |