Arduinoでロボットを作ってみました!【9】落下防止センサ&スコープユニットの組込
測距モジュールを利用した落下防止センサユニットと3自由度の首関節を持つスコープユニットを作っていきます。
落下防止センサユニット
厚紙で図のような3つの部品を作り、木工用ボンドで接着し組み立てます。シャープ測距モジュールGP2Y0A21YK0Fを左右に1個ずつ、十字穴付なべ小ねじと六角ナットで固定します。
外側から見える部品については、組込前に塗装を行いました。
100均のダイソーでアクリル絵の具を見つけましたので、4色ほど購入し適当に混ぜて使いました。
αβステージ
3自由度の首関節の内αβステージには、マイクロサーボ9g SG90を使います。
これも厚紙でマイクロサーボ保持部とテーブルとを作ります。
右側のナットを接着している部品がβステージ用テーブルで、このナットでスコープユニットを取り付けます。左側のナットがないテーブルがαステージ用テーブルです。
マイクロサーボSG90にサーボホーンを固定する前に、SG90を中心位置に動かしておきます。その際使用したスケッチは、
#include <Servo.h> // ライブラリの読み込み<Servo.h>
Servo servo0,servo1,servo2; // Servo型の変数は「servo0」~「servo2」とする
void setup() // 初期設定
{
servo0.attach(4); // Servo型の変数は「servo0」をピン4(θ軸)に割り当てる
servo1.attach(5); // Servo型の変数は「servo1」をピン5(α軸)に割り当てる
servo2.attach(6); // Servo型の変数は「servo2」をピン6(β軸)に割り当てる
}
void loop() // メインの処理
{
servo0.write(90); // サーボ出力。Servo0角度は90°
delay(1000); // タイマ(1秒)
servo1.write(90); // サーボ出力。Servo1角度は90°
delay(1000); // タイマ(1秒)
servo2.write(90); // サーボ出力。Servo2角度は90°
delay(1000); // タイマ(1秒)
}
上記のスケッチでSG90を90°の位置にしてサーボホーンを固定したのですが、
SG90のサーボホーン取付軸のギザギザとサーボホーン取付穴のギザギザの位置関係のためか、SG90が90°の位置でサーボホーンを水平に取り付けることができません。そこで、ここでは、αβ各ステージのテーブルが水平になる位置を中心位置とするように、サーボ指令の角度を調整します。
αステージ:中心位置 80° 可動範囲 55°~105°
βステージ:中心位置 82° 可動範囲 57°~107°
※中心位置±25°を超えて動かすと、テーブルとマイクロサーボ保持部とが干渉しますので、上記の可動範囲を超えて角度設定をしないように注意します。
完成したαステージ(左)、βステージ(右)です。
θαβステージ
θステージにはGWSサーボ S03N/2BBBMG/JRを使い、αステージ、βステージはそれぞれ接着固定します。
θステージの中心位置(90°)は、
αβステージと同じように、サーボを90°にしてサーボホーンを取り付けるとサーボホーンが水平にならないので、こちらはθテーブルの固定穴をずらすことで対応します。
θステージ:中心位置 90° 可動範囲 45°~135°
※θステージについては、中心位置±45°を超えても干渉する箇所はないので、ここでの可動範囲は仮設定として、最終的には動作確認をしながら決めていきます。
スコープユニット
スコープユニットといっても、レンズやカメラを組み込んでいるわけではなく、外観のイメージのみですが、障害物などを検出するための測距モジュールと表情を演出するための白色LEDを組み込みました。このユニットの部品もほとんど、板目表紙で作っていますが、筒については、ラップの芯を利用しています。
θαβステージにスコープユニットを取り付けます。
ここで、αステージテーブルの強度を確認しておきます。αステージ上にβステージおよびスコープユニットが搭載されていますので、これらの荷重によってαステージテーブルがどの程度変形するかを計算します。
材質:板目表紙(縦目)
縦弾性係数:3.89 GPa
密度:749.1 kg/m^3 (*1)
ポアソン比:0.3 (*2)
(*1) 板目表紙 445 x 306 x 0.7 (mm) 1枚の質量実測値:71.4gから計算
(*2) 参考資料見つけられず適当に設定
拘束条件:サーボホーンへの取り付け穴及び回転支点穴を完全拘束
荷重条件:βステージ+スコープユニットの合計質量=60.5gより0.593Nがαステージテーブルのβステージ接着面に負荷されたとして計算
最大変位:0.07mm
荷重条件を3倍の1.799N(181.5g)とした場合
最大変位:0.21mm
以上より、αβステージのテーブルを厚紙1枚から作りましたが、強度は大丈夫そうです。
落下防止センサユニットとスコープユニットとを本体に組み込んでいきます。
落下防止センサユニットとスコープユニットは十字穴付きなべ小ねじと六角ナットでユニバーサルプレートに固定するのですが、ユニバーサルプレートの裏面に六角ナットを保持するのも作業性が悪いので、厚紙に穴を開けてナットを接着したナットプレートを作りました。
タクトスイッチ基板は、スコープユニット固定部品に接着します。
カバーを除いて、機構部、電源、制御基板、配線がほぼ完成です。
配線がごちゃごちゃしていますので、動作試験完了後に整理したいと思います。