2021年6月26日土曜日

小型工作機CNC2418 その80(高速ブラシレスモーターを回してみる)

1年以上ぶりの「小型工作機CNC2418」シリーズであります(^^)
が、CNC2418の改造ではありません^^;
相変わらずトラップにハマりまくり長くなっております(-_-;)

先般、AliExpressを散歩してて、ふと見つけた
「日本電産製の200Wの3相ブラシレスモーター」
24Vで 41,000rpmってあって面白そうなのです。
3相ドライブボードも一緒に売ってて
取り敢えず、ブックマークしてました。
[Motor and Driver]で US$ 12.80(送料 $ 8.75)
上のはちょっと遊ぶには高いな~と探してると
こっちの方に、 US$ 7.25(送料 $ 4.54)が!
DC24Vで速度: 33800 rpmになってるけど、
モーター品番は「21F706L040」で上のサイトのと同じなのでポチッ(^^)

わりと早く届きました!
3相なので太い赤白黒の3本線の他、
位置検出信号用の細い線が5本(黒のヒシチューブ内)出ています。

早速、品番確認!
「21F706L040」でサイトの写真通りです(^^)
Datasheetを探しましたが、全くヒットしません(T_T)
Nidecのサイトが一番上にヒットするんですがね~

頭側から
775タイプのモーターより径は一回り小さく、長さ2/3程度
これで本当に200Wもあるのだろうか?

ドライブボード
3相なのでスイッチング用のPower MOS-FETが6個並んでます。
放熱板が要りそうな気配がしますね~

裏側
モーターの品番があるので専用ですね~
右下に小さなタクトスイッチ「SW1」がありますが
回路図も見つからず、何のスイッチかわからず仕舞いです。
ちなみに、動作テストで押したけど何も起こりませんでした。

簡易包装なので、落下でボードが死んでたらいけないと
まずは、電流制限付きのDC電源でテストしたら
8Vちょっとで回り始めて、9Vで約1A・・・ひとまず大丈夫でした(^^)
ドライブボードのスイッチング用のPower MOS-FETの
9Vでの発熱は小さそうなので、テストは放熱板なしでいけるかな?
それにしてもわずか9Vなのに回転音がとても高音で、
かなり期待できそうでワクワクするのでした(^^)

回転数を測るにしても、裸の軸では何も付けれないので、
コレットホルダー(ナット付)[ER11-6mm]もポチッっておりました。
コレットホルダーが数日先に届いております。
イモネジが付いているので、
叩けば入る程度のギチギチかと思いきや、
全く入る気配がありません(・o・)
どうやら軸と同じ穴径でクリアランスゼロのようです。

覚悟はしていましたが、
初の”焼き嵌め”とやらに挑戦するしかないですね~(^^)
普通、”焼き嵌め”は、バーナーで炙るようですが、
ブラシレスモーターは、ローターの方にネオジウム磁石がついています。
チンチンに加熱したコレットを軸に嵌め込む時に、
ローター内の磁石も加熱され磁力低下するのが心配です。

調べると、ネオジム磁石のキューリー温度は、300℃ちょっと。
熱減磁が比較的大きい磁石で、
20℃を100%だと、50℃:約95%、100℃:約90%に低下。
特に可逆範囲が狭く、約80℃程度まででないと元の磁力に回復しない。
ようなのです。
これは、コレットホルダーを加熱するにしても
できるだけ低目の温度でやって、さっと冷やしたいですね~

ということで、まずは、こいつでやってみようと
まだAliを知らない時に、Amazonのここで買ったもの。
使用用途は、みんな知ってるゲーム機PS3の修理ですね(^^)
後はプラの溶接とかできるな~と・・・まだやったことないですが(-_-;)

仕様は箱のこれです。
550℃までいけます。

デジタルで温度設定できるのは便利です。

挿さり過ぎ防止の銅線でリングを軽く巻いておきます。

この辺まで挿さることになります。
後で思うにギリギリまで挿したが良かったかな?

ちょっと危なっかしいですが...
リビングのテーブルの上に準備!

200℃から始めることにします。

テーブルに落とすとまずいので、こんな感じで...
200℃でも少し変色してきます。

200℃では、常温と変わらず、全く入る気配がないので
300℃に

300℃もダメなので(T_T)
え~い、一気に500℃だ!
少し叩けば入りそうな感じでしたが
途中で入らなくなると大変なことになるので
550℃がMAXのヒートガン方式は断念(-_-;)

小型のガストーチで炙ろうかと思いましたが
たぶん火力不足だろうので

もうこれでいくしかないでしょう!
炎の先の方で満遍なく熱します。

テーブルが焦げるとまずいので、キッチンのステンレス台に移動して^^;
すぐに冷却もできるしですね~
さすがに動画撮る余裕はありませんでしたが^^;
明るい部屋で赤熱のちょっと前位まで熱したので、700~800℃位かな?
軸に挿すと、スコッ!と入ったので、すぐに水をかけて急冷して
"初めての焼き嵌め"は無事に終了!
コレットホルダーは大きく変色しています。

もう少しキレイに変色するかな~と思ったのですが...
挿さり過ぎ防止の銅線リングを外します。

ちなみにこれは、CNC2418で使ってる775モーター
コレットは工場で焼き嵌めされてるので、キレイな色です。
炎ではなく、高周波誘導加熱なのでしょう。

マーティーが焼き嵌めしたヤツ
軸の根本が熱で変色してますね~
嵌め込んだ時に軸にかなり熱が伝わったのを物語っています。

もはやイモネジの意味はないのでしょうが
一応付けておきます^^;

動作確認の前にちょっと軸ブレを確認します。

ダイアルゲージはこれです(^^)
可動範囲は狭いですが、先端の向きが変えられるので便利です。
US $9.53(10% OFF、送料無料)
AliExpress.com Product - Accurate Dial Gauge Test Indicator Precision Metric with Dovetail Rails Mount 0-4 0.01mm Measuring Instrument Tool

では、ブレを動画で!
このモーター低速回転することができないので手動で回してます。

まずは、モーターの軸(6mm)
ほとんど針が振れない、3μmのブレというところでしょうか
さすが日本ブランド(^^)

マーティーが焼き嵌めしたコレットホルダーの胴体
1目盛ほどなので、10μm
まあ許せるかな~^^;

訳あって、先の方のブレは、後回しにして~
では、本命の回転数を診ることにします(^^)

回転数の検出は、何度か登場してるこの6枚羽根を使います。

以前、ここや、こっちのタコメーターで、同様のやり方で回転数を測定してますが
一応、スケッチから!
Arduino NANOで文字ベースの周波数カウンタ&タコメーター
6スリットとしてrpmを算出しています。
スケッチは、Google Driveのここに入れてます。
あっ!OLEDライブラリのインストールは、ここで格闘してます。
*****FreqCounter_Tachometer_6slit.ino*****
// Freqency Counter & Tachometer
// Arduino UNO & OLED I2C SH1106(128x64)
// Marty Vessel June, 2021

#include <Wire.h>              // for I2C6
//#include <SPI.h>             // If will use SPI
#include <Adafruit_GFX.h>      // https://github.com/adafruit/Adafruit-GFX-Library
#include <Adafruit_SH1106.h>   // https://github.com/wonho-maker/Adafruit_SH1106

#define OLED_RESET 4                  // PA4 for RESET SH1106 PDA
Adafruit_SH1106 display(OLED_RESET);  // RESET SH1106

volatile unsigned long LowTime    = 0; // INPUT PulseのHIGH期間[μsec]
volatile unsigned long HighTime   = 0; // INPUT PulseのLOW期間[μsec]
volatile unsigned long TotalTime  = 0; // INPUT Pulseの1周期[μsec]

int SensorIn = 7; // Arduino UNO PD7

void setup() {
  pinMode(SensorIn, INPUT);                 // Tachometer Sensor Input
  display.begin(SH1106_SWITCHCAPVCC, 0x3C); // SH1106、I2C Address:0x3C

  display.setTextSize(1); // FONT Size x1
  display.setTextColor(WHITE);
}

void loop() {
// pluseIn usage
// unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout));
// pin: 入力ピン
// state: カウントするレベル型、HIGH or LOW
// timeout: カウントのタイムアウト時間(μsec)、Default 1000000μsec(1sec)

  HighTime = pulseIn(SensorIn, HIGH,500000) ; // timeout:0.5sec μsec
  LowTime = pulseIn(SensorIn, LOW,500000) ; // timeout:0.5sec μsec
  TotalTime = HighTime + LowTime ;

  display.clearDisplay();             // clears display from any library info displayed 
  display.setCursor(2, 2); 
  display.print(HighTime) ;
  display.print(" usec") ;
  display.setCursor(2, 10); 
  display.print(LowTime) ;
  display.print(" usec") ;
  display.setCursor(2, 18); 
  display.print(TotalTime) ;
  display.print(" usec") ;
  unsigned long Freq = 1000000 / TotalTime ;
  display.setCursor(2, 26); 
  display.print(Freq) ;
  display.print(" Hz") ;
  // 6スリット、100Hz位で四捨五入してRPM値を計算
  unsigned long RPM = ( Freq * 10 +50) /100 *100 ;
  display.setCursor(2, 34); 
  display.setTextSize(2); // FONT Size x2 RPM表示のみ2倍文字
  display.print(RPM) ;
  display.print(" rpm") ;
  display.setTextSize(1); // FONT Size x1に戻す

  // 描画バッファの内容を画面に表示
  display.display();

  delay(200) ;
}
*********

テストなので簡素な表示です。
パルスの周波数カウンタ 兼 6スリット用回転数計です。
上からHIGH時間、LOW時間、1周期、周波数
一番下が、6スリットでの回転数です。
この例では、1298Hz x 10 = 12980rpm ≒ 13000rpm というわけです。
6スリットで30000rpmの時、センサー出力:3000Hz
分解能:1μsec なので、±1カウントの誤差で±90rpm
30000rpmの±0.3%なのでいいでしょう!

実体配線図です。

センサーは、随分前に買ってたインタラプト型のこの2種類。
間隔が狭いやつでやることにします。
この時、ここにトラップがあるとは、マーティーは知る由もなく・・・

ジャーマンスタンドで固定します。

全景はこんな感じです。
電源リードのむき出しは、この後、テープ貼りました(^^)

電源は、この可変タイプを使ってます。
US$ 38.99(送料無料)
AliExpress.com Product - AC 110/220V to DC 0-48V 10A 480W Switching Power Supply Transformer Adjustable Switch Power with Digital LED Display Terminals

この辺りの電圧からやっと回り始めますが、
脱調してるような音なので、正常な回転ではないようです。

いきなり、5200rpmでました。
(rpmの文字が小さい時の写真ですが)

そこからちょっと電圧を上げると
安定してギンギン回り始めました。

が、センサーからパルスが出なくなったみたいで
回転が検出できないのです(T_T)

スリット円盤を黒に塗ってみましたが
ダメ(T_T)
オシロで波形を見ればいいのでしょうが...(-_-;)

得意のマウスの基板のセンサーでやってると
24Vで30000rpmを超えた!と思ったら
センサーがスリット円盤に接触して
吹っ飛んでしまいました(T_T)

ブレてますが、スリット円盤が吹っ飛ぶ直前、
24Vで33900rpmの写真が撮れてました^^;

右側の透明パッケージのLEDのレンズ部分が削られてます(T_T)

破損前の写真を探してきました。
これは、ドーム型のレンズ部分が確認できますが
上の写真では、キレイに吹っ飛んでます(T_T)
厚紙といえど、高速回転では、プラをも削れるってことですね。

さ~て、また厚紙のスリット円盤を作らないといけません(T_T)
今度は、こういう形状にしてみます。

Fusion360を立ち上げるのは、数カ月ぶりかな~
手加工でカットするかな~と、PDFで図面出力しようとしたら
ドッヒャ~!
いつの間にか「個人用 商用不可版」では、PDF出力できなくなってます。
いくらなんでも...AUTODESKさん、お慈悲を~(T_T)

気を取り直して
レーザーの代わりに直径0.1mmのカスタムエンドミル作って
CAM設定して、ポスト処理すると、
ありゃ~
Fusion360がUpdateされた後によくなるんですよね~
折角のカスタムをデフォルトに戻すの、やめて欲しいな~
まあ、ここは[はい]で抜けるとして

次に「G28 Safe retracts」をOFFにしようとしたら
なんと、OFFがありません(・o・)
[Safe retracts]に[G28]、[G53]、[Clearance Height]
の3つしかないんです。

G28とG53を調べても今ひとつよくわからないので
夫々の設定でポスト処理して中身を見比べる方が早いでしょう!
3種類のポスト処理して、並べてみます^^;

冒頭部分のハッチング箇所と、
・左から[Safe retracts]:[G28]、[G53]、[Clearance Height]

最後のこのハッチング箇所だけが異なってました。
・左から[Safe retracts]:[G28]、[G53]、[Clearance Height]

結局、[G53]の方には[G28]も含まれてて
[Clearance Height]が、従来のG28 OFFということがわかったので、
[Safe retracts]:[Clearance Height]にします。

たかが回転数の測定、なかなか先に進みません(T_T)
久々に登場するマーティーの半導体レーザーを説明すると、
CNC2418の購入時、5.5W Blue Laserセットのもので、単品だとこれです。
余談ですが、店には、3mmMFDを1パスでカットした写真が載っていますが
少なくともマーティーの5.5Wは3mmベニヤ、10パスでも切れませんでした。
ダミーのシリコンダイオードでの測定では、LDへの入力電力:5W弱だったので
5.5Wというのは、入力電力の定格です。
光出力は、1Wもないんじゃないかと思われます。

そのレーザーでカット中!
更にマーティーのは、レーザースポットが超楕円の紛い物に当たったのか?
フルパワーでは、スポット径がでかすぎるので、50%パワーで
0.5mm程度の厚紙を3パスで切ってます(T_T)
それでも断然便利であります(^^)

1枚目が完了!
右上の変なのは失敗の履歴です(-_-;)
どうもFusion360さんデグレしてるようで
移動が「G0」じゃなくて「G1」なのです。
GRBL 1.1以降のLaser Mode($32=1)にしても
移動でG1命令じゃ、レーザー吹いてしまうのです(T_T)
仕方ないので、全Gcodeを眺めて、
移動・退避を全てG0命令に書き換える作業までやる羽目に٩(๑`^´๑)۶
なんか使い辛らくなってきてますね~Fusion360(T_T)

この際なので全部で5枚作りました(^^)
まあパワーは弱いけど、これを手加工で作ることを考えると
レーザーはとても重宝しますね~

一応、マジックで黒塗りして
再度、このセンサーでトライしてみますが

最初と変わらず、7.6Vでは、2600rpmを表示してたのに
8.54Vでギンギン回りだしたら

ダメだ~~(T_T)
モーターはギンギン回ってるんですが...
センサーの回路に何か問題が潜んでそうです。
Freqが変なのは、マーティーのスケッチの問題でしょう(-_-;)

もう一つの、右側のでやってみます。

ジャーマンスタンドにセットし直して~

あっけなく測定できました^^;
8.85Vで10300rpm

このセンサーは、スリット円盤を適当に入れてもよく反応してくれます。
最初のセンサーは何だったんだろう?

漸く、24Vでの回転数測定ができました。
いや~トラップにハマりまくり(-_-;)
たかが回転数測定なのに、とても時間かかりました(T_T)

瞬間最大34700rpm のショット!(^^)
「24V 41000rpm」は眉唾のようですが
定格の「24V 33800rpm」は、ホントのようです。

回り始めから24Vまでを動画で!
最後の方は、ドライブボードの温度を測ってます。

上の動画の後ろ 1分18秒以降では、24Vのまま
ドライブボードのPower MOS-FETの温度を測ってますが
63.4℃ ってのが見えてドキッ(・o・)
これは、放熱板付けないとまずいですね~
モーター温度もじっくり測ろうかと思ったけどビビってすぐに停止(-_-;)

動画を止めて観ながらグラフにプロットしました。
24Vでは、ちと不安定で回転数の揺らぎが大きいようです。
9V、10000rpm以上じゃないと安定して回らないようなので
低速じゃないと溶着するアクリル切削とかには向かなそうです。
定格 21.6Vの 30000rpm辺りで木材・アルミ切削専用かな。
無負荷の24V時、1.45A程度で約35Wでした。
クランプ型電流計なので誤差大くて暴れてます。

測定の全景です^^;
これより周辺は訳あって見せられません(-_-;)

それにしても
ダメだった左の方は、DO(Digital Out)とAO(Analog Out)があり
右側のは、OUTだけです。
両方ともLM393だし、何が違うのかな~
単に黒い門の大きさの違いだけだと思ってたのですが
左の方がコンデンサが多いので、
耐ノイズ性を重視して応答速度は犠牲にしたモデルなのだろうか?
次回使う時にオシロで波形みようかな^^;

裏は何もなし。

所で、
最初の方で、モーターの軸のブレは、さすが日本製の3μm
マーティーが焼き嵌めしたコレットホルダーの胴体のブレ:10μm
というとこでした。

で、先の方にいって、コレット・ナット部
35μmもあるのか~(T_T)

0.6mmエンドミルの軸
え~っ!
0.12mmもあるのか(・o・)
CNC2418のER11付き775モーターでいつも使ってた
1/8inchナットとチャックとエンドミルなのです。
こんなにブレてるのはコレットホルダーが悪いとしか...(´-﹏-`;)

原因は何だろう?
コレットホルダーの内側も見てみます。
0.2mmも豪快に針が振れてますね~(T_T)
どうやらこれが怪しいですね~

愛用しているCNC2418のコレット付775モーターの
コレットホルダーの内側を見てみます。
お~っ! 12μmってとこですか!

コレットホルダー胴体は、5μmだ!
中華の工場で焼き嵌めされたヤツですが頑張ってますね~(^^)

その先、0.6mmエンドミルの軸は、
60μmかあ~(´・ω・`)
使ってる時は、もう少し小さい感じだったんだが
10%もブレてるとは(T_T)

愛用の775モーターと比べたところでは、
どうやらコレットホルダーの内側の偏りに原因があるようなので
この調整ドライバーの

先のアルミナ部分で

内側を磨くことにします。

10000rpm程で10分以上研いたかな。
上の写真に比べ、中がキレイに光ってます。

キレイにはなったけど、
偏りも減ってればいいんだが

内側のブレを測ってみます。
おっ!80μm
200μmだったので60%減です。

さて、0.6mmエンドミルの軸はどうかな?
研磨前は、0.12mmだったけど・・・変化なしですね~(T_T)
これが原因ではないってことか~(T_T)
たぶん、コレットナットを付けるネジ部分が偏ってるんだろうな~

では、4mm用コレットと4mmエンドミル
0.16mmもある~~(T_T)
コレットナットは、4mm専用にしてて先のとは別モノです。

では、6mm用コレットと6mmエンドミル
0.15mmだ~~(T_T)
このコレットナットも、6mm専用にしてて先のとは別モノです。
たぶんコレットナットには大きな要因はなさそうで、
どうやらハズレのコレットホルダーを引いたようですね~(T_T)
"ハズレ"というより"当たり"がないだけかも?
マーティーの焼き嵌めには問題ないと思いたいのだが...
なかなか厳しいブレですね~
小さい径のミルは、使えないかな~(T_T)

国産のコレットホルダーに付け替えようかな~
なんて、ミスミやモノタロウを覗いてみたら
10000円以上するんですね~(T_T)
まあAliで500円の20個で10000円
それを選別して1個採れるのと同じという考え方もあるけど...
取り敢えず、棚上げですね~(´・ω・`)
焼き嵌めする前に確認する方法はないものかな~

ちょっと手持ちで削ってみたくなりました(^^)
その前に、ドライブボードのPower MOS-FETに放熱板付けないと^^;
基板のパーツには、保護コートが塗ってあります。

左の3つの保護コートを剥がしました。
爪でも剥げるくらい柔らかいです。

全部剥ぎ終わりました。
「RS1G120MN」
おっ!ROHMのですね~
PDF Datasheetは、ここ
40V 34AのNch Power MOSFET、RDSon Max:16.2mΩ とあります。

こっちは、ちと判読不能です。

手持ちのヒートシンク、これより小さいのがなくて
こんな感じで付けるかな。

このテフロンテープを

接触しそうな所に貼って、

その昔、CPU換装してた時代の放熱グリースがあったので

Power MOS-FETの頭に塗って

ヒートシンクを載せて、タイラップで固定して完了!

裏はこうなってます。
四角いのは、バネ代わりのゴム板です。

エンドミルは、
この前、DREMEL 4000で真鍮のバッテリー端子を削ったのと同じもの。
執筆中によく見ると「許容最高回転数:30000min-1」なのですね~
てっきり適正回転数と思い込んでました(-_-;)

試し部材は、2mm厚のアルミヒートシンク

切削屑が散らばりますが、外に持ち出すのは面倒なので
回転数を測定してたテーブルでダンボールの中に入れて~

照明(上の白いの)と動画撮影用のデジカメをセットして

まずは、約9Vから
約10000rpmです。

約10000rpmでの2mm厚のアルミの切削を動画で!
押さえつけると少し音が低くなってますが、トルクはそこそこありそう。
実は、先に30000rpmでテストしてから撮影したので
なんかもたついた削れ方に感じます。
今までこんなに削れない10000rpmで頑張ってたのか~って感じです。

では、定格の21.6V、約30000rpmです。

約30000rpmでの2mm厚のアルミの切削も動画で!
最初の方、上の写真左下のゴールドのツマミで
電圧を上げてるので音だけ高くなっていきます。
軽く触れただけで面白いように削れます。
上の10000rpmの削れ方との差が明白に判ると思います。
これだけ切削できれば、貧弱なCNC2418のフレームでも
かなりなスピードでアルミ切削できそうな期待が込み上げてきます(^^)

ただ、モーター本体はすぐに熱くなってきます。
ファンもついてないですからね~
持ってる時は、ちょうど風邪で高熱出してる感じなので
39~40℃でしょう^^;
CNC2418に取り付けるには一工夫いりますね~

これは、面白くなってきそうな予感(^^)