The Nice Control RE for FPGA tuner

まずは、完成写真!


  1. フロントパネルにはインジェットプリントで印刷した防水ラベルを貼り付けました。

  2. アクリルエスカッションは特注しました。

  3. リアパネルには文字入れしませんでしたが、端子が少なく迷うことがないので十分かと思います。



プロローグ

  1. FPGA tuner 専用コントローラ は完成して、このまま使うには何ら問題ありません。 ところが、ケースに組み入れようとするとスイッチの数が多くてケース加工が大変です。 そこでケース加工が簡単(=機構部品数を低減+丸穴加工主体)になる操作系を考えてみました。

  2. ロータリエンコーダ2個と 20文字×4行 表示可能な LCD を採用することで、操作性の向上を狙います。

  3. 機能的には従来の FPGA tuner 専用コントローラ とさほど変わりません。 若干機能アップしていますが、それは僅かです。

  4. 本記事は、ロータリエンコーダに最適化したプログラム作成〜ケース組み込みまでのドキュメンタリーです。



コントローラ用 PIC16F886 チップの領布は終了しました

  1. 本記事で製作したコントローラの hex オブジェクトを公開しています

  2. プログラムのリリース履歴

    バージョン 説明 ドキュメント
    20150214_re.hex 初版リリース このページ
    (エリアリストは area_request_20150214.pdf)
    20150228_re.hex ソースコードを最適化
    機能的には初版と同じ (マイナーチェンジ)
    20150409_re.hex (1) IR リモコン受信処理のタイムアウト処理強化
    (2) 電源 ON/OFF 時のリセット時間を 64ms とした
    20150516_re.hex IR リモコンコード送信メニューの表示間違いを訂正
    ・IR リモコンコード12の表示 menu → bandwidth
    ・IR リモコンコード13の表示 back → mode
    本 The Nice Control RE 版でのバージョンアップは終了しました。
    後継機は The Nice Control RE2 となります。



想定するフロントパネル

  1. プログラムを作成するには、どのような操作系を実現するか決める必要があります。



  2. 機構部品



ハードウェアについて

  1. コントローラ基板として、 秋月電子通商PIC マイコン赤外線リモコン学習キット をそのまま使います。

  2. LCD には 秋月電子通商 の [SC2004CSWB] [SC2004CSLB-XA-GB-K] [SC2004CS-B] のいずれかを使います。

  3. ロータリエンコーダには 秋月電子通商RE160F-40E3-20A-24P を使います。

  4. その他スイッチ

  5. コントローラと FPGA tuner との接続



使いかた

  1. 通常モード

  2. メニュー選択モード

  3. プリセットモード

  4. プログラムモード

  5. 放送局名編集モード

  6. エリア・リクエストモード

  7. エリア・カスタマイズモード

  8. S/PDIF サンプリング周波数設定モード

  9. 出力レベル設定モード

  10. リモコンコード送信モード

  11. 特殊モード設定モード



各モードと操作のサマリ

  1. 通常モード

    ツマミ/キー リモコン 通常モード (特殊モードも同じ)
    - << 受信周波数を 1MHz 単位で下げてマニュアル受信
    - < 受信周波数を 0.1MHz 単位で下げてマニュアル受信
    - > 受信周波数を 0.1MHz 単位で上げてマニュアル受信
    - >> 受信周波数を 1MHz 単位で上げてマニュアル受信
    - P1 プリセット [P1] コール
    - P2 プリセット [P2] コール
    - P3 プリセット [P3] コール
    - P4 プリセット [P4] コール
    - P5 プリセット [P5] コール
    - P6 プリセット [P6] コール
    - P7 プリセット [P7] コール
    - P8 プリセット [P8] コール
    preset - プリセット番号を増減してプリセット受信
    manual - 受信周波数を 0.1MHz 単位で増減してマニュアル受信
    bandwidth bandwidth 受信帯域幅を [s.wide] [wide] [middle] [narrow] に順次切換
    mode mode [auto, mute-on] [auto, mute-off] [mono, mute-on] [mono, mute-off] を順次切換
    menu/execute - メニュー選択モードに移行
    back - -
    - preset- プリセット番号をデクリメントしてプリセット受信
    - preset+ プリセット番号をインクリメントしてプリセット受信

  2. その他のモード

    ツマミ/キー メニュー選択モード プリセットモード プログラムモード
    preset - - -
    manual メニューを順に表示する プリセット番号またはイニシャルステーションを
    選択する
    サブメニューの項目を選択する
    bandwidth - - -
    mode - - -
    menu/execute 選択したメニューを実行 プリセット記憶またはイニシャルステーション記憶
    して、通常モードに戻る
    サブメニューを実行する。[Save] を実行した場合は
    プログラムを記憶して、通常モードに戻る
    back 通常モードに戻る (キャンセル) メニュー選択モードに戻る (キャンセル) メニュー選択モードに戻る (キャンセル)


    ツマミ/キー 放送局名編集モード(1) 放送局名編集モード(2) エリア・リクエストモード
    preset 文字カーソル移動 - -
    manual 文字コードを増減する プリセット番号を選択する エリアを選択する
    bandwidth 文字コードシフトをトグルする - -
    mode - - -
    menu/execute 放送局名編集モード(2)に移行する 編集した放送局名を選択したプリセット番号に
    記憶して通常モードに戻る
    選択したエリアのプリセット情報を記憶して
    通常モードに戻る
    back メニュー選択モードに戻る (キャンセル) 放送局編集モード(1)に戻る (キャンセル) メニュー選択モードに戻る (キャンセル)


    ツマミ/キー エリア・カスタマイズモード(1) エリア・カスタマイズモード(2) S/PDIF サンプリング周波数設定モード
    preset エリアを選択する - -
    manual エリア内放送局を選択する プリセット番号を選択する サンプリング周波数を選択する
    bandwidth - - -
    mode - - -
    menu/execute エリア・カスタマイズモード(2)に移行する 表示されている放送局を、選択したプリセット番号
    に記憶して、エリア・カスタマイズモード(1)に戻る
    サンプリング周波数を記憶して、通常モード
    に戻る
    back メニュー選択モードに戻る エリア・カスタマイズモード(1)に戻る (キャンセル) メニュー選択モードに戻る (キャンセル)


    ツマミ/キー 出力レベル設定モード リモコンコード送信モード 特殊モード設定モード
    preset - - -
    manual 出力レベル 00〜15 を選択する IR リモコンコード 00〜15 を選択する 特殊モード [Enable] [Disable] を選択する
    bandwidth - - -
    mode - - -
    menu/execute 出力レベルを設定して、通常モードに戻る IR リモコンコードを発信する 特殊モードを設定して、通常モードに戻る
    back メニュー選択モードに戻る (キャンセル) メニュー選択モードに戻る メニュー選択モードに戻る (キャンセル)



フロントパネル加工図と使用する機構部品

  1. 使用する市販ケースは TAKACHI のプラスチックケースの SB270-75C とします。

  2. フロントパネルの加工図は以下です。



  3. フロントパネルに実装する機構部品は以下です。



特注アクリルエスカッション

  1. アクリルエスカッションはフロントパネル中央にあってデザインの大部分を占めるので、見栄えを考慮して特注しました。



  2. 3mm 厚のガラス色アクリル板で、周囲は軽くテーパ加工します。 エッジは鏡面仕上げです。



フロントパネル文字入れ

  1. フロントパネルの文字入れはインクジェットプリンタでパネルと同じサイズのラベルシールを作成して貼り付けます。



  2. ラベル作成ツールは無料で使える A-oneラベル屋さん9 のダウンロード版を使いました。

  3. 出来上がったラベルシールは以下のようにしてフロントパネル板に貼り付けました。

    1. ラベルシールをハサミで大き目に切り取ります。

    2. Allex K-4 スカルペルナイフ を使って LCD の穴を注意して開けます。 カッターナイフでは全然ダメです。 メスのような切れ味の刃物がよいです。 日本刀の歴史がある日本製が一番良いです。

    3. フロントパネル板にラベルシールを空気が入らないよう注意して貼り付けます。 LCD 穴最優先で位置決めします。

    4. フロントパネル板からはみ出た部分をカッターナイフでカットします。

    5. 穴の部分はフロントパネル板に合わせて工作用の丸いカーブの彫刻刀で何回か押し込んで切り取ります。 切り取れない部分が残っても大丈夫です。 厳密にやる必要はありません。 スイッチなどを取り付けることで判らなくなります。 彫刻刀は100円ショップで3本108円で売られているもので十分です。



リアパネル加工図と使用する機構部品

  1. リアパネルの加工図は以下です。



  2. リアパネルに実装する機構部品は以下です。



ケース組込ノウハウの一部を紹介

  1. ケース内部の様子

     


  2. フロントパネルはメンテナンスし易いように3つのコネクタを外すと取り外せるようにしました。

  3. LCD を取り付けるのに、[M3 8mm オス・メス スペーサ] [M3 ポリカ平ワッシャ] [M3 平ワッシャ] を使いました。

  4. 一番最後まで悩んだのが、この IRin (IR 受光素子) 取り付けです。

    1. エーモン 1840 のパネルに出る枠だけを使い、パネルの裏側でグロメットの Takachi NG-79-C と嵌合させ、ボンドで接着します。 エーモン 1840 の枠は 0.5mm 程度グロメットから出てしまうので、これが出ないようエーモン 1840 の枠をニッパでほんの少し加工(切り取り)します。

    2. IR 受光素子の PL-IRM2161-XD1 をブレイクアウト基板 (VR) の aitendo P-R0901N-XAX の裏側に実装します。 念のため、VCC〜GND に 0.1uF のコンデンサも実装します。

    3. 2mm 厚のゴム板から写真の大きさのものを2枚作ります。 1枚には IR 受光素子およびリード足が出せるようコの字に加工します。

    4. 上記の 1〜3 をボンドで接着すれば完成です。

    5. ゴム板を使ったのは加工が簡単で絶縁性があるためです。 どうせケースの内側なので見えないですし、加工は合わせでよいです。 精度不要です。

    6. こういう実装にすると、プロントパネルから5mm 沈んだ位置で受光することになりますが、経験上、この程度は問題ないです。



エピローグ

  1. フロントパネルの 15mm の穴はステップドリルを使って開けましたが、アルミ板厚が 1.5mm もあるので時間が掛かってしまいます。

  2. 次回は 15mm ホールソーを使ってみようと思っています。