Pc-Trace

<< 2025年3月 >>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31






Pc-Trace
PC-Trace

< next 最新の記事 prev >

「AxiDraw」製作再開 その3

2からの続き。

パーツ不足のため、なかなか完成まで漕ぎ着けない。
「EggBot」のモーターを取り外し、先にこちらの組み立てを優先することにした。

基板側のモーター取り付け


ベルト通し


キャリッジに通すベルトの隙間が少なく、ドライバーを利用すると楽。


ベルトのエンド処理
タイトに張ると、シャフトを引き寄せ、抜け出る可能性があるので、何らかの対策が必要。
ベルトの末端処理は3ミリの鍋ネジを利用した。


急遽、SketchUpで抜け防止のエンドを作成。


これで突き抜ける事は無い。


ボードをマウント。
今回は「SHIELD」を付ける事が出来た。



「AxiDraw」製作再開 その2

「AxiDraw」製作の続き。

本来なら今日で本体が完成していたはずだった。
"だった"・・と言う過去形を使わなければならなくなった理由は長尺ボルトの購入ミス!
山勘が外れ、ボルトの直径寸法を完全に外してしまった。
まぁ、ステッピングモーターの購入がまだなのでそれほど慌てる事も無いが。(言い訳)

反り無しでプリント出来るようになったの良いが、無駄にパーツの予備をプリントするようになった。
無意識にテストしている?


固定ボルト無しでシャフトを仮組み。


シャフトにベース(キャリッジ)を通して・・。


反対側には「UNO」をマウント。(この時点で「SHIELD」無し!)


リニアだけを組むとこんな感じ。
X,Y軸ともよく転がる(表現が適当では無いが)


基板側から
「UNO」の固定は、専用のマウンターに、片側二本のネジで固定する


ベース拡大



「AxiDraw」製作再開

ヒートベッドが完成した事で、また「AxiDraw」の製作に逆戻り。
製品の詳細は、本家サイトで詳しく説明されているので省略。

今回は、製作過程の写真だけを掲載。

本日の組み立ては、Y軸のみ。「ベアリング」と、「サーボ」の取り付けだけを行う。


ガイド付き(つば付き)のベアリングをセット。


シャフト用のベアリングを上下のベーツに取り付け。


両方をクロス(X軸とY軸を90度で交差)させて組み立て、ベースの完成


仮組みしていたペンホルダーにサーボを取り付けるため、一旦分解。


サーボ取り付け完了。
もし、方向が逆ならソースの極性を変更するか、取り付け直すかのどちらか!(当たり前)


リニアシャフトを通してエンドを取り付け、Y軸の完成。
思ったより重量があり、少し傾けると思い切りレールを滑り込んでくるので要注意!


正面から。 

今日はここまで。
何せ進む早さが"カメ"なので。


ヒートベッド、PLAでの有効性も

先月購入したPLAフィラメントの中で、どうしても一つだけプリント出来ないものがあった。

ショップのレビューで、"PLAでは無いのではないか?"と疑問の声が上がっていた商品だったにも関わらず、色が好みだったため気にせず"ポチリ!"

届けられたフィラメントにはしっかりと「PLA」のラベルが貼ってあり、まずは一安心。
早速これまでと同じ「PLA」の設定でプリントを開始。

・・ララ?
テーブルに貼りつかないわ、エクストルーダーが押し出せないほどネバルわで、プリント温度をいつもより20度以上上げる事で何とかプリント出来るようになったものの、面積が広いモデルだったため、三層目あたりから激しく反りだし、続行不能に。
その後、色々と設定を変更してチャレンジしたが、無駄な時間に終わってしまった。
他のメーカーと見分けがつかないほど同じ色でも、質はまったくの別物。

しかし、ヒートベッドを装着した今日より状態が変わった!
(これまで付けて無かった方がおかしいが)
廃棄予定のフィラメントを再度押入れから引っ張り出し、20度以上高目で設定してプリントしていた温度を一般的な値に戻し、ベッドの温度だけを60度近く上げてプリントしてみた。

結果は写真の通り、あっけなくプリント出来てしまった。


これまで、反りが原因で季節待ちだったモデルもことごとくプリント成功。
まだまだ安心は出来ないが、PLAでのプリントにもヒートベッドの有効性は確認できた。


ヒートベッド完成

ゆっくりするつもりが、完成までこぎつけた。

【キャリブレーションを済ませ、真新しいシートを貼って初プリント】
この時点で、まだヒートベッドの配線は済んでいない。



【SketchUpでリミッターの図面を起こし、急遽プリント。】
すでにテーブルを組み立ててしまったため、後付 + 配線も裏側から。
 すべてのハンダ付けを終え、これで完成!




【最初のミス!】
当初、ベッドの半分しか温まらなくて困ったが、全体を加熱するには2と3をショートする必要があるようだ。(電圧は12Vのまま)



プリンターBED作成で、息抜き

ようやくベアリングなどの部品が到着し、3Dプリンターのベッド製作を再開。
丁度良い息抜きだが、ついでにヒーテッドベッドに昇格。

これで造形中の反り防止や、ABSでのプリントが可能になるが、既製品のためベッドのプリントエリアが200×200に制限され、一回り小さくなるという犠牲も伴ってしまった。
(200ミリを超えたプリントは一度しか無かったので良しとすることに。)

これまでのプリントから、ベッド回りの強度が如何に重要であるか経験済みであるため、リニアシャフトや支持ガイド、ベッドの支え等、サイズを一回り大きくして、金属に変更出来るところは変更。
ベッドの土台の四隅はアルミチャンネルを入れて多少の力を込めて曲げても撓まないほどの強度に仕上げた。

サイズが変わった分、リミッターや、ベルト回りのいくつかのパーツを作り変えなければならなくなったが、面倒なのでゆっくりやることにする。

【リニアシャフトを付け替え、ベッドにベアリングを取り付け、テーブルのセットだけ完了。】


【裏側:ベルトのガイドはこれからプリント】



「Arduino UNO」で、GRBLコントローラアプリケーションを試す その5

手順を踏まえず勝手に始めた「GRBL」を試すシリーズ。

素人にとって、結構面倒な事が判ってきた。
疑問だらけの「GRBL」となってしまったが、レーザー、ミル、ペン・・等々、ヘッドに取り付けるオプションが異なれば、「ハードウェア」の違いにあわせた、ソースやアプリの選択もしなければならない。

「GRBL」を利用して、3Dプリンターを「お絵かきマシン」にも「レーザー加工機」にも変化させる事が出来るため、目的を絞らないと、混乱の原因にもなってしまう。

今回、「UNO」に書き込んだ Servo 対応 GRBL の設定事項で分かった事

「UniversalGcodeSender」のコマンドラインや、「GrblController」のコマンドラインに「$$」を打ち込んで表示させたもの。
詳しい説明は他のサイトにお任せすることに。
(備忘録にならないって!)


$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=250.000 (x, step/mm)
$101=250.000 (y, step/mm)
$102=250.000 (z, step/mm)
$110=500.000 (x max rate, mm/min)
$111=500.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=200.000 (y max travel, mm)
$132=200.000 (z max travel, mm)

この設定から分かるように、このまま製作予定の「AxiDraw」を自作して描画を実行した場合、ハードウェアとの整合性がまったく取れておらず、悲惨な結果を招くのは必至である。

幸いな事に、ArduinoIDEを介さず「GRBL」コントロールソフトのコマンドラインから「UNO」への書き込み($100=XXなど)が出来るため、タイミングプーリーの歯数に合わせたステップ調整など、面倒なスケッチを弄る機会は減りそうである。(下の画像)

【ボード(UNO)を接続し、変更値を書込中】



「Arduino UNO」で、GRBLコントローラアプリケーションを試す その4

UNOにUSBケーブルだけ繋いでNCデータをトレースするシミュレーション。

【トレースのシミュレーション。 写真のようにUSBケーブルを繋いだ状態で実行】
UNOには、事前に「GRBL」のファームウェアを書き込んである。



「Candle」を起動し、「Settings」で、接続したUNOのポート番号を指定。
雑だが、細かい設定はまだ出来ないため、そのままトレースだけを実行してみた。



「UniversalGcodeSender」の場合



※上の動画では画面が小さいため、等倍のmp4動画を添付。
添付ファイル 添付ファイル


3Dプリンター 「Sprinter」 から 「Merlin」 へ

破損して到着した「LCD」を引き出しにそのまま放置してあったため、だんだんと手狭になり、利用する方向に梶を切った。

まずは基板がショートしない程度の簡易ケースをプリント。
次にこれまで利用してきた「Sprinter」から、カナ表示をサポートした「Merlin」へ「Firmware」の載せ換え。

「Merlin」での変更箇所が多くて、チェック漏れに気づかずホームポジションへ動作させた瞬間、"ブヒーン!"と言う、当てつけがましい異常音とともにZ軸とX軸が高速で移動し、ストップするなどのトラブルも複数回。

現在、無事に作業を終え、プリントが再開された。

【LCDパワーON】


【無事にカナで表示された】


LCDに表示されるカナメニューの一覧を下に掲げてみた。
結構あるもんだと関心すること頻り。

----------------------------------------------------
// "カードガソウニュウサレマシタ" ("Card inserted")
// "カードガアリマセン" ("Card removed")
// Max length 8 characters
// "メイン" ("Main")
// "ジドウカイシ" ("Autostart")
// "モーターデンゲン オフ" ("Disable steppers")
// "ゲンテンフッキ" ("Auto home")
// "Xジク ゲンテンフッキ" ("Home X")
// "Yジク ゲンテンフッキ" ("Home Y")
// "Zジク ゲンテンフッキ" ("Home Z")
// "ゲンテンフッキチュウ" ("Homing XYZ")
// "レベリングカイシ" ("Click to Begin")
// "ツギノソクテイテンヘ" ("Next Point")
// "レベリングカンリョウ" ("Leveling Done!")
// "トリヤメ" ("Cancel")
// "キジュンオフセットセッテイ" ("Set home offsets")
// "オフセットガテキヨウサレマシタ" ("Offsets applied")
// "キジュンセット" ("Set origin")
// "PLA ヨネツ" ("Preheat PLA")

// "PLA スベテヨネツ" (" All")
// "PLA ベッドヨネツ" (" Bed")
// "セッテイ" (" conf")
// "ABS ヨネツ" ("Preheat ABS")

// "ABS スベテヨネツ" (" All")
// "ABS ベッドヨネツ" (" Bed")
// "セッテイ" (" conf")
// "カネツテイシ" ("Cooldown")
// "デンゲン オン" ("Switch power on")
// "デンゲン オフ" ("Switch power off")
// "オシダシ" ("Extrude")
// "ヒキコミセッテイ" ("Retract")
// "ジクイドウ" ("Move axis")
// "ベッドレベリング" ("Level bed")
// "Xジク イドウ" ("Move X")
// "Yジク イドウ" ("Move Y")
// "Zジク イドウ" ("Move Z")
// "エクストルーダー" ("Extruder")
// "0.1mm イドウ" ("Move 0.1mm")
// " 1mm イドウ" ("Move 1mm")
// " 10mm イドウ" ("Move 10mm")
// "ソクド" ("Speed")
// "Zオフセット" ("Bed Z")
// "ノズル" ("Nozzle")
// "ベッド" ("Bed")
// "ファンソクド" ("Fan speed")
// "トシュツリョウ" ("Flow")
// "セイギョ" ("Control")
// " サイテイ" (" Min")
// " サイコウ" (" Max")
// " ファクター" (" Fact")

// "ジドウオンドセイギョ" ("Autotemp")

// "ジドウオンド" ("Autotemp")

// "オン " ("On ")
// "オフ " ("Off")




// "センタク" ("Select")

// "カソクド mm/s2" ("Accel")
// "Xジク ヤクド mm/s" ("Vx-jerk")
// "Yジク ヤクド mm/s" ("Vy-jerk")
// "Zジク ヤクド mm/s" ("Vz-jerk")
// "エクストルーダー ヤクド" ("Ve-jerk")
// "サイダイオクリソクド " ("Vmax ")
// "サイショウオクリソクド" ("Vmin")
// "サイショウイドウソクド" ("VTrav min")
// "サイダイカソクド " ("Amax ")

// "カソクド" ("Accel")
// "XYジク ヤクド" ("Vx-jerk")
// "XYジク ヤクド" ("Vy-jerk")
// "Zジク ヤクド" ("Vz-jerk")
// "E ヤクド" ("Ve-jerk")
// "maxオクリソクド" ("Vmax ")
// "minオクリソクド" ("Vmin")
// "minイドウソクド" ("VTrav min")
// "maxカソク " ("Amax ")

// "ヒキコミカソクド" ("A-retract")
// "イドウカソクド" ("A-travel")
// "オンド" ("Temperature")
// "ウゴキセッテイ" ("Motion")
// "フィラメント" ("Filament")


// "フィラメントチョッケイ" ("Fil. Dia.")

// "フィラメントケイ" ("Fil. Dia.")

// "LCDコントラスト" ("LCD contrast")
// "メモリヘカクノウ" ("Store memory")
// "メモリカラヨミコミ" ("Load memory")
// "セッテイリセット" ("Restore failsafe")
// "リフレッシュ" ("Refresh")
// "ジョウホウガメン" ("Info screen")
// "ジュンビセッテイ" ("Prepare")
// "チョウセイ" ("Tune")
// "イチジテイシ" ("Pause print")
// "プリントサイカイ" ("Resume print")
// "プリントテイシ" ("Stop print")
// "SDカードカラプリント" ("Print from SD")
// "SDカードガアリマセン" ("No SD card")
// "キュウシ" ("Sleep...")
// "シバラクオマチクダサイ" ("Wait for user...")
// "プリントサイカイ" ("Resuming print")
// "プリントガチュウシサレマシタ" ("Print aborted")
// "ウゴキマセン" ("No move.")
// "ヒジョウテイシ" ("KILLED. ")
// "テイシシマシタ" ("STOPPED. ")

// "ヒキコミリョウ mm" ("Retract mm")
// "ヒキコミリョウS mm" ("Swap Re.mm")
// "ヒキコミソクド mm/s" ("Retract V")
// "ノズルタイヒ mm" ("Hop mm")
// "ホショウリョウ mm" ("UnRet +mm")
// "ホショウリョウS mm" ("S UnRet+mm")
// "ホショウソクド mm/s" ("UnRet V")

// "ヒキコミリョウ" ("Retract mm")
// "ヒキコミリョウS" ("Swap Re.mm")
// "ヒキコミソクド" ("Retract V")
// "ノズルタイヒ" ("Hop mm")
// "ホショウリョウ" ("UnRet +mm")
// "ホショウリョウS" ("S UnRet+mm")
// "ホショウソクド" ("UnRet V")

// "ジドウヒキコミ" ("AutoRetr.")
// "フィラメントコウカン" ("Change filament")
// "SDカードサイヨミコミ" ("Init. SD card")
// "SDカードコウカン" ("Change SD card")
// "Zプローブ ベッドガイ" ("Z probe out. bed")

// "BLTouch ジコシンダン" ("BLTouch Self-Test")

// "BLTouch セルフテスト" ("BLTouch Self-Test")

// "BLTouch リセット" ("Reset BLTouch")
// "サキニ" ("Home") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST

// "ヲフッキサセテクダサイ" ("first")

// "ヲフッキサセヨ" ("first")

// "Zオフセット" ("Z Offset")
// "Xジク ビドウ" ("Babystep X")
// "Yジク ビドウ" ("Babystep Y")
// "Zジク ビドウ" ("Babystep Z")

// "イドウゲンカイケンチキノウ" ("Endstop abort")

// "イドウゲンカイケンチ" ("Endstop abort")

// "カネツシッパイ" ("Heating failed")
// "エラー:ジョウチョウサーミスターキノウ" ("Err: REDUNDANT TEMP")

// "エラー:ジョウチョウサーミスタ" ("Err: REDUNDANT TEMP")

// "ネツボウソウ" ("THERMAL RUNAWAY")
// "エラー:サイコウオンチョウカ" ("Err: MAXTEMP")
// "エラー:サイテイオンミマン" ("Err: MINTEMP")

// "エラー:ベッド サイコウオンチョウカ" ("Err: MAXTEMP BED")
// "エラー:ベッド サイテイオンミマン" ("Err: MINTEMP BED")

// "エラー:ベッド サイコウオン" ("Err: MAXTEMP BED")
// "エラー:ベッド サイテイオン" ("Err: MINTEMP BED")
// "サキニ XY ヲフッキサセテクダサイ" or "サキニ XY ヲフッキサセヨ" ("G28 Z Forbidden")
// "プリンターハテイシシマシタ" ("PRINTER HALTED")
// "リセットシテクダサイ" ("Please reset")
// One character only
// One character only
// One character only
// "カネツチュウ" ("Heating...")
// "カネツカンリョウ" ("Heating done.")
// "ベッド カネツチュウ" ("Bed Heating.")
// "ベッド カネツカンリョウ" ("Bed done.")
// "デルタ コウセイ" ("Delta Calibration")
// "Xジク コウセイ" ("Calibrate X")
// "Yジク コウセイ" ("Calibrate Y")
// "Zジク コウセイ" ("Calibrate Z")
// "チュウシン コウセイ" ("Calibrate Center")
// "コノプリンターニツイテ" ("About Printer")
// "プリンタージョウホウ" ("Printer Info")
// "プリントジョウキョウ" ("Printer Stats")
// "セイギョケイジョウホウ" ("Board Info")
// "サーミスター" ("Thermistors")
// "エクストルーダースウ" ("Extruders")
// "ボーレート" ("Baud")
// "プロトコル" ("Protocol")
// "キョウタイナイショウメイ オン" ("Case light on")
// "キョウタイナイショウメイ オフ" ("Case light off")
// "プリントスウ" ("Print Count")
// "カンリョウスウ" ("Completed")
// "プリントジカンルイケイ" ("Total print time")
// "サイチョウプリントジカン" ("Longest job time")

// "フィラメントシヨウリョウルイケイ" ("Extruded total")

// "フィラメントソウシヨウリョウ" ("Extruded")

// "セッテイサイテイオン" ("Min Temp")
// "セッテイサイコウオン" ("Max Temp")

// "デンゲンシュベツ" ("Power Supply")

// "デンゲン" ("Power Supply")

// "モータークドウリョク" ("Drive Strength")

// "DACシュツリョク %" ("Driver %")

// "DACシュツリョク" ("Driver %")

// "メモリヘカクノウ" ("DAC EEPROM Write")
// "フィラメントコウカン" ("CHANGE FILAMENT")
// "ドウサヲセンタクシテクダサイ" ("CHANGE OPTIONS:")
// "サラニオシダス" ("Extrude more")
// "プリントサイカイ" ("Resume print")



// "コウカンヲカイシシマス" ("Wait for start")
// "シバラクオマチクダサイ" ("of the filament")
// "フィラメントヌキダシチュウ" ("Wait for")
// "シバラクオマチクダサイ" ("filament unload")
// "フィラメントヲソウニュウシ," ("Insert filament")
// "クリックスルトゾッコウシマス" ("and press button")
// "フィラメントソウテンチュウ" ("Wait for")
// "シバラクオマチクダサイ" ("filament load")
// "フィラメントオシダシチュウ" ("Wait for")
// "シバラクオマチクダサイ" ("filament extrude")
// "プリントヲサイカイシマス" ("Wait for print")
// "シバラクオマチクダサイ" ("to resume")


// "コウカンヲカイシシマス" ("Please wait...")
// "フィラメントヌキダシチュウ" ("Ejecting...")
// "ソウニュウシ,クリックシテクダサイ" ("Insert and Click")

// "ソウニュウシ,クリックセヨ" ("Insert and Click")
// "フィラメントソウテンチュウ" ("Loading...")
// "フィラメントオシダシチュウ" ("Extruding...")
// "プリントヲサイカイシマス" ("Resuming...")
----------------------------------------------------


「Arduino UNO」で、GRBLコントローラアプリケーションを試す その3

アプリの準備が整ったところで「jwwcad」のデータから、早速「NC」データの作成にとりかかる。

「NCVC」のヘルプから、データ生成に必要な項目のみ設定する事に。
あくまで「GRBL」のコントロール・アプリケーションでシミュレートできる事が目的。

【jwwcadでの注意事項】
・・と言っても2つだけ。

1..原点を設定するレイヤーに「NCVC」で設定した名前を付ける。
2..図面を書くレイヤーに「NCVC」で設定した名前を付ける。

【最初に「jwwcad」の、2つのレイヤー名を設定しておく】
※少なくともトレース(切削)対象になる図面レイヤーだけでも名前を設定しておく必要がある。


【今回使う、猫戸のモッコを三つ葉でデザインした図面。すでに書き込みレイヤーとして2に移動してある】

サイズと尺度設定が終了したら、そのまま「jww」の属性で図面を保存。


【「NCVC」を起動して「開く」メニューから「jww」データ読み込む】
読み込んだ直後の画面。





ここで「NCVC」の設定を2つだけ。
「オプション」→「CADデータの読み込み設定」から、先に触れた、原点レイヤー名と、切削レイヤー名を設定しておく。
ここでは原点レイヤーに「ORIGIN」、切削レイヤーに「CAM」としてレイヤー名を設定した。


次に、
「オプション」→「切削パラメータの設定」から、NC生成オプションの設定。
まだアプリの詳しい使い方が分からないので、Z軸のアクションと原点の一部だけを変更してみた。


実際の設定については以下のように、ヘルプに詳しく記載されている。

ここで重要なのが切削原点(G92)のZ値とR点,切り込みパラメータの3つです.

図6 は工作機械を正面から見た図, 上下にZ 軸, 左右にX 軸です. ワークをセットしたあと, ワーク平面を基準にZ センサー等でZ 軸の位置決めを行います.
これを切削原点(G92)のZ値とします.Zセンサーの厚みが100mm なら100 と入力です.
センサーでの調整後, 好みの位置に移動させてもかまいません.
無論そのときは移動した座標値を入力して下さい.

次に切り込みですが, イメージ通り. ワークに何ミリ切り込むかという設定です.
最後にR点ですが,これは次のシマ,この例図5 加工条件の設定で言うと「N」を削って「C」に移動するときのZ値を指定します.Z軸の初期位置(原点)で移動してもかまわないのですが,初期位置は高く設定する傾向があるため,効率よく移動できる下限値と考えて下さい.
この設定ではワーク平面上空1mm の所で刃物が次のシマへ高速移動します.



設定が終了したら「ファイル」→「NCデータの生成」と進み、「標準生成」をクリック。
生成したデータの保存先と、NCデータの属性を指定したら一連の作業は完了する。



すべて"おまかせ"の全自動だが、これで本当にNCデータが生成できてしまうのはすごい!。


「NC生成後に開く」にチェックが入っていると、データ生成後、即座に結果を確認することが出来、下ような画面に切り替わる。


・・次はいよいよコントロール・アプリで「UNO」を使った「GRBL」シミュレーションの予定。


「Arduino UNO」で、GRBLコントローラアプリケーションを試す その2

前の続きから

UNO に USBケーブルを接続してドライバーが正しくインストールされたら「XLoader」を使って下の手順でFirmwareを書き込む。

1..UNOと、USBを接続してドライバーをインストール。


2..grblのファイルから「hex」のついたファイルを指定。
※ 通常のCNCとして動作させたい場合、"servo"対応で無い方を選択した方が良いかもしれない。



3..COMポートと、ボーレートを指定して「Upload」ボタンを押す。



NCデータをシミュレートする、GRBL CNCコントロールソフトの起動画面




jwwcadのデータからNCデータを作成する「NCVC」の起動画面


これ等のアプリケーションが揃ったところで、次回は実際にjwwcadを使ってNCデータを作成し、「Candle」でシミュレートしてみたい。

うまく行けば次に続く・・かも。


「Arduino UNO」で、GRBLコントローラアプリケーションを試す その1

予備で購入していた「Arduino UNO」で、GRBL。

「GRBL」が何であるかは、まだ知識ゼロの状態。
CNCの制御に最もポピュラー?なオープンソースの「Firmware」程度しか理解していない。

どうやら「AxiDraw」で必要になるらしいのだが、すでにパーツをプリントしてしまったため、無理にでも覚えなくてはならなくなってしまった。



【準備】(すべてFree)

1..「Arduino UNO」に書き込む「GRBL・Firmware」を下のリンクから。
https://github.com/grbl/grbl

2..「ArduinoIDE」でうまく「UNO」に書き込めない場合は「XLoader」というアプリを使って、解凍した「GRBL」の中の、「hex」ファイルを指定して書き込むと良いらしいので、今回の「Firmware」の書き込みは、これを使用。
http://russemotto.com/xloader/

3..数あるCNCコントロールソフトの中から、画面がシンプルなCandle(キャンドル)を選択。
(AxiDrawで頻繁に登場する「GrblController」も同時にインストール)
https://github.com/Denvi/Candle
http://zapmaker.org/projects/grbl-controller-3-0/

4..NCのデータ作成を簡単なものから始めたいので、JwwcadのデータをCNCデータとして作成できる「NCVC」を使って見ることに。
http://s-gikan2.maizuru-ct.ac.jp/xcl/modules/d3downloads/

とりあえず、この準備のもとにシミュレートを始める事にした。

・・・次に続く。 ・・かも。
添付ファイル 添付ファイル


ちょっと息抜き。 (テーブル作成)

カメな進捗だが、3Dプリンター・テーブルの作り変え。

面積の広い「アクリル」テーブルでは、極端な温度の変化で僅かに歪む事を確認。
プリントする対象が、小型のモデルならそれほど影響は無いが、面積の広いモデルでは角の剥離や反りなどが発生し、精神的に結構なダメージを受ける。

最初でヒートベッドにしておくべきだった。



いつかは「ABS」のフィラメントも試してみたかったので丁度良い機会となった。


「AxiDraw」部品待ち

「ベアリング」に「ドライブシャフト」・・etc。
「AxiDraw」製作のための部品待ち!

少し時間がかかりそうなので、その間に「NC」を勉強する事に。
・・って!、 今更の話である。

後日談になるが、実は「SphereBot」や、「EggBot」、「Eggduino」と言った「Ardiono・Firmware」の動作が Servo 以外、すべてうまくいかなかった。
勘違いの原因は、UNOにSHIELDをセットし、そのまま上記の「Firmware」を書き込めばX,Y,Z,クローン(赤のソケット)のDriverが、うまく動いてくれるだろうという勝手な思い込みによるもの。

これでは過去の"覚え書き"が意味をなさないため、安定した動作と精度が確保出来た今、近日中(怪しい!)に「UNO」と「SHIELD」用に書き変えた、個人用のスケッチを公開する予定。
※無論、利用した場合の保証は無しだが。


「AxiDraw」・製作前の下調べ(今さら・・)

製作当たって、今さらだが、資料の拾い出しから。
販売元によるとV2はすでに生産を終了しているらしいが、製作対象の機種はV2に近い。
http://shop.evilmadscientist.com/productsmenu/858
「Evil Mad Scientist Laboratories」と、「IJ Instruments Ltd」が共同で開発したマシンのようである。

全文英語のため早くも"誤訳"や"誤解"、"ミス"連発の予感。
乗りかかった船では無く、本体パーツの大半をプリントしてしまったため、もはや下船できなくなってしまった。(自縛的手法とも。)

能書きはさておき、Drawingソフトは「EggBot」と同じく「Inkscape」を拡張(Windowなら "C:\Program Files\Inkscape\share\extensions" などのルートに投げ込む、「.inx」や、「.py」などの拡張子の付いたファイル)する事により「AxiDraw」のデータが生成、出力できるようになるらしい。
このあたりは「EggBot」と同じ。

本体の製作を急ぎたいので、取り急ぎ下記の一部のパーツを「Amazon」に発注した。
製作に必要なパーツ
2 nema 17 steppers ()
4 8mm smooth rods (two 400mm-long and two 320mm-long)
8 LM8UU
2 GT2 pulleys
10 F623ZZ bearings
1 micro servo SG90 (plus a 250mm cable extender)
1 Arduino UNO
1 CNCshield
2 Pololu stepsticks
1 GT2 belt ( 1.4 meters long )
2 M10 threaded rods (400mm-long each)
8 M10 nuts
8 30mm M3 screws with nuts
8 6mm M3 screws
4 16mm M3 screws with nuts
4 M3 washers
2 4mm OD, 100mm-long carbon fiber tubes
2 15mm M3 screws
1 12V 2A power supply
1 USB cable

2 の、「Pololu stepsticks」や、「4mm OD, 100mm-long carbon fiber tubes」などは入手が微妙なパーツだが、ボードは Arduino UNO
CNCshield だけで済ませたい。
「4mm OD, 100mm-long carbon fiber tubes」は、uxcell ステンレス丸棒 旋盤バー 丸棒旋盤バイトグレー HSS高速度鋼 ラウンド 4mmX 100mm 5個
を必要な長さにカットして代替品とすることにした。

次回へ・・。


< next prev >