2017年8月31日木曜日

扇風機の修理

今週も修理が入りました!
何故か修理系は連続して発生しますね~

実家の壁掛型の扇風機です。
もう古いし高価なものではないので
新調しようと近くの店を3軒回りましたが
扇風機は売残り品処理中、この手のものは売っていません。
高級品が安くなっていました。
売場は、もうすぐ”こたつ!”に切り替わるそうです。
先週”こたつ”修理したですね~
ということでこれも修理してみることに。

この30cm羽のAC駆動の扇風機です。
前夜まで動いていたのに翌朝、突然動かなくなったとのこと。
リモコンで電源入れると
操作パネルのLEDは、弱・中・強と点灯変化しますが
羽は回りません、首振りも動きません。
制御系は、活きていますね~
まずは、操作パネルの裏蓋を外します。
開けると
片面基板です。
部品側。
TO92の小さな、たぶんトライアックで
モーター巻線へのAC100VをON/OFFしるようです。
品番見るの忘れました。
交流のゼロクロスでON/OFFしているのでしょう。
これが一番弱そうですね~
白線は、AC100V入力。
灰色の線に「COM」のシルクがあります。
ということは、緑、白、黄、赤の共通線でしょう。
AC電源を入れて
リモコンを操作しながら
緑、白、黄、赤 と 灰 のAC電圧をテスターで夫々測ります。
どれもAC電圧が出たり消えたり制御されています。
制御回路も出力段の素子も壊れていません。
今度は、緑、白、黄、赤 と 灰の抵抗値を
テスターで夫々測定します。
どれも導通がありません。
この灰色線が切れている可能性大です。
ということで
モーター部をばらしていきます。
上の方から外していきます。
後から見ると、ここは外さんでよかったですね~
モーターブラケットの4本のボルトが大変堅い!
緩めるだけで一汗!
モーターブラケットが外れました。
巻線とステータ部を外します。
配線を固定している
赤いタイラップを切ります。
黒いチューブの中でコイルのエナメル線とリード線が接続されているはずです。
一番怪しい灰色のリード線の絶縁チューブを外します。
中からヒューズが出てきました。
115℃で切れる温度ヒューズです。
テスターで調べると切れています。
これが切れるという事は、ここの温度が上がったということです。
調べるとモーターが重くなっていました。
このグリースを軸に塗ってみます。
フランジの軸受は、ベアリングではなく、滑り軸受です。
軸受はそんなにすり減った状態ではなく
グリスをスプレーすると回転がなめらかになったので
ブラケットの滑り軸受にもグリスをスプレーします。
夏だけですがかなり活躍しているので原因はオイル切れですね。
軸受さんもまだ頑張ってくれるでしょう。
後は、温度ヒューズを交換すれば治るはずです。
早速、グッデイへ
定格96℃の次は、126℃しかなかったので
96℃品を購入。
2本入りで250円位。
裏には構造図があります。
で、反対側の絶縁チューブも外すと
何と温度ヒューズの足がハンダ付けされています。
買ってきた温度ヒューズは元のよりでかいです。
定格96℃なのでさすがにハンダ付けはいけません。
この工具の赤点部を使ってリングスリーブでカシメます。
汎用の安い工具ですが便利です。
ヒューズに付属のリングスリーブは径が小さかったので
電工用のリングスリーブ小を使います。
同じように反対側もカシメます。
絶縁用にヒシチューブを被せます。
温度ヒューズが巻線に当たるようにして
元のようにタイラップで固定します。
巻線とステータ部をもとに戻します。
モーターブラケットを取り付けます。
首振りのリンク機構部をボルトで取り付けます(赤丸部)
首振りリンク機構の取り付け完了。
外さなくてもよかったこれ
前後のバランスをとる重りを取り付けて
裏蓋を付ければ終了です。
無事、元の柱に戻り復活!
まだ残暑が続くので早速元気に活躍中。

2017年8月26日土曜日

小型工作機CNC2418 その28(GRBL v1.1f レーザー途中停止の原因と対策2)

前回、GRBL v1.1f レーザー途中停止の原因と対策1
Woodpeckerの12VのGNDパターンを見て
引き回しが大変悪い事がわかりました。

大きな電流が流れる12VのGNDラインが
入力24V ~ ATmega328P回路 ~ 12V電源
とATmega328P回路を経由しているのです。
これでは、12Vに大きな電流が流れると
ATmega328P回路のGNDが振られてしまいます。
GNDラインのやってはいけない典型例なのです。
レーザードライブの12Vの電流の影響で
ATmega328P回路のRESETエラーまでも引き起こしているので
直ぐに処置が必要なレベルです。
これがレーザー途中停止の根本原因と見て間違いないでしょう。
表は、これです。
CNC2418オリジナルのDZT's storeのWoodpeckerボードです。
それでは、バイパス手術の開始です。
12Vに行っている赤丸部のGNDパターンをカットします。
テスターで他のGNDが繋がっていないか確認します。
12VへのGNDは、この2箇所だけでした。
それと赤四角部のレジストを削り銅箔をだします。
近くのスルーホールが表側の
12V電源IC(XL4015)のGNDピンに繋がっています。
多分、下側の赤丸部をカットするだけでも症状は軽くなると思われます。
念を入れて、太めのAWG18の撚り線を探してきて
これを適当な長さにカットします。
24V入力プラグのGND足と
レジストを削った12VのGNDにハンダ付けして接続します。
バイパス手術完了です!
元通りにCNC2418に取り付けます。
このボードは、ひとつ前の対策1で
PWM周波数をGRBL v0.9jと同じ7.8KHzに変更しているので
GRBL v1.1fデフォルトの0.98KHzに戻して
レーザー途中停止の症状が治っているか確認します。

Arduino IDE v1.8.3を起動してWoodpeckerを
以前のやり方でGRBL v1.1f(2017-07-17 Release)に戻します。

Candle v1.1.7を起動して
途中停止していたマスクパターンを読み込みます。
4つカットしました。
停止もエラーも起きていません!
左から
S40 F1500、S30 F1500、S40 F2000、S100 F2000
根本対策はできましたが
PWM周波数は、0.98KHzより7.8KHzの方がいいと思うので
GRBL v1.1f (2017-07-17 Release)のままではなく
PWM周波数変更とGNDバイパスで恒久対策とします。

ついでに
何を変更したバージョンを書き込んだのかわかるように
"$I"コマンドで
表示するようにします。

GRBLソースの[grbl]フォルダにある grbl.h の
ここの所に
"$I"コマンドで表示する文字列があります。
*****
// Grbl versioning system
#define GRBL_VERSION "1.1f"
#define GRBL_VERSION_BUILD "20170717"
*****

そこに ”_PWM7.8KHz”(赤文字部)を追加します。
*****
#define GRBL_VERSION_BUILD "20170717_PWM7.8KHz"
*****

Arduino IDE v1.8.3を起動して
変更したGRBLソースをインストールして
対策1でやった手順でWoodpeckerのGRBLを変更します。

Candle v1.1.7を起動して
"$I"コマンドを出すと
”PWM7.8KHz”の文字が追加されています。
「v1.1fオリジナル」~「v1.1f変更版」を
相互に書き換えた場合は、
以前のGRBL設定値は残っていますね~
所で
下にベニヤ板を敷いていたのですが
S100では、やけに焦げ臭いので終わってから見ると
こんな状態に!
火種が残っていたら危うく火事になりかねません。
レーザーの下に木はいかんですね~
ボードが壊れるどころの話ではなくなります。
今週はマーティーの頭が冴えていたようで
スムーズに解決することができました。
涼しくなってきたからかな~(^^ゞ

小型工作機CNC2418 その27(GRBL v1.1f レーザー途中停止の原因と対策1)

GRBL v1.1fにUpgradeしてから
レーザーを使うと、途中でCNC2418がフリーズして止まるのです。
ここで紙をカットしている時です。
RESETスイッチを押さないと復帰しません。
時にはレーザー照射したまま止ります。
恐ろしや~
失敗の残骸。
この様に止まる所は同じ所ではないのです。
以前は、正常に動作していたので
WoodpeckerをGRBL 0.9jに戻してみると、
止まらず最後まで行くのです。
2、3度カットしましたが異常なしです。

v0.9j と v1.1fの違いであることは明白のようです。
まずは、気になっていた
GitHubのv1.1レーザーモードの解説を読みます。
"Grbl v1.1 Laser Mode
Sonny Jeon edited this page on 24 Feb · 10 revisions"
Google先生に助けを借りて翻訳すると~

新しく素晴らしい機能が追加されていることがわかりましたが
その試用は別の機会にするとして。
ここにスピンドルPWM周波数の事がありました。
*****
By default, the spindle PWM frequency is 1kHz, which is the recommended PWM frequency for most current Grbl-compatible lasers system. If a different frequency is required, this may be altered by editing the cpu_map.h file.
*****
訳すと
*****
デフォルトでは、スピンドルPWM周波数は1kHzです。これは現在のほとんどのGrbl互換レーザーシステムで推奨されているPWM周波数です。 異なる周波数にする場合は、cpu_map.h ファイルを編集して変更できます。
*****
てなことが書いてあります。
わざわざ、この周波数にした説明があるということは、
PWM周波数を変えている感じがします。
これ、怪しいです。

直ぐにcpu_map.hを眺めていくと
”SPINDLE_TCCRB_INIT_MASK”が
PWM周波数に関係しているようです。
PWMは、最後の#defineが有効になっています。
v0.9では7.8KHz (Used in v0.9)だったのが
v1.1で0.98KHzに変わっていたのです。
周波数が下がっているので
12V系の電流のPeak to Peakは、相当増えていると思われます。
*****
  // #define SPINDLE_TCCRB_INIT_MASK   (1<<CS20)               // Disable prescaler -> 62.5kHz
  // #define SPINDLE_TCCRB_INIT_MASK   (1<<CS21)               // 1/8 prescaler -> 7.8kHz (Used in v0.9)
  // #define SPINDLE_TCCRB_INIT_MASK   ((1<<CS21) | (1<<CS20)) // 1/32 prescaler -> 1.96kHz
  #define SPINDLE_TCCRB_INIT_MASK      (1<<CS22)               // 1/64 prescaler -> 0.98kHz (J-tech laser)
*****

GRBL v0.9jの時のPWM周波数に戻してみます。

GitHubからダウンロードした
「grbl-master.zip」を解凍します。
バージョンはv1.1f(2017-07-17 Release)です。
解凍したら、バージョンがわかるようフォルダ名を変えます。
[grbl-master]⇒[grbl_11f_20170717mod]
中のフォルダも
[grbl]⇒[grbl_11f_20170717mod]
このフォルダに
cpu_map.h があります。

元の#defineの前に"// "を追記
(Used in v0.9)の#defineの前の"// "を削除します。
黄色部の所です。
*****
  // #define SPINDLE_TCCRB_INIT_MASK   (1<<CS20)               // Disable prescaler -> 62.5kHz
   #define SPINDLE_TCCRB_INIT_MASK   (1<<CS21)               // 1/8 prescaler -> 7.8kHz (Used in v0.9)
  // #define SPINDLE_TCCRB_INIT_MASK   ((1<<CS21) | (1<<CS20)) // 1/32 prescaler -> 1.96kHz
  // #define SPINDLE_TCCRB_INIT_MASK      (1<<CS22)               // 1/64 prescaler -> 0.98kHz (J-tech laser)
*****

その前にArduino IDE v1.8.3にある
現在のGRBLをアンインストールします。
マーティーのWindows10 64bit、Arduino IDE v1.8.3では、
「C:\Users\(User Name)\Documents\Arduino\libraries」
の「grbl 」フォルダを削除します。
一旦、Arduino IDEを起動するとアンインストール終了です。
[ファイル]-[スケッチの例]から
GRBLが消えていることを確認します。

Arduino IDE 1.8.3を起動して
[スケッチ]-[ライブラリをインクルード]
-[.ZIP形式ライブラリをインストール...]に進み
先ほど解凍し改名した[grbl_11f_20170717mod]フォルダ内の
「grbl_11f_20170717mod」を選択します。
Arduino IDEから[ファイル]-[スケッチの例]から
▼にカーソルを置いて一番下まで行くと
[grbl_11f_20170717mod]ができています。
CNC2418をUSBで接続して
Arduino IDE v1.8.3を起動
[ファイル]-[スケッチの例]から
[grbl_11f_20170717mod]-[grblUpload]をクリック
設定を確認して
[マイコンボードに書き込む]します。
Arduino IDEを終了し
WoodpeckerをRESETして
Candle v1.1.7を起動します。
Consoleから"$I"でバージョンを確認します。
設定がv1.1f デフォルトなのでCNC2418用に変更します。
$3=5 (dir port invert mask:00000101)
$100=800 (x, step/mm)
$101=800 (y, step/mm)
$102=800 (z, step/mm)
$110=2000 (x max rate, mm/min)
$111=2000 (y max rate, mm/min)
Candle v1.1.7にエラーで止まっていたGcodeを読み込みます。
このマスクパターンです。
S40 F1500 にしています。
ゴーグルを忘れないように!
慣れて先を急ぐと忘れそうになります。
テストカットはマスクパターンを4つ。
予想通り最後まで行きました。
エラーも起こっていません。
左からF1000、F1500、F2000、F3000、全てS40です。
設定は、
$110=3000 (x max rate, mm/min)
$111=3000 (y max rate, mm/min)
にしています。
F1500より右は、変わらないですね~
スポット径が安定していないので
均一に切れていません。
今回は久しぶりに”感”が的中!
やはりPWM周波数の変更が原因でした。

この周波数が変わったことで
12V系の電流のPeak to Peakが、かなり増えているはずです。
カレントプローブがなく、電流測るのが面倒なので測っていません。
Woodpeckerのパターンを見るとGNDラインが・・・・!
入力24V~ATmega328P回路~12V電源
とATmega328P回路を経由しています。
これでは、12Vに大きな電流が流れると
ATmega328P回路のGNDが振られて不安定になるはずです。
下手したらチップが壊れる可能性も否めません。
実際、RESETがかかるほど振れていたようです。
CNC2418のWoodpeckerに起こりうる特有のものですね。
しかもその先に5V電源がある構成です。
GNDの引き回し方が大変悪いです。
12V電源のGNDは、すぐにでも修正する必要があります。
また、レーザードライバ基盤の電源は
CNC2418のWoodpeckerからのレーザードライブ出力から得ています。
S40ですと12Vの4%のPWMです。
スポット径が安定しないはずですね~。
このドライバ基盤にはTTL端子があるので
その内、試したいと思います。
低パワーでスポット径が安定しないのは治るはずです。
レーザーは、このXL4003でドライブされています。
Datasheetをみると300KHz駆動のようですので
Woodpeckerの12Vの電流Peak to Peakは、相当小さくなるはずです。
一方、スピンドルは、max 12000rpmとすると
200回転/秒:200Hz相当なので
v1.1fの0.98KHz駆動だと5倍しかなく
何か不具合が起きそうな気もします。
ということで
マーティーのCNC2418は、GRBL v0.9jの7.8KHz駆動を標準にします。
WoodpeckerのGND引き回し修正は、後ほど!