レヌザヌルヌレットの仕組みリバヌス゚ンゞニアリング

画像 前の蚘事で、䜍盞レヌザヌ距離蚈の配眮方法に぀いお説明したした。 今床は、家庭甚レヌザヌルヌレットがどのように機胜するかを理解したす。 それを理解するこずは、䞭身を芋るだけでなく、回路党䜓を完党に埩元し、マむクロコントロヌラ甚の独自のプログラムを曞くこずです。



レヌザヌルヌレットの原理



ほずんどのレヌザヌルヌレットは、パルス飛行時間、TOF方匏ではなく䜍盞方匏を䜿甚しお距離を枬定したす。



この蚘事の敎合性のために、前の蚘事の理論の䞀郚を匕甚したす。

画像 䜍盞法では、パルス法ずは異なり、レヌザヌは連続的に動䜜したすが、その攟射は特定の呚波数の信号通垞は500 MHz未満によっお振幅倉調されたす。 レヌザヌの波長は倉わらないこずに泚意しおください500-1100 nmの範囲です。



物䜓から反射された攟射線は光怜出噚で受信され、その䜍盞はレヌザヌからの基準信号の䜍盞ず比范されたす。 波の䌝播に遅延があるず、䜍盞シフトが発生し、これが距離蚈によっお枬定されたす。



距離は次の匏で決定されたす。





D = f r a c c 2 f c d o t f r a c v a r p h i 2 p i     







ここで、cは光の速床、fはレヌザヌ倉調呚波数、phiは䜍盞シフトです。



この匏は、察象物たでの距離が倉調信号の波長の半分2 fに等しい未満の堎合にのみ有効です。



倉調呚波数が10 MHzの堎合、枬定距離は最倧15メヌトルになり、距離が0から15メヌトルに倉化するず、䜍盞差は0から360床に倉化したす。 この堎合の䜍盞シフトの1床の倉化は、物䜓の玄4 cmの倉䜍に察応したす。



この距離を超えるず、 あいたいさが生じたす。枬定された距離にいく぀の波の呚期が収たるかを刀断するこずは䞍可胜です。 あいたいさを解決するには、レヌザヌ倉調呚波数を切り替えおから、結果の方皋匏系を解きたす。



最も単玔な堎合は、2぀の呚波数の䜿甚です。䜎い堎合、物䜓たでの距離をほが決定したすただし、最倧距離は䟝然ずしお制限されたす、高い堎合、必芁な粟床で距離を決定したす-䜍盞シフト枬定ず同じ粟床で、高呚波を䜿甚するず、距離枬定の粟床が著​​しく高くなりたす。



䜍盞シフトを高粟床で枬定する比范的簡単な方法があるため、このような距離蚈の距離枬定の粟床は最倧0.5 mmに達する可胜性がありたす。 これは、高い枬定粟床を必芁ずする距離蚈-枬地距離蚈、レヌザヌルヌレット、ロボットに搭茉されたスキャン距離蚈-で䜿甚される䜍盞原理です。



ただし、この方法には欠点もありたす。垞時動䜜するレヌザヌの攟射パワヌはパルスレヌザヌの攟射パワヌよりも著しく䜎いため、長距離の枬定に䜍盞範囲ファむンダヌを䜿甚するこずはできたせん。 さらに、必芁な粟床での䜍盞枬定には䞀定の時間がかかり、デバむスの性胜が制限されたす。



前述したように、粟床を䞊げるには、レヌザヌ攟射の倉調呚波数を䞊げる必芁がありたす。 ただし、2぀の高呚波信号の䜍盞差を枬定するこずは困難です。 したがっお、䜍盞距離蚈では、ヘテロダむン信号倉換がよく䜿甚されたす。 このような距離蚈の構造図を以䞋に瀺したす。 私が怜蚎しおいるレヌザヌルヌレットはそのように構成されおいたす。



画像



距離蚈は、近い呚波数の2぀の信号を圢成する2぀の高呚波発生噚で構成されおいたす。 そのうちの1぀からの信号はレヌザヌに䟛絊され、もう1぀局郚発振噚からの信号は光怜出噚によっお受信された信号ず乗算されたす。 結果ずしお生じる信号は、䜎呚波LPFのみを通過させるフィルタヌに䟛絊されるため、差呚波信号のみがフィルタヌの出力に残りたす。 この信号の振幅は非垞に小さいため、マむクロコントロヌラヌに適甚する前に増幅する必芁がありたす。 倧きなゲむンで䜎呚波増幅噚を䜜成するこずは、高呚波増幅噚よりもはるかに簡単であり、これは局郚発振噚回路の利点でもあるこずに泚意しおください。



信号の䜍盞差は信号の䜍盞差によっお正確に枬定されるため 、蚭蚈にはもう1぀の信号、぀たり基準信号が必芁です。 䞡方のゞェネレヌタヌからの信号を乗算するこずにより埗られたす。 結果ずしお生じる䞡方の䜎呚波信号は、それらの間の䜍盞差を蚈算するレンゞファむンダヌマむクロコントロヌラヌによっお凊理されたす。



それずは別に、ほずんどのレヌザヌ距離蚈では、 アバランシェフォトダむオヌド APDが光怜出噚ずしお䜿甚されおいるこずに蚀及する䟡倀がありたす。 独自の内郚信号増幅機胜を備えおいるため、距離蚈の増幅噚ノヌドの芁件が軜枛されたす。 このようなフォトダむオヌドのゲむンは、䟛絊電圧に非線圢に䟝存したす。 したがっお、局郚発振噚信号によっおAPD電源電圧を倉調するず、信号の混合乗算がフォトダむオヌド自䜓で盎接発生したす。 これにより、距離蚈の蚭蚈を簡玠化し、ノむズの圱響を枛らすこずができたす。



同時に、アバランシェフォトダむオヌドには倚くの欠点がありたす。 これらには以䞋が含たれたす。





レヌザヌルヌレットリバヌス゚ンゞニアリング



画像 実隓サンプルずしお、Aliexpressの広倧な堎所にある「50M DIY Rangefinder」キットを䜿甚したした右偎に含たれおいるルヌレットの写真。 私が理解しおいるように、このセットはX-40レヌザヌルヌレットの内郚です珟圚は20ドルで販売されおいたす。 このキットを遞んだのは、デバむスの電子郚品が写真に写っおいたからです。 私の情報によるず、このルヌレットの回路は、ルヌレットU-NIT UT390B +、および他の䞭囜のレヌザヌルヌレットずレヌザヌ距離蚈モゞュヌルの回路に非垞に近いです。



テスト䞭、私は10 mの距離でのみルヌレットの動䜜を確認するこずができたしたが、圌女は非垞に困難な状況で、枬定時間は5秒以䞊でした。 私は、メヌカヌが宣蚀した50メヌトルは蚀うたでもなく、20メヌトルの距離を枬定するこずさえできなかったのではないかず疑っおいたす。



そのようなルヌレットのデザむンは䜕ですか



画像



写真からわかるように、それは非垞に簡単です。 構造的には、ルヌレットはレヌザヌ距離蚈ナニット、むンゞケヌタヌ、ボタン付きボヌドで構成されおいたす。 明らかに、最も興味深いのはレンゞファむンダヌナニットです。 これは次のように芋えたす。



画像



ボヌドの䞊偎には、STM32F100C8T6マむクロコントロヌラヌずSi5351デュアルPLLゞェネレヌタヌずいう2぀の䞻芁なレンゞファむンダヌマむクロ回路がありたす。 このチップは、最倧200 MHzの呚波数を持぀2぀の信号を生成できたす。 レヌザヌを倉調するための信号ず局郚発振噚信号を圢成するのは圌女です。 たた、ボヌドのこちら偎には、ミキサヌずリファレンスREF信号フィルタヌ、およびAPD甚の高圧電源アセンブリの䞀郚写真の䞊郚がありたす。



これは、距離蚈ナニットの底面です。



画像



写真からははっきりしないかもしれたせんが、実際には2぀のプリント回路基板がここに芋えたす。2぀目は非垞に小さく、垂盎に取り付けられおいたす。 この写真では、小さなスピヌカヌであるレヌザヌダむオヌドの結論を明確に芋るこずができたす圌は職堎で絶え間なくきしむので、埌ではんだ付けしたした。 さらに、ルヌレットの電源電圧を圢成するコンポヌネントがありたす。



干枉フィルタヌを内蔵したアバランシェフォトダむオヌドず受信信号の増幅噚が小さなスカヌフに配眮されおいたす。 これはこのボヌドがどのように芋えるかです



画像



右の写真は、ルヌレットレンズを通しおのアバランシェフォトダむオヌドの様子を瀺しおいたす。



次のステップは、ルヌレット方匏を埩元するこずです。 ボヌドは非垞に小さく、それほど耇雑ではありたせんが、倚局であるため、回路を埩元するプロセスはそれほど長くかかりたせんでした。

眲名されたコンポヌネントを備えたフォトボヌド



画像



画像



画像



䞭囜のオンラむンストアの1぀で、レヌザヌレンゞファむンダヌモゞュヌルバヌゞョン511F のプリント回路基板の写真を芋぀けるこずができたした。これは私のボヌドバヌゞョン512Aに非垞に䌌おいたす。 画像の解像床は非垞に䜎いですが、マむクロ回路の䞋の導䜓ずビアの䜍眮を瀺しおいたす。 将来的には、コンポヌネント番号に眲名し、導䜓を匷調したした。



画像



残念ながら、䞀郚のSMDコンポヌネントのラベル付けでは、名前を特定できたせんでした。 ほずんどのコンデンサの定栌は、基板から蒞発させなければ決定できたせん。 䞍正確に決定できるように、マルチメヌタで抵抗倀を枬定したした。



研究の結果、私はルヌレットのそのような構造図を埗たした



画像



電気回路をいく぀かのシヌトに分割したした。



画像

スキヌム1.マむクロコントロヌラヌ、電源、およびいく぀かの単玔な回路。



ここではすべおが非垞に簡単です-STM32マむクロコントロヌラヌ、そのバむンディングのいく぀かの芁玠、スピヌカヌ、キヌボヌド、いく぀かのロヌパスフィルタヌがここに瀺されおいたす。 たた、ルヌレットホむヌルの電源電圧を圢成するステップアップDC-DC電圧コンバヌタヌDA1チップも瀺しおいたす。



巻尺は、動䜜䞭に電圧が倉化する可胜性がある2぀のバッテリヌで動䜜するように蚭蚈されおいたす。 指定されたコンバヌタは、入力電圧VBATから3.5 Vの定電圧倚少異垞な倀を生成したす。 ルヌレットの電源をオン/オフするには、トランゞスタアセンブリDA2に組み立おられたノヌドが䜿甚されたす。 S1ボタンを抌すず、DC-DCがオンになりたす。その埌、マむクロコントロヌラヌは「MCU_power」ラむンの信号によっおDC-DCをオンに維持し始めたす。



枬定の1぀で、このDC-DCコンバヌタヌのチップを誀っお焌きたしたマルチメヌタヌプロヌブが飛び出しお脚を閉じたした。 マむクロ回路の名前を刀別できなかったため、はんだ付けを解陀し、倖郚電圧源からメゞャヌに3.5 Vを印加する必芁がありたした。



ボヌドの端の䞋郚には、デバッグたたはテストずしお䜿甚できる8぀の長方圢のパッドがありたす。 PMxパタヌンでマヌクしたした。 図は、それらがすべおマむクロコントロヌラの端子に接続されおいるこずを瀺しおいたす。 その䞭にはUARTラむンがありたす。 ネむティブファヌムりェアはこれらのラむンでアクティビティを実行せず、TXラむンはオシロスコヌプで刀断しお、入力甚に構成されたす。

ボヌドの端にも6぀のコンタクトホヌルがありたす。 図では、「Px」ずマヌクされおいたす。 ルヌレットの電力線ずSTM32プログラミング線が衚瀺されたす。



画像

スキヌム2.ノヌドPLLゞェネレヌタヌ、およびレヌザヌダむオヌドの制埡ナニット。



Si5351ゞェネレヌタヌPLLマむクロ回路は矩圢信号を生成するため、䞍芁な高調波を陀去するために、PLL出力からの信号が2぀の同䞀のバンドパスフィルタヌに適甚されたす。 ダむオヌドD1に組み蟌たれたシグナルミキサヌも瀺されおいたす。このミキサヌからの信号は、䜍盞差を枬定する際の基準ずしお䜿甚されたす。



回路からわかるように、PLLを䜿甚した信号の1぀「LASER_signal」は、倉換なしでレヌザヌダむオヌドD3に出力されたす。 䞀方、レヌザヌの明るさレヌザヌを流れる電流の量によっお決たりたすは、DA3チップずその呚蟺郚品に組み蟌たれたアナログアセンブリを䜿甚しお安定化されたす。 このナニットは、レヌザヌに組み蟌たれたフォトダむオヌドから実際のレベルのレヌザヌ茝床を受け取りたす図には瀺されおいたせん。 laser_powerラむンを䜿甚しお、マむクロコントロヌラヌはレヌザヌを完党にオフにし、マむクロコントロヌラヌのDACに接続されたline10ラむンを䜿甚しお、レヌザヌの茝床を制埡できたす。 オシロスコヌプによる調査では、ルヌレットはこのラむンで垞に1.4 Vの倀を維持し、どのような条件䞋でも倉化しないこずが瀺されたした。



画像

スキヌム3. APD電源ノヌドずAPDを備えた信号増幅噚。



巊偎には、フォトダむオヌドアンプDA5の䟛絊電圧を圢成する線圢電圧源がありたす。 この超小型回路は3.3 Vの電圧を生成するため、その入力の電圧は3.3 Vより高くなければなりたせん。私の知る限り、これが回路の残りの郚分が3.5 Vで駆動される理由です。



以䞋は、DA4チップ䞊に組み立おられ、アバランシェフォトダむオヌド甚に高電圧> 80 Vを生成するステップアップDC-DCコンバヌタヌです。 マむクロコントロヌラヌは、コントロヌラヌのDACに接続されたラむン「MCU_APD_CTRL」を䜿甚しお、この電圧の倧きさを倉曎できたす。 DA4チップの名前を特定できなかったため、APDの電圧が制埡信号のレベルにどのように䟝存するかを実隓的に決定する必芁がありたした。 この䟝存性は、制埡信号の倧きさが増加するず、出力電圧が䜎䞋するため、䜕らかの圢で奇劙になりたす。 さらなる実隓では、察応する出力電圧を知っおいるいく぀かの䞀定のDAC倀を䜿甚したした。



図3の右偎は、小さな回路基板の図です。 行M1〜M8は、䞡方のボヌドを接続するパッドを瀺しおいたす。 D6はアバランシェフォトダむオヌドAPDです。 䜕らかの方法でマヌクされおいないため、その名前ず特性を刀別するこずはできたせん。 私はそれがLCC3ケヌスを持っおいるず蚀うこずができるだけです。



ラむンM8を介しおAPDカ゜ヌドに高い盎流電圧が印加されたす。 たた、ラむン "APD_modul"䞊のコンデンサC41を介しお、PLLからの高呚波信号が混入しおいるこずがわかりたす。 したがっお、APDでは、光信号ず「APD_modul」信号が混合され、異なる呚波数を持ちたす。 その結果、䜎域信号がAPD出力に珟れ、バンドパスフィルタヌコンポヌネントC55、R41、R42、R44、C58、C59から攟射されたす。



さらに、䜎呚波信号はDA6BオペアンプSGM8542によっお増幅されたす。 DA6B出力からの信号は、M2ラむンを介しおマむクロコントロヌラヌのADCに送信されたす。 たた、この信号はトランゞスタT6によっおさらに増幅され、ラむンM1を介しおマむクロコントロヌラに送信されたす。

このステップゲむンは、入力信号レベルが非垞に広い範囲で倉化するために必芁です。



さらに、APDの隣にR58サヌミスタが蚭眮されおおり、APDの枩床​​を確認できたす。 すでに述べたように、APDのパラメヌタヌは枩床に倧きく䟝存するため、この䟝存性をプログラムで補正するにはサヌミスタヌが必芁です。 動䜜䞭、APDが加熱され、これによっお特性が倉化したす。 たずえば、宀枩では、独自の加熱により、フォトダむオヌドのゲむンが2倍以䞊枛少したす。



受信信号のレベルが十分でない堎合、マむクロコントロヌラヌはAPDの電圧を䞊げ、それによりゲむンを䞊げたす。 ネむティブファヌムりェアでルヌレットの動䜜を確認しおいるずきに、出力電圧のレベルは80ず93 Vの2぀しかないこずがわかりたした。しかし、その時点でこれらのレベルがAPDの枩床​​に䟝存するこずに気づかず、ルヌレットが倉化するかどうかを確認したせんでした加熱時の制埡信号。



ボヌドの写真は、制埡領域があるこずを瀺しおいたす。 図ずボヌドに「TPx」ずマヌクしたした。 それらの䞭には





プログラミング



コントロヌラのネむティブファヌムりェアで䜕かを行う前に、ロゞックアナラむザを䜿甚しお、I2Cバスで発生するSTM32ずPLL間の亀換を削陀するこずにしたした。 これを行うには、バスのプルアップ抵抗噚にワむダをはんだ付けしたした。



画像



䞊蚘のマむクロサヌキット間の亀換を問題なくむンタヌセプトし、送信されたパッケヌゞ内のデヌタをデコヌドできたした。







結果の分析により、コントロヌラヌは垞に情報をPLLに曞き蟌むだけで、䜕も読み取らないこずが瀺されたした。 信号レベルが良奜な堎合、1぀の枬定サむクルには玄0.4秒かかりたすが、信号レベルが䜎い堎合、枬定にはさらに長い時間がかかりたす。



マむクロコントロヌラは、玄5 msの呚期で非垞に倧きなパッケヌゞをPLLに送信するこずがわかりたす。

倧量のデヌタがあったため、それらを分析するための特別なPythonプログラムを䜜成したした。 プログラムはパッケヌゞを決定およびカりントし、パッケヌゞのサむズ、パッケヌゞ間の時間を決定したした。 さらに、プログラムは、送信されたバむトが蚘録されるPLLレゞスタの名前を衚瀺したした。



結局のずころ、STM32は5 msごずにメむンPLLレゞスタパケット長51バむトを完党に䞊曞きしたす。その結果、PLLは䞡方の呚波数を倉曎したす。 ルヌレットはPLLの初期化を実行したせん。぀たり、送信デヌタのパケットは完党なPLLコンフィギュレヌションを䌝送したす。 信号レベルが良奜な堎合、枬定サむクルは64回のデヌタ送信で構成されたす。



次に、パケットで送信されたデヌタに基づいお、プログラムに呚波数蚈算を远加したした。 枬定プロセス䞭、ルヌレットは4぀のレヌザヌ倉調呚波数を䜿甚するこずが刀明したした。





局郚発振噚呚波数2番目のPLL出力の呚波数は、垞にレヌザヌ倉調呚波数より5 kHz䜎くなっおいたす。



どうやら、4サむクルのスむッチング呚波数各5ミリ秒により、距離の単䞀の決定が可胜になりたす。 したがっお、64サむクル埌、ルヌレットは16の距離枬定を実行し、その埌、結果を平均化しおフィルタヌ凊理するこずにより、枬定粟床を向䞊させたす。



次に、ルヌレットマむクロコントロヌラヌ甚のプログラムの䜜成を開始したした。



プログラマをルヌレットに接続した埌、コンピュヌタヌはマむクロコントロヌラヌを芋぀けられたせんでした。 私の知る限り、これはネむティブファヌムりェアではSWDむンタヌフェむスがプログラムで無効にされおいるこずを意味したす。 NRSTプログラマヌラむンをルヌレットに接続し、ST-LINKナヌティリティ蚭定で「リセット䞭に接続」モヌドを遞択するこずで、この問題を回避したした。 その埌、コンピュヌタヌはコントロヌラヌを怜出したしたが、予想どおり、ネむティブファヌムりェアは読み取りから保護されおいたした。 プログラムをコントロヌラヌに曞き蟌むには、コントロヌラヌのフラッシュメモリを消去する必芁がありたした。



たず、私のプログラムでは、距離蚈のアナログ郚分の電源をオンにし、レヌザヌをオンにしお電流を蚭定し、APD䟛絊電圧をオンにするこずを実珟したした。 すべおのストレスが正垞であるこずを確認した埌、PLLを詊すこずができたした。 テストのために、以前にルヌレットから受け取ったデヌタのPLLにレコヌドを実装したした。



その結果、プログラムを開始した埌、5 kHzの呚波数の信号がコントロヌルポむントに珟れ、その振幅はレヌザヌが照射しおいる物䜓のタむプに明らかに䟝存しおいるこずがわかりたした。 これは、すべおのアナログ電子機噚が正垞に機胜しおいたこずを意味したす。



その埌、ADCを䜿甚したアナログ信号キャプチャをプログラムに远加したした。 信号の䜍盞差を枬定するには、マむクロコントロヌラヌがメむン信号ずリファレンス信号のレベルを同時に、たたは䞀定の遅延でキャプチャする必芁があるこずに泚意しおください。 STM32F100では、ADCスキャンモヌドを䜿甚しお埌者のオプションを実装できたす。 この堎合、DMAを䜿甚しおADCからメモリにデヌタをキャプチャするこずは論理的であり、デヌタを特定のサンプリングレヌトでキャプチャするには、いずれかのタむマヌからの信号によっおADC倉換をトリガヌする必芁がありたす。



実隓の結果、私は次のキャプチャパラメヌタを決定したした。



-ADCのサンプリング呚波数-50 kHz、

-サンプル数は250です。

-合蚈信号キャプチャ時間は5ミリ秒です。

-コントロヌラプログラムは、キャプチャされたデヌタをUART経由でPCに転送したす。



キャプチャしたデヌタを凊理するために、Cで小さなプログラムを䜜成したした。



画像



青いグラフは受信信号、オレンゞのグラフは基準信号ですこのグラフの振幅は20倍に増加しおいたす。



以䞋のグラフは、受信信号のFFT倉換の結果を瀺しおいたす。



FFTを䜿甚するず、信号の䜍盞を決定できたす。信号の䜍盞スペクトルを蚈算し、そこから5 kHzに察応するポむントの䜍盞倀を遞択する必芁がありたす。 画面に䜍盞スペクトルを衚瀺しようずしたしたが、ノむズのように芋えるため、拒吊したした。



同時に、実際には、メむンずリファレンスの2぀の信号がマむクロコントロヌラヌに到達したす。 これは、FFTを䜿甚しお5 kHzの呚波数で各信号の䜍盞を蚈算し、䞀方の結果から他方を枛算する必芁があるこずを意味したす。 結果は、距離を蚈算するために䜿甚される望たしい䜍盞差です。 私のプログラムは、スペクトルグラフの䞋にこの倀を衚瀺したす。



明らかに、FFTを䜿甚するこずは、単䞀呚波数での信号の䜍盞を決定するのに最適な方法ではありたせん。 代わりに、 Goertzelのアルゎリズムを䜿甚するこずにしたした。 りィキペディアを匕甚するには

Goertzelアルゎリズムは、再垰フィルタヌ圢匏の離散フヌリ゚倉換DFTの特別な実装です。... DFTのすべおの呚波数成分を蚈算する高速フヌリ゚倉換ずは異なり、Goertzelアルゎリズムでは、1぀の呚波数成分の倀を効率的に蚈算できたす。


このアルゎリズムは実装が非垞に簡単です。 FFTず同様に、耇雑な結果を返すこずができるため、信号の䜍盞を蚈算できたす。 このアルゎリズムを䜿甚する堎合、メむン信号ず基準信号の䜍盞を蚈算しおから、それらの差を蚈算する必芁もありたす。

PC甚の同じプログラムを䜿甚するず、Goertzelアルゎリズムを䜿甚しお䜍盞差ず信号振幅を蚈算できたす。 実隓結果は、良奜な信号レベルで、䜍盞差の枬定粟床が0.4床20回の枬定でRMSに達するこずを瀺したした。



次の段階で、マむクロコントロヌラヌ甚のプログラムを䜜成し、それ自䜓が3぀の異なる倉調呚波数の信号の䜍盞差を蚈算しGoertzelアルゎリズムを䜿甚、結果をPCに転送したした。 3぀の呚波数が䜿甚された理由-埌で説明したす。 蚈算はマむクロコントロヌラヌ自䜓で実行されるため、UARTを介しお倧量のデヌタを転送する必芁がなく、枬定速床が倧幅に向䞊したす。



PC甚のプログラムが䜜成され、受信したデヌタをキャプチャしおログに蚘録できるようになりたした。



この段階で、䜍盞差の枬定結果に察するアバランシェフォトダむオヌドの枩床の匷い圱響に気付きたした。 さらに、受信した光信号の振幅も結果に圱響するこずに気付きたした。 さらに、APDの䟛絊電圧が倉化するず、䞊蚘の䟝存関係が明瀺的に倉化したす。



正盎なずころ、研究の過皋で、いく぀かの芁因䟛絊電圧、光信号の振幅、枩床の䜍盞差ぞの圱響を䞀床に決定する䜜業は非垞に耇雑であり、理想的には倧芏暡で長期にわたる研究が必芁であるこずに気付きたした。 この研究では、さたざたな動䜜枩床をシミュレヌトする人工気象宀ず、結果に察する信号レベルの圱響を研究するための䞀連の光フィルタヌが必芁です。 光信号のレベルを自動的に倉曎できる特別なスタンドを䜜成する必芁がありたす。 枩床が䞋がるずAPDのゲむンが増加し、APDが飜和モヌドに入る皋床たで研究が耇雑になりたす。その出力での信号は正匊波から矩圢に倉換されるか、完党に消えたす。



私はそのような機噚を持っおいなかったので、より単玔な手段に自分を制限する必芁がありたした。 82 Vず98 VのアバランシェフォトダむオヌドUapdの2぀の動䜜電圧でのみレンゞファむンダヌの研究を実斜したした。すべおの研究は160 MHzのレヌザヌ倉調呚波数で実斜されたした。



私の研究では、光信号の振幅ず枩床の倉化が、䜍盞差の枬定結果に独立しお圱響するず考えたした。



受信した光信号の振幅を倉曎するために、フォトダむオヌドのレンズず重なる可胜性のあるシャッタヌが取り付けられた特別な可動テヌブルを䜿甚したした。







枩床の倉化に䌎い、すべおがより耇雑になりたした。たず、前述したように、APDには顕著な自己発熱効果があり、枩床センサヌによっお十分に監芖されおいたした。ルヌレットを冷华するために、ファンを取り付けたフォヌムボックスで芆い、䞊郚に冷氎が入った容噚を取り付けたした。さらに、バルコニヌでルヌレットを冷やそうずしたした玄10°Cでした。枩床センサヌからの信号レベルから刀断するず、どちらの方法でもほが同じAPD枩床が埗られたした。加熱するず、すべおが簡単になりたす-熱い空気の流れでルヌレットを加熱したした。これを行うために、クヌラヌに取り付けられた抵抗噚を䜿甚したした-気枩を調敎するこずができたした。



私はルヌレットにむンストヌルされたサヌミスタに関する情報を持っおいなかったので、ADCを床に倉換した結果を再集蚈するこずはありたせんでした。枩床が䞊昇するず、ADCの電圧レベルが䜎䞋したした。



結果は次のずおりです。





電圧が98 Vの堎合、䜍盞シフトの枩床䟝存性ADC単䜍が埗られたした。







枩床が倉化するず玄15〜40床、䜍盞差が30床以䞊倉化するこずがわかりたす。



82 Vの電圧では、この䟝存性はほが線圢であるこずがわかりたした少なくずも、枬定した枩床範囲では。



その結果、2぀のUapdに぀いお2぀のグラフを取埗し、枩床ず䜍盞シフトの関係を瀺したした。これらのグラフから、マむクロコントロヌラで䜿甚しお䜍盞差倀を修正する2぀の数孊関数を決定したした。したがっお、倖郚芁因の倉化が枬定の粟床に及がす圱響を取り陀くこずができたした。



次のステップでは、取埗した3぀の䜍盞差からオブゞェクトたでの距離を決定したす。たず、PCでこれを行うこずにしたした。



ここで問題は䜕ですか前述したように、倉調呚波数が十分に高い堎合、距離を決定しようずするず、距離蚈から特定の距離であいたいさが発生したす。この堎合、オブゞェクトたでの距離を正確に決定するには、䜍盞差だけでなく、この距離に収たる信号の敎数䜍盞数Nも知る必芁がありたす。



結果ずしおの距離は、匏によっお決定されたす。







D = 12N⋅λ+φ⋅λ2 π







ファクトリヌルヌレットプログラムの動䜜を分析するず、倉調呚波数が160〜195 MHzの範囲にあるこずがわかりたす。ルヌレット回路では、より䜎い呚波数でレヌザヌ攟射を倉調できない可胜性がありたすこれは確認したせんでした。぀たり、ルヌレットホむヌルの䜍盞差からオブゞェクトたでの距離を決定する方法は、単に倉調呚波数の高䜎を切り替えるよりも耇雑になるはずです。



倉調呚波数が異なるずいう事実のため、信号の敎数䜍盞の数は、堎合によっおは共通の倀Nを持っおいるかもしれたせんが、他の堎合はそうではありたせんN1、N2 ...。



私はこの問題を解決するための2぀のオプションしか知っおいたせん。



最初のオプションは、N倀の単玔な列挙ず、䜿甚される各倉調呚波数の察応する距離です。



そのような列挙の過皋で、最も䞀臎する距離を䞎えるようなNの倀が求められたす䜍盞差の枬定誀差のために完党な䞀臎は埗られない堎合がありたす。



この方法の欠点は、倚くの操䜜が必芁であり、䜍盞枬定゚ラヌの圱響を非垞に受けやすいこずです。



2番目のオプションは、倉調呚波数が近い信号のビヌトの効果を䜿甚するこずです。

距離蚈が波長を持぀2぀の信号倉調呚波数を䜿甚するようにしたすλ 1 そしお λ 2、十分に近い倀を有したす。オブゞェクトたでの距離で、党期間N1ずN2の数は互いに等しく、Nの特定の倀に等しいず仮定できたす。この堎合、次の方皋匏系を取埗したす。













{ D = 12N⋅はλ1+ φ 1 ⋅ λ 12 πD=12N⋅はλ2+ φ 2 ⋅ λ 22 π







それから、倀Nを導出できたす。





N = λ 2 ⋅ φ 22 π +λ1⋅φ 12個のπラムダ1 - ラムダ2







倀Nを受け取ったら、オブゞェクトたでの距離を蚈算できたす。



䞊蚘のステヌトメントが実行される最倧距離は、匏によっお決定されたす。





D m a x = 12 ⋅ラムダ 1 ⋅ラムダ 2| ラムダ2 - ラムダ1 |







この匏は、信号の波長が互いに近いほど、最倧距離が長くなるこずを瀺しおいたす。



同時に、指定された距離であっおも、このステヌトメントN1 = N2が満たされない堎合がありたす。



簡単な䟋を挙げたす。



させる λ 1 = 1.55 m個 そしお λ 2 = 1.5 m個 。

その堎合 D m a x = 11.6 m 。



しかし、同時に光が通る経路が1.53 mに等しい堎合、最初の波長ではN1 = 0で、2番目の波長ではN2 = 1で



あるこずがわかりたす。蚈算の結果、Nの倀は負です。



知識を䜿甚しおこの効果ず戊うこずができたす

ラムダ1 > ラムダ2 。

この堎合、方皋匏系を倉曎できたす。





{ D = 12N1⋅λ1+ φ 1 ⋅ λ 12 πD=12((N1+1)⋅λ2+φ2⋅λ22π)







この連立方皋匏を䜿甚しお、N1を芋぀けるこずができたす。



この方法の適甚には䞀定の特城がありたす-倉​​調信号の波長が互いに近づくほど、結果に察する䜍盞差枬定誀差の圱響が倧きくなりたす。このような゚ラヌが存圚するため、Nの倀は十分に正確に蚈算されない堎合がありたすが、少なくずも実際の倀に近いこずがわかりたす。



物䜓たでの実際の距離を決定するずき、れロを范正する必芁がありたす。それは非垞に簡単に行われたす-ルヌレットホむヌルから䞀定の距離に「0」ず芋なされ、光をよく反射するオブゞェクトがむンストヌルされたす。その埌、プログラムは各倉調呚波数の䜍盞差の枬定倀を保存する必芁がありたす。さらなる䜜業では、䜍盞差の察応する倀からこれらの倀を枛算する必芁がありたす。



距離を決定するためのアルゎリズムでは、162.5 MHz、191.5 MHz、193.5 MHzの3぀の倉調呚波数を䜿甚するこずにしたした。実隓の結果によるず、これは最適な呚波数の数でした。



私の距離決定アルゎリズムは、3぀のステップで構成されおいたす。



  1. 「れロ」距離ゟヌンの䜍盞差を確認したす。れロ校正に近い領域では、枬定誀差により、䜍盞差の倀が「ゞャンプ」する可胜性がありたす-0床から359床で、距離の枬定に倧きな誀差が生じたす。したがっお、3぀の䜍盞差がすべおれロに近いこずが刀明した堎合、枬定された距離はれロに近いず芋なすこずができ、そのため、Nの倀の蚈算を拒吊したす。



  2. 191.5 193.5 . , : Dmax=37.5 , . ( ).



  3. 162.5 191.5 .



    , N . .


その結果、PC甚の







このようなプログラムが埗られたしたこのプログラムを䜿甚するず、巻尺で送信されたデヌタ信号振幅、APD電圧、ADC単䜍の枩床、3぀の呚波数の信号䜍盞差倀、およびそれらから蚈算された物䜓たでの距離を衚瀺できたす。



「れロ」ボタンを抌すず、プログラム自䜓でれロ校正が実行されたす。



スタンドアロンのレヌザヌ距離蚈の堎合、距離ず反射係数が倉化するず信号レベルが倧きく倉化する可胜性があるため、信号ゲむンを倉曎できるこずが重芁です。マむクロコントロヌラヌプログラムでは、82 Vず98 Vの2぀のAPD電源電圧の切り替えによるゲむン倉曎を実装したした。電圧を切り替えるず、ゲむンレベルは玄10倍倉化したした。



2぀のADCチャネル「MCU_signal_high」、「MCU_signal_low」間の切り替えを実装したせんでした-マむクロコントロヌラヌプログラムは垞にチャネル「MCU_signal_high」からの信号のみを䜿甚したす。



次の段階-最埌の段階は、距離蚈算アルゎリズムをマむクロコントロヌラヌに転送するこずです。アルゎリズムは既にPCでテストされおいるずいう事実により、難しくはありたせんでした。さらに、れロキャリブレヌションを実行する機胜をマむクロコントロヌラヌプログラムに远加する必芁がありたした。マむクロコントロヌラは、このキャリブレヌションのデヌタをフラッシュメモリに保存したす。



信号キャプチャの原理が異なる2぀の異なるバヌゞョンのマむクロコントロヌラヌファヌムりェアを実装したした。そのうちの1぀では、ADCからデヌタをキャプチャする間、よりシンプルなマむクロコントロヌラヌは䜕もしたせん。 2぀目のファヌムりェアはより耇雑で、ADCからのデヌタがDMAを䜿甚しおアレむの1぀に同時に曞き蟌たれるず同時に、以前にキャプチャされたデヌタがGoertzelアルゎリズムを䜿甚しお凊理されたす。このため、単玔なバヌゞョンのファヌムりェアず比范しお、枬定速床はほが2倍に増加したす。



マむクロコントロヌラヌは、UARTを介しお蚈算結果をコンピュヌタヌに送信したす。



結果を分析するために、PC甚の別の小さなプログラムを䜜成したした。









結果



, , Open source .



. , , . , , , 60 , 5-10 .



, . 100 , .



もちろん、物䜓たでの距離や衚面の反射係数などの倖郚条件は、信号察雑音比、ひいおは枬定粟床に倧きく圱響したす。残念ながら、䜎すぎる光レベルでも、APDのゲむンを䞊げおもそれほど圹に立ちたせん。ゲむンを䞊げるず、ノむズレベルも䞊がりたす。



実隓䞭、アバランシェフォトダむオヌドの倖郚照明も干枉レベルを倧幅に増加させるこずに気付きたした。私が持っおいたモゞュヌルでは、すべおの電子機噚が開いおいるので、干枉を枛らすために、䜕か䞍透明なもので芆わなければなりたせん。



もう1぀の泚目すべき特城は、レヌザヌの光軞ずフォトダむオヌドのレンズが䞀臎せず、近距離<0.7 mで信号レベルが倧幅に䜎䞋するこずです。



原則ずしお、すでにこの圢匏では、ルヌレット゚レクトロニクスは、たずえばロボットの距離センサヌずしお、あらゆるプロゞェクトで䜿甚できたす。



ルヌレットの操䜜を瀺すビデオ







最埌に、ただどのルヌレットが芋぀かっおいたすか



ここでは、ネットワヌク䞊の情報を芋぀けるこずができる他のレヌザヌルヌレットの蚭蚈に぀いおお話したいず思いたす。





→ プロゞェクトファむル

→ レヌザヌ距離蚈モゞュヌルをArduinoに接続する手順



All Articles