2025年2月4日(火) 21:06
センサー値だけを見て定速高速回転させてみたところ、モーターが激しい異音を発して振動。
つまり、センサー値と矩形パターンの対応関係が間違っている。
そこで、液晶ディスプレイを活用して対応関係を調べ直す。
センサー値が1になるはずの矩形波で、5が取得された。同様に、2のはずが6、3のはずが5、4のはずが3、5のはずがこれも3、6だけ合っている。6通りのセンサー値が取得されて欲しいのに、3通りの位置にしかなっていない。これ6分の1回転ずつ変化してくれないとうまく位置が安定しないのだろうな。
引き続き調べるが、どうにも3ヶ所いずれかにしか安定しない。ハイサイドだけ反映されローサイドのオーバーライドが効いていない?
ならばこの際、GPIOを有効にしてPWMより優先させてみよう。
これでどうだ!と試すが相変わらずモーター角度が3通りにしかならない。ローサイドの違いが効いていないようだ。
PWMの上書きは動的には実行できないのか、それとも上書きするための設定に不足があるのか、どっちだ?
仕様書を何度も読み直していて、遂に発見してしまった。
これらのビットは、PWM モジュールを有効(PTEN = 1) にした後に変更しないでください。
すなわち、PWMの上書きは動的には実行できないのか、それとも一時的に PTEN=0
にしてその隙に上書きできるか、だ。後者を試して駄目なら、動的切り替えは断念するしかない。
果たして結果は・・・駄目だった。動的切り替えは、できないようだ。
written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4