Darkside(https対応しました)

名前

URL

タイトル

コメント

2012年9月21日(金) 21:40

修正組み込みしたが

 元の制御ループには、3つのモードがある。
 電源OFFと通常のフィードバック制御、そして電源ON時の出力安定待ちである。出力安定待ちは1ミリ秒のウエイトを入れてあり、合計15ミリ秒の単純な時間待ちループである。ループカウンターを減らして行き、ゼロになったら通常のフィードバック制御に移行する。
 そこでまず、カウンター初期値を書き換えて100ミリ秒まで待つようにした。続いて、ゼロになったら故障発生とみなして飛び先をそっちの処理に変更。

 カウンターがゼロにならない場合はそのままループ先頭に戻していたが、そこで電圧チェックを行なうことにした。
 出力安定待ちループ中は、D/A出力値は0であり約91Vが出力されて正常である。だから、電圧が89V以上あるかどうかを確認し、なければループ先頭へ。超えていれば通常のフィードバック制御に移行。
 これにより、出力電圧が上がるまで待つことと、待ち過ぎると故障扱いするという2つの機能が実現できた。

 出力切り替えHで実際に動作させると、前回同様に一瞬でエラーに入ってしまった。PICのフラッシュメモリーを読み出して、エラー時の値を確認する。

項目 エラー時の値 10進数 対応実値
D/A出力 0680h 1664
電圧 0914h 2324 94.1V
電流 0313h 787 1.57A
PD値 0306h 774

 D/A出力が充分に大きくなっているので、出力安定待ちは脱しているようだ。そして通常のフィードバック制御を 680h / 20h = 52 回ほど回ったところで、出力電圧が97V以下になっているのを検出して故障判定されてしまった。
 D/A出力値が 0324h で出力電圧は100Vになるので、0680h なんて大きな値を出力して94Vは明白に異常である。とはいえ、50回以上は正常だった。どの程度のノイズが乗ったのか?
 これだけでは情報不足なので、今度は出力電圧をオシロで確認しつつ動作させてみた。

 やはり一瞬でエラー判定されたものの、オシロの波形は想定外。約100Vで収束し、収束後0.03秒ほどで DC-DCコンバーターがOFFになった、という感じである。この時のエラー時値は、

項目 エラー時の値 10進数 対応実値
D/A出力 03E0h 992
電圧 08CCh 2252 91.2V
電流 0195h 405 0.81A
PD値 017Bh 379

 さっきより早期に過小電圧エラーに引っ掛かっている。
 それにしても約100Vに収束したように見えるのは何なんだ?
 表面的ではないところにバグが潜んでいるかもしれない。一見して原因が明白、という挙動ではない。

written by higashino [ファイバーレーザー] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

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

Comments

TrackBacks

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4