Darkside(リンクエラー修正しました)

2019年03月13日の記事

2019年3月13日(水) 21:29

誤算そして誤算

 150Ωだけ介して、PICで直接ゲートドライブするように変更。
 これで、あっさりと何の問題もなくゲート操作できるるようになった。

 しかし、ゲート操作にPWMを利用しようという野望は、果たせなかった。

 旧来は、時間差でゲートドライブする場合、ソフトウェアによる待ちループを使用していた。しかしこの方式の場合、作り出せる時間差の最小分解能はソフトウェアループ1回の実行時間に制約される。それより小さな調整はできない。
 これに対しPWMであれば、クロック単位で調整可能だ。すなわち、1μ秒の32分の1。実際にはそれだと最大ON期間が2ミリ秒しか取れないため、8分の1分割を考えていた。

 それにより最大16ミリ秒までONを持続可能で、調整単位も0.25μ秒を確保できる。

 ところが実際にやってみると、そもそもPWMにはワンショットという設定がない。いったん動作させると、無限に繰り返してしまう。トリガーを押したら1回だけPWM発振して欲しいのだ。

 IGBTをONにする場合の、ゲート電圧変化。計算よりも2〜3倍の時間を要している。敷居電圧を突破すると、ゲート容量が増大しているかのようだ。それでも20μ秒あれば実用電圧に達するので、使い物にならないほどではない。そもそも元祖コイルガン・ストームタイガーはゲート直結ドライブで発射できていたのだから。

 PWMにワンショットはないので、必要な時間が経過したらPWMをStop()
してやる。そして、次のトリガー時に Start() させる。
 しかしそれも、機能しない。リスタート時にタイマーカウント値がリセットされないせいだと思われるが、期待する幅のパルスが発生しないのだ。2つ目のパルスが正常に発生しても、それでは遅い。射撃管制信号としては、1つ目からビシっとパルスが出てくれなければ論外だ。
 この問題はコンデンサー充電器やモーター制御でも気付いていたが、それらはリスタート一発目だけPWMが乱れても、影響はほとんどない。だが、放電回路の制御においては、一発目がすべてである。

 あれこれ試行錯誤したが、どのように設定を変えてもうまく行かないので、諦めた。分解能は劣るが信頼性では万全の・・・ソフトウェア遅延ループ方式に変える。もちろん何のトラブルも発生する訳がなく、一発動作した。

 空ループ2000回で、3ミリ秒半の時間差が生じている。32MHz動作なら8MIPSだ。どうやらループ変数16ビットの場合、コンパイラーが生成する空ループは1周あたり14命令を要するようだ。
 時間差の最小分解能は1.75μ秒にもなるが、ゲートONに20μ秒も要することを考えると妥当であるとも言える。

 これで、射撃試験が可能になった。先に銃を接続しておくのを忘れないよう注意し、コンデンサーを充電。まだサーボはトリガーにセットしていない。手でトリガーを引き、BB弾を装填。続いて、発射ボタンを押す。

 パン!

 大きな破裂音が鳴り響き、空気が焦げ臭くなった。BB弾は発射されず、弾速計は無反応。うわっコイルが絶縁破壊した!というか先日のトラブルで、やはりコイルが短絡していたのではないか?
 短絡したのは推進用の前コイルで、対応するIGBTは過電流で破壊されていた。後コイル用のIGBTは無事。コイルのインダクタンスは少し小さくなっている程度だが、ソレで済んでいれば短絡まで行かないはず。恐らく一部被覆は短絡しているが、それとは別に高電圧を掛けたときに絶縁が破れる致命的な不良部分が存在していると思われる。
 いずれにしろ、このコイルは使い物にならない。完全に新品を作り直すしかない。

written by higashino [ラジコン用エアガン] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4