calendar

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 
<< November 2018 >>

categories

archives

profile

商品の紹介について

このブログではアフェリエイトを利用して管理人おすすめの紹介をしておりますが、実際の取引はお客様とリンク先商品提供者との間で行われ、当ブログ並びに管理人は一切の責任を負いかねますのでご了承ください。お取引に関して生じる問い合わせは、お取引先までご連絡ください。

REX試作4用上半身できた♪

0
    JUGEMテーマ:ロボット製作
    ずいぶんと時間がかかってしまった・・・・が、どうやら納得できる上半身ができました。
    1つのモーターで首上下と口の開閉を同時に実行させる機構は昨年9月(記事はこちら→)にできていたけど、「口を大きく開かせたい」とか「はりぼてといえども安定して動かしたい」とか「修理や設計変更の時に簡単に対応できるようにしておきたい」とか、あれやこれや思いついて、木片を組合せていました。
    そして出来上がった3週間の苦労の結晶・・・・
    動画にしておきました。

    お口はしっかり開いてくれるし、ギア音が一応恐竜のさけび(聞いたことないけど)に聞こえるし。
    これでメカは一休み。
    この後は、いよいよ赤外線リモコンに挑戦だー。
     

    REX・プログラム修正

    0
      JUGEMテーマ:ロボット製作
      先回までで、どうやらこうやら足のメカが使用に耐えるものになりました。
      次はメカのばらつきに合わせてモーター回転時間を決めていきます。
      これまで・・・
       前進=右2秒回転→1秒休み→左2秒回転→1秒休み
       後退=右1秒逆転→1秒休み→左1秒逆転→1秒休み
       左回転=右2秒回転→1秒休み
       右回転=左2秒回転→1秒休み
      と、仮の値を入れていましたが、メカの動きは、左回転スイッチONで270°回り、右回転スイッチONでは90°しか回転しないのが現状でした。
      そこで、ソフト上の対策としては、左右回転ともに45°になるようにモーター回転時間を設定し直しです。
       前進=右0.4秒回転→0.3秒休み→左1秒回転→0.3秒休み
       後退=右0.4秒逆転→0.3秒休み→左1秒逆転→0.3秒休み
       左回転=右0.4秒回転→0.3秒休み
       右回転=左1秒回転→0.3秒休み
      ソフト対策を入れた結果、下の動画の様な動きになりました。

      試作4としては、こんなもんでしょう。ぼちぼち次のステージに移って「首振りメカ」試作や「赤外線リモコン」トライに入ります。
       

      REX・試作4になってしまった

      0
        JUGEMテーマ:ロボット製作
        2月16日の日記「REX・足の試作3」(こちら→)の中で、試作4も必要かな〜と書きましたが、やっぱりメカ的な完成度がいまいちなのでしs買う4を作る事にしました。
        試作3からの大きな変更点は、モーターと中間ギアを平行に配置し回転伝達を確実にした点、前車輪を一つにした点です。
        足試作4こんな風にモータを足の甲の上に移しました。
        おかげで、すねの部分もすっきりしました。

        足試作4今回は、足だけではなく、胴体部分も作りドッキングしました。
        胴体部分には電池ボックス(単3×3)、首操作用のギアドモーター、プリント基板が乗りますのでバランス良く足に取り付けなくてはなりません。
        胴体部の重心が、足の車輪より少しだけ前に来る位置にしました。

        足試作4下から見て見ます。胴体下側にはプリントと電源スイッチ(写真手前)が搭載されています。
        さてさて動作の確認結果は・・・・
        マイコン制御としては、左回転スイッチON時には右モーターが2秒間正回転、右回転スイッチON時には左モーターが2秒間正回転するようになっています。実際に左回転スイッチをONすると270°グルリと回ります。ところが右回転スイッチON時は90°しか回りません。モーター回りの何かが左右で異なる様です。
        原因解明の為に、モーター両端の電圧を測ってみると、右モーターは2V、左モーターは1.75Vです。この違いはモータードライブ回路にあるのでしょうか、モーターとその負荷側にあるのでしょうか。
        モーターを回路から外してドライブ回路出力をオープンにした状態で電圧を測ると、右モーターは3V、左モーターも3Vです。どうやら回路側では無く、左右のモーターもしくはその負荷に差異がある様です。
        一応ここまで判ったので、後は次の試作の時に悩むことにします。
        ただし、この後マイコンプログラムでモーターON時間を修正しなくてはなりませんので、当座のごまかしをどうするかはその時に悩むとしましょう。(修正理由・・・・2秒は、いくらなんでも長すぎた)

         

        REX・組込み基板の試作

        0
          JUGEMテーマ:ロボット製作
          2月1日に、モータードライブ回路がしっかり動くことが確認できました(→こちらの記事)
          又、1月21日には、使えそうなプログラムを作り上げることができました(→こちらの記事)
          そこで、ロボットを動かすためのプリント基板の試作に取りかかりです。
          限られたスペースしかありませんので、プリント基板は72mm×47mmの既製品にします。
          まず電源部として9V、5Vの安定化電源、単3電池×3のパワー電源の3種類を使います。

          これらの電源を供給する為に、基板の5分の2を使ってしまいました。写真は、その作成途中の基板を使ってモータードライブ回路を確認した時のものです。

          残りのスペースに、左右の足用のモータードライブ回路、マイコン回路、首駆動と首信号を授受する回路を組み込めるか、ちょっとしたパズルです。
          更に更に、左右の足や首との接続、外部のリモコン回路との接続で、コネクタは最低3つ必要です。
          頭の活性化に役立つ趣味ですこと。

          あーでも無い、こーでも無い、と試行錯誤を繰り返した結果、右の様になりました。
          写真上で左側が電源部です。真ん中に鎮座しておられますのがマイコン様で、右側時立っている2つの護衛の様に見えるのが左右の足用のドライバIC、写真中央部下に経っているのが首用ドライバICです。コネクタは二つ見えますが、もう一つ、足用ドライバICの陰にあります。リード線2本は電池ボックスへの線です。
          動作確認の結果は「OK」!
          回路図はこちら→
          いよいよメカとのドッキングに入りたいのですが、やっぱりメカの動力伝達系が不安定。明日からは足の試作に逆戻りです。

          REX・足の試作3

          0
            JUGEMテーマ:ロボット製作
            恐竜ロボットREX君を作り始めて早や半年。
            マイコンなどの電子回路の試作と足の試作を繰り返してきました。
            思い起こせば、最初の足はスチレンボードで作った「開発試作」でした。(こちらの記事で紹介→)
            REX
            モーターの軸に網戸押さえ用のゴムを挿して、モーター軸の回転をそのまま水平方向の力に変換しました。
            判りやすくてシンプルだけど、動きが早すぎる上に調整しろが無いので、次の試作で改善する事にしました。
            試作1は下の様になかなかの見た目になりました。
            sisaku11 sisaku12
            右の写真の様に、モーターを垂直に配置し、モーター軸回転は中間ギア(ゴム同士だけど)で90°方向転換して回転力を車輪に伝えました。車輪は市販の丸型ゴム板を使いましたが、これのセンターがうまく出ません。また、減速比が大きく取れないので、あいかわらず動きが早すぎます。
            試作2は、ペットボトルのキャップを中間ギアにし、モーター軸は右の写真の様に45°の角度で中間ギアに当てて回転力を伝えました。
            sisaku21 sisaku22
            上手くいったかに思えたこの試作でしたが、車輪として使用したゴム(電気工作用の丸いブッシュ)が非常に弱く、網戸押さえ用のゴムに負けてけずれてしまいました。
            sisaku23右の写真の黒い部品がゴムの車輪で、写真ではわかりにくけど、削れた黒い粉が木材の上に飛散しています。

            かくして試作3になってしまいました。
            sisaku31 sisaku33
            車輪もペットボトルのフタを加工したものにして耐久性を上げ、中間ギアに対してモーター位置も車輪位置も調整可能にしました。組み立て図を開くのが面倒なので、写真を撮りました。
            sisaku32
            この後は、この試作3を使って回路のレベルを上げていきます。
            ただし、モーターのななめ配置は位置調整・部員消耗に難がある点、前車輪を2車輪にした為に移動時負荷が大きくなっている点、があるので試作4も必要かなー
             

            REXモータードライブに再挑戦

            0
              JUGEMテーマ:ロボット製作
              昨年の11月27日に「REXモータードライブIC断念」なんて記事(記事はこちら)を書いてしまったけど、どうも腑に落ちない
              そこで、改めてモーターとモータードライブICの相性を確認することにしました。
              今回は作業の下手さの影響を少なくする為に、プリント基板上の実装では無く、実態配線だけで回路を組みました。
              モータドライブ
              単3電池を3個直列に接続して4.5Vを作り、
              プラスをTA7267BPのピン6に接続、マイナスをピン4に接続しました。
              外部10V電源のプラスはTA7267BPのピン7に接続、マイナスは乾電池のマイナスに接続です。

              モーターはTA7267BPのピン3とピン5に接続しました。

              ここまでで準備完了♪
              乾電池のプラスに入力信号用の線をクリップでつなぎます。

              外部10Vと乾電池の電源スイッチを入れ、クリップの+4.5VをTA7267BPのピン1につなぎます、と・・・・モーターが回転しました。モーター両端の電圧は約1.8Vです。クリップの+4.5VをTA7267BPのピン2につなぐとモーターは逆回転し、電圧は逆方向で1.8Vです。しっかり、機能しています。
              モーターを取り換えて見ましたが、同じ状態です。
              手持ちのTA7267BPをとっかえひっかえして試しましたが、同じ様に、正常です。

              どうやら11月27日にはプリント基板のハンダ付けなんかがへたくそだったので動作が不安定だった様です。
              今日の結果が良かったので、モータードライブ回路は、TA7267BPを使う事にします。

              これで、ようやくメカの試作2回目に入れます。

              REXプログラムは一区切り

              0
                JUGEMテーマ:ロボット製作
                なんだかんだでプログラムができるようになったので、すっかり気を良くしてしまった。
                いよいよ実機REXの動きを想定してプログラミングして見ましょう。
                プログラミングの前にフローチャートとマトリックスを書きましたが、ここではマトリックスを紹介。

                基本的な足の動きをLEDで代行させます。
                できあがったプログラムをデバッグ基板で動かして見ました。

                成功です。
                ぱちぱちぱち・・・(自画自賛)
                プログラムを作るのに結構時間がかかりました。
                これは、ソースファイルの分割にも挑戦したためです。
                作ったソースファイルは
                  main.c(メインファイル)
                  step.c(歩行パターンのファイル)
                  wait10ms(10msタイマーの繰り替えしファイル)
                ヘッダファイルも作りました。
                  step.h
                以下がこれらのファイルです。
                main.c
                 

                step.c


                wait10ms.c

                step.h

                一応満足して、プログラムは一区切り♪♪
                次は、中断しているモータードライブ回路だ!!

                REX4作目のプログラム

                0
                  JUGEMテーマ:ロボット製作
                  生まれて初めてのC言語プログラム作成を先回ブログしたが、動作確認の結果、OKでした。
                  その後暮れ・正月の間もゴソゴソとやって、4作目まで進みました。
                    1作目・・・スイッチオンでLED点灯(先回アップ分)
                    2作目・・・スイッチ4個、LED4個に増やして、同様の動作
                    3作目・・・for文を使ってLED点滅繰り返し
                    4作目・・・delay関数を使ってLED点滅繰り返し
                  スムーズに進んだのですが、4作目にちょっとしたトラブルがありました。
                  エディタ画面上で「__delay_ms関数」を記述するとエラー(警告)マークが表示されたのです。
                  エディタ
                  該当箇所にマウスを乗せると「Unable to resolve identifier __delay_ms」と表示されました。
                  何しろ初心者ですから、「文法上に問題があるに違いない」と何度も見直したのですが、まったく問題無さそうで、途方に暮れてネットで解決のヒントを探しました。
                  探し出しました♪
                  どうやら原因は、MPLAB X IDEのバグだった様です。
                  教えてくれたのはblog 渓鉄」さんです。
                  2014年3月にインストールしたMPLAB X IDEとコンパイラxc8をコンピュータ上から削除し、新たにv2.3のMPLAB X IDEとv1.33のxc8をインストールし、その後できあがっていたプログラムを再度ビルトしました。小さな困難を乗り越えて4作目もなんとか完成です。
                  以下が、2,3,4作目です。(プログラム上の日付はデタラメ)
                  2作目(画像サイズの制限のため、メイン関数のみを記載)
                  プログラム2部分
                  3作目
                  プログラム3
                   4作目
                  プログラム4
                  次は複数のアクションを実行するプログラムを作ってみたいと思います。
                  (今はまだ、その方法の検討も付いていませんが・・・)

                  REX初めてのC言語

                  0
                    JUGEMテーマ:ロボット製作
                    全ての道具立てが終わったので、いよいよプログラミング。
                    生まれて初めてのC言語は「スイッチを押すとLEDが点灯する」と言うものにしました。
                    すいすいと行くと思っていたけど、「コンフィギュレーションビット」の設定とかが、手ごわい!!
                    マイコンの中味を知らなくては話にならないので、PIC16F1827の「Data Sheets」を探し出して拾い読み開始♪
                    えーご、エーゴ、英語、English・・・・それでいて専門的・・・・
                    「コンフィギュレーションビット」の難関を突破して、なんとかプログラミングできました。
                    プログラム1
                    この後のビルド(コンパイル)もどうにかやりすごし、次は大枚はたいて買ったPICkit3と、自作デバッグ基板、自作電源の登場です。
                    自作電源は不要かなと思ったのですが、どうやら推奨としては、外部電源使用のようです。作っておいてよかった。
                    書き込み準備
                    こんな感じで接続し、最後に外部電源のスイッチをオンしました。
                    赤いUSBコードはパソコンにつながって、パソコン上では「MPLAB X IDE」を開いて、今回のプログラムを表示しています。
                    書き込み全景
                    ネット上の記事を見ながら「MPLAB X IDE」をいじってみます。どうもうまくいきません。ネット上のPICkit3に関する説明が、一世代前の統合開発環境「MPLAB IDE」との組合せで書いてあるものがほとんどなのです。「MPLAB X IDE」との組み合わせでの操作がうまく理解できないので、やむを得ず「MPLAB X IDE」のユーザーガイドを読むことにしました。
                    にほんご、日本語・・・・専門的でも、英語よりは楽・・・
                    苦戦しましたが、かくして結果はオーライでした。
                    黄色いスイッチを押すと、黄色いLEDが点灯してくれました。
                    これでプログラミングのスタートを切ることはできた訳ですが、苦戦した「MPLAB X IDE」とPICkit3の組み合わせ操作手順を簡単にメモしておきます。
                    デバッグ
                    1.上部ツールバー中の「Debug Project}をクリックします。
                    デバッグ1
                    2.電源に気を付けてねと言うCAUTIONが出て来ますが「OK」です。
                    デバッグ2
                    3.右下の「Output」欄で処理状態が表示されます。
                    これが、プログラミングが完了して「Run」の状態になります
                    デバッグ3
                    4.ここで、デバッグを行います。
                    今回のデバッグとしては、黄色いスイッチを押して見るだけで、無事にLEDが点灯し、デバッグ終了です。
                    デバッグが終了したら、上部ツールバー中の「Finish Debugger Session」をクリックします。
                    デバッグ4
                    書き込み
                    1.上部ツールバー中の「Make and Program Device」をクリックします。
                    書き込み1
                    2.デバッグの時とよく似た、電源に気を付けてねと言うCAUTIONが出て来ますが「OK」です。
                    書き込み2
                    3.もし外部から5V電源を供給していないと、右下の「Output」欄に下の様に赤字で「だめよ、だめだめ」と言う感じで表示されます。
                    書き込み3
                    4.電源を供給してやり、再度「Make and Program Device」をクリックします。
                    再び「CAUTION」が出て来ますが、「OK」をクリックしますと、右下の「Output」欄は下の様に変わります。
                    書き込み4
                    これで書き込み完了です。
                    接続を外して、外部電源が供給されているデバッグ基板だけで動作確認をしてみましょう。

                    REXデバッグ基板作ったよ

                    0
                      JUGEMテーマ:ロボット製作

                      プログラミングの道具立てが、ゆっくりペースではあるものの、着々と進んでいます。
                      PICkit3まで揃えましたので、残るはデバッグ基板です。この基板は、PICkit3とつないでマイコンにプログラミングを書き込む為に必要です。
                      マイコンは、ごそごそ楽しむのに十分な性能を持つPIC16F1827にします。
                      できあがった基板は、こちら。
                      デバッグ基板
                      4つのタクトスイッチを搭載しておきました。4入力でのデバッグができます。

                      LEDも4つ搭載する事にしたのですが、手持ちが無いので1つだけ搭載しました。一応設計仕様は4出力までデバッグ可能です。

                      回路図は、こちら。
                      デバッグ基板
                      さて、いよいよプログラミングだ・・・

                      << | 2/3PAGES | >>