電源の電圧をマイコン内蔵A-Dコンバーターで測定する裏技:Q&Aで学ぶマイコン講座(53)(3/5 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。53回目は、中級者の方からよく質問される「電源の電圧をマイコン内蔵A-Dコンバーターで測定する裏技」についてです。
STM32F4のA-Dコンバーター
次に、実際のマイコンで考えてみましょう。STM32F4に搭載されている12ビット分解能のA-Dコンバーターは定電圧源のVREFINTを持っていて、1つの測定チャンネルが割り当てられています(図4)。
ユーザーは外部チャンネルを利用して、端子の電圧をA-Dコンバーターで変換することができますが、同様に内部チャンネルの電圧源も測定することができます。
内部チャンネルには、具体的には、次の3つがあります。
- 温度センサー:マイコンのダイ(チップ)の温度を測定する
- 内部参照電圧VREFINT:約1.2Vの定電圧源
- バックアップ用電源電圧VBAT:バックアップ用電源の電圧
温度センサーやVBATの電圧は変動しますが、VREFINTの電圧値は一定値で、各製品のデータシートに記載されています。STM32F412の場合は、1.21V(標準値)です。測定電圧が既知の値であれば、式3から逆算した次の式で、参照電圧を求めることができます。
参照電圧=((2N-1)÷A-Dコンバーターの変換結果)×測定電圧 式4
例えば、VREFINTを変換した時の結果が1638だとします。Nは12なので、これらを式4に代入します。
参照電圧=(4095÷1638)×1.21V=3.025V
よって、参照電圧は3.025Vであることが分かります。VDDAを知りたい場合は、VDDAとVREF+を接続して同電位にしておけば、VREF+の値からVDDAも求められます。
STM32F4の場合、参照電圧VREF+とアナログ電源のVDDAが分離されている製品と、VDDAとVREF+が共有端子になっている製品があるので、製品の仕様をよく確認し、必要に応じて外部の配線を施します。
Copyright © ITmedia, Inc. All Rights Reserved.