戻る

The programmable MIDI controller

制作編

☆2002年度PICマイクロコントローラ デザインコンテストに入賞しました☆
ファームウエアのバージョンが2.41に変更になりました(2007/10/7)



はじめに
実はMC-8を一番初めに考案してから完成までには約2年かかりました。(実際の制作にはそんなに長くはかかりません)
プロセッサの選定や機能の追加などで大幅に長引いてしまいましたが、自分でも十分満足のできるものができたと思います。
制作途中にも類似したMIDIコントローラが発売されていたので知っているものだけ紹介します。

Keyfax Phat-Boy
どこに行っても売ってるのはコレ! 6つのモードを持っていて、各社のハード/ソフト音源をコントロールできる。MIDIチャンネルノブもついているためチャンネルごとにイベントデータを作り直す必要が無い。

DOEPFER POCKET CONTROL
Phat-Boyは内蔵モードが6なのに対しこちらは一気に128です。送信データの変更はPocketControl Editorというソフトを使って行います。

DOEPFER POCKET FADER
回転式のボリュームにこだわらずフェーダーにするのも良いかもしれません。

DOEPFER POCKET DIAL
POCKET CONTROLはボリュームでしたが、こちらは24パルス/1回転のロータリーエンコーダです。こちらもコンピュータでデータの変更ができるようです。

DOEPFER DREHBANK
コレは強烈です。ボリュームが64もついていてラックマウントもできたり、MIDI INからのデータとマージして出力できたりします。CV入力がついていたりと何でもありなところはさすが一流のシンセメーカですね。
ちなみにDREHBANKとはドイツ語で旋盤という意味だそうです。

作ってる途中に先を越されてしまうとやる気なくすんですよねぇ...(ボソ
外観
操作パネル部分です。
どっかのシンセサイザに対抗して真っ赤に塗ってみました。
パネルにはボリューム・テンキー・LCDが配置されています。小さいですが、テンキーの上にMIDIラインモニタ用のLEDもあります。

パラメータのエディットはスタンドアローンで使う事を考えていたので、LCDを見ながらテンキーで行います。もちろんコピー等の編集機能も備わっています。

リアパネル部分です。
MIDI OUT/IN コネクタと、電源スイッチ、電源入力コネクタがあります。

電源は内蔵のレギュレータを使う場合はDC 8(V)以上、使わない場合は安定化されたDC 5(V)が必要です。回路図にはスイッチの切り替えで選択できるようにしてあります。私の場合は壊れた携帯電話の充電器(スイッチング電源)を用いています。

MIDI INがついていますが、内蔵メモリのバックアップ/リストアに使うもので、入ってきたデータをマージしてOUT側にまわすなのどの機能はありません。

ケースは平形を用いましたが、基本の回路以外は好きなパーツを使用してください。
主な特徴
全体
PIC16F877/20を心臓部に使用。
データ保存用に256kビットEEPROM (24LC256) を使用、MIDI経由でデータバックアップ/リストアが可能。
MIDI入出力部に60ns高速フォトカプラTLP552を使用して回路を保護。
PICのプログラム書き込みにICSPを使用することで、ファームウエアアップデートが容易。
LCD、EEPROM書き込みには最高速のスルーレートが出るように毎回ビジーフラグをチェック。

ボリューム操作
64バイトのオペレータを8個持ち、各ボリュームが任意に指定/組み合わせをして使用できる。
読み込みの分解能は256段階で、設定により範囲の指定が可能。
ボリューム位置保存機能があるので、8個のボリューム位置を一括保存/呼び出しができる。
フリーランモードで、ボリュームを動かさないときでもデータの垂れ流しが可能。
バンク切り替えごとにボリュームの位置を一括送信する機能を搭載。

キー操作
4×5のマトリクスキーボードを採用。
Bankモードで16のバンクを瞬時に切り替え。
Keyモードで単発MIDIデータを送信。
Save/Loadモードで各バンクごとにパネルのボリューム状態を16種類記憶可能。
回路 & 基板レイアウト
回路図 1600x1300 schem.png
パネル裏面
本体接続配線
基板パーツレイアウト
基板はんだ面

ユニバーサル基板で組み立てたので、パターン図はありません。レイアウトをうまく考えながら部品を配置してください。
テンキー部分も含めていつかはプリント基板化してみたいですね。
パーツリスト
種類部品名型番単価
抵抗R1,2,3,4,7,81kΩ65
R5270Ω15
R6300Ω15
R991Ω15
R10,115.1kΩ25
コンデンサC1,2470μF230
C3,40.1μF210
ICU1PIC16F877/2011000
U224LC2561400
U374LS04150
フォトカプラPC1,2TLP5522300
LCDLCDM16721700
ダイオードD1~D211S1588 or 汎用2110
種類部品名型番単価
スイッチSW1~20押しボタン2030
SW211回路2接点160
SW22,23,242回路3接点360
可変抵抗VR1~85kΩ(B)8120
半固定抵抗VR910kΩ160
LEDLED2色カソードコモン130
セラロックX20MHz1100
コネクタCN1,2DIN 5ピン半月型280
CN3,4ヘッダピン少々200
ボリュームつまみ  870
基板  1 
ケース、固定金具  1 

組み立て
回路を一通り読んでから部品を実装してください。
パーツレイアウト写真はあてにならないので注意してください。(PICのソケットの隙間にも配線してあります)
手持ちのPICライタからVSS,VDD,VPP,PGC,PGDの各線を引いてきてICSPケーブルを作ります。
コネクタに接続し、SW22,23でプログラム回路に切り替えてプログラムを書き込んでください。
アセンブル済みプログラムファイルやユーティリティーなどは、読み進んだ最後のファイルダウンロードエリアに置いてあります。
電源レギュレータスイッチをレギュレータモードにして電源を入れます。
レギュレータモードにしていないと電源の極性・電圧が間違っている場合半導体素子が破損します。
LCDにタイトルが表示された後、ボリュームの数値が表示されれば完成です。

Next → 使い方

Update 2005/12/22