開発のヒント

周辺機能、I/O、メモリ

ADコンバータのサンプリング時間の注意点

STM32に搭載されているADコンバータはサンプル&ホールド型です。変換したい電圧源を 一旦マイコン内部のコンデンサに接続して、コンデンサの電圧 を測定したい電圧と同じにしてからバイナリサーチで変換を始めます。これはバイナリサーチ中に侵入してくる外部 のノイズなどによる電圧変動の影響 を防ぐためです。

内部のコンデンサには放電回路がありませんので、連続したAD変換を行う時は、コンデンサの初期電圧は一つ前に変換した電圧が残ります。

最初の変換電圧とその次の変換電圧の差が大きいと、コンデンサの電荷が十分充放電されずに続けて行った変換の値が正確でない場合があります。そのような場合は、内部コンデンサの充放電時間を長く取る必要がありますので、次の2つの対策のいずれかを行ってください。

  • ①ADコンバータのサンプリング時間を延ばして、内部コンデンサの充放電時間を長くする。
  • ②同じ電圧を2回変換し、1回目の変換値を捨てて、2回目の変換値を有効とする。これはADコンバータのサンプリング時間を2倍にするのと同じです。

  •  ADコンバータのサンプリング時間については、次の記事を参考にしてください。
    Q&Aで学ぶマイコン講座(12)サンプル&ホールド型A-Dコンバータのサンプリング時間はどうやって決めるの?
  •      

    過去の開発のヒントはこちら