리틀 잼머 프로

[잼머 제어하기] 움직임을 위한 전원 공급

molagjun 2013. 1. 30. 12:00

* 주의사항 : 이후에 이야기하는 부분들은 정확히 검증된 내용이 아니며, 틀릴 수도 있습니다. 또한, 내용이 정확하더라도 계측이나 개조 과정에서 실수로 인한 역전압이나 과전압, 과전류 등으로 인해 잼머가 손상될 수 있습니다. 그냥 재미로 봐주셨으면 합니다.


--------------------


< 트럼펫 정보 >


갈색(이하 갈) : GND


흰색+갈색(이하 흰갈) : 스피커 검정색


녹색(이하 녹) : 발 (대략 1.65V)


흰색+파란색(이하 흰파) : 사용 안함


파란색(이하 파) : 팔 (대략3.3V)


흰색+녹색(이하 흰녹) : 허리 (대략3.3V)


주황색(이하 주) : 스피커 흰색


흰색+주황색(이하 흰주) : 상시전원 (대략 6V)


--------------------

 

잼머 제어를 위한 시스템을 크게 3개의 블럭으로 나누겠습니다.


A블럭 : 잼머 본체


B블럭 : 잼머 연주자 (여기서는 트럼펫)


C블럭 : 컨트롤러

 

 우선, A블럭은 B블럭에 상시전원(6V)을 공급해주는 역할만 합니다. C블럭이, 혹은 다른 장치가 같은 전압을 공급해 줄 수 있다면 없어도 됩니다. 일단은 사용하는 것으로 가정하겠습니다.

 

 A블럭, B블럭, C블럭은 모두 랜 선으로 연결합니다. 랜 선 3개를 합선(쁘랏지?)시키는 간단한 부품이 있습니다.

 

 

 A에서 나오는 랜 선은 간단한 작업이 필요합니다. 내부의 선 중에서 흰주와 갈을 제외한 나머지 선을 끊어버리면 됩니다. 이렇게 하면 본체에서 다른 신호를 받지 않고, 상시전원만 B블럭으로 공급합니다. 실제 제작 시, 사진으로 설명하겠습니다.

 

 B블럭은 연주자(트럼펫)입니다. 아무 개조 없이 그대로 사용합니다.

 

 가장 중요한 것은 C블럭입니다. 여기서 B블럭에게 허리나 팔등을 움직이도록 전압을 공급해야 합니다. 또한, 원하는 때에만 움직이거나 멈추도록 제어가 가능해야 합니다.

 

 여러 가지 방법이 있겠지만, 저는 아두이노라는 마이크로컴을 사용했습니다. 아주 간단한 컴퓨터라고 생각하시면 됩니다. 아두이노는 오픈 플랫폼이기 때문에 소스도 모두 공개되어 있고, 비교적 사용도 간단합니다. (비교적 입니다. ^^;)

 

 아두이노를 사용한다면 장점이 많이 있습니다.


1. 전압의 출력을 제어할 수가 있습니다.
 

 아두이노에는 수많은 출력 포트가 있습니다. 이 출력 포트에서 5V의 전압을 공급해줍니다. 이 전압을 우리가 원하는 전압으로 바꾸어 연주자에게 공급해주면 연주자를 움직이게 할 수 있습니다.
 연주자를 제어한다는 말은 우리가 원하는 시간 동안 연주자가 움직이고, 우리가 원하는 시간에 연주자가 멈출 수 있다는 것입니다. 아두이노는 출력 포트에 전압을 공급하고 차단하는 동작을 프로그램을 통해 제어가 가능합니다.


2. 프로그래밍이 가능합니다.
 

 위에서도 말했지만, 제어를 위해서는 프로그램이 가능한 마이컴쪽이 큰 이득이 있습니다. 한가지 기능이 아닌, 여러가지로 확장하는데 큰 이득이 있습니다.


3. 데스크탑등과 통신이 가능합니다.
 

 아두이노와 데스크탑은 USB를 통해 시리얼 통신이 가능합니다. 이것이 가능하면 피시를 통한 잼머 제어가 가능합니다. (이부분은 추후에 자세히 이야기해 볼 생각입니다.)

 

 이 외에도 입력 단자를 통해 제어가 가능한 부분도 있으며, 이론적으로 아두이노를 통해 잼머에 여러 확장이 가능합니다. 이것도 추후에 다른 글로 비전을 공유해 보고 싶습니다.

 

 이런 저런 이유로, 아두이노를 사용하여 잼머를 제어하기로 결정했습니다.

 

 하지만, 또 문제가 있습니다. 아두이노는 출력 단자에서 5V만을 공급합니다. 그러나 연주자 허리에는 3.3V가 필요하고, 발꼬락에는 1.65V, 다른 연주자의 다른 부위는 어떤 전압이 필요할 지 모릅니다. 그래서, 아두이노의 5V를 입력받아 우리가 원하는 전압으로 출력하는 간단한 회로가 필요합니다.

 

 전압을 나누는 방법은 여러 가지가 있습니다. 간단하게는 값이 다른 저항을 직렬로 연결하면, 저항마다 걸리는 전압에 차이가 발생합니다. 

 위의 그림과 같이, 5V를 입력받는 저항 2개의 직렬 회로에는 전압차가 존재합니다. 저항 2개에는 저항값의 비율에 따라 전압이 다르게 걸려 있습니다. V = IR 이기 때문이죠. (오랜만에 보는 옴의 법칙입니다. 하하~)

 

그런데, 이렇게 전압을 사용할 경우, 다음과 같은 문제가 생깁니다.

 전압을 공급받는 연주자도 일종의 부하이므로, 두 번째 저항과 연주자가 병렬이 되어 합산된 저항값이 달라지면, 공급되는 전압이 달라질 가능성이 있습니다. 이렇게 되면, 혹시라도 잼머에 잘못된 전압이 공급되어 잼머가 망가질 수도 있다고 판단했습니다.

 

 그래서, 다른 방법을 생각했습니다. 전자 부품 중에 정전압IC라는 것이 있습니다. 특정 범위의 입력 전압으로 특정 전압을 출력해 주는 것입니다. 아두이노의 5V 출력을 정전압IC의 입력으로 넣어주고, 정전압IC의 출력을 연주자로 연결해 주는 것입니다.

 

 정전압 IC도 여러 가지가 있는데, 입력 범위에 5V가 있어야 하고, 출력은 측정한 최고수치를 넘지 않는 선에서 가장 가까운 전압을 출력하는 것을 선택했습니다.

 

 저는 트럼펫의 허리와 팔을 위해 IL1117C-3.3을 사용했습니다. 입력전압은 최대 15V입니다. 정전압IC는 입력 전압이 변해도 출력이 변하지 않는 것이기에, 최대 전압을 넘지 않으면 됩니다. 하지만, 입력전압이 출력보다는 높아야 될 듯 싶습니다. IL1117C-3.3로 회로를 구성하면 원하는 출력인 3.3V를 얻을 수 있습니다.

 

 C블럭에 대해 정리하자면, 아두이노와 정전압IC를 이용하면, 연주자가 움직일 수 있는 전압을 공급하는 회로를 만들 수 있습니다.

 
다음 글에서는 아두이노와 정전압IC를 이용해 C블럭을 만들고, 입력으로 스위치를 이용해 트럼펫 연주자를 움직여 보겠습니다.