コアレスモータ対応鉄道模型用コントローラの開発~その7・PFM式~ [模型]
2017年5月8日の日記
GWを利用して基板を3枚作りました。そのうちのひとつをご紹介します。ただ,今日は失敗でした。それはまた後ほど。
このところ,KATOが蒸機のリニューアルに際して採用しているコアレスモータに対応したコントローラを作っています。
どうにもこのコアレスモータというのは何より小型で,世界的にも細くて小さな日本の蒸機のボイラーにも収まるし,また,性能面でも非常に低速でもスムーズに動くので大変な優れものです。
ただ,少々扱いにくい面があり,市販されているPWM式コントローラを使っても停車中に前照灯を点灯させておく,いわゆる常点灯に対応しないばかりか,少しラピッドスタート気味で,つまみを回していくと突然走り出す,という現象があるようです。
iruchanはずっと昔からコントローラは自作しているので,市販品で調べたことはないのですが,皆さん,ネットに書いておられるのを見ると市販のコントローラもこのような現象があるようです。
といってえらそうなことを書いていますけど,iruchanが自作したコントローラも全く同じ現象で,どうにも突然走り出す,という感じがします。
ということで,コアレスモータ対応のコントローラを開発するべく,このところ研究をしていました。
ラピッドスタートの原因についてはほぼ特定できました。
原因はPWM式コントローラが実は,非常に低いデューティ(パルス幅)の出力が苦手で,特に,PWM式は電車で言えば電機子チョッパ制御なのでどうしてもモータから音がしちゃうので,それが聞こえないよう,20kHz以上の周波数のパルスを出すように設計するのが普通ですが,こうすると低いデューティのパルスが出力できなくなります。
iruchanが従来,使っていたコントローラも最低デューティは5~8%くらいです。一方,第4回に書きましたが,コアレスモータ車の起動時のデューティは4~8%くらいでしたから,これじゃラピッドスタートするのは当たり前,という気がします。
そこで,これまでのところ,最低デューティを1%程度としたPWM式コントローラを作ってきました。これなら無事に常点灯にも対応しますし,機関車も超低速からスムーズに起動します。
ただ,通常,PWM式のコントローラはモータが音を出すため,人間の耳に聞こえないよう,20kHz以上の周波数でスイッチングするのが普通です。こうするとスイッチング損失が減り,教科書でもPWM制御をする場合には高周波が有利,と書いてあります。
コアレスモータの大手マクソンモータのwebにもそう書いてあり,周波数は39~60kHzなんて書いてあります。100kHz以上でスイッチングすることも多いようです。
ところが,20kHz以上の周波数でスイッチングすると,高速なMOS-FETを使っても1%のデューティのパルスを出力するのは困難であることがわかりました。そこで,前回までは出力のMOS-FETの前段にドライブ回路を挿入し,MOS-FETのスイッチング速度を向上させました。
あるいは,低いデューティのパルスを出力するにはスイッチング周波数を下げる,という方法も考えられ,やはり鉄道模型には低周波のPWMが有利です。仮にスイッチング周波数を300Hzとすると,1%のデューティのパルス幅は33μsですから,スイッチングの遅いバイポーラTrを使っても余裕で出力できます。
ところが,これには大きな問題があり,ひとつは騒音です。
モータが瞬間的に最大トルクと0を繰り返すため,モータが振動して音を出します。これは普通の電車も同じで,201系は300Hzでチョッピングしながら走行していましたから,プーッと言う音を出していましたし,インバータ電車は周波数可変ですから音の調子も変わりながら音を出していますね。
と言う次第で,iruchanはスイッチング周波数を300Hzにしたコントローラを作り,201系のチョッパ音を楽しんだりしているんですけどね.....。
一方,KATOのKC-1は前照灯&室内灯用に24kHzの高周波パルスを併用していて,機関車が動き出さない程度に高周波パルスを出しておくと停車中にも照明がつくようになっています。
この方法はもう一つ,大きなメリットがあり,低周波の大きなパルスの間に高周波の幅の狭いパルスが埋めることになり,モータにはフリーホイーリングDiを介してoffの期間中も循環電流が流れて騒音が出ません。
この辺は第2回で解析しましたので,ご興味がある方はご覧ください。
と言う次第で,今回は再び低周波PWMに取り組みたいと思います。
ただ,今回は単純な低周波PWMではなく,PFMにしたいと思います。
PFMってなんや? ってお思いの方も多いと思います。
PWMとの違いは,PWMはPulse Width Modulation の略で,パルス幅変調と訳されますが,周波数は一定で,パルスの幅,すなわちon時間を変化させるのに対し,PFMはPulse Frequency Modulation でパルス周波数変調の意味ですが,パルスの幅は一定で,off時間を変化させます。1秒あたりのパルスの数,つまり周波数が変わるのでPFMと呼ばれます。
PWM PFM
詳しくは第1回に書いておりますのでご参考になさってください。
こうすると低デューティ時の効率が向上し,最近ではスイッチング電源の制御に用いられているようです。理由は効率にあり,スイッチング電源用のICもデューティが低いときは通常のPWMからPFMに制御を変更し,効率の向上を図ったものが増えてきています。
鉄道模型用としては,低いデューティが容易に得られる,と言うことでしょうか。off時間を無限に延ばせば,デューティは限りなく0に近づきますからね。PWMだと,素子のスイッチング速度の関係で,限りなく0に近づけることができません。あるところで突然0になります。もっとも,スイッチング周波数が300Hzとか,50Hzとか,低かったらほとんど問題ないんですけどね.....。
さて,と言う次第で,PFM式のコントローラを開発したいと思います。
PWMで言えば,スイッチング周波数300Hzにしよう,と思いました。201系と同じ周波数ですし,コアレスモータとの相性もよいようで,Tomixの5001PWM改造コントローラでも300Hzだとコアレス機がうまく動きましたので。
そこで,パルス幅は1/300sec.ということで3.3msec.とします。また,最低周波数は1秒とします。そのときのデューティは1%となるように設計します。でも,ここに落とし穴がありましたが,iruchanは基板を作るまで気がつきませんでした......orz。
PFMコントローラシミュレーション回路
最初,回路としてはPWM式の基本回路である,三角波発振回路とコンパレータを組み合わせたもので考えたのですが,どうしても低いデューティにならないし,また,よく考えてみると,発振周波数を変えると同時にパルス幅も変わっちゃうのであきらめました。
と言うことであきらめて基本に立ち返って,可変周波数のパルス発振回路でパルスの間隔を決め,それをトリガにして一定幅のパルスを発生させる回路の組み合わせ,と言うことにしました。具体的には,非安定マルチバイブレータと単安定マルチバイブレータの組み合わせ,と言うことになります。
非安定マルチと単安定マルチ,ということなので簡単にタイマIC555を使いました。PICを使う,と言うことも考えられるのですが,周波数が低いのでハードウェアPWMが使えず,ソフトウェアに頼るところが大きいのでやめました。
ただ,いつも思うんですけど,なんで電子工学の世界でバイブレータなんて言葉を使うんでしょうね~。それに,非安定とか単安定とか,双安定とかやたらたくさんバイブレータがあります。iruchanは普通にオシレータと言えばいいんじゃない,と思います。電子工学を学び始めたとき,なんて○○○なんだと思いましたけど。覚えるのも大変なんですけどね.......(^^;)。
なお,詳しくはLTspiceでシミュレーションしながら設計しましたが,難しいのはこの回路でもやはり低デューティで,単純に555を2個組み合わせた回路ではダメでした。どうしても10%くらいから下のデューティにできません。
原因は2個目の単安定マルチのパルスが大きいことで,どうも発振の時間を決めるコンデンサC3をうまく放電できていないようです。
しかたないので,これを高速で放電させるべく,初段の555の出力を利用してPNP Tr Q3を使ってそのコンデンサを放電させることにしました。2SA1015がそれです。これがないと幅の狭いパルスが出せません。
ただ,これでいいかというと,低いデューティの時はPWMと同じでモータには循環電流が流れませんので,大きな騒音を出すと思います。
これじゃ意味ありませんね~。やはり高周波PWMか,KATOのKC-1みたいに低周波&高周波PWMの混合タイプにしないといけません。
と言うことでiruchanもPFM方式は一度,あきらめちゃったのですが......。
いいことを思いつきました
出力の制御素子を完全にカットオフするのじゃなく,あらかじめアイドリング電流を流しておけばカットオフ寸前でしないようにできますね!。
これって,1970年代のノー・カットオフパワーアンプじゃない?
って思う人は相当な爺さんです(失礼)。iruchanももちろん,その一人です......(^^;)。
半導体アンプの最大の欠点はB級出力段によるスイッチングひずみでした。原因はプッシュプルになっている出力段が信号の正負に応じてカットオフするためで,これを回避するため,普通だったらA級アンプにすればいいのですけど,これじゃアンプがあっちっちになっちゃうし,出力もロクに取れないので,回路を工夫してB級のまま,上下のTrがカットオフしないようにしたのがノー・カットオフアンプでした。
iruchanも中学3年の時,苦労してA級アンプを作りましたけど,あまりに熱いので夏は大変でした。それに懲りて,いままでA級アンプは作ったことがありません.........(^^;)。
こういった欠点を改良したのがノー・カットオフアンプで,最初に開発したのはパイオニアじゃなかったか,と思いますが,ソニーやテクニクス,Lo-Dなど,ほとんどのメーカが新しい回路を考案して採用していました。当時,"無線と実験" とか,"ラジオ技術" によく解説が載っていましたし,NHK出版が出していた今はなき "電波科学" (懐かし~~)が熱心に解説記事や製作記事を載せていました。
iruchanは熱心にこういった記事を読んでいたので,今回,それを思い出して,PFM式コントローラに応用することにしました。
回路は簡単で,PFM用のパルスとは別に,出力の制御素子にバイアスを加えてカットオフしないようにしています。
定電流Diを使ってバイアス電圧を作ります。完成後,出力端子が0Vとならないように調整すれば,制御素子はカットオフせず,モータに常に少し電流が流れてモータ電流が途切れないようにして音が出ないようにします。実際,LTspiceでも確認できました。
パルスがoffとなっている期間に注目していただきたいのですが,普通のPWM式のコントローラの場合はここは電流,電圧ともに0ですが,本機は0.8Vくらいを出力させ,40mAくらいの電流をモータに流しています。こうすると音が小さくなる......はず.....です??? もちろん,こんな電圧ではモータは回転しませんし,LEDも順方向電圧以下なので,点灯しません。
▲の図は最低デューティの時を示していますが,最低デューティは約0.4%です。
第4回に書きましたけど,前照灯が点灯するのが約3%,コアレスモータが回転するのは最小で約4%くらいですから,十分低い値です。シミュレーションどおりだとうまく常点灯もできますし,非常にスムーズに機関車が起動するはずです。
PWM式だとほぼこれが限界のデューティとなりますが,PFM式だといくらでも小さくできます。しかし,あまり最低デューティを小さくすると,どこまでつまみを回してもなかなか起動しない,と言うことになりますので,これくらいが最低デューティとして適当ではないかと思います。実際には,模型を運転してみて,多少,変更しないといけないと思います。
最後に,出力はバイポーラTrを使うことにします。高周波PWMだと高速なMOS-FETの採用が必要ですが,今回は300HzなのでバイポーラTrで十分です。今じゃ,はるかに高性能なMOS-FETがたくさん出ていますので,MOS-FETでもいいんですけどね.......。
なお,バイポーラTrにする場合,hFEの大きなものが必要なのでダーリントンTrにしました。起用したのは東芝の2SD686です。NECの2SD560同様,鉄道模型のコントローラによく使われましたね。懐かし~~。
もちろん,まだこれらのTrは入手可能ですが,高いのでこういう古いTrを使う必要は全くありません。同じTO-220タイプの2SD1415A(東芝),2SD2014(サンケン)などでOKです。でも,iruchanは古い素子は大好きなんですよね~(^^;)。
さて,ここまで来たらプリント基板を作ってテストしてみます。
ピンクのLEDは最初の非安定マルチの出力のモニターです。これが点灯していれば,非安定マルチは動作していることがわかります。あとでこれはパイロットランプにしてしまう予定です。
2つめのブルーのLEDは出力のモニタ用です。これを同じ基板に作っておくとテストの時に便利です。
可変抵抗は左一杯に絞った状態でもパルスが1秒ごとに出て,ブルーのLEDが瞬間的に1秒に1回点灯します。その後,可変抵抗を回していくと徐々にパルスの間隔が狭まり,最終的に完全な直流となってLEDがずっと点灯したままになるとOKです。
オシロで観測すると,計画通り,1秒ごとにパルスが出て,最低デューティは0.7%でした。また,最大デューティは100%で,うまくいきました。また,パルスがoffの期間でも0.8V程度の電圧が出ていて,バイアス電流がうまく流れていることがわかります。
ところが.......。
ここまで来て,大変なことに気がつきました。
そもそもパルス幅を0.3msec.としてしまったので,1秒ごとに瞬間的にLEDが点灯するのが目で確認できちゃいます。
ってゆ~ことは......,
前照灯や室内灯が1秒ごとに瞬間的に点灯する.......わけです。
こんなおかしいことはありません。確かに,モータは起動しないので停車中にも点灯するわけですが,これじゃ,点滅しているだけで,お客様から "新聞が読めへんやないか!!" と苦情が来ることは必至です......orz。
考えてみれば当たり前なんですけど,iruchanはアホですね。できあがってみるまで気がつきませんでした。
と言う次第で,今回は失敗です。やはりスイッチング周波数を向上させて,再挑戦してみます。
続きはこちらで。
2017-05-08 21:04
nice!(3)
コメント(5)
トラックバック(0)
おはようございます。
PFM制御の記事、興味深く拝見しました!
最後の「落ち」、まったく想像できませんでした(笑)
言われてみれば、ライトがチカチカするのはその通りですよね。
これまでの記事を拝見しても、コアレスは本当にモーターが簡単に起動するのですね。
常点灯を意識しなければ、良いモーターなんでしょうが。
やはり、常点灯用の高周波常点灯波とモーター用を重合させる方法が良いのでしょうか?
今後の記事が楽しみです。
by Vivid (2017-05-15 09:42)
Vividさん,どうもコメントをありがとうございます。
本当に今回はお恥ずかしい限りで,基板が完成するまで気づきませんでした。それどころか,基板上でチカチカと点滅しているのに,オシロを見ても気づかず,さて,いよいよ機関車を走行させてテストしようかと思ったところで気づきました。ほんまにアホでした。
ただ,ご指摘のようにコアレスモータはPWMのデューティで最低で4%くらいのデューティでも起動してしまうようです。コアつきモータだとこの10倍くらいなので,いいモータなんですが,起動時は難ありだと思います。
ご指摘の通り,KC-1のように高周波と重畳する方式がベスト,と思いますが,回路が複雑すぎます。
今日,改めて定数を変更し,ボリウムを最大に絞っても点滅しないようにしました。近日中に報告させていただきます。
by iruchan (2017-05-15 20:33)
こんばんは
ちょっとPWMの事を考えていたのですが、PICのハードウェアPWMでは、Dutyを1/1024で変化させられるのですが、その出力をTr経由、FETをドライブさせた際には、パルスがなまって、Duty比が大きくなってしまうのでしょうか?
アナログがさっぱりなので、ご教示いただければ幸いです。
by Vivid (2017-05-17 22:33)
PICを使うと,μs単位でパルスを出力できるのでいい方法だと思います。私が最初にPICに取り組もう,と考えた理由がそれでした。
ただ,出力をそのまま,MOS-FETに突っ込むと入力容量(Ciss)のせいでご指摘の通り,信号がなまってしまいます。市販のものや,自作されている方のもこういう回路構成だと思います。
対策としては,PICからゲートに直列に入る抵抗を小さくする(10Ωくらい),Cissの小さなMOS-FETを使うくらいしかありません。
ただ,現実にはゲートの抵抗は0にするのは好ましくない(寄生発振や逆起電力による耐圧オーバー)ですし,最近の素子はCissがべらぼうに大きいので,昔の素子(2SK442など)を使うしかありません。
それで,ドライバ回路を提案しています。PICはそれほど電流出力が大きくないうえ,電流を吸い込む能力がないので,コントローラ出力のパルスがなまってしまいます。PICの場合はPNPとNPNのTrを使ったドライブ回路が必要だと思います。
詳しくはhttp://iruchan.blog.so-net.ne.jp/2017-03-25をご覧ください。
by iruchan (2017-05-18 08:10)
詳細なご説明をありがとうございます。
by Vivid (2017-05-18 09:50)