CNCの実験3:2006.07.03〜2006.12.31 2008.03.20(木)〜 CNC App作成。XYZ送り精度。基板パターン切削。スピンドル。 SLA7078。基板の平面度補正。
2006.12.31(日) ICProject(31)。 SLA7078の検討(13)。 SLA7078用クロック高速化検討。 ┌┐ ┌┐ CLOCK ─┘└───────┘└──────── │←──────→│ 91.7Hz〜50KHz (T=10.9mmsec〜20μsec) 変更内容 1) EZ-USBマイコンのタイマー0のプリスケーラーを1/12から1/4に変更し、クロック周 期の分解能を向上させます。 1カウントパルス当りの分解能 1/12:0.5μsec 1/4 :0.167μsec CLOCKの最大周期 0.167μsec×65536=10.9msec。⇒ 91.7Hz。 2) 送り速度換算 F=P/(S×D×T)×60 F:送り速度[mm/min] P:送りネジピッチ(1mmを使用) S:ステッピングモータの1回転当りのステップ数 D:マイクロステップ分割数 T:CLOCK周期[sec] T[msec] 1回転時間[sec] F換算[mm/min] -------------------------------------------- 10.9 34.88 1.72 0.02 0.064 937.5 送り速度はTに反比例し、変化量の最大は0.83%です。 3) MAPの変更 1. パルス幅の計算内容を変更。 2. 送信データに分割数を追加。 2006.12.30(土) ICProject(30)。 SLA7078の検討(12)。 モータが回りました。 モータ電源電圧:12Vと24V。 モータ電流 :2[A](12V,24V)。 3[A](12V時) 回転音は比較的静かです。 16分割<8割<4割<2分割の順に回転音が大きくなります。 振動やうなりもほとんどありません。 MAPのCLOCK出力の限界でF最大が上がりません。 μステップ F MAX CLOCK/回転 -----------+-------+----------------- 2分割 240 400 4分割 120 800 8分割 60 1600 16分割 30 3200 2006.12.29(金) ICProject(29)。 SLA7078の検討(11)。 Φ0.3mm2枚刃エンドミル。基板面に接触と同時に折れました。 刃物の降下速度=F20。 スピンドル回転=約4,600[RPM]。 気を取り直し、いつものΦ0.3mmドリルを2本使ってパターン切削。 コネクターの位置とランド形状を変更しています。 secさんから評価用に頂いた、ICを差しました。 2006.12.27(水) ICProject(28)。 SLA7078の検討(10)。 SLA7078MPRテスト基板を切削しました。 所用時間は約50分。 結果は、パターン切れ、ブリッジ、バリ、位置ずれなどが無く、良好です。 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 備考 -----------------+-------+------+----------+--------+--------+-------------- Φ0.3ドリル 0.06 ON F70 4,600 無し パターン輪郭 Φ0.8ドリル 1.55 ON F20(掘下) 4,600 無し 部品穴 基板は、吸着テーブルに「はがせる両面接着テープ」で固定しました。 2006.12.26(火) 吸着テーブルと「はがせる両面テープ」でP基板を固定し、平面度を測定しました。 時間経過による浮き上がりが少なくなっています。 列No(上から) 経過時間・測定間隔 -------------+-------------------- 1 0:00から5分間隔 2 0:25から5分間隔 3 2:15から5分間隔 4 3:15から5分間隔 各グラフは、下からY=0,5,10,15,20の順で、X軸に平行な断面です。 2006.12.25(月) 2006.12.24(日)の実験の検証として、Z軸の位置ずれをチェックしました。 測定方法: 1) Z原点でピックテストを0に設定。 2) 上昇・降下を625回実施。 1サンプル当り25回×25サンプル=625回。 3) G00 Z0 で原点に戻した時のピックテストの指針を測定。 参考画像。 結果: ピックテストの読みは0。 Z軸の位置ずれは無視できます。 チェック用のNCコード: (2006.12.25(月)) (Z位置ずれチェック) G92 X0 Y0 Z0 G00 Z1 M98 P10 L625 G00 Z0 M30 O10 G00 Z0.1 G01 Z0.04 F20 G00 Z1 M99 2006.12.24(日) P基板の平面度を測定しました。 各グラフは、下からY=0,5,10,15,20の順で、X軸に平行な断面です。 測定条件 範囲 :20mm×20mm ピッチ :X、Yともに5mm間隔で測定 目盛 :座標軸:X、Yともに10mm/目盛 :深さ(Y軸上で拡大):100μm/目盛 測定順 :左上が初回。右下が最終回。全部で25回。 原点 :左手前の基板面で、毎回X,Y,Zを0にセットします。 固定方法:真空吸着盤にラップフィルムを敷き、基板内側の吸気孔部分を開放。 結果 1) 毎回測定値が変わります。 2) 時間の経過とともに浮き上がりが多くなります。 所用時間=約3時間。 測定間隔は不定期です。 所見 1) 切削中の振動等で浮きが多くなる可能性があります。 2) 平面度補正の効果は期待できません。テーブルの傾き補正には有効と思われます。 3) 切り込み量が数十μの幅で変化するため、Φ0.3mmドリルの主切刃による切削には 、さらに安定した基板の固定が必須です。 4) 刃長に余裕の有るエンドミルの検討が必要です。 2006.12.22(金) ICProject(27)。 SLA7078の検討(9)。 SLA7078MPR用テスト基板のパターン切削。 真空吸着テーブルにラップフィルムを敷き、必要な箇所に通気孔を開けて基板を固定 しました。 今回も切削途中でΦ0.3mmのドリルが折れました。 一枚刃カッターに交換し、出たバリをボールエンドミルで処理したところ、切り込み 量が深すぎて細いパターンが消滅しました。 部品を差してみました。 ICの代わりに、放熱器を置いています。 改善点: 1) 外形を縦10mm、横5mm程大きくしカラーを基板の内側に納める。 2) 2PINと6PINコネクター間を2.54mm空けて、取り付け易くする。 3) コネクターPINのドリル径を、0.9mmか1.0mmにして端子を差込み易くする。 4) C1と放熱器との距離を増やす。 2006.12.21(木) ICProject(26)。 SLA7078の検討(8)。 SLA7078MPR用テスト基板のマウント参考図 基板サイズ:縦35.6mm×横65.9mm。 2006.12.19(火) ICProject(25)。 SLA7078の検討(7)。 SLA7078MPR用テスト基板の切削に失敗しました。 1回目: Φ0.3mmドリルが切削中に折れました。 2回目: ドリルを交換して切削。同じ箇所で折れました。 3回目: Φ0.3mm半月カッターで切削。上記の箇所はクリア。 バリを華々しく立上げ ながら他の場所を切削後、1回目、2回目に近い場所へ戻って来た所で折れま した。 ルーペで確認したところ、刃物が折れた箇所は切り込み量が深くなっています。 以前真空吸着テーブルを使用した時は、基板から外れた吸着用の十字の切り込みを、 ラップフィルムで塞いでいました。 今回は、基板の面積が広い為、ラップフィルム を使わずに切削しました。 そのため吸着力が低下し、基板が浮き上がった可能性が あります。 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 -----------------+-------+------+----------+--------+-------- Φ0.3ドリル 0.06 ON F70 4,600 無し Φ0.3ドリル 0.06 ON F70 9,600 無し Φ0.3半月カッター 0.06 ON F70 5,600 無し 基板の固定には、真空吸着テーブルを使用。 2006.12.18(月) ICProject(24)。 SLA7078の検討(6)。 最小パターン幅0.3mmを0.61mmに拡張し、ボールペンテストをしました。 切削でパターンが無くなる事はなさそうです。 2006.12.17(日) ICProject(23)。 SLA7078の検討(5)。 SLA7078MPRのテスト回路図です。 HPGL2NC Appの改善: 半田面のNCコード生成を「図形ファイルを開く」メニュークリック1回で出来るよう にしました。 変更の概略: HPGLをNCコードに変換する関数hpgl_conv()を2回使用します。 1) 1回目は、図形の反転を行わないで変換。このとき基板の外形寸法を取得。 2) 図形反転の指示があれば2回目を実施。X座標を-1倍後、外形寸法分をシフト。 3) 2回目は、1回目で読み込んだ図形ファイルデータを流用することで、 ファイル読み込みダイアログの再表示を回避しました。 2006.12.16(土) ICProject(22)。 SLA7078の検討(4)。 昨日、秋葉原で部品を調達。 放熱用のファンをおごりました。 16分割μSTEPでF1000!Projectの為、EZ-USB FX2キットを購入。 SLA7078MPR用テスト基板の部品表 部品 定格 数量 備考 -----------------+------------+------+------------------------------- SLA7078 MPR 1 未調達 抵抗 10K 1/6W 6 積層コンデンサー 0.1u/50V 1 電解コンデンサー 100u/25V 1 〃 220u/50V 1 DIPスイッチ 4列 1 半固定VR 5K 1 ジャンパー線 幅5mm 4 単芯リード線を利用 コネクター 2PIN 1 〃 4PIN 1 〃 6PIN 1 基板 36.9×83.4 1 後日切削予定 放熱器 1 SLA7062Mの教訓から採用 ファン 5V 0.11A 1 放熱効果の強化 カラー 高さ20mm 4 基板4隅の支柱 2006.12.15(金) ICProject(21)。 SLA7078の検討(3)。 SLA7078MPR用テスト基板の切削ルートです。 汎用のランド4行×12列を追加しました。 使用したライブラリーは、 部品 素子名 grid 備考 -----------------+----------------------+-------------------+--------------- 半田パッド solpad SE11 2.54mmピッチで配置 EAGLE標準 HPGL2NC Appの改善: 半田面のNCコードは、原点を通るY軸で図形を180度回転した後、X軸の+方向に図形 をシフトして生成します。 図形の180度回転は、X座標に-1を乗じます。 図形のシフトは、X座標に-1を乗じる前のX座標の最大値を、180度回転したX座標に 加えます。 これまでX座標の最大値を手入力で設定していたものを、自動的に検出と設定を行う ようにしました。 検出と設定は自動になりましたが、 1)非反転指定でpltファイルの読み込み。 2)反転指定でpltファイルの読み込み。 の2回の操作で半田面のNCコードを生成します。 次の改善は 1)反転指定でpltファイルの読み込み。 の1回の操作で、半田面のNCコードを生成したいと思います。 2006.12.14(木) ICProject(20)。 SLA7078の検討(2)。 SLA7078MPR用テスト基板の作図に使用したライブラリーの一覧です。 使用したCADはEAGLEのフリー版です。 グリッドは0.025(inch)にしました。 部品 素子名 grid 備考 -----------------+----------------------+-------------------+--------------- SLA7078MPR ZIP127-23 PIN1.27 列5.08 自作 抵抗 rcl 0204/5 5 EAGLE標準 コンデンサー rcl C050-024X044 5 〃 電解コンデンサー rcl E5-10,5 5.08、Φ10.5 〃 rcl E2.5-5 2.54、Φ5 〃 コネクター con-molex 22-23-2-21 2.54 〃 con-molex 22-23-2-41 2.54 〃 con-molex 22-23-2-61 2.54 〃 DIPスイッチ 4列 switch DIP04YL PIN2.54 列7.62 〃 半固定VR c-trimm 3040_428 〃 ジャンパー線 jumper 05 5.08 〃 *半固定VRはトリマコンデンサーで代用しました。現物に合わせてライブラリーを自 作する可能性があります。 ZIP127-23ライブラリー作成 項目 設定 -------------+-------------------------------------------------------- グリッド 0.025(inch) = 0.635mm PIN間 0.025(inch)×2 = 1.27mm 列間 0.025(inch)×8 = 5.08mm。 先端寸法4.5mm +/-0.7mmに適合。 PINの方向 Direction = I/O PINの名称 off (表示が交錯して見難いため) ZIP127-23.lbrのダウンロードはここをクリック。 2006.12.13(水) ICProject(19)。 SLA7078の検討(1)。 SLA7078MPR用テスト基板のパターンです。 40.2mm(縦)×87.6(横) 片面基板。 2006.12.11(月) ICProject(18)。 SLA7062の検討(その10)。 SLA7062MのOUTB出力と、モータコイルBとの結線を外してテストしました。 送り速度 状況 --------------+-------------------------------------------------------- 1クロックづつ 数クロック分右回転し、次のクロックで元の位置に戻る。 F5 同じ位置で右往左往。 F100 右回転で数秒間後に停止。IC破損。電流検出抵抗から発煙。 SLA7062Mを使う場合には、モータコイルのコモンにヒューズをシリーズに挿入する方 が安全です。 SLA7070Mシリーズのアプリケーションノートには、 モーターコイルオープン/ショートの「保護回路内蔵品」を用意(NEW)… 特許申請中 とあります。 安全性の改善がされているようです。 データシート・アプリケーションノート 2006.12.08(金) ICProject(17)。 SLA7062の検討(その9)。 SLA7062Mの相電流検出抵抗(RSA)の両端を、RC積分回路を介して測定した波形です。 A相、−A相、A相、−A相・・・・と順に並んでいるようです。 タイミングチャート │││││││││││││││││││││ CLOCK─┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴ ┌┐ ┌┘└┐ ┌┘ └┐ ┌┘ └┐ A ─┘ └──────────── │││││││││││││││││││││ ┌┐ ┌┘└┐ ┌┘ └┐ ┌┘ └┐ -A ─────────┘ └──── のA相とーA相を合成した様な波形です。 測定条件 RSA : 0.68Ω 積分定数 : R=10KΩ、C=0.01μF 送り速度 : F100 分割モード: 4分割マイクロステップ 相電流 : 0.8Aに半固定VRで調整。1クロックづつ回転した時の最大電流。 2006.12.07(木) ICProject(16)。 SLA7062の検討(その8)。 MAPの「XYZ共通」設定フレームに、クロック・CW/CCW釦を追加しました。 相駆動←→CK/DIR切換え時に、EZ-USBマイコンに専用のFWをロードします。 設定: ステップ 駆動モード /回転 デバイス EZ-USB用FW -------------+---------+--------------------+--------------------- ○1相駆動 200 SLA7026M or Tr CNC.bin ○2相駆動 400 SLA7026M or Tr CNC.bin ○1-2相駆動 400 SLA7026M or Tr CNC.bin ○CK/DIR 2分割 400 SLA7062M M1=1,M2=1 CNC_CLK_CW_CCW.bin 4分割 800 SLA7062M M1=1,M2=0 CNC_CLK_CW_CCW.bin 8分割 1600 SLA7062M M1=0,M1=1 CNC_CLK_CW_CCW.bin 16分割 3200 SLA7062M M1=0,M1=0 別途検討の必要あり 2006.12.06(水) ICProject(15)。 SLA7062の検討(その7)。 モータ振動音のレベルを測定しました。 5V Trは、EZ-USBによる1-2相出力時のデータです。 -30dB以下ならば、耳障りにならないレベルです。 測定条件 項目 内容 ------------+----------------------------------------------------- マイク SONY DYNAMIC F-V80T をワークテーブル上に置いて測定 録音VOL 最大 (録音コントロールパネルで) 距離 X軸モータから50mm レベルメータ DeskTopLevelMeter V0.3 暗騒音 -65dB モータ電流 12V SLA7062Mと24V SLA7062Mは、0.8Aに調整。 5V SLA7062Mは、0.75Aに調整。 5V Trは、0.45A(コレクター飽和電圧の影響で他よりも少な目です) 備考 測定値は上記の条件でレベルメータが示した値であって、校正された 騒音レベルを表すものではありません。 2006.12.05(火) ICProject(14)。 SLA7062の検討(その6)。 SLA7062Mの搭載基板に少し手を加えました。 1) 改造内容 1. VBBをモータ電源パターンから独立させて、別電源から供給出来るようにしま した。 モータ電源が5Vの時、MAX662の出力12Vを供給します。 2. モータ電源のGND側を、電流検出抵抗のGND側の根元に接続しました。 参考回路図は ここ にあります。(2010.11.09(火)) 2) モータ振動音評価 モータ電圧を、5V、12V、24Vで実験しました。 24Vにすると、12Vで発生していたコイル鳴き(高周波音)が無くなります。 振動音は、5V =< 24V < 12V ですが、主観的です。 客観的な方法で比較したいと思います。 2006.12.03(日) ICProject(13)。 SLA7062の検討(その5)。 X軸をSLA7062で駆動しました。 1軸分のSLA7062Mを搭載した基板です。 モータ回転振動の検討用として、メーカーさんから頂いた基板を使用しました。 1) モータ電源 電圧/電流容量: 12V/3.8A ACアダプター 1相電流 : 0.8A。半固定VRで調整。 1966年製。CLASS 1.0。 0.3A,3A,30A。伯父が使っていた直流電流計です。 2) 駆動モード 1. 2分割 (1-2相励磁) 2. 4分割 (W1-2相励磁、マイクロステップ) 3. 8分割 (2W1-2相励磁、マイクロステップ) 3) 移動速度 2分割 4分割 8分割 F10 ○ ○ ○ F50 ○ ○ ○ F100 ○ ○ ○ F200 ○ ○ △ ○は、正常に動作。 △は、PCからのデータ転送が間に合わずクロックの間隔が乱れています。 4) モータ振動 2,4,8分割のいずれでも、F10からF200まで振動音が大き目です。 平均電流を定格に設定しているとはいえ、モータ電源に12Vを使用しているため、 PWMのピーク電流が定格の2.4倍近く流れることが、振動の原因でしょうか。 モータ電流を少なくすると振動音が減少する反面、F200で脱調します。 5) 所感 サーボモータ制御盤用のI/Fとして、クロック・CW/CCWの出力実験が行えた事が 成果です。 MAPに相出力とクロック出力の切換えを設ければ、市販のCNC用モータ 駆動基板も流用出来るようになります。 (サーボモータ搭載実験は、おそらく無いと思います。入手と価格がネックです。) 8分割でのF200は、USBのエンドポイントバッファー容量の多いデバイスならばこ なせそうです。(EZ-USB FX2がターゲットです) モータの振動がF50以下で今回の実験より小さく、さらにF70以上では振動音が減 少して行き、F200で静音な従来方式に軍配が上がります。 (従来方式:EZ-USBマイコンによる、1-2相出力方式) 従来の駆動方式で、モータのコイルと並列に220μF/25V電解コンデンサーを接続す ると、F50以下のモータ振動が極めて小さくなります。 但し、F200付近では振動が増大する為、コンデンサの入り/切りをF値で制御すれ ば、広範なF値に対して静音なモータ回転が期待出来ます。 2006.12.02(土) ICProject(12)。 SLA7062の検討(その4)。 MAPのX軸制御を、A,B相方式からCLOCK・CW/CCW方式に変更します。 各相の駆動データは1バイト中に下図の様に割り付けています。 7 6 5 4 3 2 1 0 ┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┓ ┃Y-B ┃Y+B ┃Y-A ┃Y+A ┃X-B ┃X+B ┃X-A ┃X+A ┃ ┗━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┛ これを 7 6 5 4 3 2 1 0 ┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┓ ┃Y-B ┃Y+B ┃Y-A ┃Y+A ┃ ┃ ┃ CK ┃ CW ┃ ┗━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┛ に変更します。 変更する関数は、v_move_left()とv_move_right()の二つです。 1) CKは、両方の関数でビットをセットします。 2) CKのリセットは、X軸が動かず、他の軸が動くときに行います。 今回はX軸のみを動かす為、CKのリセットは行いません。 EZ-USBマイコンのCK出力は、同マイコンがリセットし、次の駆動データがPCから 転送されまでリセット状態を保持します。 3) CWは、v_move_left()でビットセット。v_move_rgiht()でビットリセットします。 EZ-USBマイコンのCW出力は、次の駆動データがPCから転送されまで出力の状態を 保持します。 2006.12.01(金) ICProject(11)。 SLA7062の検討(その3)。 クロックとディレクションの出力について検討しました。 1) データシートのタイミング規定 →│─│← 2μsec ┌─┐ ┌─┐ CLOCK ──────┘ └─────┘ └─────── ┌─────────┐ CW/CCW ─────┘ └──────── →││← →││← 1μsec 1μsec 2) CLOCKとCW/CCW出力部分のCソースコード EZ-USBマイコン用プログラムの一部です。 OUTB = *out_ptr & 0x01; // CW/CCW出力(CW/CCW以外をマスク) _nop_ (); // nop 1命令分の遅延 OUTB = *out_ptr; // CLOCKとCW/CCWを出力 OUTB = *out_ptr++ & 0xFD; // CLOCKをリセット 3) セットアップとホールド時間 2)のアセンブリリストに、命令サイクル数を追記しました。 命令サイクル数 ↓ 006F 900000 E 3 MOV DPTR,#OUTB 0072 F0 2 MOVX @DPTR,A ; SOURCE LINE # 412 0073 00 1 NOP ; SOURCE LINE # 413 0074 EF 1 MOV A,R7 0075 F0 2 MOVX @DPTR,A ; SOURCE LINE # 414 0076 0500 R 2 INC out_ptr+02H 0078 E500 R 2 MOV A,out_ptr+02H 007A 7002 3 JNZ ?C0088 007C 0500 R 2 INC out_ptr+01H 007E ?C0088: 007E 14 1 DEC A 007F F9 1 MOV R1,A 0080 120000 E 4 LCALL ?C?CLDPTR 0083 54FD 2 ANL A,#0FDH 0085 900000 E 3 MOV DPTR,#OUTB 0088 F0 2 MOVX @DPTR,A CW/CCW出力からCLOCK出力までの命令サイクルの合計は6。 ┌─┐ ┌─┐ CLOCK ──────┘ └─────┘ └─────── ┌─────────┐ CW/CCW ─────┘ └──────── →││← 6命令サイクル 遅延時間 = 6 × 1/24MHz × 4 = 1μsec NOPを追加してCW/CCWのセットアップタイムに余裕を設けたいところです。 CLOCK出力からCLOCKリセットまでの命令サイクの合計は20。 ┌─┐ ┌─┐ CLOCK ──────┘ └─────┘ └─────── ┌─────────┐ CW/CCW ─────┘ └──────── →│ │← 20命令サイクル 遅延時間 = 20 × 1/24MHz × 4 = 3.33μsec 規定に対して余裕かあります。 2006.11.30(木) ICProject(10)。 SLA7062の検討(その2)。 1) EZ-USBマイコンポートの節約 SLA7062を使用すると3軸分で6ポート削減でき Z軸の基板原点検出以外にX、Y軸 の原点スイッチ検出や緊急停止スイッチなどの入力が可能になります。 2) モータ振動の低減 低速回転になるに従い、モータの振動音が大きくなる傾向があります。 F70で斜め45度の切削ではX、Yそれぞれの送りはF50になり、耳障りな振動音が出て います。 4分割のマイクロステップにすると、モータの励磁周期が2倍になり、モータの振 動が共振帯域から外れ、静かな回転が望めそうです。 3) EZ-USB出力タイミングチャート A,B相駆動信号の各相の立上り立下りに相当するタイミングで、クロックを出力す ることになります。 CW/CCW信号は省略。 1. A,B相駆動信号(1-2相励磁) ┌───────────┐ ┌ A ─┘ └───────────────────┘ │ ┌───────────┐ │ B ─────────┘ │ └──────────── │ │ │ ┌───────────┐ │ -A ─────────────────┘ │ └──── ─────┐ │ │ │ │ ┌──────── -B │ └───────────────────┘ │ │ │ │ │ │ │ │ │ │ │ 2. CLOCK,CW/CCW駆動信号(2分割、1-2相励磁) │ │ │ │ │ │ │ │ │ ┌┐ ┌┐ ┌┐ ┌┐ ┌┐ ┌┐ ┌┐ ┌┐ ┌ CK ─┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘ 4) 4分割マイクロステップ(W1-2相励磁) 2分割励磁(1-2相励磁)の中間にクロックを挿入します。 1. 2分割励磁 ┌┐ ┌┐ ┌┐ ┌┐ ┌┐ ┌┐ ┌┐ ┌┐ ┌ CK ─┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘ │ │ │ │ │ │ │ │ │ 2. 4分割励磁 │ │ │ │ │ │ │ │ │ ┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌ CK ─┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘ │ │ →│─│← 0.374msec = F200のパルス周期 0.374msecはEZ-USBマイコンの2244マシンサイクルに相当し、平均して560命令を 実行できます。 F500なら0.15msecで224命令、タイマー割込み処理中の時間超過は避けられそうで す。 2006.11.29(水) データ変換や切削の回数が増えると、プログラムのバグが見つかります。 HPGL2NC Appの不具合を修正しました。 pltファイルから、ドリルデータを作成しパスの最適化を行うと、 パターン用のNCコードが混入する事があります。 修正後のツールパスです。 原因: 図形のリンクテーブルに終端コード(境界)の設定が無い為に、リンクテーブルに残っ ていた図形データからパターン用のNCコードを生成していました。 対策: make_link_table()の終了直前で、図形リンクテーブルに終端コード(境界)を設定す るようにしました。 2006.11.28(火) ICProject(9)。 SLA7026Mで、X軸のステッピングモータを駆動。 Tr式と同等にテーブルが移動しました。 モータ駆動部の構成比較(3軸分) Tr式 IC式 用途 --------------+------+-------+---------------------------- SLA7026M 0 3 モータ駆動 MAX662 0 1 SLA7026コントロール電源 パワー Tr 12 0 モータ駆動 小信号 Tr 12 0 ダーリントン接続 抵抗 36 6 電流制限、プルアップ ダイオード 12 12 モータ逆起電圧防止 コスト優先ならばTr式、スペース優先ならばIC式です。 SLA7026Mの利用: 1) 供給電源電圧>モータ定格電圧 ならば、抵抗とコンデンサーの追加で、 SLA7026Mの定電流駆動を使ってモータの過熱を抑えることが出来ます。 2) トランス整流式などの非安定な電源でも、適正な電流駆動が出来そうです。 3) 供給電源電圧>=10Vなら、MAX662が不要です。 1軸分の駆動回路 2006.11.27(月) ICProject(8)。 SLA7062の検討(その1)。 11.25(土)にロックヒルさん、secさんから、モータ駆動のことでお話を伺いました。 1) サーボモータの制御盤は、クロック・CW/CCW方式。 2) Machはクロック・CW/CCW方式。 3) Machで使える市販のモータ駆動基板を使用。 4) 駆動回路によっては、モータの電流制限抵抗の発熱が多い。 5) モータの振動対策と高速回転実現には、マイクロステップ駆動が有効。 6) SLA7062(サンケン)の紹介。 そこで、SLA7062(サンケン)のデータシートを見ました。 1. クロック・CW/CCW制御 標準的な制御方式?。 サーボモータへの換装が容易。 モータ・制御盤が廉価になれば即採用。 2. マイクロステップ機能搭載 モータ振動改善。 3. 定電流駆動が可能 使用電源の選択範囲拡大。 消費電力の効率改善。 4. 外付け回路が少ない 基板設計が容易。 5. ロジック電源電圧が3.3Vから5.5V USBケーブルから直接供給。 使いやすそうなデバイスです。 MAPの変更: 1) 1-2相駆動ならば難しくはないようです。 2) A・B相制御とクロック・CW/CCW制御の選択を可能にする。 3) マイクロステップは、EZ-USBの処理時間が課題です。 後日、さらに詳細に検討したいと思います。 2006.11.26(日) PIN間2本で切削しました。 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 備考 -----------------+-------+------+----------+--------+-------+------------- Φ0.3ドリル 0.06 ON F70 4,600 無し パターン用 Φ0.8ドリル 1.4 ON F70 4,600 無し 部品穴用 2006.11.24(金) ICProject(7)。 ブレッドボードで SLA7026M の動作テスト。 SLA7026Mのコントロール電源を MAX662 から供給しています。 電圧 = 11.85V 電流 = 8.59mA(A,Bch合計) SLA7026Mテスト回路図 2006.11.23(木) ICProject(6)。 SLA7026Mのコントロール端子用電源の検討。 ステッピングモータの電源電圧が10V以上ならば、これを使用できます。 使用中のモータの電源電圧が5Vの為、別途電源を用意します。 データシートから、Vs=44V、Is=15mAで、内部抵抗は2933Ω相当です。 Vsが12Vなら、Is=12V/2933Ω=4.1mAに軽減できそうです。 12VのACアダプターに、22Ωをシリーズに入れて両端電圧を測ります。 測定結果:22Ω端で0.091V。Is=0.091V/22Ω=4.14mA。ほぼ想定した電流値です。 SLA7026M 1個で倍の8.28mA。 SLA7026M 3個(3軸分)で24.8mAです。 定格出力が12V、30mAの DC-DCコンバータIC MAX662 1個で供給できます。 MAX662の電源5Vは、USBケーブル経由でPC本体から供給します。 2006.11.22(水) ICProject(5)。 SLA7026Mの動作テストをしました。 上:OUTAの出力波形。 負荷:LEDと220Ωシリーズ。 下:OUTA-の出力波形。負荷:470K MAPからG01 X10 F5を実行すると、出力に接続したLEDが点滅します。 等加速度で増速している為、パルス幅が徐々に狭くなっています。 SLA7026Mのブロック図のPower Nch MOSFETをドライブしている3入力NORを3入力ANDに 読み替えて、端子の設定を変更しました。 2006.11.14(火)からの変更点: 2) 定電流チョッパーをオフにする為、 1. TD A/Bを開放または接地します。→ +5にプルアップ。に変更。 2. REF A/Bも接地します。 → +5にプルアップ。に変更。 2006.11.21(火) 削り残しの不具合を修正しました。 対象プログラム: HPGL2NC (EAGLE CADのplt拡張子ファイルをNCコードに変換するプログラム) 原因: 現在位置に最も近い図形を検索する関数で、 図形リスト中の最後の図形が検索対象外になっていた。 修正内容: 誤:for (i = 1; i < fig_count; i++) ↓ 正:for (i = 1; i <= fig_count; i++) 動作確認: 誤 右上の斜線が移動(赤)から切削(黒)になりました。 2006.11.20(月) ICProject(4)。 ZIP(1.68mm)変換基板のパターンを切削しました。 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 備考 -----------------+-------+------+----------+--------+-------+------------- Φ0.3ドリル 0.06 ON F70 4,600 無し パターン用 Φ0.8ドリル 1.4 ON F70 4,600 無し 部品穴用 ワーク: t=1.6mm、片面プリント基板。 材質:紙フェノール。銅箔厚み:35μm。 : 吸着テーブルで固定。 削り残しが一箇所あります。 以下は、削り残しがあったパターンの切削コードです。 *印のコードで刃先を上昇させ、切削せずに座標を送っています。 G00 X16.6116 Y2.5908 G00 Z0.1 G01 Z-0.06 F20 G01 X16.6116 Y4.9022 F70 G01 X17.1704 Y5.4356 F70 G01 X17.4498 Y5.4356 F70 G01 X20.6248 Y8.89 F70 G01 X20.6248 Y13.3604 F70 G01 X20.1676 Y13.8176 F70 G01 X20.1676 Y15.8242 F70 G01 X20.6502 Y16.3068 F70 G01 X21.336 Y16.3068 F70 * G00 Z1 * G00 X21.8186 Y15.8242 G00 Z0.1 G01 Z-0.06 F20 G01 X21.8186 Y13.8176 F70 G01 X21.3614 Y13.3604 F70 G01 X21.3614 Y8.6106 F70 G01 X21.2598 Y8.5344 F70 G01 X21.2598 Y8.509 F70 G01 X18.1864 Y5.1816 F70 G01 X18.4658 Y4.9022 F70 G01 X18.4658 Y2.5908 F70 G01 X17.9324 Y2.032 F70 G01 X17.1704 Y2.032 F70 G01 X16.6116 Y2.5908 F70 G00 Z1 HPGL2NC Appが、切削パスの最適化で上記のコードを生成します。 * G00 X21.8186 Y15.8242 と G01 X21.8186 Y13.8176 F70 で X21.8186が同じ値の時に発生するバグのようです。 2006.11.18(土) ICProject(3)。 SLA7026M用の変換基板を作る為、EAGLE CADで初めてライブラリを作成しました。 1.68mmピッチのZIPパッケージを新規に作成し、 18ピンのピンヘッダーは、標準ライブラリのMA20-1からMA18-1を作成しました。 作成したライブラリを用いて、作図した変換基板のパターンです。 11.16(木)に切削した変換基板はZIPのピッチが1.27mmで、しばらく棚上げです。 ボールエンドミルの効果を確認できたことが収穫でした。 2006.11.16(木) ICProject(2)。 ZIPからシングル・インラインへの変換基板を切削中です。 1枚刃で切削した後、Φ1mmのボールエンドミルでバリ取りをしています。 バリが綺麗に取れました。 Φ1mmボールエンドミルによるパターン切削も望みがありそうです。 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 備考 --------------------+--------+------+----------+--------+-------+---------- Φ0.8mmドリル 1.4 ON F20 3,500 無し 部品穴あけ 1枚刃カッター 0.07 ON F70 3,500 無し パターン切削 Φ1mmボールエンドミル 0.07 OFF F70 3,500 無し バリ取り ワーク:t=1.6mm、片面プリント基板。 真空吸着テーブルを使用し固定。 2006.11.14(火) ICProject(1)。 1) ステッピングモータのドライブ回路をディスクリートTrからICに変更。 2) ICの候補はSLA7026M(サンケン)。秋月通販で入手。 3) はじめは外付け部品の無いシンプルな回路で実験。 4) 3)が動いたら、低速回転時のモータ振動対策の検討。 5) P基板製作。パターン切削で?。 1) Active Highで使うと、MAPの変更は不要です。 2) 定電流チョッパーをオフにする為、 1. TD A/Bを開放または接地します。 2. REF A/Bも接地します。 3) 電流検出抵抗は使わないため、RS A/Bを接地します。 4) 許容損失の確認 許容損失 = 4.5[W] : 放熱板無し FET ON電圧 = 0.85[V] : Io=3[A]、Vs=14[V] CTRL電源電流 = 0.015[A] : Vs=44[V] 1相の電流 = 0.8[A] : 5[V]時、1-2相駆動では2相分を考慮 使用時の損失 = 0.8[A] × 0.85[V] × 2 + 0.015[A] × 5[V] = 1.435[W] 最大で見積もっても、放熱板は不要です。 基板をケースに収納した場合は、換気に配慮します。 5) TTL入力電圧確認 SLA7026M定格TTL入力電圧 H = 2[V] : 最小、Avtive High、Iih=40[μA] SLA7026M定格TTL入力電圧 L = 0.2[V] : 最大、Avtive High、Iil=-0.8[mA] EZ−USBマイコン出力 H = 2.8[V] : 最小、1.6[mmA] EZ−USBマイコン出力 L = 0.3[V] : 最大、-1.6[mmA] EZ−USBマイコン出力 Lの定格電圧が気になりますが、シンク電流が半分になるこ とから、0.15[V]以下は確保出来そうです。 EZ-USBマイコン出力を、SLA7026Mに直結できます。 もくろみ通りに使えたら、外付けC,R部品が無くてシンプルな回路になります。 2006.11.13(月) MAPにテーブル・コラム移動中のXYZ操作釦の多重押し禁止を追加しました。 連続でX,Y,Zの釦操作を行った時に、テーブルに不要な動きをさせない対策です。 2006.11.12(日) F500Project(7)。 当初の目標達成を記念し、CNC App を「MAP」と命名しました。 MAPの「原点」フレームを「原点設定」とし、釦機能を変更しました [X=Y=Z=0]釦: X,Y,Zの現在位置を原点に設定します。 [Z=0]釦 : Zの現在位置を原点に設定します。 2006.11.11(土) CNC Appを変更しました。 1) 円弧移動の高速化 円弧補間関数 g02(),g03() を円弧1μmの内角ごとにステップパルスを生成し移動 する方法から、ステップパルスを2000K個生成した時に移動するようにしました。 ステップパルス生成後からステップパルスデータ送信までの毎回の手続が無くな り、高速に円弧移動ができる様になりました。 半径5mmの円12個、F200なら紙を指で押さえていても苦になりません。 NCコードです。 2) パルス数による移動指示 XYZ操作フレームで、テキスト入力が"pxxxx"の時、xxxxカウントのパルス移動を 行うようにしました。 送りねじのピッチを求める時に便利です。 例:p4000の時 400ステップ/回転では送りネジが10回転し、このときの移動距離から送りネジの ピッチを計算します。 2006.11.10(金) 移動立上がりと立下りの速度増減を等加速度式に変更しました。 送り速度のリミットを200[mm/min]にして測定しました。 2006.11.08(水) F500Project(6)。 PC側とEZ-USBマイコン側のバグを修正しました。 PC側:出力完了チェックで、バッファー選択の誤記を修正。 EZ-USBマイコン側:OUTENDP3受信フラグリセットの誤記を修正。 修正前のペンテスト。 修正後のペンテスト。 F500Projectを始める前(10.24)と同じになりました。 2006.11.07(火) F500Project(5)。 回路パターンのペンテストで座標ずれが発生しました。 前のGコードを次のGコードが追いつき追い越すことが原因でした。 対策: PC側のパルスデータ送信関数の最後に、EZ-USBマイコン側のパルスデータの出力完了 待ちを追加しました。 結果: 肉眼で確認出来ていた座標ずれは改善出来ました。 24倍ルーペを使用すると、少しずれている部分があります。 F500Project以前の移動精度達成には、まだ改善が必要です。 2006.11.03(金) F500Project(4)。 OUTエンドポイントバッファーの出力終了ステータスを、毎回のタイマー割込みで INエンドポイントバッファーに代入し、PC側でポーリングするようにしたところ、 通信のフリーズが無くなりました。 パルス列の全長から送り速度を求めました。 誤差は、F450までが-5%以下で、F500が-6.3%、F550が-7.6%です。 EZ-USBマイコンのタイマー使用でパルス幅が安定し、ステッピングモータの回転音が 静かになるというおまけが付きました。 2006.11.02(木) F500Project(3)。 OUTエンドポイントの2つをリングバッファーにして、PCからパルス幅タイマーカウ ント値とステップパルスデータをEZ-USBマイコンへ送信、モータを回転させました。 X軸の移動速度を測定しました。 各軸が脱調する速度は X軸=230。 Y軸=220。 Z軸=210。です。 パルス列の全長から送り速度を求めました。 F500まであと少し。 F400を越えるとフリーズします。 原因は、データ授受のハンドシェークの不具合と思われます。 2006.10.29(日) F500Project(2)。 EZ-USBマイコンのタイマー0の割込み処理を確認しました。 1) タイマー0を0.3msecに設定。 F500のステップパルス幅に相等します。 2) EZ-USBマイコンのタイマー0割込みを許可。 3) タイマー0割込みで、ポートAビット5の出力をトグル切換え。 HighとLowの幅が、0.3msecの連続した方形波出力を確認。 4) タイマー0の割込み処理と並行して、X,Y,Z各軸が移動する事を確認しました。 2006.10.28(土) F500Project(1)。 CNC AppとEZ-USBマイコンのプログラムを改造し、F500[mm/min]を目指します。 ステッピングモータは1-2相駆動(400ステップ/回転)です。 1) EZ-USBマイコンが実行できる命令数の試算 タイマースタートからオーバーフローまでの間に実行できる命令数です。 EZ-USBのタイマー割込みを使用して、1ステップのパルス幅を制御します。 源発振周波数 = 24MHz。 タイマープリスケーラー = 1/12。 タイマー0ビット長 = 16ビット。 F ステップ マシン 平均 [mm/min] 幅[msec] サイクル 命令数 備考 --------+------------+------------+---------+-------------------- 1000 0.150 900 225 500 0.300 1,800 450 目標速度 4.58 32.768 196,608 49152 最低速度 IN/OUTエンドポイントのデータとパルス出力処理を225命令以内で実行できれば、 F1000も可能ですが、F500が現実的です。 2) PCのパルスデータ送信周期の試算 OUTエンドポイントのサイズ = 64[byte/endp] 1ステップ用のデータサイズ = 4[byte/step] 64[byte/endp]÷4[byte/step] = 16[step/endp] F500の時のデータ送信周期は、 0.300[msec/step]×16[step/endp]=4.8[msec/endp] 現在のデータ送信所用時間は約2.5[msec/endp]で、F500ならば間に合います。 2006.10.25(水) 昨日切削した回路パターンの一部を拡大しました。 1パス切削の溝幅は、約0.16mmです。 2パス切削の溝幅は、約0.33mmです。 2006.10.24(火) 回路パターンを切削しました。 1回の切削で完了しました。 バリ、削り残しはほとんどありません。 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 --------------------+--------+------+----------+--------+--------- Φ0.3mmドリル 0.07 ON F50 3,500 無し ワーク:t=1.6mm、片面プリント基板。 真空吸着テーブルを使用し固定。 2006.10.22(日) CNC Appを改造しました。 パネルの右半分(各軸の条件設定)は、メニュークリックで表示/非表示が出来ます。 1) XYZ共通設定項目を追加しました。 FADE :移動開始・終了時のフェードイン・アウトを許可します。 パルス/回転 :1回転当りのステップ数。 1相駆動 :ステッピングモーターを1相制御します。 2相駆動 :ステッピングモーターを2相制御します。 1−2相駆動:ステッピングモーターを1−2相制御します。 2) バックラッシュをステップパルス数で設定する様にしました。 軸回転の正逆でバックラッシュ量を変えられる様にしてみましたが、調整の結果は どちらも同じ値になりました。 長さによる入力よりも、反応が直接的で良好です。 3) XYZ操作フレームのテキストボックスに"p"を入力すると1ステップ分の回転を、 "b"を入力するとバックラッシュ補正分の回転を、各釦操作で行える様にしました。 バックラッシュ量の測定や、設定・確認に便利です。 4) アプリケーションの起動時に、1ステップの回転パルスを各軸に出力して、 バックラッシュ補正の初期化を自動で行うようにしました。 2006.10.18(水) 回路パターンを切削しました。 全体。バリはありません。 密集部分。 1回目の切削で完成に近い状態になった部分です。 削り残り。 2パスで溝幅の拡張をしています。 3回目の切削で溝がベークまで到達。 切り込み不足で島が残りました。 ランドの縦幅は約1.4mm。 1パス分の溝幅は約0.093mmです。 1) 切削状況 計4回切削しました。 切込量 切削回数 [μm] 切削状況 備考 ---------+--------+--------------------+---------------------------- 1回目 60 左側半分で削り残し 平面度測定後に切削 2回目 60 左側半分で削り残し 再度Z軸の原点を出して切削 3回目 70 一部に削り残し 使用可能な状態 4回目 80 ドリル折れ 4回目開始直後でした。 4回目はドリルが降下した時に、すでに切削した溝にこじられて折れたようです。 2) 平面度補正 平面度の測定は2mmピッチで行いました。 浮き上がりは0から87μmでした。 補正の効果: 切り込み量と基板の浮き上がりで最大147μmの切り込み量では、ほぼ確実にドリ ルが折れるところ、補正オンで3回まで切削できました。 3) 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 --------------------+------------+------+----------+--------+--------- Φ0.3mmドリル 0.06〜0.08 ON F50 3,500 無し ワーク:t=1.6mm、片面プリント基板。 接着力が普通の両面テープで固定。 2006.10.15(日) 平面補正オンでの座標ずれを対策しました。 上 :傾斜パターンテスト。 → OK。 下左:放射パターンテスト。 → OK。 下右:渦巻きパターンテスト。→ OK。(円弧補間退行テスト) バイナリカウンタ回路パターンテスト。 → OK。 1) ペンテスト条件 平面度補正データ:補正間隔は2mm。 補正量は10μmステップで0から-50μm。 切り込み量・送り速度: 傾斜パターン : -60μm。 F70。 放射パターン :-150μm。 F70。 渦巻きパターン: -60μm。 F70。 回路パターン :-100μm。 F70。 渦巻きパターンによる円弧補間(G02,G03)の退行テストは、平面度補正オフと同じ 動作になります。 2) 対策 1. 仮想Z軸1ステップ移動毎に仮想X軸のステップパルス数の誤差を計算し補正。 誤差の計算結果を移動方向により修正する処理を追加しました。 2. 仮想3軸移動処理の最終段階で仮想X軸のステップパルスの不足分を補正。 主に1.が機能します。 2.は予備的な処理です。 3) パルス数の確認 出力パルスの総数と終了時のパルス累計(移動方向により+/-した値)を測定しまし た。 | 出力パルスの総数[個] | 終了時のパルス累計[個] パターン | X軸 Y軸 Z軸 l X軸 Y軸 Z軸 ----------+-----------------------------+-------------------------------- 傾斜 136,956 99,258 2,126 0 0 402(高さ1mm相当) 放射 120,392 125,516 19,142 0 0 402(高さ1mm相当) 回路 400,652 394,106 51,369 0 0 201(高さ0.5mm相当) 渦巻き 56,112 60,236 1,350 0 0 402(高さ1mm相当) X、Yともに原点に戻っています。Zはワーク表面より1mm又は0.5mm上昇させて終了し 結果です。 4) 最大補正量の確認 仮想X軸のステップパルス補正一回分の最大量を測定しました。 最大 | 仮想3軸移動パルス | X軸に対する パターン 補正量 | X軸 Y軸 Z軸 | 補正の割合[%] ----------+---------+----------------------+---------------- 傾斜 3 801 454 76 0.37 放射 4 742 131 4 0.54 回路 1 102 92 4 0.98 仮想3軸移動処理として良好な結果です。 追伸: 昨日の数式 int x_def = .... は正確に答えを出しています。 ソースリストの見落としで、計算の結果を間違えました。 2006.10.14(土) 平面補正オンで座標がずれる原因と思われる箇所が分かりました。 次式でパルス数の差分を求めます。 int x_def = (int)((double)i * (double)(v_sx) / (double)v_pz - (double)x_total); 大半は正しい答えが得られるのですが、 i=3, v_sx=-803, v_pz=60, x_total=-41 の時の答えは、0のはずが2になります。 結果、想定外の逆方向回転パルスが生成され、座標がずれてしまいます。 試しに同じ式を他の処理ルーチンをコールした後に実行すると、答えは0です。 対応策は五里霧中です。 2006.10.12(木) 平面補正オンで座標がずれます。 原点から G01 X10 Y10 を実施した場合 平面補正 補正値 座標ずれ 使用移動ルーチン ----------+------------+-----------+------------------------------- オフ - 無し 2軸用を1回使用 オン 全て0 無し 2軸用を補正ピッチで複数回使用 オン 0から-50 有り 3軸用を補正ピッチで複数回使用 3軸移動用ルーチンの移動誤差が、同ルーチンを多数回使用することで累積した可能 性があります。 2006.10.08(日) ステッピングモータの変更(その2) Y、Zのモータを交換。 X、Y、Zの各送りネジとのジョイントを完了。 バックラッシュ補正調整後、ペンテストをしました。 拡大すると、斜線が少しうねっているように見えます。 Z軸モータの平面補正は、以前より滑らかな動きをします。 ペンテスト条件: 線間ピッチは1mmです。 切込量 平面 擬似補正量 送り速度 [mm] 補正 [μm] [mm/min] --------+-------+-------------------------------------+--------------- 0.05 ON 0から-90 (ステップ10、ピッチ2[mm]) F50 2006.10.06(金) ステッピングモータの変更(その1) ステッピングモータ(秋月通販)の軸に付いていたギヤーを取り外し、X軸に取り付け ました。 ジョイントの追加工は未対応です。 96ステップ/回転を400ステップ/回転に変更することで、最小送り量が10.4μmから 2.5μmになります。 送り速度の直線性: 1ステップ当りのパルス幅が従来の約1/4になり、パルス出力ルーチンの処理時間に近 づく為、送り速度の直線性に影響が出ます。 交換したモータで1回転の所用時間を測定し、F値に換算しました。 直線性は、おまけしてF50迄。 パターン切削向きの速度です。 2006.10.04(水) プリント基板の銅箔の厚みとZ軸送り精度について検討しました。 1) 銅箔の厚み 切り込み量と切削状態 切削状態 G01 Zz 表面 境界 切り込み量 ↓ 銅箔 ↓ ベーク板 備考 ------------+-------------------------+----------------- 30μm │ ○ │ 銅箔が残る 50μm │ ○ 一部銅箔が残る 60μm │ │ ○ ベークが削れる 70μm │ │ ○ 深くベークが削れる 一般的な基板の銅箔の厚みの規格、18μm、35μm、70μmから、 実験に使用している基板の銅箔の厚みは35μmのようです。 2) Z軸送り精度 Z軸の送り精度を±10.4μmと言いたいところですが、1ステップの送り量は5μから 15μmとばらつく為、ワーストで±15μmとします。 切り込み量、基板上のA点の平面度測定値、切削中のZ軸の座標精度のそれぞれの ワーストケースを下表とすると、 項目 測定/指定 ワーストケース -------------------+-----------+------------------ 切り込み量 60 75 平面度測定時のA点 40 55 切削中のA点(補正量) 40 25 単位は[μm] 最大切り込み量 = 75 + 55 - 25 = 105μm になります。 Φ0.3mmドリルの刃先角が118度の場合、主切り刃の円錐の高さは90μmです。 ワーストケースでは、ドリルの主切り刃は基板に完全に埋没し、ドリルの側面の 高さ15μmが銅箔に接触します。 これはバリの原因だと思います。 水平の実線が基板表面。水平の破線が銅箔とベークの境界。 左は切り込み量60μmで、右は切り込み量105μmです。 仮に、移動精度が2.5μmまたは5μmに向上した場合の最大切り込み量は、 精度 最大切り込み量 ------+------------------- 2.5 67.5 5 75 この値ならば、Φ0.3mmドリルの主切り刃のみでの切削が可能です。 3) 精度向上対策 精度2.5μm及び5μmを達成するためには、 現在使用中のステッピングモータ(7.5度/ステップ、48ステップ/回転)を、 1.8度/ステップ、200ステップ/回転のモータに交換し、 下記の駆動方式のどれかを採用することになります。 要求精度 駆動方式 参考 -------------+----------------+---------------------------------- 2.5μm 1−2相 5μm 1相又は2相 1相の駆動トルク < 2相の駆動トルク 2006.10.01(日) テストパターンを切削しました。 画像から溝の幅は0.208mmから0.217です。 バリはありません。 切り粉は、ベーク分が少なく銅色をしていました。 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 --------------------+--------+------+----------+--------+--------- Φ0.3mmドリル 0.06 ON F50 3,500 無し パターン :横10mm×縦10mm。 溝と溝のピッチは1mm。 ワーク :t=1.6mm、片面プリント基板。 高さ自由クランプで固定。 補正ピッチ:2mm。 横6ポイント×縦6ポイント、計36ポイント。 2006.09.30(土) 送り速度の立ち上がりをシミュレーションしました。 パルス幅の倍率の最大は10で、倍率のステップは-2です。 2006.09.29(金) 送り開始と終了で、速リ速度の増減速を行うようにしました。 送 │ ------------------- り │ / \ 速 │ / \ 度 │ / \ │/ \ └───────────────────── 時間 ├────┤ ├────┤ 送り開始 送り終了 送り速度増速: 移動開始の時に、第1ステップのパルス幅を5倍、第2ステップからは1パルス毎に倍率 を1ずつ減らします。 送り速度減速: 移動終了の5ステップ前のパルス幅を2倍、4ステップ前を3倍と順次1パルス毎に倍率 を1ずつ増やします。 簡易方式ですが、Zの送りを数時間停止した後に移動を再開した時の脱調が無くなり ました。 2006.09.26(火) 基板の固定方法による平面度の経時変化を測定しました。 使用した基板は、縦40mm×横50mm、t=1.6mm、片面基板です。 CNC Appの「平面度測定」を使用しました。 1)「はがせる両面テープ」を全面に貼り付け。 変化量[μm]: Y座標[mm] 0 5 10 15 20 備考 ---------+----+----+----+----+----+--------------------------------- 1回目 3 3 14 36 58 ←測定値(=基準値) 2回目 0 0 11 0 0 ←1回目との差分。以下同じ。 3回目 0 11 22 11 22 4回目 0 22 22 22 22 5回目 0 11 22 22 31 6回目 0 22 22 22 31 7回目 0 11 22 22 31 6回目から約5分後に測定。 8回目 0 22 22 44 65 7回目から約4時間後に測定。 9回目 0 22 33 55 242 8回目から約20時間後に測定。 今回の用途には、適材ではないようです。 2) 接着力が「普通」の両面テープを全面に貼り付け。 変化量[μm]: Y座標[mm] 0 5 10 15 20 備考 ---------+----+----+----+----+----+--------------------------------- 1回目 -7 14 25 36 58 ←測定値(=基準値) 2回目 21 11 11 11 11 ←1回目との差分。以下同じ。 3回目 21 11 11 11 11 4回目 0 0 0 0 0 5回目 0 0 11 11 0 6回目 21 0 11 11 11 5回目から約10分後に測定。 7回目 0 -11 0 0 0 6回目から約10分後に測定。 8回目 21 0 11 0 11 7回目から約10分後に測定。 9回目 10 -11 0 0 0 8回目から約10分後に測定。 10回目 21 0 0 11 11 9回目から約10分後に測定。 今回の用途に向いていますが、剥すのに苦労します。 3) 高さ自由クランプで左右両端を固定。 変化量[μm]: Y座標[mm] 0 5 10 15 20 備考 ---------+----+----+----+----+----+--------------------------------- 1回目 3 -17 -27 -27 -17 ←測定値(=基準値) 2回目 0 0 0 -10 0 ←1回目との差分。以下同じ。 3回目 0 0 -10 -10 0 4回目 0 0 -10 -20 -10 5回目 0 0 -10 -20 -10 6回目 0 0 -10 -20 -10 5回目から約10分後に測定。 7回目 11 0 0 -20 -10 6回目から約30分後に測定。 8回目 0 0 0 -20 -10 7回目から約30分後に測定。 9回目 0 0 -10 -20 -10 8回目から約30分後に測定。 10回目 0 0 -10 -10 -10 9回目から約30分後に測定。 11回目 0 0 0 -10 -10 10回目から約20時間後に測定。 基板の取り付け・取り外しに便利で、小面積の基板向きです。 2006.09.25(月) テストパターン切削で、Y座標の10mmから15mmmでバリが発生しました。 Y座標 10mmから15mm付近。 Y座標 0mmから5mm付近。 バリの部分は溝が深いようなので、基板を貼り付けた直後からの浮き上がりの経時変 化を測定しました。 1回の測定所用時間は約1分半です。 変化量[μm]: Y座標[mm] 0 5 10 15 20 備考 ---------+---+----+----+----+----+---------------------------------- 1回目 0 0 0 0 0 2回目 0 0 11 0 0 3回目 0 11 22 11 22 4回目 0 22 22 22 22 5回目 0 11 22 22 31 6回目 0 22 22 22 31 7回目 0 11 22 22 31 6回目から約5分後に測定。 8回目 0 22 22 44 65 7回目から約4時間後に測定。 9回目 0 22 33 55 242 8回目から約20時間後に測定。(9/26) 測定値[μm]: Y座標[mm] 0 5 10 15 20 備考 ---------+---+----+----+----+----+---------------------------------- 1回目 3 3 14 36 58 2回目 3 3 25 36 58 3回目 3 14 36 47 80 4回目 3 25 36 58 80 5回目 3 14 36 58 91 6回目 3 25 36 58 91 7回目 3 14 36 58 91 6回目から約5分後に測定。 9回目 3 25 47 91 300 8回目から約20時間後に測定。(9/26) 2006.09.24(日) テストパターンを切削しました。 切削条件 切込量 平面 送り速度 回転数 使用したカッター [mm] 補正 [mm/min] [RPM] 切削油 --------------------+--------+------+----------+--------+--------- Φ0.3mmドリル 0.07 ON F50 3,500 無し パターン:横26mm×縦16mm。溝と溝のピッチは1mm。 ワーク :t=1.6mm、片面プリント基板。はがせる両面テープで固定。 2006.09.23(土) 3軸同時移動プログラムを修正し、ペンテストを行いました。 左:線間ピッチ1mm。 右:半径10mmの円と、円を36等分する35本の直線。 切り込み量:-0.15mm 平面補正量:0から-90μm。縦横5mmピッチで設定。 修正の概要:→印の行を追加しました。 X>Y>Zの時に実行します。 while(Zのステップ数分を繰返す){ while(Zの1ステップ当りのYステップ数の半分の回数分を繰返す){ Yの1ステップ当りのXステップ数の半分のパルスデータを生成する Yの1ステップ分のパルスデータを生成する Yの1ステップ当りのXステップ数の半分のパルスデータを生成する } Zの1ステップ分のパルスデータを生成する while(Zの1ステップ当りのYステップ数の半分の回数分を繰返す){ Yの1ステップ当りのXステップ数の半分のパルスデータを生成する Yの1ステップ分のパルスデータを生成する Yの1ステップ当りのXステップ数の半分のパルスデータを生成する → Xステップの不足分を補正するパルスデータを生成する } } 参考: 上記のX,Y,Zは仮想の3軸です。 NCコードでX、Y、Zの移動量の大きい順に、仮想3軸 処理プログラムのX,Y,Zに順に移動量データを割り付けてパルスデータを生成後、 逆のプロセスでデータを入れ換えてメカ駆動用のパルスデータにします。 2006.09.21(木)(U) 切り込み量の変化にペン先を追従させる為に、 ボールペンの芯の上部を約7mmカットし、圧縮コイルバネに置き換えます。 L型補強金具にクランプし、モーターカバー取り付け用のネジ穴に固定します。 金具の水平部分の中ほどを凹に削れば、モーターを外さずに済みます。 平面度補正オンでペンテストをしました。 補正量は-0.06mmから-0.226mmです。 右下がりと左上がりで書いた線の線間(1mm)がふぞろいで、段差のある線になりまし た。 2006.09.21(木)(T) 3軸の同時移動処理プログラム変更後の動作確認を行いました。 参考画像:左からX軸測定、Y軸測定、Z軸測定。 原点から G01 X10 Y10 Z10 と G01 X10 Y5 Z2 の実行結果です。 指定値 | 移動量[mm] X Y Z | x y z -----+----+----+-------+-------+--------- 10 10 10 | 10.00 10.00 10.01 10 5 2 | 10.00 4.99 1.98 2軸の同時移動処理プログラムも、Xの全ステップの中に、Yステップをほぼ均等に配 置する方式に変更しました。 2006.09.20(水) 3軸の同時移動(G01 X10 Y5 Z2)で、移動量に誤差が発生するため、新たな移動量の算 出方法を検討しています。 現行方式: Zの1ステップ送りに対するY,Xのステップ数を計算します。 計算結果をdoubleからintへ型変換する際の切捨て分の補正が不十分でした。 検討中の方式: Xの全ステップの中に、YとZのステップをほぼ均等に配置します。 2006.09.18(月) 切削中の座標表示の方法を からに変更しました。 左は、始点→終点を点滅で表示。 右は、切削中の現在座標をステップパルス毎に更新します。 主な変更点: 1) パルス出力用のbyte型1元配列をプログラムで区切り、パルス幅とX、Y、Aの各相 のパルスデータを格納する方法を廃止。 2) パルス出力用の構造体配列を追加。 構造体メンバー public int time; // ステップパルス幅[μs] public byte xy; // 下位X相、上位Y相 public byte za; // 下位Z相、上位A相 public int x_pos; // X始点からのステップ数 public int y_pos; // Y始点からのステップ数 public int z_pos; // Z始点からのステップ数 public int a_pos; // A始点からのステップ数 構造体の使用方法はこちらを参考にして下さい。 3) パルス出力ルーチンで、各軸の始点からのステップ数から表示座標を計算。 表示座標[μm] = x_cur + (x_pos × x_pitch ÷ x_step) x_cur :始点座標 [μm] x_pos :始点からのステップ数 [カウント] x_pitch:送りネジのピッチ [μm/回転] x_step :1回転当りのパルス数 [カウント/回転] 4)「始点→終点」点滅用のtimer2のイベント割込みを禁止。 timer2コンポーネントは削除する予定。 2006.09.16(土) Y軸用の軸受けです。 ストッパーをナイロンナットに変更しました。 改造前に、Y軸の送りネジに取付けられていたナットです。 軸受板を挟むベアリングの与圧を、より強く微調整する事が出来ます。 効果: バックラッシュが160μmから20μmに減少。 ワークテーブルの前後のガタツキも同様に減少しました。 2006.09.15(金) 平面度マイナス補正動作の確認を行いました。 切り込み量-70μmを基準に、10mm間隔でー側に10μmずつ反り返っていることを想定 した平面度のテストデータを使用しました。 補正用データ。X、Yともに10mm間隔 Y│ 0 -10 -20 -30 ↑│ 0 -10 -20 -30 (μm) └────────── → X 測定結果 Y│ 7 -14 -14 -26 ↑│-6 -9 -26 -26 (μm) └────────── → X 補正の方向はOK。 リニアリティーが不十分で、ステッピングモーターを48ステップ /回転から200ステップ/回転に交換すれば改善が期待できますが、このままテストを続 けます。 使用したNCコードです。ピックテスト読み取りの為、一時停止をM03で代用しました。 G01 Z-0.07 F20 M03 G01 X10 Y0 F50 M03 G01 X20 Y0 F50 M03 G01 X30 Y0 F50 M03 G01 X30 Y10 F50 M03 G01 X20 Y10 F50 M03 G01 X10 Y10 F50 M03 G01 X0 Y10 F50 M03 G01 X0 Y0 F50 M03 G01 Z0 2006.09.14(木) 平面度補正動作の確認を行いました。 (2006.03.11(土)に撮影した画像を使用) 切り込み量-70μmを基準に、10mm間隔で+側に10μmずつ反り返っていることを想定 した平面度のテストデータを使用しました。 補正用データ。X、Yともに10mm間隔 Y│ 0 10 20 30 ↑│ 0 10 20 30 (μm) └────────── → X 測定結果 X Y 補正量 切り込み量(μm) ------+-----+--------+---------------- 0 0 0 -71 10 0 10 -64 20 0 20 -59 30 0 30 -43 30 10 30 -43 20 10 20 -52 10 10 10 -55 0 10 0 -71 ステッピングモーターの1ステップ当りの送り量が約10.4μmの為、 10μm単位の補正では、切り込み量の変化幅が不均等で、補正量を増やす方向と減ら す方向でヒステリシス特性になっています。 テストに使用したNCコードです。 G01 Z-0.07 F20 G01 X10 Y0 F50 G01 X20 Y0 F50 G01 X30 Y0 F50 G01 X30 Y10 F50 G01 X20 Y10 F50 G01 X10 Y10 F50 G01 X0 Y10 F50 G01 X0 Y0 F50 G01 Z0 2006.09.13(水) CNC Appに「平面度結果クリア」と「平面度補正を許可(/禁止)する」メニューを追加しました。 「平面度結果クリア」 平面度測定結果データを格納した2次元配列をクリアー、更に平面度補正を禁止にし ます。 「平面度補正を許可(/禁止)する」 トグルで許可と禁止を切り換えます。 許可の場合は、平面度測定結果データを元にZ軸の高さ補正を実行します。 平面度補正の概略: 直線補間切削用関数 g01() を変更しました。 1) g01()はg01_exe()に名称を変更。別途 g01()を作成しこの関数からg01_exe()を目 標座標に到達するまで繰り返しコールします。 2) g01_exe()では、移動距離を平面度測定ピッチに制限します。 不足分は、g01()からの繰り返しコールで補います。 3) g01_exe()では更に、切り込み量の補正を行います。 G01 Z-0.07 等で指定された切込み量を変数 z_depth_cutに保存し、 移動先(ピッチごと)に最も近い平面度測定データを加えて切り込み量を補正します。 4) X,Y移動量の分割とZ軸の高さ補正をしたデータを引数とし、関数move_table()を コールします。 5) g01()へ戻り、目標座標まで移動したかを判定します。 EAGLE CADの mill-outlines.ulp が出力したHPGLコードは、輪郭が全て多角形で構成 されているため、HPGL2NC Appが変換したNCコードは全て直線補間のG01になります。 したがって、CNC Appの平面度補正は、関数g01()のみに追加しました。 動作確認: 「平面度補正を許可する」メニュークリックで、デバッグ用の平面度測定データの作 成を追加し、原点からG01 X20 Y20を実行しました。 X,Y,Zの3軸が同時に動き、X,Yが目標座標へ、Zが補正された座標へ移動することを 確認しました。 2006.09.09(土) X軸脱調対策 F50で脱調する為、送りネジ/ナットとジブの樹脂用グリスを拭き取り、機械油 粘土 #46を使用。 F120まで回復しました。 F100が安全に使えます。 グリスの時はF90が安全な送り量でした。 カップラーのビリツキ対策 中間のスライダーに樹脂用グリスを塗布。 ビリツキがなくなりました。 2006.09.08(金) CNC Appに「平面度測定」用の入力フォームを追加しました。 「平面度測定」メニューをクリックすると入力フォームがオープンします。 「OK」釦クリックで設定値をレジストリに保存します。 CNC Appのメインフォームからの設定値取得は、レジストリを介して行います。 新しいフォームの追加方法は「入力フォームの追加」を参照してください。 2006.09.06(水) CNC Appに「平面度測定」メニューを追加しました。 測定プローブ 1) プローブとP基板表面との導通をチェックします。 2) 導通が無ければ、4)へ進みます。 3) 導通があれば、Z原点からの降下量を記録し、プローブを上昇させて次のX,Yへ 移動し、1)から測定を再開します。 原点はP基板の左手前の表面です。 4) プローブを約10μm降下させます。 5) 1)から繰り返します。 X、Yともに10mm間隔で測定した結果(μm) 93 16 -35 -75 -105 -105 49 -15 -75 -135 -165 -185 60 -15 -85 -165 -215 -245 Y 60 -35 -115 -175 -245 -285 ↑ 82 -15 -105 -195 -255 -325 →X P基板の左手前を指で押し付けると少し下がる為、基板の反る力の方が、両面テープ の接着力よりも強いようです。 ピックテストを使用した測定では 1) P基板の手前側でX方向の50mm区間で、-150μmの右下がり。 ピックテストのプローブで基板の反りが多少矯正された為か、下がり量が減少し ています。 2) XYテーブルは手前側でX方向の50mm区間で、3μmの右上がり。 でした。 2006.09.04(月) スピンドル製作のその後。 テーパーピンをコレットに仕立て、主軸にΦ10mmのリニアシャフトを使用したスピン ドルの製作は棚上げにしました。 コレットを取り付ける度に刃物の芯ぶれが5μmから80μmとばらつき、改善の効果が ないため、フライス盤オリジナルのスピンドルとコレットに戻しました。 マイクロフライス盤にΦ10mmのリニアシャフトを取り付け、シャフトの外周で測定し た振れは3μmm。 これを利用し、テーパーピンコレット以外の方式で、いつか実験を 再開したいと思います。 脱脂したままのコレットに錆が出はじめました。 2006.09.03(日) 斜め移動時の送り速度補正の効果を測定しました。 原点からの移動時間をストップウォッチで計時し、少数点以下を切り捨てました。 簡易な補正方法ですが、実用上支障の無い誤差範囲だと思います。 -の誤差は、F設定値より送り速度が速いことを表します。 斜め切削時の刃物に掛かる負荷を改善できました。 1) X,Y 2軸同時移動 実行コード:G01 X10 Y終点 F10 補正後 補正後の 補正前の Y終点 計時(s) 誤差(%) 誤差(%) ------+--------+----------+---------- 0 61 1.67 1.67 1 63 4.48 1.16 2 65 6.23 -0.31 3 67 6.96 -2.62 4 70 8.32 -5.60 5 72 7.33 -9.07 6 75 7.19 -12.82 7 77 5.13 -16.71 8 80 4.12 -20.61 9 82 1.58 -24.43 10 85 0.17 -28.11 2) X,Y 2軸同時移動 実行コード:G01 X10 Y終点 F50 補正後 補正後の 補正前の Y終点 計時(s) 誤差(%) 誤差(%) ------+--------+----------+---------- 0 13 8.33 8.33 1 13 7.80 7.80 2 14 14.40 6.23 3 14 11.75 3.76 4 15 16.06 0.58 5 15 11.80 -3.10 6 16 14.33 -7.10 7 16 9.23 -11.25 8 16 4.12 -15.41 9 17 5.30 -19.48 10 17 0.17 -23.40 3) X,Y,Z 3軸同時移動 実行コード:G01 X10 Y10 Z終点 F10 補正後 補正後の 補正前の Z終点 計時(s) 誤差(%) 誤差(%) ------+--------+----------+---------- 0 84 -1.01 -1.01 1 87 2.28 -1.25 2 88 2.69 -1.98 3 90 3.76 -3.16 4 94 6.60 -4.74 5 95 5.56 -6.67 6 96 4.15 -8.87 7 98 3.51 -11.28 8 100 2.58 -13.84 9 102 1.41 -16.48 10 104 0.07 -19.17 4) X,Y,Z 3軸同時移動 実行コード:G01 X10 Y10 Z終点 F50 補正後 補正後の 補正前の Z終点 計時(s) 誤差(%) 誤差(%) ------+-------+-----------+---------- 0 17 0.17 0.17 1 18 5.80 -9.08 2 18 5.02 -0.81 3 18 3.76 -2.01 4 19 7.73 -3.61 5 19 5.56 -5.56 6 20 8.49 -7.78 7 20 5.62 -10.22 8 20 2.58 -12.81 9 21 4.40 -15.49 10 21 1.04 -18.21 2006.08.31(木) CNC Appに2軸又は3軸を同時に駆動する時のF値補正を追加しました。 1) 2軸が同時に駆動する場合は、移動距離が約1.41(ルート2)倍になる為、指定された F値を1/1.41倍して補正します。 2) 3軸が同時に駆動する場合は、移動距離が約1.73(ルート3)倍になる為、指定された F値を1/1.73倍して補正します。 2軸同時制御の例: 現在座標(X0、Y0)から目標座標(X10、Y1)に移動する場合、 1) X方向に4パルス分をF値で送り、 2) X方向の5パルス目は、Y方向も同時に1パルス送ります。 このとき、移動方向が45度に傾いて移動量が増える為、F値を1/1.41倍します。 3) X方向の6パルス目から10パルス目までは、F値で送ります。 4) 1)から3)をX10、Y1まで繰返します。 現在座標(X0、Y0)から目標座標(X10、Y10)に移動する場合、 X方向に1パルス出力する毎にY方向も1パルス出力します。F値は毎回1/1.41倍します。 F値はint型の為、100倍した後に141で割って補正値を求めます。 2006.08.30(水) Φ0.8mmドリルで部品穴あけ。 ドリルの移動途中に、X軸用ステッピングモーターが数回脱調しました。 Φ0.3mmドリルでパターン切削。 途中で折れました。 切込量が深くなっていました。 原因として 1) 上下移動の誤差が集積。 2) 上昇時にステッピングモーターが脱調。 3) P基板のそり。 4) テーブルの傾き。 切込量以外の原因としては 5) XYの合成ベクトルの移動時間補正が無く、斜め移動時にF値が上がる。 6) ドリルの突き出し量を多くした。今までは約1mmで、今回は約2mm。 など、ソフトとメカの変更や調整が必要です。 切削条件 切込量 送り速度 回転数 使用したカッター [μm] [mm/min] [RPM] 切削油 --------------------+--------+----------+----------+--------- Φ0.3mmドリル 70 F50 3,500 無し ワークは、t=1.6mm、片面プリント基板。はがせる両面テープで固定。 2006.08.29(火) 切込量を変えてパターン切削をしました。 切込量 画像から求めた (上から) 備考 溝の幅 ---------+---------------------------+----------------- 160μm 途中でドリルが折れました。 0.36mm 140μm ばりが多くて非実用的です。 0.36mm 120μm 〃 0.36mm 100μm 〃 0.33mm 80μm 〃 0.31mm 60μm 実用的です。 0.28mm 40μm P基板のそりが心配です。 0.19mm 20μm 銅箔が残ります。 0.16mm 切削条件 切込量 送り速度 回転数 使用したカッター [μm] [mm/min] [RPM] 切削油 --------------------+--------+----------+----------+--------- Φ0.3mmドリル 70 F50 3,500 無し 溝のピッチは1mm。 ワークは、t=1.6mm、片面プリント基板。はがせる両面テープで固定。 ドリルは、Φ0.3mm拡張スリーブ(紙片一重巻)に取り付。 ドリルの先端は、スリーブ端から約1mm出しています。 2006.08.28(月) Φ0.3mm拡張スリーブ、使えるものとして2個目です。 習熟度が上がった為か、トラブルなく完成しました。 旋盤のチャックに取り付けて測定した芯ぶれは、 Φ0.3mmドリルのシャンク部で5μmから10μmです。 構造の変更点 1) シャンク側からの穴あけ径を1.5mmから1mmに変更。 ネジ部の厚みを増やして剛性を向上させる為。 2) 全体長を20mmから25mmに変更。 ロックナット締め付け時のネジの山数を増やす為。 作業の変更点 1) Φ3mmのネジ立ての手順をΦ0.3mmの穴あけ後から、穴あけ前に変更。 ネジ加工によるチャック部の歪を排除する為。 2) スリット加工時に、0.1tのフライスカッターを上下からΦ22mmの平ワッシャーで 挟みカッターの振れを防止。 スリットの曲り防止と、スリット幅の均一化の為。 2006.08.27(日) センターで長さ5mm切削後、上下に0.1mm振って長さ4mm切削。 センター位置を1mm上げて、同様に3本を切削。 刃物の移動は左から右です。 画像から 1) 刃物の移動方向に対して左エッジは、約0.041mm切削量が減少 (0.059mm-0.1mm)/0.1mm*100=-41% 2) 刃物の移動方向に対して右エッジは、約0.018mm切削量が増加 (0.118mm-0.1mm)/0.1mm*100=+18% 3) 3本分の溝幅は、約0.03mm減少 (0.41mm-0.44)/0.44mm*100=-6.8% 増減が無い場合の3本分の溝幅を0.44mmとして計算。1本の溝幅は0.24mm。 切込量 送り速度 回転数 使用したカッター [μm] [mm/min] [RPM] 切削油 --------------------+--------+----------+----------+--------- Φ0.3mm 2枚刃 70 F50 3,500 無し ワークは、t=1.6mm、片面プリント基板。はがせる両面テープで固定。 カッターは、Φ0.3mm拡張スリーブ(紙片一重巻)に取り付。 切削に使用したNCコード G00 Z0.5 M03 G01 Z-0.07 F50 G01 X5 F50 G00 Z0.5 G00 X1 Y0.1 G01 Z-0.07 F50 G01 X5 F50 G00 Z0.5 G00 X1 Y-0.1 G01 Z-0.07 F50 G01 X5 F50 G00 Z0.5 G00 X0 Y1 G92 X0 Y0 M05 M30 2006.08.26(土) 2枚刃カッター、駄目もとの切削テストでしたが、意外に好結果です。 拡張スリーブに取り付けたΦ0.3mmの2枚刃カッター、実はドリルです。 このドリルは、すでに3個のテーパーコレットに穴をあけ、エンドミル的な切削にも 耐えいます。 平均的に2本のドリルで、1個の拡張スリーブ又はコレット製作の実績 からすると、驚異的です。 近々殿堂入り(ケースに入れて封印)の予定です。 以前、このピンバイス に、Φ0.3mmのドリルを取り付けて切削実験をした時は、 X軸の送り開始と同時に折れた為、ドリルによるパターン切削を諦めていました。 今回のテストで、可能性が少し見えた様に思います。 2006.08.25(金) スピンドルに対して、コレットの取り付け位置を約60度ずつずらして切削しました。 カッターとコレットの位置は固定です。 切込量 送り速度 回転数 使用したカッター [μm] [mm/min] [RPM] 切削油 --------------------+--------+----------+----------+--------- Φ0.3mm 2枚刃 70 F50 3,500 無し ワークは、t=1.6mm、片面プリント基板。はがせる両面テープで固定。 カッターは、Φ0.3mm拡張スリーブ(紙片一重巻)に取り付けました。 ピッチは1mmで、画像から算出した溝の幅は0.24mmです。 2006.08.24(木) 使用したカッター 切込量 送り速度 回転数 (上から) [μm] [mm/min] [RPM] 切削油 --------------------+--------+----------+----------+--------- Φ0.3mm 2枚刃 70 F50 3,500 無し Φ0.3mm 2枚刃 70 F50 3,500 有り Φ0.3mm 2枚刃 70 F25 3,500 無し Φ0.3mm 半月カッター 70 F50 3,500 無し ワークは、t=1.6mm、片面プリント基板。はがせる両面テープで固定。 ピッチは、1mmです。 カッターは、Φ0.3mm拡張スリーブ(紙片一重巻)に取り付けました。 高さ3mmで"ioio"を切削しました。 左側の1目盛りの間隔は0.5mmです。 切込量 送り速度 回転数 使用したカッター [μm] [mm/min] [RPM] 切削油 --------------------+--------+----------+----------+--------- Φ0.3mm 2枚刃 70 F50 3,500 無し 2006.08.23(水) Windows XPの 「スタート」「プログラム」「アクセサリ」「システムツール」「システムの復元」 でシステムを8月21日までロールバックし、CNC Appが動作するようになりました。 2006.08.22(火) CNC Appが使えず、ソフト作成も出来ない状態になりました。 経緯: パターンテスト切削中に「Z軸動作せず」が発生。 デバイスドライバーを無効にしようとして、削除をクリック。 この操作が不適切でした。 以後、 EZ-USBを新しいハードウェアーとして検出しても、 デバイスドライバーのインストールが出来きません。 サイプレスのデバイスツールを再インストールしても、 デバイスドライバーが不明の状態です。 「Z軸動作せず」の原因: Z軸ステッピングモーター用コードが基板のコネクターから抜けていました。 2006.08.21(月) 1) Φ0.3mm拡張スリーブに紙片(t=約0.05mm)を一重に巻いてコレットに圧入。 1) コレット位置を変えて切削 切削条件 -------------+----------------------------------- 刃物 Φ0.3mm半月カッター コレット位置 およそ60度ずつ回転 切削油 無し 回転数 3,500[RPM] 送り速度 50mm/min 切込量 70μm ワーク t=1.6mm、片面プリント基板。はがせる両面テープで固定 下し金の様なバリはありません。(2006.06.26(月)) 2) 切削油と回転数 切削条件 -------------+----------------------------------- 刃物 Φ0.3mm半月カッター コレット位置 2)の一番上と同じ 切削油 タップオイル塗布 回転数 上の3本:17,000[RPM]。 下の3本:3,500[RPM] 送り速度 50mm/min 切込量 70μm ワーク t=1.6mm、片面プリント基板。はがせる両面テープで固定 2006.08.19(土) スピンドルの回転音をFFT解析しました。 左:ベアリング交換後。 右:ベアリング交換前(2006.06.09(金)に測定) 暗騒音(スピンドル回転オフ。部屋の騒音です。) PCのファンの音が6月よりも大きくなっているようです。 3500回転 500Hz付近のレベルが下がり、3KHz以上のレベルも下がったようです。 5000回転 600Hz付近と3KHz付近のレベルが下がり、2KHz付近のレベルが上がりました。 1700回転 2KHz付近のレベルが上がり、3KHz以上のレベルが下がりました。 各回転数で3KHz以上の周波数成分のレベルが下がったことで、耳障りな音が減少した ようです。 測定条件 -----------+-------------------------------------- マイク SONY DYNAMIC F-V80T 録音VOL 最大 (録音コントロールパネルで) 距離 コラムから100mm 切削 せず (空転) FFT RH1 FFT 2006.08.18(金) ベアリング2個を新品(6000ZZ)と交換し、スピンドルを元に戻しました。 Eリングを取り付けます。 Φ3mmの六角穴付ボルトでスピンドルを引き上げます。 カップラー取り付け、Cリング取り付け後、モーターを回転させて振動、回転音が最も 少ない位置でモーターを固定します。 改善点 1) スピンドルのラジアル方向のガタツキがなくなりました。 2) 耳障りな回転音が少なくなりました。 芯ぶれ 刃物 取り付け毎のばらつき[μm] --------------------+----------------------------------- Φ3.2mmドリル 23から50 Φ3mmエンドミル 30から40 Φ0.3mm拡張スリーブ 20から80 2006.08.17(木) 2006.08.17(月)製作の主軸 をアンギュラー玉軸受けとセットカラー各2個でコラムに仮止めしました。 主軸のスラスト、ラジアルのガタは無く、芯ぶれは3μmです。 2006.08.03(木)製作のΦ0.3mmコレット 2006.08.19(水)製作のΦ0.8mmコレット を主軸に取り付けました。 Φ0.3mmのドリルシャフトの芯ぶれは85μm。 Φ0.8mmのドリルシャフトの芯ぶれは78μm。 でした。 2006.08.15(火) 上:スピンドル構成部品 中:軸受け構成部品、他にコラム一体のベアリングホルダー。 下:スピンドル、ベアリング抜取りに使用した冶具 冶具は、厚さ4mm、幅15mm、長さ100mのL型補強金具(@120)から切り出しました。 2006.08.14(月) ベアリングを引き抜きました。 引き上げ用の鉄板を、ベアリングの穴から入れます。 中央にΦ4mmタップ加工。 引き上げ用の鉄板に、Φ4mmの寸きりネジを取り付けます。 ブリッジ板、ワッシャー、ナットを取り付けます。 スパナでナットを回す毎に「ピシッ」と音がして、ベアリングが外れました。 スピンドル落下防止用(?)のEリングと、コレット側のベアリングが見えます。 2006.08.12(土) スピンドルを引き抜きました。 3mmの六角穴付ボルトを取り付け。 冶具の4mm六角穴付ボルトを回し、3mmボルト+スピンドルを押し下げます。 スピンドルにEリングによると思われる引掻き傷がつき、 同リングは上下のベアリングの間に残りました。 (Eリングで、カップラーが破損した時のスピンドル落下を防止しているようです。) コレット側(下側)のベアリングが動いた様子はありません。 2006.08.10(木) スピンドル側のカップラーを外しました。 ネジの緩み止め?を取り除きます。 3mmの六角穴付ボルトを外します。 紐を掛けて引き抜きます。 2006.08.09(水) Cリングを外しても、ベアリングはびくともしません。 モーター側から叩き出す必要があるのかもしれません。 2006.08.03(木) テーパーコレットにΦ0.3mm×2mmの穴あけ(その4)。 Φ0.3mm×2mmの穴あけ終了。芯ぶれは3.5μmです。 前回もこの段階では芯ブレが8μm以下でした。 0.1mmのスリット加工で、芯ブレが大きくなります。 2006.08.01(火) テーパーコレットにΦ0.3mm×2mmの穴あけ(その3)。 位置(度) 芯ぶれ量(μm) 割合(%) ----------+-----------------+--------- 0 32 10.7 90 62 20.7 180 88 29.3 270 37 12.3 0 22 7.3 ------------------------------------- MIN 22 7.3 MAX 88 29.3 平均 48.2 16.1 2006.07.29(土) テーパーコレットにΦ0.3mm×2mmの穴あけ(その2)。 上:以前製作したΦ0.8mm用コレット。 下:今回作成したΦ0.3mm用コレット。 芯ぶれが120μm以上ある為、失敗作です。 Φ1.0mmのロングストレートドリルは振れが大きくて使用できませんでした。 テーパー部分を10mm短くし、Φ1.0mmのストレートドリル(一般品)を使用し、 写真の右端手前2mmまで14mmあけました。 コレットには、左端からΦ3.2mm×13mmのタップ用下穴があいています。 未加工コレットは残り二つです。 2006.07.28(金) Φ1.0mmのロングストレートドリルとΦ0.3mmのストレートドリルが到着。 穴あけ待ちのテーパーコレットにトライします。 2006.07.24(月) 1) Φ0.3mm用コレットの取り付け位置をずらした時の芯ぶれ量を測定しました。 位置(度) 芯ぶれ量(μm) 割合(%) ----------+-----------------+--------- 0 31 10.3 45 45 15.0 90 32 10.6 135 67 22.2 180 80 26.7 225 85 27.6 270 51 17.0 315 51 17.0 0 37 12.3 ------------------------------------- MIN 31 10.3 MAX 85 27.6 平均 53.2 17.7 0度は、シャフトとコレットを組み合わせてΦ0.3mmを開けた位置です。 2) これまでのΦ0.3mmとΦ0.8mmの穴あけ状況です。 項目 Φ0.3mmドリル Φ0.8mmドリル ---------------+---------------------+------------------------------- 深さ実績 2mm(直径の6.7倍) 8mm(直径の10倍) 芯ぶれ 31μm〜85μm 8μm(チャンピオンデータ?) 穴あけ成功回数 4回 2回 折れたドリル数 24本 1本 3) スリットの根元にΦ1mmの横穴を開けてみました。 芯ぶれ量は改善されませんでした。 すり割りカッターで切ると、スリットの先端部が広くなる傾向があります。 2006.07.22(土) テーパーコレットにΦ0.3mm×2mmの穴あけ(その1)。 Φ0.3mmドリルのシャンク部の芯ぶれ量は41μmです。 ピックテストの読み値が31μm。 ピックテスト接触によるシャンクのたわみを10μmとしました。 振れが最小になる位置でシャンクがたわまないように、ピックテストの当りを調整し て測定しました。 Φ10mmシャフトの外周振れは5μmです。 2006.07.21(金) Φ0.3mmの半月カッター用にコレットを5個製作。 1個目は途中でドリルが折れて失敗、2個目でΦ0.3mmのドリルが2mm切り進んだところ で、引きネジ側から開けたΦ1mmの穴と貫通しました。 チャック機構が無い状態で、Φ0.3mmのドリルシャンクの芯ぶれは15μmから20μm位 です。 2006.07.19(水) Φ0.8mmドリル用コレットです。 Φ10mmシャフト(主軸)の芯ぶれ=4μm。 Φ0.8mmドリルシャンク部の芯ブレ=8μm。 上がコレット用ナット。 下は左から、Φ0.8mmドリル、コレット、主軸(Φ10mmシャフト)です。 2006.07.17(月) 上:主軸。左端からΦ6mm×20mm(1/50)のテーパー穴。右端までΦ4mmドリルで貫通。 下:コレット(テーパーピン)とΦ4mmの引きネジ。 左端から33mmまでテーパーを削り、Φ6mmにしてあります。 主軸にコレットを装着しました。 コレットにはまだチャック機構がありません。 2006.07.15(土) Φ10mmシャフトに加工したテーパー部分の芯振れは31μです。 2006.07.14(金) 1) Φ2.6mmで深さ27mmまでドリル。 2) Φ6mmで深さ30.5mmまでドリル。 3) Φ4mmで深さ80mmまでドリル。 4) Φ6mmのテーパーリーマーで、深さ20mmまでテーパー加工。 テーパーピンの勘合が少しゆるく、テーパーピンを寄せた時の外周の振れ幅は 最小 20μm 最大 28μm Φ10mmシャフトの外周の振れ幅は7μです。 2006.07.12(水) Φ10mmシャフト端面の焼入れ部分を削りました。 外周を避けて、ハイスのバイトで試し切削。 ドリルが使えそうです。 2006.07.09(日) 左:主軸用部材。Φ10mmシャフト、セットカラー、ボールベアリング。 右:コレット用部材。Φ6mmテーパーピン(1/50)。 です。 2006.07.07(金) 星に願いを。 「スピンドル製作」。 未知の領域です。 2006.07.03(月) Φ0.3mm半月カッターの芯ぶれ測定で、ピックテストを接触させた事によるカッター のたわみ量を測定しました。 導通テスターの(−)側を半月カッター側に接続、(+)側を刃物台のバイトホルダーに 固定。 ピックテスト接触時と非接触時で、導通ブザーが鳴る時の旋盤の刃物台送り ハンドル目盛り位置の差分を測定しました。 ピックテスト接触位置は、スリーブ端面から2mm。 テスター(+)側がカッターに接触(導通)した時のピックテストの指針の振れはありません。 ピックテスト ハンドル目盛り 読み(μm) 差分(mm) -------------+----------------- 33 0.01以下 58 0.01以下 75 0.01以下 送りハンドルの最小目盛りは0.02mmで、差分はその半分以下でした。
CNCの実験へ
サイトのTopへ
法律条項 この資料により生じたいかなる障害や損害に対し、著者は全てを免責されるものとします。 この資料は、著作権法の下で保護され、入手先、著者、日付、法律条項を含んだ場合にのみ複製が可能です。
inserted by FC2 system