【RTK21】F9PのRTK_STAT=LED信号(NORTK)を取り出した<スリル満点>

5月16日で上越LOTTE ARI スキー場もクローズとなりました。回を重ねるとスキーが上手になってきてSTAデータが楽しみになってきます。今シーズンの雪上スキー滑走は、終了しましたが、未だシステムデバッグは延々と続きますので、6月からは野沢温泉スキー場のプラスノーコースで、スキー滑走実験を続けます。プラスキー実験が始まるまで1か月ほどあるので、システムのバージョンアップをします。rev00からいろいろいじってrev01になっているのですが、矢継ぎ早に使い勝手向上をいれているので、rev01を飛び越してrev02を5月いっぱいで仕上げようと思ってます。どうしても改良したいものから着手していきます。

●SimpleRTK2B liteのLED状態をモニターで常時監視したい
これは、多くのユーザーの願望ですが、Ardusimple社は、次機種で改良するから待っててというだけで、半田付けは推奨しなくて、導光パイプでLED光をケース外に延長する方法だけ教えてくれてます。私も実際やってみたのでのですが、直射日光下では、LEDなんか光っているのか目視できませんでした。
■LEDに半田付けして、引き出すまでの迷い
F9PのStatus関連仕様を探してもRTK_Statusピンにあたるセンテンスデータはありませんでした。あったとしても、SimpleRTK2Bliteからは取り出せませんので、ソフト的な取出し方式は、あきらめて、ハード的に信号を取り出すことにしました。ピンがでていれば問題なのですがLEDのGND側から取り出すのは

掟破りな行為で、道理にもかなってないのですが、どうしてもモニターしたい気持ちのほうが強くて、あえてリスクをとって勝負にでた次第です。
1日悩んで、2日目に半田付けして、3日目までに信号の電気特性に振り回されて
4日目に何とか、M5Core2モニターでNORTK状態の監視ができるようになりました。

●LED引き出し作業の備忘録
1:半田こては320度で、LEDのGND端子側を10回くらいつっつきながら少しずつ半田を載せていきます。一気に触れるとLED全体をもぎ取って壊してしまうので、超慎重な作業です。(半田付け慣れて
ない人はやらないほうがいいです)

2:多少はんだが乗ったところで、UEW線に半田を持った3mmくらいの部分をLED端子に横にあてて、数回つついて半田を溶かして接着させます。
UEW線の使い方はこちらの記事です。

 

3:UEW線を引っ張るとLEDもげるので、2液の10分硬化エポキシでLED半田部を接着剤で盛り固めてしまう。
 下は、NORTKとRTCMINの2か所をはんだ付けした場合ですが、RTCMINは、奥側なので難しいです。最低NORTKだけあれば監視できます。

●信号線の特性をオシロで観察
①RTCMIN信号は、SimpleRTK2Bliteの基板上で作られている信号で、F9Pのピンにはありません
②NO RTK信号は、F9PのRTK_STATピンからひきだされている信号でF9P直結です。
この両者の出所が違うのがオシロでみると明確に判りました。
③黄色のRTCM IN信号は、3Vから0V付近までRTCM信号がでてます。、これを拡大するとμsecの方形波が膨大な数の塊になっていましたので、シリアル受信したデータをそのままLEDに流しているみたいです。
④水色がNORTKですが、0Vから800mV-500mVとなってました。

●どうやってマイコンに信号をわたすかで2日かかった
何しろ電気回路は素人なので、見様見真似でやってきているのですが、今回は掟破りなので、事例が見当たらないので、苦戦しました。

通常の電子工作なら、ICを使って、小電位小電流変化をスイッチングさせるのですが、NORTKがTTLレベルがでてない、RTCMINはTTLレベルがでていると2種類がまたく違う信号となってしまってます。NO RTKをコンパレータで200mV比較でスイッチングさせると丁度いい感じになりました。
JRC2903Dでブレッドボードで確認して、小型化するために、SOCのLM939をできるだけ小型化する基板を作成しましたが、チップ抵抗もってなかったので結局ばかでかい基板になりました。

これをオシロでみると500mVのNORTKを3Vの正常な波形が得られたのですが、

M5AtomのGPIOに接続した瞬間に、動作しなくなりました。プルアップ、プルダウンの違いかと思っていろいろ抵抗をかましてみたのですが、オシロのような波形がでなくなってしまいました。しかもM5AtomにつなぐとF9Pの動作が変でLEDがでなくなったり急に明るくなったりして、危ない感じがしたので、GPIOへのデジタル入力は、断念しました。

●発想をかえてアナログ入力を使う
 オシロできれいな波形なのに、何故マイコンで感知できないのかを考えると
オシロは、AD変換していて、回路から流れる電流も微小ですむので、回路がオシロを接続することでの変化を最小にできてます。私のしようとしていることと同じで、信号線をモニターすることでF9Pに変化させたくないと同じですので、
ADCで信号を取り出す方法にしました。
ADCだと、NORTKもRTCMINも問題なく測定できました。
プログラムで、電圧を判定するのが面倒なだけです。特に、RTCMINは不規則にエッジがはいってくるので、1秒間の間エッジがなかったらRTCMINエラーであると判別するアルゴリズムにしました。
とりあえず、ADC処理方式で万事うまくいくはずでしたが。
基板もICもなしで、取り出した線をマイコンのADCピンに接続するだけなので小スペースで良いアイデアです。

●M5ATOM TFカードはアナログピンが1個しかなかった
TFカードだとSPIで4ピン使っているので、残りがない点で
 NORTKだけでRTCMINを使うのは断念しました。

M5AtomからESPNOWでデータと別に2バイトだけ送信して
M5StackCore2で受信表示します。電源オンで最初は、noRTK=1でしたが、1分くらいするとNoRTK=0でLED消えるのと同時に1から0の変わったので、無線モニター監視完成しました。

※翌日2個目のSimpleRTK2Bliteを半田付けしたのですが、遠慮気味に載せたので
実験中に半田が接触不良取になってしまって再度 半田で押しつけて接触後から
半田を押し付ける場合どうしてもLEDに熱が入ってしまうのでピンセットでLEDをしっかり押さえつけて、熱がLEDにこもらないようにピンセットへ逃がす対策をしてなんとか無事に接触不良を修理しました。

【おまけが手間取った】

●M5ATOM TFカードユニットこわれた
=>その後、いろいろ検証してみたら、SDカードがおかしくてフォーマットし直したら正常に戻りました。1日ロスしました。
 上記の作業で、TFカードユニットからM5ATOMをとりはずしたり内部に半田付けしたりしたいたら、プログラムが6周期に一回遅延してデータが暴走するという珍現象が発生しました。これが大変で1日がかりで解析して、SDカード書き込みのSPIが道草をくっているようで、通常は、F9Pの周期125msecでSDログは十分まにあうはずなのに150-200msecもかかっていました。これは、SPIがノイズ等で失敗して遅延が発生しているためだと考えました。
M5シリーズのSPIは、鬼門で、手作り回路だとこけるので、今回は出来あいのTFカードキットを買うことで逃げたのですが、やはりちょっといじっただけでSPI壊れてしまいました。M5社もM5シリーズのSPIの軟弱さをしっていると思います。シリアル関連の技術者がいないのではないかと思います。USBシリアルもドライバとマッチングが悪くてよく暴走するし、おかしいことが多いです。とても、仕事でつかえるマイコンではありません。
今回は、TFカードキット4個もっているので、TFカード部を付け替えて無事正常に戻りました。どこかのちょっとした接触変化でSPIがおかしくなったのではないかと思ってます。
M5シリーズのSPIについて情報があれば教えていただければ助かります。

カテゴリー: RTK

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です