その結果、3年間の非常にゆったりとした作業、変更や熊手の山積みの後、私はこれを手に入れました。
モデルを作成するとき、私は実際のローバーの正確なコピーを作成するという目標を追求しませんでした。 使用可能な要素ベースに基づいて描画し、元のものとはかなり類似したコンテンツでした。 私の主な動機は独学でした。 予想外の、付随的で、私にとって非常に楽しいのは、Curiosityミッションと3Dプリントの普及の効果でした。 驚いたことに、私は周りの多くの人がローバーについて何も聞いていないか、3Dプリンティングはすでに手頃な価格のテクノロジーであることに気付きました。
ハードウェア
そもそも、私にとって最も興味深かったのはエレクトロニクスでした。 Arduinoで作られていると言えますが、私はこれに同意しません。 なぜそう思うのか、少し後で説明します。
モデルを作成するために、次の既製のパーツを使用しました。
- ローバーの主な頭脳としてのLinkIt One (79ドル)
- Atmega8 EduBoardマイクロコントローラー上の2つのボード。マイクロコントローラーのプログラミングを教えるために使用します。 モデルでは、そのうちの1つはリモートコントロールに使用され、2つ目はサーボの制御に使用されます(21ドル)
- 4つのHitec HS-485サーボ (58ドル)
- 金属ギア付きMG-90Sサーボ($ 4.5)
- 6個のDCギアモーター 、77 rpm(48ドル)
- WiFiルーターTP-LINK TL-MR3020 ($ 26.7)
- Logitec C210 WEBカメラ(製造されていません)(約20ドル)
- 3つの電圧安定器5V、3A (17.2ドル)
- Turnigy、3S、3000mAh LiPoバッテリー2個(26.4ドル)
- 2つの自家製エンジンドライバー (約7ドル)
計算するのに失礼な場合、それは300ドルを少し超えて出てきます。 ただし、この量は小さなもの、サンプル、エラーなどを考慮していないことを理解する必要があります。
以下に、システム全体の電子機器の条件付きブロック図を描きました。 電力線を赤で、データ線を青でマークしました。
コントロールパネルはUSB経由でPCに接続されます。 コンピューターは、Bluetoothを介してLinkIt Oneに接続され、オペレーターコマンドをブロードキャストします。 LinkIt Oneは、これらのコマンドをモーターとLED制御信号に変換し、ドライバーとトランジスタを介して独立して制御します。
残念ながら、LinkIt One自体は2つのサーボしか制御できません。 したがって、Atmega8マイクロコントローラーのボードは、UARTを介してLinkIt Oneに接続されます。 必要な角度を取り、正確な信号を生成して5つのサーボを制御します。
この回路のルーターはほとんど分離されています。 電源のみが供給され、カメラから画像を送信し始めます。
ローバーにはバッテリーが搭載されています。 バッテリーの直接電圧はモータードライバーにのみ供給されます。 回路の残りのモジュールには、ルーター、ロジック、およびサーボドライブ用の3つの5ボルトコンバーターが使用されます。
カメラ付きのルーターを除くすべての電子機器は、ローバーモデルの「ボディ」内に隠されています。 少し混乱しているように思えるかもしれませんが、実際には、すべてのワイヤを束にまとめると(そしてすべてが準備が整うと)、はるかに正確になります。 モデルの作業を完全に完了するために急いでいるまで。
ちなみに、LinkIt OneがEduBoardに接続する小さなパッチボードを作成しました。 また、電源、信号コネクタ、およびバックライトを制御するためのキーを離婚しました。
ソースをアップロードする予定はありません。 誰もがこのすべてを1対1で繰り返したいとは思わないでしょう。 質問がある場合は、詳細をお知らせするか、興味のある資料を転送します。
制御盤
リモートコントロールは、同じEduBoard 、そのシールド、および2つのジョイスティックに基づいて組み立てられます。
シールドにはすべてのコントロール、つまり2つの可変抵抗器、2つのボタン、2つのトグルスイッチが含まれます。 両方のジョイスティックが接続されています。 これらすべてのデバイスからの信号は、マイクロコントローラADCの6つのチャネル、2つのデジタル入力、2つの外部割り込み入力によって処理されます。 受信したデータは正規化され、プロトコルにラップされ、FT232RLを介して10 Hzの周波数でコンピューターに送信されます。
リモコンの本体は3Dプリンターで印刷されます。
火星探査機本体
この3年間で、2回やり直しました。 当初はグラスファイバーでできていましたが、そのメカニズムは非常によく考えられていませんでした。 それから私はプレキシガラスからそれを作った。 うまくいきましたが、見た目がひどかったので、誰にも見せませんでした。
プロジェクトの作業におけるターニングポイントは、 Radio Engineering Collegeによる買収でした。RadioEngineering Collegeでは、3DプリンターPrintBox Oneを少し教えています。 その結果、その詳細のほとんどは3Dプリンターで印刷されます。 本体はプレキシグラスでできており、「ヘッド」のカバーはグラスファイバーでできています。
さらにいくつかの写真
私はよくSketchUpで描きます。 SolidWorksでは、私の友人であるプロのデザイナーによって、もう少し複雑なホイールの設計図だけが準備されています。 NanoCadで作成されたプレキシガラス切断ファイル。 ローバーの製造を開始する前に、仮想モデルを作成しました。 3D印刷およびプレキシガラス切断用のすべてのプロジェクトファイルがthingiverse.comにアップロードされます 。 他のプロジェクトに適用できる便利な部分がかなりあります。
私の意見では、かなり良い結果が得られました。 それは非常に不均衡ですが、それに魅力を加えます。 妻は一般的に彼は谷のように見えると言います。
すべての機械部品はベアリングを介して機能するため、ヘッドとマニピュレーターの部品を保持するためにサーボに負担がかかりません。 サスペンションはリモートでオリジナルの機能を繰り返すことはありませんが、ローバーが小さな障害を克服できるようにします。 プラスチックの車輪は、ラミネートの床にはあまり効果的ではありませんが、陸地や砂地では素晴らしいと思います。 予備のホイールを印刷したらすぐに試してみます。
ソフトウェア
ここでは、これがArduinoだとは思わない理由について説明します。 ローバーモデルには合計で4つのプログラムが使用されます。
Cで書かれた最初のものは、リモートで実行されます。 私はすでにその機能について上記で書いた。
PC用の2番目のプログラム。 Pythonで書かれています。 当初は、コンピューターがコマンドを受信し、再カウントし、処理済みの形式でローバーを送信することが計画されていました。 その結果、LinkIt Oneはすべての計算に関与し、Pythonスクリプトはリモートコントロールから受信したバイトのみをBluetoothデバイスにリダイレクトします。
LinkIt OneはC ++でプログラムされています。 PCからパケットを受信し(リモートフォームとまったく同じ形式に到達)、モーターとバックライト自体を制御し、サーボの角度を再カウントしてサーボコントローラーに送信します。 エンジンのコマンドは比例コントローラを介して実行され、スムーズな制御を保証し、エンジンの回転方向の急激な変化の可能性を排除します。
Cで記述された4番目のプログラムは、サーボを制御します。 UARTからコマンドを受け取り、すでに説明したアルゴリズムに従って、サーボドライブの制御パルスを生成します。
このすべてのソフトウェアにより、けいれんなくスムーズに管理できます。 少しの訓練で、私は自信を持って床から物を集めました。 それは特別に少し「抑制され」て慣性的に作られています。 サーボが最大速度でぴくぴく動くと、見た目はずっと悪くなります。
お気づきかもしれませんが、私はarduinoとそのブートローダーとのハードウェア互換性を使用していますが、プロジェクトのコードはProcessing / Wiringで書かれていません。 したがって、私はこれがアルドゥイノクラフトであるとは思わない。
リクエストに応じてソースコードを共有することもできます。 そこだけでたくさんのハルコダを掃除する必要があり、マニピュレーターの数学を改良する予定です。
ビデオ転送
OpenWrtファームウェアがルーターにインストールされています。 オンにすると、ルーターはアクセスポイントを作成し、ビデオをブロードキャストするページを持つWebサーバーを起動します。
私のファームウェアでは、QCIF形式(176x144)で毎秒5回のフレームレートで最高の品質が得られます。 これは非常に小さいですが、アパートの周りを運転するのに十分です。 もちろん、周波数や解像度を上げることはできますが、その後、beatられたフレームはスキップし始めます。
これは、元の解像度で頭部からの画像がどのように見えるかです:
仕事のビデオ
これが私のローバーモデルの外観と動作です。
thingiverseの少し前のビデオ:
そしてもう一つ。 アイドルサービスではあるが、障害を克服する場合:
結論の代わりに
もちろん、まず第一に、私は仕事のために使用しなかった多くの技術に慣れるためにこれをすべて行いました。 このモデルが、スペースと3Dプリントの愛好家にとっても興味深いものであることが判明したことは、特に素晴らしいことです。
プロジェクトの作業中に、散在する多くの情報が蓄積されており、Habrに関する私の研究の一部を共有できます。 私はこの機会に、これがどれほど面白いかについていくつか質問をします。