夏休みの工作
今日で夏休みも終わり。仕事かぁ…
夏休みは久々にデジタルものの工作をしてたり。PCケース用に安価に売られているFANの制御回路を作ってたんだけど、うまく動かない。ATmega88のPWM出力にトランジスタアレイ(TD62003)を接続して回転を制御するところまでは出来たんだけど、FANのセンス信号を読み取るのがダメ。シーケンスとしてはこんな感じ。
回転数が早いときはおそらくほぼ正確な値で読み取れてるんだけど、半分くらいの回転数だと妙に速い回転数で読めてしまう。なぜなんだ… 色々と対策はしてみたんだけどね。
回転数を正確に読み取るのは諦めるかなぁ。とりあえず回転してるかどうかは分かるし、FANの故障も検出できるしで、とりあえず用は足りてることだし。でも悔しいなぁ。
とりあえず解決。
一番高速回転の時でも毎分2000回転のFANなので1秒当たり33回転で、1回転当たり2パルスなのでSENSE信号の変化は立ち上がり/立ち下がりの合計で120回程度。PWMは15kHzなので、変化はPWM周期で100サイクルちょっとの間隔となるはず。
でもなぜか偶発的に変化してしまうように見えてて、それをカウントしてるみたい。もしかしたらFAN側の問題かな? 泥縄的ではあるけど、1サイクルや2サイクルといった短い間隔での変化は読み飛ばすことにして、正しい回転数が得られた。ほんとはアナログ回路的に根本対処したいところなんだけど、まぁいいか。
うえの
2009年8月17日 月曜日 5:08