PWMとは何ぞや、と言う場合は、検索をしてみてください。PWMは何といっても高効率なため回路がシンプルで済み、発熱が少ないことから小型・軽量化できます。パワーエレクトロニクス技術の進歩によります。
鉄道模型では、PWMが煙たがれることが少なくありません。と言うのも、DCCを使用されている方からはデコーダが壊れた経験がある!とか、古いモータをお持ちの場合は、「モータが燃えた!」という事があります。前者は、デコーダメーカーの大チョンボ、後者はPWMが瞬間的に高い電圧を出す仕組みなため、絶縁部分の劣化による絶縁破壊だと思いますが(古いモータはちゃんとオーバーホールしてくださいね)、この辺の実証は今後やっていきたいと思ってます。
一応、パワエレは大学で勉強したのでそこそこ分かってます。解決策は、キャリアを高くして、LCフィルタで平滑化することです。いわゆる、スイッチング型のDC電源と同じものを作ればいいわけです。
キャリアは、PWMを出力する基準となる周波数のことです。Arduinoだと、Timer1で32kHz弱が出力できます。100kHzくらいで叩けると、ほぼ直流にできますが専用ICとかが必要になったり、それなりの特性の良いMOS-FETが必要だったりします。
ただ、コストを追求するためにいろいろケチって単純な構成にしているので、電源メーカーほどの精度は出てませんが、上記のクレームについては問題なく対応できると思います。
とりあえず、PWMを直接出したものと、LCフィルタを通したものを見てみましょう。下記の波形はモータを回しながら出力電位差を測定しています。
PWM | LC通過後のPWM |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
そこそこリプル(ノイズのようなもの)が載ってはいますが、パルス状ではなく直流になっていると思います。LCフィルタをもう少しサイズアップさせて定数を調整すればきれいになるかもしれません。
今回使用したLCフィルタは以下のものです。
コイル: 100uH
コンデンサ: 20uF
→カットオフ周波数(0->90%) 3.6kHz

■適用先
いつも懇意にしていただいている運転会のリーダーに「子供でも運転できるパワーパック貸して」と言われてとりあえず作りました。
DSJoyの構成ですが、DSoneのハード改造(32kHz化)とソフトのアナログ専用化をしてます。S88マスコンは何もいじってません。加速率の調整は、S88マスコン側で行う感じです。

システム仕様:
・最大電流 3Amax, (連続2A)
・動作電圧12〜22V(LV 10V, OV 24V)