<< 前のページ
2024年10月31日(木) 21:04
走行用モーターの動きが「むちゃくちゃ」なので、キー情報の通信がうまく行っていない可能性を疑う。処理能力の都合からSPI通信ではなくアナログなサーボパルスで通信している。
2ピン+サービス電源の組み合わせによるLCD表示が成功し、作り直した主電源基板の動作がまた地味に確認できる。
肝心の通信は、問題なく送信機の右スティック状態が反映されていると判明。
通信値を無視し、走行制御基板から決め打ち回転を実行。位置センサーの値を無視し、モーター位置を少しずつ変化させることで低速回転させる。
すると、問題なく低速回転した。基本的なハードウェアは機能しているようだ。
それなのに、通して動作させると送信機のスティックが反映されない?
通信値に応じで回転を変化させる本来のプログラムに戻して確認。すると、低速時はキッチリと反応しているのに速度が上がると動きが無茶苦茶になると判明。位置センサーの値が取得できていないかのような現象だ。そういうことなのか?
モーターが極端に過熱している。
脇から覗き込んでもモーターの回転は確認できるので、扱い易さを考慮してシャーシにセットする。
もう一方のモーターを接続して主電源を入れたところ、モーターが一瞬だけ回転して沈黙。一瞬だけ回って停止というのは、前回もそうだった。こっち側のモーターだけ。
ふと見ると、主電源が切れている。
主電源を入れ直すと、左側のモーターだけ一瞬回ってから主電源が勝手に落ちる。
どうも複数の深刻な問題が発生しているようだ。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2024年10月30日(水) 21:01
主電源基板の3ピンコネクターに接続。送信機のスティックに連動して動くか確認し、対応を調べる。最初から期待通り、左スティックに連動してサーボが動作。良い感じである。
ならば残りのコネクターから右スティックの値がPWM出力できているはずなので、走行用ブラシレスモーター制御基板を定位置にセット。接続してモーターの動きを確認。
センサーケーブルはシャーシの横から出すのを配線長の問題から断念し、シャーシ上部から出せば良いと割り切っている。
だが、主電源を入れてもモーターは動かない。いや、最初から動かないのは良いが、右スティックを動かしてもモーターは反応しない。と、突然左側のモーターがそこそこ高速に回転を始めた。しかし右スティックを戻しても、どう動かしても回転が変わらない。
諦めて主電源を切ろうとしたが、電源が切れない。ソフトウェアスイッチは反応しない。PICが暴走してる?
仕方なく、ラジコンバッテリーをコネクターから引き抜く。
モーターの反応がおかしかった件と、主電源制御PICの暴走。関係しているのか?
いずれにしろ、電源スイッチが反応しなくなるのはヤバい。WDTは有効にしておかないと怖い。
ところが、WDTを有効にすると今度は主電源が入らなくなった。やたらリセットが掛かる。念のため走行用モーターもその制御基板も外しているのに。
WDTの間隔を最大限の約0.5秒まで大きくして、再コンパイル。今度はソフトウェアスイッチも機能している。
走行用モーターが機能してくれるかどうか?が天王山なんだよな。ブラシレスモーターのESC自作なんてリスク高過ぎてやりたくないのだが、戦車系に適したESCが市販されていないので仕方ない。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2024年10月29日(火) 20:58
主電源基板はプラスチック製のスペーサーに取り付けアクリサンデーで溶接しようとしたのだが、なぜか全く効かない。スペサーはポリカーボネイトではないようだ。仕方なく弾性エポキシで固定。
受信機基板と接続。受信機基板のプログラムをエアガン機動戦闘車用に修正する。コンデンサー充電器のエラー等に絡む信号線を無視し、SPI通信にはキー入力値をそのまま乗せる。
キー入力のナマ値は合計6バイト。これにチェックサムとして CRC16 の2バイトを追加し、8バイトのパケットを送る。
今度は主電源基板のプログラムを修正。SPI受信できるようにして、アナログのキー入力値を表示させる。CRC16
のチェックも行っている。エラーレートは十分に低く、エラーなパケットは単純に捨てれば良さそうだ。
問題なくキー入力を通信できている。後はこれをサーボパルス幅に変換して送り出す。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2024年10月28日(月) 19:40
LCD接続端子にバグを発見。I2C信号線にプルアップ抵抗を付け忘れていた。付けなくても表示できてしまったのは謎だが、妙な不安定動作の原因になっていた可能性もある。1.8KΩのプルアップ抵抗を追加。これで、信頼性は上がったはずだ。もちろんLCDは引き続き正常に表示できている。
少しジャンプするが、いきなりソフトウェアスイッチの動作を確認してみる。
関連するピンアサインは名称に関する限り変更していないので、制御プログラムはそのまま使える。PWM処理関連だけ除外しPICに書き込む。果たして、一発で動作した。ソフトウェアスイッチが機能している。
ソフトウェアスイッチは機能し、配電盤のスイッチングも機能している。
悩みはしたが、本番実装することで不用意な短絡事故を予防し易いと考えた。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2024年10月27日(日) 21:22
Windows 11 で PicKit 4 が認識されなくなる、という情報が転がっていない。少なくとも、良くある類の話では無いようだ。
そこでまずは、今使ってる XIDE 5.50 を再インストールすることにしてみる。アンインストールしてからインストール。これで、あっさりと PicKit 4 が検出された。
更に、MCCも古いバージョンを入れる。ところが、MCCマークを押してもMCCが起動しない。Generate は以前に済んでいるので、MCCを起動させないままコンパイルする。
LCDに文字を表示するだけのプログラム。
電源を入れるが、LCDには何も表示されない。そして、無関係なはずなのに左のLEDが点滅する。明らかに、異常動作だ。
Update を実行すると、無事にMCCが使えるようになった。改めてMCCで Generate を実行し、コンパイルし直してみる。だが、何も表示されない。
プログラムを修正。LCD表示にバグがあるのに気付く。
ところが、不安定。何も表示されない方が多く、何回かに1回だけ表示される。起動時に左のLEDを一瞬だけ点灯させるので、それを見る限りリセット掛かりまくってる。
WDTを無効にしてみるが、不安定。
とにかく厄介なのは、不安定なこと。再現性がない。基板のハードウェア製作に欠陥があり、接触不良が出来ていると極めて厄介である。不良箇所の調査は至難で、基板丸ごと作り直した方が早いまである。
どうやら初期設定が不安定原因だった模様。というのもピン割り込みなどのために初期設定文が多く、しかし今はSPI接続していない。初期設定ネグってLCD表示だけさせてみると、安定する。
LCDのハンダ付けに問題なさそうなので、エポキシで保護する。これで、前代のLCDと同様に仕上がった。
割り込み初期化は旧・主電源基板の制御プログラムと同じなので、不安定原因になるのが良く分からない。ただ、接触不良を抱えてるという最悪の事態だけは起きていないっぽい。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
<< 前のページ
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4