오디오 쿠키는 작고 재미있는 오디오 툴들을 제작합니다

    EW4SM 목차
  1. LED Level Meter
  2. 기초 회로 실습
  3. Arduino
    1. 프로그래밍 기초
    2. 연산자와 IF문
    3. PAN Knob 구현
    4. FOR Loop, 레벨 표시
    5. Serial로 값 표시
    6. DO-WHILE 문법
    7. FUNCTION 사용
  4. Mini Powered Speaker
  5. Fader Box
    1. Passive Volume
    2. Transformer
    3. Digital UP/DOWN
    4. Digital Volume I
    5. Digital Volume II
    6. Fader ADC
    7. Balanced Output
    8. D.Volume & Balanced
    9. Flying Fader
  6. USB AudioBox (DAC)
    1. AudioBox
  7. MIDI Controller 만들기
    1. Hardware Setup
    2. MIDI Spec.
    3. MIDI Software Programming

Digital Volume 2.1 : Numeric Version

디지털 컨트롤 볼륨 만들기 두번째 입니다.

이 버전도 FaderBox 케이스에 넣을 수 없는 버전입니다. 이론 확인을 위한 공작입니다.
지난 버전과 마찬가지로 입출력 단자는 FaderBox의 것을 그대로 사용합니다.

디지털 볼륨은 오디오 입출력은 아날로그 그대로를 사용하면서 볼륨 컨트롤 부분만 디지털로 사용하는 것입니다.

오래된 앰프에서 볼륨을 돌릴 때 지지직~ 소리나는 현상을 경험해 보셨을 겁니다. 디지털 볼륨을 사용하면 그런 현상에서 벗어날 수 있습니다.
디지털 컨트롤이기 때문에 메모리를 한다거나 각종 센서등을 사용해 볼륨 컨트롤을 할 수 있다는 장점이 있습니다.

PT2258을 사용하는 디지털 볼륨만들기 입니다. PT2258은 볼륨값을 수치로 적용하기 때문에 활용도가 높습니다.
볼륨값을 결정하는 센서를 계획대로 Fader를 사용할 수도 있고, PT2253처럼 버튼으로 동작시킬 수도 있습니다.
혹은 로터리 타입으로 돌리는 것, 조이스틱을 사용하거나 위치센서를 사용한 방법도 가능합니다.
상상하기에 따라 여러가지 타입이 가능하겠지요. 밝기나 거리에 따라 볼륨값을 변경할 수도 있습니다.

그런 일들을 PT2258이 하는 것은 아닙니다. 아두이노에서 그런 작업을 하고, 그 결과를 PT2258에 적용하는 것입니다.

:: PT2258 데이터시트 다운로드

fb03-08

PT2258은 볼륨값을 IC에 전송하면 그 값대로 세팅이 되는 방식입니다. 그래서 볼륨값을 IC로 넣어주기 위한 마이크로프로세서가 필요합니다.
여기서는 아두이노를 사용해 작업합니다. 아두이노가 가장 간편하게 세팅할 수 있고 프로그래밍도 쉽기 때문입니다.
하지만 실제 프로젝트에서는 아두이노 보다는 다른 프로세서를 사용해야 합니다. 아두이노를 FaderBox 케이스에 넣기는 어려우니까요.
그래서 아두이노를 사용해 외부 프로세서에 프로그래밍 하는 과정도 필요합니다.

외부 프로세서는 꼭 아두이노와 호환되는 프로세서일 필요는 없습니다.
소형이고 통신 프로토콜이나 Fader 값을 읽는 기능이 있는 프로세서라면 어느 것이든 사용 가능합니다.
단, 내가 프로그래밍 할 줄 아는 것이어야 하겠죠.

여기서는 아두이노, 라즈베리파이, ATMEL(ATtiny), MSP430 등을 사용하는 프로그래밍 방법을 소개하겠습니다.

pt2258circuit

PT2258 회로도 입니다. 아두이노와 연결하는 부분이 MCU라고 써 있는 부분입니다. 주변회로는 PT2253보다 간편해 만들기가 더 쉽습니다. 회로에서 보는 것 처럼 PT2258은 6채널 볼륨입니다. 스테레오 장치 3개를 연결하거나, MONO 6채널을 사용할 수도 있겠지요. 보통 AV 장치에서 5.1 채널용 볼륨으로 사용되고 있습니다. 볼륨을 각 채널별로 조절하거나 전체 체널을 동시에 컨트롤 할 수 있습니다.

2채널용으로 PT2257 칩이 있습니다. 전체적으로 PT2258과 같습니다. 채널 수가 적고, 채널수가 적으니 사이즈도 작습니다. 그리고 주소지정이 안 되어서 여러 칩을 동시에 사용할 수 없다는 점에서 차이가 있습니다. FaderBox 프로젝트에는 더욱 적합한 칩입니다만 PT2258을 더 쉽게 구할 수 있었습니다. -_-;

fb03-06

회로도 그대로 공작용 배선도와 비슷해서 따로 배선도 그리지 않고 작업했습니다. 채널 3~6은 사용하지 않으므로 연결하지 않고 비워두었습니다. 왼쪽에 보이는 작은 소켓은 아두이노와 연결하기 위한 커넥터입니다. 아래쪽에 보이는 큰 소켓은 나중에 확장하려고 넣은 커넥터로 실제 배선은 없습니다.

fb03-07

부품부터 배치하고, 접지 연결하고, 전원선 연결하고(실제 전원 연결이 아닙니다. ^^), 신호선 연결합니다. 주의할 점은 디지털과 아날로그 회로가 동시에 존재하는 회로이기 때문에 두가지 접지를 따로 만들어야 한다는 것입니다. 그리고 따로 만든 2가지 접지는 한곳에서 연결합니다.

사진에서는 노란선 아래에 있는, IC핀 사이를 가로지르는 선이 아날로그 접지와 디지털 접지를 연결한 것입니다.

그리고 회로도에 없는 추가된 사항으로 MCU와 PT2258을 연결하는 2개 선을 모두 풀업합니다. SDA, SCL 두 선과 전원 사이를 저항으로 연결하는 것입니다. SDA에서 PT2258로 연결된 중간 한 지점과 전원(VCC) 사이에 저항을 넣습니다. SCL도 같은 방법으로 합니다. 저항은 4.7k ohm을 사용했습니다.

공작은 여기서 끝났습니다. 이제 아두이노와 연결하여 작업하는 "프로그래밍"이 남았습니다.
이건 따로 항목을 분리해서 서술해야 하므로 다음 아티클에서 다루도록 하겠습니다.

fb03-09

프로그래밍을 위한 기본 정보를 정리해 보았습니다. 그림이 뭔가 복잡해 보입니다만... 사실 별 내용은 아닙니다. ^^;
다음 글에서 이와 비슷한 표를 만들거나, 데이터시트에 있는 표를 참조해서 프로그래밍 하도록 하겠습니다.

부품리스트

데이터시트의 단일전원용 회로도의 부품리스트입니다. 수정판 보다 데이터시트 버전이 만들기가 수월해 보입니다.

1 PT2258 1ea Digital Volume IC 디바이스마트 링크
2 100k ohm 4ea Resister 디바이스마트 링크
3 4.7k 2ea Resister 디바이스마트 링크
4 10uF 6ea Capacitor 디바이스마트 링크
5 0.1uF 1ea Capacitor 디바이스마트 링크
6 12 Pin Header 12 pin 이상 Pin Header 디바이스마트 링크
7 2 Pin Socket 2 pin 이상 Pin Header Socket 디바이스마트 링크
8 PCB 1ea 10x100mm 디바이스마트 링크
최종수정 2014.02.18 16:35:26