So-net無料ブログ作成
検索選択

コアレスモータ対応鉄道模型用コントローラの開発~その12・Tomix 5001 Power Unit~ [模型]

2017年6月17日の日記

KATO D51 Giesel+Tomix 5001.jpg 

    KATOのD51ギースルエジェクター機と。

停車中にもパルスが出るようにしたので,このような写真が撮れます。

Tomixの5001 New Power Unitが昔からとても好きでした。初心者向けに逆転SWを廃止し,つまみを左右に回すだけで模型が前進したり,後進したりする,というユニークな機能は今でもとても魅力あるものだと思います。

iruchanは性能の面ではKATOのKC-1が,使いやすさという面ではこのTomixの5001が,パワーパックの名機だと思っています。どちらもデザインがよく,とても優れたパックだったと思います。

ただ,さすがにTomixの5001 New Power Unitは設計が古く,制御方法も昔ながらの巻線抵抗を使ったレオスタット式で,今の高性能な動力を持った模型を運転するとラピッドスタート気味だし,あまりスムーズに動かないので,4年前にPWM式に改造して,その最終版のつもりでしたけど,をブログにも書いています。

ところが.....。

KATOのD51ギースルエジェクタを買ったところ,満足に動きません。

その5001 New Power UnitはPWM式にしたとき,201系も運転できるように,スイッチング周波数を300Hzでも運転できるようにしていましたが,通常はチョッパ音? を避けるため,20kHzで運転するようにしていました。

ところが,D51は300Hzだと問題なく動きますが,20kHzだと完全にラピッドスタートで,突然動き出す,という感じです。と言って,常に300Hzで動かすのは問題で,機関車からプーッというチョッパ音がしてしまいます。

原因は何度か書いていますが,出力の素子のスイッチング速度が遅く,あまりパルスの幅が狭いと出力できなくなってしまうためです。そこで,新たに出力段の前にドライバ段を設け,高速でスイッチングできるようにしています。

今回,Tomixの5001も高速化し,コアレスモータ機に対応させたいと思います。

ついでに,もう1つ,改良したいと思っていたことがあるので,こちらも改良します。

前回,改造した5001コントローラはPWM式なので,もちろん,常点灯に対応しますが,残念ながら,つまみを12時の位置,すなわち中立状態にするとパルスは出ないので,前照灯や室内灯は点灯しません。

当たり前なんですけどね。コントローラから見ると,中立位置では模型の進行方向はわかりませんので。

そこで,結局,前回改造したものは通常のつまみが1つしかないPWM式コントローラと同様,模型は停止しているけど,前照灯は点灯する,と言う位置に常につまみを固定しておかないと,常点灯になりません。その点,最新鋭のPFM式や,その前に作ったKC-1改や,PICを用いたもののように,走行用と調光用のつまみを独立して持っているタイプだと走行用のつまみを完全に絞った位置でも前照灯が点灯しますが,通常のつまみが1つしかないPWM式と同じく,中立状態にしてしまうと前照灯は点灯しません。

これはちょっと面倒ですね。

そこで,今回,この点を改良して,つまみを中立位置にしてもちゃんと前照灯や室内灯は点灯したまま,と言う風にしたいと思います。

でも,これはとても面倒です。そもそも,中立位置だとコントローラから見たら模型の進行方向はユーザ次第,と言うわけですから,何らかの形でユーザが指示してあげないといけません。

と言うわけで,やはり進行方向を示すスイッチを設けて......となるとせっかく,逆転SWを廃止したのに,またつけなきゃいけない,というわけで,これじゃ5001のよさがなくなっちゃいます。

そこで,iruchanはこうしました。

つまみをどちらかに回すと模型が走り出すのですから (当然),いったん,つまみをどちらかに回して中立位置に戻したら,それまでのつまみの位置をおぼえておいて,そのときの前照灯の点灯を維持すればよいわけですね。

要は直前の進行方向をメモリしておいて,中立位置ではそれまでの進行方向の前照灯を点灯させておきます。

また,逆転した場合はしばらくは逆向きの前照灯が点灯したままですが,つまみが逆に回ったのを検知して直ちに反対側の前照灯を点灯させるようにします。

と言う次第で,結局はメモリ機能が必要なので,PICなどのマイコンを使う,と言うことになります。もちろん,前回の改造ではタイマIC555とコンパレータを使ったハードウェア式なのですが,こちらでこういう機能を実現することも考えました。ただ,やはりメモリ,と言うことだとフリップフロップが必要で,ICがもう1個増えちゃいます。基板サイズはそれほど大きくできないのであきらめました。

また,メモリ機能なんて言ったって,ソフトで組めば簡単ですし,また,ハードウェア版同様,今回もドライブ回路はHブリッジを使うのですが,PICはもともと,モータを回転させるためにできているものも多いのでHブリッジももちろん扱えますので,実現可能だと思いました。

まずはHブリッジについて,詳しくはこちらをご覧いただきたいのですが,対角に並んだ4つの制御素子をon/offすることにより,モータの正転,逆転を制御できる回路です。▼の図で言うと,Q1とQ4,Q2とQ3がそれぞれ同時にon/offします。ちなみに,縦に2個,素子が並んでいるものをアームといい,インバータ電車なんかでは3相交流を作るのでアームは3本あります。また,上側の素子をハイサイド,下側の素子をローサイドと呼びます。なお,DCモータ用のフルブリッジ回路では各アームの素子は絶対に同時にonしませんのでご注意ください。

Hブリッジドライバ1.jpg MP4212の内部回路

ただ,なぜか不思議なことにPICなどのマイコンの世界ではフルブリッジと呼ぶことが多く,モータ屋さんはHブリッジと呼ぶことが多いようです。iruchanも普通,Hブリッジと呼んでいますが,今回は慣習にしたがってPIC側からはフルブリッジ,ICそのものはHブリッジと呼びます。

実は,ハーフブリッジという回路もあって,この回路もモータの正転,逆転ができるのですが,あまりモータの制御では用いないと思います。

なにより,ハーフブリッジだと電源が+と-の2つが必要で,電源の準備が大変です。Hブリッジだと電源は1個で済んじゃいますから。

half bridge.jpg

   ハーフブリッジ回路(Microchip社の16F1825データシートから)

ただ,この回路はオーディオのアンプじゃおなじみですね。昔,半導体のアンプは出力のDC分をカットするため,出力に大容量のケミコンが使われていましたが,音がよくない,と言うことでこのコンデンサを省略するOCL回路が考案され,そのときに使われました。鉄道模型だと+12Vと-12Vの2つの電源が必要なのでハーフブリッジは採用されません。

もちろん,PICはどちらの回路でも対応しますが,今回,やはりハードウェア式同様,フルブリッジで取り組みます。

使用するPICはいつもだと12F1822ですが,今回,16F1825を使います。12F1822だとPWM出力チャンネルが1個しかないので,フルブリッジはドライブできません。16F1825はPWM出力は4チャンネルあり,フルブリッジ可能です。また,フルブリッジ回路は縦に2つ並んだ素子を同時にonすると電源をショートすることになって危険なため,デッドタイムを設けたECCPという機能を持っていますが,今回は使いません。

ところが.....。

いくら16F1825がフルブリッジ対応,と言っても直接,フルブリッジ回路をドライブできるわけではなく,ドライバ回路が必要です。

full bridge.jpg フルブリッジ回路

しれっと描いていますけど.....。

16F1825の規格表には▲のような回路図が描かれています。FET Driverと書かれているのがドライバ回路です。

う~~ん,確かにこうなんだけどな.....,とiruchanは思っちゃいました。

16F1825の規格表の回路はHブリッジ出力段がすべてNチャンネルのMOS-FETで描かれています。

実際,最近市販されているHブリッジ用ICはほとんどがこれで,4つの素子がすべてN ch.です。

Hブリッジは上側(ハイサイドと言います)はP ch.で,下側(ローサイド)がN ch.となるのが本来の姿です。

iruchanも昔,教科書でモータの制御を勉強したときなんか,やはりこう書いてありましたし,昔のHブリッジは全部こうです。

ところが,最近のICはみんなこんなやつばかりで,4つ全部がN ch.です。

これ,実は大変なことで,回路の設計屋としては非常に難しい問題なんです。

というのは,MOS-FETやTr,真空管など,すべての半導体は陰極(ソース,エミッタ,カソード)が基準になっていて,陰極に対してゲートに電圧を印加して電流を制御します。

具体的に言うと,NPN Trの場合はエミッタに対して0.6V高い電圧をベースにかけるとコレクタから電流が流れます。

MOS-FETだと,ソースに対して2~5V高い電圧をゲートにかけるとドレインから電流が流れます。Trだとほぼ0.6Vですけど,MOS-FETは個別にこの電圧が変わり,特に電車に使われるようなIGBTやSiCなどの大電力素子は20Vくらいの電圧をかけないとonしません。

まあ,そんな話はどうでもいいんですが,とにかく,エミッタなりソースなりから必ず高い電圧をかけないとonしない,と言うのがN ch.の素子の特長です。

ということで,ローサイドの素子はエミッタやソースがGNDに接続されているし,PICもGNDに対して5Vのパルスを出力するので,ローサイドのドライブは簡単です。直接つなげばよいのですから。

ところが,ハイサイドは素子のエミッタやソースは負荷につながっているので,ほぼ,電位的にVccと同じ(素子の損失があるので少し低いですけど)です。

と言うことはベースやゲートの電位はVccより高くなっちゃいます。もちろん,ドライブ素子のコレクタやドレイン電位はもっと高くなっちゃうので,HブリッジがすべてN ch.だと前段のドライブ回路用の電源(VDD)が必要となります。もちろん,VDD>VCCとなっちゃいます。

ややこしくなるので,onしている側のFETのみで説明します。

Hブリッジドライバ(N ch. only).jpg

     N ch.のみの組み合わせの場合

これは結構,大変なことで,VDD用に,別途,ドライバ段用に電源を用意するか,Vccから昇圧する回路が必要となります。

今どきコストにうるさい,自動車屋さんはドライバ段用に別電源なんてOKしてくれませんから,ドライブ回路を作るのは大変です。

そういうことで半導体屋さんも心得たもので,N ch.のみのHブリッジ回路を構成して,それ用のドライバ回路や昇圧回路まで内蔵して入力には対GNDのTTLレベルの信号を加えるだけ,というインテリジェントなICを作っています。こういうものを使ってもいいとは思いましたが,やはりそういう素子は表面実装になっちゃっているので,今回は昔ながらのHブリッジICを使います。それに,どうしても,本当は簡単にできるのに,わざわざ面倒な回路になってしまっている,というのは気に入りません。こういうのはトラブルのもとですね。

何のためにこんなことやってんだろ,という気がするのですが,実際,今,世の中にあるHブリッジのICはN ch.のものばかりなので困ってしまいます。幸い,iruchanはちゃんとハイサイドがP ch.でできたHブリッジのIC(MP4212MP4006MP4005など)をため込んでいるので問題はないんですけど.....。と言って,これらの半導体はとうの昔に製造中止になっています.....orz。
現在,入手容易なMP4102MP4104などは使えませんので,ご注意ください。

一方,昔ながらのHブリッジICは▼のように,ハイサイドがP ch.で,ソースが電源につながっていて,ドレイン出力となっています。

Hブリッジドライバ(P ch.+N ch.).jpg

     P ch.とN ch.の組み合わせの場合

こういう場合,ハイサイドの素子のエミッタなりソースが電源(Vcc)に接続されていて,また,P ch.の素子のバイアス電圧は-なので,ベース電位はVccより低くなります。

これだと簡単で,ドライバ段用に専用の電源は不要です。ドライブするにもTr 1個でドライブできちゃうので,前回のハードウェア版でもそのようなドライブ回路になっています。

なんか,いつも思うんですけど,半導体も使いやすいものはどんどん製造中止になって,特にP ch.の素子は絶滅危惧種です。半導体はP ch.があるのがとてもいいと思っています。もし,真空管にそんなのがあったら....簡単にDCアンプができるし,PPアンプでも位相反転は必要ないし....とうらやましく思っているので,P ch.の素子がなくなっている,というのは残念です。

iruchanはPチャンネル真空管を発明してノーベル賞を,と考えています.....(^^;)。

と言う次第で,

       悪貨は良貨を駆逐する  (Thomas Gresham 1519~1579)

は正しいと思います.......(^^;)。

さて,気を取り直して....,回路を設計します。

HブリッジICは今回もMP4212を使うつもりでしたが,世の中には流通していませんし,今どきこういうICを使って記事を書くと叱られそうです。

と思っていたら,秋月からこんなものが.....。

東芝のMOS-FETモジュールTPC8407を2個使って,Hブリッジを構成し,ピン配置をMP4212と同じにしたもので,MP4212の代わりに使えるそうです。定格も30V,7.4Aと十分です。値段も160円と安いのでいいですね。

へぇ~~と感心したのですが,素子がむき出しで,モールドパッケージのMP4212の方がかっこよいよな~などと思ったんですが,試しに1個買ってみました。

MP4212, AE-TPC8407.jpg MP4212AE-TPC8407

で,これで行く気だったんですけど.....。

いざ,作ろうと袋を開けてみるとあるはずのピンがない!!

これはモジュール基板なので,普通のスルーホール基板に取り付けるにはピンがないといけないのでピンが付属しているのですが,袋の中に入っていませんでした。もう買ってからずいぶん経っているので今さらクレームをつけてもしかたありません。

と言う次第で一気に戦意喪失.....orz。膨大なドイツ軍の大戦車隊に追い詰められダンケルクの海岸で呆然としている英仏連合軍という感じです....。

しかたないので,これをあきらめ,怒ったiruchanは,"男は黙ってディスクリートだろ",ということで今回,フルディスクリートでHブリッジを作ることにしました。

一度,やってみたかったんですよね~。

といって,本来だったらTO-220で組むんでしょうけど,Nゲージだし,Tomixの5001 New Power Unitは小型なので,スペース的に厳しそう。

と思っていたら,2SJ496という石を見つけました。なんと,TO-92のパッケージなのに,5Aも流せます。TO-220の2SJ123なんかでも10Aですから,驚きです。まあ,2SJ123は古くて,最近のMOS-FETはTO-220でも80Aも流せるのもあったりするくらいですから,2SJ496が大容量なのは当たり前でしょう。

2SJ496, K975.jpg 2SK9752SJ496

ところが......。

あるはずと思った2SJ496のコンプリがありません。コンプリメンタリのTrやFETはたいてい,P ch.が先に製造中止になり,N ch.が後家さんで残っちゃったり,また,もとからP ch.が製造されてなくて最初から独り身,という半導体が最近は多いのですけど,最初からN ch.がない,というのは珍しいです。日立さん,何考えてんですか!?

しかたないので同じTO-92のパッケージでID≧3Aくらいのはないか,と思って探してみましたが,全くありません。RSコンポーネンツなんかで,海外製のFETも探しましたが,ないようです。

      VDS(V)   ID(A)  PD(W)

2SJ496   -60     -5    0.9

2SK975    60            1.5         0.9

結局,N ch.は同じ日立の2SK975にしました。定格を▲に示します。ID=1.5Aでは心細いですが,Nゲージなら何とかなるでしょう。

また,ドライバ段は前回と同じく,2SC1815によるC-E分割型です。2SC1815がonすると,コレクタ,エミッタ側に挿入した抵抗に電圧が生じて,ハイサイドとローサイド両方のMOS-FETをonできます。

C-E分割型ドライバ.jpgC-E分割型ドライバ回路
ドライバ用のTrには十分な電流を流しておかないと,出力段のMOS-FETをドライブできませんので,ベースに入っているRBの設計は要注意です。なお,Trは電流制御素子なので,RB=0にしてはいけません!! Trが壊れます。

これ,真空管でよく使われるP-K分割型位相反転回路と同じです。半導体アンプの時代になっても,ゲルマニウムの時代は出力TrがPNPしかないため,真空管と同じく位相反転が必要だったので,ドライバ段にこのようなC-E分割型位相反転回路が使われました。こんなこと知っているのは相当な爺さんです。

真空管ではP-K分割型は初心者向け,と言うことで特に日本では嫌われますが,確実に動作するし,よく使われるMullard型に比べて調整が必要ないし,とてもよい回路だと思います。

また,Hブリッジ用のドライバとしては,出力インピーダンスが問題となります。これが高いとMOS-FETの巨大な入力容量をドライブできず,スイッチング速度が低下しますが,C-E分割型だとたっぷり電流を流して低インピーダンス化してやればOKです。

今回,LTspiceでシミュレーションして,ドライバ段の2SC1815には50mAも流すことにしました。こうしてやれば,1μs以下のパルスでもドライブ可能です。前回,ハードウェア版ではドライバ段の電流は2mA程度しか流していなくて失敗でした。Trはもうひとランク上の2SC2655でもよいと思います。

さて,ということでまずは回路です。

Tomix 5001高速PWM回路1.jpg Tomix5001 高速PWM回路

HブリッジはPICのCCP1およびCCP2で制御します。調光用のボリウムは本当だったら,別途,外に出しておいて,調節できるといいですが,ケースに穴を開けないといけないので半固定としました。この場合,オシロでデューティが3%以下となるようにしておきます。4%を超えてしまうと機関車が動き出してしまう可能性があります。ついでに,前照灯&室内灯は中立位置でoffできるように汎用のデジタルI/Oポートで制御します。

ここまで来たらプリント基板を作っておきます。テスト用に,出力回路にLEDを2つつけておきます。ついでに,出力端子間にスナバ回路を挿入してモータの逆起電力を吸収させるようにしました。保護回路については簡単にポリヒューズにしましたが,本当だったらPICにはPWM出力停止という機能があるので,過電流を検知したら出力を停止させる,というのが正しい使い方だと思いますが,この場合,リセット端子も必要になるのであきらめました。

プリント基板.jpg 完成した基板

Tomixの5001同様,速度調整用のボリウムはセンタークリック付のものをAlpsが作っていますので,それを使いました。ちゃんと中点でクリックして止まりますので,便利です。

デバッグする際に,やはりモニタ用のLEDをつけておくと便利です。ケースに入れちゃうと不要なんですけどね。

プリント基板図を載せておきます。サイズは55×33mmです。

基板.jpg プリント基板図(パターン面)

基板(部品配置).jpg部品配置(部品面から見る)

さて,次はソフト。

残念ながら,最初のものはものの30分くらいでソフトを作っちゃったのですが,案の定,全く動きません。結局,デバッグに1週間もかかっちゃいました。やはりPICは大変です。

何が問題だったか,と言うとまずはPWM2が出力されませんし,調光用のパルスが出てこないので中点でLEDが消えちゃいます。また,例によって調光off用のデジタル入力も動作していないようです。

PICは限られたピンを有効に使うため,各ピンに複数の入出力機能が割り当てられていて,レジスタの設定で切り替えるようになっていますが,やはりこの設定がいろいろとまずかったようです。ようやく満足に動くようになるまで,1週間かかってしまいました。

基板ができたらまずはPICを挿さずに78L05の出力がちゃんと5Vになっていること,また,電源とGND間の抵抗を計って∞くらいになっていればPICを挿してテストします。

ちゃんとボリウムのつまみを回して2つのLEDがちゃんと別々に点灯し,中立位置でも,直前のLEDの点灯状態と同じ位置のLEDが点灯すればOKです。ボリウムを中点にして,半固定抵抗を回して明るさを調節します。可能ならオシロでデューティを3%以下にしておきます。なければ実際に模型を動かして,ちゃんと模型は止まっているけど,前照灯は点いている,と言う状態で止めておきます。

duty変化.jpgデューティの変化

パルスのデューティは▲のように変化します。ボリウムの中点でもパルスを出力させています。→ のように変化した場合,中点で模型が停止しますが,そのまま前照灯は点いたままです。同じ方向だとまたデューティはさっきの矢印と反対の向きに戻っていくだけですが,逆転する場合はしばらく逆向きの前照灯が点灯しますが,すぐに切り替わります。あとは同じです。

もっとも,電源投入直後は直前の状態というのがありませんので,LEDは2つとも点灯しません。パワーパックとして使うときも同じで,電源投入直後は前照灯&室内灯は点灯しませんので,ご注意ください。少しつまみを回してやると点灯します。以後,直前に回した方向の前照灯が中立位置でそのまま点灯するようになります。

また,中立点付近では20bit分だけ,余裕を持たせておいて,この範囲内だと前照灯のみ点灯します。調光用のデューティは最大10%でソフトを作っていますが,半固定抵抗で調整できるようにしました。
ただ,実際に試運転してみるとコアレスモータ機はかなりシビアで,デューティを2%くらいにしておかないと停止しません。また,このときのデューティが低いので,前照灯もあまり明るくありません。
そこで,コアつきモータ機の場合は調光用デューティを最大20%くらいにできるようにして,SWで切り替えるようにしました。
ソフトについては結構大きなファイルになっちゃったので,ご希望の方はコメント欄でご連絡ください。

それと,くれぐれも同じアーム内の2つの素子が同時にonすると危険ですので,テスト中は時折,Hブリッジの各素子を触ってみて,熱くなっていないか確認します。

あとはオシロの写真をご確認ください。

調光用パルス.jpg 調光用パルス

ソフトをこんな風になるように作ったので,ボリウムを中立位置(真ん中)に持っていっても必ずこのパルスが出ています。なお,▲の写真ではデューティは3.19%になっていますが,あとで2%ほどにしました。実を言うと,3%ちょっとでもほんのわずかですが,D51が動いちゃいました。コアレスモータ恐るべし!!!!

PWM波形2.jpg 途中の状況

20kHzのパルスでPWM変調しています。20kHzですので耳には聞こえません。

PWM波形1.jpg最大デューティ

100%になると完全な直流になります。

ここまで来たら試運転しませう。まずは一応,バラックの状態でテストです。ここで不具合があればまだ修正できます。

D51+5001 PIC.jpg 無事に走行します。

ちゃんとボリウムのつまみを中点に持っていっても▲の写真のように,前照灯は点灯したままです。逆方向につまみを回すと速やかにこの前照灯は点灯しなくなりました。

さて,次はいよいよケース内の基板を入れ替えて,新しいPIC版のコントローラ基板を取り付けます

ついでに,ちょっと,iruchanはケースの修理をしたいと思います。

実は,何回も分解して中の基板をいじっているので,ねじがバカになっちゃっていたので直します。

オリジナルはタッピンねじで固定してあり,木ねじと同じで,何回もねじを外したりしているとそのうちバカになっちゃいます。

これ,困っちゃうんですよね。だからiruchanはタッピンねじは使いません。

こういうときは金属製の雌ねじを埋め込んじゃいます。

商品名としてはスピンサートとか,インサートねじとか,埋込ねじとか,いろいろ言われるので結構,面倒ですが,真鍮でできていて,専用のヒータで熱してから,プラ材に埋め込むものです。なお,アルミなどの柔らかい金属に埋め込むタイプのものはヘリサートねじと言いますが,スチール製のワイヤみたいな形状をしていて,専用の挿入工具で埋め込むもので,それとは違います。また,木材用のものは鬼目ナットといい,外周のねじが木ねじ形状になっていますが,これもプラには使えません。

品質的には絶対に日本製がいいと思うんですけど,そもそも売っている店が見つからないので困りました。ところが,なんとAmazonで中国製を売っていました。100個で¥231です。これでまあ,一生使えるでしょう。

インサートナット.jpg こんなやつです。

Amazonではインサートナットとして売られています。今回,M3用のを購入しました。真鍮でできていて,なかなか見た目がよいです。なお,真鍮なのではんだと相性がよすぎて下手すると雌ねじ部分にはんだがついてしまって取れなくなりますからご注意ください。

埋込ねじ.jpg まずは下穴を。

埋込ねじの外径-1mmくらいに穴を拡大します。今回,M3ねじで固定しますので,ルータでφ5mmくらいに拡大しました。

埋込ねじ1.jpg はんだごてで埋め込みます。

専用のヒータなんてとてもアマチュアじゃ買えないので,はんだごてで十分,熱してから埋め込みます。抜けなくなると大変なのですが,ピンセットでこて先を挟んで埋込ねじを押さえつけて引き抜きます。あとでこて先は金属製のスポンジなどで清掃してください。

埋込ねじ2.jpg こんな風に仕上がります。

あとは周囲に盛り上がったプラをまたルーターで削って終わり.......のはずでしたが,肝心のM3ねじで固定しようとしたらねじが入りません.....orz。

調べてみたら雌ねじ部分に溶けたプラが少し入り込んで,埋込ねじの表面で固まっていました.....。

しかたないので,M3のタップを通して表面に溶けて固まったプラを取り除いてOKでした。やれやれ。

でも,これで無事にプラケースのふたを固定できました。便利ですので,一度お試しください。

基板実装状況.jpg 基板の実装状況

Tomix 5001 PIC版.jpg 完成しました。

ボリウムが真ん中の位置でもパルスが出るようにしました。もちろん,この位置でも前照灯&室内灯は点灯します。

さて,これで今回のプロジェクトは一応,終わりです。1月から半年,ずっと取り組んできましたが,コアレスモータ搭載のNゲージ用のコントローラを開発することができました。

全員集合.jpg 最後に全員集合の記念撮影です。

それにしてもよう作ったな~。ヒ~マ~っ!!!!


nice!(3)  コメント(6) 

コアレスモータ対応鉄道模型用コントローラの開発~その11・PFM&PWM式~ [模型]

2017年6月10日の日記

PFM&PWM controller基板5.jpg 今日はモード切替機能付です。

さて,今週は先週までに作った,PIC版のPFM&PWMコントローラのソフトを修正します。

修正項目としては,

  ☆最低デューティを2~3%とする

前回は最低デューティを1%としていましたが,やはり停車時に若干,前照灯が暗いので,少し最低デューティをupして明るくしたいと思います。

  ☆PFM⇔PWM切り替えデューティの変更

前回は5%のデューティでPFMからPWMに切り替えるようにしていました。KATOのコアレスモータ搭載機は大体,4~8%くらいで起動するので,できればPFMモードのうちに起動させたいと思い,今回,モード切替デューティを10%とします。このため,最高スイッチング周波数も50kHzから100kHzに変更となります。

  ☆フルPFMモードの追加

今までは考えていなかったのですが,前回製作したタイマIC555を使ったハードウェア版が非常にスローがよく効いて,性能がよかったので,PIC版でもフルにPFMのモードで動くようにし,スイッチで切り替えできるようにしたいと思います。ただ,この場合,うまく動作するかは微妙なのですが.....。

  ☆A/D変換は10bitとする

12F1822は通常のPIC同様,8bitのA/D変換器がついていますが,やはり分解能が低く,少し階段状にLEDの明るさが変わるように見えるのと,4倍分解能の高い10bitのA/D変換器も持っているので,今回,10bit版を使うことにして,なめらかにデューティが変化するようにします。言うまでもありませんが,8bit版だと0~255の段階ですが,10bitだと0~1024の間で変化します。

なお,今回,12F1822のA/D変換は10bitを使っていますが,ややこしいので,以下,通常のPICが持っている8bitのA/D変換機能のまま説明します。

【PFM&PWMモード】

まずは前回同様,PFM&PWMモード版についてですが,デューティおよびスイッチング周波数は▼の通り変化します。

PFM&PWM controller 周波数・duty1.jpg 

  デューティおよびスイッチング周波数の変化

このとき,PFMはoff期間の時間を調整してデューティを調整します。t_offはoff期間を示します。

最低デューティは3%とします。さすがに4%台にしてしまうとコアレスモータは起動してしまうので,ギリギリのところです。PFM⇔PWM切り替えデューティは10%としましたので,12F1822のA/D変換機能を使って,ボリウムの電圧をA/D変換した結果が3(8bitの場合。10bitだと102)を超えたところでPWMモードに移行するようにします。

PFMモードのまま,デューティが10%を超えるとPWMモードとなり,100kHzでスイッチングします。以後,パルスの幅が太くなって最終的にデューティ100%となります。

duty(PIC PFM+PWM min).jpg PFM+PWMモード最低デューティです

duty(PIC PFM⇔PWM ).jpg PFM⇔PWM切替デューティを10%としました

   PFM⇔PWM切替時(PFM最大,PWM最小)

ほぼ10%でPFMからPWMに移行します。

duty(PIC PFM+PWM ).jpg PWMモード時

PWMモードに移行すると,パルスの数は増えず,幅が広くなっていきます。最終的に100%となって,完全な直流となります。

【フルPFMモード】

さて,次はフルPFMモードです。こちらはうまくいくかどうか,ちょっと不安な点があります。

そもそもPICがどれだけの周波数を出力できるか,と言うことなんですが,一応,今回,12F1822は32MHzで動作させますので,Microchip社の規格表を見る限り,12F1822は最高,333kHzでスイッチングできるようですが,本当にこの通り動くかどうかというのは不安がありますので,実験して調べてみます。

PFM&PWM controller 周波数・duty2.jpg フルPFMモードの時

残念ながら予想どおりで,最初,最高333kHzとなるようにPFMのソフトを組んだのですが,やはりうまく動きませんでした。

最初,最高周波数333kHzで計算して,パルス幅3μs,最低デューティ3%で動作させてみたのですが,最高周波数は250kHzくらいで止まってしまいます。そのとき,デューティも80%くらいです。

オシロを見ていると,大体,240kHzくらいで突然波形が変わり,以後,75kHzくらいになってしまいました。なんで低くなるのかよくわからないのですけど....。

もちろん,最高周波数を240kHzとして動作させてみてもいいのですが,この場合,最低のスイッチング周波数は10kHzを下回ってしまいます。これだと機関車からピーッと音が聞こえちゃうので不可です[雨]

うまくいきませんね.......。せめて333kHzでちゃんと動いてくれればいいのですけど.....。

しかたないので禁断の封じ手を.....。ソフトをいじっちゃいました.....(^^;)。

すでに最高周波数の時にデューティが80%を超えているので,それ以上のA/D変換入力が来たときはデューティ100%とするようにソフトを組んじゃいました。具体的には252(10bitだと1020)以上の時には強制的に100%とします。

こんなことしちゃ,いけないんですけど......,iruchanはごまかしちゃいました。一応,iruchanも本職は技術者? 単なる事務屋という話もありますけどなので,こんなことやっちゃいけないのはわかってはいるんですけど......。

と言う次第ですが,まあ,この時点でほぼ最高速になっているし,コントローラのつまみもほぼ右一杯,という状況だし,▲のグラフを見てもこんな状況になっているので,運転していて気づくことはないと思います 気がつかないからと言ってやっていいか,と言うことはあるのですけど......。

さて,これでオシロで再確認します。

duty(PIC PFM+PWM min).jpg 最低デューティです。

今回,最低デューティは3%を狙いましたが,少し太めでした.....。でも,これならコアレスモータは回転しないので大丈夫です。

duty(PIC full PFM max).jpg フルPFMモード時最大

  ここから先,デューティ100%に飛んじゃいます......(^^;)。

さて,ソフトの方ですが,フルPFMモードを追加した最終版を載せておきます。例によってso-netはテキストファイルしかupできないので,拡張子は.txtとしてありますが,これを.hexに書き換えてPICkit3などのライターで12F1822に書き込めば使えます。


回路については,前回のブログに載っているこの回路を使ってください。

なお,最後になりましたが,フルPWMモードをつけるかどうか,ということが考えられるのですが,PWMだとスローがあまり効かないし,常点灯範囲も狭いのでやめました。それにモードが3つだと,ロータリーSWが必要になっちゃいますしね。もっとも,PICだとタッチスイッチを使えるものもあるので,そんな風にして切り替えるとかっこよいとも思えますが......(^^;)。

あとはちょっとメモ書きです。

今回,フルPFMとPFM+PWMモードの切り替えができるようにしましたが,PORTA.3を使って切り替えています。

一応,Microchipの規格表を見ると,PORTA.3(#4ピン)はプルアップされているので,そのまま,スイッチを入れてGNDに接続するかどうかで切り替えができると最初,思っちゃったんですが,動きません。

何のことはない,PICのプルアップというのは中に抵抗が内蔵されているわけじゃなく,Trでポートのプルアップの設定をしているので,このTrを内部でonさせないとこのプルアップが有効とならないのでした.....orz。

でも,これ,非常に面倒です。いろいろレジスタの切り替えが必要で,半日つぶれちゃいました。これなら外付けで10kΩくらいの抵抗を#4ピンにつけてVccにつないでおく方がはるかに簡単でした。

下記のコマンドの記述が必要です。' 以下はREM文です。

#config MCLRE=off    '#4ピンはデジタル入力

set OPTION_REG.7 off     'OPTIONレジスタ7bit(WPUEN)ビットクリア
set WPUA.3 on               'RA3弱プルアップ有効

こうして,なんとかPIC版のPFMコントローラが完成しました。いずれケースに入れてちゃんとしたコントローラにすることにします。モードがわかるようにLEDもつけておきましたしね.....[晴れ]

nice!(5)  コメント(5) 

コアレスモータ対応鉄道模型用コントローラの開発~その10・PFM&PWM式~ [模型]

2017年6月4日の日記

PFM&PWM controller+D51.jpg 今日はPICで作ります。

前回まで,PFM式のコントローラを作って調整しました。今まではタイマIC555を使ったハードウェア方式でしたが,今日はPICを使ったソフトウェア方式で作ります。

PFM式は非常に性能がよく,鉄道模型に適していると思います。正直言って,作った本人が自分の作ったものにこんなこと言うのは慎むべきだと思うんですが,今までのコントローラとは次元が違う,という感じがします。

もちろん,今まで,iruchanはPWM式をずっと作ってきたわけですが,それは従来のレオスタット式やトランジスタコントローラ式の連続制御タイプのものにくらべてPWM式がスムーズに起動して,鉄道模型に適していると思っていたからですが,PFM式はそれこそ,PWM式に比べてもさらによく,次元が違うレベルという感じがします。

具体的に言えば,新幹線TGVというくらい違います

                                                               もちろん,TGVの方が優れています....(^^;)

ご乗車になった方はおわかりいただけると思いますが,TGVの方がはるかに車内は静かですし,乗心地は新幹線なんて比べものにならないくらい揺れずにスムーズに走っています。iruchanも初めて乗ったとき,"次元が違うな~" と思いました。新幹線なんて,車内の騒音はひどいし,通路を歩くのも大変なくらいですからね.....。

まあ,ある意味,車内の騒音レベルは高い方が酔っ払いやおばはんのグループが大声で騒いだりしていても気にならないのでいいのかもしれませんが........。TGVだとおばはんがうるさくてたまらんだろうな。いや,向こうのおばはんはレディーだから,騒ぐようなことはないかぁ~。車内で酒飲んで騒いだり,大声で世間話をして盛り上がったりなんて,やはり日本はレベル低いな~,と思います......[雨][雨][雨]

と言う次第で,ちょっとPFM式コントローラの特性について調べてみたいと思います。

今まで,コアレスモータ用には高速PWM式を開発してきました。実際,DCモータの教科書なんかにはPWM式のことは詳しく書いてありますし,普通,ブラシ付DCモータはPWMで制御する,というのが常識でしょう。

とはいえ,従来の教科書は自動車や産業用の機械など,ある程度高速で回転し,ギヤで減速するようなモータについて書かれていると思います。

確かに,そのような場合はモータは高速回転していますので,PWMで制御する場合のデューティも80%とか,高いものでしょう。

でも,鉄道模型は考えてみると,ごく低速で起動させ,通常運転時も低めのデューティで運転することが多いと思います。その場合はPWMでは適していないのではないか,と考えています。

もし,産業用の機械なんかで,DCモータを数%のデューティで常時回転させる,なんて設計をしたら上司に叱られるでしょうね。ところが,鉄道模型はこのあたりのデューティの制御が重要なんです。

従来のPWM式はスイッチング周波数を20kHz以上とした場合,出力の素子のスイッチング速度が遅く,低デューティのパルスが出てこなくなり,突然,5%以上のデューティのパルスが出てくる,という特徴があります。そこで,出力素子のドライブ段を挿入して,出力段の高速化を図って1%以下の低デューティのパルスが出るようにしたのを開発してきました。

と言って,やってみるとここまで来るのに結構苦労しました。なかなかPWMだと1%程度のパルスを作るのにも苦労しちゃいます。

ところが,PFM式はパルスの幅は一定で,パルスがoffとなっている期間を調整してデューティをコントロールするので,低いデューティのパルスなんていくらでも作れちゃいます。

と言う次第で,PFM式は非常にコアレスモータを使った模型でも低速から起動するので,起動がスムーズであることがわかります。

でも,それだけじゃなく,前照灯や室内灯などのLEDが点灯してから,モータが回転して模型が走り始めるまでの間に非常の余裕がありますし,起動してから最高速に達するのも非常にスムーズです。

まずはPWM式のデューティについて再度,考えてみます。

simulation 20kHz.jpg従来のPWM式の場合(Spiceシミュレーション)

第4回に載せましたが,iruchanが昔作った従来のPWM式の場合,スイッチング周波数を20kHz以上にすると,低いデューティのパルスが出てこなくなり,▲のグラフの ━ 線のように0%からスムーズにデューティが立ち上がらず,突然,10%くらいからパルスが出力されます。

これでも,従来のコアつきモータの模型の場合は起動時のデューティが30%以上なので問題はなかったのですが,コアレス機は数%のデューティで起動してしまうので,このようなコントローラだとラピッドスタートになっちゃいます。

本当は原点から直線的にデューティが100%に変化していかないといけないのですけどね.....。

もちろん,直接原点からだとちょっとつまみを回しただけで模型が動き出しちゃうので,少し,"遊び" の部分を作ってやりますけど。

今回開発した,高速タイプのPWM式コントローラだと最低デューティは1%以下なので十分,コアレスモータに対応できます。

では,PFM式の場合はどうでしょうか。PFMだとこうなります。

PFM controller 周波数・duty1.jpgPFM式の場合

ちょっと,横軸が変で,さっきの図と左右が逆になってしまい,申し訳ありません。実は,Excel2013で横軸を左右反転することができるのですが,そうするとどうしてもグラフの線が ━ 線しか反転せず,  は反転しませんでしたのであきらめました。Excelのバグじゃないでしょうか?

ただ,今回製作したPFM式はこの図の通り,速度調整のボリウムは抵抗値が大きい方が低速となりますので,普通のPWM式とは逆です。ちなみに,KATOのKC-1も同じですけど。

でも,このグラフを見て納得。PFM式だとデューティの変化がきわめてゆっくりです。

ただ,これだと,最高速あたりで急に加速し,まずいんじゃない? と思われる方もいらっしゃると思いますが,実際,運転してみて,そんな風には感じませんし,むしろ非常にスムーズに加速する,という印象を受けます。実際の電車は速度が上がるほど,加速度は下がってくるので,逆な感じがするんですけどね.....。

おまけに,よくこのグラフを見ていただきたいのですが,横軸は対数軸になっています。

横軸が対数軸でこんなにカーブが緩やか,ということは,もし,横軸が直線だったらもっと緩慢な曲線になるわけです。

PFM controller 周波数・duty2.jpgPFM式の場合(X軸はリニア)

これじゃ,デューティ100%のあたりがよくわからないので,ひとつ上のグラフでは対数軸にしました。

よく,PWM式のコントローラを作る際に,調整用のボリウムをBカーブじゃなく,Aカーブで作る方がいらっしゃいますが,このような効果を狙ったものでしょう。

ボリウムは何種類もありますが,大きく分けてAカーブとBカーブの2種類があります。

Aカーブは対数曲線になっていて,小さな抵抗値の間は緩慢で,大きくなるほど急激に変化するようになっています。

これは,本来は音量調整に使うもので,人間の耳の特性に合わせてこんなカーブになっています。ですから,アンプやラジオなどの音量調整にはAカーブのものを使います。ここにBカーブのものを使うと小さな音量のところが調整がやりにくくなっちゃいます。

もっとも,普通の電圧調整用なら直線の方がやりやすいので,直線状に変化するものがBカーブです。

ほかに,Cカーブやバランス調整に用いるM-Nカーブというものもありますが,今では入手が困難です。

そこで,鉄道模型は低速が重要だからと,Aカーブのボリウムを使いたいのですが,PWM式だと先述の理由の通り,低いデューティのパルスは出てこないので,あまり意味がありません。と言う次第で,iruchanは今まで,鉄道模型のコントローラはいつもBカーブを使っています。

ところが,PFM式はAカーブのように変化します。

ただ,実を言うと,Aカーブだと対数軸の場合は直線になるはずなので,PFM式はAカーブ以上に緩慢に変化する,と言うわけです。

これならスムーズに速度が変化しますね[晴れ]

また,最大抵抗値(速度で言うと,一番低速の位置)を見ていただくと0になっていません。

PFM式は絶対にデューティが0%にはなりません。

だから,速度調整のつまみを一番左に回した状態でも必ずパルスが出ていて,前照灯&室内灯が点灯します。

これもPFM式の特長です。

ある意味,停車中にもずっと前照灯が点いちゃうわけなので,どうしても消したい場合はコントローラをoffするしかないのは問題なんですけどね.....。

でも,そういう場合は単にスイッチを1個,追加するだけでOKですので,問題ないと思います。

次に,周波数についてみてみると,右側の第2主軸に周波数が表示されます。

残念ながら,今まで書いてきましたとおり,周波数はPWM式の場合は一定ですが,PFM式は大きく変化します。

20kHzからスタートすると,最終的には2MHzくらいになっちゃいます。

もっとも,高周波になると自然に波形が崩れてきて,iruchanが作ったものは160kHzくらいでデューティが100%となるので,問題ないと思います。

といって,高性能なPFM式を設計するとマジで1MHzくらいの周波数となりそうです。

こうなると模型に問題はないのか,と心配になりますし,また,レールがアンテナになってAMラジオに雑音が出そうです。

と言うことで,低速はPFM,高速はPWMとしたいのですが,そういうコントローラは作れないのでしょうか。

事実,スイッチング電源にはこういう設計をするものが増えてきていて,スイッチング電源用のICもPFM&PWM両対応のものが出てきています。

MaximやLinear Technology,Texas Instrumentsからも出ていて,こういうICは使えないかとiruchanはさんざん規格表をにらんで調べてみたのですが,鉄道模型など,モータ制御用に使えるものはなさそうです。それに,これらのICはいずれも表面実装のICになっちゃっているので,たとえ使えたとしても,はんだづけするのにも苦労しそうです。

そんなわけで,あっさり,PICを使うことにしました。

PICだったらA/D変換してボリウムの位置を調べ,その電圧をもとに,低速はPFM,高速はPWMと切り替えができそうです。

と言う次第で,いきなり回路です。クリックすると拡大します。

PFM&PWMコントローラ(PIC)1.jpgPFM&PWMコントローラ回路図

ちょっと複雑に見えますが,いくつもあるLEDはインジケータ用なのでなくても構いません。MOS-FETはNECの2SK2412を使いましたが,これはMOS-FETの割にCissが小さく,ゲートしきい値電圧も低いので使いやすいFETです。

今回の研究成果である,2SA10202SC2655によるプッシュプルドライバ回路を挿入していますので,他社のMOS-FETでもOKです。

もっとも,今回,PFMモードのパルスは1μsと従来の0.5μsより倍広いので,ドライブ回路は不要かもしれません。パルス幅は3μsくらいまでなら許容範囲です。

PWM式コントローラ(PIC・最簡略版)1.jpg最簡略版

もっと,回路を簡単にしたい,と言う方は第4回に載せた▲の回路でもOKだと思います。なお,MOS-FETのゲートに入れる抵抗はできるだけ小さい方がよく,10Ωくらいにした方がよいと思います。最悪,直結でもよいとは思うのですけど.....。寄生発振などの問題もあるのでおすすめしませんが。

PFM⇔PWMの切り替えはとりあえず,デューティ5%としました。その場合,デューティや周波数の変化は次の通りとなります。

PFM&PWM controller 周波数・duty.jpgデューティ,スイッチング周波数の変化

こんな風に,ボリウムが低い位置ではデューティの変化は緩慢で,PWMモードに切り替わると直線的に上昇します。一方,スイッチング周波数は最高50kHzで頭打ちとなります。まあ,PFM⇔PWM切り替え点は10%の方がよいかとも思っているのですが....。実験して決めたいと思います。

ソフトは大苦心。やはり,大変でした。

簡単にすぐ作っちゃったのですが,うまく動作するまで,昨日から2日かかりました.....orz。

最初の問題はやはりPFM。そもそも使用したPIC 12F1822をはじめとして,PICにはハードウェアPWMの機能を持つものがあっても,ハードウェアPFMの機能を持ったものはありません。

しかたないので,最初はデジタル出力ポート(PORTA)を計算したデューティと周波数で指定した時間だけon,offするソフトにしましたが,うまく動きません。どうしても出力パルスは5μsくらいです。

そんなはずはないんだけどな......と思ってみましたが,よく考えてみりゃ,最高,50kHzでスイッチングするのに,1波ごとに計算してたんじゃ,間に合うわけがありません。

そこで,変ですけど,ハードウェアPWMをPFMのルーチンでも使うことにし,一定の時間ごとにサンプリングした基準電圧ごとに同じくデューティと周波数を求め,それでハードウェアPWM(CCPポート)を使うことにしました。

これでようやくPFM波が出力されるようになりました。

ところが,どうしてもPFMモードのときに,最初と途中で2回,出力がoffになる期間があります。

そんなはずはこれもないはず。ソフトもバグはありません。

結局,これもCPUのクロックの問題でした。やはり応答速度なんですね。最初は12F1822は16MHzで動かしていましたが,最高の32MHzで動かしたら解決しました。

これで,ようやくPFMモードは解決したと思ったんですが,今度は次のPWMのモードが変。どうしても最高デューティが75%くらいになっちゃってて,100%になりません。

最初は出力段の応答速度かと思ったのですが,そうではなく,マジで12F1822が75%くらいのデューティのパルスしか出力してません。

何じゃ,こりゃ[雨]

半日かかっちゃいましたが,結局,原因はデューティを計算するところが問題。

PICはしょせん,8bitのCPUなので,変数は浮動小数点は扱えないので,デューティの計算などは全部整数でやらないといけませんが,そのため,うっかりかけ算の一部の項で計算中に0.1とか,1未満の数字になると結果が有無を言わせず,0になっちゃったりするので気をつけないといけませんが,今回はオーバーフローしちゃってました。そのせいで,デューティがエラーになっていたようです。使用している,Great Cow Basicはintegerは-32767~32767の間なんですが,うっかり,計算中にこの範囲を超えてしまっていました。結局,duty,freqなどの変数をLONG型に変更してOK。やれやれ[晴れ]

PFM&PWM controller基板1.jpg 基板が完成しました。

今回,基板上に4個もLEDを載せちゃいました。iruchanは光ものが大好きなので......(^^;)。

ピンクのLEDはパイロットで,単に電源が入っているかどうかのチェック用です。5V用にレギュレータ78L05を入れているので,それのモニタです。

ほかに,PFM,PWMのモードを示すためのLED(緑,青)を入れました。こんなの入れておくとモードの切り替えがわかって楽しいですね。また,出力のモニタ用に電球色LEDをつけました。これはないと不便です。

PFM&PWM controller基板2.jpg PFMモードの時

PFMモードの時は緑色のLEDが点灯します。最大デューティは5%なので,出力のモニタ用の電球色LEDもボ~ッと点灯しているだけ,というのはおわかりいただけると思います。

PFM&PWM controller基板3.jpg PWMモードの時

PWMモードに切り替わると青色のLEDが点灯し,デューティは直線的に変化し,最後に100%となります。出力の電球色LEDも明るく点灯します。

ただ,今回は失敗で,PFMモード指示用に使った緑色のLEDは暗すぎるし,逆に,最近お気に入りのアイスブルーのLEDは逆に明るすぎでした。

どちらも秋月で買ったものですけど,よく輝度を調べて買わないと明るさがまるで違うのでご注意ください。▲の回路図でも,緑色のLEDの電流制限抵抗が100Ωなのに対し,アイスブルーの方は22kΩにもなっています。これくらいでようやく明るさがほぼ同じくらいとなりました。しかたないので,後日,オレンジ色の超高輝度タイプのものに変更しました。今どきこんな暗いLEDはさすがに必要ないと思います。▲の回路図は変更後のものです。

オシロの写真を示します。

PFM&PWM controller min duty.jpg 最低デューティです。

今回,パルス幅は1μsでソフトを組みました。それより低いデューティのパルスを出力しています。ただ,いくらPICがこのように狭いパルス幅のパルスを出力しても,出力段のMOS-FETの入力容量の問題をクリアしないとこのように狭いパルスが出力できませんのでご注意ください。やはりドライバ段は必要だと思います。

PFM&PWM controller D51起動duty.jpg KATOの新D51起動時です。

このように,ボリウムを回していくとPFMモードなので,パルス幅は変わらず,パルスの数が増えていきます。

驚いたことに,KATOのコアレスモータを搭載した新D51はこのように低いデューティで起動します。最近のED70だとコアつきモータなので,やはり30%くらいで起動し,PWMモードに入ってからになります。

PFM&PWM controller D51 PWM duty.jpg PWMモードです。

デューティが5%を超えると,今度はパルスの数は変わらず,幅が広くなっていきます。

PFM&PWM controller 最大 duty.jpg 最後です。

最終的にデューティが100%となって最高速度になります。

なお,試運転してみた結果はやはりコアレスモータだと5%程度のデューティで起動してしまいます。できれば,コアレス機はPFMモードで起動した方がスムーズですので,もう少し,PFM⇔PWMモード切替デューティは高い方がよいと思います。

PFM&PWM controller基板.jpg プリント基板図

サイズは55×29mmです。

PFM&PWM controller基板(部品配置).jpg 部品配置(部品面から)

と言う次第で,なんとか,PFM&PWMモード混合タイプのコントローラを製作できました。もうしばらくソフトを組み替えてテストしてみます。ソフトについては,修正後,upしたいと思います。もうしばらくお待ちください。


2017年6月10日追記

ソフトの最終版を載せました。つづきをご覧ください。

nice!(5)  コメント(4) 

KATO ED70入線 [模型]

2017年5月21日の日記

kato ED70-2.jpg KATOのED70です[晴れ][晴れ]

まさか,こんな日が来るとは思ってもみませんでした。

昨年の秋,KATOのホームページにED70の生産予告が出ていました。

北陸在住のiruchanはとてもED70が好きなので,以前,マイクロエースのものを買っていますけど,まさか,そのときにはKATOから将来,出るとは思いもしませんでした。とてもマイナーな機関車ですしね。北陸でしか走っていませんでしたし,わずかに19両製造されただけですから。

北陸本線の田村~敦賀間の電化完成は1957年10月1日ですが,先に田村~木ノ本間が完成し,そこで訓練運転する目的があったため,実車はひと足早く,1957年6月に試運転を開始することとなっていました。設計開始は前年の5月で,1年という期間しかなく,かなりの機器は仙山線で実験していた,ED45 1の機器と共通です。設計期間も短かったし,信頼性の低い水銀整流器を使っていたので,実際の運用は苦労があったと思いますが,交流機関車のパイオニアとして,大変貴重な機関車だと思います。

さて,KATOのED70が発売されたのは今年2月23日です。同時に買う予定だったトラ90000が発売延期で,送ってきたのは先月末です。

本当に待ち遠しい機関車でした。KATOらしく,非常に精密にしっかりとした出来ですし,動力の性能も素晴らしいです。

今日は,さっそく整備します。

まずはいつもどおり,スナバ回路の装備です。

PWM式などのパルス式コントローラを使って,機関車が停車していても前照灯を点灯させた状態で停車する,いわゆる常点灯に対応させるための工事で,iruchanが考案したスナバ回路を装着して反対側の前照灯が点灯しないようにします。

別にスナバ回路がなくても常点灯には対応するのですが,これがないと反対側の前照灯が点灯しちゃいます。

と言う次第で,とりあえずボディをばらします。

kato ED70内部.jpg ボディ内部です。

乗務員室あたりの窓ガラス部品にツメがありますので,これをうまく外してボディを外します。

kato ED70 基板.jpg スナバ回路の挿入状態です。

左側のLEDのすぐ右にコンデンサがありますので,これを撤去します。こうするだけで常点灯に対応しますが,これだけだと右側のLEDも点灯しちゃうので,スナバ回路を挿入します。

表面実装の部品なので非常にはんだづけがやりにくいですが,フラックスを塗ってはんだづけするとうまくいきます。むしろ,フラックスを塗るので,普通の電子工作で使う,ヤニ入りハンダじゃないほうがうまくいくかもしれません。

コンデンサや抵抗は最近は非常に小さくなり,▲のように途中を電線で結ばないといけません。絶縁した方がよいので,ロジックICの配線などに用いられるラッピングワイヤを使っています。

kato ED70&PFM.jpg 最新鋭のPFMコントローラでテスト中。

最近,試作したばかりのPFM式コントローラを使ってテスト中です。これは非常に高性能で,きわめてゆっくり起動しますし,▲の写真のようにつまみを一番左に回して絞った状態で常点灯という状態になります。通常のPWM式だと,前照灯は点灯するけど,機関車は動かない,という微妙な位置につまみを止めておく必要がありますが,PFM式は非常に常点灯の範囲が広く,単にボリウムを一番絞っておくだけで常点灯にできます!!

右側の前照灯が点灯しないのはスナバ回路のせいです。これがないと右側も点灯しちゃいます。

kato ED70 特高圧配線オリジナル.jpg オリジナルの状態

knuckle coupler.jpg ナックルカプラーへの交換

KATOのナックルカプラーに交換するのは非常に面倒で,なかなか排障器が外れないし,外れたと思ったら金属の板バネがどっか行っちゃったりして大変ですが,このようにボディを外しちゃったらついでにカプラーセットごと外してからやると簡単です。

ナンバーはマイクロエースのが2号と14号なので,7号機にしました。

さて,ここまで来たら試運転,と行きたいのですが......。

どうしても気になるところがあるんです。

特高圧配線の一部が金属線じゃなく,プラの一体成形ものになっています。

kato ED70 特高圧配線オリジナル1.jpg オリジナルの状況

    空気遮断器(ABB)と特高圧引込み碍子周辺がプラです。

以前,KATOのEF81でこうなっていて,どうしても気になって金属線に交換していますが,今回も交換しました。最近のEF70では全部,金属線になっていましたので残念ですがコストの問題もあるのでしょう。

まずは寸法を調べておきます。といって,ノギスでいきなり調べてもうまくいかないので,スキャナで部品を読み込んで,"花子" で採寸します。

もちろん,写っているスケールは"花子" での採寸用の基準寸法となります。"花子" で,スケールを任意の縮尺にして,このスケールの20mmが画面上で20mmとなるように設定すれば,寸法が原寸で表示できます。

ED70特高圧配線図面.jpg 図面作成中。

KATOのED70の高圧配線の金属線はφ0.4mmのようでしたが,この特高圧碍子に穴を開けないといけないので,一回り細く,φ0.3mmの洋白線を使いました。

ED70特高圧配線固定中.jpg ただいま固定中。


kato ED70 特高圧配線洋白線化.jpg 取り付けるとこんな感じです


kato ED70.jpg  とても美しいフォルムです。

こういう具合にうまく配線の改良もできました。

色合いも非常によく,実車の雰囲気をうまくとらえています。スムーズで静かな動力に感激しました。本当にどうもKATOさん,ありがとうございました。これから先日,入線したばかりのEF70 1000番台と一緒に試運転をしませう。


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

2017年5月20日の日記

先週,PFM式の鉄道模型コントローラを試運転しました。

残念ながら,かすかですが音がして,かなり甲高い音を出しますし,当然ですが,つまみを回していくとどんどん周波数が高くなります。チョッパ電車なら一定の音なのでそれほど気になりませんが,初期のインバータ電車みたいに音の周波数が変わるので非常に感じが悪いです。まぁ,機関車が走り出すと気にならないレベルですけど。

すっかり泥沼にはまってしまいました。これじゃ,ウクライナの湿地帯にはまってしまって身動きが取れなくなったドイツ軍,という感じです......orz。

しかたないので,なんとか冬将軍が来る前に無事撤退,という具合に行きたいものです。

先週は,スタート時点のスイッチング周波数を500Hzと想定して設計しました。やはりこれはダメで,もっと高い周波数にしておかないと耳に聞こえてします。

ただ,そうしなかったのは,先週も書いておきましたが,PFM式は当然,周波数がどんどん変わるので,最終的にはかなり高い周波数になってしまいます。実際,先週の測定では610Hz~63kHzというものでした。つまり,大体100倍くらいの周波数になります。

こうなってくると,仮に20kHzでスタートすると最終的に2MHzにもなることが予想されます。

そうなると使用しているタイマIC555の発振可能周波数がいくらまでか,と言うのが問題になります。

555の発振可能周波数は大体,500kHzというのが相場です。iruchanもそう思っていました。

でも,テキサスインスツルメンツが出しているNE555の規格表を見ると,もっと上まで出そうです。

NE555 free running frequency.jpg TI社NE555データシートから

たしかに,100kHzまでしか表示されていませんが,RA+2RB=1kΩの線を伸ばすと1MHz以上は出そうです。

ということで,C,Rをまた変更してテストしてみることにします。

まずはSpiceでのシミュレーションから。LTspiceは幸いなことに,NE555のモデルが標準でついています。

PFM controller (20kHz) simulation schematic.jpgシミュレーション回路

PFM controller (20kHz) waveform.jpg スタート時点の最低デューティ。

最低デューティは約1%で,周波数もほぼ20kHzとなっています。

PFM controller (20kHz) waveform-2.jpg 最終段階です。

最終的にはデューティ100%となる直前の状態です。初段の非安定マルチの出力は1.6MHzで,波形も崩れてきていますが,まだちゃんと出力しています。

ということで何とかなりそう.....,という雰囲気です。

それに,波形が崩れてきていますが,そもそもデューティが90%以上になっている段階でのことなので,ここで波形が崩れても,単にデューティが90何%かから100%に飛ぶだけのことで,問題ありませんね。

PWM式の場合,波形が崩れるのは第4回にも書いておきましたとおり,デューティが低いときです。

ここで波形が崩れてしまうと,低いデューティのパルスが出てこなくなり,ラピッドスタートになっちゃうので大問題ですが,PFM式は低デューティは大得意ですから,問題ありません。

ということで,ここまで来たら基板上の部品を取り替えてテストしてみます。

今回,555の発振周波数を決めるCとRのほか,2段目の単安定マルチの555の充放電コンデンサの放電用の2SA1015を1ランク上の2SA1020に取り替えました。Spiceのシミュレーションで120mAくらい流れることがわかったためです。

PFMコントローラ2.jpg 一応,現時点での回路図です。

基板(20kHz).jpg 最終的な基板です。

最低デューティ(10kHz).jpg 出力波形です。

▲のオシロの波形は最低デューティの時です。残念ながら周波数は11.5kHzと予想より低めですし,最低デューティも6.6%になっています。さんざん原因を考えたのですがよくわかりません。初段に使っている555のコンデンサが150pFと異常に小さいですし,セラミックコンデンサなので誤差も大きいからか,と考えていますがよくわかりません。まあ,これで動かなければOKなので,とりあえずテストしてみます。

最大デューティ(改良後)1.jpg ちなみに,最大デューティ時です。

試運転.jpg ただいまテスト中。

やはり驚き.......。

     [晴れ][晴れ] ものすごくスローで動くんです [晴れ][晴れ]

もちろん,常点灯にも対応し,停止した状態で前照灯が明るく点きます。6%くらいのデューティだと機関車は動き出しちゃうんですが,動かずに停止しています。ちょっとなんでだか説明できないんですけど。

それに,PFM式のよいところは最低デューティでも必ずパルスが出ているので,ボリウムを一杯に絞っても必ず前照灯が点灯します。

これはいいことなのか,悪いことなのか,どちらにも解釈できちゃうんですが,いい方としては,いちいち,今回作ったKC-1改PIC式のもののように,調光用のボリウムを調節しなくても前照灯が点灯するし,また,TL494を使った従来のPWM式のようにつまみが1個しかないタイプのものは機関車は動かないけど,前照灯は点灯する,という位置につまみを止めておかないといけませんが,コアレスモータ機はLEDが点灯するデューティと機関車が動き出すデューティの範囲が狭く,そういう状態で止めておくのはなかなか厳しいですが,今回のPFM式だと楽勝でした。それも単につまみを一番絞っておくだけでOK,というのは楽です。

まあ,逆に,前照灯を消したいときはコントローラをoffするしかない,と言う欠点もあるのですが.....。

また,前回,テストしたときに気づいたのと同様,PFM式は非常にスローで動きます。これはKC-1も真っ青と言っていいくらいです。なにより,さっきも書きましたとおり,常点灯する範囲が非常に広く,時計で言うと10時くらいまでは前照灯のみが点灯して,それ以後は機関車がゆっくり動き出す,という感じで,非常に鉄道模型のコントローラとして優秀だと思います。PWM式の場合,今回製作したものも含め,常点灯する範囲というのは非常に狭く,特に,コアレス機は厳しいのですが,今回,製作した一連のものでも常点灯の状態を保つのは非常にクリティカルなのに,PFM式は本当に楽勝,という感じです。

常点灯(20kHz).jpg もちろん,停車中です。

マニアの皆さんを機関区に集めて撮影会するにも楽で,これだと皆さんに喜んでいただけますね......(^^)。

と言う次第で,PFM式は大いに将来有望で,今後,研究していきたいと思います。

ソ連に侵攻したドイツ軍は1815年のナポレオン軍同様,冬将軍に負けちゃうわけですが,こうして無事にiruchanは泥沼から脱出し,キスカ奇跡の撤退ができました。


2017年5月23日追記

どうもパルスが太く,デューティが高めなのは使用している,HA17555の応答速度がやはり低いためのようです。実際,実機(最後の回路図をご参照ください)ではSpiceのシミュレーションとはかなり違うCとRの値になってしまっています。

と言う次第で,もし,本機を製作しよう,と言う方はより高速なC-MOSタイプの555をおすすめします。ナショセミのLMC555だと3MHzまで動作保証されていますので,特に2段目の単安定マルチにはこれを使った方がよいと思います。また,LMC555は最大電圧が15Vまでですので,そのまま差し替えができます。


2017年5月29日追記

プリント基板図のご要望がありましたので,upしておきます。まだiruchanはPFMコントローラは未完成と考えていますので,とりあえずの暫定版とお考えいただければ幸いです。

実験しましたが,やはり2段目の555はC-MOSタイプのLMC555をお使いください。最低パルス幅は0.8μsで,最低デューティは1.4%となりました。2段目の単安定マルチバイブレータはより高速タイプのものが必要なようです。

ただ,残念ながら,初段の非安定マルチにLMC555を使用すると動作しませんでした。こちらは通常のTTLタイプの555をお使いください。

PFM controller(基板)1.jpg プリント基板(銅箔面)

PFM controller PCB(部品面)1.jpg プリント基板(部品面)

サイズは53×37mmです。 はジャンパ線です。


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

2017年5月15日の日記

先週,コアレスモータ車両にはPFM方式がよいのではないかと考え,基板を作ってテストしてみました。

ところが,大チョンボをしてしまい,ドツボにはまってしまいました.......[雨]

一杯にボリウムを絞ってもLEDが点灯するのはいいのですが,1秒ごとにパッ,パッと点滅する有様で,常点灯とは言えますが,これじゃお客さんから苦情が来るってば!!

ちゃんと停車中もずっと灯りが点滅せずに点いてなきゃいけませんね......orz。

PFMは低デューティのパルスを出力するのに優れた方法で,最近はスイッチング電源が負荷が小さいときに従来のPWMより損失が少ないので用いられています。KATOのKC-1はスイッチング電源用のNECのμPC494Cを使っていますが,これは古いICなのでPWMのみですが,最近のものは負荷に応じてPFM⇔PWMのモード切替をするものが増えてきています。

鉄道模型用のコントローラとしては,PFMは安定して低デューティのパルスを作れる,と言うメリットがあると思います。

それに対し,iruchanも昔から作っているPWM式はあまり低いデューティのパルスを出力できません。

というのはPWM式はパルスの幅,言い換えるとon時間を可変するため,パルス幅が狭くなってくるとスイッチングする素子の速度が問題になってくるためで,特に,鉄道模型だとスイッチングによる電磁音が聞こえないよう,20kHz以上のパルスを出力しますが,それで低デューティとなるとパルスの幅が狭くなって余計にスピードが問題になり,パルスが出力できなくなってしまうからです。

一方,コアレスモータは起動時のトルクが大きく,また,機械的抵抗が小さいため,非常に低いデューティで回転してしまいます。

iruchanが実測したところ,最低で4%くらいのデューティで起動してしまうようです。

常点灯に対応させるためには,さらにこのデューティより小さいパルスを出力させないと,前照灯,室内灯のLEDが点灯しないため,目標として1%のデューティが出力できるコントローラを開発しています。

ところが,仮にスイッチング周波数を20kHzとし,デューティ1%とすると,パルス幅はわずかに0.5μsとなります。

第3回に書きましたが,これだとバイポーラTrはダメで,MOS-FETじゃないと出力できません。

じゃ,MOS-FETでいいじゃん,と思っちゃいますが,今度はゲートの入力容量が問題となり,その容量の充放電を速くするため,ドライブ回路が必要となりました。

と言う次第で,結構,PWM式で高速コントローラを作る,というのは面倒なことになります。

一方でPFM式はと言うと....,

安定したパルスが出力できる周波数で一定幅のパルスを作り,off期間を可変してデューティを変化させるので,無限に0%に近いデューティのパルスを出力できます。PWMだと,on期間を可変するので,どうしてもパルスの最小幅には限界があり,あるところでパルスが出力されなくなってしまって最低デューティは数%となってしまいます。

そこで,前回,PFM式を試作してみたのですが,大チョンボをしてしまい,ボリウムを一杯に絞ったら前照灯&室内灯が点滅してしまう,という不具合を生じてしまいました。

off期間を無限に延ばせばデューティを限りなく0にできる,と思ったのは間違いで,確かにそうだけれど,鉄道模型の常点灯に応用する場合はoff期間には自ずと限度があるのです。

こんなの,ちょっと考えりゃ,気がつくんですけど,iruchanは基板をテストして基板上に取り付けたLEDが点滅していても気がつきませんでした.....orz。

そこで,今回はまず,off期間が最大どこまで延ばせるか検討してみます。

PWMもPFMも同じで,どちらも常にLEDは点滅しているので,要は人間の目に点滅しているとは気がつかないくらいまでは伸ばせるわけです。

とりあえず,500回と決めました。実際,目に感じられる回数としては映画が24回,TVが30回ですから,これくらいで十分な気がしますが,あまり低いスイッチング周波数は損失も増えるので,高めにしました。

となると,toffは最大でも1/500sec.で,2msec.と求められます。デューティはton/(ton+toff)ですから,1%のデューティのパルスを生じさせるためには,tonはさらに1/100で,約20μsです。

PFM controller duty settings.jpgデューティの決定

これならなんとかバイポーラTrでも十分出力可能です。前回,出力に東芝のダーリントンTr2SD686を起用したので,できればこれをそのまま使いたいのですが,何とかなりそうです。

前回も書きましたとおり,回路は非安定マルチバイブレータでトリガ信号を作り,それをもとにして単安定マルチバイブレータで一定幅のパルスを作らせようとしていますので,前段の非安定マルチは500Hz,次段の単安定マルチは1/20μsで50kHzで動作させればよいのです。

タイマIC555の規格表には上記の周波数で発振させる場合のC,Rの計算式が載っていますので,それに基づいて再計算しました。iruchanはいつも新日本無線(JRC)のNJM555の規格表を見ています。ご参照ください。

といって,今回使用したのは部品箱から出てきた日立のHA17555なんですけど.......(^^;)。

日本ではJRCのほか,NEC,東芝,日立など主だった半導体メーカが555を作っていました。今でも世界中で大量に作られていますが,DIPタイプを生産してくれているのはもう日本ではJRCさんだけのようです。HA17555もルネサスのwebを見たら新規採用非推奨となっています。

なお,555を2個内蔵した,556と言うICもあります(スプレー式の潤滑油じゃありませんけど。もちろん,豚まんじゃないってば。ちなみに551というICはありません)。これを使うとICは1個で済みますが,あまり556は見かけたことがありません。もちろん,556をご使用になってもOKです。

以上の計算からC,R類の定数を変更して,検証のため,LTspiceでシミュレーションをしました。

PFMコントローラsimulation schematic.jpgシミュレーション回路です。

PFM simulation 波形(16.5us).jpg 最低デューティの状態です。

━ が初段の非安定マルチの出力で,その立ち下がりに同期して2個目の単安定マルチが出力します( 線)。ただ,どうしても2個目の単安定マルチのパルス幅が広く,最低デューティが大きくなってしまったので,1個目の非安定マルチの出力を利用して2個目の555の充電用コンデンサ0.1μFを放電させています。実は2SA1015は結構,重要な役割を果たしているのです。

PFM simulation 波形(16.5us)2.jpg 途中の状態です。

徐々にパルスの数が増えていき,パルスの間隔が狭くなっていきます。最後は100%となって,完全な直流となります。

PFM simulation 波形(16.5us)3.jpg 拡大

パルスの周波数としては,最低が610Hzで,最高がなんと63kHzにもなります。ただ,最高の状態でもパルスはきれいな方形波を保っており,PFM式としては成功のようです。555はなかなか優秀なICですが,最高で500kHzくらい,と考えていたので,もう少しよいようです。


さて,これでうまくいくはずです。抵抗とコンデンサを取りかえてテストしてみます。

基板(改良後,最低デューティ).jpg なかなかいい具合です[晴れ]

▲の写真はボリウムを一番絞った状態ですが,モニター用の青色LEDは明るく光っていますし,肉眼で見て点滅しているとは全く見えないのでOKです。もっとも,初段の555の発振出力でパイロット用のピンクのLEDよりは暗いので,やはり停車中は少し暗くなると思います。でも,最近のLEDは輝度が高いので,全開にしたらもうまぶしいくらいでした。これでも電流制限抵抗を10kΩにもしているんですけどね。昔だったら12Vの電圧をかけるんだったら電流制限抵抗はせいぜい1kΩでしたけどね.....。  

オシロで波形を確認してみます。

最低デューティ(改良後).jpg 最低デューティ。0.78%でした。

中間デューティ(改良後).jpg 途中の状態です。

  こうやって徐々にパルスが増えていきます。

PWMだと,パルスの数は一定で,徐々にパルスの幅が広くなっていくのが観測できますが,やはりPFMだとすこし状況が変わります。

最大デューティ(改良後).jpg 最大状態です。デューティ100%となります。

また,off期間中も2V前後の電圧が出ていて,ノーカットオフ回路がうまく動作していることがわかります。モータに使用すると,off期間中でもわずかに電流が流れていますので,騒音が小さくなると思います。

PWM式だと何も工夫せずに作っちゃうと最低デューティは数%だし,最高デューティもKATOのKC-1もそうですが,完全に100%とならないものが多いので,PFM式はどちらも容易に達成でき,いいシステムだと思います。


と言う次第で,試運転です。

しかし.......。

コントローラのつまみを回していくと,やはりピーッと言う音がします。しかも,機関車が動くまで,どんどん周波数が上がっていき,ピ~~~~~~ッという感じでどんどん音が甲高くなり,非常に感じが悪いです。

PWM式でもスイッチング周波数が低いと音が聞こえますし,実際,iruchanは300Hzでスイッチングできるようにして201系そっくりな音を出して喜んでいたりするんですけど(変態!!),PWM式では音の周波数は変わらず,いつも一定の周波数の音なので,それほど違和感はありません。ところが,こういう風にどんどん周波数が変わっていく,というのは非常に気持ち悪いです。

一応,ノーカットオフ回路を構成してあって,モータには常に電流が流れているので非常に音は小さいのですが,やはり近くで聞くと耳障りです。

と言う次第で,結局,今回もボツ。

やはり,スイッチング周波数は20kHzくらいから上になるようにしないとダメなようです......orz。


でも,かすかな希望が.....。

試運転して気がついたのですが,非常にスローで動きます。自作したKC-1改も非常にスローで動きましたけど,これもなかなかのもの。いや,それ以上という感じです。実際,測定してみると1cm/sくらいのスピードで動きます。KC-1改でも2.6cm/sでしたから,非常に優秀だと思います。

Nゲージに限らず,鉄道模型はスローで走ることが求められるわけですけど,このPFM式はその点,非常に優れているのではないかと考えています。

次回,周波数を向上して音の問題を解決したいと思います。


コアレスモータ対応鉄道模型用コントローラの開発~その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原理.jpg   PFM原理.jpg             

                  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コントローラsimulation schematic.jpg

                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でも確認できました。

PFMコントローラmin.デューティ時波形.jpg シミュレーション結果です。

パルスが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は古い素子は大好きなんですよね~(^^;)。

さて,ここまで来たらプリント基板を作ってテストしてみます。

PFMコントローラ基板1.jpg 基板が完成しました。 

ピンクのLEDは最初の非安定マルチの出力のモニターです。これが点灯していれば,非安定マルチは動作していることがわかります。あとでこれはパイロットランプにしてしまう予定です。 

2つめのブルーのLEDは出力のモニタ用です。これを同じ基板に作っておくとテストの時に便利です。 

可変抵抗は左一杯に絞った状態でもパルスが1秒ごとに出て,ブルーのLEDが瞬間的に1秒に1回点灯します。その後,可変抵抗を回していくと徐々にパルスの間隔が狭まり,最終的に完全な直流となってLEDがずっと点灯したままになるとOKです。

PFM controller wave.jpg 出力波形です。 

オシロで観測すると,計画通り,1秒ごとにパルスが出て,最低デューティは0.7%でした。また,最大デューティは100%で,うまくいきました。また,パルスがoffの期間でも0.8V程度の電圧が出ていて,バイアス電流がうまく流れていることがわかります。

ところが.......。

ここまで来て,大変なことに気がつきました。

そもそもパルス幅を0.3msec.としてしまったので,1秒ごとに瞬間的にLEDが点灯するのが目で確認できちゃいます。

ってゆ~ことは......,

前照灯や室内灯が1秒ごとに瞬間的に点灯する.......わけです。

こんなおかしいことはありません。確かに,モータは起動しないので停車中にも点灯するわけですが,これじゃ,点滅しているだけで,お客様から "新聞が読めへんやないか!!" と苦情が来ることは必至です......orz。

考えてみれば当たり前なんですけど,iruchanはアホですね。できあがってみるまで気がつきませんでした。

と言う次第で,今回は失敗です。やはりスイッチング周波数を向上させて,再挑戦してみます。


続きはこちらで。


コアレスモータ対応鉄道模型用コントローラの開発~その6・TL494を用いた単一周波数PWM式~ [模型]

2017年4月9日の日記

先月,PICを使用したPWM式鉄道模型コントローラの基板を作りましたが,ついでにもう1枚,TL494を使ったPWM式コントローラの基板も作りました。これは,KATOのKC-1型コントローラで使われているNECのμPC494Cのオリジナルです。iruchanもKC-1を現代によみがえらせるべく,自作しています。詳しくは,iruchan版KC-1改をご覧ください。

ただ,やはり,PICは嫌だ,と言う方もおられると思います。なによりソフトの組み込みが必要ですし,いろいろと道具も必要ですから。こちらはハードウェア方式なので,そういう方におすすめします。もちろん,コアレスモータにも対応するべく,高速応答タイプにして低デューティのパルスが出力できるようにしています。

TL494は米Texas Instruments社が開発したスイッチング電源用ICのひとつですが,おそらくそれらの最初のものだと思います。よほど売れたのか,日本でもセカンドソースとして,NECや富士通,東芝が作ったようです。そのひとつがKATOのKC-1で使われていたμPC494Cです。富士通のはMB3759,東芝のはTA76494と言う型番のようです。ほかにも,Fairchildやオンセミなども作っているようです。

まあ,NECや東芝などはすでに製造中止で入手は難しいですが,オリジナルのテキサスがまだ現行品ですので,入手は容易です。ちょっと東芝のTA76494は入手して使ってみたい気がしますけどね。

内部は鋸歯状波を発生する発振器と,コンパレータです。iruchanがいつも作っているPWM式コントローラはタイマIC555と,コンパレータLM393を使ったもので,別々のICとなっていますが,TL494を使うと1個で済んじゃいます。

また,コアレスモータに対応するためには回路を高速化する必要がありますが,TL494で使用されているコンパレータは高速で,20kHzでデューティ1%という非常に狭いパルスも容易に出力できます。残念ながら,iruchanが使っていたLM393は鈍足で,コアレスモータ用には適してない,と言うことがわかりました。

なお,TL494は少し残念ですが,本来はスイッチング電源用のICのため,2個の出力のTrが同時にonしないよう,デッドタイムコントロール機能がついていて,最低5%のデッドタイムが設けられるようになっています。そのため,デューティ100%にすることができません。KATOのKC-1も同様で,最大デューティは90%くらいのようです。

今回は回路を簡単にするため,KC-1改では調光用と走行用で別々のつまみを設け,またスイッチング周波数も調光用は高周波,走行用は低周波と分けていましたが,今回は周波数は20kHz固定で,つまみも1個にしました。

さて,まずは回路です。

PWM式コントローラ(TL494).jpg全回路図

KC-1改同様,高周波の低デューティパルスを出力するため,出力のMOS-FETにドライバ回路を追加しています。2SA10201SS133がそれです。また,出力のMOS-FETにはCissの小さなNECの2SK2412を使います。

ドライバ回路はTL494のソース(吐き出し)電流がmax.250mAもあるため,本来ならNPNのTrを使うところをDi(1SS133)で代用しています。 シンク(吸込み)側のみ,PNP Tr(2SA1020)を使って,これでMOS-FETのゲートに溜まった電荷をGNDに高速で逃がします。 

保護回路は電流制限型で,出力の2SK2412のソースに入っている0.56Ωと2SC1815がそれです。これで最大1A程度となるようにしています。面倒でしたら,0.56Ωの代わりにポリヒューズでも構いません。その場合,2SC1815は不要です。

また,出力にはスナバ回路(100Ω+0.01μF)とモニタ用のLEDがつけられていますが,特にこれも不要です。ただ,フリーホイーリングDiの11EQS06は必須ですので,つけてください。

回路は複雑に見えますが,TL494のピンはVccかGNDにつなぐ配線が多く,また,ピン配置が非常に合理的にできていて,プリント基板の設計は容易でした。やはりTL494は名石だな~と思いました。末永く作ってくれることを願います。

半固定抵抗1kΩはKC-1にもあるもので,パルスの出力開始位置を調整できます。ボリウムを回し始めてしばらくはパルスが出力されない,いわゆる "遊び" の調整です。 

プリント基板2.jpg 製作したプリント基板

プリント基板図をupしておきます。これを 34mm×50mmで感光基板に焼き付けるとプリント基板ができます。

プリント基板.jpg プリント基板図(銅箔面から見た図)

PWMコントローラ(TL494)基板部品配置.jpg 部品配置図(部品面から見た図) 

なお,ピンク色の部品はプッシュプルドライバを実験しようと準備工事したものです。今回,変形プッシュプルドライバとしましたので,不要です。 

最低デューティ1.jpg 最低デューティです。

最低デューティは0.89%で1%以下にすることができました! この状態ではモニター用LEDは点灯しません。 

ただ,TL494は先ほども書きましたように,最大デューティは95%くらいです。FBとDTCを接続すると,ほぼ100%にでき,iruchanもKC-1改でそのように配線してほぼデューティは100%にできましたが,どうしても本機は95%どまりでした。いろいろ調べているのですが,原因がわかりません。

最大デューティ.jpg 最大デューティです。 

従来型との比較1.jpg 従来型との比較

従来型はタイマIC555とコンパレータNJM2903Dを組み合わせたものです。 LEDの調光器に使っているものですが,鉄道模型のコントローラとしても使えます。それほど基板の大きさは変わりません。

TL494+KATO D51.jpg ただいまテスト中。

KATO D51 241.jpg 無事に常点灯にも対応します。ただいま停車中。 

やはりコアレスモータ搭載機は第4回にも書いておきましたが,LEDの点灯デューティが3%くらいで,モータの起動開始デューティが5%くらいなのであまり余裕がなく,点灯させた状態で停めておくことは難しいですが,本機は対応可能でした。 


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

2017年3月25日の日記

前回,PICマイコンを使ってコアレスモータにも対応した鉄道模型コントローラを設計しました。

どうにもコアレスモータは性能がよすぎて,従来のコントローラを使うとつまみをほんの少し回しただけでスタートしてしまい,あまり低速では運転できないし,前照灯が点灯すると同時に走り出してしまうので,停車中に点灯させることができない,という感じです。

原因はいろいろ調べたところ,今まで作ってきたPWM式のコントローラの最低デューティが大きく,10%前後もあるため,性能のよいコアレスモータだとパルスが出始めた時点ですぐに回転してしまうため,と判断しました。実際,第4回に書きましたが,コアレスモータ機はデューティが5%くらいでも走り出してしまうようで,これでは従来のPWM式では対応できないものがあると思います。

なお,この最低デューティの問題は市販のPWM式コントローラでも同様のようで,実際,ネットを見ても皆さん,苦情を書いておられますね。

では,なぜ,PWM式コントローラの最低デューティが0%じゃなくて数%とか,ひどい場合には10%以上になってしまうのでしょうか。

ひとつはスイッチング周波数が高すぎるためです。

PWM式のコントローラは1回目に書いておきましたように,スイッチング周波数が高いほどモータや制御素子の損失が小さいためです。また,電圧をパルス状にしているため,モータが瞬間的に起動と停止を繰り返すため,電磁的な音が発生し,唸ります。ちょうど,チョッパ電車やインバータ電車と同じです。

特に,昔のチョッパ電車や初期のインバータ電車はサイリスタを制御素子に使っていて,スイッチング速度が遅いため,スイッチング周波数も300Hzとか,1kHzとか低かったため,かなりの電磁音を出しました。プーッと甲高い音を出して走っていましたよね......(^^;)。

最近はスイッチング周波数を上げて音が小さくなっているのはご存じの通りです。これは素子が高速のIGBT(ゲート絶縁型バイポーラトランジスタ)を使っていたり,電圧が2段(0→1/2→1)になっている3レベルインバータを使っているためです。

ついでに,今は小型のIGBTも作られていて,秋月電子さんなどで売られています。東芝のGT20J34なんて,250円です。600V,80Aの高性能ですが,同じTO-220のパッケージです。驚いちゃいますね。 

鉄道模型も全く同じで,スイッチング周波数は普通,20kHzくらいにして,人間の耳に聞こえないようにしてあります。市販のPWM式コントローラもこのような高い周波数となっています。 

ところが,こんなに高い周波数にしちゃうと,あまり低いデューティのパルスは出力できなくなってしまいます。iruchanは20kHzなんて,半導体じゃ,スイッチングは楽勝じゃん,と思っていたのですが,さすがに20kHzでデューティ1%とするとパルス幅は0.5μsになりますが,そんな狭い幅のパルスを出力するのは困難です。 

原因は出力の半導体にあります。また,使用している素子により原因は異なります。

まず,現在,広くモータやLEDの制御に用いられているMOS-FETの場合は前回も書いていますように,入力にキャパシタンス分(入力容量)があり,このコンデンサが入力信号が来てもその電圧を食いつぶしてしまい,なかなかMOS-FETがonする電圧(ゲートしきい値電圧VGS_th)に達しないためです。

MOS-FET入力容量1.jpg MOS-FETの各電極間容量

なお,真空管同様,MOS-FETには各電極間に3つのキャパシタンス分があり,これらのうち,入力容量CissはCg-dとCg-sの和です。 また,帰還容量Crssも要注意で,これはCg-dそのものです。

ちょっと,Spiceでシミュレーションしてみました。20kHzで,デューティ1%でドライブしてみます。 

2SK2466出力段.jpgMOS-FETの場合

2SK2466 入出力波形(20kHz, duty 1%).jpg やはり太いです。

もとのパルスがですが,実際にMOS-FETが出力する電圧はのように,幅が広くなってしまっています。

これは,ゲートの入力容量Cissと,ゲート抵抗RG10Ωが時定数を形成し,のように,ゲートの電圧が変化するためです。斜めに立ち上がっていますね。もし,Rgが100ΩだとMOS-FETはonすらしなくなってしまいます。

MOS-FETはいろいろありますが,VGSは大体,2~4Vくらいかけないとonしません。 バイポーラTrは0.6Vですから,大きな値です。簡単にPICでonできない場合もあり,とくに,最近のPICは3Vで動作するものが多いので,下手するとドライブできませんのでご注意ください。また,仮にドライブできていたとしてもMOS-FETが非飽和領域で動作していて,MOS-FETが発熱することもありますので,注意が必要です。▼の回路図で,ドライバ段の電源を12Vから取っているのもそのためです。PIC用の5Vラインから取るとドライバ段の出力は5V以下になってしまい,終段のMOS-FETのドライブ電圧が下がります。 

もし,RGを0Ωにできれば,もっと高速にできるし,実際,PWMコントローラの場合,この抵抗を入れずにPICと直結している場合も多いと思います。

ただ,オーディオ用のアンプなどの場合はこの抵抗は必須です。なぜかというと寄生発振と言って数MHzくらいで発振してしまうことがあるのと,スイッチング回路の場合はさきほどの帰還容量Crssのせいで大きなサージ電圧が発生し,MOS-FETを破壊することがあるためです。

と言う次第で,できればこの抵抗を入れておいた方がいいのですが,大きな値だとスイッチングが遅くなっちゃいますので注意が必要です。

一方,つい最近まで,電力制御の主役だったバイポーラTrは,と言うとこちらはスイッチング速度が遅いためです。

バイポーラTrはスイッチング速度がMOS-FETの1/10以下のため,信号の立ち上がり,立ち下がりにうまく追随できません。

2SD794 出力段.jpgバイポーラTr回路

2SD794 入出力波形(20kHz, duty 1%).jpg ありゃ?

▲のMOS-FETのときとはちょっと様子が異なります。一応,スイッチングはできるのですが,立ち下がりが遅いですね......。

バイポーラTrはスイッチング時には立ち上がり時間 ton, 蓄積時間 tstg, 立ち下がり時間 toff の3つの速度があり,規格表にも書いてあります。

といって,スイッチング用と称しているTrでないとあまり規格表に書いていないのが困ったものなんですけど....。 

ton と toff はほぼ同じで,大体,0.5μs~1μsくらいです。一方,tstg は2~3μsもあって遅いのです。

tstg はP-N接合面付近で,キャリア(電子と正孔)が中和している領域があり,そこが完全に元の状態に戻るまでの時間です。元の状態に戻ると電流を遮断し始めます。 

MOS-FETはキャリアの蓄積効果がなく,この tstg の部分がないので,やはり速いです。もとから ton やtoff は10倍くらい速いのですしね。

というのが実際に教科書に書いてある話なのですが,▲のシミュレーション結果を見ると,立ち上がりの部分が非常に小さく,蓄積時間 tstg は入力パルスがoffになってから,少しまだ出力が水平となっている部分があって,その時間のことですが,ここも短いです。

 

Tr switching waveform.jpg 

  トランジスタのスイッチング時間測定条件(NECの2SD560規格表から引用) 

問題は立ち下がりの toff の部分のように思います。

なんか,実を言うと,iruchanもちょっとこのシミュレーションは少しおかしいという気がしているのですが.....。もっと立ち上がりは遅いはずだし,立ち下がりは逆に遅すぎると思います。

原因は負荷電流で,今回,100mAくらいなんですが,1Aも流すともっと立ち下がりは速いし,バイポーラTrと言っても意外に速いと言うことがわかりました。負荷が大きいと,キャリアの中和領域が早く消えるようです。

しかし,やはりパルス幅はMOS-FETの約2倍となってしまいます。

なお,スイッチングを高速化するには,MOS-FETの場合はこの入力容量の充放電を速くすればよいわけですから,短時間に大量の充放電電流を流してやればよく,そのため,プッシュプルドライバを入れてやれば解決する,と言うのが前回までの話でした。

ところが,バイポーラTrの場合は素子そのものの物理的な現象のため,打つ手がありません。 高速化コンデンサと称して,10~100pFくらいのコンデンサをRBにパラにすると速くなりますが,これとてやってみると大して速くはなりません。

だから,結局のところ,やはり鉄道模型のコントローラにはMOS-FETが適していると判断せざるを得ません。

と言う次第で,今回,設計をやり直し,下記の通りとしました。

PWM式コントローラ(PIC・調光)1.jpg 回路

さすがに結構,大規模な回路変更なのでプリント基板も一から作り直しました........orz。

なお,今回,過電流保護は0.6Ωの抵抗と2SC1815で構成しています。1A以上の電流が流れると2SC1815がonし,2SK2382のゲート電位を下げるので,電流を絞ってくれます。面倒でしたら,抵抗1本だけでもOKです。そのときは抵抗値は1.6Ωくらいにしてください。ただし,この場合,この抵抗による電圧降下が大きく,1A流したときは最大出力電圧は10Vくらいに下がりますのでご注意ください。 それはちょっと困るな,と言う方はこの抵抗の代わりにポリヒュースを入れてください。

PIC controller & driver PCB.jpg 最終的な基板です。

従来型との比較.jpg 従来型(左)との比較です。

従来型はタイマIC555とコンパレータNJM2903DLM393互換)との組み合わせです。 

プリント基板(PIC).jpg プリント基板図(パターン面) 

プリント基板(PIC)1.jpg 部品配置(部品面から見た図) 

基板サイズは55mm×30mmです。 

ピンクのLEDはパイロット用,オレンジは出力のモニター用です。つけておくと何かと便利だと思います。 出力のMOS-FETのドレインにスナバ回路(100Ω+0.01μF)も入っていますが,どちらも特に不要なので,フリーホイーリングDiの11EQS06以外はつけなくても構いません。

また,ソフトは前回と同じものです。 

最低デューティ(PP driver).jpg デューティは1.6%となりました。

残念ながら,最低デューティは最初,基板を作り直した時点では2.6%くらいで目標に到達しなかったので,多少,回路定数を変更しました。

でも,結局,1%以下にすることはできず,▲のように1.6%となりました。時間的にはパルス幅0.83μsと言ったところです。0.5μs以下にしたかったんですけどね.....。

波形が途中から斜めになっているのは負荷がLEDのためです。2V以下ではほとんど電流が流れず,自然放電しているだけです。 

原因はやはりMOS-FETの入力容量です。

今回,出力には東芝の2SK2382を使いました。もうじき東芝の半導体も身売りされて消えちゃいますので.....。

第2回に現行のMOS-FETの特性をまとめていますが,2SK2382はCissが2000pFもあり,最近のMOS-FETなので非常に大きいです。やはり,KATOのKC-1改で使用したNECの2SK2412(Ciss=860pF)の方がよかったと思います。今回は素子の選択ミスです。 おそらく,2SK2412だったら最低デューティは1%以下にできたと思います。

ドライバ&出力段.jpg さようなら......。

今回,ドライバの2SA10202SC2235と出力の2SK2382,レギュレータのTA78L05は東芝製を使いました。いずれも手持ちです。本当は2SA1020のコンプリは2SC2655ですけどね....。

最近はTO-92型のTrも数が減り,2SA1020も秋葉じゃ台湾UTC社のものが幅を利かせています。あまり外国製は使いたくないのでパスです。真空管時代からの名門東芝も半導体部門の売却が決まり,とうとう消えていきます。それこそiruchanは2SB54の時代から東芝のトランジスタを使ってきたので残念です。北陸の田舎じゃ,ソニーや日立はもちろん,NECだって部品屋さんでは売っていませんでしたから.....。

まあ,2SK2382でも最低デューティは1.6%ですから,モータは回転しませんし,LEDも非常に小さく,チップの表面がうっすらと点灯するくらいですので,十分,常点灯には対応しますけど......。

調光つまみmaxデューティ.jpg 調光つまみmax.の状態です。

今回,走行用と調光用でKC-1みたいにつまみを分離しました。こうしておくと,別個に調整できて便利です。

調光用は最大デューティ10%となるようにソフトを組みましたが,実際には最大12.0%でした。まあ,こんなものでしょう。おそらく,調光用つまみを最大にすると模型も走り出してしまう,と思いますので,前照灯は点灯しても走行はしない,というレベルで固定しておきます。

無事に動作しましたので,近日中にケースに入れてみたいと思います。  


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

2017年3月12日の日記

さて,このところ,KATOのリニューアルされたD51用のコントローラを作っています。このD51は動力も刷新され,新たにC62で採用されたコアレスモータを採用しています。

ただ,いろんな人が書いておられるように,どうもコアレスモータは従来のコントローラとの相性が悪く,低速がスムーズだと人気の高いPWM式のもので運転しても少しラピッドスタート気味だし,また,常点灯にも対応せず,停止しているときには前照灯が点灯しなくて,走り出すと同時に点灯する,という感じです。

これを解決するべく,iruchanはこのところ研究しています。前回までで往年のKATOの名コントローラKC-1を復活させ,この問題を解決することができました。

さて,今回はPICマイコンを使ったPWM式コントローラを製作したいと思います。

遅まきながらiruchanも去年からPICに取り組んでいます。前回はLEDをチカチカ点灯させるマーカーを作りました。

今までやらなかったのは何より道具をそろえるのが大変だと言うこと。内部のROMにプログラムを書き込むためのライターや言語などの開発環境の準備が必要です。おまけにライターは古いものはRS-232Cしか対応していないので,USB→RS-232C変換器なんかも準備しないといけません。結局,なんだかんだ言って1万円くらい投資も必要です。

なお,道具としてはまずはMicrochip社が出している,ライターのPICkit3が必要です。

ただ,これはあくまでもライターで,PICに書き込むには基板上に通信用のヘッダーを設けないといけません。デバッグするのに便利なんですが,いちいちプリント基板にヘッダーを設けるのも困りもの。やはりPIC単体で書き込みをして,装着するプリント基板には何もない方がよいと思います。

ということで,マルツが売っているPICマイコンプログラミングアダプタも必要です。

PICkit3 & MPIC-DPPA.jpg PICkit3と変換アダプタ

変換アダプタは秋月などでも売られていますが,マルツのが一番使いやすいと思います。

なお,書き込みソフトはPICkit3の場合はやはりMicrochip社の統合開発環境MPLAB IDEを使いますが,開発言語はiruchanは別のソフトなので,MPLAB IDEをインストールすると一緒にインストールされる書き込みソフトMPLAB IPEのみ使います。

ま,それにしてもMPLAB IDEは無料なので助かりますけど。 

ただ,GUIは英語しかないし,このIPEと言うソフトもクセがあって非常に使いにくいです。まずは12F1822と接続できず,一歩も先に進みません。

原因はUSB経由でPICkit3から装着したPICに電源を供給しないといけないのですが,デフォルトで非供給となっているためです。また,この電源の設定が基本モードじゃだめで,Advancedモードにしないと出てこない,という困ったものです。

これに気づくのにずいぶん時間がかかっちゃいました。

IPE-2.0'.jpg Advancedモードに移行します。

IPE-2.4'.jpg

   電源のチェックが必要です。このあと,Operateをクリックします。

と言う次第ですが,なんとか道具もそろってようやく書き込みもできるようになったので,いろいろとPICをいじっています。

それで,昔からやりたかったのはPICで模型を制御しよう,と言うことなんです。

もとよりPICというのは自動車や,各種センサを用いた自動計測などに利用されていることもあり,モータやセンサの接続が簡単にできるようになっています。特に,モータの制御に関してはPWMの機能を持つPICがあります。

と言うことで鉄道模型のコントローラに応用したいと思っていました。また,世の中にはたくさんの先輩がいて,すでに鉄道模型用のコントローラを作っておられますね。

と言うことでiruchanも去年から取り組んでいました.......。

ところが,結構やはり大変です。よくわからない不具合連発で,なんとかようやくPIC使用のコントローラができるようになったので報告したいと思います。

また,ついでに今回のコアレスモータ対応コントローラにしたいと思います。もちろん,PICに取り組み始めたときはそんなつもりはなかったんですけどね......(^^;)。

さて,まずはPICに何を使うか,と言うことになります。

少なくとも,鉄道模型のコントローラはボリウムで指令電圧を作り,その電圧に比例したPWM信号を作らないといけないので,アナログ入力ポートを持ったPICが必要です。

また,当然のことながらPWM機能のあるPICでないといけませんね。

ただ,実は最初,iruchanは知らなかったのですが,PICはPWMはどんなPICでも使えるようになっているので,特にPWM機能のあるPICでなくてもよかったんですね。

PICが発生させるPWM波はソフト的に発生させるソフトPWMと,PIC内部にPWM波発生回路を持っていて,それにPWM波を発生させる,ハードウェアPWMの2種類があります。後者の機能を持っているPICは限られますが,前者はどのPICでも出力可能です。

と言う次第で,単に指令電圧を入力できるアナログ入力ポートのあるPICなら何でもいいんですが,iruchanは12F1822を選択しちゃいました。

12F1822はアナログ入力ポートを3つ,ハードウェアPWMの出力ポートを2つ持った,8ピンのDIPになっています。わずか8本しかピンがないのに,これだけの機能を持っているのに驚きます。でも,これはトラブルのもとで,当たり前ですけど,プログラム中でどのピンを何で使うか,宣言しないと思った動作をしませんのでご注意ください。

これをこんな風に接続すれば,鉄道模型のコントローラの配線ができちゃいます。 

PWM式コントローラ(PIC・最簡略版)1.jpg一番簡単な回路

ついでに,せっかくアナログ入力ポートが3つもあるんだから,調光用と走行用で指令電圧をわけ,2つのボリウムを使ってそれぞれ調整できるようにしたいと思います。PWM式のコントローラなんだから,若干,つまみを回した状態で停めておけば,前照灯も点灯して常点灯になるんですけど,調光用のつまみを別に設ければ,走行用のメインのボリウムを完全に絞った状態でも前照灯や室内灯が点灯したままになるので使いやすいです。製作中のKATOのKC-1改コントローラもそうしました。

ということで,調光用にボリウムをもう1個設けた場合はこのような回路となります。

PWM式コントローラ(PIC・調光).jpg 調光機能を持たせた回路

それにしても簡単だな,と思います。PICが5Vのパルスを発生させるので,その電圧でMOS-FETをon-offすればいいだけのことです。

また,PICを使うとMOS-FETのドライブ電圧が5Vで固定されるのを利用して保護回路を構成することができます。MOS-FETのソースに入っている1.6Ωの抵抗がそれで,たった1本の抵抗で電流制限型の保護回路となります。

ソフトは前回と同じ,Great Cow Basicを使いました。PIC用のフリーのBASIC言語です。本当だったらPICはマシン語か,C言語なんでしょうけど,今から覚えるのも大変だし,と言うことでiruchanはBASICです。

ソフトは上記の単一調整のタイプと,調光&走行が別になっているものと共通ですので,12F1822に書き込めば,どちらの回路でも使用できます。

☆ 

ということで,ソフトを書き込んでOKなんですけど,ここからが大苦労でした。

やっぱりPICが動きません......orz。

今回,内蔵クロックを使うことにし,そのようにソフトを組んだのがまず問題でした。

通常,PICはセラミックレゾネータを使って外部クロックとすることが多いのですが,レゾネータの部品が意外に高いので,もとからついている内蔵クロックを使おうと思ったのですが,なかなかそれが動きません。いろいろwebや本を調べてもよくわかりません。

ようやく,Great Cow Basicで指定の方法がわかりました。#config FOSC=INTOSC と宣言するだけだったのですが。PICにより,この宣言しているところが違うんですね。

ほかに,PWMを出力するのにも苦労しましたし,最後までA/D変換がおかしく,まいりました。今回,A/Dを2チャンネル使っているのですが,どうにもどちらを動かしても変な動作となります。調光用に最大10%のデューティしか出力しないようにしたのに,調光用も100%となったり,と言う具合で,非常に苦労しました。

ようやく,このところ,うまく想定したとおりに動くようになりました。

一応,ソフトをupしておきます。直接,hexファイルをupすることはできないのでテキストファイルにしておきました。このまま,拡張子を.txtから.hexとして,ライターで書き込めばPICにソフトが転送できます。ご利用ください。

PWM controller.txt  右クリックして "リンク先を保存" してください。

さて,テストをしてみます。

ところが....。 

PWMコントローラ試作基板.jpg 試作基板です。LEDでテスト中。 

出力にLEDをつないでテストしてみますと,どうにもやはりまだおかしい。

調光用は最大10%のデューティにしたので,そんなに明るくないし,また,LEDも割にスムーズに点灯するような感じですが,走行用のボリウムを回すとどうにも変で,なかなかLEDが点灯しません。かと思うと,ある程度回したところで,パッと言う感じでLEDが点灯します。

もし,モータを回しているんだったら,しばらく,ボリウムを回転しても全くモータが回らないのに,あるところで突然回り出す,という感じです。これじゃラピッドスタートですね。

ソフトは間違っていませんし,最初は回路の不具合かとプリント基板をチェックしますが,どこもおかしくありません。

でも,前回のKATOのKC-1改を作ったときに経験したのですぐに原因が判明しました。オシロをつなげば文字通り,一目瞭然でした。

やはり,予想どおり,かなりボリウムを回したところで,突然パルスが出力され,しかもそのパルスがいきなりかなり太い!

実際,最低デューティは8%くらいです。こんなはずはないんですけどね。KATOのKC-1改の場合は回路を改良して最低デューティは1%以下となるようにしました。本機も回路を見直さないといけません。

最低デューティ(試作機)1.jpg これで最低デューティです。 

これは,例によって制御用のMOS-FETの入力容量のせいです。また,offしたあと,配線のインダクタンスと共振して若干,波形が波打ってしまっています.....orz。 

MOS-FETは真空管同様,電圧制御素子で,ゲートに加えられる電圧でドレイン電流を制御できる,という大変な優れもので,スイッチング速度もバイポーラTrのようにキャリアの中和などの現象がないので非常に速いし,なによりゲート電流はないので制御電力も不要なのが大きなメリットです。

でも,ここに落とし穴があります。

実際にはMOS-FETの制御にはちゃんと電流を流す必要があり,もちろん,ゲートの消費電力は0じゃありません。

なんでか,というとゲート~ソース間に非常に大きな静電容量があり,昔は400pFくらいで,それでも巨大な容量だったのですが,最近のものは2000pFを超える容量となっています。この容量に十分に電荷が溜まらない限り,MOS-FETはonしないのです。また,いったんonしちゃうと,offするときはこの容量に溜まった電荷を抜かないとoffにならないので,offにするまでの時間もかかっちゃいます。なんか,ものすごくアホな話だな~と思います。

その点,真空管は同じ電圧制御素子なのに入力容量は小さく,ミラー効果がある3極管でも100pFを超えることは少ないです。5極管だと1pF以下で,むしろ配線やソケットなど,浮遊容量の方が大きいくらいです。また,バイポーラTrはベース~エミッタ間がもとから導通していて,電流を流して使うのでインピーダンスが低く,この入力容量はもとから小さいし,問題になりません。 

ということで,実はMOS-FETもうまく使ってやらないと全然スイッチングは速くないのです。

その意味で,KATOのKC-1は出力にPNPのバイポーラTrを使っていますが,まだMOS-FETが一般的じゃない頃の設計なので,こうなっているんでしょうけど,無事にこの問題を回避しています。バイポーラはスイッチング速度がMOS-FETの1/10以下なのですが,入力容量が小さく,意外に高速でパルスをon-offできます。実際,KC-1だときれいに低デューティの高周波のパルスが出力されるようです。  

したがって,MOS-FETをドライブするにはこの静電容量をいかに高速で充電したり,放電したりするか,という点が問題で,対策として,ドライバ回路が必要となってしまいます。結局,バイポーラTr同様,MOS-FETといえども電流でドライブする必要があるし,ドライバ段が必要なんですね。

でも,市販のPICを用いた鉄道模型のコントローラにはこのドライブ回路はついていません。だから市販のPWM式コントローラとコアレスモータの相性が悪い,なんてことになるんじゃないでしょうか。もっとも,模型のコントローラばかりじゃなく,ごく普通のモータ制御回路でもドライバ段はついていない場合がほとんどです。部品が増えちゃって,コスト増要因ですからね。

で,なんでつけていないのかというと,パルスが十分広いとき,つまりデューティが高いときは全く不要だからです。

普通のモータ制御の場合はデューティが数十%以上のところで使用しますし,起動時にラピッドスタートになったって,問題になることはないでしょう。

でも,鉄道模型は起動時が命ですし,それこそ,運転時には起動をいかにゆっくりするか,と言うことにをかけている模型マニアの皆さんも多いと思います.....(^^;)。

まあ,命ほどじゃなくても指先を神経を集中している,と言う人は多いと思います。

と言う次第ですが,鉄道模型のコントローラは最低デューティ付近の制御が重要であることに気づきました。この点,通常の自動車や産業用モータのPWM制御とは大きく異なります。これらは数%のデューティで回転させる,と言うことはないでしょう。もし,そういう状況ならもっと定格回転数の低いモータに替えるとか,ギヤードモータならギヤ比を変える,と言う話でしょう。iruchanはTomixの5001パワーユニット改PWM式コントローラやKATOのKC-1改コントローラで最大出力デューティを100%とするのに苦労しましたが,意外に問題は最低デューティにあったんですね。

"敵は最低デューティーにあり!!" 

   (明智光秀の声で!...........ほんなもん知らんて!) 

まずは鉄道模型のモータが回転し始めるデューティについて考えてみたいと思います。

大体,10%以上のところで回転しはじめる,と言うのが普通だと思います。LEDはデューティで言うと,もう少し小さく,5~8%くらいの値です。

ところが,コアレスモータはインダクタンスが小さく,トルクも大きいことから,数%のデューティでも起動してしまうと思います。

となると,従来のPWM式コントローラでは,ボリウムを回していってパルスが出始める位置に来たときにはパルスのデューティが高すぎ,LEDが点灯すると同時にモータも回転してしまって,いわゆるラピッドスタートになっちゃうんじゃないかと考えています。

実際,今回,オシロをストレージモードにして,LEDの点灯開始およびモータの起動開始時点のデューティを測定してみました。

TL494+KATO EF70.jpg 測定中。

メーカ     車両   LED点灯開始(%)  モータ起動開始(%)   モータ

KATO D51ギースル   3.38 4.60~8.04 コアレス 

KATO EF70  11.2 12.7~14.9 コアつき

KATO DD51 10.3 34.0~45.7 コアつき

Tomix ED61  6.7 34.5~62.3 コアつき,電球色LED化

Tomix EF510  10.3 34.0~59.9 コアつき,電球色LED化

残念ながら,コアレスモータ機は1両しか持っていないのですべてのコアレス機で本当にこうなのか,はっきり言えませんが,やはり,かなり低いデューティでモータが起動してしまうことがわかります。コアつきモータ機で12%~40%くらいなのに対し,ほんの数%で起動してしまうことがわかります。

コアレス機はLEDの点灯デューティとモータの起動開始デューティの差が小さく,やはり常点灯にも対応しにくい,と言うことがわかります。

また,古い機種ほどデューティが高いことがわかりますね。Tomixの機関車はいずれもかなり古いものです。それに,モータの起動開始はかなりばらついてしまいます。オシロも通常のモートでは測定不可で,ストレージモードにしてなんとか測定できる,と言うレベルでした。 

PWM デューティ解説.jpgコントローラのPWM出力

以上の結果から,実際の鉄道模型のPWM式コントローラの出力をグラフにしてみるとこんな感じではないかと思います。

本来は ━ の線のように,デューティは0~100%で直線状に変化するのが理想です。 若干,ボリウムの0゜付近には遊びを設けておかないとつまみをちょっと回しただけで模型が走り出しちゃいますので,通常は少し余裕が設けてあります。

ところが,▼の理由で,通常のPWM式コントローラは最低デューティは0%ではなく,  のように数%程度のところから急に立ち上がります。

昔のようにコアつきモータの場合はモータの起動デューティはこれより高かったので問題なかったのですが,どうもコアレスモータはこれより低い位置で起動してしまうようです。 

一方,コントローラのスイッチング周波数が低い場合は,最低デューティも小さくすることができ,▲のグラフでパルスの出力開始地点はもっと原点に近いところとなるはずで,うまくすればコアレスモータの起動デューティより低くできるはずです。 

ということから以前は,低周波のPWMがこの対策となると考えていました。

確かに,KATOのKC-1では50Hzくらいのスイッチング周波数ですし,iruchanも以前から300Hz/20kHzの切替式で作っておいて,たまに300Hzで運転しているんですが,確かに300Hzだとコアレスモータでもスムーズに起動します。

それじゃ,そのような低周波のPWM式コントローラを作ればいいじゃん,と思っちゃいますけど,これをやるとモータが瞬間的に,起動,停止を繰り返すため,モータが振動し,大きな音を立てます。D51なのに,チョッパ電車みたいにプーッと音を出して走るのはまずいな,と思います。

そこで,KATOのKC-1では高周波のPWMを追加し,モータが唸らないようになっています。KC-1は低周波50Hz,高周波20kHzの2周波PWMとなっていて,高周波パルスを出しているため,モータの振動が抑えられ,実際に運転してみても,かすかにモータが唸る程度です。

では,どうして低周波のPWMだとスムーズに起動するのか,と言うと,これは時間が関連しています。

もし,仮に1%のPWM波を作ったとして,そのパルス幅は20kHzでは0.5μsですが,50Hzでは0.2msもあります。

実は,いくらMOS-FETが高速だからと言っても,0.5μsのパルス幅を作るのは入力容量のせいで結構,難しいことなのです。

一方,0.2msもあるパルス幅を作るのなら簡単で,立ち上がり,立ち下がりに遅れがあっても,幅が0.2msもあるのなら大差ないですしね。要は1%のデューティのパルスを作るにはやはり(パルスの継続)時間が関連しているのです。

では,ちょっとシミュレーションしてみませう。いつものようにLTspiceでシミュレーションしてみました。

MOS-FET simulation circuit.jpg シミュレーション回路 

2SK2466(ton=0.5μs)-1.jpg 2SK2466のとき

   あちゃ~~!! 予想どおり,2SK2466はonしません。こりゃ,あかんわ。

ゲートの電位をみてみますと,静電容量のせいでゲート電位の立ち上がりがゆっくりで,ゲートしきい値電圧VGS_thに到達する前にパルスが終了してしまい,結局,2SK2466はonしないのです。

ですから,もっとパルス幅が広くならないと2SK2466はonしないし,そのため最低デューティが高くなってしまうのです。

実は,MOS-FETの立ち上がりが遅くなるのは入力容量ばかりでなく,ゲートに挿入される抵抗も原因で,これが時定数になり,MOS-FETの起動が遅くなります。これをなくしてしまってPICと直結してもよいのですが,これがないと寄生発振を起こしたり,off時にサージ電圧が発生してMOS-FETを壊すことがあります。

最低デューティ(試作機・PIC~MOS-FET直結).jpg PICと直結したとき

先ほどのオシロの写真と比較していただきたいのですが,確かに最低デューティは1.3%ほどと非常に狭くなりましたが,これ以上,小さくはできませんし,パルスがoffしたあと,はね返りがあります。これがサージ電圧で,ひどい場合にはVDSの耐圧を超えてMOS-FETを破壊することがあります。まあ,今回,試作基板で使用した2SK975はVDS=60Vなので壊れることはありませんけど。 

一方, 往年の東芝製のMOS-FET 2SK442だとこうなります。

2SK442(ton=0.5μs).jpg あれ? ちゃんと動作します。

ちなみに2SK442はCissが330pFと,2SK2466(3250pF)の1/10です。 2SK442はCissが小さいので,ゲート電位もすぐに立ち上がっているのがおわかりいただけると思います。

2SK442は古いMOS-FETで,おそらく1980年代の製造です。この頃のMOS-FETはまだ電流的に大容量でなく,ID=10Aですが,2SK2466は30Aです。最近ではサンケンのEKI-04027だと85Aです。これで同じTO-220パッケージなんですからね。驚いちゃいます。

その代わり,最近のMOS-FETは入力容量が増えており,2000pFを超えるのが普通です。そんなので20kHzのスイッチングをやって0.5μsのパルスを出させよう,なんて無理です。半導体メーカさんにお願いしたいのですが,もっとCissの小さなMOS-FETを作ってもらえないでしょうか。たとえば,VDS=30V,ID=5Aで,Ciss=50pFにして,3VのPICでもドライブできるよう,VGS_th=1.5Vなんてのを作り,鉄道模型スイッチング用なんてどうでしょうか.............無理。

一方,最近ではほとんど大電力回路に使われなくなっているバイポーラTrはどうかというと,

2SD794(ton=0.5μs).jpg 

     ちゃんと出力できるようですけど....。

2SD794(ton=0.5μs)-1.jpg 

     よく見ると立ち下がりが悪いです。

バイポーラTrはonするときは入力容量の問題がないので高速ですが,offにするときはP-N接合面付近のキャリアが中和されている領域がなくなるまでon状態となります。シミュレーションしてみるとデューティは倍くらいになっちゃいます。これでもonしないMOS-FETよりマシ35という気がします。 

う~~ん,とゆ~ことで,なんかいつも思っているんですけど......。

iruchanはいつも, コンデンサと女房は新しいほどよい,と思っています.....(^^;)。

真空管アンプのカップリングコンデンサには最新のフィルムコンを使うことにしていますが,これは古いオイルコンやペーパーコンは吸湿してリークするため,出力管を傷めてしまうからです。嫁はんも結婚したら数年で絶縁破壊し,ちょっとした過電圧で爆発して危険物に変化してしまいますからね.....。

ただ,iruchanは昔から 半導体と真空管は古いほどよい,と思っていました。2A3より45300Bより205Dの方が音がよいし,MOS-FETよりV-FETや2SA627/D188なんかのバイポーラTrの方が音がよいですからね。最近はSiC半導体がオーディオマニアで受けていますけど,iruchanは全く興味ありません。

鉄道模型のコントローラも古い半導体の方がよさそうです。MOS-FETは古い方がCissが小さいですからね。

と言う次第で,対策としては出力のMOS-FETのドライブ用に新たにドライバ回路を挿入する必要があります。前回のKATOのKC-1改でもドライバを挿入して回路を高速化しています。

前回,KATOのKC-1改の場合も,調光用の24kHzのパルスがやはり最低デューティが25%にもなっていて,ドライバ回路を挿入しています。

ただ,ドライバというとよく使われるのがエミッタフォロアなんですが,シングルでは問題を生じます。

PWM MOS-FET single driver simulation circuit.jpg シングルドライバ 

2SK2466(ton=0.5μs single driver).jpg 2SK2466をドライブしたとき 

MOS-FETの入力容量を充電するときは速いのですが,放電するときは1kΩの抵抗を介してGNDに放電されますので,遅く,いつまでもMOS-FETがonしたままです。これじゃ最低デューティは20%以上となってしまいます。 

以上から,やはりシングルのドライバはダメで,MOS-FETの入力容量を充放電するにはプッシュプルドライバにする必要がありますが,KC-1改のときに使用したテキサスのTL494は出力回路がエミッタフォロアになっていて,規格表を見ても出力電流は250mAもあるので,充電側はTL494に任せ,シンク側のみTrを使い,変形プッシュプルドライブ回路としました。回路が簡単で済みますしね。

MOS-FET single driver simulation circuit.jpg 変形プッシュプルドライブ回路 

今回,最初は同じ回路で考えたのですが,改めてMicrochip社の12F1822の規格表を見ると,ソース・シンク電流25mAと記載されています。 ちなみにこの場合,ソース電流がMOS-FETの入力容量の充電電流で,シンク電流が放電電流と言うことになります。なお,ソース電流をはき出し電流,シンク電流を吸い込み電流と書いてある場合もあります。

これは,本来ならとても大きな値なのですが,▲のシミュレーション回路で調べてみると,不足していることがわかりました。放電側は若干小さめですが,充電側は100mA以上流さないと0.5μsのパルスを出力できません。

と言う次第で,結局,プッシュプルドライバとしないといけませんでした。また,使用する素子も定番の2SA1015/2SC1815のような小型Trじゃダメで,ひとつ上の2SA965/2SC2235などの出力用のものが必要となります。う~~ん,なんかこれじゃ半導体アンプだな~~。 その割に出力の半導体はシングルアンプかよ~って感じですけどね......orz。

MOS-FET PP driver simulation circuit.jpg プッシュプルドライブ回路

MOS-FET PP driver 波形.jpg 各部の電流,電圧

2SK2466+driver(ton=0.5μs).jpg 見事に出力できます。

これでようやく20kHzでデューティ1%のパルスを出力できることがわかります。

せっかく,プリント基板を作ったのですけど,残念ながらこれで ボツです。来週は新たにドライバを搭載した基板を作ってテストしてみたいと思います。 

 

2017年3月20日追記

ドライバを追加した基板を作りました。

3連休なので無事に完成するか,と思ったのですが意外にトラブって土曜に基板を作ったのに,ようやく今日,正常に動作するのを確認できた程度でした。

一応,最低デューティは2%ほどにできたので,非常に低くできましたが,目標としていた1%を下回りませんでした。もうすこし回路を調整します。詳しくはまた次回です。どうも申し訳ありません。

PWM contoller PCB driver1.jpg ドライバを追加した基板

2017年5月20日追記

PWMコントローラの出力パルスのデューティ比の検証をしてみました。

本当だと実機のデータをお示しするべきでしょうが,▲にもあるとおり,あるところで突然パルスが出力される,と言う現象を確認できたのはいいのですが,実際に測定するのはこういう現象のため,とらえにくく,結局,やはりSpiceで確認しました。

PWM simulation schematic (fs=20kHz).jpg シミュレーション回路です。

これは従来,iruchanが使っている回路です。このうち,可変抵抗の値(R5, R6)を変化させて調べてみます。 

まずはスイッチング周波数を20kHzにしてやってみました。なお,出力電圧は方形波なので,ピーク値を示します。

simulation 20kHz.jpg

う~~ん,やはり予想したとおりで,正規に最大電圧(本機はTr出力のため,12Vより低くなっちゃいますが)を出力する最低デューティは18%くらいにもなります。一応,それ以下のデューティも出力できるのですが,出力電圧が下がってしまっており, 最低デューティ付近だとこんな風に三角波みたいになってしまっています。

PWM出力波形(fs=20kHz, VR=1.2kΩ).jpg 最低デューティ付近の波形

しかし,スイッチング周波数を300Hzとしてみるとこんな感じです。

simulation 300Hz.jpg これなら問題ありません。

スムーズに低デューティからスタートしますし,出力電圧も最初から12VP出ています。 

ということで,iruchanは自作のPWMコントローラは20kHz/300Hz切替式で作っているのですが,300Hzにするとコアレスモータ搭載車もスムーズに動く,という理由がわかりました。20kHzだと最低デューティは10%くらいにもなり,そのときにはコアレスモータはとうに回転してしまうデューティのため,ラピッドスタートになっちゃうんですね。もっとも,20kHzの時でも従来のコアつきモータの場合は起動するデューティは30%以上なので問題なかったわけです。

と言う次第で,コアレスモータ用に専用のコントローラを開発したいと思います。