AD変換とPWM制御(ATtiny26L)  ('04.11.20 追加)
 つまみを回してモーターの回転を変える。大型の可変巻線抵抗を直列に入れてコントロールする事があります。
Tiny26LはAD変換とPWM機能があるので、バリオームで可変にした電圧をディジタル信号に変え、その数値で PWM制御すればバリオームの回転角に対応したパワーが得られるのではないかと考えました。ロータリーエンコーダ を使えばダイレクトにPWM制御できるようですが、その勉強は今後する事にします。
とりあえず、第一段階として出力はLEDの光量変化でモニタリングします。また、PWMに使うディジタル値は0〜255と して、その上位4ビットを4個のLEDで2進表示してみました。255〜16までを表示するわけですが、4ビットならかなり 感覚的に値が分かって、簡単な表示の割りには面白いものだと感じました。
 AD変換もPWMもどうしたらよいのか分からないままに、データシートを何度も読み返しながら、また先輩のページを 探しながらプログラムを書いてみました。結果としては、初期の目的を達することはできたのですが、自分で書いたプログラム でありながら何がどうなっているのか分かりません。時間をおいて勉強し直します。「こうしたら理解しやすいよ」というのが ありましたら教えてください。 出力端子をオシログラフで見ると、周期2mS程で、バリオームの回転に従ってなめらかに デューティ比が変わるのが分かります。
 回路図と、プログラムです。 勉強が進んだらコメントを入れることにします。



(’04.11.20 追加分)
 回路図に追加したようにスイッチ部を加えてみました。デューティ比をバリオームで変えていますが、その結果をパワーデバイスに使えるようにしたものです。 追加回路には試験的に9Vの電源を繋ぎました。持ち合わせの12V電球の明るさがバリオームで変えられます。また、小型モーターにチャックを付けた簡易ドリルを使って いますが、その回転も変えることができました。PNPは使い慣れませんが、+-の電源を逆にすればいいだろうとテキトーに作った回路です。参考にした資料もありません。 2SA473は大昔に購入した部品取り基板についていたもので、ディスコン品です。webにも十分なデータがありませんが3A位は流せるものだと思います。 これのベース回路の抵抗は「無くても良いかな」と思いましたが、ベース電流の制限を考えて付けてみました。結果がOKなのでよしとします。12V電源につないで 1〜1.5Aくらいは使えるだろうと思います。おもちゃの電力制御ができるでしょう。

TOPへ


inserted by FC2 system