Darkside(https対応しました)

2020年3月1日(日) 21:04

決断の時

 ほぼ、期待通りにブラスレスモーターを回転できるようになった。

 PWM周波数は20KHzを若干上回らせて、PWMノイズが可聴域を外れるようにしてある。実際、市販ESCで低速時に発生する耳障りなピー音は皆無である。
 20KHzオーバーで16ビット精度は無理であり、周期は6400に設定してある。DUTYは、1000から5000まで使用している。
 なぜかDUTY80までしか安定しないので、6400の80%より少し小さい5000を高速側の上限にしている。Sタンクのパワーパックはフルオペ・レオパルド2の流用だが、実車のSタンクは前世代であり最高時速60キロである。だから、レオ2の8割しか出せなくても、むしろリアル。

 下限の1000は、ある程度の負荷があってもスムーズに回る最小限の電圧を、という見地で決めた。
 この値を小さくし過ぎると、電圧不足でスムーズに回転しなくなる。かと言って大きくし過ぎると、燃費が悪化する。

 市販ESCだと速度を落とすほどDUTYを小さくするので、落とし過ぎると電圧が下がり過ぎてトルクが不足し、モーターが動けなくなってしまう。しかし自作ドライバーは、DUTYを一定値1000より小さくしない。それより速度を落とす場合は、相の切り替えにウエイトを入れる。これは、ステッピングモーターの方式だ。
 消費電力が一定以下にならないので燃費が悪化するが、どんなに速度を落としてもトルクが確保されモーターは確実に回る。超低速走行のスムーズさが、圧倒的に向上する。

 停止時は通電しないので、現実の運用時はそれほど悲惨な燃費にならないはずだ。
 ウエイトを入れている間の通電を止めてみると、回転が120度ごとになってしまった。トルクも出ず、実用にならない。

 ここからは、パラメーターを微調整したり地味な改良を加えるだけである。

1)SPI通信のデーター化け対策
 8ビットのスロットル値を送るだけなので、複数回送って値を照合するていどの簡便な方式で確実性を上げれば良いだろう。

2)ノイズ対策
 今のところノイズは実用限度に収まっているが、それほど余裕があるように見えない。ノイズを減らせるならそれに越したことはない。

 それぞれの具体策を詰めようと思索を進めたところ、状況は想像以上に悪いと気付いた。

 まず1)だが、確実で素直な手法としては同じ8ビット値を3回セットで送るというものがある。多数決で、正しい値を選ぶのだ。仮に3つの値がすべて異なるようなら、エラーが多過ぎとして丸ごと捨てる。エラー訂正としてはリードソロモンという定番があるが、計算量が多い。8ビットのような短い値に適用する場合、メリットがない。
 ところが問題は、そもそもSPI通信がなぜかうまく出来ないこと。DMA転送に押し付けることで通信は成功したが、3回連続で送信してその3つの値を別々に格納するとなると、また設定の試行錯誤が始まる。

 次に2)だが、ノイズ発生原因がモーター内コイルのインダクタンスにあることは確実である。コイルガンでスイッチング素子が破壊されるのと、同様の話だろう。
 そこで試しに、コンデンサー容量を47μFに増大させてコイルと平行接続し、ノイズの変化を確認することにした。

 だが、ノイズはやはり好転しない。SPI通信エラーの頻度が上がり、送信機からの操作を行っても回転がしばしばギクシャクする。どうやら、ブラシレスモーターにはコンデンサーをいっさい取り付けない方がマシのようだ。

 実際、コイルガンでもスイッチング素子にサージ緩和のためコンデンサーや抵抗を組み合わせて試行錯誤したが、殆ど効果は無かった。

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

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4