Nov11’s diary(自宅での開発環境作り )

3Dプリンタと切削加工機で工作した事をアップして行きます

ロボットアームを3Dプリンタと切削加工機で自作する(パーツ作成)(その2)手首部分完成!

前回作成した手首垂直回転部分(2016年05月30日のブログ)に水平回転と上下回転部を追加して、ロボットアームの手部分が完成しました!
ここまで、使用したサーボモータは5個で、全長15センチで、重量は220グラムってところですね
補強やらネジの重量を計算に入れてなかったので、予定よりやや重たくなった事が不安だけど、ロボットアームぽくなってきたのは嬉しい!
肘までのトルク計算を行った結果、大丈夫そうなので、このまま肘部部の作成を行う事にしよう

[ロボットアームの手首写真]

f:id:Nov11:20160602091100j:plain

[ロボットアームの手首イメージ図]

f:id:Nov11:20160602091133j:plain

 

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい

 

ロボットアームを3Dプリンタと切削加工機で自作する(パーツ作成)(その1)掴み部分完成!

DesignSpark mechanicalでロボットアームのデザイン(2016年05月26日のブログ)を作成したので、それぞれのパーツをダヴィンチさん(3Dプリンタ)に手首垂直回転部分を印刷してもらい、挟み部分(2016年05月10日のブログ)にボルト留めしてみました
ベアリングプレートのおかげで、ガタつきも無く良い感じで挟み部分がクルクル回ってくれました
これなら、電源などのボリュームも回してくれそうなので、色々な実験のサポートもしてくれそうです

ただ、180度しか回転しないので、将棋やオセロの駒をひっくり返す事が出来ない...
ゲームの相手をしてもらう為には、ロボットアームを2台作成するか、駒ひっくり返し機を作らないといけないなぁ~

[ロボットアームの手首(垂直回転部)写真]

f:id:Nov11:20160530144441j:plain

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい

 

ロボットアームを3Dプリンタと切削加工機で自作する(トルク不足対策)(その2)全体イメージ完成!

ロボットアームの3Dデザインが完成しました!
以前のデザイン(2016年03月08日)に実寸のサーボモータを配置し、トルク計算から腕の長さなどを修正した上で、組み立て手順を考慮した物だ
また挟み部分(2016年05月10日)を組み立てた際にサーボモータと駆動部品が垂直水平にならない(3Dプリンタで作成した部品の表面の凹凸のせい)問題が見つかったので、この点も考慮してデザインしてみた
しかし、それらの改善点をデザインに取り込むのに2週間も掛かってしまったが、これでロボットアーム実現に少し近づけたのは嬉しい
明日からは、自作したロボットアーム相手に将棋やオセロをしているところを夢見がちに妄想しながら作成して行こう!

最終的に、3Dプリンタで出来た部品をロボットアームが組み立ててくれる様になったら最高なのだけど、かなり先の話になりそうです...

[ロボットアームの3Dイメージデザイン]

f:id:Nov11:20160526035437j:plain

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい

 

ロボットアームを3Dプリンタと切削加工機で自作する(トルク不足対策)(その1)サーボモータ再選定

8チャンネルのロボットアーム用サーボコントローラが完成したので、トルク不足対策を行う事にした
まず最初に、ロボットアームの握力アップから行う事にした
手から作成して行く理由は、台座部分から作成して行くと、持ち上げられるトルクが決定してしまいトルク不足が判明したした時点で全てをやり直す事になってしまうので、全体像(2016年03月08日のブログ)をデザインして先端部分から作成し重量から必要なトルクを算出しながら必要に応じて修正を掛けて行く作戦をとる事にした。今度は上手く行く事を祈りつつ作成して行こう!
んで、今まで使っていたサーボモータE-Sky500をSG92Rへ変更する事に、SG92Rは、E-Sky500に比べ、値段は半額(500円)でトルクは2.5倍(2.5kg)で回転角は3倍(180度)と、とってもお得なサーボだ

2016年03月06日のデザインをSG92R様に修正して動作させた結果、重量は50gで、しっかりがっちり挟んでくれる様になった


[作成したロボットアームの手の部分の写真]

f:id:Nov11:20160511000155j:plain

一見以前作成した物と大差無い様に見えるけど、全部印刷する事になってしまった...

[ロボットアームの手の部分の3Dイメージ]

f:id:Nov11:20160510234224j:plain

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい

 

ロボットアームを3Dプリンタと切削加工機で自作する(サーボコントローラ作成)(その15)サーボコントローラ完成!

8チャンネルのロボットアーム用サーボコントローラが完成しました!
前回作成したサーボモータ制御ボード(2016年04月25日のブログ)液晶付きコントローラ(2016年01月30日のブログ)を使用し、液晶モジュールを電圧電流モニター用に作成したSC1602(2016年04月08日のブログ)に変更した物で構成し、接続はI2Cで行う事にした
しかし、これを作成するのに10日も掛かってしまった...MPLABで作成していたフレームワークをMPLAB Xに移植するのに悪戦苦闘して7日間も掛かってしまった...(とても疲れましたです)
MPLAB版のフレームワークを自作した際に、デバイス制御と通常処理を分離して作成していたつもりが、いつの間にか高速化を理由に分離されていない部分が多数存在していた為に時間が掛かってしまった
MPLAB XのCode Configuratorがデバイス制御を行う部分を自動生成してくれるので、今回のMPLAB X版フレームワークは、これを包括する様にし、デバイスとの分離を行える形で作成できたので、MPLAB版の時の様にレジスタ設定に時間が掛かる事も無くり自由にピンアサインを設定出来る様になった
その上で、MPLAB XのPin ManagerとCall Graphを使用した図的な資料を作成する事も可能となった

また、プログラムの方も、ガンチャートベースのアローダイアグラムから多次元マトリクスの生成を行い抽象化したオブジェクトをマトリクスにマッピングする形にしたので、プログラムデザインを作図すればコーディングは機械的に出来るので、ハードウェアやソフトウェア経験の無いエンドユーザーとの打ち合わせる時でもすべて図的な表現で細部まで意思疎通を行った上で作成でき、後々のメンテナンスが作成者以外でも容易に出来る環境が整った事になる

しかし、ガントさん(Henry Laurence Gantt)はやっぱり凄い!
100年前にガンチャートを作り出し、いまだに利用され続けているとは、凄いとしか言いようがない!
この発明のおかげで、工程管理からハードウェア、ソフトウェアデザインまで全て作成出来てしまう
本当に感謝ですね

[サーボコントローラの写真]

f:id:Nov11:20160504143653j:plain

[サーボコントローラの写真]

f:id:Nov11:20160504143741j:plain

8チャンネル分の制御角をHEXコードで表示し、アナログジョイステックの左右でチャンネルを選択し、上下で値を変更出来る様にしました
速度設定や台形制御の設定は後日対応する予定です

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい

 

 

ロボットアームを3Dプリンタと切削加工機で自作する(サーボコントローラ作成)(その14)駆動電力40W

サーボモータ制御ボード改40W(ワット)版が完成しました!
ロボットアームで使用するサーボモータの電力測定を行った結果40W(5V×8A)程度必要な事が判明したので、以前作成した制御ボード(2016年02月25日のブログ)の見直しを行った
最初は、スイッチング電源を自作するか購入して作成するつもりだったが、少し高くつくので、お手軽簡単なACアダプタを採用する事にしたが、購入できるACアダプタのDCジャックの定格は4Aだった為に、サーボモータへの供給を4つにまとめDCジャックを2つから供給する形にデザインする事にした
ただサーボモータ8個で4A以内で動作させる場合も考慮して、ACアダプタ1個でも対応出来る様にもデザインし、駆動電圧が5V以上でも動作出来る様にもデザインしてみた
これで、今回作成するロボットアームを自作する為のボードがほぼ揃った
後は、ロボットアームデザインとプログラムデザインを進めて行けば完成するが、思った以上に大きな物になり自分だけでは管理が難しそうなのでRedmineさんやjenkinsさん等の力を借りて進める事にしよう

しかし、最初のサーボモータ制御ボードを自作してから2ヵ月!すぐに、このボードを作成するつもりだったが、ロボットアームを作成する為のテストツール(電圧電流モニター)に夢中になり過ぎて本来の目的を忘れてしまうと言う筆者の悪く癖が出てしまった
仕事の時でもちょくちょくあったのだが、目的達成の為の手段に夢中になり過ぎ、手段を追い求め手段が上手く行った事で満足し、挙句に本来の目的をあっさりさっぱり忘れてしまう本末転倒的な悪い癖だ
ん~、いつになったらこの悪い癖は治るのだろうか..
だがこれで、通常のPWM出力ICと違い、このサーボコントローラは、MCUを使用しインテリジェンス化したので、複数のサーボモータの同期や連動を取らせる事も可能となった
[サーボモータ制御ボードの写真]

f:id:Nov11:20160425033758j:plain

   (上記の写真は、10Wと2.5Wのサーボモータを動作させている時の写真です)

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい

 

開発環境ツールを自作する(電圧電流モニター作成)(その7)電圧電流モニター完成!

BluetoothのUART送受信をI2C送受信に変換するボードが完成しました!
現時点では、電圧電流モニターとの通信速度は約400kbpsで通信出来て、パソコンには9600bpsで送受信しているけど、PIC24FのI2CとUARTの通信最大速度は、900kbps(921600bps)なので、上手くゆけば小さめの動画も伝送出来るかもですね
I2Cなので複数接続すればBluetooth間での通信を利用したネットワークの構築も出来そうです

[BluetoothでI2C接続写真]

f:id:Nov11:20160420114307j:plain

[電圧電流モニターの受信データ]

f:id:Nov11:20160420114355j:plain

こうなってくると本体でロギングする為のメモリーボードや時間管理出来るRTCボード(PIC24Fに内蔵されているけどバックアップが大変なので)も欲しくなってきますね
後、パソコン側も受信データをデータベースに格納したりグラフ表示も出来ると便利かも...
ん~、全部作るとなると1週間ぐらいはかかりそうだけど、ロボットアーム作りを再開するか、このまま進めるか悩むところだ

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい