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

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

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

ロボットアームの台座の垂直回転まで出来ました!
知識不足のせいで、ずいぶんと回り道をしてしまったけど、やっとここまで出来たぁ~!

んで、いつも通り自作したサーボコントローラ(2016年04月25日のブログ)に接続し、ドキドキしながらスイッチをいれ、サーボモータの回転角を指定すると、おぉ~!420gのアームが持ち上がりました
が!、色々と回転角を変化させると、サーボモータからブーンと嫌な音が...
色々と調べると、アームを少ない角度で上方に移動させた場合に異音が発生する事が分かった
どうも、アームの重量により指定角度手前で停止し、小刻みに震えている様なので、一度指定位置より少し上を指定した後に、再度位置指定すると異音が無くなった
ん~、ロボットアームドライバーには、それぞれのサーボモータに意味合いを持たせた上で移動方向に対しての2段階補正を行えるように変更しなければならないようだ
だが取りあえず上手く行ったので、明日から台座の水平回転部分を作成して行こう!
もう少しで完成だぁ~!!

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

f:id:Nov11:20160609033408j:plain

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

 

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

ロボットアームの肘まで悪戦苦闘の末に出来ました!
悪戦苦闘の理由は、3Dプリンタの収縮によるもので、以前ケース作成(2016年01月20日~のブログ)を行った時は横に対しての収縮で四方が反っていたが、今回は縦方向の収縮によりデザインした高さにならないと言う現象が起こり対処方法を見つける事に苦戦してしまったからだ
どうも、厚みと高さにより収縮率が異なっているようで詳しく調べていないが、厚みがある範囲内では急激に縦方向の収縮率が大きくなるようだ
ロボットアーム作成が一息ついたら改めて調査する事にしよう

んで、自作したサーボコントローラ(2016年04月25日のブログ)に接続し、ドキドキしながら肘を移動させると、おぉ~!手首が持ち上がりましたぁ~!

以前作成した物(2016年03月07日のブログ)はビクとも動かなかったのが嘘のように動いてくれました
(事前調査は大切!やっぱり急がば回れって事ですね。昔の人は良い事言ってます)
ここまで、サーボモータは6個で、全長25cmで、重量は予定より重たくなって420gとなりました
後は、ロボットアームの肩にあたる台座の水平垂直回転部分を自作すればロボットアームが完成する
もう一息だぁ~!
[ロボットアームの写真]

f:id:Nov11:20160605142859j:plain

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

 

ロボットアームを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コードで表示し、アナログジョイステックの左右でチャンネルを選択し、上下で値を変更出来る様にしました
速度設定や台形制御の設定は後日対応する予定です

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