鉄道模型パワーパック開発記 ― 低速から滑らかに動くPWM制御コントローラ

 三角波からPWMに変更して進めているパワーパック開発の続きです。今回は20KHzと50Hzの合成で常点灯と超低速走行を実現させるのが目的で、内容について少し詳しく触れておきましょう。常点灯を実現するためには高周波が必要で、これは停止状態でモータは動かさずにLEDのみを点灯させる方法として利用されています。また、スロットレスモータの駆動も高周波が良いとのこと。

 ハードウェアとして、ATmega328PBを16MHzのクロック周波数で動かしているので、およそ20KHz程度が制御時の分解能から適切と判断しました。20KHzであれば、0~800の範囲でduty(オン時間とオフ時間の割合)を制御できます。

 超低速でモータを起動するには50Hz程度の低周波が適切で、これの生成には156.25マイクロ秒毎に割り込みを発生させることで作ることにしました。156.25マイクロ秒×128=20ミリ秒なので、ハイとローを上手く組み合わせることで50Hzの方形波を作れ、段階的にdutyを制御することができます。前述のスロットレスモータを動かすには低周波は適していないということで、低周波と高周波(ここでは50Hzと20KHz)の方形波を合成させるという方法を使うことに。

 簡単に言うと、50Hzの方形波(オンとオフしかない波形 矩形波とも言います)と20KHzの方形波を重ね合わせ、50Hzのオン期間は直流では無く20KHzの方形波に置き換えられた波形です。。50Hzの方形波ということは1周期が20ミリ秒です。dutyが50%とするとオンの期間が10ミリ秒、オフの期間が10ミリ秒です。0ミリ秒の開始位置から10ミリ秒はオンだとします。この10ミリ秒の間は、50Hzとして考えるとオンのままとなりますが、ここをそっくり20KHzの方形波に置き換えます。実際にはdutyが50%ではモータが回ってしまうので、dutyを小さくする=オン時間を短く、かつ、重ねる20KHzの方形波のdutyも小さくすることで、LEDは点灯するが、モータは回らないというギリギリの状態を作り出すことによって常点灯が実現します

 パワーパックの簡単な製作例では単に高周波のPWM式(duty=オン時間/オフ時間の比を連続して変える)のものも多く、これで車両を動かすことはできますが、これでは「ロケットスタート」と呼ばれる、いきなり動き出すという状況にになってしまうことがあります。最近のモータ、特にスロットレスモータではこうなりますが、手元にある少し古い型のものではロケットスタートとはならないものも存在します。20年以上前に入手したKATOのE1-MAXでは連続したPWMでも問題無くゆっくりと起動することを確認済みです。

 このロケットスタートを解決するには、20KHzの方形波を連続して出さなければ良いので、そこで考えられたのが低周波と高周波の重ね合わせのスタイルです。ところが今回はこれで解決ということにはなりませんでした。

 前々回のブログでスロットレスモータでも上手く制御できたかに見えましたが、実験に使ったE129系100番台、これがくせ者で前進ならスムースに起動するのに、後退だと微低速でコギング、あるいはステッピングモータの脱調のようなガクガク、ぎくしゃくとした挙動が出ます。個体差(当たり/外れ)かなと思い、HB-E300系という別の車両を入手し試してみました。E129は片側の台車のみがモータにつながっていますが、HB-は前後2つの台車を駆動します。(ここもポイントだと思えたので、購入前にメーカへ電話して確認しました。)このHB-でも、E129ほどではありませんが、同じような症状がありました。

 従来型のモータでも、前進/後退で起動電圧が違う、また同じ電圧であっても前進と後退で速度が異なることがほとんどだと思いますが、このような挙動は見たことがありませんでした。前進/後退で異なるということで疑われるのはウォームギアなのか、モータなのか? AIに尋ねたところ、スティックスリップと呼ばれるギアのかみ合わせに起因する現象ではないかと。その対策として低周波と高周波をランダムに揺らしてみる方法等を提案され一通り試してみましたが全く改善せず、最後には匙を投げられました。念のため、車両を分解してモータを無負荷にして回したり、台車のモータからのシャフトを手で回してみたりとしましたが、これといった原因はわかりませんでした。

 AIに見捨てられたので、あとは自分で試すのみといくつかトライ。起動時における低周波のオン時間を極力短くし高周波のオン時間を長めにしたところ、だいぶ改善されましたが、この影響で今度は50Hzに起因すると思われるモータノイズが耳に付くように。次はこれに対する対策をということで、低周波のオフ時間にも最低限のdutyの高周波を出すことに。そして、オン時間のdutyとオフ時間のdutyの差による可聴域ノイズを減らすためにdutyをいきなり変更するのではなく、スロープ制御のように段階的に変えていくことでノイズを減らすことができました。これでも車両によっては音が気になることがあるのですが、どうやらこれは鉄道模型車両の構造が車台(シャーシ)と車体(ボディ)の組み合わせがはめ込み式で緊結されていないために隙間があることで共振してビビリ音が発生しているので、これは車両に少し手を入れてやれば消せますね。

 下図はロジックアナライザで取得したPWMの波形です。中央付近から右へかけてパルスの幅が狭くなっていくのがわかると思います。右側の細いところが50Hzのオフにあたる区間で、再びオンの区間へ切り替えるときにも同じように段階的に広げていきます。これで可聴域のノイズを減らせました。

 この制御方法をまとめると、停止時はdutyの小さい低周波を20KHzの高周波で変調した間欠式のPWM。ここから出力を上げていくと、高周波のdutyを広げながら、かつ低周波のdutyも広げていき最後はほぼ直流に近い出力になります。これで、従来式モータも、最近のスロットレスモータも微速からスムースに車速を上げていくことができるようになりましたが、「チビ電の制御」に少し問題があったので、間欠式のPWMだけではなく連続したPWMも切り替えて出力できるようにしたほか、マスコン使用時の速度が車両毎に異なるので、速度域を通常、低速、超低速と切り替えられるようにしました。なお、最高速と加速、減速等の主な設定値はPCとUSB接続することで、書き換えが可能です。これで万能型コントローラになったでしょうか。制御モードの切替が多種存在することから、操作を単純化するためにそれぞれ専用のスイッチを設置できれば良いのですが、コスト、スペース、そしてCPUのポート数からスイッチが5個しか設置できなかったので、例えば速度の切替はパネルの左上のスイッチを短く押すと低速に、長く(3秒ほど)押し続けると超低速にといった具合に一つのスイッチに複数の機能を持たせることで解決しました。(ここが少し使いづらいかもしれません。)また、LEDによる機能表示も点灯、点滅、またエラー時には点滅の速度を数種類用意することでエラー内容を判別できるようにしました。エラーのお話しのついでに保護動作についても記しておくと、鉄道模型用のパワーパックでは線路間の短絡(ショート)が付きものなので、これに対してはモータドライバの前段にINA301を使った電流検知回路を設置し、過電流(約2A)を検知した場合には直ちに出力を停止してエラー表示。また、その前段には念のためリセッタブルヒューズも配置。さらにモータドライバに装備されている保護回路もマイコンから監視するという3段の保護回路としました。

 モータドライバには東芝のTB6569を搭載しており過電流及び温度上昇に対する保護回路が内蔵されていますが、ICへの過度なストレスを避けるためにICのそばに温度センサICを配置してリアルタイムでプリント板上の温度を監視。設定された温度に達した場合は警告表示とともに出力を抑えるシーケンスを入れました。

 当初、ワンハンドルのマスコンユニットとして作り上げようと思っていたのですが、先ずはダイヤル式のコントローラとし、外部にマスコンレバーを接続することでワンハンドルでの操作もできる「二刀流」とする予定です。 

 ワンハンドルのレバーユニットはEB-B4-B3-B2-B1-N-P1-P2-P3-P4の10ステップで、レバー位置の検出はフォトリフレクタを使った無接触式として可変抵抗や機械式接点を使った場合に起きる接触不良による不具合を排除しました。コントローラへのインターフェースは電圧に変換して出力しています。機構部分は極力市販品を使ってコストを抑えたかったのですが、それほど流用できるものが無かったためにセンサ基板を含めた材料費が写真の状態(外側の筐体無し)で8,500円程度かかりました。さらにこれをケースに入れるとなると材料費だけで13,000円くらいにはなってしまいますね。

 今のところ正面のアルミパネルへの文字入れ方法が決まっていないので、ローコストで見栄え良く仕上げる方法を模索中です。外装コストが電子回路より高くなる点は悩ましいところで、本コントローラではケース(正面のパネルのみアルミ、他はアクリル)及び可変抵抗やスイッチなどの外装部品が6,400円程度、内部のマイコンユニット(上の写真にある緑色のプリント板)が部品原価で5,000円程度と、やはり心臓部である電子回路より外装部品の方が高くなってしまいます。(←設計費とソフトの開発費等は一切含んでいません。)大手のメーカーから販売されている安価なパワーパックでは、電子部品のコストが500円程度であることを考えると、かなりの高級品であるとおわかりいただけるでしょうか?
(写真では内部が見えるように側板と天板は外してあります。)