2007年10月17日

作ってみたい装置(その2)

以前、作ってみようと思っている装置という記事を書いたが、今回はちょっと弱く作ってみたい装置。作らないかも知れないので、ネタとして紹介。

(1) USB制御 ファンコン

センサ付きのファンの制御をするもの。あまり有用ではないかも知れないが、簡単そうなので作ってみるのも面白いかも知れない。

以下メモ

センサの出力について
センサの出力は、ただのオープンコレクタ出力らしい。プルアップすることで、デジタル入力できる。注意する点としては、1回転に付き 2回の ON/OFF になること。

PWM 制御について
DCブラシレスファンは、内部に回路があって制御しているので、単純な PWM 制御ではダメ。降圧型 DC/DC コンバータにしなければならない。といっても、回転数でフィードバックをかけるので、電圧センスなどは必要ない。スイッチングは、500mA ぐらい流せる PNP トランジスタを使い、インダクタには、LHLZ06NB 100uH 0.56Aあたりを使うのが良いのではないかと思う。

制御について
温度計とペアにして、温度によって回転数を制御するものにしたい。で、USB でパラメータ設定と、温度、回転数のセンスができるようにする。複数のファンを制御したいところだが、ATtiny861 を使うとして、2ch ぐらいが妥当かも知れない。温度センサは、カモン MB用温度センサ OND-S(千石で 263円)を使えるようにすると装着が楽になりそう。ちなみにこれの素子は、石塚電子 103JT-025(千石で 137円)と同じJTサーミスタではないかと思う。自分で加工するなら、特性のはっきりした(25℃で 10.0KΩ・85℃で1.451KΩ B定数3435K)こちらを使ったほうが良いかも知れない。

OND-S:

103JT-050:(自分で加工したもの)


ところで、サーミスタは 抵抗値を測定して logを取るなど面倒な計算をしないと正しい温度は得られないらしい。ただ、近似値でよいなら、サーミスタの使い方2の通りにやれば四則演算だけでなんとかなるらしい。... と思ったのだが、1つの直線で近似するのは無理がありそう。すなおに、R/(R + Rth) の値と 温度の対応表を作り、N 個の直線で近似したほうが良さそうに思える。ちなみに、対応表はデータシートに載っているが、B定数を元に計算することもできる。


おまけ:サーミスタの温度計測方法について
石塚電子 103JT 用(たぶん カモン MB用温度センサ OND-Sも同じ)

1) 次の回路で分圧比を測定する。分圧比を測定するだけなので、VCC=Vref で十分。


2) 次の式を使って、作った表にもとづいて 温度に変換。
1/32, 2/32 , 30/32の分圧比と温度のグラフができるので、1/32 〜 30/32 の範囲の値は、それぞれの区間で線形補完する。(0〜1/32, 30/32〜1の範囲は変換できない。)
#include <math.h>
#include <stdio.h>
#define RES 32
#define R10K (10000.0)
main() {
int i;
double r1,r2,t1,t2,b;

r1 = 10000.0;
t1 = 25.0 + 273.15;
for (i=1; i<(RES-1); i++) {
if (i < RES/2)
b = 3238.6;
else
b = 3435.4;
r2 = R10K * RES/i - R10K;
t2 = 1.0 / ( (log(r2) - log(r1)) / b + 1/t1 );
printf("%4.3f %10.4f\n"
,1.0 /RES * i, t2 - 273.15);
}
}


上の計算式で作成した値とデータシートにある実測値のグラフ


注意とコメント)
上のグラフは、B定数を2つ使用している。25℃以上は 25℃,85℃のデータから作成したB定数。25℃以下は、-40℃,25℃から作成したB定数。B定数の算出は次のプログラムを使った。
#include <math.h>
#include <stdio.h>
main() {
double r1,r2,t1,t2,b;

t1 = -40.0 + 273.15;
t2 = 25.0 + 273.15;
r1 = 204.7 * 1000;
r2 = 10.0 * 1000.0;
b = (log(r2) - log(r1)) / ( 1/t2 - 1/t1);
printf("b = %10.4f\n",b);
}


注意点:
10K の抵抗値はできるだけ精度を良くして、25℃のとき 0.5 になるようにすること。抵抗の値を精度良く測定できるなら、その値をもとに表を作り直しても良い。
校正方法案:
もし、カモン OND-SのB定数が全然違うならたとえば次のようにする。0 ℃と 100℃の サーミスタ抵抗値と(室温での)10Kの分圧測定用抵抗を同じテスターで測定する。次に その2つの値からB定数を算出して、最初のプログラムの t1,r1,b,R10Kを差し替えて表を作り直す。

校正方法案2:
25℃前後の室温と100℃の2点の方が使用範囲での精度が良いと思えるので、信頼できる温度計を1つ用意して、室温と抵抗値を測定する。そしてこの2点だけで、全部のパラメータを決める。
基準にする温度計については、DE-20W 500円が安価でお勧め(低消費電力タイプは反応がすごく悪いので、実験用には高速応答タイプがおすすめ)。100℃の方は、沸騰したお湯に付けて 抵抗値を測定する。ただ 正確に100℃なのかどうか分からない。ちなみに DE-20Wは 99.8 ℃を示した。

誤差について

上のグラフは、B定数 3400K(0℃,90℃)赤, 3435K(25℃,85℃)緑,3238K(-40℃,25℃)青 で近似したときの実測値との差。2つのB定数を使った最初のグラフは、青と緑を 0.5 で切り替えている。全域で±1℃には入りそうだが そんなに高い精度ではないようだ。赤は、0℃,100℃で校正したらどのようになりそうか見るために作成した。-20 ℃以下を除けば一応±1℃に入っているようだが、校正したとしても、これ以上精度を上げるのは難しいようだ。

(2) USB 電力計

サンワ ワットチェッカー TAP-TST5 というのが商品として有名で、そんなに高いものではない(5−7千円) 。それを買えばよいのだが、高機能(多チャンネル、PC との通信)なものを作ってみるのも良さそう。
(技術資料)交流電流センサの基本コンセプトをみると、交流電流センサはすごい簡単な構造だとわかる。復活した 現品.com にも 非接触 電流検出ユニットとして単価 70円で売っているし、適当なノイズフィルタ用のコアで自作することすらできそうだ。ただし注意点がある。(技術資料)交流電流センサ解説1(出力特性図の見方)にあるように、飽和領域と微小電流領域で直線性が悪くなること。特にフェライトコアを使った場合、微小電流は測定できないと思ったほうが良さそう。
自作するにせよ、現品.com のを使うにせよ 出力特性など判らないから、カットアンドトライで調整しないといけない。そのこと自体を楽しみとできないと、まともなものを作ることは厳しそうだ。
あと、出力も交流なので、交流電圧を測定するための回路も必要だ。50-60Hz と周波数が低いので、オペアンプを使った 絶対値回路か理想ダイオードで整流し、RC フィルタを通して ADコンバータに入力すればよさそうだ。
回路案:

回路図で説明してみることにする。理想ダイオードはダイオードが2つ入っている中央のブロック。低周波数ならリニアな半波整流をしてくれる。(参考:電子回路の豆知識)2段目のブロックは反転した出力をさらに反転させるためのもの(なんとなく入れてみたけど増幅しないなら必要ない)、最後にRCフィルタを通して差動入力のADCで受ける。こんな感じでよいのではないかと思う。オペアンプは、たぶん何でも良い。RC フィルタは 1Hz とかの cut-off で良いと思う。R1 は現物にあわせで決めるしかない。

この回路あまり良くないかも知れない。まず、センサ入力の片側が仮想GNDになっているが、GND にして、R2の手前にコンデンサを入れて交流結合にしたほうが良さそう。あと、入力は微分したものなので、積分器を入れると良いかも知れないが必要らしい。具体的には、二段目の反転増幅器を一段目の前にもってきて、R5 と並列にコンデンサを入れる。また、R1 の値は小さいほうが良さそうなので、一段目、二段目でゲインをかけたほうが良さそう。

ちなみに、ちゃんとした部品を使うならば、上で紹介した技術資料を載せている U_RD というメーカのものが結局は安いらしい。それでも単価1000円ぐらいで結構高いものだそうだ。
参考:現品.com に出ている 交流電流センサ(らしきもの)07/10/18 現在

 非接触 電圧検出ユニット 単価 70円

 コイル 13.3 x 9.8 x 2.1 単価 50円
(注意)買ってみたがサイズは、もっと大きい -- 厚さ6mm / 直径16 mm 、貫通穴径φ6 、最大幅 24mm ぐらい。

現品.com のコイル↑を試してみた。抵抗を取り付け テスタで 抵抗の AC 電圧を測定してみると、50Ωの場合、11W で 7mV , 100Ωの場合 , 11W で 16 mV という感じだった。
400W では、50Ωのとき 0.25V ぐらい、100Ωのとき 0.30V ぐらいだった。ただし、100Ωのときは飽和している。50Ωのときも飽和しているかもしれない。あまり高い電力の測定はできないようだ。10Ωぐらいまで抵抗値を下げるべきかも知れない。
さらに、機器によっては ワットチェッカーと全然違う低い値になる場合があった。かんがえてみれば、電流の変化(微分したもの)を測定しているだけなので、波形が崩れればそうなるのかも知れない。なかなか奥が深い。

測定用に製作した電源コード:


(3) 温度特性測定用 簡易恒温槽

アナログ系の電子工作をしていると温度特性が気になる。それを調べるために、高温・低温の環境を作りたい。いまのところ安い温冷庫 (これとか)を使えば良いのではないかと思う。ただこの手のものは制御が単純で、保温時のみサーモスタットで 65℃/OFF、50℃/ONの制御をするらしい。そのままでも使えそうに思えるけれど、きめ細やかな制御をして温度を一定に保つようにしてみたい。

(4)鉛バッテリー用 デサルフェーターと放電特性を測定する装置

効果があるかどうかわからない(わからないがゆえに効果を調べてみたい)のだが、劣化した鉛バッテリーの復活させるデサルフェーターという装置があるらしい。(参考:デサルフェーターの作り方The Low Power Desulfator)。これを設計して作ってみたい。効果を調べるには、放電特性も測定しなければならない。回路図をみると、バッテリーから LC フィルタを通してコンデンサに充電し、それを昇圧してバッテリーに戻すようなものらしい。昇圧側はコンデンサで平滑せずダイオードを通すだけにする。LC フィルタを通しているので、高電圧のパルスがバッテリーに出力されても、回路には(パルスが入力されず)定電圧が入力されるというのがミソらしい。 昇圧回路のスイッチングが 555タイマでされているために、ちゃんと調整しないとコイルが飽和して焼けてしまうという問題がある。そのような問題点は電流モード制御をすれば解決する。AVR で作れそうだが、手っ取り早く効果を確認するために、最初は、手持ちの DC/DC コンバータ IC M5291FPを使ってみようかと思う。 コイルに流す電流を制限できるし、周波数もコンデンサひとつで制御できる。そして、うまくいけば、入手性が悪い専用ICを AVR に置き換えて、機能も追加したものを作ってみたいし、NiMH とかにも有効なのか確認してみたい。放電特性を測定すること自体は セメント抵抗+放熱器を使い放電し、USB910A で電圧を計測をすればよいので問題ないが、過放電しないように終端電圧になったら放電をとめる機能は必要だろう。

M5291FP回路案:

上の説明ではイメージが伝わらないので回路例をもとに説明してみることにする。右の部分 100uF を電源としてスイッチングして、昇圧回路を通す。出力にはコンデンサがないので、かなり高圧のパルスが出力される(はず)。そして、右の部分 1000uH と 100uF(25V) で cut-off 周波数 500 Hz ぐらいの LPF になっているので、出力のパルスは入力に入らない。スイッチングには、電流モード制御ができるDC/DCコンバータIC M5291FP を使う。Rsc の電圧降下が 0.3V になると On→Off になる。たとえば 2A のコイルを使うなら Rsc を 0.15 Ωにすればそれだけで On タイムは最適になる。定格が同じなら、違うインダクタンス・性質のコイルでも動作する。Off タイムの調整は、発振周波数で行う。Ct の値によって 周波数を設定できる。10KHz 程度が良いらしいが良くわからない。またこの回路は、12V 専用ではない。24V でも、6V でも使えそうだ。3-4セルの NiMH でも使えるかも知れない。回路図には書いてないが、電圧センス機能は当然あるので、一定電圧以上になるととめる機能は付けられる。(参考ページを見ると、18V以上でとめるみたいな話があるので必要なのかも知れない。それはともかく過放電保護のために一定電圧以下でとめる機能はほしい。だが、これを作るのはちと面倒。)まぁこんな感じなのだが、大問題がある。M5291FP はかつて 現品.com で購入したものだが、入手性がすごく悪い。今どこに売っているかも分からないのだ。電流モード制御の DC/DC コンバータICなら上と同じことはできるはずなので、代替は可能。使ったことはないが、TL3842P とかが使えるのではないかと思う。(デジキーで109円) ただ、この程度の制御は、コンパレータ(と基準となる電圧)とタイマーでできる。AVR で作ることも可能なはずだ。
AVR回路案:

ちょっと説明しづらいので回路図を出すと、Rsc は、トランジスタのエミッタ側に移動させる。トランジスタに流れる電流=ONのときコイルに流れる電流なのでこれでも問題ない。で、コンパレータがONになる回数を割り込みでカウントするようにしておいて、その回数があまり増えないように PWM のパルス幅を調整する。あと、5V のレギューレーターが必要になり部品が増える。

コイルの選択と入手先:
共立エレショップ -- 各種安価なトロイダルコアがある。
千石 -- ラジアルリードのLHLC10NBシリーズが安価
いずれにしても 220uH なら1Aぐらい。2A なんてものは入手が難しいようだ。1A 用に回路設計して、いくつかのコイルを試すのが良いかもしれない。
スイッチングトランジスタの選択について:

注意)この回路例は、説明するために作成したもので動作確認したものではありません。
posted by すz at 20:47| Comment(2) | TrackBack(0) | 日記
この記事へのコメント
始めまして
M5291FP って 構成見ると MC34063,NJM2360と
一緒ですね。
コイル電流1A程度でよければ 内蔵TRでいけそう。
Posted by 久我 at 2007年11月26日 10:58
情報ありがとうございます。
データシートみたら、MC34063,NJM2360 も電流制限ができるのですね。できないものとばかり思っていました。なら、1.5A 流せるしこちらの方が良いと思います。
Posted by すz at 2007年11月26日 17:32
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/30760409
※ブログオーナーが承認したトラックバックのみ表示されます。

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