SSブログ

コアレスモータ対応鉄道模型用コントローラの開発~その1~ [模型]

2017年1月21日の日記

3年前の年末,KATOからD51がリニューアル発売され,iruchanもギースルエジェクター装備機を購入しました。

門デフ同様,ギースルエジェクターはとてもかっこよいし,何より北海道用の機関車なのでキャブは乗務員扉がついているし,スノープラウもいかめしくてなかなかいいスタイルをしていて,お気に入りの機関車になりました。

また,動力の性能も素晴らしく,低速からスムーズに起動するのは感動的です。

ただ,少し困った問題に気づきました。

iruchanはPWM式のコントローラを昔から自作していますが,PWM式のコントローラを使って低いデューティでパルスを出力すると,モータが回転しない状態で前照灯が点灯する,いわゆる常点灯を実現することができます。

このとき,うまくやらないと反対側の前照灯や尾灯まで点灯してしまうので,iruchanはスナバ回路を考案していつも改造しています。この回路を使うと,無事に所定の向きの前照灯のみ点灯させることができます。

ところが,このKATOのギースル機は前照灯が点灯すると同時に機関車が起動してしまい,停車中に前照灯を点灯させることができませんでした。詳しい改造状況は前回のブログをご参照ください。

原因は使用されているコアレスモータのせいだと思います。

コアレスモータは従来,星形の鉄芯を用いて,その出っ張った凸極にコイルを巻いていたのをやめて,コイルをハニカム巻きにしてコイル自体を回転子としたもので,鉄芯(コア)がないのでコアレスモータと呼ばれます。

回転子がコイルと軸だけなので非常に軽くて機械的な時定数が小さい上,普通のモータはフェライト磁石を使っていますが,コアレスモータは磁力の強い希土類磁石を使うため高磁束密度となり,きわめてハイトルクです。また,凸極の部分は磁石に吸いつくし,谷間(スロット)の部分はトルクを生じないのでどうしてもコアつきモータはカクカクと動きます。軸を手で回してもそういう抵抗を感じますよね。コアレスモータはトルクムラが非常に小さく,ブラシ付DCモータとしては最高の性能を持つモータです。

それにコアつきモータの場合は界磁は回転子の外側に配置するのに,コアレスモータは回転子の内側に配置するのでサイズも小さく,鉄道模型にはぴったりだと思います。もっとも,外側界磁のコアレスモータというのも存在しますが,それじゃ回転子の内側ががらんどうになっちゃってスペースがムダなので,省スペース化を図るため内側界磁にしているので小型になる,という理由もありますけど.....。

まあ,こうやって書くといいことばかりなんですけど,何より最大の問題はコスト。巻線構造が複雑なのと,希土類磁石が高いので,今までは鉄道模型に使用することは考えられませんでした。

ところが,近年はスマホの普及などで小型のコアレスモータが大量生産されるようになり,コスト低減も進んで,徐々に鉄道模型にも使用されるようになってきています。特に蒸機ではいままで,日本の蒸機のボイラが細すぎることも相まってキャブ部分にモータを収納せざるを得ず,さらにはキャブをはみ出して炭水車ギリギリにおしりが来る,なんてのが普通で,いったい,乗務員はどこに乗るんだ? と言いたくなるような状態でしたけど,KATOの新D51では見事にボイラ内にモータが収まっており,キャブ内に焚火口や圧力計などのディティールまで施してあります。

と言う次第で,いいことばかりなんですけど,iruchanを含めて模型屋にはちょっと困った事象が出ています。

それが,常点灯に対応しない,と言う問題です。モータがハイトルクになったのはいいのですが,少しでもコントローラからパルスが出力されるとモータが回転してしまうようです。また,このせいで少々,ラピッドスタート気味で,超低速状態で走行させると言うことが難しくなっているようにも思われます。

でも,前回,常点灯については少し,解決策がありました。

実は,iruchanは201系電車のファンなので,201系用のPWM式コントローラを300Hz/20kHzでスイッチング周波数切替式で作ってあり,201系を運転するときは300Hzで運転して,実車同様のチョッパ音を楽しんでいます....(^^;)。

結構,これ,笑っちゃうんですよね。本物そっくりにプーッという音を出して201系が走ります....!!

で,前回のKATO D51ギースル機ではスイッチング周波数を300Hzにしたら,前照灯が点灯している状態で停止することができたので,それでよいと思いました。

ただ,猛烈にモータが唸ります。まあ,機関車のスピードが上がってくるとうなり音が止まりますけどね....。それに蒸機なのにチョッパ電車みたいな音を出して走る,と言うのも何だかな~という感じです。なんとか,常点灯にも対応して静かに発車できるようにしたいと思いました。

でも,これ,難しいんですね。しばらく研究してみたいと思いました。いずれ,電車にもコアレスモータが使われるようになると思いますしね。今のうちにコアレスモータ対応のコントローラを開発しておきたいと思います。

まずは,PWM式コントローラのスイッチング周波数について検討してみます。

一般に,スイッチング時の電磁音を聞こえないようにするため,DCモータの制御用のPWM制御コントローラではスイッチング周波数を人間の可聴帯域外にすることが普通です。実際,KATOやTomixのPWM式コントローラは20kHzくらいの周波数でスイッチングしています。

iruchanは最初,10kHzで作っていました。多少,ピーッという音がするんですけど,気にならないくらいですし,むしろ,レイアウトの途中で機関車が停車した場合,導通不良でそこに電気が来ているか,来ていないかを判断することもできたので,10kHzでもよいと思っていました。機関車が停車してもピーッという音がしていれば,原因は軌道ではなく,機関車だとわかりますからね。

でもやはりピーッという音がするのも何だなぁ,と言うことで最近は20kHzで設計しています。ついでに300Hz切替もできるようにしていますけどね。

一方,純粋に電気的な性能で考えるとスイッチング周波数は高い方がよく,損失も低下しますし,実際,PWM制御の教科書にもそのように書いてあります。

えぇ~~っ,そうなの? という感じでした。むしろ,iruchanは低周波のスイッチングの方が今まで,損失は少ないと思っていました。高周波だとスイッチング回路の応答特性が悪くなってきて,損失が増えてくるはずです。スイッチング周波数を20kHzなんかにするのは,音のせいだけじゃない,と思っていました。

と思ったのですが,一度,Spiceでシミュレーションして調べてみました。モータは20Ωの抵抗と1mHのインダクタンスで模擬しています。

PWM simulation circuit.jpg シミュレーション回路

今まで,ずっとiruchanが作ってきたPWM式コントローラの基本回路です。タイマIC555で三角波を作り,コンパレータで基準電圧と比較してPWM波を作っています。

20kHz(duty=11%、1mH).jpg 20kHzのとき

300Hz(duty=11%).jpg 300Hzのとき

同じ低いデューティで比較してみます。

モータの電流にご注目ください。fs=20kHzのときはモータ電流は三角波みたいになっていますが,連続しています。一方,300Hzだとパルスの幅だけ電流が流れていていて,制御Trがoffのときは電流が流れていません。

これですね,モータが唸る原因は。制御Trがonしているときだけモータの電流が流れ,offの時はモータの電流は0となっています。つまり,回転と停止をきわめて短時間に繰り返している状態で,それでモータが振動して音が出ます。よく,PWM制御というのはON-OFF制御をきわめて高速でやっている,と説明することが多いですけど(iruchanもそんな説明をしていました。どうもすみません),実は間違いで,高周波でスイッチングするとモータを流れる電流は連続していて切れ目がありません。もっとも,低周波でスイッチングしてもデューティが高くなってくると電流は切れなくなります。300Hzで模型を運転していて高速になるとモータが静かになる,というのはこのためです。

PWM循環電流.jpg モータの循環電流

  → の実線の時が制御TrなりFETがonの時で,点線の時はoffの時です。

スイッチング周波数が20kHzのときはモータのインダクタンス分で逆起電力が発生し,フリーホイールDi(FWD)を介して電流が逆流してモータの電流は切れていません。

このダイオードは結構重要で,今まで,直流用のスナバ回路の一種だと思っていましたし,実際,そうなんですけど,モータを負荷にした場合はモータの電流を切らない,という重要な役割もあるのですね。ただ,iruchanはTomixの5001パワーユニットをPWM化していますが,これに使ったHブリッジドライバは機能上,FWDをつけることができません。モータを流れる電流が逆転するので,ダイオードは両方向につけないといけないのですが,そうするとモータを短絡することになっちゃうからです。Hブリッジはマイコンでモータの正逆転を制御できるので広く使われますが,これもどちらかと言えば高めのデューティ固定で使われ,この電流が切れない領域で使用されることが多いと思います。

この電流を循環電流と言います。なんか,昔は還流電流と言った気もしますけどね....。

PWM制御の教科書を読むと,この循環電流が切れない領域でモータを制御するのがよい状態で,このとき,モータは静かに回転します。一方,この循環電流が切れてしまうとモータは発停を繰り返すため,振動してしまいます。こういう領域でモータを使用しない,というのがPWM制御方式の条件のようです。

スイッチング周波数が低いとこの循環電流が切れてしまう領域が広いので,スイッチング周波数は高い方がよいのです。

とはいえ,鉄道模型はデューティが0%から起動しますし,ごく低いデューティで低速運転することも多く,循環電流が切れる領域を使うのは当たり前だと思います。工作機械や自動車用のモータなんかだったらある程度,一定の速度で使用するから循環電流が切れない領域で使えるんでしょうけど,鉄道模型はそういうわけにはいきません。

次に,モータ電流の値を見てみると,スイッチング周波数が300Hzのときはモータを流れる平均電流は20kHzの時の倍くらいですし,ピーク電流に至っては10倍くらい大きな値となっています。トルクはモータ電流に比例しますので,つまり,同じデューティではスイッチング周波数が低いほどモータのトルクが大きい,と言うことがわかります。

また,損失についても,Spiceは回路の損失を計算してくれますので,こちらもシミュレーションしてみました。

損失(duty30%).jpgモータと制御Trの損失

出力のパルスのデューティは33%くらいでシミュレーションした結果です。555ICはR1とR2で周波数を可変できますが,同時にデューティも変わっちゃうので,デューティのグラフは少し変化します。

やはり高周波ほどモータの損失は小さくなり,低周波のPWMはよくないことがわかります。100HzくらいでPWM制御すると最大損失は2W近くまで上がっちゃいます。このまま走行させるとモータが発熱してきます。

もっとも,今回のシミュレーションはモータの逆起電力を考慮していない結果なので,実際の走行状態ではもっと損失は小さくなるのでそんなに大きな問題ではないと思います。ただ,うっかり脱線したりして機関車が停車した状態で放置するとこの熱が発生しますので,脱線したらすぐにボリウムは絞る必要があります。

それにしても,スイッチング周波数が20kHzというのは根拠がある数値,と言うことがわかりますね。

でも,なぜか,一度,損失が20kHzくらいを底にして上がってきたり,また急激に下がっちゃう理由がわかりませんけど。

ただ,iruchanの設計した回路では50kHzくらいが限度で,ここまでスイッチング周波数を上げちゃうとパルスの波形が崩れてしまいました。

コアレスモータのメーカのホームページなどを見ると100~200kHzくらいでスイッチングするのがよい,なんて書いてあるところもありますけど,そんな高い周波数で方形波を扱うのは困難です。iruchanの回路だと全く無理で,三角波の発振は555だと日本無線のNJM555の規格表を見ても発振周波数が100kHzまでのグラフしか出ていなくて,無理そうです。コンパレータももっと高速のコンパレータを使わないといけません。制御TrもfTの高いものが必要ですし,MOS-FETを使うと高速スイッチングができますけど,入力容量が大きいため,ドライバ回路の工夫が必要です。

iruchanはオーディオマニアなのでわかりますけど,方形波は10倍以上の周波数領域が必要なので,仮に100kHzでスイッチングすると考えると1MHzくらいまで応答性能が必要です。これはちょっと難しい話です。

と言う次第で,100kHzを超えるPWMコントローラは自作は難しそうです。一度,やってみたい気はしますけどね。

それで,コアレスモータの場合はどうなるか,考えてみます。

コアレスモータはインダクタンスが小さいことが特徴です。インダクタンス分を仮に1/5としてみるとこんな感じです。

20kHz(duty=11%、0.2mH).jpg インダクタンスが小さいとき

やはりスイッチング周波数20kHzの時でも,モータのインダクタンスが小さくなると循環電流が切れる領域となってしまいます。

一方,電流値の方は平均電流は1.2倍,ピーク電流は4倍になっていて,インダクタンスが小さい方がトルクは大きい,と言うことがわかります。コアレスモータがハイトルクなのはインダクタンスが小さいことにも起因しているようです。

そんな解析結果ですが,どうも300Hzの方がハイトルクだし,モータが唸ることをのぞけばコアレスモータの制御に適している感じがします。

また,LEDが点灯しているのに,機関車が起動しないのは回転子が微妙に動いてもスイッチング周波数が低いと電流の休止期間が長いため,すぐに停止してしまうため,と考えられます。

こう考えてくると,コアレスモータ式鉄道模型のPWM制御は低周波のスイッチングの方がよさそうです。あとはどうやってモータが唸るのを抑えるか,なんですけどね......。

ということで,ひとつの対策としてはPWMの代わりにPFMを使う,と言うのが考えられます。

PFMとはPWMがパルス幅変調(pulse width modulation)なのに対し,パルス周波数変調(pulse frequency modulation)の略で,要はパルスの幅は一定値で固定して,offの期間を可変して制御するものです。見方を変えると周波数を変化させるのでPFM,と言うわけです。

具体的にはたとえば,パルスの幅を300Hzと同じ,3.33msec. 固定とし,休止期間を∞~0 sec.としてやればPFMができます。実際には休止期間が無限大だとボリウムが作れませんし,ある程度,休止期間を小さくしてやらないとボリウムを右にいっぱい回した状態でモータが回る,と言うことになっちゃうので,実験で最大休止期間を決めないといけません。まあ,1sec.くらいのものか,と思いますけど。

応用例としては,スイッチング電源の制御方法で,低いデューティの時はPFMの方が有利で,スイッチング電源のコントローラICには最初,起動時はPFMでスタートし,後でPWMに移行する,というICが増えてきています。

PWM原理.jpg PWMの原理。パルス周期が固定です。

PFM原理.jpg PFMの原理。パルス幅が固定です。

いずれ,iruchanもPFM式のコントローラを作ってみたいと思っていますが,これがひとつの解決策かもしれません。もっとも,やってみないことにはうまくいくかどうかわからないので,なんとも言えないんですけど。

もう一つはPWMで,低周波と高周波の2つのPWMコントローラを組み合わせる,と言うやり方だと思います。低周波をモータ制御に使い,高周波を前照灯&室内灯の制御に使うわけです。低周波パルスの間隙に高周波のパルスが出ているので,循環電流が切れる領域を小さくすることができるはずです。

これって......,もしかしてKATOのKC-1と同じじゃない?

と思われた方も多いと思います。そうです,実際,KATOのKC-1はこういうパワーパックでした。それに,今でも超低速はKC-1がよいと思っている方が多いようで,某掲示板にもそう書き込みがあります。また,コアレスモータとの相性もよい,という情報も耳にします。

と言う次第で,iruchanはKATOのKC-1を研究することとしました。続きはまたその2で。


nice!(1)  コメント(3)  トラックバック(0) 

nice! 1

コメント 3

Vivid

こんばんは。
久しぶりにコメントさせていただきます。ご質問なんですが。

当方、PWMで電圧のかかっていない、PWMパルスがOFFの時に、モーターの回転による起電力の電圧をレールから読み込んで、回転数を予測し、フィードバックをかけて、以降のPWMのDUTYを制御しようと、試みています。
20MHzのパルスの波形を見ますと、「循環電流」が尾を引いているように見えるのですが、5KHzでもこの様な感じでしょうか?
というのも私の回路は、5MHzのPWMで、PWMをOFFにして、200マイクロ秒待って、電圧を読み取っていますので、果たしてちゃんと検出できているのか、半信半疑なんです。
しかし、このクローズド制御は、なかなか奥が深いです。
by Vivid (2017-01-26 23:56) 

iruchan

どうもコメントをありがとうございます。

ところで,スイッチング周波数は5kHzですか,5MHzですか。おそらく,後者と言うことはないと思いますので,5kHzという前提でお答えまします。

循環電流が山形になっているのはインダクタンスのせいです。電流の立ち上がり,立ち下がりが鈍くなります。

おそらく,5kHzでも多少,尾を引いている状態だと思います。また,出力の制御TrなりFETの速度にも依存しますので,詳細は実機を確認しないといけないと思います。
by iruchan (2017-01-27 07:26) 

Vivid

早速のご返事をありがとうございます。
すみません、タイプミスでした。5KHzのPWMです。
あれから、PWM停止後にAD変換するまでの待ち時間を200マイクロ秒位にしたら、少し安定した印象です。
なにせ当方はメモリー無しのオシロなので、現象をとらえきれません(笑)
by Vivid (2017-01-27 13:04) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント

トラックバック 0