SIGNAL / 過渡応答
RC 充放電と整定時間
時定数 τ = RC を出すだけでなく、ADC が 1LSB 以内に落ち着くまでの時間を出します。サンプリング前にどれだけ待つべきか、マルチプレクサを切り替えてから何µs後に読むべきかは、この数字で決まります。
使っている式
充電 V(t) = Vf · (1 − e^(−t/τ))
放電 V(t) = V0 · e^(−t/τ)
電流 I(t) = (V/R) · e^(−t/τ)
τ = R · C
到達時間 t = −τ · ln(1 − V/Vf) (充電)
整定時間 t = τ · ln(2^bit)到達率と時定数の対応
| 到達率 | 時間 |
|---|---|
| 63.2% | 1τ |
| 90% | 2.30τ |
| 95% | 3.00τ |
| 99% | 4.61τ |
| 99.9% | 6.91τ |
「5τ でほぼ充電完了」とよく言われますが、5τ でも 0.67% 残っています。12bit ADC の 1LSB は 0.024% なので、5τ では全く足りません。
ADC の整定時間はビット数で決まります
最終値との差が 1LSB 以内、つまり 1/2^bit 以内に入る条件は次のように解けます。
e^(−t/τ) ≤ 1/2^bit
t ≥ τ · ln(2^bit)
10bit → τ × 6.93
12bit → τ × 8.32
16bit → τ × 11.09マルチプレクサでチャンネルを切り替えた直後は、入力容量とソースインピーダンスで決まる RC が立ち上がります。ここを待たずに読むと前のチャンネルの値が混ざります。 ソースインピーダンスが高いほど待ち時間が伸びるので、分圧の出力インピーダンスと合わせて確認してください。
充電では必ず半分のエネルギーが熱になります
電源からコンデンサを抵抗経由で充電すると、電源が供給するエネルギーは CV²、 コンデンサに蓄えられるのは ½CV² です。差の ½CV² は抵抗値によらず必ず抵抗で熱になります。抵抗を小さくすれば速く充電できますが、失うエネルギーは同じです。
これが大容量コンデンサの突入電流対策で、抵抗を入れても損失が減らない理由です。 損失を減らしたいならスイッチング(インダクタを使う)しかありません。
含んでいない要素
- コンデンサの ESR と漏れ電流
- 誘電体吸収。放電後に電圧が少し戻る現象で、サンプルホールドでは誤差になります
- 容量のばらつき。電解コンデンサは −20〜+80% のものもあります
- 直流バイアスによる容量低下。セラミックの高誘電率系(X5R、Y5V など)は 定格電圧付近で容量が半分以下になることがあり、実測とずれる最大の原因です
- スイッチのオン抵抗、配線抵抗