居酒屋ガレージ日記ZAQのBloGariで書いていた「居酒屋ガレージ日記」の移転先です。入力していただくと、バックアップした記事が出てきます。この中の定電流回路(充電用と放電用の2つ)この電流検出抵抗をあれこれ模索。今回使ったのは手持ちの関係で5W・0.3Ω。その発熱が悩みどころ。セメント抵抗に電力を食わせた時の温度上昇。こんなグラフが出ていました。https://www.e-globaledge.com/products/ecomponents/tdo/温度特性が「±400ppm/°C」。いうことは、10°C変化で0.4%。してはちょいとなぁ~なんですが、とりあえず手持ち部品の関係で「5W0.3Ω」というのを用いました。今回の回路、最大1.5Aで0.3Ωだと0.7Wほど。5W定格の14%ほど。上昇温度が30°Cほどと読み取れます。いうことは抵抗値として1%ほどの変動を覚悟しなくてはとなります。仕事の装置ではこんな抵抗を使っていました。※手持ちが無いので今回は使えなかった。「PWR4412」という金属でできたコの字のバー。これで「±20ppm/°C」。ラインナップされている最高の抵抗値が「0.1Ω」。定電流回路の制御電圧を下げなければなりません。今は制御電圧0.5Vで1.6A。電流検出抵抗を0.1Ωにすると、0.16Vで1.6Aという制御になり、ちょっと電圧が低いかな~というところです。手持ちの「コの字状抵抗」を引っ張り出してきました。30mΩのと50mΩのが各2つ。「PWR4412」、廃番になってました!えらいこっちゃ。代替品を探さなくてはなりません。ビシュイでSR3R、SR5Rというのが使えそう。温度係数が悪いか・・・。SR3R(3Wタイプ)だと0.1Ωがある。RiedonというメーカーでMSR5というのでも0.1Ωがある。抵抗値を小さくすると、同じ電流なら電力がダウン。1.5Aで0.3Ωだと0.675Wだったのが、0.1Ωにすると0.225Wに。これで、発熱がずいぶんと減ります。↑にあるグラフのように「負荷率に対する温度上昇曲線」あれば発生誤差が推定できるんですけれどねぇ。ハードが固まりました。制御プログラムをごそごそしています。0.5Cで充放電させる必要があるので、設定できる最大を1.6Aにしています。充電側のヒートシンクをもうちょい大きくしたいところ。(金)メモ:4-20mA電流ループ用ICとデジタルアイソレータ回路設計で調べ物をしていたら、「TI」のであれこれ新しいデバイスを発見。便利なデバイスがありました。1個で4-20mAのカレントループ。センサー回路の電流が4mA内でOKならむちゃ簡単。OP-AMPで組んでも同じ構成になるだろっと。センサー回路が大食いの時、3線式あるいは4線式ならこれ。(GND側を共通にできる)※デジタルアイソレータCANバス絡みに広がっているんだろか。安価で使いやすいのがあれこれと。フォトカプラでの絶縁とは異なる手軽さ。(2ch)そして、入力インターフェス用。24Vを受けるのに便利そう。http://www.tij.co.jp/product/jp/ISO1211↑のhttp://www.ti.com/jp/lit/pdf/SLLA382が面白いかと。高電圧回路を絶縁受けする場合、フォトカプラだと電流制限抵抗が「熱くなる」わけですが、これだと小ワットの抵抗でOK。※エクセルでの文章はキライ!エクセルで図と文を混ぜて書いて「ハイ、これが仕様書」っと渡させるとちょいとイライラします。そんなときは「こちらの環境が悪いのか見にくいのでpdfにして送り直してちょ」と返答するようにしています。数式処理の確認も、エクセルを使うと簡単にグラフ化できたりと便利なのは間違いないんですが、私の場合、「あまりしたくない感」が勝ってしまいます。そんな場合、何を使うかというと「awk(gawk)」。テキストエディターでスクリプトを書いて、コマンドプロンプトで実行。リダイレクトで結果をテキストファイルに。グラフ化したいなら、その結果をエクセルに食わせるという具合。先日のこと、逆三角関数arcsin、arccosを使った処理の検証をしようとしたところ、・・・awk(gawk)には「asin()、acos()」関数は実装されていなかった。三角関数sin、cos、atan2、それにsqrtは実装されてますんで、これらを使ってどうにかしなくちゃなりません。三角関数の変換式を検索しながら、awk(gawk)に関連付けて探すと、発見!これ↓。}asin()とacos()が得られました。その「アナログ出力がおかしい」という修理依頼。おかしい原因は判明したのですが、故障箇所とは関係の無い警報出力用リレーの外観に異常を発見しました。2つあるリレーの片方、外装樹脂が溶けています。端子台で外に出しているのはA接点だけ。※この場合はリレーの中から発熱。外観を見る限り、何か溶剤のようなもので溶けてしまったような感じです。基板上にそんな痕はありません。交換用に注文した部品が来てからリレーを外して解体してみます。※リレーを外した結果です。外装が溶けていたのは「コイル側」。中はこんな状態でした。コイルも接点も異常なし。おかしな変色は見えません。裏にも影響が見えますが、表ほどひどくはありません。いうことは、今回の異常は表側が発端。簡単に溶けてしまいました。はて・・・原因はなんだろう。ユーザーで何かしたとした思えない。1/1024定番回路、「これはあかんやろ」を指摘したんが・液晶表示モジュールを4ビットモードで使ったときの空きピン処理。誰かが始めた間違ったつなぎ方(この場合はチップメーカーのアプリケーションノートか)がずっと踏襲されて広まってしまったというのを発見しました。これをトラ技の記事にしたのが2009年5月号。以後、空きピンをGNDにつないでしまう例、だいぶ少なくなってきたように思います。新年早々こんなのを発見しました。Arduinoを使ったバッテリー放電器A/D変換データを電圧値にスケーリングする処理がスケッチに書かれています。0~1023(10進)の値が得られます。これの処理が間違っていたのです。バッテリー電圧測定(正しくはこっち)10bit値で1/1023と1/1024の違いですので、差は0.1%ほど。わずかですが、原理的に間違っていますんでこれはまずいです。※A/Dコンバータが8bitだとミスによる実際の誤差が目につくでしょう。実値との差に気がつく。※理屈の詳細はラジオペンチさんの記事のコメントをご覧ください。この「1/1023と1/1024」、調べてみると「1/1023」を使っているプログラム例があちこちに出てきます。どこが発端なのかは調べ切れてませんが、ArduinoのanalogRead処理で多いような気がします。勘違いの処理が広まっているかもです。正しく使えば、「外部基準電圧とAREFピンの間に抵抗を入れておく」なんてことはしなくてもokですから。どなたか使いますか?もらい物の古~い直流電流計。