BVE 鉄道シミュレーターで自宅運転台を動かそうではメータをDACとPWMという方法で動かしています。
これはどういった方法なのでしょうか?
DACとは
DACとはデジタル・アナログ・コンバータの略称で数値をアナログの電圧に変化させて出力させています。
EPS32では当初DACで動かしていましたが、4個のメータを動かしたいため、PWMに変更しています。
これは、ESP32のDAC出力が2個しか無いためです、マイコンによっては、DACが無いモノがあります。
波形を見てみましょう。
RaspberryPiPicoにD/A変換モジュール MCP4726を接続して50%の出力をした様子です。
乱れはありますが、一定の値が出力されていることが確認できます。
PWMとは
PWMは出力をオン・オフする事で見かけ上の電圧を変化させる方法です。
Highの時間が長いと電圧が高く、短いと電圧が低くなります。
以下の波形は25%,50%,75%の様子です。
出力のデューティー比は、かなり正確ですね。
どちらが良いのか?
ではどっちが良いのでしょうか?
当然ながらDACの方が良いです。
PWMはあくまでも疑似的に電圧を生成しているにすぎません、この為、DACで電圧を生成する方が良いのです。
ただし、PWMでもそう大きな問題は無いと私は思っています。
確認のために実際に動かしてみましょう。
実際に動作させた様子
製作の際の参考にしていただければと思います。
東京メトロの電流計を
— usashirou (@usashirou1) July 22, 2022
DACとPWMで動作させる
テスト環境
メインボード:Raspberry Pi Pico
DAコンバータ:MCP4726https://t.co/dqez6q9S23 pic.twitter.com/nGStxI474w