2025年1月26日(日) 21:54
PICkit 5 が不良品ではないことを確認するため、別のパソコンに入れてみる。動画編集用のゲーミングパソコンで、これまでに
Microchip 系ソフトを入れたことがない。純然たるクリーンインストールを試せる。
MPLAB X-IDE v6.20 をインストールし、コンパイラーをインストール。
PICkit 5 をUSB接続して認識させ、いざ書き込み。
何の問題もなく、すんなり書き込めた。
すかさず、送信機スティック位置の取得値を再確認。
やはり期待通りに値を取れているが、モーター回転に反映させると論外に不安定になる現象を念頭に眺めると、反応が悪い。符号が反転するようなことはないが、一瞬値が飛んだリ反応が消えたり。いや、液晶ディスプレイの表示が消えることもある。
こういう「動いてるけど不安定」って一番厄介なんだよな。
ならばと元のパソコンでも徹底的に全部アンイストールして、レジストリも削除しまくって、クリーンインストールしてやる。
ところが、症状が変わらない。再インストールされたデバイスドライバーが、以前のエラーログまで抱え込んでいる。最新のエラーログも健在で、デバイスの一致が部分的またはあいまいなため、USB のデバイス設定は以前の OS のインストールから移行されませんでしたとエラーが出ている。
さすがにOSからクリーンインストールすれば大丈夫と思われるが、そんなのは現実的ではない。最悪、別パソコンで書き込めるから当分は放置。でも、原因究明は必須・・・
とりあえず裏では、パーツを合体させてアクリダインで溶接し、サスペンションのパーツjを完成させる。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2025年1月25日(土) 22:11
ミラー版のデーターも作っておく。最終的に、4個ずつ必要だ。
プリント中に、PICkit 5 を使えるようにする。だが、どう頑張っても書き込みできない。
デバイスドライバーを確認すると、デバイスの一致が部分的またはあいまいなため、USB のデバイス設定は以前の OS のインストールから移行されませんでした。とエラーが出ている。何これ?
検索すると情報はヒットするが、例によって役に立たない情報しかない。
この手の問題だと、ChatGPT も Google と同じレベルでしかアテにならない。
解決できないままに、必要な4+4個のサスペンション取り付け部がプリントできてしまった。
どれほどハードウェアの製作が進行しても、ソフトウェアの書き込みができないのでは完成させられない。どうなってるんだ?
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2025年1月24日(金) 20:46

本番に向けて、サイズの微調整。穴の大きさを変えたり、強度をアップさせたり。

部分修正で影響が想定外の場所に及ぶことがあり、更に作図修正を重ねる。
良い感じにサスアームを取り付けできそうだ。
ギヤカバーとの干渉を避けるなど、最終調整を行う。

written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2025年1月23日(木) 21:41
PICkit 4 は壊れた可能性が高い。
プログラムを修正して書き込んで、というのを繰り返していて突然エラーしか出なくなった。こういう場合は最後に動作していた時と動作しなくなった時で何が変わったのかを確認するのが常だが、何も変わっていない。
ただし今では PICkit 4 は入手困難。過去のバージョンが順次サポート外になるので、PICkit 5 に買い替えた。
だが、現在使っている X IDE のバージョン5.50 は PICkit 5 に対応していない。バージョン上げて現在のプロジェクトが動くかどうか、それが問題だ。MCCが怪しいのだ。
見た目はほんと、そっくり。USB−Cになったのが、極めて嬉しい最大の違い。
気分を落ち着けるため、先にサスペンションを作る。

実測に基づいた作図から始める。

現物合わせによる寸法微調整があるので、フルには立体化しない。
上下アームの長さが違う上に間隔も少し狭く、ホイールの上下動で完全には平行移動がキープされない。これをオリジナルから修正することも考えたが、タミヤが認識していない訳が無い。
地面全体が傾斜している場合などは平行移動でない方が踏ん張りが効くので、総合的に判断しこのバランスで組まれているのだろう。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2025年1月22日(水) 21:38
相変わらず、謎過ぎる現象が直らない。
正弦波駆動の位相加算値を
target_slow = 60000;
という感じに定数で代入すると何の問題もなくモーターはスムーズに回転する。同じ場所を
target_slow = table_slowh[cnt_pwm];
とテーブル引きにすると、まるで回らない。10回に1回ぐらいは値が取得できているがそれ以外は0になっているかのような挙動になる。そしてそれも、規則的な動きではない。
60000 という定数値は、暫定的にフルスロットル位置で取得できる値になっている。
液晶ディスプレイで cnt_pwm を表示させると、送信機のスティック位置に応じて想定通りに値が得られる。フルスロットルだと安定して255が得られるので動作試験に使っている。
次に液晶ディスプレイで table_slowh[cnt_pwm] の取得値を表示させると、これも問題なく 60000 が表示される。値が不安定になることもない。
それなのに、モーターはうまく回転しないのだ。どういう手品なんだよ?
if (cnt_pwm > 128) {
target_slow = 60000;
}
else if (target_slow < 128) {
target_slow = (-60000);
}
else {
target_slow = 0;
}
送信機スティック値の符号だけを見て、前進ニュートラル後退の3通りだけモーター動作させてみる。すると、これまた回転不安定。やはり、スティック値
cnt_pwm が安定取得できていない疑いが強い。既に確認済みではあるが、また液晶ディスプレイに
cnt_pwm の値を直接表示させてみる。
ところが、プログラムを書き込めない。もともと PICkit 4 はUSB抜き差ししないと認識されないことがしばしば発生していたが、どうやっても認識されなくなった。

written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4