回路

MakeblockでStairbotを構築する方法:32ステップ(写真あり)

目次:

Anonim

まず第一に、私たちはこの事件の動作原理を説明します。一般的に、この場合理想的な条件下では8つの段階がある。車輪1および車輪4は、モータを備えた駆動輪であり、他は駆動輪である。リフト装置は、ホイール2とホイール4に別々に取り付けられています。

ステージ1
車は前進します。

ステージ2

超音波センサーが前方の障害物を検出しました。

その後、この車の装置を持ち上げると、超音波センサーが障害物を検出できなくなるまで、ホイール1とホイール3を持ち上げます。

注:ここでの「障害物」とは「階段」のことです。

ステージ3

車は、ホイール1とホイール4によって駆動されて前進し続けます。

ステージ4

写真に示されているように、車輪2のラインフォロワが障害物(階段)を検出したので、リフト装置1は車輪2を次に高い階段まで持ち上げます。

ステージ5

車は、ホイール1とホイール4によって駆動され、前進し続けます。

ステージ6
駆動輪(車輪1と4)は、車輪4のリミットスイッチが階段を検出すると自動的に停止します。次に吊上げ装置2は車輪4を持ち上げる。

ステージ7

車はホイール1で駆動されながら前進を続け

ステージ1に戻ったようです…

ステージ8
ステージ8。ステージ2と同じ。ロボットカーは、超音波センサーが障害物を検出するまで前進し続けます。

一般に、この場合、動作原理はステージ1からステージ8へと循環します。

機械的構造の観点から、このケースのユニークな部分は物を上下に持ち上げるとき信頼性が高くかつ迅速であることが要求される持ち上げ装置の設計です。この場合、我々は持ち上げ装置を作るためにギアとラックを使いました。以下の説明で示されるように、我々は滑りトラックを作るためにビーム0808を使い、そして単純な滑りブロックを作るためにビーム0824に接続されたベルトコネクタを使いました。

もっと詳しく知る

ステップ2:

次に、各ステップで使用される部品とその作成方法について説明します。リフティング装置1

部品表:

4×ビーム0824-032

2×ビーム0824-160

8×ネジM4×22

8×ナットM4

以下の部品を使用して構造を接続します。

ステップ3:

部品表:

4×ベルトコネクタ

16×ネジM4×8

ネジを締めるだけで、簡単にスライドブロックを作ることができます。

スライディングブロックをすぐに通過できる2つのBeam0808-312をつかみます。

ステップ4:

それでは、次のステップ、ラックの組み立てへ進みましょう。

このインテリジェントな自動階段昇降車が異なる高さの階段に適応することを確実にするために、滑走トラックとラックは十分に長くあるべきです。滑走トラックは長さ312mmです、従ってラックは短くなるべきではありません

4つのセクションを接続してラックを組み立てるだけです。ここでBeam0808-312を使用したのは、リフティングプロセス中にラックセクションの接合部が曲がらないようにするためです。ラック部分の接合部が曲がると、ギアとラックの間に噛み合いの問題があります。したがって、次の図に示すように、ラックをBeam0808-312に固定する必要があります。

ステップ5:

ガイドレールとラックを接続する

部品表:

1×ビーム0824-144

3×ネジM4×22

2×ナットM4

ステップ6:

部品表:

2×ビーム0824-176

6×ネジM4×22

6×ナットM4

ステップ7:

ホイール2(噛み合いホイール)を取り付ける

部品表:

2×タイヤ64×16mm

2×タイミングプーリー90T

2×ネジシャフト4×39ミリメートル

4×フランジベアリング

2×ネジM4

2×ヘッドレス止めネジM3×5

4×プラスチックスペーサー4×7×2

Beam0824の両端にタイヤを2本固定する

すべてのステップを終えて、私たちはホイール2とリフト装置1の組み立てを終えました。

ステップ8:

次のステップに踏み出しましょう - ホイール4とリフト装置2を組み立てます。

持ち上げ装置2の構造は、組み立てに使用される部品がそうであるように、持ち上げ装置1と同じである。

唯一の違いは、写真のようにビーム0824-032を修正する必要があることです。

吊り上げ装置を組み立てる手順と同じように、ガイドレールとラックを組み立てます。1. Beam0824-144の代わりにBeam0824-080を使用して、上端を接続します。

ステップ9:

下端を接続するには、次の部分を使います。

1×ビーム0824-128

6×ネジM4×22

6×ナットM4

ステップ10:

Beam0824にブラケットL1を取り付ける

部品表:

2×ネジM4×14

2×ナットM4

ステップ11:

建物吊り上げ装置2を完成させた後、建物の車輪4(駆動輪)を起動することができます

部品表:

1×DCモーター - 25

1×タイミングプーリー90T

1×DCモーター25ブラケット

1×シャフトコネクタ

1×ヘッドレス止めネジM3×5

2×ネジM4×14

ステップ12:

タイヤを取り付ける

2×ネジM4×14

2×ナット

上記の構造をブラケットL1に取り付けます

今まで、私たちはこの車の半分を完成させました。

ステップ13:

次のステップは車と車輪1と車輪3の主要構造を作ることです。

最初にホイール1(駆動輪)を組み立てます。

2×タイヤ64×16mm

2×タイミングプーリー90T

2×シャフトコネクタ

8×ネジM4×14

4×ナットM4

4×ネジM3×5

4×ヘッドレス止めネジM3×5

2×DCモーター - 25mm

2 x DCモーター25ブラケット

2×ビーム0824-064

ステップ14:

衝突防止バーを組み立てる

部品表:

1×ビーム0824 - 160

2×ブラケットL1

4×ネジM4×14

4×ナットM4

ステップ15:

車の主要構造を組み立てる

部品表:

2×ビーム0824-192

1×アンチコリジョンバー

2×タイヤ64×16mm

6×ネジM4×30

6×ナットM4

ステップ16:

車輪3(従動輪)を組み立てます。

部品表:

2×タイヤ64×16mm

2×タイミングプーリー90T

2×ビーム0808 - 088

4×フランジベアリング

2×ネジシャフト

4×プラスチックスペーサー4×7×2

2×ナット

2×ヘッドレス止めネジM3×5

ステップ17:

部品表:

4×ネジM4×22

4×ナットM4

ホイール3をカーブラケットに固定する

ステップ18:

リフト装置2をカーブラケットに取り付ける

部品表:

8×ネジM4×14

ステップ19:

接続装置を取り付けるには6本のネジM4x14を使用してください1

階段の幅は
限られた、そしてタイヤが大きすぎるので、我々はすべてのタイヤの位置をずらさなければならなかった。ホイール4では、モーターとタイヤのみを使用しました。

ステップ20:

持ち上がる装置のモーターを取付けて下さい

部品表:

2×DCモーター - 37

2×ギア18T

2×ヘッドレス止めネジM3×5

4×ネジM4×8

注:DC Motor-37を取り付ける前に、まずモーターブラケットを組み立ててください。

ギアとラックの間の距離を調整してから、リフト装置1と2のBeam0824のネジ溝にモーターを別々に固定します。

ステップバイステップで、私たちはこの車の全体の機械的構造を完成させました。

ステップ21:

次のステップに進みましょう - センサーを取り付けます

1×リミットスイッチ

リフト装置2の側面にリミットスイッチを取り付けます

2×リミットスイッチ

これら2つのリミットスイッチをリフト装置1と2の梁に別々に取り付けます。

注:リミットスイッチは吊り上げ高さを制限するために使用されます。

ステップ22:

ラインフォロアセンサーを取り付ける

部品表:

2×ネジM4×22

2×プラスチックスペーサー4 * 7 * 10

4×プラスチックスペーサー4×7×2

1×Meラインフォロワー

ステップ23:

ジャイロスコープを取り付ける

ステップ24:

超音波センサーを取り付ける

私達が皆知っているように、超音波センサーは0-30mmの距離で障害物を検出することができません。そこで今回は、超音波センサーを車内に設置し、衝突防止バーを手前に向けて階段をぶつけた。このようにして、超音波はたまたま障害物、すなわち階段を検出することができるようになる。

ステップ25:

Orionをインストールしてください

ステップ26:

アダプターを取り付ける(リミットスイッチ用)

ステップ27:

すべてのセンサーの取り付けが完了しました。今度は車とセンサーの全体構造を見てみましょう。

この車はタイヤの数に基づいて4つの部分に分けることができます。

車輪1と車輪4は駆動輪であり、車輪2と車輪3は駆動輪である。

(ホイール4、ホイール3、ホイール2、ホイール1)

この車では、持ち上げ装置1および2は車輪2および車輪4の位置を制御します

(吊り上げ装置1吊り上げ装置2)

(ホイール2のラインフォロワホイール1の超音波センサ)

(モーター駆動モジュールホイール4の駆動モーターリフト装置2のリミットスイッチ2ホイール4のリミットスイッチ持ち上げ装置2)

(ホイール1のジャイロスコープ駆動モータ1ホイール1の駆動モータ1ホイール2のリミットスイッチ)

なぜジャイロスコープが必要なのでしょうか。ここでのジャイロスコープは、モータの吊り上げ速度を調整するために使用され、かくして車自体のバランスをとるために使用される(吊り上げ装置に使用されるモータは、車をバランスさせることができないDCモータである)。

ステップ28:

車全体:

ステップ29:

配線マップ

ステップ30:

mw_shl_code = applescript、true #include "MeOrion.h" #include MeGyro gyro; MeDCモーターリフター1(PORT_1)。 // 1 MeDCMotor lifer2(PORT_2)に上昇します。 // 2 MeDCモーターrw(M2); // 1号駆動輪MeDCモーターfw(M1); // 4号機MeLineFollower lineFinder1(PORT_7); //巡回路線MeLimitSwitch upWard1(PORT_3、SLOT2); // 1号上昇限度スイッチMeLimitSwitch forWard2(PORT_4、SLOT1); // 4号ホイールリミットスイッチMeLimitSwitch upWard2(PORT_4、SLOT2); // 2号上昇限度スイッチMeUltrasonicSensor ultraSensor(PORT_8); // 1号機超音波void setup()//初期化、前後昇降装置回収{Serial.begin(9600);} gyro.begin(); lifer1.run(-250); while(!upWard1.touched()); lifer1.stop(); lifer2.run(-250); while(!upWard2.touched()); lifer2.stop(); void Step2(){float p = 15;};フロートi = 0.01。フロート角= 0。 float targetAngle = 0;フロート積分= 0。 float err = 0。 while(NotStop()){gyro.update(); float angle = gyro.getAngleX(); err = angle - targetAngle;積分+ =エラー。 int speed1 = 200。 int speed2 = 200。 speed2 = speed1 + err * p; // +積分* i; lifer1.run(speed1); lifer2.run(speed2); // delay(10); lifer1.stop(); lifer2.stop(); int startTiming = 0;符号なしlong startTime = 0。 int NotStop(){int16_t距離。 distance = ultraSensor.distanceCm();遅延(10)。 if(0 == startTiming){if((distance <10)&&(distance> 1)){return 1; } else {startTiming = 1; startTime = millis(); 1を返します。 else {unsigned long currentTime = millis();}} if(currentTime - startTime <2500)//超音波が屋根の上に達してから2.5秒後に検出される{return 1; } else {0を返す。 void loop(){startTiming = 0;}}}} startTime = 0。 //第1段階小車両前進行fw.run(60); rw.run(60); // 1号4号ホイール推定小車前進行int16_t distance; do {distance = ultraSensor.distanceCm();}遅延(10)。 【数2】// //第2段階で、(!((距離<4)&&(距離> 1)));) // fw.stop();が発生した場合rw.stop();ステップ2(); //ステージ3 1号4号ホイール推薦車の前に進むfw.run(60); rw.run(60); //ステップ4 2号機のサークルラインセンサが、エレベータの主輪の停止を検出している間、装置1は、2号機を持ち上げながら持ち上げる(!(lineFinder1.readSensors()!= S1_IN_S2_IN))。 lifer1.run(-250); fw.stop(); rw.stop(); while(!upWard1.touched()); // 1号上昇限度スイッチによる上昇終了の検出lifer1.stop();調整(); //ステージ5 1号4号ホイール推薦車の前に進むfw.run(60); rw.run(60); //ステージ6 4号機のリミットスイッチが4号機のチェックを停止し、2号機の昇降装置が4号機を停止するまでの間(!forWard2.touched())。 lifer2.run(-250); fw.stop(); rw.stop(); while(!upWard2.touched()); // 1号上昇限度スイッチによる上昇終了の検出lifer2.stop(); //第7回サイクル第1回//第8回サイクル第2回} void Adjust()//ブレイクダウンコントロールコントロール{{int p = 40;}} //フロートi = 0.05;フロート角= 0。 float targetAngle = 4; //浮動積分= 0。 // float err = 0; do {gyro.update(); angle = gyro.getAngleX(); // err =(angle - targetAngle); //統合+ =エラー。 lifer2.run((angle - targetAngle)* p); // + i * integration); // delay(10); while(fabs(angle - targetAngle)> 1); lifer2.stop(); / mw_shl_code

ステップ31:

ステップ32:

モータードライブの取り付け