ボリュームの値を読む 第2話(最終話)

スラマッマラム N.C.です。

 今日は、前回の続きです。
・十分な電圧
 n-bitのAD変換を行うならVref/2^nの分解能を得ることができます。読み取りたい電圧をVreadとおくと、

Vread-Vref/2^(n+1)

までコンデンサが充電されれば確実に読み取れます。つまり、この電圧が十分な電圧です。例えば前回の例のように、読み取るべき電圧が4.5Vだとします。また、8bitのAD変換を行いたいとします。すると、目標電圧は4.5-5.0/2^9=4.490Vです。
・十分な電圧まで充電される条件
 先ほどは、具体例を挙げましたが、その具体例を基準に考えて設計するわけではありません。回路方程式を解いて、条件を計算し、もっとも時間がかかる場合を割り出してあげる必要があります。ちょっとした過渡現象の問題です。目標電圧に達するまでの時間t0は、可変抵抗の全体の抵抗をRv、可変抵抗のうち、電源側の抵抗をR1、AD変換器のなかの抵抗をRs/h、コンデンサをCs/hとおけば(s/hはsample holdのことです)、R1<Rv/2の場合は

で計算できます。しかし、この式の最大値を解析的に計算するのは、私には厳しかったので、文明の利器に頼ることにしました。とりあえず、次のように変形します。

あとは、これの最大値をExcelの力を借りながら計算するだけです。但し、n=8としました。この過程は省略します。で、できたグラフが図1です。AVRのデータシートによればRs/hは1kから100kΩです(AD変換の入力抵抗とは別)。なので、Rs/hにたいしてt0が単調増加するのか確認のためいくつかのRs/hに対する曲線を描いてあります。100kΩのときが最大だということが分かるので、設計するときは100kΩの曲線を見ればいいことになります。このグラフを使えば必要なサンプリング時間で正しい結果を得るにはRvをいくつに選べばよいのかを読み取れます。

図1:サンプリングに必要な最大時間 8bitの場合

ちなみに、x>1/2の領域でも全く同じになるのでx<1/2の領域だけ考えれば十分です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です