評価版から製品版に入れ替え。

GUI(コントロールパネル>システムとセキュリティ>システム)でキーを変えようとすると、アップデート対象ではないと言われるので、コマンドプロンプトから、

dism /online /set-edition:serverstandard /product-key:xxxxx-xxxxx-xxxxx /accepteula

安く売ってたHPの電源です。
4系統あって2系統毎に仕様が違うんだけど、
適当に書くと、出力は、50V 1A、16Vまでなら2A、
精度は、1mVくらい出ます。
安物のテスターよりは正確です。

ただ、コネクタが背面にしかなくてネジ止めなので、
実験電源としてはちょっと使いづらい。

というわけで、前面にコネクタを出してきました。
無くてもいいんだけど、一応コネクタのところでセンスしてます。

IMG_8733.jpg

箱はアクリル板で作成。後ろは閉じてない。
ジョンソン端子で4系統分。

IMG_8736.jpg
接続。

IMG_8738.jpg
完成。

ちなみに、この電源は、突入電流が結構激しいみたいで、
電源を入れると部屋のUPSが反応する。
動作音も結構うるさい。

P1020382.jpg
重量の大半はトランス。
出力回路は、上下左右で4系統が別基板。


恒温槽の構想絡みで、安いペルチェ素子を使った温蔵庫を買ってきました。

TWINBIRDのHR-D206というもので、
切り替えで、冷蔵 5°C、7°C、温蔵60°Cの設定ができます。
P1020317.jpgP1020319.jpg

まずは分解しました。
電源は12Vで、仕様と型番からおそらく5Aです。
P1020320.jpg

制御は、
・ペルチェ素子
・セメント抵抗 実測3.5Ω
・サーミスイッチ
で、スイッチで接続を切り替えるくらいで行なっています。
P1020323.jpg

冷蔵は、ペルチェ素子は常に通電です。
通常時は、サーモスタットで7°Cくらいになるとファンを回すのをやめます。
強冷時は、ファンも常に通電です。

温蔵は、セメント抵抗に通電して、ペルチェには逆電圧をかけます(5Vくらい)。
仕様では60°Cまでしか上がらないらしいので、多分、セメント抵抗と直列にサーモスイッチがあります。

魔法瓶がぴったり入ります。
P1020324.jpg

とりあえずマイコンで制御できるようにインタフェース出そうとしたけど、
4Aも流せるFETもリレーも在庫が無かった。



白金測温抵抗体 Pt100

規格はJIS  C1604-1997参照。

class A
許容差 ±(0.15 + 0.002|t|)°C
R0=100±0.06
R100=138.50±0.13

1/3
R0=100±0.04
R100=138.50±0.1

1/10
R0=100±0.01
R100=138.50±0.03

R0は0°Cの抵抗値。R100は100°Cの抵抗値。
許容差の|t|は摂氏での絶対値。

規準抵抗値
Rt = R0 [ 1 + At + Bt^2 + C(t-100) t^3 ]
A = 3.9083 * 10^-3 °C^-1
B = -5.775 * 10^-7 °C^-2
C = -4.183 * 10^-12 °C^-4

0度付近での1度の変化は約0.39083Ωなので、
class AのR0の誤差0.06から、
0.06/0.39083=0.1535 と、許容差の0.15°Cになります。

1/10は、class Bの1/10ですので、class Aの1/5で、
0°Cでの許容差は0.03°C、25°Cで±0.04°Cです。
1/3だと、0°Cで0.10°C、25°Cで±0.13°Cです。

1/3のセンサを使えば、常温で約0.1°Cくらいの精度が出せることになります。
1/10で、約0.04°Cです。
実際にはラインナップ最上位ならもうちょっと良いと思います
(ラインナップ下位は選別で良いものが除かれている可能性あり)。
逆に、0.01°Cの精度が必要なら、class Bの40倍の精度が必要です。

多くの製品はclass Bみたいです(class Aの半分の精度)。

RSコンポーネンツで買える高精度センサ。
1/3

XQ040RS \830

PTFC101T \700

1/10

PR160810 \5570


実際の回路は、ΔΣADCで組むのが簡単に高精度が得られて良いようです。


かなりツールの無駄遣いだけど、あるのだから使ってみる。

LayeredGraphPlot[
 {
  {Out -> Out, "25-35"},
  {Out -> Off, "<25"},
  {Out -> 30, "25-35*"},
  {Out -> 27, ">35"},
  {Off -> Out, "25-32"},
  {Off -> Off, "<25"},
  {Off -> 30, "25-32*"},
  {Off -> 27, ">35"},
  {30 -> Out, "25-32"},
  {30 -> Off, "<25"},
  {30 -> 30, "25-32*"},
  {30 -> 27, ">35"},
  {27 -> Out, "25-32"},
  {27 -> Off, "<25"},
  {27 -> 30, "25-32"},
  {27 -> 27, ">32"}
  },
 EdgeRenderingFunction -> ({Text[#3, LineScaledCoordinate[#1, 0.6], 
      Background -> White], 
     If[#3 === ">35", Red, If[#3 === "<25", Blue, Black]], 
     Arrow[#1, 0.1]} &),
 VertexLabeling -> True]

描画オプションは、リストでヒントだけ作っておいて、後でEdgeRenderingFunctionで操作すると便利。
LineScaledCoordinateで0.5(50%の位置)にすると、双方向で重なるので、少しずらすと良い。
#2から対象となっているリストの要素が頭から取れる。
#1にはエッジ描画のマトリクスが入っている。

ARM9でlog計算

| コメント(0) | トラックバック(0)
ARM向けに整数演算のみで対数の計算をします。

ADCでの入力に使うことを前提にしているので入力は12bitです。
入力の最大値が1未満になるようにするため、
2^12を底とする対数を求めます。
そうすると、結果は[0,1)になるので、小数部だけの固定小数点として扱えます。

言い換えると、
log(x) / log(2^12) * 2^32
または、
log(x) / log(2^12) * 2^16
を計算します。

とりあえず、素数とその対数をテーブルにして計算してみました。
素因数分解して、それに対応する対数の総和を求めます。
テーブルの持ち方を工夫すると、1素数あたり2byteで済みます。

通常は、範囲をなるべく狭くした上で、
ニュートン法で適当な精度まで上げるようです。

20110821-P1020065.jpg

昨日の記事を書いていて、シロッコファンだけ汎用的に使えそうだと気づいたので、

制御方法を調べてみました。


モーターは、おそらく菱電旭製。

SFN-100-7-4Eという型番があるが、詳細は不明。以下、実測。

AC100V 単相 外径90mm

強弱2段階

無負荷時 0.12A 0.06A

ファン使用時 0.19A 0.11A

-黒で使用

-黒で使用

強弱は排他で使用すること

コンデンサ始動 外付けコンデンサ 3uF -灰に接続

始動時は強運転で動作させる(3秒間)

 

制御基板でのモーターの制御は、赤外LED+フォトトライアックで

モータへのAC供給をON/OFFで制御しています。

強運転用と弱運転用は別ICです。

 

制御基板の2次電源は、AC入力の片側をGNDとして、-5Vを生成しています。

コンセントへの差し込み方向によっては、

ACの非接地(L)側が2次のGND扱いになることもあるので感電や漏電に要注意です。

たとえば、LEDには数Vしかかかっていないと思って端子に触ると

50%の確率でAC100Vで感電します。

この仕様があるので、2次側は流用しにくいです。

加湿器

| コメント(0) | トラックバック(0)
三菱の気化式の加湿器です。
使うには消耗品交換が必要で、今冬までに買い換える予定があるので
最後のお勤めということでバラシました。

注:分解・改造は推奨しません。

この前に、別のメーカーのものを使っていたのですが、
それは設計的に問題があって、数年で壊れてしまいました。
三菱の場合は、そのような問題はなく、よく働いてくれました。


20110821-P1030031.jpg

全景。
湿度が表示されますが、あまり参考にした記憶はありません。
気化式は極端に湿度が上がりすぎることはないので、
運転切り替えもあまり気にしたことがありません。
でも、あって困る機能でもないので、「悪い」ということではないです。

外装の化粧パネルは、はめ込んであります。接着はありません。

20110821-P1030035.jpg

ファンはシロッコです。
気化フィルタの上方から湿った空気を吸い込んで、機体上面から出します。
機械としては、
 水に浸ったフィルタ
  +
 湿度でコントロールされたシロッコファン
です。

20110821-P1030040.jpg
制御基板は、ケースに入って、機体内部に格納されています。
濡れる心配は無いので、シーリングはされていません。
積極的に濡れはしないけど、何かあると漏電してしまうから、
安全のためにケースに入れてある、というところでしょうか。
AC部のケース外部にノイズ対策でアルミシートが貼ってあります。
コンデンサが抵抗と同じアキシャルリードなのが特徴的です。

4MHz駆動のマイコン1発で動いてるみたいです。
なんでこんなに抵抗やコンデンサが必要なのか不思議ですが、
興味がなかったので深くは見ていません。

作りが全体的にエアコンのようでした。
空調機器なので、エアコンと同じ部署が開発しているのだと思います。


bal2unbal.png

バランス→アンバランス

unbal2bal.png
アンバランス→バランス

両方とも一般的な回路らしいです。

アンバランス→バランスの方は、フィードバックがちょっと複雑ですが、
ホット・コールドのいずれかをGNDに短絡してアンバランスとして
使える仕組みになっています。


半固定抵抗がヨーロッパ式の記述なのは、使っているツールでアメリカ式が見当たらなかったからです。どこかにあったはずなんだけど・・・
20110810-P1020995.jpg

オーディオ信号を、バランスで入力して分配(バランス4系統、アンバランス2系統)する機材です。
どうやっているのか気になったのでバラしてみました。

電源は、AC100Vをトランスで降圧してから、ブリッジ、平滑コンデンサを通して、
3端子レギュレータ(7815, 7915) で±15Vを作ります。
超あっさり仕様です。

基板の左右で2ch分です。
まず、バランス入力を一旦アンバランスに直します。
そのままアンプを通して、アンバランス2出力にします。
また、オペアンプを1個ずつ使ってバランス4出力を作ります。

製品仕様を見たときは、アンバランス出力はおまけで、
バランスはコールド・ホット別々に処理していると勘違いしていましたが、
良く考えてみたら、別々に処理したら、平衡性が悪くなるのでした。
おまけと言えばおまけだけど、アンバランス出力はちょっとした副産物でした。

コネクタ基板とメイン基板がフラットケーブルで繋がっているのが、
なかなか潔いです。1信号あたり、4線使って、GNDを交互に挟んだりしていますが、
それ以上気にしても関係ないってことなのでしょう。

オペアンプは、全てTIのNE5532Pです。

バランス出力への変換もNE5532Pですが、集合抵抗状の部品が使われていて、
オペアンプまわりがすっきりしています。
この集合抵抗はカスタム品らしく、CRがそれなりの自由度で組めるようです。
そういう部品があることを初めて知りましたが、
基材にチップ抵抗・コンデンサを付けて、モールドしているみたいです。

回路図は起こしてあるので、そちらは後ほど。