Repo

kjana00@gmail.com

older <-

2011-06-09 01:37:12

今朝はくもり。朝ごはんはパンとサラダとソーセージ。三宮での事故で遅れられるととても残念な感じ、とかな学研都市線。ホームまで降りられなくて一本見送ることになった。まあおかげで次の電車は遅れてる割に大して混んでなかったわけだけど。五分早く出れば朝礼に出るのに打刻が間に合う、ただし本当に早い電車に乗れるかどうかは別問題、か。

昨日の晩の予想通り、同じコンパレータの出力を使ってる別のオーバーライド昨日がデフォルトではオンなのでしたというのがわかったんで disable にしてやったらようやくまともになった……ということで前にやった実験のコードを再現。何かオーバーライドとそこからの復帰が PWM サイクル毎じゃないのは A/D 割り込みでリセットかけてるからかな。

将来的にはここって A/D 割り込みじゃ合わなくなるっていうのが目に見えてるんで、コンパレータの信号で起こる割り込みでリセットかけてやるようにするべきだよねと苦労してみる。電流流れてない回路の方で実験してるからいいけど、どう見てもこれを電流流れる回路で動かすと壊れるよねっていう感じの動きをするもんだから……

コンパレータの割り込みの中でコンパレータのリセットまでやろうとすると何か変。スイッチングが可聴域まで落ちてくるよ? ついでに出力もおかしな感じになる。実験用にいじってる PWM 出力じゃない方まで。どうもコンパレータをオフしてちょっと待ってオンするっていう、その「ちょっと待って」の間が全然割り込みや PWM の周期に間に合ってないっていうのが問題っぽい。

それじゃあ、とコンパレータの割り込みの時にはコンパレータをオフするところまでだけやっておいて、適当に別のところでオンにしてやればいいのかなという方向へ。使えそうなのが PWM のトリガ割り込みぐらいかな。で、やってみると、またスイッチ音が。ちまちま調べてみていると、実験用に使ってない PWM 出力で試してるのに、復帰の方を実際にコンパレータと比較してる信号を拾ってる回路に繋がった PWM のトリガ割り込みでやってるのがまずいっぽい。位相ずらしてるのもあるからタイミングが変か。素直に実験用の PWM の方の割り込みに乗せるべきだったね。

で、乗せてみてもまだ、実はコンパレータ由来のもトリガ由来のも同じ PWM 割り込みっていう風に見えるんで、割り込みハンドラの中でフラグ見てどっちの動きをするか確認しなきゃいけなかったとか、そうやって確認してるつもりでもコンパレータの実際の状態はまた別でそっちのチェックも外せなかったとか、あれやこれやと色々。最終的には何となく動いた。A/D 割り込みでリセットかけてた時と同じ波形が見えるんだけど。……これはこういうものなのかな……そもそもこの周りって、マイコンのマニュアルにも詳細書いてないところなのが辛い。サンプルコードでも扱ってないし。

まあそれはともかく動いてる様子を見ると、予想通りしきい値丁度ぐらいの出力になる辺りでオーバーライドが働く場合と働かない場合が出て来て PWM デューティが大きく揺らぐ。これを電流が通る回路で使うときっとまたドライバ IC 壊れるよなっていうのがあったんで対策を考える。

まあ、デバウンスするっていうのがハードウェア機能頼ってるから無理っていうと、しきい値を二つ持っておいて上のに引っ掛かったら下のに引っ掛からなくなるまでそのままの状態を保つっていう形にするしかなさそうな。で、そのように。うーん、何か下のしきい値がちゃんと使われてないように見えるな。そんな微妙な出力の差でしきい値切り替わらないはずで、だからオーバーライドがかかる、かからないもそんなに激しく振動しないはずなんだけど。上手く行ってれば。

何でこんなことになっているのか、という疑問を残しつつ、出先の定時退社日なんで早めに上がり。帰ってちょっとカマンベールを食べたりしながらゆっくりして、それから晩ごはんにかつおと多分さけのたたきととろろ昆布のつゆ。さけはたたきっていうより燻製っぽかった気がしなくもない。結構おいしいか。何か変に蒸してたからさっぱり。

WWW 見たりゲームしたり。何か特に出目がひどいっていうわけでもないのに何か不調だったりした後、とりあえず、で鉄獄 35 階まで降りてみた。使えないアーティファクトが得られたのはとても嬉しくなかった……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12