電気設計

概要

制御部のイメージは図のようになります。
Mega2560,Ramps1.4,Pololuはプリント基板の呼び名ですが、親ガメと子ガメの関係で積み上げられています。
電源はDC12Vです。これはAruduinoに供給する電圧の制約があるからです。
Pololuはステッピングモータドライバーです。ステッピングモータの数必要です。ここではX軸、Y軸、Z軸、エクストルーダ―の4個を使用しています。

配線はステッピングモータ以外に

  • 原点検出用リミットスイッチ(3か所)
  • ヒートベッド(ヒーターとサーミスター)
  • エクストルーダ―(ヒーターとサーミスターとファン)
    があります。大したことないでしょ!

画像の説明

Arduino

Arduinoはオープンソースの電子機器開発プラットフォームです。
Arduino Board (プリント基板)とArduino Software(IDE)(プログラム開発用ソフト)から成り立っています。

Arduino Board はアトメル社のAVRマイコンを使っています。
Arduino Board にはブートローダーが書き込まれています。このブートローダーがソフト開発を容易にしています。
USB接続でプログラム(Sketchと呼んでいます)を転送できたり、入出力の定義を簡単にできるのはブートローダーがあるからです。

Arduino Board単体では入出力(スイッチでON/OFFするとか、LEDを光らせるなど)の機能がありません。
そのため、配線を引っ張り出したり、外付けのプリント基板(Shieldと言います)を用意して目的の機能を追加する必要があります。

ここで使用するArduino Board はMega2560R3 です。
http://www.arduino.cc/en/Main/ArduinoBoardMega2560
に詳細がありますが、理解できなくても製作に支障はありません。
購入時にすでにブートローダーが書き込まれています。
単独で使う時には推奨値でDC7~12Vの電源供給が必要です。(シールドRamps1.4を取りつけた時は、Mega2560R3への電源供給の必要はありません)

Arduino Software(IDE)は
http://www.arduino.cc/en/Main/Software
で無償でダウンロードできます。

RepRap

3Dプリンターで良く使われているShieldはRepRapというコミュニティーが開発したRampsです。
http://reprap.org/

日本語もありますが、部分的にしか翻訳されていません。
http://reprap.org/wiki/RepRap/ja

RepRapのホームぺージには3Dプリンターを作るのに必要な技術が詳しく書かれています。わからない時には助けになります。
ただ、英語であること、マニアックな名称が多いこと、バージョンが多くどれが相当するのかわかりにくいなど戸惑うことが多いというのも事実です。

作って動かす上では詳細が分からなくても大丈夫です。配線を間違えないことに細心の注意を払いましょう。

実際の組立

使用する制御基板を並べてみました。
左から Mega2560R3 RAMPS1.4 Pololuです。
RAMPS1.4のPololu取付のところにジャンパーを付けています。これはステッピングモーターの分周を決めるためのものです。
Pololuにはヒートシンクを接着しています。
画像の説明

Mega2560R3 と RAMPS1.4の組立はたくさん並んだヘッダーをソケットに差し込むことで行います。ヘッダーが曲がっていることがあるので、まず目視で確認して、曲がっていたら修正して下さい。
こんな感じで入れていきます。
画像の説明

挿入完了した状態はこんなです。
画像の説明

その後、Pololuを挿入します。
方向と位置に注意してください。
3個連続するのが、X軸、Y軸、Z軸用で、1個あるのがエクストルーダー用です。
エクストルーダー用はずらしても取付できるので、特に注意してください。
出来上がりがこのようになります。
全体の配線図

機器の配線

RepRapのホームぺージの図を借りて、製作する3Dプリンターの配線を描いてみました。
変更した点は、

  1. ヒートベッドのLEDを1つにした
  2. エクストルーダーを1つにした
  3. ファンを付けた
  4. Z軸のステッピングモーターを1個にした

なお、SDRAMPSはSDカードを使う場合に必要になりますが、PCを使うことを前提としていますので、なくても問題ありません。

画像の説明

ステッピングモーターの配線

ステッピングモーターは秋月電子で購入したSM-42BYG011(バイポーラー)を使っています。配線はバラ線になっているので、コネクターを購入してヘッダーに挿入できるようにする必要があります。
配線が対称になっていることに注意してください。このようになっていることで、コネクタの接続を反対にするとモーターの回転が反対になります。モーターの回転方向の変更はスケッチの設定でも出来ます。

画像の説明

ステッピングモーターの動作確認

配線の中で一番心配なのがステッピングモーターです。
正しい事を確認するのは動作を確認するに限りますが、最初からMarlinで動かそうとすると動かない時にどこが悪いかわかりません。
StepperTest.ino というスケッチを使うと単独の動作確認が出来ます。
オリジナルはすべてのステッピングモーターが動作するようになっていますが、X軸だけ動作するように簡素化して見ました。
400パルスごとに正転と逆転を繰り返すだけですが、設定値を変えることでいろいろなことが分かります。

  1. パルス幅の設定で速度が変わります
  2. パルス数の設定で回転する角度が変わります(分周しなければ400パルスで2回転)
  3. 分周設定(POLOLUの下のジャンパー)の変更で回転する角度が変わります(8分周すると90度)

更に、パルス幅を小さくしていくと、音はしますが回転しなくなります。これは脱調という現象で、ステッピングモーターが持つもっとも大きな欠点です。
脱調しない範囲で使用するためには、以下の対応が必要です

  1. 加減速時間を大きくする(このスケッチではできません)
  2. 速度を落とす(パルス幅を大きくする)

テスト用スケッチ

Pololuに入力される信号をオシロスコープで見るとこんな感じです。

オシロスコープ

動作中の動画を見てください。電流もわかるようにしています。回転中より停止中の方が電流が低いことが分かりますか。