i0kyoto’s diary

Creator Pro・Fusion360・ルアー・Co2レーザー

3.1.ノイズ対策とGRBL設定(X軸移動距離のみ)

こんばんは。

 週末は完璧にトラブルシューティングで進捗はあまりなしです。
前回に起こったリミットスイッチのノイズ対策なんですが、以下のサイトで動作実績があるようです。

■ノイズ対策
 1uFに近いコンデンサを探すために部屋がひっくりかえりました(笑)
テスターでの動作確認ではノイズはほとんどないようです。
やっぱり欲しいなオシロスコープ・・・
さて、ここでノイズ対策についていくつかの選択肢があるようです。
・1uF程度のコンデンサをD9,D10,D12(ArduinoUnoポート)とGNDに合計3つ取り付ける。
・前途したようにフォトカプラーと抵抗を用いた小型ノイズキャンセラーを組み立てる。
・CNCシールドのv3.51を使う。このバージョンはリミットスイッチのノイズ対策がされているそうです。詳細はこちら。

しっかりした製品や他の人に譲る可能性がある場合は回路モジュール作るべきなんでしょうけど、現状の選択肢では一番最初のコンデンサが一番時間的にロスが少ないです。
ただ、これを読んでる少数の人にはCNCシールドのv3.51がお勧めです。

CNCシールドv3.0+grbl v1.1の構成の場合はノイズ対策の他にもピン配置を意識する必要がありまして、知らないとはまる原因になりそうです。まぁ、テスターでポートをチェックしていくといずれ判明するんでしょうけど、わざわざ苦労する必要もないかと・・CNCシールドの v3.51は$20くらいで高いように感じますが、電子回路苦手とか半田コテもコンデンサもないよって方はv3.51がお勧めデス。

 調べる時間とハンダ付け+テスターで確認の時間が結構バカにならない気がします。

www.aliexpress.com

 

■GRBLの設定
 リミットスイッチの問題は解決して、次にやったのがGRBLの基本設定です。
これをやらないと、Gコードが正しくても正しい図柄を切ったり描くことが出来ないからです。下記を参照して、ステッピングモーターとドライバーの設定からX軸の移動距離を設定します。今回はX軸に関するところだけ設定しますが、Y軸・Z軸のほかにワーキングエリアの設定もあります。

github.com

ここで設定したいのはX軸の移動方向($3)、移動量($110)、移動可能量($130)に注目します。$3とか$110って言うのはGRBLで設定する変数のようなものです。詳しくは上のリンクに記述されています。

計算しなければいけないのは移動量です。これは個々のモーター・プーリーベルトが違うと移動量も異なるので個別に計算する必要があります。

Nema17(17HS4401)のデータシートを見ます:

f:id:i0kyoto:20170427130838g:plain


上の図よりステップ角は1.8°なので、360/1.8=200 ステップ/1回転になります。
つまりは1回転するのに200回信号を受けるって言うイメージです。
一方でモータードライバ(CNCシールドのジャンパ設定)で設定しているマイクロステップは1/4なので、
200 x 1/4 = 800ステップで1回転となります。
また、使用しているプーリーは16歯でベルトピッチが2mmなので、
プーリーが1回転すると32mm進む計算になります。
で、求めたいのは1mm進むのに必要なステップ数なので
800(step) / 32(mm) = 25 step/mm
となります。

移動可能量はX軸の幅- (XCarriage幅+ リミットスイッチ棒長さ)で
230mmとしています。

GRBLをシリアルで接続してから
$3=0 → 方向は現状維持(変更したい場合は$3=1)
$100=25
$130=230

続いて

G90 G0 X10
と入力すると・・・
X軸が10mm(1cm)動いてることを確認します。
[写真]
G90 G0 X 20
で、X軸が20mm動いてることを確認・・・
G90 G0 X0
で、X軸が初期位置に戻ることを確認・・・

書いちゃうと当然のことなんですけど、上の計算をやっていなかったのでbCNCの設定をいじったり、Gコードを調べたりで1日はまってました(笑)
リミットスイッチの最終確認方法を考えないとダメなんですが・・・
次は簡易なGコードを記述&bCNCで実行して、X軸動作確認を完了させたいと思います。しかも、レーザー管と電源がもう到着してしまった!Y軸の前にレーザーの試射を行うかもしれません。

まだまだ道のりは長いようです。