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


-------- --:-- スポンサー広告
AVR ATtiny2313 で AD変換 (その1)
プラントなどの分野では現場のセンサーユニットから伝送される 4~20mA や 1~5V といった範囲出力を指示調節計で受信し、AD変換して換算値表示と制御出力するやり方が従来より広く行われている。

ワンチップマイコンでも AD変換機能があるものを使えば同様のことは難なくできるであろうが、残念ながら手持ちの安価なAVRマイコン ATtiny2313 にはその機能がない。ただWEBで調べてみるとアナログコンパレータ(比較器)機能を利用すると実現可能との資料があり、実験を兼ね実際に試作してみることにした。

① 技術的根拠と方法
試作のきっかけとなった技術資料は以下の3点。

 「 シンプルなA-Dコンバータ 」 by ChaNさん
 「 Low Cost A/D Converter 」 Atmel Application Note 
 「 8-bit Precision A/D Converter 」 Atmel Application Note

記載の要点をまとめると、次のようになる。

・コンデンサー充電圧が対象電圧以上になるまでの時間を、アナログコンパレータと内部ハードウェアタイマを利用して測定することで対象電圧値を算出することができる。
・コンデンサーはマイコンの内部プルアップ抵抗を介して充電させると、0~2V辺りの充電圧は充電時間に対してそこそこリニアな値を示す。

これらを踏まえ実験へ。

② コンデンサーの充電実験
ATtiny2313 のポートB・0ビットを入力に設定、内部プルアップ抵抗を有効にし、GNDとの間に接続したコンデンサーの両端電圧をオシロスコープでモニターした。コンデンサーは種類と容量をいろいろ変えて実験した。下はセラミックコンデンサ0.01μFを充電した際のオシログラフ。

セラコン充電曲線
X軸:時間(50μsec/grid)  Y軸:電圧(500mV/grid)

ううむ、比較的リニアとはいってもそれなりのカーブだ。このまま直線近似して利用すると誤差は大きい。それなら連続ではなく ON/OFF 繰り返しで充電させたら多少改善するだろうか、やってみた。下はその時のオシログラフ。

セラコン充電曲線(ON/OFF制御)
X軸:時間(1msec/grid)  Y軸:電圧(500mV/grid)

充電時間に20倍かかるようになっただけでそれほどリニアにはなっていない。やはりそう都合良くはいかない(笑)。その後他の簡易で効果的な方法も思いつかず、仕方ないのでこのカーブをいかに近似化して利用するかを考えることにした。

しかし、この実験であることに気がつく。 → (その2)へ続く。

タグ : マイコン ADC コンバータ BASCOM AVR 計測 電子工作

2008-12-02 18:06 マイコン応用
コメントの投稿 (ここをクリックするとフォームが開きます。)
    管理者にだけ表示を許可する


トラックバック
この記事のトラックバックURL
(記事引用不問です。関連記事からのトラックバック歓迎します。)

管理人の承認後に表示されます

2013-07-13 /
管理人の承認後に表示されます

2013-10-24 /
管理人の承認後に表示されます

2013-10-24 /
管理人の承認後に表示されます

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