とりあえずゼロクロス検出のプログラムを修正して計測してみました。
プログラムとしては、一旦エッジを検出したら80サンプル、8.88...マイクロ秒(80/9マイクロ秒)分スキップするという処理になっています。本来、1つのエッジで複数のゼロクロスがあれば、中央を取るとか平均を取るとかするべきですが、とりあえず今回は実装が簡単な方法を選びました。
ただ、前回の11時間取ったときは計測開始から5時間ほど経ってからノイズが出ていたので、今回の1.5時間分程度ではサンプルとして足りないかもしれません。
それと、計測誤差は-0.5℃から-2.5℃あたりにいるようです。これは位相から時間に計算するためのオフセットの値によるものです。適切な数値を設定すればゼロ前後に移動できます。
またこのグラフにはありませんが、風速は温度に関係なく-0.25m/sを示していました。これはセンサ2セットの距離に関係するもので、工作精度に影響を受けますが、プログラムでオフセットできます。とりあえず、温度に関係なく誤差が一定というのは期待が持てそうです。
今のところ温度やら風速やらはPC側で計算しているので、これをマイコン内で計算できるようにしたいな。でもその前に3軸化したい。
0 件のコメント:
コメントを投稿