2025年1月21日(火) 20:28
低速回転では、ホールセンサーの値を見ない。
与える正弦波の位相を一方的に決めて垂れ流す。すると、十分な電圧で駆動するステッピングモーター同様に、位相変化に従って回転する。
送信機のスティック値を元にして、位相の進行の大きさを決定し、単純に加算を行って新しい位相を決めている。
送信機のスティック値を無視して位相の進行の大きさを決定(固定値)し、単純に加算を行って新しい位相を決めるとモーターはスムーズに低速回転する。つまり、おかしいのは移送進行度を引いているテーブルの部分しか考えられないのだ。処理が単純過ぎて、バグりようがないのだが・・・コンパイルエラーを疑い、固定値からテーブル引きに書き戻して実行。
やはり突然動作がおかしくなる。取得値が極めて不安定になっているかのような、不安定な回転になる。意味不明。
スティック取得値を表示させても正常だったが、テーブルで引いた値を表示させてみよう。ただ、どうも16ビット dsPIC 用のコンパイラーって sprintf がバグってるんだよな。32ビット値の表示がうまく出来ないのだ。過去それで散々デバッグに支障が出ている。
16ビットで切って表示させると、テーブル引きも問題なくできている。
でも、モーターは回らない。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2025年1月20日(月) 21:02
低速回転域だけを使い、送信機のスティック操作で回転速度を変えるプログラムにする。
続いて、ホールセンサーの値が変化してモーター回転軸の位置が確定できたタイミングで、与えていた正弦波の位相とどれぐらいズレているかを液晶ディスプレイに表示させる。
ところが、液晶ディスプレイに何も表示されない。
そもそも、モーターが回転してくれない。回転しなければホールセンサーの値が変化することもなく、何も表示されない。
受信基板をセットしたのは久しぶりなので、送信機のスティック位置だけを表示するプログラムを書き込んで実行してみる。
意外なことに、すんなり想定通りに表示された。送信機のスティックに追随して値は変化する。
これは単純な問題のはずだ、と机上デバッグ。PWMレジスターに値をセットし忘れていたことに気付く。
修正すると、液晶ディスプレイに表示されるようになった。しかし、値が極端に不安定。モーターも送信機に連動しているように感じない。
液晶ディスプレイは表示に時間を要するので、リアルタイム処理の途中に本当は挿入したくない。試しに表示やめてみる。だが、モーター回転の不安定さは変わらない。
回転制御の部分で不具合を抱え込んでしまったのか?
ならばとこれまで散々試したような、回転速度固定にしてみる。すると、嘘のようにモーターは安定して回転を始めた。
どうやらまた、非常に基本的な部分でミスしているっぽい。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2025年1月19日(日) 21:46
これも樹脂消費は少ないので微調整の再プリントを行い、確定してから最終的に必要となる8個をプリントしてしまう。
場合によっては何ヶ月も保管することになるいが、中央部のギヤボックスだってそんなものだった。
ホイール保持系を3Dプリントしたら、シャーシにエポキシで接着する。この工程で問題なのは、近傍のハンダ付けでシャーシを加熱すると樹脂が溶けてしまうこと。よって、本格的に接着する前に、シャーシへのハンダ付けは済ませておきたい。現在残存しているハンダ付けが、ロール棒駆動用サーボの取り付けである。なぜこの取り付けを後回しにしているかと言えば、取り付けるとロール棒を取り外せなくなるのだ。
3次元詰め込みパズルと整備性の両立は困難であり、どこかに諦める部分が出てくる。ロール棒を事後に取り外せなくなる、というのが自分の決断した皺寄せである。
ロール棒を取り付けてしまうと、シャーシ中央部の基板にアクセスし難くなる。もちろんアクセスは不可能ではない。さもないと、マイコンをプログラムできなくなる。でも、物理的に面倒で作業性は悪化する。そこで、走行系の制御プログラムがある程度煮詰まるまでは、ロール棒を取り付けたくない。必然的に、いま3Dプリントしているパーツも接着も遅れる。
とはいえハンダ付けから離れた部分は可能であり、写真に出ている部分はハンダ付けとシャーシ中央部を挟んで逆側であり、影響を受けない。ホイールを動かせると走行系の動作状態を確認し易いので、ハンダ付けに先行して作業する意義がある。
このように、製作手順には複雑に問題が絡んでいる。
ホールセンサーでは、1周を6等分するだけの分解能しか得られない
ホールセンサーの値が6等分の境界で変化するとみなし、現在値と直前値からどの境界を超えたかを判別する。そしてその境界値をモーター軸の現在位置とする。
これは一応確定値であり、次にホールセンサー値が変化するまでは直前の回転速度を元にした推定位置を使う。
まずは、この前提が実際に機能しているかどうかを調べたい。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2025年1月18日(土) 20:30
パーツが小さく消費樹脂が少ないので、0.1ミリ単位の微調整を更に行う。
決定版が出来たところで、最終的に必要となる8個を一気にプリントしてしまう。
続いてシャーシ外側のパーツを作図する。オリジナルの G6-01 シャーシの突起を計測し、それに合わせてサイズを決める。

こっちは回転体として立体化してみる。そして、厚さ2ミリの板を一部分だけ立体化し、合体。

プリントしようとして、気付いた。こういう形状は樹脂が垂れてしまってマトモにプリントできない。
分割出力とし、軸保持部分は単独出力する。単独でも樹脂は垂れるが、許容範囲に収まる。
ベアリングをハメる面が垂れないように、スライス時の設置向きには注意する。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2025年1月17日(金) 20:26
ホイール駆動用のギヤは、両側にホイール駆動用のシャフトが突出している。オフロード仕様でデフは殺しておく。
しかし自作版では、片側でしかホイールを駆動しない。そのため、オリジナル通りに組む場合は片側のシャフトを途中で切断せねばならない。それはパーツの浪費になるので、ラジコン戦車用で余っていたシャフトを流用。
オリジナルではないパーツを切断する
同じものが最終的に8セットも必要なので、どっちみちパーツ調達は必要。しかしまずは、1セット作ってみてから考える。
ホイールを駆動せず単なる軸保持だけすれば良いシャーシ内側のパーツを、作図する。例によって仕上がりサイズが微妙に図面とズレるので、現物合わせの試作繰り返しである。

案の定サイズが合わない。ベアリングはハマらないしシャーシの穴にもハメられない。

サイズを修正作図し、プリントし直す。
今度は妥当なサイズにプリントされたが、ギヤの位置は微調整したい。
また、横車が押されてもシャフトが押し出されるような構造ではないので、分解可能になるよう中央穴は貫通させておくのがベターだ。それこそ、後からマスキングテープで塞ぐぐらいでも実用になる。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4