おもちゃドクターの電子工作2 「自作USB_CNCフライス盤」のページへ ようこそ!
本体も制御ボードもアプリも全て自作の「USB_CNC Machine」の概要を掲載しました。(2017年3月)
●おもちゃ部品製作を目指して工作精度のため、Machineの剛性UPとソフトの改良を行いました。(2018年2月)
PIO_PC 実行プログラムファイルを公開しました。(2020年5月)
USB接続について補足しました。(2021年2月)
Machin本体を改新しました(2021年4月)
スピンドルモータを更新し「自作USB_CNCフライス盤」に改名しました。(2022年1月)
X軸出力幅を200mmに拡幅しました。(2022年3月)
NCデータ.ncd>.csvの変換プログラムを改訂しました。(2023-12)

PC/Home おもちゃドクター活動に戻る おもちゃドクターの電子工作に戻る

自作USB_CNCフライス盤
番号・名称・写真・完成年月
EC036DR3
USB_CNCフライス盤

2017-03初版
R2:2018-04改訂1.1
2021-4 本体改新
R3:2022-1スピンドルモータ更新
2022-3 X軸拡幅

IMG_3568-(2)c.jpg .
○システム全体

_フライス盤エンドミル加工出力
IMG_3572-(2)c.jpg


_プロッタ・ペン出力
20220124_014402218_iOS-(2)c.jpg
ペン出力YouTube動画

●CAD作図から加工まで

1)JW-CADで加工図形(.jww形式)を作図
(アウトラインフォントも含む)
2)NCVCでGコードのNCデータ
(.ncdまたは.nc形式)を作成
または、
1)Fusion360のスケッチ、製造で3DCAM図作成。
ポスト処理でGコードデータ(.nc)作成。

3)PerlでNCデータ(.ncdまたは.nc形式)を
(.csv形式)にデータ変換


4)Excelでアプリが読み込み可能な
(.csv形式)データに加工
(不要コメント行の削除、および
スピンドルモータのON,OFF追加など)


5)開発アプリケーション
PIO_PC_Host.exe(2018_02)で
図形データ(.csv形式)を読み込み、

6)USB経由でPC画面から加工出力
終了は自動停止。






cnc_douga20220131-1.jpg
加工出力YouTube動画


image-denkou2016/IMG_5442c.jpg
CNC加工 ワシミミズクのコースター(2023-12)

Top

特徴
自作USB_CNCフライス盤概要
マシン本体:自作。
x軸、Y軸、z軸 : ステッピングモータ3台。
スピンドルモータRS775DC24V20000rpm80Wに更新(2022-1)。
また独自のZ軸に装備したペンで実加工前のプロッタ作図で加工形状が確認ができる。
リモートPIOボード:自作。
パソコンとUSB接続し、PIC経由ステッピングモータ駆動ICおよびスピンドルモータのON-OFFを制御する。
アプリケーション:自作。
パソコンで制御する開発PIO_PC_Hostアプリケーションプログラム(汎用USBクラスMCHPUSB)を使用。
取り込みデータは*.csv形式。
○電源:制御:DC5V(12Vより降圧)、ステッピングモータ駆動:DC12V3A、スピンドルモータ駆動:DC24V5A

開発 汎用USBクラス・VisualC++アプリケーション
(PIO_PC_Hostアプリケーション(汎用USBクラスMCHPUSB))

PC操作Form画面
USB-CNC_Machine_PIO_hostMCHPUSB_2017_03.jpg

操作説明画面
PIO_host_sousa.jpg

Gコード入力登録画面
USB-CNC_Machine_PIO_host_GcordWindow_2018_02.jpg

_開発VisualC++アプリケーションプログラム:PIO_PC_Host.exe(2018_02)

○パソコンのWindows操作Form画面で出力データの追加・変更・削除の編集と・File保存ができる
コマンド:G90,G00,G01,G02,G03,M03,M05
データ:X,Y,Z,R,I,J

○Windows画面でX,Y,Z軸およびエンドミルのマニュアルon-off運転ができる

○Windows画面でデータに従った自動Step出力運転ができる
①File保存データ(*.csv)または変換Gコードデータファイル(*.csv)を FileOpen して、
②尺度(原寸1または拡大・縮小の任意スケール指定が可能)を入力し、
③Step出力(自動運転で)プロッタ出力またはフライス盤エンドミル加工ができる

・入出力制御フローチャート:FlowChartR3.pdf

製作で参考にした「PICで楽しむUSB機器」の著者に確認し、
PIO_PC 実行プログラムファイルは公開が可能になりました。(2020-4)

プログラムファイル(zip)ダウンロード
○アプリ実行時のUSB接続について
Microchip Custom USB Deviceのドライバは¥Microchip Solutions v2011-06-02\USB\Device-MCHPUSB-Generic-Driver-Demo\Driver and infフォルダからインストールできます。(2021-2)

製作参考資料
1)技術評論社「PICで楽しむUSB機器」(自作のすすめ)後閑哲也著
2)秀和システム社作って覚える「VisualC++2010Express入門」宮崎昭世、荻原裕之著
3)サンケン電気SLA7026M、SLA7078MRT、SLA7070MPRTシリーズ・アプリケーションノート

開発 Perlアプリケーションによるデータファイル作成
JW-CAD NCVCアプリ Parlアプリ データファイル
○先ず、パソコンでJW-CAD等でCADデータファイル(*.jww)を作成する。
>次に、NCVCアプリでCADデータファイル(*.jww)からGコードNCデータファイル(*.ncd)を作成する。
>次に、開発Perl アプリ(PerlScript) gcc01r2.plで (*.ncd)をPIO_PC_Hostアプリで読込可能なGコードデータファイル(*.csv)に変換する。
・Perlアプリ:gcc01r2.pl
(r2:Z軸も小数点以下表示に改訂/2023-12)
>PIO_PC_Hostアプリで読み込み出来ればOK!
・サンプル
:外字フォント"岳彦"
take+.csv(.pdf)
:円弧描画例
CAMdaruma.csv
(.pdf)

製作参考資料
1)(株)オーム社 いまからはじめる「NC工作」JW_CADとNCVCでかんたん切削 眞柄賢一著
2)ActiveState社 「Active Perl」
3)Perl基礎入門 http://www.kentweb.com/perl/


Fusion360&Perlアプリケーションによるデータファイル作成2
Fusion360 Parlアプリ データファイル
○パソコンでFusion360のポスト処理で、 3DCAM Gコードデータ(*.nc)を作成する。
>次に、開発Perl アプリ(PerlScript) gcc01r2.plで (*.nc)をPIO_PC_Hostアプリで読込可能なGコードデータファイル(*.csv)に変換する。
・Perlアプリ:gcc01r2.pl
(r2:Z軸も小数点以下表示に改訂/2023-12)
>PIO_PC_Hostアプリで読み込み出来ればOK!
・読み込む前に、G90,G00,G01,G02,G03,M03,M05以外の行は本機にない機能なので削除も可です。




本体・主要部品・回路・プログラム
USB-CNC Machie本体およびリモートPIOボード
○2号機スピンドルモータ更新、構造改造(2022年1月)
1)本体構造:木製。
本体設計図(.jww)(改造前)
ステッピングモータベース(.jww)
★3DプリンタガイドレールセットKP08 SK8 SC8UU(中国製)3組
・T8リードスクリュー ピッチ1mm SUS、ネジナット ピッチ1mm 真鍮
・リニアシャフト光軸:φ8*200mm GCr15 ・リニアブッシュ:SCS8UUリニアモーションボールベアリング
・ベアリングφ8
・ナットハウジング アルミ
・カップリング アルミ φ8/φ5 2個使用
★リニアブッシュは一部日本製THK SC8UU LM CASE UNITに置き換え
2)ステッピングモータ:動力DC12V(ユニポーラ):ST-42BYG020 3台(秋月電子通商)
・カップリング:プラスチックモールドカップリング GJタイプ G2J 8-5 1個(アサヒ電子工業)
3)ベースプレート:AFS-1590-6-200(エヌアイシ・オートテック株式会社製)
4)RS775 DC MOTOR 24V/20000rpm 12V10000rpm 80W
5)リミットスイッチ6個

○構造改造:X軸出力幅100mmを200mmに拡幅(2022年3月)
★拡幅 ・T8リードスクリュー ピッチ1mm*300 SUS、リニアシャフト光軸:φ8*300mm(2022-3)

20220311_052040610_iOSc.jpg



○リモートPIOボード:
1)PIC18F14K50使用USB対応超小型マイコンボード(12MHz水晶振動子付):クロックおよび軸回転方向信号出力
2)レギュレータ:NJM7805:操作電源用
3)マイコン:PIC12F683 3個:フェイズ信号発生
4)ステッピングモータドライバー:SLA7026M 3個:2相ステッピングモーターユニポーラ駆動用IC
5)SSRリレー:S108T02、トランジスタ:2SC1815:ルータ駆動用

○回路
1)*回路図1/2(.jpg)
2)*回路図2/2(.jpg)
3)*USB_CNC_Machine基板図(.jpg)

○開発 PIOボード実装

右がPIOボード、左がスピンドルモータ速度コントローラ

MG_3371-(2)c.jpg

○プログラム
USBGenericDevice

1)開発リモートPIOボード:main関数・ユーザアプリ部(.pdf)
2)開発リモートPIOボード:HardwareProfile.hファイル(.pdf)

PIC12F683
3)開発リモートPIOボード:683ドライバー.cファイル(.pdf)

製作参考資料
1)技術評論社 「PICで楽しむUSB機器」(自作のすすめ)後閑哲也著
2)ioioのホームページ
3)サンケン電気SLA7026M、SLA7078MRT、SLA7070MPRTシリーズ・アプリケーションノート
経歴
開発・整作の経緯リンク

製作後記④:USB機器としてのプロッタ・ミル(2015-5)

製作後記⑥:「USB_CNC工作マシン」(2016-12)

製作後記⑦:「USB_CNC Machine」

1.○2016年12月に一段落で更新した際、出力精度が今一つ不満足だった。
また、USBではなくRS232Cのシリアル通信によるCNCマシンが業界のオーソドックスな制御らしいことはこれまでに解っていたが・・・。
精度に関係のあるステッピングモータ駆動は、当初から、ダーリントントランジスタを4個x3で12個、電圧はDC5Vを使ってきた。
そこで、ステッピングモータについていろいろ調べているうちに、精度はクロック制御との関係で解決できると考えた。 すなわち、汎用USBクラス制御では含まれていないクロック信号をリモートボードのPICで発生出来るなら、何とかなりそうと考えた。 さらに将来の発展性を見込んで、ステッピングモータ駆動は専用ICを使うことにした。
これらの専用ICはDC12V以上を採用しており、秋月電子から駆動ICと12V用ステッピングモータを調達。
ステッピングモータはユニポーラ ST-42BYG020、ICはSLA7026MとSLA7078MRTを選定。
ソフトは「ioioのホームページ」を参照させていただき、ステッピングモータの駆動がより安定するとされる1-2相制御として、PIC12F683にプログラムした。
あれこれ苦心の結果、PIC12F683を使ってどちらのICでもPICの発生クロック信号による駆動に成功した。
そこで、クロック信号はPCからの指令でリモートIOボードのマイコンPIC18F14K50から発生させることにし、プログラムした。 クロック信号については、2相制御だとモータ1回転は200ステップだが1-2相制御だと400ステップになることも理解できた。つまりクロックが400パルスでモータ軸1回転である。
PIOボードのICは、マイコンPIC18F14K50、PIC12F683およびフェイズ制御用のLSA7026Mを使って回路を設計し、PIOボードを制作した。
ボード回路は以前使ったフォトカプラPL621は無駄と判断してこれを省略しコンパクトになった。PCホストプログラムは修正と簡素化など細部の変更をした。 (2017-03)

〇年が改まってから思い立ち、 Machineの精度レベル向上のため、リモートIOボード側アプリを改訂し、PCからの1信号で10パルスを発生して0.025mm移動するレベルに変更した。 (自作マシン本体の軸移動はM6ネジを使っており1回転400パルスで1.0mm、1パルスで1/400mm=0.0025mmとなる。)
また、Machineの剛性を向上するため躯体を合板型に改造した。カップリング、軸受を変更し駆動部も改造した。 その結果、作画・工作精度は4倍以上向上した。


2.○初号機本体(2018年2月製)
1)本体構造:木製。
・スライドレール:リニア型多目的スライドレール240mm
・リードスクリュー:M6長ねじピッチ1.0mm 3式
2)ステッピングモータ:動力DC12V(ユニポーラ):ST-42BYG020 3台(秋月電子通商)
・カップリング:プラスチックモールドカップリング GJタイプ G2J 6-5 3個(アサヒ電子工業)
・フランジユニット:SFB30-6 5個(シミズ精工)
・セットカラー:M0605 6個(モノタロウ)
3)ULC140ウルトラルータ(AC100V)1台(Maxima)
4)リミットスイッチ6個

20180118_052946270_iOSc.jpg


PC側アプリ改良では、Perlアプリgcc01.pl とVisualC++アプリPIO_PC_Hostを改訂し、 NCVCアプリで作成した(*.ncd)ファイルを、(*.csv)に変換して、問題なく任意の円弧が描けるようにした。(2018-02)
○電子回路プリント基板を制作しホール出力データを利用してドリル孔加工を達成した。(2018-04)
開発VisualC++アプリケーションプログラム:PIO_PC_Host.exe(2018_02)ファイル(zip)について、もしご評価をいただけるなら、 メールにて井上岳彦までお願いいたします。(2020-4)



3.○2号機本体(2021年4月製)

PROXXON ハンディマルチルーター使用
仕様:AC100・50/60Hz、定格15分、50W、ドリルチャック~φ3.2mm、8000~18000rpm

20210409_064056130_iOS-(2)c.jpg

4.○2号機本体改造(2022年1月製)

スピンドルモータ更新、構造改造
/IMG_3364-(2)c.jpg

IMG_3369-(2)c.jpg

・スピンドルモータ更新・改造後、X軸出力幅が100mmであることに多少の物足りなさを感じ、2022年2月に出力幅200mmへの拡幅に踏み切った。


Top

(注記) このページは予告なしに更新することがあります。 ここに掲載した内容は個人の趣味によるものであり、参照によって生じる問題または不具合一切については、何ら責任を負うものではありません。
また、回路およびプログラムの学習および作成に関し、無償のプログラム・データ等をご提供頂いたweb sightに感謝いたします。
もし、お問い合わせ等がありましたら メールにて井上岳彦までお願いいたします。