ブログパーツUL5

鉄道模型用の多機能パワーパックの改造(汽笛サウンド搭載)

 製作した多機能パワーパックをさらに多機能に改造しました。とは言っても、試作していた音声モジュールを内蔵しました。試作では4種類の汽笛(出発時の汽笛、注意を促す時の汽笛、危険を警告する時の汽笛、重連の時の汽笛)を録音していましたが、スイッチを4つ並べるのもダサいので、スイッチは1つにして注意を促す時の汽笛を選択して接続することにしました。

・内蔵した再生専用回路図
内蔵した再生専用回路図
 APR9600の周辺回路で録音時に必要な部品と回路は削除しました。回路基板は再生専用にして小さくしてケース側面に固定しました。


・改造したパワーパックのパネル面
パワーパックのパネル面
 最初のパネル加工時に予備として、配置を検討していた左上に追加の穴あけ加工をして押しボタン型のスイッチを追加しました。


・改造したパワーパックの底面
パワーパックの底面
 スピーカーは底面に固定しましたが、箱に収めたことでスピーカーボックスになって、電源5Vでも意外と大きな音がして出力アンプは必要なく、APR9600の出力直結で十分でした。

0

    鉄道模型用の多機能パワーパックの製作

     今までROBOZAKをベースにしたロボットRZ-1の改造や製作をしてきましたが、すでにサーボやCPU性能の限界で重量的にもぎりぎりとなってきました。これ以上の高機能化は難しいと判断して、しばらくの間、お休みすることにしました。始めた動機がマイコンの勉強をするために、制御するものが2足歩行ロボットだったということでした。サーボやCPUなどが高性能で安価に提供されるようになったら、再開するかも知れませんが休止します。ただ、ブログは今でもアクセスが多いので、参考のため残します。

     今回は鉄道模型についての話題です。

     懐かしく鉄道模型の資料を見ていたらDCC化という言葉があり、鉄道模型の列車やポイントをプログラムで通信して動かすことが出来るようなので興味深く本を読んだり調べてみました。無線ではなくレールを使った有線通信でコマンドを送って操縦するので、ポイントや列車ごとにアドレスを決めて、複数の列車を複雑なレールを制御しながら走行したり、同じレール上に走らせることもできます。但し、ATCがないので操縦を間違えれば衝突の危険性もあります。DCC化にするためにはほとんどの場合は改造して、DCCモジュールを組み込まなければならないようです。はじめから組み込まれていることは少なく、改造しないといけないのでそれなりにリスクを伴います。
     
     ところで、現在はDCC化以前で全く鉄道模型をしていません。昔にやりたかったことができるようになったので、DCC化は無理としても出来る限り低コストで鉄道模型用(HOゲージ、Nゲージ)のパワーパックを自作してみようと考えました。いろいろハ−ドウェアを考えるのも楽しいものです。

    (1)鉄道模型のパワーパックの基本的な仕様
     ・電源はDCの2線式
     ・電源電圧は12Vmax、電流は1A以上/列車
     ・出力はDC極性の切替機能
     ・過電流保護回路の内臓

    (2)さらにパワーパックの追加仕様(DCC化は除く)
     ・加速制御(加速レバー操作)
     ・減速制御(ブレーキ操作)
     ・慣性走行(操作をOFFにすると慣性のように走行)
     ・緊急停止(緊急ボタン)
     ・簡易ポイント切替
     ・DC駆動とPWM駆動の切替(超スロー走行時にPWMを利用)

    以上の機能はあくまで鉄道模型でも蒸気機関車(SL)を対象に考えたので、超スロー走行も出来るように設定しました。

    参考にさせてもらったサイト:沖縄電気鐵道
    http://www.geocities.jp/k_otani3/working.html

    市販のパワーパック
    KATOのパワーパック・スタンダードS
     参考とするために、KATOのパワーパック・スタンダードSという中古品をオークションで入手しました。

     同じようなボリュームのツマミは入手できないので、ツマミは流用するしかないようです。付属している電源はAC出力でトランス式のようで大きく重たいため、あまり利用したくない。その代わり、古いノートパソコンのACアダプターの方がDC15V2Aという出力で流用に最適だったのでこちらにしました。

    DC3分岐
     右の写真は、出力端子に利用したKATOのDC3分岐の部品とその類似品(中国製?)


    製作するパワーパックの回路図

    製作するパワーパックの回路図
     回路図上は、安全を見てDC12Vにしていますが、高速走行したい場合はドロップ分を考慮して少し高い電源電圧にするといいでしょう。

    製作したパワーパック(正面)
    製作したパワーパック(正面)<br />
 最大の問題は出力端子でした。似たような端子は見つかったのですが、若干、サイズが違っておりジャックはそのまま使えましたが、プラグは削らないと入りませんでした。

     ツマミの配置はKATOのパワーパック・スタンダードSに合わせましたが、本当の運転席は左右が逆なので入れ替える方がいいかもしれません。但し、スイッチ付きボリュームなので回転方向は逆に出来ません。

    製作したパワーパック(背面)
    製作したパワーパック(背面)
     さらに、この出力端子はケースに取り付けるようになっておらず、線対線の接続用コネクタなので、簡単にはケースには固定できません。そこで、KATOの電源3分岐の部品を購入して配線は変更して内蔵することで、見栄えと工作のしやすさとコストを解決しました。

     何とか背面もスッキリきれいにできました。満足!


     でも実際に走らせていないので動作保証できず残念ですが、製作する方の参考になればと思います。あくまでも自己責任でお願いします。特に、PWM走行ではモーターの発熱に注意してください。
    0

      超音波距離センサーモジュール

       昨年、超音波レーダーを作成しましたが、自作に自信ない方は秋月電子通商がパララックス社の超音波距離センサーモジュールを扱うようになったので、購入できるようになりました。

      http://akizukidenshi.com/catalog/g/gM-05400/

       超音波距離センサは、非接触で正確に約2cm〜3mの範囲で距離を測定でき、3ピンとピン数の少なく1ピンの信号線で色々なマイコンから制御することが可能です。マイコン等からの5μsのパルスを信号線に入力することで超音波を発信して、その反射波を計測して距離に応じて115μs〜18.5msのパルスを信号線に出力ます。反射波パルスの長さ、時間から距離を算出します。電源電圧は5Vですが、消費電流は30mAと大きいので、注意が必要です。
       この超音波距離センサーモジュールを使って、計測値とサーボ角度をマイコンで演算すれば、超音波レーダーができます。
      0

        APR9600をRZ-1ジュニアで動作テスト

         製作したAPR9600再生専用モジュールをRZ-1ジュニアの肩に載せて、RZ-1ジュニアのモーションプログラムに音声出力命令としてデジタル出力をON/OFFする信号を組み込んでテストしてみました。
        RZ-1ジュニア
         プログラムを修正する時には、動作と音声のタイミングがずれて違和感がないように、DELAYを追加して時間調整をします。
         なお、スピーカーは差し込んだだけなので音量は小さいですが、箱状の板に固定すればもう少し大きい音量になり十分に聞き取れるぐらいになりそうです。
        0

          APR9600をPICマイコンでコントロール

           PICマイコンのソフトを作成して、MR-C3024でコントロールできるか試行錯誤しながらチューニングしました。roboNBASICの命令実行時間がわからないので、MR-C3024のデジタル系の出力波形を観測しながら、PICマイコン(16F628A)を介してAPR9600モジュールから指定した音声が出るかテストしながら、タイミングを調整しました。
          通信仕様では時間が長すぎるので、コントロールできる範囲で時間短縮を行ない、半減させました。

           コントロール用16F628AのHEXソフトは下記からダウンロードできます。
          8mode_sw.HEX(ウィルスチェッ済)

           動作させるために作成したMR-C3024用のroboBASIC(v2.72)のテストプログラムも以下のようにしました。
          (テストのためRZ-1ジュニアを使用しました)
           リモコンの1〜8のボタンを押すと、それに対応してAPR9600から8つの音声がそれぞれスピーカーから出てくることを確認できました。各マイコンの発振周波数の誤差がある場合もあるので、DELAY時間は微調する必要があるかもしれません。これでMR-C3024のデジタル系の1端子のみで音声をコントロールできるようになりました。
          0

            APR9600のコントロールを検討

             APRO9600の動作確認ができたので、次はRZ-1のMR-C3024からどのようにコントロールするかを検討しないとRZ-1に搭載できません。MR-C3024のUARTとI2Cはすでに使用済みなので、そのインターフェイスは利用できないという制限があり、残るはデジタルI/Oポートで行なうしかなく、どのようにするか検討しています。

             現在、考えていることは識別コードは要らない単純な通信でいいのではと思っています。したがって、SW1からSW8を区別するのを、パルス幅かパルス数を検知して行なう方法しかない。パルス幅で検知する場合、例えば、50msでSW1から400mSでSW8がONする。パルス数を検知の場合、パルス1個ならSW1がONになり、パルスが連続して8個ならSW8がONになるという通信であれば、可能なように思うが、何をトリガーにしてカウントするかが問題である。

             実験して波形確認してみないと、確定的には言えないが可能性は高そうである。弱点はノイズによる誤動作が心配であり、テストしながら仕様を決めることにした。最初はマイコンのコントロールでAPR9600がうまく動作せずタイミングなどを調整してみました。

            テストして決定したのが、以下のような通信仕様にしました。
            ・RA1のみ入力で、RB0〜RB7全てを出力にする
            ・発振は内部発振を利用
            ・パルス幅は50mSとする(SW動作なので高速動作させない)
            ・1コードは800mSとする
            ・1パルス目がスタートビットとして認識する
            ・2パルス目からSW1〜SW8に対応したビットにする
            ・パルス幅でもパルス位置でも検出できるようにする
             →最終的にHになっているビットを検出して判定
            ・出力後、すぐにリセットする(8ビットまで待たない)

            通信のタイミングチャート
            タイミングチャート
             マイコンは発振子を無くして内部発振を使うので、PICマイコンの16F628Aを利用します。16F628Aのソフトも書き込みましたので、MR-C3924でうまく動作するかをテストする必要がありますが、MR-C3024のデジタル系端子はバッテリー電源なので、5Vではなく7.5V位になりますから絶対最大定格を越えてしまいます。従って、三端子電源で5Vに落とさないといけないことになるが、モジュールに載せられるかが問題である。載せられない場合には、電源とGNDはアナログ系から接続すれば可能である。
            0

              APR9600再生専用モジュールの製作

               ロボットの搭載するのには録音機能は使わないので、APR9600を再生専用で動作させるようにして小型化することにしました。しかし、APR9600の再生音が小さいようなので、出力アンプをを追加しました。さらに、タクトSWの代わりにPICマイコンでコントロールするように変更しました。

              (1)出力アンプの検討
              386応用回路 手持ちに386Bがあったので、386BのOPアンプを利用して出力アンプを組み込むようにしました。386Bのデータシートから応用回路を参考にして、単電源なので入力と出力をカップリング容量でDC成分をカットします。

               出力端子の0.047μFと10Ωは発振防止で、電源側の容量もノイズ低減と発振防止のために必要で省略しない方がよい。


              (2)再生専用回路
              再生専用回路(訂正版)
              ・APR9600の周辺回路で録音時に必要な部品と回路は削除する。

              ・切替えジャンパーも固定にする。
               再生モード固定で、8音声選択

              ・出力アンプを追加
               スピーカーは8Ω

              ・コントロールするPICマイコンを追加
               (マイコンソフトは暫定でまだ未完成)


              (3)再生専用基板の部品配置検討
              APR960再生専用モジュール
               上記の回路を出来る限り小型なモジュールするために部品配置を検討する。

               いろいろ試してみましたが、APR9600用のソケットの内側にも部品を配置することでなんとか実現しました。



              (4)APR9600の録音再生評価基板と今回の再生専用基板の比較
              基板の比較
               回路は増えましたが、評価基板の半分以下のサイズで再生専用モジュールが出来上がりました。

              右側が録音再生評価基板
              左側がアンプ付再生専用基板

               なお、APR9600が安いのでソケット代にプラスして予備にもう1つ購入して、東芝の音声合成によるリアルな音声も録音してみました。


               今後、MR-C3024からコントロールしてうまく音声が出るかの綜合テストをしながら、PICマイコンのソフトを作成していきます。
              0

                ロボット的な音声の音声合成

                 APR9600に録音する音声は自分の音声でも出来るのですが、ロボット的なというか機械的な音声にしたくて音声合成ソフトを調べていたらちょうど良いものが見つかり、電子工作工房の「音声、録音・再生、APR9600を考察する」を参考にさせてもらいました。

                 まず、解析エンジンMeCabをココからmecab-0.98pre3.exeをダウンロードして、インストールはデフォルトパス("C:¥Program Files¥MeCab")へ必ず行います。

                 MeCabのインストールが済んだら、次は音声合成フリーソフト「青空ろーどく」は任意の場所にインストールする。以上の順にインストールすれば、問題なく動作するはずです。

                 なお、青空ろーどくの設定音声を変えるには、¥AozoraRohdoku¥AquesTalk¥bin¥の下にある AquesTalkDa.dllとAquesTalk.dllをその下のディレクトリ(ロボット声1、・・・、中性的な声1)にあるAquesTalkDa.dllとAquesTalk.dllをコピーして置き換える

                 動作環境が整ったら「青空ろーどく」を起動して、簡単にテキストまたはテキストファイルを音声合成できるので、その結果を聞くこともでき、音声ファイルとしても保存できます。APR9600の録音時間が短いので、1メッセージの音声は5秒以内に収まるようなにテキストを書いて、その音声は「青空ろーどく」の速度で調整する。
                「青空ろーどく」画面
                 音声合成は満足できるレベルで、PCのスピーカから音声を出したAPR89600の評価ボードのマイクで録音するようにします。音声は大き目にします。APR89600のスピーカ駆動は非力なので、アンプが必要なようです。

                 「青空ろーどく」で作成したサンプル音声で確認できます。

                MeCab (和布蕪)とは
                 MeCabは 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所共同研究ユニットプロジェクトを通じて開発されたオープンソース形態素解析エンジンです。
                0

                  超音波レーダーの試作(4)

                   試作して超音波レーダーでサーボ駆動信号がおかしかった原因がやっとわかりました。ICソケットが不良だったのと自作したプローブがおかしかったことがわかり、ともに修理してやっと正常な波形になりました。オリジナルのプログラムソーズをサーボ仕様に合せ込みをして、パルス周期を20mSに、パルス幅を0.9mS〜2.1mSの範囲で可変させてみました。
                  パルス間隔
                   オリジナルのプログラムの
                  599行 sp_wk=1600 を sp_wk=1570 に変更して、他のsp_wk記述は削除して、統一しました。
                   
                  結果 20mSに合せ込みできました。


                  パルス幅1
                  パルス幅の調整は最小と最大を見ながら合せ込みしました。
                  747行、817行などのパルス幅の計算式を変更しました。

                  結果、最小パルス幅は0.914mSになりました。


                  パルス幅2
                  少しマージンを持たせています。

                  結果、最大パルス幅は2.086mSになりました。


                   これで超音波レーダーの試作は終了とします。

                  【謝辞】
                   最後に、サポートして頂いた石神様に感謝致します。
                  0

                    PG-03相当のジャイロモジュールを試作(10)

                     試作したジャイロモジュールをさらに小型化してみました。専用のプリント基板を製作して、マイコンは8ピンのSOPのPIC12F675Tにして、LEDなどほかの部品は全てチップ部品にしました。マイコンはライターのアダプタを製作しておいたので、SOPパッケージでもうまく書き込むことが出来ました。
                    ライターアダプタ
                     従来のPICライターでも、SOPのフラットパッケージに書き込めるようにアダプターを製作して、PIC12F675Tにうまく書き込めました。


                     チップ部品の半田付けに慣れていないので、悪戦苦闘しました。特に、LEDの裏側のパッドを半田付けには苦労しましたが、点灯の確認が出来るので何度かやり直してなんとか半田付けできました。半田のヤニが残っていますがそのままにしました。

                     左の写真で左側が試作してテストしていたジャイロ基板、真ん中が今回製作したチップ部品搭載の小型基板、右側が秋月電子のジャイロモジュール。

                     2色LEDチップは予定のものでなく、代用品にしたのでサイズが大きなり半田付けに苦労しました。小型基板にジャイロモジュールに接続した出来上がりです。


                     これでジャイロモジュール製作は終了します。
                    0


                      カレンダ

                        12345
                      6789101112
                      13141516171819
                      20212223242526
                      2728293031  
                      << May 2012 >>