汎用PWM電源
ソフトウェア仕様
1 |
RX220は起動時に省電力の125kHz内部クロックで起動します。プログラムで切り替えないと通常動作クロックにはなりません。 ボリューム読込のためのA/Dコンバーターと、PWM発生用のMTUを起動させます。 LCDの起動は時間がかかりますので十分すぎる時間待ちをします。 |
2 |
メインルーチンでPORTH.PIDR.BIT.B3を読み込んでいますが実際には未使用です。この端子にプルアップ抵抗とGNDに繋がるプッシュスイッチを取り付け押されている間モーターを細かく左右反復反転させブルブルという振動を起こさせるためです。ディーゼルエンジンの起動を再現させようとしました。 PORTHに繋がるSW1が極性変更(CW/CCW)です。中点OFFのスイッチを使いました。 |
3 |
MTU 二つのMTUユニットMTU0とMTU3を使います。ボリューム値に応じてPWMの定数(カウント)を変更するのにそのままTGRAやTGRBを変更しても良いと思いますが、今カウントしている一つパルスは完結してから新しいパルス幅に変わるようにTGRC、TGRDとバッファ動作させています。 |
4 |
LCD表示 実用上表示は必要ありませんので飾りです。 1行目PWMはメインボリューム位置が表示されます。12bit:4095がMAX値です。 2行目Int.はサブボリューム:インターバル周期、そのうち31mSecがHi時間です。出力が上がると0mS 1 の表示になりますが100%Hiの状態です。 |
5 |
割り込みルーチンCMT 表示の更新は早すぎるとちらついて見にくいので CMT(インターバルタイマー)で更新します。モーター制御のMTU更新はメインルーチンで別途行います。 割り込みルーチンMTU3 インターバル時のHi、Loに応じたデューティをセットするのにTGIA3とTGIB3の割り込みを使用しています。 |
5 |
プログラム RX220は残念ながら自動生成機能がないのでファイルは2つしかありません。RailwayModelPowerpack01.cとinthandler.cを入れておきます。 ソフト |
プログラムの一部に未使用のなんのためかわからない変数が定義されているかも知れませんが使いまわしのプログラムを利用しているための不要ゴミです。消したつもりではありますが・・・。
時計表示も出来るようにRTC初期化ルーチンも入れましたが必要ないと思い手つかずです。
Copyright © 面白半分