マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。53回目は、中級者の方からよく質問される「電源の電圧をマイコン内蔵A-Dコンバーターで測定する裏技」についてです。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、中級者から多く寄せられる質問です。
マイコン内蔵のA-Dコンバーターは、端子に入力される電圧を測ることができますが、A-Dコンバーター自体の参照電圧または電源電圧を測ることはできますか?
A-Dコンバーターの機能や性能はマイコンごとに異なりますが、ここではSTマイクロエレクトロニクス製のSTM32F4シリーズ(以下、STM32F4)*1)を例にして説明します(図1)。
STM32F4に搭載されている12ビット分解能のA-Dコンバーターの参照電圧はVREF+、電源はVDDAです。定電圧源のVREFINTを持っており、1つの測定チャンネルが割り当てられています。また、VREFINTの電圧値はデータシートに記載されており、1.21V(標準値)です。
一方、A-Dコンバーターで得られた変換値から、測定電圧は次の式で求められます。
測定電圧=(A-Dコンバーターの変換結果÷4095)×VREF+ 式1
式1から逆算すると、VREF+の値は次の式で求められます。
VREF+=(4095÷A-Dコンバーターの変換結果)×測定電圧 式2
すなわち、VREFINTを測定すれば測定電圧は1.21Vとなるため、その時のA-Dコンバーターの変換結果から、式2を用いて参照電圧のVREF+を求めることができます。さらに、ここでVDDAとVREF+を接続して同電位にしておけば、VREF+=VDDAとなり、電源電圧も求めることができます。
VREFINTのような定電圧源を持っていないマイコンの場合、電圧値の分かっている定電圧回路(基準電圧IC、バンドギャップ回路(BGR:Band Gap Reference)やツェナーダイオードなどで構成)を外付けすれば、同じ方法で電源電圧を求めることができます。
*1)参考ページ:https://www.stmcu.jp/stm32/stm32f4/
Copyright © ITmedia, Inc. All Rights Reserved.