Darkside(https対応しました)

2021年09月04日の記事

2021年9月4日(土) 22:37

果てしない物語

 SPIを無効に戻そうとして、Jetson-IO の実行コマンドを確認しようと昨日のサイトを確認。すると、Jetson-IO の直前に別のSPI有効化手順が紹介されているのに気付いた。
 物は試しと実行すると、これもエラーが発生して失敗。

 諦めて /opt/nvidia/jetson-io/jetson-io.py を実行し、SPIを無効化する。使わないならGPIOが無駄だものな。しかし、SPIぐらいデフォルトで有効にしとけよ!
 て言うかSPIを有効にするていどのことに、どうしてこれだけ苦労する必要があるんだ!
 設計者出て来い!

 まるで、MCC無しでPICの設定やってる気分。

 GPIOに関しては、Jetson GPIO API が整備されるようになった。
 これで python からでも簡単にGPIOの状態が取得できるようになった。ならばまずは、Sタンク車体側から自由に信号を送れるようにしてみよう。そう考えて、2つの修正を行う。
 1つは、ピンの割り当て名称を分かり易く変えること。自作とはいえ時間が経つと細部の仕様が不明となり、過去の記事を漁る羽目になる。そこで、少しでも面倒を避けるべく、Jetson Nano の相手先ピン番号で名前を付ける。
 もう1つは、DMA転送。これまではチャンネル0でSPI転送、チャンネル1でADC取得していた。しかし、ハードウェアSPIを廃止したので、チャンネル0を使わないことにする。DMAの初期化からも、チャンネル0は削除。

 送信機のキー操作でパラレル3線の状態を自在に変更できるようにして、本当に変更できているかをテスターでチェック。すると、いきなりローバッテリーになって送信機がストライキ状態。
 ローバッテリー警告を殺して実行すると、ADCが読めていないと判明。バッテリー電圧は0になっているし、モーター温度も0になっている。
 DMA設定が狂ったのだと判断し、チャンネル1を廃止。チャンネル0にADCを移動。もしかすると、DMAって0を使わずいきなり1を使うとうまく動かないのかもしれない。

 だが、これによってバッテリー電圧は取得出来るようになったものの著しく不安定。マトモな値と1V未満の値が入り乱れる。更に、モーター温度はずっと0のままだ。
 しかし遥かに重大な問題に気付いた。送信機を見ていて、習慣的に走行用モーターを軽く動かした。すると、妙に動きが悪い。大きくはないが異音も聞こえる。
 右キャタピラだけ、動きが悪い。
 電源を落としてチェックすると、右の起動輪だけ小さい抵抗で簡単に手で回せる!

 これ、明らかにパワーパックのギアが一部破損しているだろ・・・でも先日の走行試験では最後まで問題なく走行できたし、その後は車体を浮かせた整備台の上で低速で回しただけ。どこで壊れた?

 パワーパックを取り外して確認するには、キャタピラを外し起動輪を外さねばならない。またまた面倒極まる作業だ。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4