So-net無料ブログ作成

コアレスモータ対応鉄道模型用コントローラの開発~番外編・KATO KC-1の特性~ [模型]

2017年6月25日の日記

KATO D51&KC-1.jpg 

KATOのD51ギースルエジェクター機を運転中。停車中でも明るく点灯します。なお,D51は逆向き点灯防止用のコンデンサを撤去し,スナバ回路を挿入する改造が必要です。

2014年11月にリニューアル発売されたKATOのD51ギースルエジェクターは新設計のコアレスモータを搭載し,非常に低速もスムーズで,非常に評判の高いものなんですが,iruchanが愛用しているTomixの5001 Power UnitのPWM式改造版ではスイッチング周波数が20kHzの時はスムーズに動きませんでした。

最初,なぜ,コアレスモータ搭載機はラピッドスタートになるのか,原因がまったくわかりませんでした。ただ,スイッチング周波数を300Hzに切り替えるとちゃんと動く,ということから,PWMのスイッチング周波数が低い方がよいのではないかと考えました。実際,昔発売されていたKATOのKC-1はスイッチング周波数が50Hzくらいであることから,古いパックでありながらコアレス機との相性もよく,スローもよく効くし常点灯も可能,という話を聞きますし,実際,マニアの方が今でも探しておられるようです。

といって,今どきこのような古いパックを探すのは骨が折れますし,オクの価格も非常に高く,とても入手できないのでiruchanはTexasのスイッチングレギュレータ用IC TL494を用いて,ほぼ同じ回路でKC-1のiruchan版を作って,うまくコアレス機も動くようにしました。一応,現代風に出力の素子はMOS-FETに変更し,過電流検知もR-Sフリップフロップを使った回路にしました。第3回でKC-1改を作って実際にテストしています。やはり驚異的なスロー性能に驚いたばかりです。

ただ,スイッチング周波数が高いとよくない,というのは第一義的な原因ではないことにあとで気づきました。

本研究を始めた最初の頃,iruchanは低周波のパルスほど,パルスがonしたときの時間が長く,モータ電流が大きくなるので,トルクが増え,それでスムーズに動くのではないかと考えました。

でも考えてみれば,1秒間の平均トルクは同じデューティ比ならパルスの数で変わりませんし,LTspice調べてみても,スイッチング周波数によりトルクが変化することはないとわかりました。

では,なぜ,スイッチング周波数が低い方がよいかというと.....,

それは,低いデューティのパルスがちゃんと出力されるから,でした。

20kHzなどという高いスイッチング周波数だと,数%と言うような低いデューティのパルス幅は数μsとなり,結構,スイッチングが厳しくなり,大体,1~2μsくらいで出力できなくなります。デューティで言うと,8~10%前後です。

第4回に書きましたが,コアレスモータは4%くらいのデューティでも回転してしまいます。

ですから,コントローラはこれより低いデューティのパルスが出力できないとラピッドスタートになっちゃうわけです。

通常のPWM式コントローラは出力素子にMOS-FETを使っていることが増えてきましたが,MOS-FETはゲート入力容量が大きく,その容量分を高速で充電しないとMOS-FETがすぐにonしないし,offのときはゲートに溜まった電荷を高速で放電しないと低デューティのパルスが出力できません。そこで,充放電を高速でするため,ドライバ回路を用いることとしました。

iruchanはプッシュプルドライバを挿入してPWM式コントローラを高速化してコアレス機に対応するようにしました。KC-1改でも同様に疑似プッシュプルドライブ回路を挿入して低いデューティのパルスが出るように改良してあります。

また,先週,Tomixの5001コントローラもPICを用いて高速化し,コアレスモータにも対応できるようにしました。

という状況なのですが......。

実は,iruchanもKC-1がほしくなり,ずっと前から中古屋さんやオクをチェックしていました。

そして,とうとう,オク5回目くらいの挑戦で,ようやくKC-1をゲットしておりました。本当になかなか人気が高く,入手は難しいパワーパックのようです。

KATO KC-1コントローラー.jpg わが家にもやって来ました[晴れ][晴れ]

どっかで見たような値札がついてますけど.....。たぶん,前の所有者の方はこの店で中古を買って,再びオクに出されたのでしょう。ひょっとすると▼のように電源が準備できず,運転できなかったのでオクに出されたのかもしれません。

KATO KC-1コントローラー2.jpg とてもきれいな状態でした。

   ▲の写真はACアダプタをつなぐ改造をして通電時の状態です。


KATO KC-1コントローラー3.jpg 背面の黒いつまみが調光用です。

さて,今日はそのKC-1のテスト結果をご報告します。実は第2回で,電子回路シミュレーションソフトLTspiceを使ってKC-1の回路を解析しているのですが,今回は実機の出力波形を調査してみたいと思います。

その前に......。

実は,iruchanが入手したのはKC-1本体のみで,これでは電源がない状況です。

KATOのコントローラーKC-1は電源ユニットKM-1と組み合わせて使用するもので,KC-1単体では電源がないことになり,動きません。

さらに,常点灯ユニットKU-1というのもごく短期間だけ販売され,これらと組み合わせて使用するものでした。KU-1については,最後に解説したいと思います。

と言う次第で,KC-1は今年のGW頃に入手していたのですが,電源の準備を後回しにしていたため,今までブログに書きませんでした。

まずは電源の準備から。

KM-1を探すのが一番手っ取り早い方法だとは思いますが,KM-1はKC-1以上に入手が難しいですし,基本的にKC-1と組み合わせて使うもののため,KM-1単体でオクに出ることはほとんどないと思います。

と言って,KC-1単体でオクに出ることが多いのですが,電源がないため,落札した人はどうやってKC-1を使っておられるのでしょうか?

iruchanは電源は別途,用意するつもりだったので,最初からKM-1を入手することは考えていませんでした。なにより,KM-1はKC-1と同じ筐体に入っているため,かなり図体が大きいのです。それに,使用するときはKC-1と "合体" して使用するため,非常に横幅が広くなってしまいます。

当時はまだスイッチング電源が一般的ではなく,KM-1はトランスを内蔵し,ブリッジDiで整流しているだけの非安定化電源だと思います。こうするとどうしてもトランスが大きいため,筐体も大きなものとなってしまいます。

と言う次第で,iruchanはまずはKC-1に電源を内蔵し,AC100Vで動作させたいと思いました。Tomixの5001改でもDC12Vのスイッチング電源を内蔵してありますしね。

といって,5001もそうでしたけど,中を見てみるとかなり厳しく,いくらスイッチング電源が小さいと言っても内蔵するのは困難な感じです。

と言うわけで,とりあえず,ACアダプタを使うことにします。もちろん,こちらの方が多くの方が改造できますし,便利かもしれません。そこで,まずはACアダプタ仕様に改造し,後日,電源内蔵型にも改造できるようにしたいと思います。

そこで,使用するACアダプタなんですけど,これはパソコン用の周辺機器なんかでたくさんDC12V出力のものがありますので,それを流用します。iruchanはルーター用の電源を使いました。本体はとうに捨てちゃったんですけどね。ACアダプタはもったいないので残してありました。

なお,専用のものではないACアダプタを流用するときは,電圧,電流,極性を必ずチェックしてください。

最近のものはスイッチング電源なので,電圧は負荷によらず一定電圧となっていますので,過電圧の問題はありませんが,昔のトランスを用いたものは非安定化電源なので,仮に12Vと書いてあっても無負荷時は15~17Vくらい出ていたりして,Nゲージには危険です。

また,たいていのACアダプタはプラグに外径φ5.5mmのものを使っていますが,内径がφ2.1mm2.5mmの2種類ありますし,極性もほとんどのものは内側が+で,外側が-ですが,まれに逆のものがありますので,ご注意ください。必ず,事前にテスターで電圧と極性をご確認ください

さて,iruchanが使う予定のはルーターで使っていたやつで,12V,1Aの容量があり,外径5.5mm,内径2.1mmのものでしたので,ジャックもあわせて内径2.1mmのを使います。秋葉などで購入される場合は内径の違いにより,2種類ありますのでご注意ください。

なお,こういう問題があるので,最近はEIAJが決めた極性統一プラグというのも使われています。これは電圧で区分があり,12VだとEIAJ#4型となります。極性は必ず中心ピンが+となっています。もし,お手持ちのACアダプタがこのタイプでしたら,#4のジャックをお買い求めください。

ACアダプタ表記.jpg 使用したACアダプタの定格

事前に表記を確認しておきます。電圧,電流,極性が記載されているはずです。

ACアダプタプラグ&ジャック.jpg 使ったACアダプタのプラグとジャック

プラグの外径はφ5.5mmで,内側のピンはφ2.1mmのものです。

ACアダプタ電圧チェック.jpg 必ず事前に電圧,極性をチェックしてください。

さて,次はKC-1の内部をチェックします。

ところが.....。まず,底ブタが外れません.....orz。

こういうときはどこかにねじが隠れています。どこに隠れているかというと.....やはりゴム脚の裏に隠れていました。両面テープでゴム脚が貼りつけられていましたので,あとで貼り直せばOKです。

kato kc-1底ブタねじ.jpg こんなところにねじが隠れています。

4箇所のねじを外せばOKでした。残念ながら,例によってタッピンねじだったので,いずれバカになってしまうと思います。そのときはTomixの5001 Power Unitを修理するときに使ったインサートナットが便利です。

まあ,まだねじはバカになっていませんので,当面はこのままです。

KATO KC-1コントローラー内部.jpg 内部

内部の部品は日本製のものばかりで,いい時代の製品だと思います。電解コンデンサはどれも直立してきれいにハンダ付けされていますし,非常に丁寧に作られています。オーディオマニアにおなじみの福島双羽のMPC型金属板抵抗器が使われていました。

制御素子には放熱器がついています。バイポーラTrなので発熱量は多いです。表面にサーミスタが密着して取り付けられ,温度補償をしているみたいです。

使われていたのはTO-220型の新電元製2SA1599のようです。普通のTO-220と違い,ずいぶんと厚みのある,見たこともないパッケージです。VCEO=40V,IC=10A,PC=25Wの規格です。

新電元2SA1599.jpg 新電元の2SA1599

型番を調べるため,ねじを外したついでに,後ろの放熱器に密着するよう,シリコングリスを塗って,再びねじで固定しました。真ん中に見えるDiは同じく新電元のファーストリカバリDiですね。

μPC494C.jpg PWM信号発生用のμPC494C

PWM信号は調光用の高周波と走行用の低周波の2波があり,それぞれ,NECのμPC494Cを使っています。Texas InstrumentsのTL494Cのセカンドソース品ですので,もし故障したらTL494Cが使えます。

さて,問題はジャックをつける位置なんですが,iruchanは底ブタにつけちゃいました。KM-1からKC-1に電源を供給する端子が底ブタについているからでしたけど,肉厚が大きいし,加工が大変でしたので,お試しになる方は上ケース(灰色の樹脂のほう)に穴を開けてください。そっちの方が楽です。なお,穴径はφ7.8mmです。

ACアダプタジャック.jpg ジャックをつけました。


ジャック配線.jpgこんな風に配線を準備しておきます。

ジャックから,そのKM-1との接続点に線を配線すればOKです。卵形ラグ端子にはんだづけして,その接続点のねじにとも締めしました。

なお,さっきも書きましたが,ACアダプタはまれに中心ピンが-となっているものがあります(EIAJの極性統一プラグは絶対に+ですけど)。こういうACアダプタを間違えて挿すと故障します。

iruchanはACアダプタ関係の機器を作るときは必ず中心ピン+で作るので問題ないのですが,知らない人が挿しちゃうことがありますので,+側の配線に▲の写真のようにダイオードを挿入しておきました。もちろん,そんなの間違えないよ,と言う方はつけなくても結構ですが,転ばぬ先の杖ですのでつけておきました。

なお,DiはP-N接合面を通る際に順方向の電圧降下があり,シリコンDiでは0.6Vとなります。当然,パワーパックの出力電圧も下がっちゃいますし,0.6×最大電流(W)分の熱も発熱するので,今回,ショットキーDiを使いました。これだと順方向電圧降下は0.2Vくらいなので安心です。

このあと,ジャックからの電流は卵形ラグを使って,KM-1との接続用のスナップ端子にネジ留めする計画です。

ところが....。

そのナットがねじロックで固めてあって,どうやっても緩みません。ねじ頭が小さく,#0のドライバーをつかうのですが,それで緩めようとしても,ガチガチで緩みません。たかがM3のねじなんですけどね....。

こういう場合,はんだごてでねじを暖めればねじロックが溶けて緩むんですけど,それじゃ樹脂のケースが溶けちゃいます。

困ったな~,と思ってネットを探してわかりました。なんと,アルコールでねじロックを溶かせばよいとのこと。さっそく,アルコールを数滴垂らして2,3分たったら見事に緩みました。やれやれ。

ジャック配線1.jpgこういう具合に配線をしておきます。

さて,ここまで来たらようやく通電できます。

まずは,背面の調光用トリマを最低の状態にしたときです。走行用VRを徐々に変化させて調べました。

最低デューティ(調光min).jpg ダイヤル0の時です。

驚いたことに,このときでもパルスが出力されるようになっていました。低周波パルスの周波数は55.3Hz,最低デューティは0.66%でした。これならコアレスモータ機もスムーズに起動しますね!

なお,このようになっているのはボリウムを回していくときにいつまでも機関車が動き出さないとおかしな感じがするので,起動時の位置を適当な範囲にするための調整機構がついているためです。▲の基板の写真中,左下にオレンジ色の半固定抵抗がありますが,これで調整します。iruchanが解析したSpiceの回路ではR11とR12がそれです。

デューティ(dial 1, 調光min).jpg ダイヤル1の時です。

驚いたことに,調光用トリマは最低の状態にしてあるのですが,走行用ダイヤルを少し回すと高周波のパルスが出てきます。ダイヤル1から出始めますが,最初はこのように低周波のパルスの間に出てきますが,途中で消えてしまいます。

デューティ(中間, 調光min).jpg

その後,走行用ダイヤルを回していくと高周波パルスも安定してきて,低周波のパルスの間を埋め尽くすように高周波パルスが出ます。高周波パルスの周波数はほぼ20kHzです。

最大デューティ(調光min).jpg 最大デューティ

KATOのKC-1は最大デューティは95%くらい,と聞いていましたが,ダイヤル9くらいで100%となりました。聞いていたこととは違うようです。

高周波パルスの方が低周波パルスより1V程度,電圧が高いようです。

調光用トリマを回すと,最初から高周波パルスも出ますが,オシロの画像としては,上記と似たようなものでした。

ただ,驚いたことに,高周波パルスは調光用トリマの設定で一意に決まる,と思っていたのですが,走行用ダイヤルとも連動していて,高周波のデューティも最大97%くらいになってしまいます。

ややこしいので,グラフにしてみました。

kato kc-1 duty変化.jpg デューティの変化です。

調光用トリマを回すと,確かに,ダイヤル0のときにデューティが0%~47.8%まで変化します。コアレスモータだと4%を超えると走行してしまいますので,調光用トリマの設定は慎重にしてください。

その後,走行用ダイヤルとも連動してデューティが▲のように変化しました。

ただ,高周波パルスはどうも周波数も途中で変動しているようで,デューティは測定するたびに変化しています。▲のグラフがうねっているのはそのせいです。

どうにもこのあたり,事前のシミュレーションとは違うようです。

さて,ここまで来たら走行テストをしてみませう。

やはり,コアレスモータ搭載のD51から。

予想どおり,ちゃんと常点灯にも対応していて,停車中にも前照灯が点灯してます。また,発進もスムーズで,スロー走行もほかのパックとは違う感じで,非常にゆっくり走行します。

低周波PWMなのでモータの電磁音が気になりそうでしたが,iruchan自作のKC-1改同様,かすかに低速時にジッ,ジッと言う感じの音がするくらいで,大して気になりません。

やはり,KC-1改同様,高周波パルスのせいで,モータには循環電流が常に流れていて,電機子の振動が抑えられているため,と思います。

調光用トリマを回すと前照灯の明るさが変わりますが,通常はmin.の状態でよさそうです。

kato DD13.jpg KATOのDD13と

30年以上前,中学生だったiruchanがお年玉で買ったDD13です。当時,あまりの精密さに感激しましたし,また,走行の素晴らしいのにも感激しましたが,今も見事な走行をするのに驚きます。今は愚息が遊んでいます。

前照灯はLEDに変更し,スナバ回路を挿入しているので,常点灯にも対応します。

こうして,ようやくKATOのKC-1を入手しました。やはり,性能のよさにびっくり!!いつか,AC100Vを直接入力できる,電源内蔵式にしたいと思います。ついでに,電源SWがないので追加したいと思っています。


☆ KATO KU-1について

今回のコアレスモータ対応のコントローラ開発プロジェクト? で最初にKC-1がその解決策ではないかと考え,iruchanも自作してみたのですが,どうしても昔から引っかかることがありました。

KC-1を使うとTomix製の前照灯基板が壊れ,最悪,ボディが変形する,という話があります。

これはどうにもおかしな話で,KC-1は普通のPWM式コントローラだし,iruchanも学生時代からPWM式のものを自作して使っているので,もし,KC-1がダメだというなら自作のもダメだし,PWM式がよくないのか,とも思えますが,そんなはずはないはずだし,どうにもおかしいと思っていました。

確かに,KC-1は低周波と高周波の2周波を用いたPWMコントローラで,電子工学的には低周波のPWMはダメで,理由は損失が増えるから,です。実際,第1回にも書いておきましたが,Spiceでもシミュレーションすると低周波PWMは損失が大きいです。

でも,シミュレーション上は損失が増えると言っても2W以下ですし,これなら脱線したりしてモータが停止しているのにフルに12Vをかけている方がはるかに危険です。1A出力のパワーパックならモータで12Wもの熱を出していることになりますからね。

ネットを見てもよくわからないし,確かにKC-1の使用について不安に感じている人がおられるようです。

しかし,これはどうも誤解だと思います。

よく調べてみると,確かにTomixの説明書にはこのように書いてあり,KC-1とは書かれていません。

Tomix ED61, 62注意書き.jpg Tomix ED61, 62説明書から

カトー製のKU-1などは使えない,と書かれていて,KC-1はダメ,と言う風には書かれていません。

と言う次第で,使用不可なのはKU-1であることがわかります。

KU-1はKC-1と同じ頃,KM-1などとともに使用する室内灯用の電源ユニットとして発売されました。

当時はまだ,前照灯や室内灯は電球(ランプ)を使用しているため,停車中に点灯させることはできませんでした。

なぜか,というと電球はあくまでもフィラメントが熱せられて光るもののため,ある程度の電圧をかけないとフィラメントが白熱するくらいの電流が流れないためで,もちろん,そのときの電圧はかなり高いので,すでにモータは回転してしまったあとになってしまうからです。

それでも,停車中にも点灯させようと考えた場合,やはり瞬間的に電球のフィラメントが白熱するくらいの大きな電流を流してやることが考えられます。瞬間的なパルスにしておけば,モータは回転しない範囲とすることができるはずです。

こうして販売されたのがKU-1で,ピーク電圧で30Vくらいが出力されるようです。KC-1同様,PWM式になっていて,パルスの最大デューティは10%くらいのようです。これくらいであれば,当時のコアつきモータなら回転しませんので,常点灯が実現できます。

ところが,KATOの製品は問題なかったのですが,Tomixの製品は前照灯にレールのギャップ通過時などに瞬間的に前照灯が消えるのを防ぐため,コンデンサが挿入されていました。

kato, tomix前照灯回路.jpg前照灯回路

      KATO          Tomix

この場合,ちょっと問題があります。このコンデンサがパルスを平滑化してしまうのです。 

KATOの場合は,コンデンサがないため,電球にかかる電圧Vlamp (赤)線です。もちろん,電流も立ち上がりますが,瞬間的な電流なのでフィラメントが切れたりしません。

kato ku-1出力波形4.jpgランプにかかる電圧

ところが,ここにコンデンサが入っているとパルスを平滑化してしまい,Cが小さいときは (マゼンダ)線ですから電球にかかるピーク電圧も低いし,電流が流れる時間も短いので問題はないのですが,Cが大きいと,  線となり,ピーク電圧は低くなりますが,平均電圧はNゲージの規格値である12Vを上回ってしまうこともあります。その時,規格以上の大きな電流が流れてしまいます。

余談ですが,このコンデンサは今ではほとんどの車両に入っていて,このため,PWM式のコントローラを使ってもLEDにかかる電圧が低くなってしまい,常点灯に対応しなくなってしまっています。この場合はパルスのピーク電圧は12Vなので,コンデンサにより平滑化されたあとの電圧が約2.8Vを下回るとLEDが点灯しません。停車中はデューティが低いので平均電圧も低く,前照灯が点灯しなくなっちゃいます。このコンデンサは,現在は前照灯をLEDにするとモータの逆起電力で反対側の前照灯LEDが点灯してしまうための対策として挿入されています。iruchanはこのコンデンサを撤去し,スナバ回路を挿入することで常点灯に対応させています。▲のD51やDD13もそのように改造してあります。

さて,KU-1を使ってTomixの車両を運転した場合,Cが比較的大きいため,ランプにかかる電圧が12Vを超えてしまい,過大な電流が流れてランプが断線したり,ランプが発熱してボディを変形させてしまったのだと思います。当時は積層セラミックコンデンサがなく,それほど大容量のものができない時代で,容量としてはせいぜい0.1μFくらいのものだと思いますが,それでも平均電圧が12Vを超えることもあったのでしょう。

と言う次第で,LTspiceでシミュレーションしてしまいました。そんなのできるんかい?

まずは電球の抵抗について。

電球はフィラメントを使っていますが,温度により抵抗が変わります。代表的な非線形抵抗で,よく教科書なんかに載っています。

iruchanも,印加電圧の0.6乗に比例することは知っていましたが,正確には0.62乗だそうです。

と言う次第で,電球の抵抗は

              白熱電球抵抗式.jpg

となります。

つぎに,電球の定格なんですが,今どきこんなこと調べようとするとなかなか資料にも載っていなくて困っちゃいます。実際に電流を測った方が早いという気もするのですが,大体,Nゲージに使用されるムギ球は12V,60mAだとわかりました。Tomixの資料に載っていました。KATOのもほとんど同じようです。

ということはワット数は720mWで,抵抗値も200Ωですね。ただ,もちろん,この抵抗値は12Vを印加したときの値です。

上式のkは12Vのときに200Ωとなるように計算すればよいので,

              白熱電球抵抗式1.jpg

ということですね。これをLTspiceで使います。

12Vムギ球simulation schematic.jpgシミュレーション回路

ごく簡単なシミュレーションをしてみました。抵抗を配置し,そのRをこのように式で表して電球の代用にします。LTspiceで部品の抵抗値を入力するところにこの式を記入します。LTspiceは累乗は^でなく,**で表すのにご注意ください。なお,端子電圧をVSという具合にラベルで命名しておきました。

まずはDC sweepを実行して,端子電圧を0V~30Vでスイープしてみます。こうすると電球の特性が表示されます。

ムギ球特性(Tomix)2'.jpg 12Vのムギ球の特性

驚いたことに損失も計算できます。ちゃんと,12Vを印加したときは60mA流れて,損失は720mWと言うことがわかりました。

さて,次はパルス波を印加してみます。ピーク電圧は30Vとします。デューティは10%としました。

すると......。

ムギ球損失(Tomix).jpg Tomixの回路

やはり電球の損失は平均で1.095Wとなり,定格オーバーとなります。これでは加熱するし,フィラメントも切れると思います。

ところが,もし,KATOのようにコンデンサをつけていない場合は,と言うと,

ムギ球損失(KATO).jpg KATOの回路

特に平均損失は275mWと大きくなく,定格内に収まります。フィラメントも切れないと思います。

と言う次第で,やはりコンデンサが入っていると危ない,と言うことがわかりました。

それに,ネットでKU-1の写真を見ても,つまみの色が違うくらいでKC-1そっくりです。おまけにKM-1やKC-1と合体させて使用するシステムのため,うっかりユーザが列車を走らせる目的でKU-1の方のつまみを操作してしまい,高いデューティのパルスを出力させてTomix製車両の前照灯基板を壊してしまう,と言うことも多かったのだろうと思います。KU-1の最大デューティは10%くらいのようですが,最大電圧が30Vくらいあったため,これくらいのデューティでも危険だったようです。デザインがKC-1とそっくりという点は,いまだに自動車がブレーキとアクセルを踏み間違えても何ら誤操作と判断せずに急発進するのと同様ですね。iruchanは自動車の場合はマイコンで判断できるだろ,という気がします。アクセルを急ブレーキをかけたつもりで踏み込んだら,アクセルに取り付けたセンサの電圧の立ち上がりが通常の加速動作とは違うだろ,という気がするのですが.....。KATOのKU-1もKC-1とそっくりのデザインではフールプルーフ設計とはなっていなかったと思われます。こういったことから,KU-1はすぐに販売中止となり,今や幻のコントローラとなってしまっています。

今は前照灯や室内灯がLED化されたので,このような高電圧をかけなくても明るく点灯するのでこのような常点灯システムは不要になりましたが,ランプを使用していたときに常点灯を実現しようと考えられた仕組みだと思います。

一方,KC-1はそれ自身が高周波PWMを発生させるため,常点灯の機能があり,調光用のボリウムも設けられていますし,説明書にも室内灯調整用などと書かれているので,KU-1の問題と混同されてしまったのだと思います。

KC-1単体では問題ないと考えています。


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

コアレスモータ対応鉄道模型用コントローラの開発~その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 最後に全員集合の記念撮影です。

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


2017年9月9日追記

KATOのC12を買いました。コアレスモータの性能もあるのでしょうけど,驚くほど動力の性能がよく,スムーズな走りにびっくりしました。

ただ,モータの性能がよすぎて,デューティ比2.7%でも起動しちゃいます。D51の場合はたぶん,模型の質量が大きいからでしょうけど,4.6%でしたから,C12はすごいです。

おかげで,今回作ったソフトはダメで,D51はボリウムを中点にしても動きませんでしたけど,C12の場合は微妙に動いちゃいます。

min. duty(KATO C12対応).jpg KATO C12対応版です。

そこで,ソフトを改修し,最低デューティは1%くらいにしたらようやく停まりました。やれやれ~。

そのついでに,ちょっと別のことを改善したいと思います。どうせPICを取り出してソフトを改修するのに,ふたを開けてしまわないといけませんしね。

実は回転方向を示す赤色のLEDが気にくわなかったのです。

完成後,Tomixのオリジナルの赤色LEDが暗すぎたので,最近の高輝度のものに交換してしまいました。最近のは本当に明るいですからね~。こういうのになれちゃうと,昔のLEDが暗すぎて我慢できないので交換しちゃいました。輝度が低い場合は電流を増やしてやればいいんですが,どうも昔のLEDはあまり電流を増やしても明るくならないし,どうやら限度があるようで,それ以上は明るくならない感じでした。

ところが.....。

ちょっと写真じゃわかりませんけど,赤色が薄すぎて,どうにもこれじゃピンクか,オレンジ,という感じの色なんです[雨]

調べてみて気がつきました。

最近の高輝度の赤色のLEDは波長が620nmくらいのものがほとんどなんですね。620~625nmという赤色LEDがほとんどでした。

驚いて昔の東芝の規格表を見てみますと,TLR113なんかだと700nmです。

まあ,最近はLEDと言ってもほとんどが台湾か中国製なので,ひょっとして中国の人は赤というともっと波長の短い,ピンクみたいな赤を赤色だと感じるのでしょうか。確かに,日本語で赤というとエンジ,紅,深紅とか茜色とか赤紅とか鮮紅色とかいろいろあって,日本人は赤色をいろいろ区別するのだとかそういう話を聞きますけど,どうも日本製のLEDも赤色が違うのでは,という感じがします。

と言うことで,結局,やはり東芝のTLRA155BPに交換しました。中心発色波長は660nmです。さすがに,昔のように700nmというようなLEDは見つけることができませんでした。

違いは歴然。まあ,デジカメで撮っているので人間の目の感覚とは違う,と言うことを前提にして考えてみても,かなり違う感じです。

LED比較.jpg 

  前回使ったLED(左)と東芝のTRA155(右)

驚くほど色が違いました。左はまるでオレンジですね~。でも,これだけ見ると一応は赤と思える色ですし,肉眼で見るとそんなに違いはない感じなんではありますけど。

前回使用したのは台湾OptoSupply社のOSHR5161AというLEDですが,波長が620nmじゃ,やはりオレンジ色がかっています。交換したのは東芝のTLRA155BPですが,660nmです。ただ,輝度は全然違っていて,OSHR5161Aが7000mcdなのに,TLRA155BPは900mcdですので,最近のLEDとしてはそれほど高輝度じゃありません。ちなみにTLR113だとなんと3.5mcdです。今じゃ,10000mcdなんてLEDもありますからね~。暗~~っ[雨]!!

なお,▲の写真の2つのLEDは直列につないでありますので,電流は同じです。輝度は断然,台湾製の方が明るいです。


東芝TLRA155交換後.jpg やっぱ,こうでしょ!

ようやくもとのオリジナルのTomix 5001みたいな色になりました。LEDを交換するときはちゃんと波長も調べてからでないとダメ,と言う教訓を得ました。


nice!(4)  コメント(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もつけておきましたしね.....[晴れ]


2017年7月16日に追記

きちんとケースに入れました。記事をこちらでご紹介しています。

2017年8月13日追記

驚いたことに,6月に発売されたKATOのC12は想定より最低デューティを小さくしないと停車しないことがわかりました。D51と同じソフトじゃ,動いてしまうんです[雨]

しかたないのでソフトを書き換え,最低デューティを1.5%としました。ようやくこれでC12が止まるようになりました[晴れ]

duty(PIC PFM+PWM min C12対応版).jpg C12対応版の最低デューティ波形です。

ソフトは下記の通りです。so-netはhexファイルをupできないのでテキストファイルにしておきます。.txtを.hexにして書き込んでください。

PFM&PWM controller.txt

 


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

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