2019年7月12日金曜日

NCとか、CAMとか

 なんか面白そうな資料ないかなーと思って探してたら、2005年頃のCAMソフトのアルゴリズムの紹介が出てきた。たぶんここ15年の間に新しいアルゴリズムや処理手段が出てきたり、いろいろ変化してるだろうけど、基礎的な部分の参考にはなりそう。まだ最初の方しか読んでないけど。
 2005年というと、CPUはPen4のシングルコア3.8GHz、OSだとWinXPとWinVistaの間、くらいの頃合い。

 この資料によると、平面(2D)の切削はG40番台の工具径補正とかを使って、NCマシン側でオフセットを行うべし、みたいな感じらしい。それによって、CAMは断面位置を指示するだけでいいので、マシンやツールによらないNCプログラムを作れるので、NCプログラムの汎用性が高まる。また、マシン側の工具径補正を使うので、ツールの摩耗とかもマシン・ツール毎に調整ができ、高精度な加工が可能になる、とのこと。
 ある程度の面を削る場合はCAMである程度の間隔で経路を設定するが、これもいくつかの方法がある。計算的に行う場合は、削る面を点とそれをつなぐ線で設定し、点を中心とした円(工具径)の接線を取ることにより、内側(or外側)にオフセットした線を引けるらしい。また、線が交差した場合は交点を端とし、交差しない場合は円と接続することで適切なツールパスが作れるらしい。この手法だと点で与えられた多角形のデータしか処理できないし、円弧を含む形状の場合は、その部分を別な処理にする必要がある(円弧なら、工具半径分大きくした円に接続すればいいわけだが)。

 計算的に処理する場合、CAM側で補正するか、マシン側で補正するか、は、まぁいろいろ利点欠点があるだろうけど、自分の場合はPCソフトに補正を組み込むか、マイコンファーム側に補正を組み込むか、の違いなので、計算能力が高くてリソースにも余裕があり、デバッグも容易なPC側に組み込むほうが簡単。ということで、やはりCAM側を高性能にしていく、というアプローチになる。

 計算的にやるにはいろいろなアルゴリズムがあるようだけど、当面は画像処理でゴリ押しかなぁ。ソフト屋の技術紹介でも、CAMにOpenCVとか使ってるらしいので、画像処理でゴリ押しは間違ったやり方ではなさそう。

***

 マシン側のファームは、今は早送りをモータードライバの台形制御に任せているが、やはりマイコン側で速度指示を出すようにしたい。とはいえ、ドライバ側で加速度・減速度の補正がかかるから「ここで止めろ」と速度をゼロにしても、ある程度のオーバーシュートが発生してしまう。
 送り速度が60mm/minとかなら大した量ではないけど、600mm/min位になるとやはりある程度の大きさにはなる。早送りの場合は1200mm/minくらいで送りたいので、オーバーシュートが無視できない。特にZの場合は+の機械リミットに余裕がないし、-にオーバーシュートするとワークやベッドに突っ込むから、オーバーシュートが大きいと困る。まぁ、ZはXYとは別に指示される傾向が強いから、Zの早送りは60mm/minくらいに制限する、みたいなアプローチもアリといえばアリなんだけど。
 それでも、Fusion360だと干渉しない経路で最短の早送りを出すモードとかもあるらしく、その場合は3次元的に送られるから、Zを含んでもすばやく動いたほうが良さそう。

 位置決めは位置誤差からPIDで速度に変換しているけど、実際には現在は比例制御のみを用いている。IDを追加するとP単体より特性が悪化してしまう。単純なP制御だとオーバーシュートが出るけど、かといってDを追加しても解消しない。位置誤差の微分は速度だから、オーバーシュートには関係ないよな。速度リミットの意味では多少は関係あるけど。
 今は単純な矩形制御だけど、台形で制御するようにすれば、オーバーシュートは解決できる。うまいやり方を考えないと。

***

 エンドミルを買うついでに、いろいろ部品も購入していて、ワークの固定ボルトとか。「これとこれを組み合わせたらうまくいきそう」と思って買っても、実際に試してみたら全然だめだった、みたいなのが結構ある。使わなかった部品の山がどんどん大きくなっていて心苦しい。
 少し径が大きいエンドミルも買ってみたけど、全長が長くて使いづらい。Z+端でも1x4材の上面より1.5mmくらい下がる。手動で表面を削るNCプログラムを作ってやれば、上面を荒削りできるけど、その用途に使うならミニルータ用のツールのほうが使いやすい。
 ボールエンドミルも買ってみたけど、これはZ+端でもベッドに突き刺さるので使えない。結局、ちゃんと確認してから買え、という話になってしまうのだが。
 amazonの中国製ツールとかは、基本的に中華CNCに使う道具なので、全長も短かったり、組み合わせて無理のない感じ。一方で、工具系のECサイトとかだと、大規模なフライスやマシニングを前提としているので、全体的に工具が長いとか、そういう傾向がある。

***

 とりあえず、NCコントローラーの機能追加とかをやったり、CAMソフトを作り直したり、というのをやっていく予定。基板切削はCAMができてから。どういう処理にするかも考えていないのでしばらく掛かりそう。
 結局どんな処理にしたところで切削に数時間~数十時間かかるのに変わりはないので、CAMソフト作りながら木でも削って連続稼働時間の実績積ませようかな。

0 件のコメント:

コメントを投稿