スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

モータードライバシュミレーション

ひさびさの更新です。かなりサボってました。

だいぶ前にマウスのドライバを作ったのでそのシュミレーション結果を紹介したいと思います。

シュミレーション結果

上の画像がシュミレーション結果です。

PWM○と書かれたのがHブリッジの上側(この表現でわかるかな?)、FLAG○とかかれたのが下側です。Rは右、Lは左側です。
A,B,...は気にしないでください。

信号はPWM一本とクロック一本です。ちなみにこの回路はPWM一本で前転、後転ができます。duty50%で一応静止します。

Hブリッジはご存知の通り正転、後転を切り替えるときになんの対策もしていないと貫通電流が流れて、回路が燃えます!

それを防ぐために遅延なりなんなりして燃えるのを防いでるわけですが、今回はその遅延をCPLD内で行うことにしました。
発振子のパルスを数えて遅延させているので好きな時間遅延させることができます。

上の画像ではPWMが立ち上がったとき、PWMLとFLAGRの変化が遅れていると思います。これで回路は燃えない!!はず・・・


ただ問題点がありまして、クロックを遅延する時間だけ数えるレジスタが必要ですが、フルップフロップは1セルにつき1個しかありません。僕が使う予定のCPLDは64セルです。仮に8ビットカウンタだとしても10%強をカウンタに使ってしまいます。
今回CPLDにいろいろな機能を持たせたいので結構もったいないです。


スポンサーサイト

comment

Secret

RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。