🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

2回答

6942閲覧

Arduinoでリアルタイムに長さを測りたい

honda300en

総合スコア14

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2019/10/13 17:19

編集2019/10/14 08:22

お世話になります。

手を左右に素早く動かす程度の物体の移動(ポジション)を正確に記録する装置を作っています。
ハードは素人なので、Arudino + 秋月のセンサーキット程度でできればと思いましたが、距離センサーで見つかるのは光学式の大雑把な距離のものばかりで用途に合うものが見つけられませんでした。

次に検索して「Arudinoでデジタルノギスの値を読み出す」という実例を見つけ、これならと思いましたが、やってみるとデータが毎秒8回程度しかレポートされず、速度が十分ではありません。
改めて長さを測るものを探すと下のようなものが見つかりました(速度は分からないのですが・・・)。

https://www.amazon.co.jp/dp/B07MZMD6K4/
https://www.amazon.co.jp/dp/B07M8SR8W3/
https://www.amazon.co.jp/dp/B07G5NBTXY/

Arudino でこれらのセンサーから値を読み取る方法があれば知りたい、というのが質問です。接続のために必要なインターフェイス基盤や読み出しに使うライブラリなど具体的に知りたいです。また上の製品に限らず、他の方法でも結構ですので Arudino で高速に位置を取得する案がありましたらご提案頂きたいです。

よろしくお願い致します。

追記です。

**リニアポジションセンサー、直進変位センサー、**といったものが見つかりました。
https://www.amazon.co.jp/dp/B07KLWVGY4/
これで良いような気がしています。小数点以下の精度より、高速で時間変化が読み出せる方が重要です。
Arduino に接続して使う上で注意する点などありましたらアドバイスお願いいたします。

【数値も見直しました】
検出範囲(50cm?1m?) → 5cm程度
位置検出の精度(μm/mm/cmオーダー) → mmか、0.1mm精度程度
検出レート(100μs/ms/10msオーダー) → msオーダー
接触?非接触? → 接触式(非接触でも対応可)
予算(具体的な額を) → 1万円以下希望、2万円が限度

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

thkana

2019/10/13 21:03

いろいろな仕様をまずはちゃんと数値化してみては。感覚的な話をされてもあなたはいいけど他人にはわかりません。 検出範囲(50cm?1m?) 位置検出の精度(μm/mm/cmオーダー) 検出レート(100μs/ms/10msオーダー) 接触?非接触? 予算(具体的な額を) Arduinoでなければならない理由(リニアスケールでシリアル出力のものとかあったらそれではいけないのか) もちろん、私があなたの必要な答えを知っている保証はありませんけど。
coco_bauer

2019/10/14 04:02

デジタルノギスを使えるということは、ノギスを固定しておいて、スライダを手で動かすというような使い方を想定しているのでしょうか? 測定する”物体"と、測定装置(デジタルノギスのスライダ等)は、どのようにして固定されるのでしょうか? 何を基準にして「実用になる」か否かの判断するのでしょうか? == 「接触?非接触? → こだわらない」って、測定装置の設計からすべて”丸投げ”って事ですか?????
honda300en

2019/10/14 05:07

thkana様 整理して頂いてありがとうございます。
guest

回答2

0

20cmの範囲を0.1mm精度だとレーザー距離計...は高いし、とか思っていたのだけれど、5cmに対して0.1mmなら0.2%程度だからなんとかなりそう感が出てきます。

そのリニアポジションセンサーってやつは電気的には単なる可変抵抗みたいですから、AD変換してやるだけですね。ノイズなどの影響はあるのでいろいろ追求すると結構大変かもしれませんが、一応Arduino UNOのADが10bit/1024Stepですから0.1%程度。耐久性とかはわかりませんが、とりあえず使えそうに思います。

投稿2019/10/14 09:11

thkana

総合スコア7703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

honda300en

2019/10/14 12:21

ありがとうございます。 なにぶんハードは素人で、見つけたリニアポジションセンサーも全く見当違いで「いや、それは使えませんよ」という反応を頂くかもという心配さえありまして・・・、とりあえず使ってみても良さそうというお言葉を頂いて心強いです。さっそく注文して入試シてみようと思います。 ノイズはソフトの方でサンプリング数を増やしたり、キャリブレーションもするようにして見たいと思います。 ありがとうございました!
guest

0

ベストアンサー

まず、提示されてるリニアスケールでもデジタルノギスの読み出しと同じで、同じような結果しかならないと思われます
これは、エンコーダ信号をソフトウエアで読もうとしてるためで、これでは読み取り速度が出ません
ということで、ここらへんどうにかするには、信号の読み取り部をカウンタ回路などを使って専用のハードウエアを用意する必要があります
ぶっちゃけコレを実装しようとするなら、Arduinoでは力不足となりますんで、もうちょいパワーのあるMPUを選定する必要がありますね

投稿2019/10/13 22:26

y_waiwai

総合スコア88040

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

honda300en

2019/10/14 02:28

回答ありがとうございます。 現状のボトルネックはノギス側で、値が8Hzでしかレポートされません。また、性能が不足する場合は32bit版の Arduino 考えていますが・・・、ご指摘の点を考えますとリニアスケール製品は距離の値がレポートされる訳ではなくて、エンコーダー信号が来てArudinoでカウントするという事でしょうか(そこが分かっていませんでした)、確かにそれでは高速に動かされるとカウントが追いつかないような気がします。 アドバイスを受けて私に出来そうなのは、 ・カウント単位が大きく、取りこぼしにくい製品を探す。 ・32bit版のArduinoでどこまで対応できるか試す。 ・カウンタ回路でカウントして値をレポートするような製品を探す。 という感じでしょうか、アテはありませんが調べてみます(その前にエンコーダー信号をArduinoに接続する方法から分かってないのですが)。 当たり前の事が分かってない質問で申し訳有りませんが、回答頂いて知らない事がいろいろと分かって助かります。ありがとうございます。
y_waiwai

2019/10/14 02:56

いくら高性能のCPUもってきても無駄です そのノギスなりリニアスケールなりがどうやって距離表示してるのか考えましょう で、距離取得するのはカウンタ回路なり持ってくれば済みますが、その取得したデータはどうするんでしょうか。 Arduinoなら、せいぜいシリアルで出力するしかないですが、それでいいんでしょうか。 # まあ、その前にカウンタ回路からのデータをどうやって取り込むかが問題ですが
honda300en

2019/10/14 04:34

ありがとうございます。了解しました。 Arduinoで取得したデータは液晶画面にグラフ表示、SDカードに記録等します。他のセンサーも組み合わせるのでこの部分は自作したく、Arduinoを利用しています。 Arudinoと通信するカウンタ回路を自分で設計するとなると手に余り、私自身がここで質問させて頂けるレベルに無いので、すいません。今後の課題とさせてください。 Arduino はアマチュア向けにセンサー類を利用しやすい形にしたモジュールがあったり、市販の製品を流用して工作した事例がネット上で見つかりますので、それをマネする等してやっていました(「重さ」はHX711モジュールを利用することで値を得ています)。「長さ」についても同様に解決できないかと考えておりました。
y_waiwai

2019/10/14 09:38

リニアスケールのセンサを直接読み出すのではなくて、センサに付いてるコントローラから計測値を吐き出してくれるやつを探してくるって話ならなんとかなりそうだけど、果たしてお望みのようなものがあるのか、ってはなしになりますね 提示のリニアスケールも、何らかの方法で計測値を出してくれるかとは思いますが、どういうものかはマニュアルでも取り寄せて見てみないとわかりませんね
honda300en

2019/10/14 09:50

ハイ、「センサに付いてるコントローラから計測値を吐き出してくれるやつ」 これがデジタルノギスなのですが、遅いでのより高速な製品 or 別の方法を模索していました。 見つけたリニアスケールは(私が知らなかっただけで)特殊ものではなく、要するにボリューム(リニアな可変抵抗)のようですので、Arduino からでも使えるのではないかと考えています。 https://ja.aliexpress.com/item/32921022169.html
y_waiwai

2019/10/14 10:15

ああ、そいつなら可変抵抗器なので行けそうですね。 あとは精度がどんだけ出せるかってことになりますが
honda300en

2019/10/14 12:16

細かい精度より動きの記録を重視しているので、あとは実際に買って試して見ようと思います。 どんなセンサーがあるのかも分からずにいましたので、最初のものはエンコーダー型で自分が扱うのはハードルが高そうですが、それも相談させていただく中で分かった事で、お陰で他の製品に目を向けて候補が見つかった形です。やり取りの中で自分でも整理が出来ました。 お付き合い頂きましてありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問