Repo

kjana00@gmail.com

older <-

2011-08-12 01:35:41

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。やっぱり日が当たると暑いわねっていうか、単純に今日は昨日、一昨日より暑いんじゃないかという感じ。たまらない。せみがやかましいし。ぐぅ。

とりあえず昨日までの実験結果を報告。制御モードによる本質的な違いはありませんでした、と。だから当面一番簡単なので実験を重ねるだけでいいよねっていう。それで見てると入力上げた時に何か逆流する場合があるのを何とかしたいねという話になる。逆流量が多いのが問題か、時間が問題か、とにかく逆流してるのが大きいと反発したみたいに出力が跳ね上がって故障の原因になるっぽいから。

出力が一定値以下になったらこっち側のスイッチ止めちゃえば、とりあえず逆流する経路は無くなるから止まるはずなんだよねということでその実験を開始。回路図見てるとここ止めたら止めたで、良く壊れて交換してもらってる IC が逆流出来そうな経路として残ってるような気がしなくもないのが不安。……それ以前にまた壊したか。

……と思ったら壊れてはないようで。プログラム戻したら健全な状況に戻った。何で片側のスイッチ止めると電源ショートしてるっぽい時と同じ挙動を示すのだろう? 謎。……というのを追求しようとして、その前にスタートする時の動作がまずいのに気付いたりする。全然、ソフトスタートになってないよ?

50ms かけて目標値を増やしていってるのに合わせてデューティが動くはずが、us のオーダーで最大値まで伸びてる。最大値になるのは今の入出力の条件からすると当然ではあるんだけどそれにしてもおかしい。入力を入れてない場合には目標がどうであれ最大値に行き易くはなるかなと、小さいながらもそれなりにゆっくり動かせるはずの入力を入れてやってもやっぱりおかしいし。で、じっとコードを眺めてたら判明する事実。リセットする時に目標値を間違って設定してる。ソフトスタートするんだから最初は 0 だって。何で最終目標値を入れてる?

そこを直すとさすがにまともに。まだ何かおかしいけど。最後辺りで跳ねちゃう。跳ねてるところを拡大してみると何故だかデューティが跳ね上がってる。何でだろうと考えるに、これって今実験で最小デューティを 50% にしてるからじゃないかと思い至る。その都合もあって安定状態になるまでは最小デューティ以下の値も設定出来るようにはしてるんだけど、今のソフトスタート部分が目標値が最終目標値になった時点で安定状態に遷移するようにしてある。結果、本当なら連続してゆっくり上がって最終目標を達成するところなのにいきなり 50% までは跳ねてしまう。

まあ最終目標値を達成してから安定状態に遷移したらいいかと修正……するのに色々無駄に苦労してみたり。不等号が逆だの符号無しだから下手に引き算入れると最初に条件達成出来ないままそれっきりになるだの。それで延々ちまちまいじっては動作に変化が無いとかそもそもスタートしないとかで悩まされてしまった。もうちょっと落ち着くといい。

そこが直ったところで元の話に戻る。変な動作はちょっと負荷をかけてやると見えなくなって安定するっていうのも故障した時に見るのと同じ。うーん。両側のスイッチを動かしてる時と同じ条件で動かしてみると、確かに逆流は早い段階で止まってくれる。それはいいんだけど、スタートして負荷をかけ始めた辺りとかを見てるととんでもない大電流が流れそうな気配。これぐらいだと割と平気っていう入力レベルでやっててもあそこまで行くっていうとな……両側のスイッチが動くコードだとこんな跳ね上がりは無いし。やっぱり故障してる時のような動作っていうのの根源がわからないとまずそうか。

そんな感じで今日はおしまい。何かソフトスタートを直しましょうというので延々時間を喰っちゃったな。で、帰ってカマンベールかじりつつ一休みの後、晩ごはんにお造りととろろ昆布のつゆ。かんぱちとたこ。おいしいけど一種盛り二つって、一人で食べるのには微妙に飽きが来る量だな。半分じゃ少ないけど。

後は WWW 見たりゲームしたり。無茶をしないでそれなりの出目がキープ出来れば十分勝てる、という当たり前のお話がありつつ。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12