一生、いちエンジニア。一生、いちエンジニア。パーマリンクTweet前回、何も考えずに飛びついたGrblですが。日本語のドキュメントがほとんどなく、英語と格闘すること数か月、ようやく見えてきたのでメモ書きとしてのこします。UNOにファームを書き込みます。Arduinoに任意のHEXファイルを書き込む。Arduinoのブートローダーが使用している分だけ余計にROMを消費するのでしょう。一杯になってしまったのではないかと。StudioでArduinoの6pinから書き込みを行いました。defaultsを使用して書いています。常に新しいバージョンを使った方が良いと思いますが、バージョンが違うと設定できる項目なども結構変わっているようです。($??の番号も変わっていたりして確認した方が良いです。)また、Grblのバージョンがv0.9からスピンドルのピンと制御方法が変更になっていて、単なるON/OFFではなくPWM信号が出るようになりました。作っていた回路はON/OFFでリレーを制御していただけなので、困っていましたが、こちらに答えがありました。S1000M3コマンドでデューティー比100%の信号がでるようで、ONの状態と同じです。スピンドルを動かしたくなく、値だけ設定できれば良いのであればS1000M5です。S1000M5」とコマンドを送っておけば、起動時・リセット時に、自動的にこの設定にしてくれます。パソコン側のソフトですが、ここを見るといくつかあるようです。全てを試したわけではありませんが、見た目でGrblPanelを選びました。起動するとしてConnectすると、Unlock&ALARMが点灯し動きません。Unlockボタンを押すと解除されますが、最初は動かなくてビビります。他のパソコン側ソフトでも同じ挙動なので、Grbl(Arduino側)のプログラムの問題のようです。このソフトウェアの「Setting」タブで設定をするわけですが、ちょいと癖があります。Valueを変更してもそれだけでは、設定がArduino側に保存されません。値の上のセルでダブルクリックをすると変更が保存されるようです。設定コマンドは、詳しくはオリジナルサイト(英語)を見て欲しいですが、以下の用語を頭に入れておくと理解しやすくなります。Homing・・・原点出しの事です。(Home+ing?)travel・・・旅ではありません。距離というニュアンスですかね。以下は、翻訳というよりいろいろ試してみて得た知見ですので、解釈がちがうかもしれませんが、参考に。usec)モーターのパルス間隔の最小時間の設定です。この時間以下の早いパルスを出すことが出来なくなります。ステッピングモータなどは、早いパルスだとトルクが下がり、位置がずれたり止まったりしますので、実機を動かしながら調整するとよいでしょう。$110~$112の最高移動スピードに影響します。msec)一動作から次の動作に移る時の停止時間です。入力信号の反転を行います。Pulseは通常パスルがロー→ハイになるのが反転します。Directionの反転はモーターが思った方と逆に動いた時に使えます。ハードウェア的に配線を変えるなど反転方法は他にもありますが、こちらの方が値を変更するだけで済みますので楽ちんです。bool)よくわかりません。英文を解読してください。Z-Axisの各ピンは、内部プルアップ抵抗を介して常にHighになっています。入力する場合はGNDにショートします。1の時は、入力なしの状態を作り出すのにGNDに抵抗を介して接続します。入力する場合は+5Vをショートします。(Arduinoの一般的な入力方法です)。とここまで書いていますが、1の時に書いてあるような動作になるか試していません。bool)probeピンの入力の反転を設定する。フライス刃先がどの位置にあるのか調整するサイクルの時に、刃物にProbe端子を、接触する接点をGNDに接続し、接触し通電したところを検出する。離れている時に電流が流れず、接触した時に電流が流れる時に、0です。mask:00000011)コントロール基板から、どのステータス情報をコントロールソフトに返すか選択します。全てのステータスを返すにはリソースを消費するので、他のステータスはセットアップ時のみONにして調整が終わったらOFFにするとよいと思います。設定値は、2進数で値をいれ、10進数に変換したものを入れます。100011(2進数)=3(10進数)とし3を設定します。制限ピンのステータス返したい時には、10011(2進数)=19を設定値にいれます。この値以上、円が正確になることはありません。bool)ポジションを管理する単位を変更します。$13=0でミリ、$13=1でインチです。bool)0か1の値です。1だと、入力された値が$130~$132の設定の範囲内での動作かを計算し、外れるようだとアラームを出して停止します。bool)0か1の値です。Z-Axisの入力をハードウェア的にリミット入力に設定します。この入力があると、各軸・スピンドル・クーリアントなど全てが即時強制停止します。bool)0か1の値です。1だと、原点出しが出来ます。サイクルと言うようです。ホーミングは$23で設定した方向に動いて行き、各軸のLimitスイッチが反応するところで原点を出します。mask:11010000)ホーミングを行う動作をプラス方向かマイナス方向で行うかを設定します。00がプラス方向で、1がマイナス方向です。Z軸=1、Y軸=0、X軸=1ならば、101(2進数)=5(10進数)になります。※この値と軸の関係ついて、英語でもドキュメントが見つかりませんでしたので、実測値です。mm/min)2度目に行うホーミングで、一度リミットスイッチが反応すると、ちょっと戻り、このスピードで再度リミットスイッチの場所を計測します。この値を低くすると正確にリミットスイッチの場所を計測できます。mm/min)1度目にホーミングを行うスピードです。リミットスイッチを素早く探すために早くても構いませんが、リミットスイッチを超えてクラッシュしないスピードにします。msec)リミットスイッチのチャタリングを無視する秒数のようです。公式ドキュメントには「5〜25ミリ秒でOK」と書いてあります。mm)ホーミングが終わった後、何ミリ移動するか設定します。ホーミング用スイッチとハードウェアリミットのスイッチを兼用しているので、ホーミングが終わった位置のままだとハードウェアリミットが効いてしまいます。それを避けるために動くんだと思います。step/mm)何パルスで1mm動くかを設定します。1パルス0.72度動くステッピングモーターの場合、一回転するのに、360度÷0.72度=500パルス。ボールねじが一回転で2mm動く場合は、500パルス÷2mmで250パルスになります。mm/min)XYZ軸の最高移動スピードを設定します。$0で設定したパルス幅以下のスピードを出そうとすると、許容オーバースピードで停止してしまうようです。$0の値を小さくするか、この値を小さくする必要があります。mm/sec^2)XYZ軸の台形駆動の加速・減速のスピードを設定します。値が大きい程、急加速します。急加速・急停止すると、本体が大きく揺れますし、ステッピングモータの場合は脱調する事がありますので、程々小さい値にします。mm)XYZ軸の端から端まで最大移動距離をmm単位で設定します。ホーミングした場所を0とし、反対の端までの長さを入れます。bool)が1の設定の場合、ここで設定した値以上に行くと停止します。21:08大変勉強になり、翻訳した後もわかり難いGBRLのマニュアルが更に簡単に理解出来るようになりました。このような記録を残して頂き、どうもありがとうございました。13:00Grblを使うのは初めてだったので戸惑っていたのですが、素早い理解にとても役立ちました。有用な情報の公開ありがとうございます。抜けている説明の部分については以下のような事と思います。$4はステッピングモータードライバーのイネーブル信号を負論理($4=0)にするか、正論理($4=1)にするかの指定です。フォトカプラで絶縁駆動する場合などに正論理が必要になるのだと思われます。$11はコーナーに突っ込む時の減速度合いを与える数値です。アルゴリズムは複雑ですが、設定値が小さいほど大きな減速指向を示します。最適値は実験的に求める必要があります。バッグ、財布、腕時計、ベルト!オークション、楽天オークション、売店、卸売りと小売りの第一選択のブランドの店。私達の勝ち残りの切り札です。当社の商品は絶対の自信が御座います。!◆お客さんたちも大好評です:◆新品種類がそろっています。お客様の手元にお届け致します。豊富な品揃えで最新作も随時入荷致しておりますのでごゆっくりとご覧ください。https://www.cocoejp.com/ProductList1.aspx?TypeId=840830569083478返信コメントをどうぞ返信をキャンセルする。お世話になっております。一生、いちエンジニア。