無線(Bluetooth)によるコントロール

 ターンテーブルのコントローラ本体は完成していますが、すでに製作した小型多機能パワーパックには収納できないことがわかり、分離して別ケースに収めました。接続ケーブルで繋ぐのも今どきでないので、Bluetoothを利用してペアリングしたモジュールで自動的に接続するようにして無線で繋ぐようにしました。

 開発中のBluetoothの発信側のブレッドボードとコントローラ本体
Bluetooth基板

 ブレッドボードでは開発ツールとしてArduinoのシールド基板に
Bluetooth基板
 ブレッドボードではタクトSWが全て設けられないので、専用シールド基板を製作しました。基板上にある小型スライドSWはBluetoothモジュールの設定時に使うEN端子の接続用です。

 開発したBluetoothの発信側基板
(左側から、専用シールド基板、汎用Bluetooth基板、パワーパック組込み用基板)
Bluetooth基板
 Arduinoのスケッチは専用シールド基板で開発と改良を行います。汎用Bluetooth基板はBluetoothリモコンにしますが、バッテリーとケースをどうするかを検討中です。組込み用基板をパワーパック内に収めて、コネクタの加工が不要になり簡単に繋ぐことができます。ただし、パワーパックにスイッチを追加で設けることができないので、工夫が必要でありその方法を検討中です。ローターリーSWの余っている回路と押しボタンで選択して機能するように改造する予定でしたが、このアイデアはダメで、ロータリーSWが停止状態でのみ押しボタンSWが有効になるようにしてました。

0

    ターンテーブルコントローラの原点復帰のテスト

     自作のターンテーブルコントローラが完成しましたが、まだまだ改良すべき課題もあり、開発していたブレッドボードに少し手を入れて、余計な部品を取り除き接続ケーブルのない専用開発ツールに整理して、いつでも使えるようにしました。

     専用開発ツール
    専用開発ツール

     原点復帰のテスト

    EEPROMを利用してセンサーを設けず、ソフトウェアだけで原点復帰を実現できたのでテストしてみました。
    0

      小型ターンテーブルコントローラ 

       KATOのターンテーブルを操作する自作の小型コントローラができました。自作のパワーパックに入れようとしましたが、無理なようなのでスピードメーター用に購入していたケースを利用することにしました。といっても基板が辛うじて入る小型ケースのため、取り付け部品の配置に苦労しました。

       完成したターンテーブルコントローラ基板の動作確認
       

       小型ケースに収納(Bluetoothも内臓)

       Bluetoothのペアリング表示LEDはKATO用レールへの給電コネクターが僅かに光っていますので、ペアリング状態が確認できます。

       
       KATOのコントローラよりも小型で多機能になったターンテーブルコントローラはこれで一応完成とします。なお、パワーパックに内蔵できた時には報告します。

       KATO製と自作のコントローラのサイズ比較
      サイズ比較
      KATO製の約1/4弱ですかね。

       【おまけ】自宅近くで捕まえたトンボ

       トンボを捕まえたのは久しぶりで、写真を撮ったら逃がしました。私に捕まるぐらいですから、大分弱っていたのかもしれません。
      0

        ターンテーブルコントローラのパワーパックで

         ターンテーブルコントローラの基板が完成してパワーパックにぎりぎり内蔵できるところまできたが、ターンテーブルとの接続コネクターの設置場所がみつからず接続できない。予定していたところはパネル側についている部品とぶつかることがわかり駄目でした。

         ターンテーブルとの接続ケーブルはD-SUB9ピンを利用することにしましたが、その設置場所がない


         どうやらターンテーブルコントローラは別ケースに収めるかケースを大きくするしか方法がないようである。ではどのように計画変更するか検討中です。
        (1案)
         別ケースに収めてターンテーブルコントローラの操作を独立して使用する。
         反転と原点復帰の機能を追加してKATOのオリジナルを強化した機能を活用する。
        (2案)
         KATOのオリジナルのケースを活用して基板を入れ替えて全機能を独立して使用する。
         反転と原点復帰の機能を追加してKATOのオリジナル強化した機能を活用する。
        (3案)
         現在のケースよりも一回り大きなケースにして全てを収める。
         KATOのオリジナル基板との切り替えもできる(2台のターンテーブルの操作も可能に)。
         ポイント操作も追加して、ターンテーブルを中心に機関区全ての操作ができるようにする。
         現パワーパックは標準的なパワーパックにリサイクルする(その為に穴加工は共通化)。
        (4案)
         現在のパワーパックと別ケースに収めたターンテーブルコントローラを通信ケーブルで繋ぎリモートで操作する。
         (別ケースには操作するものなし)
        (5案)
         現在のパワーパックと別ケースに収めたターンテーブルコントローラをBluetoothで通信してリモートで操作する。
         (別ケースには操作するものなし)
        いづれかとの折衷案もありかな。
        0

          ターンテーブルコントローラの基板製作

           すでに自作したパワーパック内にターンテーブルコントローラの回路を収めるため小さいユニバーサル基板にしました。事前に部品配置レイアウトを十分に検討したしていましたが、配線できるか不安でした。

           基板の配線チェック

           複雑な回路図なのに珍しく配線ミスが1箇所もありませんでした。すばらしい〜(自画自賛)。

           部品配置(表側)とHC-06

           マイコンはATmega328pでArduinoのブートローダーを書込んでから、作成したプログラム(スケッチ)を書込みました。手持ちの部品で、まだ、一部コネクターが足りず検討中。

           配線した基板(裏側)

           部品配置を十分にしたお陰でマイコンやドライバーICの周辺は混雑していますが、意外と配線ができたのでよかったです。パワーパックから取り出してテストしたり、パワーパックから独立して別のケースに入れることも考慮して基板は半田付けしないでコネクターで接続するようにしました。

           自作のパワーパックに格納

           完成した自作のパワーパックに格納してみた。ぎりぎりに格納できました。Biuetoothモジュールとの接続は基板に半田付けせずに、ケーブルで結ぶようにしたため、固定方法(仮に両面テープ留)を検討中です。

           別ケースにも収まりそう

           スケールスピードメーターのために購入したケースが余っており、これを利用して別ケースにできそうである。ケースに収める場合には、Bluetoothでの無線コントロールだけにしてACアダプター(SW有+LED)やターンテーブルのコネクタとレール用電源入力の3つにするつもりです。
          0

            ターンテーブルコントローラの回路図と試作準備

             いままで試行錯誤しながらハードウェアとソフトウェアを同時にプロトタイピング開発を行ってきましたが、実はちゃんとした回路図を書いておらず、壊れなければいいやと詳細な定数計算もしていませんでした。梅雨に入り天候が悪いので、ここらで試作していた回路を確認しながら回路図に落とすことにしました。機関区用パワーパックの回路図をベースにしましたが、丁寧に書いていたらそれでも2日間もかかりました。

             回路図を書きながら、基板のレイアウトも同時に検討しました。回路図を書いてはレイアウトを見直したり、配置を入れ替えたりしました。

             完成した回路図と部品を仮配置した基板
            回路図と部品を仮配置した基板
             5V系と3.3V系の回路が混在するので、どうしても抵抗分割の簡易レベルシフト回路を入れる必要があるため大きな面積をとって部品配置に苦労しましたが、配線ができるか不安です。配置する時に一応マイコンのピン配置を考慮していますが、なかなかうまくいきませんでした。配線できない場合にはレベルシフト回路の抵抗を1/6Wのサイズの小さいものに変更しようと思います。

             ケースがアルミケースでシールドされるため、ケース横に大きめの穴を開けてBluetoothモジュール用とターンテーブルとの接続ケーブル用に適当なコネクターがなくケース裏に穴を開ける予定です。
            0

              ターンテーブル操作用パワーパックに改造

               Arduinoを利用してKATOのターンテーブルのコントロールができるようにソフトウェアの開発が進み、ほぼ出来上がりそうでそろそろどのようにするかの検討です。以前、有り合わせの部品を使うなどして製作した機関区用パワーパックを本格的に改造することにした。

               機関区用パワーパックの内部(部品、配線が有り合わせ)
              機関区用パワーパック
              まず、スペース角野のために整理して部品の交換と配線などのやり直しを行いました。

               スペースを確認
              機関区用パワーパック
               ターンテーブルコントロール基板がぎりぎり入りそうである。このサイズの基板にターンテーブルコントローラが収まれば、ターンテーブル操作用パワーパックに生まれ変わる。まだ基板のレイアウトができていないので、早急に検討する必要があります。

               トグルSWを押しボタンSW(小さい黒ボタン)に交換
              機関区用パワーパック
              ターンテーブルの機能と操作
              ・ロータリーSW:ターンテーブルの左回り、右回り、停止
              ・交換した押しボタンSW(黒):ターンテーブルの反転
              ・警笛の押しボタンSW(赤):ターンテーブルの原点復帰
               (減速FULLの時だけ)
              ・警笛の押しボタンSW(赤):ターンテーブルの原点設定
               (加速FULLの時だけ)
              配線が複雑になりそうであり、うまく改造できるかわからないが、チャレンジしてみることにした。

              ソフトウェアではハードSWでの操作とBluetoothのアプリでの操作ができるようになりました。残された課題はアルミケースなので、Bluetoothのモジュールをどのように収めるかが決まっていません。
              0

                ターンテーブルの改良

                 KATOのターンテーブルの改良で一番の難題だったのが原点設定と原点復帰でした。ターンテーブルの本体を改良することなくケーブルを接続するだけで、ArduinoのソフトウェアでEEPROMに書込んだり読出したりして、原点の保存設定と原点復帰の動作が実現できるかをプロトタイプのプログラムを作成してテストしていました。

                 デバッグとテストの試行錯誤中
                操作変更
                 I2CのLCDに変数を表示させてデバッグしているので、わかりやすくデバッグできました。結果、原点の保存が可能であり、原点復帰せずに電源をOFFにした場合には、電源投入時に自動で原点復帰するようにできます。また、手動で修正して原点設定もできます。

                 原点設定と原点復帰の操作ができるようになったので、操作パネルの割り当てを変更しました。
                試行錯誤中
                 今回のテストではロータリーSWでの操作でも、スマホでの操作もどちらでもできるように改良しました。ただし、同時には操作しないという条件です。今後、メインプログラムに原点操作の機能を盛り込みます。そろそろ本体のハードウェアをどのようなケースにするかを考えていきます。
                0

                  ターンテーブルの無線化にチャレンジ

                   KATOのターンテーブルのコントローラを自作しており、今まで基本動作や減速動作とうまくできたので、今度はBluetoothによる無線化にチャレンジしてみました。すでに、Arduino unoを利用してBluetoothによる無線のテストをしていたので、意外と合体がうまく出来て動作確認できました。

                   スマホからの操作テスト

                   
                   反転するように指示したり、左隣へ、右隣へと移動する操作を確認しました。出来上がったゲームコントローラ風のGUIを利用したので簡単なテストをしてみました。なお、無線化に際してロータリーSWの信号を切ってBlutoothからの信号に切替えました。ソフトウェアで切替えるようにする必要があります。


                   単純な動作テストですが、意外とあっさりとBluetoothによる無線化が実現できてしまいびっくりしています。まずはこのGUIを利用すれば、短期間でターンテーブルを無線化できることが確認できました。今後は、スマホのGUIのボタンに何を割り当てるかを検討して本格的な自作コントローラに取り組みます。

                   GUI設定の予定(追加)
                  GUI設定
                   EEPROM読出しとEEPROM書込みは、初期設定のためで初期設定のアルゴリズムを検討中なので、EEPROMの読出しと書込みだけを設定しています。前進/後退とポイント切替は、リレー駆動で切替るようにして、ソフトウェアではデジタルI/OのHIGH/LOWで行なう予定です。それ以外はソフトウェアで実現できるので、すでにスケッチを変更して動作確認できました。

                   なお、サウンドボックスのコントロールコマンドと端子接続の仕様が分かれば、サウンドボックスを直接、Bluetoothによる無線化でコントロールが出来そうである。

                  0

                    ターンテーブルの仮想原点によるアルゴリズムの検討

                     Arduino UNOのEEPROMの変数記録の書き込みと読み出しのテストがうまくできたので、仮想原点を決めて動作するターンテーブルのアルゴリズムを検討してみた。ターンテーブルの原点位置と現位置をEEPROMに記録することで、原点に戻すことや指定位置にまわす操作ができるようになります。

                    Setup()では
                    1.EEPROMに記録されているm_Count1の値を読み出す(仮想原点はmCount0で0)
                    2.m_Count1が0でない場合は、その差が0になるように自動的に動く
                      (トラブルがあった場合には、手動で緊急停止ボタンSWで停める)
                    3.2.で位置がズレている場合には、手動で位置を合わせる
                    4.原点とする位置が決まったら、原点リセットは押しボタンSWを押す
                    5.EEPROMにm_Count1の変数値に0を記録する
                    6.仮想原点はmCount0に0を設定する

                    loop()では
                    1.回転方向を仮想原点はmCount0から判別(−/+)をする
                    2.回転した時のセンサー回数をカウントしてm_Count1に格納する
                      (緊急停止もあるので、実際のセンサー回数をカウント)
                    3.1回転(36)したm_Count1を回転方向によって加算と減算を行なう
                    4.Stop状態になった時点で、現在のm_Count1をEEPROMにm_Count1の変数値を記録する
                    0

                      | 1/3PAGES | >>

                      カレンダ

                         1234
                      567891011
                      12131415161718
                      19202122232425
                      262728293031 
                      << August 2018 >>