雑記/2007-12

<< 2007-12 >>
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

2007-12-21

[公開:any]

[電源,AVR,ATtiny26,LM358,電流計]

header

面倒なケース加工をサッと済ませて実験用電源を完成させます。

body

ということで、いきなり完成写真です。今回のアルミケースは、パネルの厚さが1.5mmあるため加工が結構大変でした。穴あけだけならボール盤で簡単にいけますが、液晶ユニットの開口部等の加工は現物あわせでシコシコとやすりがけなんかがあるので大変です。

毎度のことですが液晶の固定は、ホットボンドです。開口部は液晶ユニットがぎりぎり入る大きさにしてあるので、特に固定しなくてもホットボンドでも十分保持されています。

あと、見てわかると思いますが、オペアンプのゲイン調整VRに実装配置の都合で横型を選択したために、基板を固定すると非常に調整しにくい状態となっています。一度セッティングすればめったに触ることはないので良しとしています。

DSC01166.jpg

前面パネルです。出力端子はワンタッチスピーカー端子を使用しました。左が固定系(+5V)で右が可変系です。端子の接触抵抗が多少あるようですが、わずか数アンペアの電源には十分だと思います。手早く接続や切り離しが出来るのでお勧めです。

液晶右側には、各出力のオン・オフスイッチをつけました。市販の実験用電源でも複数出力のあるものは付いているものが多いみたいです。

DSC01168.jpg

MOS FETを使った電子負荷装置の製作」で作った負荷装置を接続して負荷試験を行います。
固定系(+5V)の出力は、17V近い電圧からのレギュレートなので熱損出がキビシー状態です。連続負荷試験として約400mAを10分間行いましたが、3端子レギュレータの保護回路が働くことなく無事に動作しました。でも、ヒートシンクは触れないほどの熱になっています。
(当然、テスト中はケースの蓋を閉めてやっています。)

可変系は出力電圧12V、負荷電流3Aで連続負荷試験を10分間行いました。ヒートシンクとして使用している背面パネルは熱くなりますが、安定した動作です。電圧の降下も規定以内で特に問題はありません。
次に出力電圧5Vを試験しましたが、3A出力は、20秒程度で3端子レギュレータのヒートプロテクタが働いて出力電圧が低下します。しかし、2Aは連続出力できました。

電圧の可変範囲は、1.34V〜19.5V(開放時)となります。負荷をかけての実用範囲は、1.34V〜15Vとなりました。

DSC01171.jpg

電源としての機能は、計画とおりです。AVRマイコンのATtiny26を使った電圧・電流計のテストをして見ました。一応、ケース組み込み前にオペアンプLM358のゲイン調整をすましてあるので、テスターと比較してみます。

可変系の電流値です。テスター380mAのときに370mAを表示して10mAの誤差です。3Aまでテストしましたが、-10〜+30mAまでの誤差がありました。

DSC01176.jpg

固定系の電流値です。テスター114mA時に116mAの表示です。誤差は数mAですが、製作した電流計は最下位が安定しません。無負荷時にも数mAの表示を行うことがあります。オペアンプのオフセット電圧が数mVあるためだと思います。

DSC01179.jpg

可変系の電圧値です。かなり正確に測定できます。電圧範囲すべてにわたってテスターとほとんど誤差はありません。

DSC01180.jpg

AVRのプログラムは、問題ありませんでしたが、電源オン・オフを繰り返したところ液晶表示がおかしくなることがたまに発生しました。リセットがうまくかからないようです。AVRの内蔵クロックをスタートアップから6CK+64msとするのと、ブラウンアウトリセットをEnableするヒューズビットを書き込んで正常となりました。

DSC01182.jpg

2007-12-20

[公開:any]

[電源,AVR,電流計,TL431]

header

引き続きワンチップマイコンのAVRによる電圧計・電流計を内蔵した実験用電源を製作します。基本的な構想はかたまったので、まず、回路図エディタのBsch3Vで回路図を描いて、それから基板パターンエディタのpcbeで実体配線を設計します。

body

先日から、電流検出抵抗の場所でなやんでいたのですが、オペアンプの差動増幅回路がうまくできないので、結局、グランド側に入れることにしました。

使用するトランスは、タップが複数あるので可変系は最大16Vを得るために14Vのタップ、5Vの固定系は、3端子レギュレータの発熱を下げるために8Vのタップを利用するのが理想的ですが、後段のAVRを使った電圧・電流計とのグランド電位を両系とも共通化する必要があるので、5V固定系も可変系と同じところから供給します。

5V固定系の3端子レギュレータは規格上1.5Aまで出力できます。しかし、14Vのタップを全波整流した電圧約17Vを利用するので3端子レギュレータでの熱損出が大きな値となります。このため、予定している小さな放熱板(TO-220専用のもの)では、実用的には300mA程度までしか出力できない計算となります。

power_gene.png

回路基板は、ユニバーサル基板として電源系と電圧・電流計の2枚の基板に分割します。電源系は、将来的に可変系と固定系の2系統に分割できるように設計しました。可変系の3端子レギュレータの放熱はアルミケースへの固定を考えているので、外付けとしました。

このパターン図を参考にする方はいないと思いますが、ISP接続のところが一部間違っています。(2007-12-21追記)

power_gene_pcb.PNG

・・で、回路図とパターン図さえできれば、すぐに基板実装できます。

DSC01159.jpg

電源回路のほうは、パターン図と反対に作ってしまいましたが、設計とおり繋がっているので問題はありません。(と思う)
あと、メンドーになって多少、手抜きしています。^^;

DSC01160.jpg

液晶ユニットを接続してテストしてみます。AD変換はシャントレギュレータのTL431を使って、3Vをリファレンス電圧としています。電圧は0~30V、電流は可変系と固定系とも0~3Aまでとして、固定系は1mA単位までとしています。(そこまでの精度があるかは微妙ですが・・)

DSC01161.jpg

あとは、これまで使っていた電源からトランスを取り出して完成まで一気に作業を進めたいと思います。(一気に作らんと、その間の実験用電源がないことに)

DSC01162.jpg

2007-12-16

[公開:any]

[電源,LM358,電流計]

header

先日からの続きで、電源の電流測定のためのテストをやっています。どうもオペアンプでの差動増幅回路というものがうまく出来なくて苦労しています。

body

電流検出抵抗を負荷の前に入れるか後ろに入れるかをそれぞれ、ハイサイド電流検出とローサイド電流検出と言うらしいです。たまたま買ったトランジスタ技術(2008年1月号)に電源電流の高精度測定という記事があってわかりました。・・・・でも、オペアンプの差動増幅は解決していません。

とりあえず、10KΩと100KΩの金属皮膜抵抗(誤差1%)が入手できたので、基本的なオペアンプ1個を使う差動増幅回路を試してみました。

・・・・が、結果はカーボン抵抗のときと同じで計算とおりに出力されません。一応はそれらしい値が出力されるのですが、電流検出抵抗の両端電圧に比例した出力ではなく直線性の悪いデータしか取れませんでした。

LM358がまずいのかと、同じ単電源で動作するLM324やLMC662を試してみたけど、ほとんど同じ結果です。

DSC01156.jpgDSC01158.jpg

残念ながら、ハイサイド電流検出はあきらめてローサイド電流検出でいこうと思います。

2007-12-13

[公開:any]

[電源,AVR,LM358,電流計]

header

実験用電源に内蔵する電圧・電流計は、とりあえずAVRをつかってブレットボード上に完成したのですが、電流測定のための電流検出抵抗と、その後のオペアンプによる増幅で頭が煮詰まっています。

body

以前のPICを使った電流計の製作では、電源のグランド側(負荷の後ろ?)に電流検出抵抗を接続して、その抵抗にかかる電圧をオペアンプで増幅してPICのAD変換に入力しています。この場合は、片側が完全なグランドなのでオペアンプの非反転増幅回路で問題なく動作します。
(下の図の右側の接続方法)

今回の電源は、2系統の出力があってそれぞれの電流を測定する予定です。この場合、負荷側で2系統のグランドを接続した場合に、いままでと同じ電流検出では、まともに動作しないような気がしています。(自信なし)

インターネットで、電流検出について調べてみると、負荷の手前で検出しているのが多いようなので、今回はこの方式でやってみようと実験をしています。
(下の図の左側の接続方法)

current_dct.PNG

電流検出抵抗の両端の電位差をオペアンプで増幅してやればよいので、差動増幅回路を作ります。使用するオペアンプはナショナルセミコンダクタ社のLM358とします。LM358のデータシートや他のオペアンプのデータシートから差動増幅回路を3種類ピックアップしました。

opamp_diff1.PNG
opamp_diff2.PNG
opamp_diff3.PNG

3種類ともテストしてみたのですが、どの回路も計算(理論?)とおりの出力が得られません。

DSC01154.jpgDSC01155.jpg

データシートやインターネットからの情報によると、使用する抵抗は、誤差1%以下の金属皮膜抵抗等を使う必要があるようです。手持ちは誤差5%のカーボン抵抗(炭素皮膜抵抗)しかないので、出来るだけバラつきが少ないようにテスターで値をそろえてやってみたのですがだめでした。

とりあえず、出来るだけ誤差の少ない金属皮膜抵抗を入手して、もう一度テストしてみようと思います。それでもダメならグランド側に電流検出抵抗を入れることにします。

2007-12-9

[公開:any]

[AVR,電源,ATtiny26]

header

電子負荷装置の製作も完了したので、実験用安定化電源の製作に取り掛かります。とは、いっても、トランスと3端子レギュレータつかった単純なものですね。この電源に内蔵する電圧計と電流計をワンチップマイコンのAVRかPICで作ってみます。

body

今回も、ワンチップマイコンをAVRにするかPICにするかで悩みます。
電源は、+5V 固定出力と+1.5〜16Vまでの可変出力の2系統とする予定なので電流計が2系統、可変電圧の表示に電圧計が1系統と合計3系統の表示が必要となります。できれば、3系統を同時表示したいと思います。
7セグメントLEDで表示部をつくると、かなりのポートが必要となるか、ダイナミック点燈にでもしたらえらいややこっしい配線になることが想像できます。・・ということで、LCDを表示に使うしかありませんね。
AD変換が3ポート以上で、LCD接続(4bit接続)で6ポートとなるので、手持ちからの選択肢は、PIC16F88かAVRのATtiny26ということになります。PIC24FやATmegaシリーズは、オーバースペックでしょうね。

で、今回は、AVRのATtiny26を使うことにしました。

DSC01142.jpg

早速、日本語のデータシートを”HERO'S Download"からダウンロードさせていただいて(ありがとうございます。)、スペックを確認するとAD変換も11ポートあるし、ピンも20ピンDIPということで余裕でしょう。ただ、フラッシュメモリが2KByteと少ないのが気になります。

AD変換(ADC)をこちらのAVRWikiを参考にしながらプログラミングしてみました。

DSC01147.jpg

とりあえず、3系統の電圧表示が完成しました。
前回、AVRを使用したLCメーターの製作では、フラッシュメモリ16kByteのATmega168を使用したので、LCDへの実数表示にfprintf を使って簡単に実現したのですが、今回も同じ手法をとると、かる〜く、2KByteをオーバーします。(というか4KByteを超えます--;)
それだけじゃなくて、実数計算を行うだけで2KByteを超えるので整数演算しかできません。ちょっとなやんだのですが、さっきのAVRWikiサイトのサンプルプログラムに小数点表示機能つきのitoafなんて関数があったので利用させてもらいました。(ありがとうございます。)

あと、LCDライブラリは、あきぼうのAVRで遊ぶ日々からいただいたものをそのまま利用しております。(ありがとうございます。)

ということで、大部分が他力本願ですが、なんとかこれでイケソウデス。

2007-12-7

[公開:any]

header

冬季専用ノートパソコンをSONY VAIO PCG-SRX3から買い換えることにしました。値段と性能からDELL XPS M1330を選択しました。

body

冬はコタツですね。
・・で、普段はデスクトップPCをつかってますが、冬季のみ限定でコタツでノートパソコンを使います。(別に冬季にしか使わないわけではないですが、使用頻度からほぼ冬季専用ということです。)
これまでは、6〜7年前に購入したSONY製のVAIOをつかっていました。CPUはceleronの650MHzという数世代前のものです。とはいっても、使い方は、ほぼ100%インターネットのWebブラウズなので、速度的には不満はなかったのです。
・・が、最近、ちょくちょく固まるようになって調子を崩していました。

まぁ、15万円程度で、6年使えば元は取れただろうと・・今回も、予算15万円程度でノートパソコンを探しました。

で、買ったのがコレ。DELL XPS M1330です。本体はキャンペーン中で10万円チョット。付属品や、4年間のカスタマーサポート?をつけて15万円弱です。
CPUも早そうだし、メモリも2GByteだし、HDDも120Gbyteだし、DVDマルチドライブ内蔵だし・・・・・スペック的には大満足。値段も大満足。

DSC01105.jpg

本体は、カッコいいジャケットケースに入っています。

DSC01106.jpg

マニュアル類も専用のケースに収容されています。

DSC01107.jpg

これまでつかってきたVAIO PCG-SRX3との比較です。おもってたよりデカくて重たいです。

早速使ってみます。・・・・・・・・・・・・・・・・・

DSC01111.jpg













壊れています。
箱開けて30分で不良に気づきました。本体のマルチメディア関係のスイッチが機能していません。DVDを入れたらイジェクトできません。DVDの再生も変です。

要するに初期不良というやつですね。

早速、高い金はらってオンサイトサポート契約しているので、サポートに電話します。

最近のDELLのサポートは、評判がよくないのですが、自分の場合は担当者がよかったのか不満のない対応で、1時間ほどあれこれやらせられましたが、無事?に製品不良を認めてもらいました。

で、初期不良なので交換だろうと思っていると、DELLは、BTOによる製品供給なので新品交換は行っていないということを告げられました。
じゃ、修理っていうことになるのですが、修理の内容からオンサイト対応できないとのこと。来週、ピックアップして7〜10日あずかって修理するということです。

オンサイトサービスの契約って、Webサイトには、修理部分が特定できれば、翌営業日に出張修理するという内容になっています。

ちょっと、納得できない旨をつたえると、簡単に「じゃ、返品してください」と言われました。返品してもらえれば、新しい製品を手配できるということらしいです。

ということで、返品手続きは営業部門と調整してくださいとのことでしたので、営業からの電話を待ちます。

(週末をはさんだので)数日後、営業部門のかたから連絡がありました。
なんか日本語が変です。・・・カタコト・・・・・・・外国のかたのようです。
日本語は正確なようですが、アクセントが変なので話がわかりにくいです。良品への交換については、サポート部門が言ったかもしれないが、返品手続きは営業部門の管轄なので・・・・・・・どうのこうの・・・
要は、「返品には応じるが、新品には交換できない」とのことです。再度、客が自分でオンライン注文をする必要があると・・・・いうことらしいです。再度のオンライン注文時は、まったく同じものが同じ値段で注文できるかどうかは、一切保障しないということを言われました。また、返品後は、再度注文するかしかいかも含めて自由だとも言われました。

仕方ないですね。納得できませんが、返品することにしました。
ちなみにDELLは、10日以内なら返品を受け付けるそうです。今回は、製品不良なので、送料もDELLもちでOKだそうです。


で・・・・新しいノートPCを調達・・・

DSC01119.jpgDSC01123.jpg

なんか変です。VAIOと書いてあります。

DELLはあきらめました。商品の初期不良は、ある程度は仕方ないと思います。新品交換せずに修理対応もなんとかがまんできます。でも、サポートの契約に不安を感じたからです。(サポートの電話対応していただいた日本人の男性と思われる方の対応に不満はありません。また、日本語が変な営業の方の対応にも不満はありません。)

結局、近所の量販店で、DELLより高い値段でスペックのほぼ同じノートPC買ってきました。VAIOが特別気に入ったわけでも、SONYのサポートに満足ということではなくて、近所の量販店の対応が信頼できるということです。

さっそく、FirefoxをいれてコタツでWebブラウズ三昧です。おそらくこの先、このPCで別のソフト使うことは稀でしょう。Office2007も付いてますが、絶対に使わないでしょう。^^;

でも、DELL XPS M1330のスペック、デザイン、値段にチョット未練。

そもそも、WebブラウズだけにCore2Duo、2Gbyteメモリ、DVDマルチドライブが必要かどうかが疑問ですな。

2007-12-4

[公開:any]

[PIC12F683,PWM,LM35DZ]

header

一応、完成した電子負荷装置ですが、電源を入れた状態で負荷をかけなくてもヒートシンクファンが全開運転するので、チョットうるさいです。そこで、ワンチップマイコンのPICをつかって温度による回転制御を組み込みました。

body

8ピンのワンチップマイコンは、PICならPIC12F683、AVRならATTINY45が手元にあります。両方とも、A/D変換やPWM出力をハードウェア搭載しているので今回の目的にぴったりです。AVRは、プログラム格納するフラッシュメモリが4KByteもあるため、今回の用途にはもったいないような気がします。

・・・ということで、今回はPIC12F683を使用することにします。

温度センサーは、よく使われているナショナルセミコンダクター社のLM35DZを使用します。LM35DZは、トランジスタみたいなTO-92パッケージで0〜100℃まで検出できます。電源5Vを供給すると、出力端子では10mV/1℃が得られます。つまり、20℃だと200mVの出力が得られることになります。

下の写真のLM35DZは、今売っているレーザー刻印のものではなくて、発売当初のシルク印刷されたもので、15年近く前に購入したものです。

DSC01527.jpg

ブレットボードで開発します。本来なら、LM35DZの出力が数100mV程度なので、オペアンプ等で増幅した信号をPICのAD変換へ入力したほうがノイズ等の影響を受けにくくて良いのですが、今回は部品点数を減らすため直接接続しています。

DSC01618.jpg

最終的に、以下の回路図としました。MOS FETはサンヨー社のTND012NMで秋月電子で10個300200円で売っているものです。最大負荷は60V1.5Aまでと冷却ファン程度なら余裕でドライブできます。PICの電源5Vは、外部から供給してもよかったのですが、電圧計で使用している5V系にノイズ等の影響を与える可能性もあったため、12Vから3端子レギュレータで取り出しています。

fan_ctrl.PNG

LM35DZの出力にノイズ防止のコンデンサ追加(2008-01-14)

3端子レギュレータの発振防止のため、入力にコンデンサ追加(2009-06-01)

PICのプログラムは、mikroCで開発しました。mikroCには、AD変換とPWMのハードウェア制御が標準ライブラリとして準備されているので、ヒジョーに簡単にコーディングできます。
今回使用したソースコードは、以下となります。PWMは8KHzとしてLM35DZが30℃以上を検出すると段階的にPWMのデューティ比をあげていきます。50℃以上で全開となります。
一応のノイズ対策のため、AD変換の読み取りは、5msの間隔で3回行い、その平均値を制御に使います。

PIC12F683のPWMは、10bitなので0〜1023までなのですが、mikroCのライブラリは8bitにしか対応していないようです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
* PWM Fan Speed Control
*
* PIC 16F683
* 
* Device Flags:
* _CP_OFF  _MCLRE_OFF _PWRTE_ON _WDT_OFF _INTRC_OSC_NOCLKOUT
*
*/
 
void main() {
    unsigned int ad1, ad2, ad3;
    unsigned int level;

    OSCCON = 0b01110000;        // 8MHz internal clock
    ANSEL = 0b01011000;            // AN3 and Fosc /16
    ADCON0 = 0b10001101;        // AD control CHS=11(AN3)
    CMCON0 = 0b00000111;       // Comperator not select

    PWM_Init(8000);             // PWM initial 8KHz
    PWM_Start();               // PWM start

    do {
        ad1 = Adc_Read(3);            // Read AN3
        Delay_ms(5);
        ad2 = Adc_Read(3);            // Read AN3
        Delay_ms(5);
        ad3 = Adc_Read(3);            // Read AN3
        level = (int)((ad1 + ad2 + ad3) / 3); // Avg. AN3

        if(level < 50) {                // 25℃以下
            PWM_Change_Duty(0);
        } else if(level > 61 && level < 70) {  // 30℃〜35℃
              PWM_Change_Duty(150);
        } else if(level > 71 && level < 80) {  // 35℃〜40℃
            PWM_Change_Duty(175);
        } else if(level > 81 && level < 90) {  // 40℃〜45℃
            PWM_Change_Duty(200);
        } else if(level > 91 && level < 100) {  // 45℃〜50℃
            PWM_Change_Duty(225);
        } else if(level > 101) {               // 50℃以上
            PWM_Change_Duty(255);
        }
    } while(1);
}


切り出した小さな基板に実装しました。LM35DZは、ヒートシンクにくっつける必要があるため、短めのワイヤーで外付けとしています。

DSC00126.jpg

電子負荷装置に取り付けました。LM35DZは、一応、サンハヤトの放熱用シリコングリスを塗ってヒートシンクに固定してあります。

DSC09133.jpg

電子負荷装置が無負荷の場合は、当然、ファンは回転しません。

DSC01138.jpg

13.8Vで約3Aの負荷をかけると、40秒程度でファンが回転し始めました。このまましばらくほって置くとファンの回転数が若干上がりますが、全開までは行かないようです。

DSC01139.jpg

全開にならない状態では、PWMの周波数8kHzが、”ピィー”と聞こえて耳に付くのが気になります。可聴周波数帯以上ならいいだろうと、20kHz以上を試しましたが、ファンが回転しませんでした。逆に低すぎても回転がギクシャクしたりしてうまくいかないようです。


▲ページ Top へ...