434測距問題に対するRF送信機と受信機

生徒として私は距離測定に434 MHzのRFトランスミッタとレシーバのペアを使用するプロジェクトに取り組んでいます。私は、この技術はこれには適していないことを知っていますが、外部の制約のためにこの問題に対処しなければなりません。

受信機は次のとおりです。 RFリンクレシーバ - 4800bps(434MHz)です。

私はこれらの受信機がどのように機能するかについて少し研究しましたが、ビットごとにそれらを理解することは圧倒していました。

距離測定には信号強度を使用します。そこで、ある送信機から受信機に信号のパルスを送信しようとしました。受信した信号の振幅がある値よりも高い場合(3Vと言う)、2つのパルスの間のギャップに信号を戻します(トリガー信号と呼ぶ)。

問題は、これらの信号が同じ時間にないにもかかわらず、互いに影響を及ぼしているように見えることです(つまり、我々が話している重ね合わせではありません)。送り返された信号がある場合、次のパルスはより低くなり、その結果、誤った距離測定が行われる。

データを送信するためにこれらの信号を使用していないという難しさが(私にとってはそう思われますが)、距離測定に使用しています。私の考えは、長すぎるパルスを使用しており、受信機のACカップリングがそれを許容しないということです。しかし、私は安全にそれを言うには十分な電気知識がありません。

私はこれが説明的ではないことを知っていますが、私はそれをより記述的にする方法を知らないので、必要に応じてより多くの質問に答えることができます。

1
追加された 編集された
ビュー: 20
これは、応答を送信することが受信機のAGCをデセンサイズすることができるように聞こえる。おそらく、ある時間の間隔を隔てて一方向にパルスのペアを送信し、第2の受信パルスの振幅が時間遅れに基づいてどのように変化するかを見ることによって、いくつかのテストを実行することができます。おそらく、単に実験頻度を減らしてAGCに回復のための時間を与えるか、または何らかの他の手段(2.4GHz?IR?)で応答を送信することができます。あなたのRSSI距離のアイデア(例えばBTLEチップ)のさらに優れた実装は印象的です。
追加された 著者 rossp,
それはあなたが望むAGCゲインに依存します。私は、新しい送信パルスの前に、各応答パルス(または機会)の後に長く待って、あなたがAGCをリセットさせることができると考えていました。代わりに、より短い時間を待ち、AGCをアクティブに保つことを試みることが考えられます。これを行うには、常に返信を送信する必要があります。おそらく、出力パルスと応答の間の可変遅延で結果をエンコードすることができますが、応答から次の出力パルスまでの時間を常に同じにします。あなたが完全に返事を逃した場合は、知られていないAGC状態の次のものを無視しなければならないでしょう。
追加された 著者 rossp,
RXモジュールについてお読みですか?それはAGC(自動ゲインコントロール)を持っていますか?そうであれば、ノイズレベルまでゲインが上がります。信号が検出されると、それは「戻す」必要があります。
追加された 著者 Mikael Patel,
これはCosaのために思いついたRF433 Virtual Wireのための単純なRSSI実装です。 github.com/mikaelpatel/Cosa/blob/master/ライブラリ/ VWI /… をご覧ください。メッセージを受信した後、受信機は、「回復する」時間、すなわち雑音レベルに同調するAGCを測定する。 TXが弱いほど曲調は速くなりました。
追加された 著者 Mikael Patel,
詳細はどこで読むことができますか?それとも何ですか?
追加された 著者 Bytemain,
実験の頻度を減らすことはどういう意味ですか?ここで合理的なものを増やしていないのですか?したがって、ノイズレベルを新しい値に設定することはできませんか?
追加された 著者 Bytemain,

1 答え

AGCに問題がある可能性は非常に高いです。測定を遅くしてみてください。送信者は、1秒に1回以上のデータを送信しません。

このアイデアは、距離測定には完全には完璧ではありません。壁、反射、受信機のAGCなどの影響を受けて、受信電力の強さを測定します。スコープを持っている場合は、モジュールのピン3の波形を測定します(線形出力)。それは一定の電圧ではありません、私は恐れていますので、何らかの平均化も必要です。

あなたがAGCを持っていてもやっていくのは難しいことですが、AGCがどれくらいの期間解決する必要があるかを測定することです。 AGCは次のように動作します。信号を検出し、ある時間(たとえば2ms)以内に信号が完全な振幅を持つように増幅を変更します。

  • 送信機を駆動する信号パルスを2チャンネルのスコープと比較する
  • 受信モジュールのピン3の信号

運が良ければ、実際にピン3またはピン2の出力がトランスミッタの駆動パルスに比べて少し遅れていることがわかります。遅延は、距離に依存する受信機への入力信号の電力に依存する。

私は上記の原則を使用して、標準のAGC対応IR受信機から許容可能な距離センサーを作ることができました。

1
追加された
私は遅延が驚くほど正確であることを発見しました。しかし、まず、あなたの脈拍の立ち上がりを得るためのメカニズムが必要です。そのためには、digitalReadでピンの状態をチェックする単純なループが必要です。また、立ち上がりエッジが見つかると、タイミングを開始することができます。しかし、モジュールのピン3のアナログ値を読み込む予定はありませんか?
追加された 著者 joeqwerty,
私たちは今日2msのパルスと100msのギャップを送って問題を回避しました。これはスコープレベルの問題を解決するようです。 Arduinoの遅れは正確なタイミングで2msのパルスを読み取るには正確ではないようですが、それは別の問題です。
追加された 著者 Bytemain,