PICで電子回路なぞを組んでみています。
なんでしょう。この怪しげな回路は:-P。正解は、一応、鉄道模型のPWMコントローラなんですね。マイコン回路は大学の実習で組んだことがありますが、ほとんど出来合いのものをマニュアル通りに作って多少アレンジしたぐらいだったので、一から設計するのは初めてです。とは言え、PICを使っているので、結構お手軽です。ハードをほとんど扱ったことのないソフト屋さんにでも楽しく遊べますね。
これまでに、以下のようなことができるようになりました。
・LEDをピカピカさせる(クロック設定を間違えてると思った周期にならないんですよねぇ)
・ボリューム(可変抵抗)の値を読む、つまりA/D変換
・キャラクタ液晶モジュール(HD44780互換)に文字を出す(これには結構苦労した)
・PWM信号を作る(PIC内蔵の機能を利用してます)
・モータ制御IC(TA8440H)を制御する →車両が走る!おほー
モータの正転逆転のためにHブリッジを組む(このあたり少し勉強しました)というのは、かなりめんどくさそうだったので、制御用ICを使ってしまいました。ソフト屋としては、なるべくアナログなところを避けて通るのが基本です(<そうなのか?)。PWMで使い易く手に入り易いものということでTA8440Hを選びましたが、Zゲージ向けにはなんだかデカ過ぎる気がします。
模型走行のテストにはZJゲージの動力車を使っています。いきなり高価なメルクリンを載せるのは怖かったので:-P。結果として、なんとかそれらしく走るようにはなりました。ただ、モーターのノイズが激しいようで、結構高い頻度でPICが止まります。Microchip純正のICD2というデバッガ(ほとんどプログラマとしてしか使ってない)でPICをプログラミングしているのですが、それで見ていると普通に一時停止がかかったように見えます。そして再開ボタンを押すと何事もなかったようにまた動き出します。あちこちにコンデンサを挟んだりしてみたのですが、少しマシにはなったものの、完全には現象を無くすことができません。というところが現状の課題ですね。
ちなみに、おそるおそるメルクリン(中古で買ったRe460)を載せてみたところ、ZJよりはるかに滑らかに走ります。ライトもちゃんと走り出す前に点灯します(PWMの利点の一つ)。しかも、ノイズによるPICの停止が全く起こらない! なんと。じゃぁ、ノイズ対策は後回しにしよっかなぁ、なんて思い始めた今日この頃。値段相応の差ってやっぱりあるもんですね。
コメントする