Pc-Trace

<< 2025年7月 >>
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」 ついに完成! そして初プリント

結局、ソースを見つける事ができずに、自力で解決。(根性無し!)

描画対象は10年ほど前に蒔絵用として描いた「天人」を選択。
時間をかけて幾度もテストしたくないので、最初から細々した絵で試してみる事に。

今回、テストするベクトルデータ。
10年ほど前に蒔絵用として「Illustrator」で起こして、そのままだった。



「GrblController」で読み込み、「Begin」!
コマンドラインから、「UNO」への書き込み変更は6ヶ所。
※設定は次回変更まで保持されるため、初回だけ。
$100=80.000 (x, step/mm)
$101=80.000 (y, step/mm)

$110=3000.000 (x max rate, mm/min)
$111=3000.000 (y max rate, mm/min)

$120=300.000 (x accel, mm/sec^2)
$121=300.000 (y accel, mm/sec^2)





紙を引きずり回し、素人丸出しのプロット(汗;)
ペン調整では予測を外してしまったが、描画については思惑通り振る舞ってくれた。

初テストで書き上がったものがこちら。
紙とボールペンの相性が悪く、次第に薄くなっていった。
(天人の顔の一部はインクがのっていない。)


この後100×100のボックスを描画し精度をチェック。
全くの誤差無しで、「AxiDraw」はこれで完成!。
分解能は0.1ミリ程度。
「EggBot」と比較すると断然精度が高い。

※添付ファイルは 704×400 サイズのmp4 動画

添付ファイル 添付ファイル


「AxiDraw」製作再開 その5

ハードウェアより厄介なのがソフトウェア。

「GRBL」での制御を、個人的には大きく2つに分けて考えている。
「AxiDraw」を駆動するには2つのモーターと、一本のベルトでX軸とY軸を自由に制御するための「CoreXY」という方式が必要になる。

通常のNCであればX軸とY軸を独立した軸として考えるので、理解しやすい上、「GitHub」などで公開されている「GRBL」のソースもそのまま利用出来る。

素人の説明は往々にして間違っている場合があるので、動きや理論に関して、詳しくは下のリンクを参考にしてほしい。

形は異なるが同じ駆動方式の「CoreXY」系の説明動画を「YouTube」で見つけた。


「YouTube」から、スクリーンショット
https://www.youtube.com/watch?v=8WLZ8OesMF4


デカルト座標について直交座標系

ハードは完成間近だが、「AxiDraw」をうまく駆動出来るソースを半月探し求めて、未だに見つけられずにいる。
このままだと、また勝手で強引な手法を取らざるを得なくなりそうな予感がする。


「AxiDraw」製作再開 その4

3から続き。

ベース(キャリッジ)部分のベルトの様子


モーターに取り付けた20歯のタイミング・プーリー(GT2)
歯の数に合わせたソフト側の調整が必要になる。


ボートを取り付ける側の、シャフトの端を2センチ程度出しておく。


グリップ(黄色のパーツ)に取り付けたボードをマウントした状態


横から


ボード側モーターのプーリー


本体全体を上から


サーボ側のヘッドは未実装


本体の完成度は9割程度。
モーターを接続するケーブルも不足している。


「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」については、いまだ知識ゼロの状態。

「AxiDraw」が完成した際、制御用のコントローラーに書き込んで使用する。
すでにパーツをプリントしてしまったため、無理にでも覚えなくてはならない。



【準備】(すべてFree)

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

2..「ArduinoIDE」でうまく「UNO」に書き込めない場合、「XLoader」を使用して「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/

とりあえず、シミュレート開始!

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


< next prev >