「CNC」タグアーカイブ

RX24Tを使ったCNCコントローラーボード(その1)

CNCで、各軸を動かすモーター制御は、市販されているボードを使う事も出来るが、大抵はPCから制御するだけのボードで、PCを介さない状態で、手動で動かすインターフェースや、各軸の位置表示(PCの画面で行う)なども欲しいと思うので自作してみる事にした。
また、Gコードをパースするだけじゃない方法など色々なフォーマットや、インテリジェンスな制御系も試せる(カメラで画像認識を併用するなど)と思う、他にフライス盤をCNC化するのが中途な状態でもあり、最低2台は必要な事もある。

一般的に、Gコードのパース、制御では、「Mach3」が有名で、このソフトウェアーは非常に優れていて、柔軟性もあるのだが、ライセンス料が少し高い(自分にとっては)、また、ドライブのハードウェアーを簡単にする為、パラレルポートに直接駆動パルスを出力する仕組みで、PCの能力や、裏で動作するデーモン系の動作などに左右される印象を受ける(これは回避するHowToが十分整ってはいると思うのだが)、ハードやソフトを自作する方がよっぽど面倒で時間のかかる作業ではと思うのだが、「作ってみたかった」のが大きい。

マイコンは何にするか考えたが、自分の手持ちで手頃なのはRX24Tだ、このマイコン、元々はモーター制御などに適した構成のRXマイコンだけど、普通に他の用途に使っても十分な性能で、安く、CPの高いマイコンだと思う、ただ、USBは内臓されていないので、PCとのインターフェースはシリアル通信を使う事になる。(以前に10個まとめて買ったので、まだ沢山ある、@540)
・RX、32ビットコア
・80MHz動作
・PWMタイマーなどが80MHzで駆動できる。
・256Kのプログラムメモリーと16KのRAM
※最近では、CANインターフェース付きで、プログラムメモリーが512K、RAMが32Kの製品が、ほぼ同じ価格で販売されているようだ。(@570)

モーターはステップモーターなので、32段階のマイクロステップ動作が可能なドライバーを3台購入した。(1個7ドルほどだった)
「マイクロステップ」は、元々イギリスのベンチャー企業が始めたと思うのだが、磁気回路の特性に合わせて、相に流れる電流をベクトル制御する事で、見かけの分解能を再分割する技術だ、2相のステップモーターの場合、直交するXY軸の関係なので、それぞれ、サイン、コサインの電流割合で制御する事で、理論的には、無限大に分解能を上げる事が出来る。
今回買ったドライバーは、32段階までが可能なので、1回転200ステップのモーターなので、6400パルスで1回転の制御が出来る。
モーターの定格は、3Vで3Aのようだが、それは静特性で、動特性では、回転速度が速くなる程コイルのリアクタンスにより電流が流れにくくなるため、より高い電圧が必要になる、今回のドライバーは最大40Vで3.5Aまで可能なので、丁度良いと思う。
また、モーターを動かしたり停止したりを繰り返す場合、ドライバーはチョッパー動作でそれなりの効率ではあるが、モーターに蓄えらたエネルギーを吸収する必要があり、ドライバーはかなり発熱すると思うが、それなりに大きなヒートシンクが付いている。

とりあえず、モーターの回転は確認出来たので、ソフトを作りこんでいこうと思う。
まず、3軸同期で直線移動などだが、一般的には「ブレゼンハム」のアルゴリズムで、ステップパルスを生成するのが相場だろうが、自分は、分数を使う事にする(結果的にはほぼ同じだが・・)。
分数の場合、分母、分子を組で管理して、単純な足し算を使って行い、1以上になったら、パルスを発生させ、分子から分母を引く、このようにすると、切捨てが起こらないので、誤差が全く発生しない。
ハードウェアーは、リミットスイッチの入力インターフェースが無いので、それも載せる必要があるが、アイソレーションに使うフォトカプラが手元に無い・・
また、スピンドルモーターの制御用出力も載せる必要がある、スピンドルモーターは、三相モーターで、インバーターで制御するが、そのままだとOn/Offしか出来ない。
回転数の制御はボリュームなので、D/A出力も必要だろうか・・(シリアル接続で、コマンドで出来れば良いのだが、このインバーターには機能が無いようだ・・・)

CNC-6040を購入

東京から山梨の一軒家に引っ越して、もう9ヶ月になる。
いまだに、荷物整理などもままならない状況ではあるが、仕事も落ち着いて、多少時間を取れるようになったので、工作部屋の整理を始めた。

そして、中華のCNCを導入する事にして、今月の初めころ、物色していたが、オークションに出品されている物や、色々情報を集めた結果、「AliExpress」で買う事にした。
最初は、比較的手ごろで、バリエーションが多い「3020」系にしようと思ったが、イマイチ工作サイズが小さい、そこで奮発して「6040」系にする事にしたが、機材の値段は許容範囲でも、送料がかなり高い・・
それでも、日本の業者から買うよりはずっと安い。
このCNCは、基本、アクリルや、木材などがターゲットだが、アルミくらいなら、許容できる精度で削れるものと思う、また、改造すれば、剛性を上げたり色々出来るものと思う。

全て揃ったパッケージでは、日本向けに(電源電圧の仕様など)適当な物が少なく、バラで買う方が自分の好みの仕様に出来る事がわかって、バラで購入する事にした。

「バラ」と言っても、本体、ステップモーター、ステップモータードライバー、スピンドルモーター、スピンドルモータードライバー、くらいの分類で、色々選べる。

本体:
https://ja.aliexpress.com/item/Best-cnc-machining-aluminum-parts-mini-6040-CNC-router-lathe-assembled-motor-with-limit-switch/32868175584.html?spm=a2g0s.9042311.0.0.49974c4dSiOurA
先日、DHLで送られてきたー、送料だけで190ドル、本体600ドル。
本体は3軸分のステップモーターが付属しており、ちゃんとした?ボールスクリュー仕様で、剛性もそこそこありそうな物だった。
※探すと、もっと安い物はあるのだが、より剛性がありそうな物にしておいた。
ほぼ、組み立てられた状態で二つの箱に分けられて送られてきた、かなり重い(40キロ~50キロくらいある・・)

梱包を解いて取り出してみた、機材はほぼ組み立て済みで、Y軸とテーブル、XZ軸周りの二つになっている。
しかし・・・、いきなりトラブル、Y軸の移動は、オープン型の円形リニアガイドと20mmのシャフトが使われているが、指でラジアル方向に押すと明らかにガタつきがある・・・

どうやら不良らしいが、交換のやりとりや手間がわずらわしいので、リニアガイドだけ別途買って自分で交換する事にした。(LM20UUOP)
https://ja.aliexpress.com/item/MSM-Open-Type-Linear-Bearings-4pcs-lot-LM12UUOP-LM16UUOP-LM20UUOP-LM25UUOP-LM30UUOP-Shaft-Sliding-Ball-Bushings/32816522273.html?spm=a2g0s.9042311.0.0.49974c4dSiOurA
※4ピースで14ドル程度、一応、「高品質」な物を購入した。
日本でも大手のベアリングメーカーがリニアブッシュは扱っているが、オープン型は見つからなかった、また中華製だが、今度は大丈夫と思いたい・・(このくらいのトラブルは折込済みだ)
送料は無料だが、到着まで二週間くらいかかるようだ(多分船便なのだろう・・)

XZ軸部は、カバーのアルミが、おもっきり曲がってる・・・、梱包時に重いステップモーターの箱がこの上に乗っており、それで曲がったものと思う・・・

基本的に中華品質とは、そのような物で、その分安いので我慢する、それがイヤだったら、日本の業者から購入すれば良いだけの話。
※日本で買うと3倍以上のコストになると思う。
分解してみて、きり粉が、隙間に残っていたり、タップ立てがいい加減だったり、色々あるが、それくらいなら、自分で対応できる、基本的にそれが楽しめるくらいじゃないと駄目なんだと思う。
痛いのは、スピンドルモーターの仕様だ、写真の説明では65mmとなっていたので、直径65mmのスピンドルモーターを買ったが、実際には80mmのようだ・・・
スピンドルモーターは100ドルくらいなので買いなおすか、スペーサーを作って対応するか、思案中・・・
他に使いたい用途もあるので、物が届いたら、どうするか、また考える事にする。

追記:
よく調べたら、オープン型リニアブッシュ、日本製も扱ってた・・
ただ、値段は4倍くらいする(スチール製)、もう注文しちゃったので、それがイマイチなら、日本製に交換する・・
https://www.monotaro.com/g/00504277/