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


-------- --:-- スポンサー広告
AVR ATtiny2313 で AD変換 (その3)
⑤ プログラムの作成
BASCOM-AVR を使用してプログラムを作成/コンパイルする。電圧の算出は先に取得した近似式に回数を代入するだけで容易にできるだろうと高をくくっていたが、何と BASCOM-AVR の計算式は2つの定数または変数の演算のみしかできない事がわかり、愕然。仕方ないので細々分割して計算式を作成するも、1行で済む予定が15行になるとは全く予想外だった。さらに面倒なのは変数の値がこの分割した数式をくぐるごとに非常に大きくなったり小さくなったりするため変数型式の選択がシビアで、これを不適切にすると最終表示が全く当ての外れた値になってしまう。かといって変数型式をリッチにすると急にメモリーを食い始めるので凄く厄介。なので使い終わった変数は何度もリサイクル利用(涙)。

他にもPC用プログラム作成では味わった事のない数々の不自由さと格闘しながら、それでも何とか目的の表示を行うものができた。プログラムはこちら。表示電圧値は近似式算出値に若干の補正値を掛け調整した(プログラム49~51行目)。

⑥ 動作状況と今後
下の写真は単3乾電池(ややへたれ気味)を測定電圧にしたときのLCD表示状況。TはON/OFF繰り返し充電回数、Vは算出電圧値、その後ろは 0.4~2.0V を測定範囲とした場合のパーセント。

ADコンバータ LCD表示状況

現状ではサンプリング数が少なく分解能が粗いためT値が1つ増すごとのV値上昇は大きめであるが、T値自体の変動は意外と小さく、アナログコンパレータの精度の良さがうかがい知れる。 可変電源出力を測定した場合もまずまず良好な表示だった。充電カーブ特性により電圧の高い領域ではかなり表示精度が上がってくる。

ともあれひとまずは完成をみて、この方式によるAD変換表示器も実現可能であることが実証できた。今後検証すべき点としては次のことが挙げられる。

【高精度化】
表示サイクルから見ておそらく、電圧比較コンデンサの容量は今回の10倍の0.1μFでも許容できるだろう。サンプリング数を10倍にできればかなりの高精度が期待できる。さらに外部発振子利用によるクロックアップも有効な手段となりうるだろう。

【5Vの直接測定】
結局リニアではなく「多項式近似」用いて電圧算出するのであれば、2Vと言わず5Vまで直接測定することはできないか。

【内蔵ハードウェアタイマー方式との比較】
それぞれどんなメリット・デメリットがあるか。

【BASCOMでコンパイルすることのメリット・デメリット】
Cコンパイラで作成する場合との比較。特に数式記載について。

⑦ 改良と精度測定 → (その4)へ続く。

変更履歴:
08/12/06 プログラム更新
08/12/14 プログラム更新

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

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


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

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

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

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