ブログパーツUL5

『マイ3Dプリンター』で3Dプリンターができる

 DeGAOSITINの『マイ3Dプリンター』が発売になり総額が10万円になるので暫く迷っていましたが、ロボットや鉄道模型の部品のうち金属でない小さなプラスチック部品を3Dプリンターで製作できればいいなと考えています。3Dプリンターで製作する前に3DデータやCGデータを作成するテクニックやノウハウも必要になると思い、導入して試作ができるように購入することを決めました。

 マイ3Dプリンター創刊号
マイ3Dプリンター創刊号
 マイ3Dプリンター創刊号の中味
マイ3Dプリンター創刊号
 これから使えるか検討しながら進めていこうと思いが、途中でやめる可能性もあります。ロボットや鉄道模型の車両に使えなくても補修部品やジオラマなどには利用できそうにだと考えています。完成した製品の3Dプリンターもあるのですが、どれがよいのかわからずデータさえあれば外注製作に依頼することも可能になりそうなので、この3Dプリンターで少し勉強してみることにしました。もし製作できれば作品を1年後ぐらいに紹介できるといいです。

 使用するソフトウェアはフリーソフトですから誰でも利用できます。インストールしたソフトは下記の2つです。
3Dソフト:123D Design
CGソフト:Blender
まだ、インストールして正常動作するかの確認程度ですが、テストデータの雪だるまの作成まで出来ました。但し、英語版のフリーソフトなので子供だけでは難しく最初は大人が指導しないと難しそうです。コマンドやヘルプが英語のため最初が難しく、慣れれば覚えたアイコン操作でできるとは思います。(最近は小学校で英語を教えているから高学年では使えるかも??)
0

    新しい音声合成LSI

     秋月電子から音声合成LSIのATP3011F4-PUが発売された。このLSIはテキストを音声に変換出力する音声合成LSIのようである。

     このLSIはATMega328Pピンコンパチブルの音声合成エンジンを搭載したLSIで、ホストからシリアル通信を介してテキストデータを送ることによって、任意の音声(女声1種のみ)を発声させることができる。また、内部の不揮発メモリ(EEPROM)にデータを保存して、ホスト無しでフレーズを発声させることもできる。電源電圧は3〜5Vなので使いやすいと思います。

     詳細な技術資料は秋月電子からダウンロードできる。また、音声合成LSIのメーカーサイトに、LSIからの発声音が聞けます。ROBOZAKやRZ-1の音声としてはあまりフィットしませんが、発声音の自由度はかなり広がりが出ます。

     同じように自由度のある音声認識LSIがあるといろいろなことが出来るのですが、ROBOZAKの音声認識モジュールでは認識する言葉が固定されているので広がりがない。やはり、ロボットには音声認識と音声合成がペアで動作しないと搭載できない。いづれ、機会があったら試したみたいLSIである。


    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


                      カレンダ

                      1234567
                      891011121314
                      15161718192021
                      22232425262728
                      293031    
                      << July 2018 >>