ESP32活用② アナログ入力(2)アナログ入力の様子を調べる
前回に引き続きESP32のアナログ入力の様子を調べてみます。テストにはESP32-DevKitC-VEを使用しています。
次の手順で電圧を読み取り、読み取った値をEXCELのグラフに表示します。
① 3.3Vの電源をボリュームで分圧してA6のアナログ入力端子に加える ② 次のプログラムで読み取った値をシリアルモニタに出力する。このプログラムは0.5秒ごとにA6のアナログ入力ポートからデータを読み取り、シリアルモニタに115200bpsのスピードで送信している。 ③ ボリュームを回して入力電圧を変更し10秒くらい固定して変更するのを繰り返す。電源電圧上限まで電圧を上げた入力も加える。 ④ 測定を終えたら、測定データの必要な部分を選択し、CtlrキーとCを押して選択部分をコピーする。 ⑤ コピーしたデータをメモ帳などにCtrlキーとVキーを押してペーストする。 ⑥ データをテキスト・ファイルとして保存する。 ⑦ テキスト・ファイルとして保存したデータをEXCELで読み取り、処理する。 |
読み取ったデータをグラフ化すると、次のようになります。
4095の線が直線になっているのは、3.1V以上の入力に対しては同じ4095の読み取り値になるので、見かけ上の変動がなくなり直線となります。
それぞれ同じ設定値であっても、読み取り値は若干の変動が認められます。
●同じ入力電圧に対する読み取り値の変動
入力電圧をディジタル・マルチメータの読み取り値で1.526Vの値に固定して、読み取り値の変動を確認します。シリアルモニタに表示された値は、1735くらいを中心にばらついているようです。
395回測定した結果をグラフ化して次に示します。この測定期間、ディジタル・マルチメータの読み取った入力電圧は、1.526Vで変化はありませんでした。グラフは縦軸の表示が1300から1700と拡大しています。変動が少し強調されています。
具体的な変動の様子を、実際の測定データを基に確認してみます。
●分散、標準偏差、変動係数を求め、ばらつきを調べる
データのばらつきを示す指標のひとつとして標準偏差があります。これらの算出のための関数もEXCELに用意されています。
●分散
分散は、各測定値と平均値の差を二乗した値の合計値を測定値の数をマイナス1した値で除算したものです。計算式は次のようになります。
nでの除算でなくn-1となるのは、測定数から平均値を求めています。そのため自由度が1平均値を求めるために利用されているため、残りのn-1で除算しています。この場合の分散は不偏分散と呼ばれます。EXCELではVAR.S(データ)で求められます。
●標準偏差
不偏分散は、測定値からその母集団の分散を推定したものです。その平方根は、母集団の標準偏差の推定値となります。次の式で求めます。
平均値はEXCELではAVERAGE(データ)で求められます。結果は、次に示すように1736.861として求められています。平均値に対する標準偏差の割合を示す変動係数は0.3%となっています。
●サンプル数が大きいと正規分布に近づく
今回のように、測定サンプルの多い場合には、測定データのばらつきは正規分布に近づきます。今回400近いサンプル数で標準偏差を求めているので、この値を母集団の標準偏差の推定値とします。
●測定を繰り返して平均を求めるとより真の値に近づく
1回の測定に比べ2回測定して得られた測定値は、1回の測定に比べ1/√2になります。この関係は測定サンプルをnとすると1/√nの関係になります。
この関係を確認するためにEXCELの関数のCONFIDENCE.T(0.05,D2,2)を使用し、今回測定結果を基にして、n回の測定でばらつきの範囲がどのようになるか確認しました。
上記のEXCELの上段のn=2、からn=20の表示はサンプルの測定回数で、その下のセルにはCONFIDENCE.T(0.05,D2,n)で求めた信頼区間を表示しています。
信頼区間を95%にするために0.05を設定しています。この信頼区間95%とは20回測定を行うと19回はこの範囲に入ります。範囲は求められた測定値(平均値)を中心に上下の範囲を示しています。
ESP32のアナログ入力データも適切な範囲を確認し測定することで必要とする精度の測定値を得ることができそうです。
(2021/5/1 V1.0)
<神崎康宏>