ついにです。自分の作ったCNCプロッタが、あなたの書きたい画像を読み込んで、自分で書いてくれます。私は、めちゃめちゃ感動しました。Youtubeで見てやってみたい!と思ったことが実現したのです。この感動は素晴らしいです。あなたも是非どうぞ。では、早速いってみます。
まずは、そのきっかけになったYoutubeから。
おぉ~、やはりスマートです。
しかし、私もその一歩手前まできました。残るはあと2つです。
・Z軸の制御
・画像データのGコードへの変換です。
ちょっとというか、だいぶちゃいますね(笑)
Z軸の制御は、Youtubeにもありましたように、ペンの上げ下ろしだけなのと、3軸目は同様なステッピングモーターの制御とは違う方法で動かすようにしたいので、模型用のサーボモーターを使い、モーターで回転するアームを使って直線運動に変換して上下させます。
つぎに、画像データのGコードへの変換は、変換してくれるソフトがあるのでそれを利用して変換します。Z軸の機構は、購入品で買っちゃいました。
尚、コードはカールしていません。また、直動ベアリング部で可動しますが、輪ゴムで引っ張らないとペンは落ちないです。
1.Z軸を模型用サーボで動かす。
案外これが知っていないとできないです。ステッピングモーターの動作のように①移動する位置と②速度を指定すれば動くものではなかったためです。
今回は、ある角度になるように模型用のサーボモーターを動かしたいのですが、モーターは内部に受けた信号である角度まで動かす仕組みになっています。(PWM信号)その信号と仕組みをCNCでの使用の仕方は下記になります。
また、模型用サーボモーターを角度制御する仕組みを分かりやすく紹介されているので詳細を知りたい方は下記URLへ。(制御マイコンはArduinoではありません)
http://diy.ease-labs.com/?page_id=1584
<模型用サーボモーター>
・モーターには制御の周期と動作信号を受け取る時間があるので、その周期を確認して下さい。(SG90なら制御周期 :20ms、動作信号を受け取る時間 :0.5~2.4ms、因みに回転角度は180°)
・動作信号を受けている時間で保持角度が決まる仕組みになっている。信号を出しているその周期の間、ずっと信号を出し続けることをデューティー100%と言いますが、OFFの状態の位置を0°として、止めたい角度にするには何ms信号を出す必要があるか計算する。(動作信号を受けている時間なので、例えば、180°なら2.4ms、90°なら1.2msなどその間、信号を出し続ける必要があります。実際には実機で確認・調整が必要)
<制御(ソフト)>
・Arduinoで動作させるなら、サーボのライブラリで動作させれば、簡単です。
・今回は、PWM信号というパルス出力を出し続ける時間(の長さ)で動作角度が決まるので、その指令方法を探す必要があります。
・探した結果、CNCシールドに対応させるのは、スピンドルの回転出力値であることが分かりました。GrblでいうとS0で0%、S500で50%、S1000で100%ですので角度に変換するとS0で0°、S500で90°、S1000で180°ということになります。
・ダウンロードしたgrbl-masterのconfig.h、cpu_map.h、grbl.hなどを各バージョンで比較すると、1.1hでは、config内の$30でスピンドルの最高回転数をしていしていますが、規定値は$30=1000になっているので、問題無さそうです。
2.画像データのGコードへの変換(inkscape)
Gcode入力で簡単な図形は書けるようになりましたので、次は、好きな画像を取り込んで書いてみたいと思います。
①inkscape をダウンロードとインストール
まず最初に画像を、Gcodeへ変換してくれるフリーのソフトで inkscape がありそれをインストールします。これは、illustratorに近い画像の製作・編集ソフトです。
https://inkscape.org/ja/release/inkscape-1.0.1/
Windows、Macなど選んでダウンロードしてください。
②図形の書き方と画像の変換
ダウンロードしたら、操作の方法ですが、分かりやすいYoutubeサイトを見つけたので、そちらを参考にしてみて下さい。(ソフトの操作は、動画+音声での説明の方が分かりやすいので)
簡単な図形 :https://www.youtube.com/watch?v=Ru1RGRVA3OY
書きたい画像の変換 :https://www.youtube.com/watch?v=vtqtqGHeUaQ
こちらのサイトでも2Dプロッタということで同じようなプロッタの製作方法を動画で紹介されています。動画なので分かりやすいと思いますので、参考になると思います。
③Z軸のGcode 修正
保存された、.ngcファイルを修正して、動作できるコードにします。
修正ポイントは下記です。
拡張子、.ngc を .txt へ変換してメモ帳で編集して下さい。
・おまじないの追加。
・Z座標の削除。
・Z軸(ペン)の動作に関するGcodeの追加。
・不要な情報の削除。
画像から作成されたGcodeと修正後のコードの一部を記載します。
G1,M3などポイントのGcodeは以下のサイトにあります。(参考まで)
https://www.senban.jp/ktech/29.html
以下、Z軸のGcode 修正 について。
ついに完成!文字のバージョンを実際に書いているところです。
最後に手書きで書いた絵を読み込んでプロッタで書いてみました。
ついに、書けちゃいましたね。
出来上がったら最後に、いろいろ書こうと思っていたのに、なぜか真っ白です。まだまだ終わってないという意味かも知れません。
AI,IoT,Technology,You Can Do It! つづく。