おもちゃドクターの電子工作2のページへ ようこそ!
201703IMG_0221.jpg ○おもちゃドクターになった頃、「電子工作で目指すものはX-Yプロッタを作ることです。」と発言したのが自作のきっかけです。
_その実現のために、それ以来趣味として、IC、PICマイコンやオペアンプを知り、アセンブラ、C言語と入門レベルのプログラム開発を学びながら電子工作を続け、 やがてC++入門にも取り組んできました。
○最初はステッピングモータの駆動制御から始め、次にXYの2軸制御、更にXYZの3軸と進み、トレーサも試みましたが、 PIC16F***マイコンレベルでの知識では2軸、3軸の同時駆動制御は困難で、円弧も描けずPIC単独でのプロッタ実機には限界を感じておりました。
○その後、USBでパソコンからPICを制御するシステムに取り組んでから、ようやく進展し、USB-PIO制御のプロッタ・ミルに到達しました。
_更に、独自のシステムのため課題が多くありましたが徐々に解決し、システム精度が向上して好結果が得られたので、USB_CNC Machineとしてページを刷新しました。
_当初からすれば目標は既に達成した感がありますが、CNCはなかなか奥が深くまだまだ興味は尽きません。(2017年-3月)
USB_CNC Machin本体を改新しました(2021年4月)

おもちゃドクターの電子工作に戻る

電子工作2 作品一覧
PIC制御
XYプロッタ
2014-7
PIC制御
XYZプロッタ・ミル
2014-8
PIC制御
XYZトレーサ・ミル
2015-2
USB_CNC Machine 2021-4
YouTube動画(以前)
(本体更新後)

PC/Home






Top

PIC制御XYプロッタ
番号・名称・写真・完成年月
EC033D
PIC制御XYプロッタ
(ステッピングモータ XY-2軸駆動)
628a_xy-2D-controller.jpg
2014-7
201407xy-inoue.jpg
XYプロッタ出図写真
目的・特徴主要部品・回路・プログラム製作参考資料
○ステッピングモータ2台、X軸、Y軸を非同時に順次制御し作画する
○PICメモリのデータを読みだして連続作画する
YouTube動画
○PIC電源:入力DC9-12V>DC5V
○ステッピングモータ電源:入力DC9-12V>DC5V
○計算精度:整数レベル
○作画データ:最大18ステップ
1)PIC16F628A
2)レギュレータ(motor用):NJM7805、
(PIC用): LM78L05A
3)ステッピングモータ(ユニポーラ):
ST-42BYG0506H-4811 2台
4)4MHzセラミック発振子
5)ダーリントントランジスタ:
2SD1590 8個
*回路(pdf)
*Cプログラム(pdf)
1)Ohmsha/
「キホンからはじめるPICマイコン」
(HI-TECH Cコンパイラ)
中尾真治著
2)WEB/「ステッピングモータの制御を学ぼう」(著者:古橋武)
製作後記①:
○スタートはステッピングモータの制御方法を知ることから始めた。ステッピングモータにバイポーラ形とユニポーラ形があることを知ったのもこの頃だった。
市販のキットを買えば簡単に出来たかも知れないが、それでは原理や基本が身につかない。 幸いにもWEBサイトで「ステッピングモータの制御を学ぼう」のページで基本が理解できた。 そこで、ステッピングモータも初めは1台だけ買って駆動制御回路を設計し、ユニバーバーサルで基板を作り、PIC用Cプログラムを作った。 初めてステッピングモータが回った時は感激したものだ。
○こうなれば、手持ちのPIC16F628AではX軸、Y軸まで制御可能とみて、ステッピングモータを1台買い足し、X-Yプロッタを目指した。
○ハードのスライドレールはDIY店で家具の引出し用のレールを見つけ2組を調達した。 送りねじはM6の棒ねじと長ナットを使い、モータとの継手はM6ナットを2個使い5mmx25のプラスチックダボを緩衝に用いた。(最近改造後の構造)
フレームは20mm角材、25x15角材を主に組み、300x450x10の合板をベースに設計して加工しスクリューねじ止めにて組立てた。
○XYプロッタ制御プログラムはX軸とY軸を交互に動かして斜線を引く方法を独自に考えた。斜線を引くと細かいが階段状の折れ線になる。 それでもXYプロッタ制御として作画できた時はまた更なる感激と達成感を味わうことが出来た。(写真)
○折れ線は一筆書きで終わる。そこで、やはりZ軸を追加して自動でペンを上げ下げして移動出来るプロッタへの改造を目指した。

Top

PIC制御XYZプロッタ・ミル
番号・名称・写真・完成年月
EC034D
PIC制御XYZプロッタ・ミル
(ステッピングモータ XYZ-3軸駆動)
873a_xyz_3D-control02.jpg
2014-8
201408-take-1.jpg XYZプロッタ出図写真

IMG_20150528_120355c.jpg XYZミル加工写真
目的・特徴主要部品・回路・プログラム製作参考資料
○ステッピングモータ3台、X軸、Y軸、Z軸を非同時に順次制御し作画・切削する
○PICメモリのデータを読みだして連続作画または切削加工できる
○Z軸の上下によりペンまたは工具先端の移動ができる
YouTube動画
○PIC電源:入力DC9-12V>DC5V
○ステッピングモータ電源:入力DC9-12V>DC5V
○作画精度:整数レベル
○データ:最大15ステップ(PIC16F873A)
最大31ステップ(PIC16F786A)
1)PIC16F873A、または PIC16F876A
2)レギュレータ(motor用):NJM7805、
(PIC用): LM78L05A
3)ステッピングモータ(ユニポーラ):
ST-42BYG0506H-4811 3台
4)4MHzセラミック発振子
5)ダーリントントランジスタ:
2SD1590 12個
6)リレーSSR:S108T02
7)トランジスタ:2SC1815
8)ULC140ウルトラルータ(AC100V)
*回路図(pdf)
*Cプログラム(pdf)
*xyz-driver基板図(jpg)
*873a xyz controller基板図(jpg)
*X軸フレーム図(jpg)、Y軸も同等寸法
*Z軸フレーム図(jpg)
1)Ohmsha/
「キホンからはじめるPICマイコン」
中尾真治著
製作後記②:
○X-Yプロッタの完成を機に、Z軸を加えたXYZ-PIC制御プロッタ・ミルを計画した。 Z軸を追加して自動でペンを上げ下げして移動出来るプロッタに加えて、先端工具を付けたルータが取り付けられるよう改良することにした。
○先ずZ軸用のステッピングモータ、駆動回路用ダーリントントランジスタを追加購入し、PICは16F873A、 リレー、ウルトラルータを新たに購入した。
○駆動回路は先のX軸Y軸用基板にZ軸用を追加、制御基板はPIC16F873A用にXYZ軸制御回路を設計製作、USBを使うことを想定してFTL232Lキット用回路とソケットも加えた。
○制御CプログラムはX軸、Y軸制御に加えてZ軸制御を加えた。これでペンまたはルータを上げ下げして作画・加工および移動が可能になった。 制御ボックスには各軸の手動位置決め用押釦スイッチ、起動、停止押釦スイッチを装備し、制御回路にはルータのON-OFFリレーも追加し、 位置決め後、連続に作画・加工ができるようにした。
○プロッタフレームには、新たにZ軸フレームを追加し、ペンホルダ、ルータホルダを装備し、X軸フレームに取り付け、XYZ軸の移動限界リミットスイッチを加えた。
○これでXYZ-PIC制御プロッタ・ミルは一通りの機能を獲得した。一応の満足感があった。
○しかし、結果はPICのメモリが少ないことが作画データ数を制限することと成り、最大15ステップが上限になった。
○解決策に同じPICでメモリの多い16F876Aにしたが、それでも最大31ステップ止まりで、USBもトライしたが、通信プログラムが難しく使えるレベルに至らず、 データ書き込みも煩雑で、満足の行くレベルには成らなかったのが残念だった。

Top

PIC制御XYZトレーサ・ミル
番号・名称・写真・完成年月
EC035D
XYZ-stepping motor制御
トレーサ・ミル

873a_xy+z-tracer02.jpg
2015-2
IMG_20150528_0005c.jpg
XYZトレーサ出図:左図、原画:右図
目的・特徴主要部品・回路・プログラム製作参考資料
○ステッピングモータ3台、X軸、Y軸、Z軸を非同時に順次制御し、作画・切削する
○Z軸から張り出して装備したフォトリフレクタで画像または物体を感知しトレース作画または切削加工
○Z軸はフォトリフレクタの感知によりペン・ミルおよびフォトリフレクタが同時に上下する
YouTube動画
○PIC電源:入力DC9-12V>DC5V
○ステッピングモータ電源:入力DC9-12V>DC5V
○作画精度:整数レベル
1)PIC16F873A
2)レギュレータ
NJM7805
、LM78L05A
3)ステッピングモータ(ユニポーラ)
:ST-42BYG0506H-4811 3台
4)4MHzセラミック発振子
5)ダーリントントランジスタ:
2SD1590 12個
6)リレーSSR:S108T02
7)トランジスタ:2SC1815
8)ULC140ウルトラルータ(AC100V)
9)フォトリフレクタ:TPR-105F 
*回路(pdf)
*プログラム(pdf)
*photo-reflector基板図(jpg)
1)Ohmsha
「キホンからはじめるPICマイコン」
中尾真治著
2)GENIXTEC CORP. DEVICE NO.:TRP-105F
 
製作後記③:
○PIC制御XYZプロッタ・ミルに暫く手を付けないまま数か月が経ったが、何とかうまい方法は無いかと思案した結果、取り組むことにしたのがXYZ-PIC制御トレーサ・ミルであった。
○先ず、フォトリフレクタを調べて購入し、フォトリフレクタ回路基板を作った。手探りで、はじめは2個のリフレクタを装備したが、結局1個に収まった。
○制御回路はPIC16F873A用とし、Cプログラムを作り替えた。いろんな試行を重ね、何とか原画または現物を感知してトレースできるレベルになった。 しかし、問題はX軸ライン上を1ドット毎にZ軸を上下し最終端でY軸移動を繰り返すスキャン式作画・切削は、細かいドットほど長時間を費やすことと成った。
○それでも、実行した結果は写真の左図のレベルに達した。不鮮明な結果は、おそらく、Z軸移動精度とフォトリフレクタの感知精度の不整合と外乱光の影響と思われた。
○結局充分なレベルに成らず、限界を感じ、新たな手法を探ることになった。

Top

製作後記④:USB機器としてのプロッタ・ミル
○「PICで楽しむUSB機器」(自作のすすめ)を手にしたときは期待一杯だった。 ところが、自分のようなプログラム素養の乏しい者にとっては内容の難解さは並大抵では無かった。
○それでも、USBとは、対応PICマイコンの概要、開発環境とUSBフレームワーク、HIDクラス、CDCクラス、汎用USBクラス等を少し理解すると、 どうやら汎用USBクラスが適用できそうに思えた。手始めに「リモートPIO端末のハードウエアの製作」から入り、技術評論社に問い合わせもして、 PCからUSB経由で実際に端末を操作できるまでに成った。 そこではC-18コンパイラ、VisualC++2010 Express、が使われており、これまでの知識が及ばず、難解、難解の連続だった。
○PIC16F873Aでは出来なかった事で、先ず取り組んだのはX軸、Y軸、Z軸の同時運転制御、円弧の作画、更にG-Cordデータで連続作画する事だった。
このために、PCでデータを入力し、計算し、結果をUSB経由でPIC18F14K50と通信し、回路で繋いだ3個のPIC12F683からそれぞれのドライバでX軸、 Y軸、Z軸ステッピングモータを回転制御するシステムを計画した。
○何度もの試行錯誤の結果、ようやく最近になって、「VisualC++2010Express入門」書を入手して参考し、 PC画面から連続作画ができるPC-Hostプログラムが出来上がり、USB機器としてのプロッタ・ミルになった。
データをPC画面で入力すればいくらでも簡単に作画できる。 またリレー回路で100V駆動のルーターミルのON-OFF制御ができ、プラスチックや木工の研削ができる。
○しかし、、まだ十分なレベルではなく、これで終わりではない。 データファイル出入力の使い勝手、プロッタ本体、作画精度および制御にはいくつかの問題と未達成の課題が残り、これからも解決と達成に向けて、粘り強く取り組んで行きたいと考えている。
(2015年5月)

Top

ジョイスティック制御ボックス

IMG_20160229_095809c.jpg

○ジョイスティック制御ボックス回路図
製作後記⑤:ジョイスティック制御
○3軸制御とスピンドルモータのON-OFF制御用ジョイスティック制御ボックスを制作した。
・半月前に中古のジョイスティック分解品をおもちゃドクター仲間から譲っていただき入手したのが制作のきっかけ。構造と機能を分析して10kΩ可変ボリュウムが2個とタクトスイッチ1個の構成であることが判った。
・入力電圧信号をコンパレータICのNJM2901でHi-Low信号に変換し、ホトカプラTLP621で出力スイッチON-OFFに変換した。 軸回転ON-OFFはトランジスタなしで可能となったが、軸回転方向の切替ON-OFFにはトランジスタ2SC1815を回路に加え可能となった。
・これでジョイスティックでプロッタ&ミル本体の制御ができるようになった。
但し、PC-JoyStickの切替SWだけではUSBを繋いだままだと信号が衝突して停止するので、ジョイスティック使用時はUSBを外し操作する。
また、コンパレータNJM2903を追加して操作性を改善した。
(2016/03/05)

Top

製作後記⑥:「USB_CNC工作マシン」
○「USB-PIO制御プロッタ・ミル」を制作してのちの1年半に、Windows画面からの座標データ入力による作図出力は出来ていたが、 未達成課題としていたのがCADデータの取り込みであった。
「いまからはじめるNC工作」オーム社眞柄賢一著を参考にして、JW-CAD作図ファイルからNCVCアプリケーションによるNCコード生成、 までは容易にたどることが出来ていた。
しかしながらGコードを含むNCコードファイルを自作の開発PIO_PC_Hostアプリに取り込むことはできず、保有技術には問題が大きかった。問題は、
1)開発PIO_PC_HostアプリがNCコードファイルに適合していないこと。
2)NCVCの生成NCコードファイルのままでは開発PIO_PC_Hostアプリに取り込めないこと。
であった。
そこで、長期にわたり、労力と時間を費やしたが、
1)NCコードに適合するように開発PIO_PC_Hostアプリの大改造を行った。
2)NCコードファイル(.ncd形式)を開発PIO_PC_Hostアプリに取り込める(.csv形式)ファイルに変換するperlアプリプログラムを作成することにした。
Perl言語を学習し、あれこれと苦心の結果、使える(.pl形式)アプリの作成に成功した。
これらによって、CADデータ作成>NCコード作成>.csv形式データファイル作成>開発PIO_PC_Hostにファイル入力>USB_CNC工作マシン出力、が可能になった。
苦心の甲斐あって、これは作者にとっては画期的な成果となった。
○まだまだ改良すべき点が多く未達成な課題もありますが、一段落として「USB_CNC工作マシン」に改名し、開発記録を兼ねてページの更新をしました。
(2016/12/15)

Top

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