以前にもほぼ同じことを書いているのですが、リンク先が古くなっていてリンク切れになっていたり、プログラムを修正したりしたので再度書いておきます。

スポンサーリンク

機械原点を右上印とした時の、赤丸印をつけた3点のX,Y座標をそれぞれ計測し、そこから原点座標と直径を計算するプログラムを考えてみました。

原点計算

実際に工作機械で計算する用のマクロプログラムも書いてはあるのですが、かなりシステム変数に食い込んでしまうプログラムなので、制御装置が変わればプログラムも変更する必要があるため、とりあえず公開は控えたいと思います。

計算式自体は、円の方程式、(x-a)^2 + (y-b)^2 = r^2 を使用し、連立方程式を立て、 a と b と r を計算させました。

方程式の解の中で幾つかの条件で0で割るという演算が出てきてしまうので、その部分は別途条件判断で分岐する必要があります。

C言語で書いた元ソースがこちらになります → https://blog.garagekoh.com/archives/11

代わりに、座標を入力すると原点位置を計算するページを作成しました → http://nc.garagekoh.com/origin_measure.html

こちらで演算することができます。

 

なお、このプログラムをタッチセンサーでの自動測定などに応用する場合、タッチセンサーのX, Y軸のそれぞれの補正値を加味しないと原点位置がずれてしまうので注意が必要です。