2017年9月7日木曜日

リレーで100V制御(その2)



 測定のために固定できる物ないか100均の品を眺めていたら、こんな箱見つけて、取手部分の穴にちょうど収まりそうな感じがしたので買ってきた。
合わせてみたところ、ほんの少し穴が小さかったのでやすり削った。削ったのは0.5mmほど。

こんな風にセット。反対側の穴は紙を貼り付けて塞ぎました。
内側の長さは19.5cmほど。









HC-SR04で距離測定で作成したプログラムで計測

結果はArduinoシリアルモニタからコピーできなかったため、Linuxのscreenコマンドから取得

screen /dev/ttyACM1 115200
20.22 cm
20.23 cm
20.22 cm
20.20 cm
20.19 cm
20.24 cm
20.23 cm
20.20 cm
20.20 cm
20.20 cm
停止は Ctrl+a k
Really kill this window [y/n]


平均20.21cm 誤差0.7cm
0.7cmの誤差は音速を340m/s固定にしているため。
温度も考慮した近似式「331.5 + 0.6 × 温度(℃)」
19.5cmに補正すると 328.94m/s 室温がマイナスになった。。。
多分LANケーブルで3m延長しているせいと思う。

プログラム修正
1cm当たりの音波の時間(マイクロ秒)を29.4から30.4に変更

  // TIMEOUT  : 測定距離 × 往復 × 1cm当たりの音波の時間(マイクロ秒) + Trigの時間
  //  24720μ : 400cm * 2 * 30.4 + 400
  double duration = pulseIn(SONIC_ECHO, HIGH, 24720);
  // 往復時間と音速から距離算出
  // 距離 = 時間 / 2 * 30.4
  return duration / 60.8;


再度測定(ツイストペア3m)
19.54 cm
19.54 cm
19.55 cm
19.52 cm
19.56 cm
19.52 cm
19.55 cm
19.52 cm
19.56 cm
19.52 cm

平均19.54cm、これで良さそう

お次はより線になっていないフラットタイプ2.5m


測定(フラット2.5m)
19.56 cm
19.54 cm
19.53 cm
19.68 cm
19.54 cm
19.61 cm
19.54 cm
19.54 cm
19.53 cm
19.56 cm

平均19.56cm、それほど差はなさそうだけど、19.68とか19.51とかばらつきが出ている。
やっぱり少しばかりノイズが乗るのかな?

LANケーブルで延長したうえで精度求める場合は、取得するサンプル数増やすか、I2C接続にしてデータ測定結果自体返す方がよいと思う。

今回は人がいるか感知するだけなので、この精度で十分なのでこれをそのまま使おうと思う。


0 件のコメント:

コメントを投稿