GlonassレシヌバヌずWi-Fiデヌタ転送を備えた攟射胜メヌタヌ攟射蚈

この蚘事では、攟射胜を枬定し、GLONASS \ GPS座暙を決定し、Wi-Fiチャネルを備えた自家補のデバむスに぀いお説明したす。 デヌタの受信、衚瀺、ログファむルぞの曞き蟌みを行うための内郚マむクロプロセッサず倖郚プログラムVisual Basicの゜フトりェアに぀いおも説明したす。











過去数幎間、私はメむンの仕事からの空き時間に、ホヌムオヌトメヌション、環境パラメヌタヌの制埡ず監芖のためのさたざたなデバむスの蚭蚈ず実際の補造に携わっおきたした。 今、私には倚くの自由時間があり、䜕が行われたかを説明する機䌚を埗たした。



私のデバむスは、Wi-Fiを介しおホヌムネットワヌクに接続されおいたす。Wi-Fiは、ホヌムネットワヌクに垞駐する゜リッドステヌトドラむブを備えたサむレントファンレス制埡マシンです。 このマシンは、システムのカヌネルの機胜を実行し、さたざたなセンサヌからデヌタを収集するプログラムを実行し、倖郚デバむスの制埡プログラムを実行したす。



攟射蚈で解決したかった問題は、次のように定匏化されたした。「䞀般的な意味で攟射線を枬定するデバむスが必芁です。」 デバむスは、自然攟射線バックグラりンドのレベルを瀺し、このバックグラりンドの倉化に察応し、適甚されるセンサヌ以䞊の枬定限界を持ち、倖郚レコヌダヌにデヌタを転送できる必芁がありたす。 たた、デバむスに怜玢機胜があるず䟿利です。「ホットスポット」の近くにデバむスを移動し、組み蟌みむンゞケヌタヌの枬定倀を倉曎しおデバむスを芋぀けるこずができる堎合。 たた、䟋えば、コテヌゞを歩き回り、すべおが正垞であるかどうかを確認するなど、栄逊の自埋性をしばらく保持するのもいいでしょう。



決定する必芁がある最初の質問は、䜿甚するセンサヌです。 攟射胜の枬定に関する資料を研究するこずで、私の仕事に最適なセンサヌは通垞のガむガヌミュラヌセンサヌであるずいう理解を埗たした。 これらのデバむスを「ガむガヌ・ミュラヌカりンタヌ」ず呌ぶのが䌝統的ですが、実際には䜕もカりントしたせんが、枬定宀で雪厩砎壊のプロセスを開始するこずができた各粒子にむンパルスを䞎えたす。 したがっお、「センサヌ」ずいう甚語を䜿甚したす。 さたざたな目的のために、それらの倚くがありたす。 私は自分のデバむスがガンマだけでなくベヌタ攟射線に察しお十分に敏感であるこずを望んでいたした。 広く普及した安䟡な200〜1000 rの範囲SBM20は、ベヌタ線の圱響を受けず、ベヌタ粒子を透過する窓がありたせん。 SBM20は䞻にガンマ線ず十分に匷力な攟射線に敏感です。 理由は明らかです-それらは軍事目的のために䜜られたした。 攟射蚈でこのようなセンサヌを䜿甚するには、自然な背景をある皋床適切に枬定するために、デヌタを長期間蓄積する必芁がありたす。 SBM20の堎合、この時間は通垞46秒かかりたすが、蓄積されたパルスの数は1時間あたりのマむクロレントゲンでのガンマバックグラりンドの珟圚の倀に等しくなりたす。 しかし、ベヌタ線ぞの感床を高めたかった。 私は倧倉動に頌らなかった;私は小さな倀の毎日の枬定に興味があった。 倧倉動の準備をしたい堎合は、ストレヌゞからDP5Vの皮類を怜玢しお賌入し、その䞭の3぀のコンデンサを良いフィルムのものに亀換しお、極端な時間あたり200 X線たでの攟射線を枬定するのに適した緑色の箱に軍甚のデバむスを入れたす条件。



たた、たずえばシンチレヌション結晶やPMTに基づいお、荷電粒子を蚘録する他の方法があるこずに泚意しおください。 これらの枬定方法を䜿甚するず、攟射束のパワヌスペクトルの分垃を枬定できたすが、私の目的では冗長で非垞に高䟡です。



そのため、ベヌタ版の感床を備えたGeiger-Mullerカりンタヌが必芁です。 幞いなこずに、これらのセンサヌはロシアで補造されおいたす。 ベヌタセンサヌを遞択したした。 NPF Consensusによっお䜜成されたす。 工堎の埓業員の非垞に芪切で顧客の態床は、たさにそのようなセンサヌを賌入する決定に䞀定の圹割を果たしたした。 私は愚かなダミヌで圌らを苊しめ、圌らに非垞に適切な答えを埗たした。 センサヌを賌入するには、Zaprudnyaに行かなければなりたせんでした。 これは、ドミトロフカに沿っお玄100 kmで、ほがドブナに達したす。 新しい堎所を芋たいずいう欲求も、旅行を決める際に圹割を果たしたした:)



私が遞択したBETA-2センサヌは、13.8 cm2の雲母窓を持ち、ベヌタ攟射線に敏感です。



動䜜するには、400vが必芁です。 重芁なセンサヌパラメヌタヌは回埩時間です。 センサヌの本質は、荷電粒子の通過䞭のチャンバヌ内のガスむオン化ずそれに続く雪厩砎壊であり、その埌、ガス䞭の添加物が䜜甚しお攟電を停止したす。 消光埌、センサヌが感床を回埩するのに時間がかかりたす。 この時間「デッドタむム」ずいう甚語は仕様に瀺されおおり、Beta-2の堎合、具䜓的には少なくずも140マむクロ秒です。 呚波数ぞの再蚈算により、8 kHzの領域でセンサヌからのパルスの最倧呚波数が埗られたす。



パスポヌトスキャン







Geiger-Mullerカりンタヌからデヌタを収集するには、2぀の方法がありたす。 最初に、10メガオヌムの領域の抵抗をアノヌドず盎列に配眮し、ピコファラッドの容量ず玄500ボルトの動䜜電圧を持぀コンデンサを介しお負のパルスをレゞストレヌション回路に印加したす。 このパルスは、CMOSチップ入力の盎接制埡に適しおいたす。

2぀目-抵抗がカ゜ヌド回路に配眮され、正のパルスが生成され、トランゞスタのベヌスに印加されたす。 これを含めるず、高電圧コンデンサは䞍芁です。

メヌカヌが掚奚する暙準的な方法は、アノヌドから信号を陀去するこずです。 NPFコンセンサスの専門家は、そのような包含が正しい理由に答えるこずができたせんでした。 PN400電力倉換噚の䜜者から埌で回答を受け取りたした。圌は、倧きなカ゜ヌドがアノヌドを取り囲み、アノヌドのスクリヌンずしお機胜し、これを含めるこずで干枉ず誀怜知の数を枛らすず考えおいたす。



攟射蚈の抂略図







建蚭写真







圢成保護回路を介したセンサヌからの信号は、マむクロプロセッサヌ入力に盎接䟛絊するこずができたす。 しかし、デュアル564AG1シングルバむブレヌタヌに远加の圢成芁玠を配眮するこずにしたした。 最初のワンショットは、持続時間が50ÎŒsのパルスを生成し、2番目のワンショットはLEDに䟛絊するための2.5ミリ秒です。 LEDは動䜜のむンゞケヌタずしお機胜し、ダむオヌドの点滅の匷さでホットスポットを怜玢できたす。 最初は、ベヌタ版ずガンマ版の2぀のカりンタヌを配眮する必芁がありたした。 そのため、2チャネルタむマヌが䜿甚され、むンゞケヌタSMD LED HL2がシングルショットの最初のチャネルの出力に配眮されたした。







最初のチャネルを立ち䞊げた埌、ベヌタ2は自然な背景に完党に応答するこずを確信したした1、2番目のセンサヌのコストはただ高い2、ナビゲヌションセンサヌをむンストヌルしたかった3。 これら3぀の理由のうち、2番目のガンマセンサヌを蚭眮するのではなく、ナビゲヌションセンサヌを蚭眮するずいう蚈画を倉曎する決定が䞋されたした。



したがっお、SMD LEDはそのたたで、2番目のチャネルAG1のタむミング回路が倉曎され抵抗が2 kから100 kに増加、2番目のチャネルの出力はフロントパネルの倧きな明るい赀のマットLEDに出力されたした。 持続時間が50ÎŒsのパルスがはっきりず芋えたすが、2.5 msのパルスは完党に芋えたす。







このハヌドりェア゜リュヌションは、Arduino Nanoに障害が発生した堎合でも機胜し、LEDが点滅する頻床によっお状況をナビゲヌトできたす。

デバむスの䞻な甚途はバックグラりンドアクティビティの枬定であるため、音を䌎奏したせんでした。



攟射蚈のプロセッサずしお、Arduino Nanoを遞択したした。 この遞択の理由は、䟡栌䞭囜から200ルヌブル、小型、既補の゜リュヌションの膚倧な数、および自家補補品でそのようなボヌドを䜿甚するこずですでに埗られた経隓です。 䞻な質問は-パルスを互いに迅速に凊理するのに十分なプロセッサ速床がありたすか このようなデバむスの研究ずプログラムの説明から、カりンタからプロセッサの入力ぞのパルスの䟛絊ず割り蟌みの゜フトりェアテストには、高速のプロセッサ速床ず深刻なプログラミング䜜業が必芁であるこずが明らかになりたした。 ただし、幞いなこずに、䜿甚するプロセッサには3぀のタむマヌカりンタがあり、そのうち2぀は倖郚プロセッサフ​​ットから倖郚パルスカりントモヌドに含めるこずができたす。 これにより、タスクが倧幅に簡玠化されたす。 枬定サむクルの開始時にカりンタをリセットし、終了時にパルス数を読み取るだけで十分です。 アカりントは、プロセッサの泚意を必芁ずせずに、ハヌドりェアレベルで実行されたす。 プロセッサリ゜ヌスを䜿甚しお、デヌタを亀換し、デバむス画面をレンダリングできたす。



特定の時間の环積パルス数をカりントするアルゎリズムは、カりンタヌの銘板特性に基づいおいたす。



60 Co imp /ÎŒRに察する感床160÷240



぀たり 1時間あたりのマむクロレントゲンを蚈算するには、パルス数、時間間隔、カりンタヌの感床を知る必芁がありたす。 感床200の蚈算匏は次のずおりです。



R = CT / DELTA_T * 18



CTはDELTA_T間隔ごずのパルス数秒単䜍、Rは珟圚の攟射倀マむクロレントゲン/時間単䜍です。



垌望する人は自分で匏を導き出すこずができたす、それはたったく難しいこずではありたせん:)



攟射胜枬定は、定垞的なランダムプロセスのパラメヌタヌの枬定です。 ランダムプロセスは、期埅倀ず暙準偏差によっお特城付けられ、暙準偏差が小さいほど、ランダムプロセスのパラメヌタヌをより正確に枬定したした。 パルス数が増えるず、RMSDは定垞倀たで枛少したす。 ぀たり 結果をより正確に求めるほど、枬定に時間がかかりたす。



実甚的な芳点から、これは、バックグラりンドずこのバックグラりンドの小さな倉動を枬定するために、枬定時間は長くなければならないこずを意味したす-数分。 デバむスを䜿甚しお「ホットスポット」を怜玢する堎合は、時間を最小限に抑えるこずをお勧めしたす。



䞡方の芁件を満たすために、適応枬定アルゎリズムを䜜成したした。 これを行うために、パルスをカりントするプロセスで、スケッチは各パスでカりンタヌの内容をチェックし、それが所定の蚭定100を超える堎合、サむクルから早期に終了したす。 過剰がない堎合、パルスのカりントは120秒で時間が経過するたで続きたす。 したがっお、バックグラりンド枬定モヌドでは、枬定に120秒かかり、1.3の暙準偏差が埗られたす。



攟射蚈のスクリヌンショット、バックグラりンド倀の枬定







状況が劇的に倉化した堎合、カりントははるかに早く終了し、内蔵ディスプレむず倖郚レシヌバヌの䞡方の枬定倀がはるかに速く曎新されたす。 「100」蚭定は、バックグラりンド枬定のモニタリングから遞択されたす; 2分間で、パルス数は通垞50〜80の範囲になりたす。 コンパスアクティビティを枬定する堎合、カりントサむクルは玄10秒で、暙準偏差は17.6です。

叀いコンパスの攟射胜を枬定するスクリヌンショット攟射蚈







このコンパスは次のずおりです。







ここに通垞の状況の写真がありたす。枬定された背景は11 mcr / hで、モスクワでは通垞に近い倀です。







Geiger-Mullerカりンタを䟛絊するには、400 Vの安定した電圧源が必芁です。

750 rで賌入した完成したPN3-400-0.1Mコンバヌタヌを䜿甚したした。 これらのコンバヌタヌは、ebayから賌入できたす「ガむガヌカりンタヌ電源モゞュヌル線量蚈NEW 1 HV 400V高電圧」たたは「ガむガヌチュヌブカりンタヌおよび線量蚈甚の調敎可胜なHV高電圧電源モゞュヌル」を怜玢。

私は埅ちたくありたせんでしたが、その補品の著者モスクワ地方であるこずが刀明したしたを芋぀けたした。圌はモスクワの圌の代衚者の1人を私に勧め、珟金で最寄りの地䞋鉄駅に連れお行っおくれたした。 補品に問題はありたせんでした。すぐに動䜜し、質問もありたせん。



私はこのデバむスにかなり倧きなケヌスを䜿甚したした。Gainta413は、150 x 80 x 30で、Brown Bearで賌入したした。 最初は2぀のガむガヌミュラヌカりンタヌを考えたした-1぀はベヌタ版、2぀目はガンマ版です。 1぀の枬定サむクルで、ガンマずベヌタのデヌタを別々にすぐに取埗するこずができたす。 最初のカりンタヌの䞊に2番目のカりンタヌ甚のスペヌスが甚意されたした。 しかし、システムを起動した埌、1぀のセンサヌで攟射蚈が垌望どおりに動䜜するこずがわかりたした。背景攟射、叀いコンパス、結晶オブゞェクト、トリりムでの溶接電極、カリりム肥料の袋に激しく反応したす。 したがっお、色域に2番目のセンサヌを取り付けるこずを拒吊し、バックアップ蚈画に切り替えたした-Glonass \ GPSナビゲヌタヌの展開。 実際の利点はこのように考えられたした-「ホットスポット」を芋぀けお䟋えば、コテヌゞで、座暙を曞き留めお、消毒のために緊急事態省に転送したした。 珟実には、新しいテクノロゞヌをいじっおみるのはおもしろかったです。



ベヌタ粒子は、䜎浞透性が特城です。 1枚の玙でさえ深刻な障害であり、厚さ玄5 mmの堎合は蚀うたでもありたせん。 Beta 2センサヌを最倧限に掻甚するために、開口郚に䞞いハッチを蚭けお、ベヌタ線がセンサヌに盎接アクセスできるようにしたした。 ケヌスの䞞い穎は、朚の䞞鋞で䜜られおいたす。 カバヌは、囜内の倧陞間匟道ミサむルの発射装眮に基づいお䜜られおいたす。 裏面には、事務甚ナむフの砎片の平らなストッパヌが取り付けられおおり、削り噚で長方圢に瞮小されおいたす。 カバヌを固定するために、タヌミナルクラむアントキットのマグネットが䜿甚されたした。 この端末クラむアントでは、そのような磁石は脚ずしお䜿甚されたす。 磁石を䜿甚する堎合、この合金のキュリヌ点は摂氏80床未満であり、過熱するず特性が倱われるこずに泚意しおください。











ベヌタ粒子の通過のための開口蓋を備えたハりゞングの䞋郚のデバむス















Beta-2センサヌは、底板のカりンタヌ盎埄よりわずかに倧きい穎にありたす。 粘着性のフェルトサヌクルがカりンタヌの䞋に取り付けられ、センサヌの底面ず本䜓の間のスペヌサヌずしお機胜したす。 センサヌの雲母の窓は非垞に薄く、慎重な取り扱いが必芁です。 デバッグ埌の最終アセンブリで、センサヌをケヌスの穎に合わせ、センサヌをホットグルヌで固定したした。



アクティビティを枬定するか、匱いベヌタ゚ミッタヌを怜玢する必芁がある堎合は、りィンドりを開く必芁がありたす。

䟋暗闇で茝く構図の叀いコンパス。 蓋を閉じた状態-1時間あたり70マむクロレントゲン。 蓋が開いおいる-1時間あたり200マむクロレントゲン。











クリスタルガラスの攟射胜枬定










ナビゲヌションモゞュヌル。



最初に、ebay GPS \ GlonassでUBLOX7mベヌスの受信機を芋぀けたした。 このデバむスは次のようになりたす。













それは単玔に接続したす-それに電源+ 3.3Vを適甚し、3.3 Vをシリアル接続に接続するだけで十分です。 FT232ベヌスのコンバヌタヌを䜿甚したした。











独自のプログラムを䜿甚するず、モゞュヌルで遊ぶこずができたす-堎所の座暙を取埗したり、衛星を芋るなど。



ubloxプログラムのスクリヌンショット







残念ながら、モゞュヌルはGlonassコンステレヌションで機胜したすが、切り捚おられたす。 たず、モゞュヌルはシングルチャンネルです-぀たり 圌は特定の瞬間に1぀の星座でしか䜜業できたせん。 コンスタレヌションの切り替えには、モゞュヌルの再起動が必芁です。 第二に、グロナス星座がオンになるず、モゞュヌルは差分補正衛星からのデヌタの凊理を停止したす。



モゞュヌルをGlonassずGPSず同時に動䜜させたいず思いたした。 そのようなモゞュヌル、特にサンクトペテルブルグの䌚瀟NaviaのML8088がありたす。 残念ながら、自家補のデバむスにむンストヌルするのに適したすぐに䜿えるモゞュヌルは芋぀かりたせんでした。 ML8088には既補のデバむスがありたすが、䟡栌やサむズの点で私のデバむスには適しおいたせん。 そしお、モゞュヌルを䜜成するこずにしたした:)。 アンテナB35-3556920-AMT03 [GPS / GLONASS]ずDESSY.RUのML8088seモゞュヌルを賌入したした 。 2システムアンテナが必芁です-GlonassずGPSの搬送呚波数はわずかに異なりたす。



アンテナの補造元の指瀺に埓っお、䞭心郚で7 x 7 cmの導電性ベヌスに取り付ける必芁がありたす。 私の堎合、7 x 7 cmの正方圢が正確に配眮されたした。 GLONASSモゞュヌルを蚭蚈するずき、アンテナをML8088モゞュヌルの入力に接続する方法を決定する必芁がありたした。 マニュアルによるず、むンピヌダンスが50オヌムのマむクロストリップたたはコプレヌナラむンを䜿甚する必芁がありたす。 このようなラむンには、PCB䞊に十分に正確な導電性ストラむプが必芁です。 これを事務甚ナむフでボヌド䞊の歯が生える私のお気に入りの方法にするこずは困難です。 状況を慎重に怜蚎したので、マむクロストリップラむンをたったく䜿甚せず、アンテナを受信機の入力に盎接接続するこずにしたした。 マニュアルには、アンテナから入り口たでの䌝送線が短いほど良いず曞かれおいたす。 したがっお、長されロが最適です。 それに応じお、アンテナの蚭眮堎所からボヌドを開発する必芁がありたした。 ただし、7 x 7 cmのボヌドサむズの堎合、マむクロモゞュヌルの倉䜍は問題を匕き起こしたせん。







この蚭蚈には、芁玠のむンストヌルの特定のシヌケンスが必芁でした。 最初にアンテナを接着し、次にML8088を取り付けお、アンテナ脚が端子21のくがみに入り、その䜍眮でML8088を぀かむ必芁がありたした。 次に、ML8088端子の䜍眮をマヌクし、マむクロモゞュヌルを取り倖しお、トラックを切断したす。 冷华のために䌑憩を取っお、チップの脚をはんだ付けしたす。 残念なこずに、私は間違っおいお、アンテナをはんだ付けする前にアンテナ出力の深さを䞋げるこずはしたせんでした。 はんだ付けが機胜しなかったため、システムは1時間の䜜業埌に数個の衛星を捕らえたした...状況に぀いお考えた埌、アンテナを取り倖し、出力を照射し、アンテナをはんだ付けし盎すこずにしたした。 問題は、アンテナをベヌスから同時に倖し、出力をはんだ付けする必芁があるこずです。 しかし、幞運なこずに、「飲たない」ずいう蚺断を正しく行い、アンテナをベヌスから少し剥がすずすぐにアンテナが脚から跳ね返りたした。 さらに、すべおがうたくいきたした-私は結論を錫メッキし、アンテナをはんだ付けし、システムは正垞に機胜したした。







アンテナ接続を垌釈する堎合、ドキュメントの芁件を考慮するこずが䞍可欠です。アンテナのアヌスはピン20ず22に接続し、共通のアヌスずの接觊がないようにする必芁がありたす。 これは、アヌスルヌプの圢成を防ぎ、ノむズ耐性を䜎䞋させるために必芁です。 ML8088のピン20ず22は、マむクロモゞュヌル内のグランドに接続されおいたす。



工堎出荷時にML8088sEのファヌムりェアがフラッシュされ、「解決策がある」ずいう出力のゆっくりした点滅をサポヌトしおいなかったこずが刀明したした。補造元に連絡し、新しいファヌムりェアず詳现な点滅手順を受け取りたした。うたくいきたした。私の質問に芪切に根気よく答えお



くれたりラゞミヌル・オサドチヌナビアのテクニカルディレクタヌに感謝したす。



「ナビゲヌションの問題GNSSの解決策がありたす。」信号の倉換に倱敗したした。これは、モゞュヌルがナビゲヌションの問題を解決し、モゞュヌルが提䟛するデヌタが正しい堎合に、0.5 Hzの呚波数で点滅する信号です。信号振幅は1.8ボルトで、この出力の負荷容量は玄2 mAです。しかし、マニュアルの図AppNote 1_1.pdfを含むML8088sEは機胜したせんでした。







どうやら-トランゞスタを自信を持っお開くのに十分な出力の耐荷重胜力がなかったようです。効果は奇劙でした-システムが正しく起動しなかった堎合-倉換回路を制埡するのに十分なレベルの信号がこの出力で生成され、モヌルス信号で制埡LEDが喜んで点滅したした。たた、システムが正垞に起動するず、信号の振幅は小さくなり、トランゞスタは開きたせんでした。開発者によるず、信号は十分なはずです。圌はバルコニヌからオシロスコヌプを持ち蟌み、信号があるこずを確認したしたが、レベルは䜎く、わずか0.4ボルトです...りラゞミヌルオサチヌはトランゞスタの特定のモデルを呜名したした。これは間違いなく圌のために機胜したすが、私は自分のやり方で別のゎミコンパレヌタLM393を適甚したした:)。このコンパレヌタの2番目のチャネルを䜿甚しお、PPS信号を瀺したした。途䞭で、1PPS信号のパラメヌタヌを倉曎し、200ÎŒsの長さの信号を䜜成したした。これで、短いmyrgを䜿甚しお、システムの機胜を快適に控えめに衚瀺できたす:)。



Glonass \ GPSモゞュヌルの最終バヌゞョンは次のようになりたす。







ケヌスに入れられ







たす䞊郚の未接続コネクタは、モゞュヌルにファヌムりェアを入力するように蚭蚈されおいたす。

柔らかいプラスチックで䜜られた黄色の長方圢-リモヌト敷蚭、ケヌスを閉じるずきにベヌタ2に接しおいたす。



ML8088sEモゞュヌルには2぀のシリアル通信チャネルがありたす。ナビゲヌションデヌタは1぀ず぀進み、デバッグ情報たたはファヌムりェアは2番目に進みたす。デフォルトでは、チャネルは115200の速床で構成されおいたす。57600に切り替えたした。Wi-FiモゞュヌルHI-LINK HLK-RM04の2番目のチャネルの速床制限のため、これを行う必芁がありたした。それに぀いおの詳现はやや䜎いです。



CR2032などの倖郚バックアップバッテリヌを䜿甚したした。これにより、衛星の䜍眮の迅速な蚈算ずキャプチャから远跡モヌドたでに必芁なすべおがすでにメモリにあるため、モゞュヌルの起動がはるかに速くなりたす。このモヌドでは、通垞、モゞュヌルをリセットする必芁はありたせん。リセットは、初めお電源を入れたずき、たたはモゞュヌルが正しく起動しなかった堎合に必芁です。モゞュヌルが正しく起動しなかった堎合、゜リュヌションの存圚を瀺すLEDが特定のコヌドを呚期的に繰り返したす。リセットするず、モゞュヌルが正垞になりたす。私の堎合、郚品をはんだ付けした埌にリセットが必芁でした。 2぀の独立したモゞュヌルリセットメカニズムを実装したした。最初のボタンは、干枉しないように、たた誀っお抌されないように、ケヌスに埋め蟌たれた通垞のボタンです。 2぀目は゜フトりェアです。起動時に、スケッチは5秒間埅機しおから、ML8088sEからのデヌタの受信を開始したす。タむムアりト間隔のデヌタがない堎合、スケッチはピンA0からの負のパルスでモゞュヌルをリセットしたす。重芁-モゞュヌルを起動するずきは、リセットピンを高むンピヌダンスの3番目の状態にする必芁がありたす。したがっお、リセットコマンドを発行した埌、A0の出力を入力モヌドにしたした。 Arduinoボタンず出力は、「マりント」モヌドで接続されおいたす。



私のデバむスは、HI-LINK HLK-RM04シリアルポヌトむヌサネットWi-Fiアダプタヌモゞュヌルモゞュヌルを介しお倖郚ず亀換したす。これは、本質的に優れた機胜を備えたミニルヌタヌです。 Wi-Fiぞのコンバヌタヌモヌドのシリアルポヌトで䜿甚したす。デバむスには2぀のポヌトがあり、1぀は最倧115200、2぀目は最倧57600の速床で動䜜したす。Glonassナビゲヌタヌは2぀目のポヌトに接続されるため、ML8088の亀換レヌトを57600に䞋げる必芁がありたした。アンテナ。店内の写真には、内郚チップアンテナがありたす。DESSY.RUのANT 2.4 ESG-2400-12 UFL-Fなどの倖郚アンテナを賌入しなければならず、DXに匹敵する䟡栌の匕き䞋げを芁求したした。同様のアンテナDXにはありたすが、Wi-Fiモゞュヌルを賌入したらすぐに賌入する䟡倀があるでしょう。ルヌタヌずPCIカヌドからモゞュヌルに2぀の異なるピンアンテナを接続しようずしたした-動䜜したすが、信号レベルはフラットアンテナに比べお玄10 dB䜎くなりたす。さらに、ケヌス内に配眮するず非垞に䟿利です。



Wi-Fiモゞュヌルには、内郚スタビラむザヌからの3.3ボルト出力がありたす。 GlonassモゞュヌルML8088sEに電力を䟛絊すれば十分です。



最初のチャネルは、Arduinoを操䜜するために䜿甚されたす。 Arduinoプログラムで生成されたデヌタ攟射蚈からは、Wi-Fiモゞュヌルの最初のチャネルに送信され、ホヌムネットワヌクに送信されたす。これらは、指定されたIPアドレスずポヌトに接続できるPUTTYタむプのプログラムで受信できたす。ナビゲヌタヌは2番目のシリアルポヌトに接続されたす。ナビゲヌタからのデヌタはArduinoのシリアルポヌトにも届き、プログラムはナビゲヌタからのデヌタを凊理しお画面に衚瀺したす。

゜フトりェアシリアルポヌトの䜿甚に関する問題を調査したしたが、確実に機胜せず、倚倧な劎力を必芁ずするプログラミングが必芁であるず刀断したした。そこで、ハヌドりェアのハックを思い぀きたした:)。



最初に、シリアルポヌトでの情報の送信がどのように配眮されおいるかを思い出させおください。盎列信号は、+ 5 Vから0ぞの負のドロップによっお送信されたす。初期の非アクティブ状態では、信号は高レベル+ 5 Vです。 Arduino Nanoの内郚では、FT232出力からの信号は、1キロオヌムの保護抵抗噚を介しおATMEGA328Pシリアル入力に送信されたす。回路図の䞀郚を次に瀺したす。







䞊の図は、Arduinoボヌド内のRXピンずTXピンの接続を瀺しおいたす。 RX Atmega328PピンはArduinoコネクタのレッグに盎接接続され、同時に1k抵抗を介しおUSBシリアルFT232RLコンバヌタヌのTXピンに接続されたす。これにより、シリアルデヌタをコネクタレッグに転送でき、信号は目的のマむクロプロセッサ出力に盎接送られ、FT232出力が高レベルの堎合は正しく凊理されたす。コンピュヌタヌがArduinoに䜕も送信しない堎合、たたはArduinoがコンピュヌタヌに接続せずに自埋的に動䜜する堎合、この条件が満たされたす。この堎合、䞋図に瀺すように、Atmega328Pシリヌズの入力は実際には1kΩ抵抗を介しお5ボルトにプルアップされたす。 FT232を介したコンピュヌタヌからの通垞のデヌタ転送に干枉しないようにするには、オヌプンコレクタヌトランスミッタヌを䜿甚しお、閉じた状態にする必芁がありたす。䞀連のチャンネルを垞時皌働させる必芁がある堎合。 LM393のようなオヌプンチャンネルタむプの出力を持぀2チャンネルコンパレヌタを䞀定数だけ持っおいたした。



Glonassモゞュヌルのシリヌズポヌトからの信号は、オヌプンコレクタヌタむプの出力を備えたコンパレヌタヌを通しお送信されたす。プロセッサがリセットされるず、ピンA1は3番目の状態に䞊昇したす。コンパレヌタの反転入力は、実際には抵抗R11を介しおグランドに接続されおいたす。コンパレヌタの非反転入力には、0.4〜3.3 Vの範囲の正電圧がありたす。コンパレヌタの出力は完党に閉じた状態にあり、Arduinoの動䜜には圱響したせん。マむクロプロセッサずコンピュヌタヌの亀換、スケッチのメモリぞのロヌド-すべおが通垞どおり行われたす。スケッチを開始するず、A1出力が出力モヌドに切り替わり、+ 5 Vの高レベルが蚭定されたす。反転入力の電圧は1.65 V3.3 Vの半分になりたす。コンパレヌタヌは、Glonassモゞュヌルからの信号シリヌズのリピヌタヌずしお機胜し始めたす。スケッチは、暙準のシリアルポヌトからデヌタを読み取り、受信デヌタを凊理したす。 Arduinoぞのスケッチのダりンロヌドを開始するず、FT232は最初にプロセッサリセットを生成し、ピンA1は3番目の状態になり、コンパレヌタヌの出力は閉じた状態になり、Arduinoの盎列入力に圱響を䞎えなくなりたす。 GLONASSモゞュヌルからのデヌタ転送は終了し、スケッチは正垞にロヌドされたす。



LM393コンパレヌタが䜿甚されたのは、テヌブル䞊のボックスにそれらの倚くがあり、それらがガスセンサヌモゞュヌルから取り倖された埌に埗られたからです。圓然、このようなハックを実装するために、オヌプンコレクタヌや制埡入力などの出力を持぀別のロゞック芁玠を適甚しお、出力を3番目の状態に倉換できたす。

情報フロヌを接続するこの方法は、「線集OR」ず呌ばれたす。



Wi-Fiモゞュヌルの2番目のチャネルを介しお、Naviaが提䟛するNavia Viewerプログラム甚にML8088モゞュヌルずの完党な通信が線成されたす。プログラムは、シリアルポヌトを介しお接続されたモゞュヌルず通信できたす。 Tibboプログラムを䜿甚しお、仮想シリアルポヌトを敎理したした。 Tibboは、同様のプログラムずは異なり、手動での介入を必芁ずせずに自動的にチャネルを開始および線成したす。HWGroupの仮想シリアルポヌトドラむバヌも詊したした。動䜜したすが、コンピュヌタヌを起動した埌に手動で操䜜する必芁がありたす>、これは䞍䟿です。



いく぀かのスクリヌンショットを次に











瀺したす。差分補正のサテラむトが存圚する堎合に興味深い別のスクリヌンショットは、青い䞞の







䞭にありたす。このワヌクステヌションは、VMwareワヌクステヌションを実行する仮想マシンで実行したす。

スクリヌンショットから、TIBBOが192.168.1.155:8081ずの接続を確立し、仮想シリアルポヌトCOM3ずしお提瀺したこずがわかりたす。 Navia GLONASSでCOM3通信ポヌトが蚭定され、このすべおの゚コノミヌは、仮想コンピュヌタヌの起動時に自動的に着実に離陞したす。



おそらく、Navia GLONASSの䜜成者は、シリアルポヌトだけでなくTCPIPチャネルずも盎接通信できるように、プログラムを完成させるこずに関心があるでしょう。



デバむスで䜿甚されるディスプレむdilekstrimaで玄300 pで賌入されたした。ディスプレむはILI9341コントロヌラヌを䜿甚しおいたす。これに぀いおはほがすべおが知られおいたすが、ラむブラリヌず豊富な䜿甚経隓がありたす。唯䞀の埮劙な点は、ディスプレむの電源が+5ボルトであり、入力の定栌が3.3vであるこずです。 nanoをArduinoに盎接接続するず、動䜜したせんが、燃えたせん。最も単玔なコンバヌタ5-> 3.3-連続しお接続された2.7 kの抵抗噚を䜿甚したしたが、MOSI信号には抵抗噚は䞍芁で、ディスプレむからプロセッサに送られたす。 LED信号も倉換する必芁はありたせん。



ディスプレむを操䜜するために、わずかな倉曎を加えた暙準TFT v2ラむブラリが䜿甚されたした。暙準ラむブラリでは、シンボル出力は目的のポむントを匷調衚瀺したすが、点灯しおいないポむントは消去したせん。画面を消去した埌、最初はすべおが正しくなりたすが、2番目以降は正しくありたせん。マトリックスポむントはオンになりたすが、オフにはなりたせん。数十回繰り返した埌、シンボルの色で完党に照らされた長方圢が画面に衚瀺されたす。シンボルで䜿甚されおいないポむントに背景色を衚瀺するスラむスをラむブラリコヌドに远加したした。



ラむブラリコヌドの倉曎
old



void TFT :: drawCharINT8U ascii、INT16U poX、INT16U poY、INT16Uサむズ、INT16U fgcolor

{

ifascii> = 32&&ascii <= 127

{

;

}

他に

{

ascii = ''-32;

}

forint i = 0; i <FONT_X; i ++{

INT8U temp = pgm_read_bytesimpleFont [ascii-0x20] [i];

forINT8U f = 0; f <8; f ++

{

iftemp >> f0x01

{

fillRectanglepoX + i *サむズ、poY + f *サむズ、サむズ、サむズ、fgcolor;

}



}



}

}



新芏



void TFT :: drawCharINT8U ascii、INT16U poX、INT16U poY、INT16Uサむズ、INT16U fgcolor

{

ifascii> = 32&&ascii <= 127

{

;

}

他に

{

ascii = ''-32;

}

forint i = 0; i <FONT_X; i ++{

INT8U temp = pgm_read_bytesimpleFont [ascii-0x20] [i];

forINT8U f = 0; f <8; f ++

{

iftemp >> f0x01

{

fillRectanglepoX + i *サむズ、poY + f *サむズ、サむズ、サむズ、fgcolor;

}

他に

{

fillRectanglepoX + i *サむズ、poY + f *サむズ、サむズ、サむズ、黒;

}



}



}

}





たた、RESETずCSを起動するコヌドの䞀郚を倉曎する必芁がありたした。ラむブラリはピンD4およびD5を䜿甚するように蚭蚈されおおり、タむマヌを操䜜するために必芁でした。したがっお、衚瀺ピンはピンD8リセットずD9CSに接続され、コヌドに次の倉曎が加えられたす。



ラむブラリコヌドの倉曎
old:



#define TFT_RST_LOW {DDRD |= 0x10;PORTD &=~ 0x10;} //Added by Vassilis Serasidis (18 Oct 2013)

#define TFT_RST_HIGH {DDRD |= 0x10;PORTD |= 0x10;} //Added by Vassilis Serasidis (18 Oct 2013)

#define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}

#define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



new:



#define TFT_RST_LOW {DDRB |= 0x01;PORTB &=~ 0x01;} //changed by Sergey Dronsky 26 dec 2013

#define TFT_RST_HIGH {DDRB |= 0x01;PORTB |= 0x01;} //changed by Sergey Dronsky 26 dec 2013

#define TFT_CS_LOW {DDRB |= 0x02;PORTB &=~ 0x02;} //changed by Sergey Dronsky 26 dec 2013

#define TFT_CS_HIGH {DDRB |= 0x02;PORTB |= 0x02;} //changed by Sergey Dronsky 26 dec 2013





プログラムの党文ず倉曎されたラむブラリは、 ここにありたす。



デバむスの最終バヌゞョンでは、カりンタヌT1のみが関䞎し、D5の出力からのパルスをカりントしたす。 結論D4は未䜿甚のたたです。



デバむスは24 x 7モヌドで䜿甚するように蚭蚈されおいるため、画面の焌損の圱響に察する察策を講じたした。 画面に衚瀺されるすべおの芁玠はランダムに色が倉わり、画面内を少しランダムに動きたす。 適切な操䜜のために非垞に必芁だずは蚀えたせんが、プログラムするのは楜しかったです:)



デバむスは、ArduinoのミニUSBコネクタを介しお絊電されたす。 内郚バッテリヌは提䟛されたせんでしたが、自埋的に動䜜する機胜を確保するために-たずえば、庭のプロットを確認するために、4000 mahの容量を持぀電力銀行が賌入されたした。 枬定により、玄3000 mahの実際の容量が瀺されたしたが、この容量は攟射蚈が10時間以䞊動䜜するのに十分です。 田舎を歩くだけで十分です。

デヌタを受信しお​​凊理するには、Visual StudioExpress 2012のVisual Basicで䜜成されたRadiometerプログラムを䜿甚したす。



プログラムは、バックグラりンドストリヌムで攟射蚈からデヌタを受信し、受信したデヌタをテキストずグラフの圢匏で衚瀺したす。







このプログラムは、信号が倱われた堎合に接続回埩メカニズムを実装したす。 チャネルがクラッシュし、指定されたタむムアりトの期限が切れた埌にデヌタがない堎合、プログラムはチャネルを閉じ、「しっぜ」をきれいにしお、チャネルを再び開きたす。 そしお、接続が埩元されるたでそうしたす。 攟射蚈の堎合、3分のタむムアりトが蚭定されたす。 デヌタを受信する通垞の間隔は2分です。 プログラムが正しく実行され、シャットダりンされたす。送信モゞュヌル、Wi-Fiアクセスポむント、たたはデヌタストリヌムのパスに沿っお接続された機噚の電源を入れたす。

チャネルの開閉むベントが蚘録されたす。 プログラムの開始および停止むベントも蚘録されたす。

デヌタずむベントは別々に2぀のテキストファむルに曞き蟌たれたす。

タむマヌがアクティブになるず、10分ごずに1回、統蚈をログファむルに曞き蟌むプログラムが実行されたす。



チャネルからデヌタを受信するず、それらはバッファに配眮され、特定の条件に達するず、このバッファは入力デヌタ凊理プログラムに送信されたす。 このプログラムでは、文字列の最埌のバむトがvbCrLf぀たり、16進0D0A、文字「キャリッゞリタヌン」、「リタヌンラむン」であるこずが条件です。



凊理ルヌチンは、正芏衚珟メカニズムを䜿甚しお、正匏な劥圓性に぀いお入力文字列をチェックしたす。 行の圢匏が無効な堎合、これはログファむルに蚘録されたす。 文字列に有効な圢匏がある堎合、プログラムは正芏衚珟メカニズムを䜿甚しお文字列を芁玠に分割し、芁玠の配列を生成したす。



さらなる凊理は、「FIFOキュヌ」タむプQUEUEの配列に必芁な芁玠を入力するこずです。



QUEUE配列は、最倧、最小、平均、暙準偏差を蚈算したす。 最倧、最小、および平均を蚈算するには、キュヌの既補のメ゜ッドが䜿甚されたす。 暙準偏差の蚈算は、キュヌの芁玠を配列に出力し、この配列を凊理するこずにより行われたす。 ドキュメントから理解できる限り、独自の方法を䜜成できたすが、すぐには解決せず、将来のために残したした:)。



キュヌの長さは2400芁玠になるように遞択されたす。デヌタの間隔が2分である堎合、玄80時間前に攟射胜の背景が衚瀺されたす。







グラフのピヌクは、コンパスを提瀺した結果です。



プログラムはここからダりンロヌドできたす



Arduinoでのスケッチの説明。



ブロック-スケッチスキヌム



プログラムの開始

ディスプレむの初期化

T1タむマヌの初期化、倖郚入力からパルスカりントモヌドに転送したす。

57600の速床でのシリアル亀換の初期化

メむンスケッチサむクル

カりンタヌリセット

開始時間の蚘憶

シリアルポヌトからデヌタを受信し、メッセヌゞ1「$ GPRMC」を怜玢したす

シリアルポヌトからデヌタを受信し、メッセヌゞ2 "$ GPGGA"を怜玢したす

シリアルポヌトからデヌタを受信し、メッセヌゞ3 "$ GPVTG"を怜玢したす

GLONASS \ GPSからのデヌタの分析ず衚瀺

カりンタT1の珟圚のステヌタスを衚瀺したす

サむクルの終了条件の確認-時間が経過したか、カりンタヌが100を超えるパルスをカりントした

メヌタヌずタむマヌの蚘録

攟射胜の䟡倀の蚈算

出力を衚瀺する

シリアルチャネルぞの出力



統合ディスプレむぞの出力の説明。







最初の行は、攟射胜の枬定䞭に怜出されたパルスの数を瀺しおいたす。 数は玄1秒に1回倉化したす。



2行目は、前のサむクルで蚈算された攟射胜の倀を瀺しおいたす。



次は4行のブロックです。 これはGlonass \ GPSモゞュヌルからの情報の出力です。



最初の行は、UTC時間、日付、衛星の数、゜リュヌションの蚈算に䜿甚されたデヌタ、゜リュヌションの可甚性のサむン文字AたたはVです。

095623 140514 08 A-9:56:23 UTC 05/14/2014 8衛星ず解決策がありたす。



2行目は、緯床ず速床km \ hです。

5545.13119 Nは、北緯55床45.13119分を意味したす



3行目の経床

03739.20397 Eは、東経37床39.20397分を意味したす



4番目は、マむル/時の速床、移動角床床、高さメヌトルです。



GLONASS \ GPSデヌタの出力は単玔化されおいたす-文字列の䞀郚は倉換せずに単に衚瀺されたす。



次に、芳枬䞭の攟射胜の最倧倀が衚瀺されたす。

実行䞭のグラフは、攟射胜の経時倉化を瀺したす。 グラフは、リングバッファの最倧倀に自動的に調敎されたす。 コンパスを提瀺するず、次の図が衚瀺されたす。







私は質問に答えおうれしいです。



All Articles