2024年2月20日火曜日

冬の風物詩、2023年度冬ボーナスの消え先の測定器たちについて

おはようございました。


私の様な測定キチガイにおける冬の定例毎といえば

『新しい測定器の導入』若しくは『測定器の更新』

でして、職場の測定器が何もないので、何かしら数値的根拠や指針を探る道具が手放せない訳です。

えぇ、分かっています、「お前ちゃんとした会社に転職したほうがいいじゃないのか?」と言いたいのですよね?分かります。

でもね…

転職回数2桁越えと過去のキチガイ上司&キチガイ同僚による苛烈査定(過去の職での私に対する糞判定)を舐めんな!

普通に調査会社使ったら、最悪な人間としてしか出てこないんですよ?

日本は禊の文化です。誰かが悪者になって、悪を祓わねばなりません。

そりゃあ、日本においてプロジェクトの問題点は誰かの責任にせねばなりませんから、丁度真面目に仕事しない奴には小煩い糞野郎&デスマーチではない限り定時までに仕事をキッチリ片付けてさっさと帰るような奴が居たら、全部そいつの責任にして、私は悪くない!っていうのが堕ちた日本の一般企業なんですよ?

ね?だから私が嫌で出て行った会社は大体が傾いているでしょ?

ガチでヤバい状況押し付けられて仕事するときは普通に3徹ぐらいしてでも納期やスケジュール守るんですが、その努力は誰も認めてくれません…(涙


さて、そんな訳で世間は雇用の流動性とか言ってますが、それは単純に

労働奴隷が運よく流れてきてほしいな…(チラッ!チラッ!

であって、

金を積んでもいいからいい人が欲しい!

は、超少数派であったりします。

おまけに私みたいに先端技術のお零れで遊んでいるような輩は研究開発職としては微妙だし、現場のおっさんとしては仕事後のご褒美予算請求が面倒くさい中途半端な代物であったりもします。

しかも厄介なことに、現場ウケは非常によろしゅうございまして、入社後に暫く経つとマウントとりたかったご老体連中がキレ始めたりします。

近年の相手にマウントとってホルホルしたい連中の多いこと…残念ながら、私は暇つぶしに技術士試験を受けて受かるような先端技術のお零れで遊ぶガチ勢です。

なので、専門分野にあっては資格試験ごときで勉強しなきゃならん程度の方々と違って、ちょっとそっとの事じゃマウントとれませんよ?と…


そんな訳で能力が無いけど昇進してしまったご老体様は、相手をけり落とす政治ごっこは大得意。

なので、私にガンガン自然体で嫌がらせしてきますから、嗅覚以外は大体悪い私は会社の隅に追いやられます。

そしてあえなく(キチガイ相手が大嫌いな私)転職に…と言うお決まりの定型パターンなのですが、そこんところは一般的には真面に相手にされません。

人事部だって、実は役員や取締役クラスがコンプライアンス違反の根源で、法令違反とパワハラぱっかしている!なんて、間違っても認められませんから、他人事です。


私はこの一連の流れは世間様結構に多く、一向に技術力の上がらない、寧ろ相対的に下がり続けている日本の現場の縮図なような気がしてなりません。

今時ちゃんと動く電子回路や装置を組める奴は極少数派です。

30歳超えてGHz帯でもない、16bit超えるような高精度アナログでもない癖にノイズで誤動作云々言うてるような糞設計者なんて回路屋とは呼べません。トレーサーとかギャンブラーですから、それ!

しかし、日本の堕ちて行っている職場は依然として『利用者にとって正しいかどうか?』という長期視点の評価なんかよりも『上司が気に入ったかどうか?』の方が評価対象になります。

客は欲しいものに対しては(自分が本当に欲しいものを理解していないので)平気で嘘を言い放ちますが、出てきてものに対する結果は正直です。

そしてその正直な結果は勝手に正の方向は少しずつ、負の方向はかなり大きく積み上がって、如実に現実を叩きつけてきます。

なので、上司が糞なら会社はどうやったって糞

という、所謂一般的な能力向上・資質向上縛りはこうやって生まれるのですが、役員クラスになると『専門外では小学校の理科すら怪しい』という現実は認めたくないものです。

訳が分からん!意味がよく分らん!の一蹴で凡その事は跳ねのけてしまいます。

一番わかりやすい例が『北極の氷が解けたら海面が上がる!』です。

あれ、氷が浮いている地域なんですよ?浮力の発生理由って分かりますか?

南極の氷が解けたら海面が上がる…ならわかりますよ?あっちは陸地ですもんね?

…と、このような地球温暖化とかいう一見もっともらしくメディアが多数派風に騒げば、小学2年生の理科の実験レベルの事すら世間様はわからないレベルなのです。

因みに、南極の氷は過去最大級に分厚くなって、調査船が近づけないほどです。

あれ?氷が解けて海面上昇って、何ですか?って話ですよね…。

勿論、海水温が上昇したら熱膨張で海面上昇しますけど、それほどのエネルギーを出せているのは火力・原子力発電所の4割近くを占める廃熱か、太陽と地球の位置関係のズレぐらいしか理由はあり得ない訳です。

気温で温度上昇?潜熱って言葉知ってますか?

どう頑張っても中学校の理科の話ですよ?で一蹴されます。

まぁ、私が今ココに居るのは、一部の仕事に対して不真面目な上司にガンガンケンカを売っても、左遷&窓際族化されることはあれど、準公務員だからそうそう首は切られんし、会社も簡単には潰れない、どっかの会社と違って残業時間が300H超えてるけど、お前自分を管理する管理職だから残業代無しな!などと極端なタダ働きはさせなられないし、遠方(東京〜青森とか)の出張交通費(特急券)は自腹とかもないし、出張?現地の作業時間が8時間無いから有給消化日な!なんて事も無いわけです。しかも退職金は今のところしっかり出る予定…。親会社が超絶糞でキチガイの巣窟、しかもそいつに媚びる管理職はもっと糞とかもない(政治家と財務省は糞連中ばっかだけどあれは一般で使われている日本語が通じないキチガイだから日本語通じないガイジで処理したらよい…)し、そう考えたら随分と気楽なもんです。

さて、こんな世間と対話するときは小学生相手と思わないと多分アウトやで?って話はさておき、本題。


漸く?お国もフロッピーディスクがそもそも売っていないことを理由にフロッピーディスクの排除を始めました。

そんな訳でこのビッグウェーブに乗らない手はないッ!ってな訳で、貴重なフロッピーはPC9800用に確保したいため、脱フロッピーを目指しました。

そこで手に入れたのはPCカード仕様のDL1740EL

CFカードアダプタに、ADR-SDCF2ADR-MCCF みたいなアダプタを突っ込むと、今どきのSDカードが使えます。

とりあえず32GBを試してみましたが、頗る快調です。

もうちょっとだけロングメモリが欲しかったんだよね…でも本当に欲しいものなんて高級車以上の価格だし…ということで、勝手のいいそこそこのスペックの中古品です。

どうせ自作界隈で100MHz以上の話は当分出ませんし、この程度で十分です。

(…まさか100MHzのオシロで100MHzの信号測れるよ?なんていうおバカさんはいないよな?と一応突っ込んでおきたい。最低で5倍以上の周波数帯域が必須要件ですよ?じゃあ何でお前はFETプローブ持ってんのか?って?電源ノイズ測るための入力容量削減のためだけに決まってんだろ!)

そんな訳で、画像だけでなく、今までLAN経由で撮りにくかった波形のサンプリングデータがガンガン採れます。



そして追加で導入したのは日置電機のPW3335PW3337です。

えぇ、どっちも個人で持つような代物じゃぁございません

私の事をよく知っておられる方はご存じですが、電源の特性測ってニヤついているのが私ですから、とりあえず私が扱う範囲を測る範囲で手短な奴で最高の物を…と考えた次第。

家にはなぜか中古のインバータが転がってますから、“どうせなら、インバータの効率測りたいよね?”と、DC~出力、入力~DC間の効率も1台で測れるPW3337に落ち着きました。

そうなると問題になるのが電池を使った回路や待機電力測定。

待機電力は一番勝手のよさそうなPW3335で!となった訳です。

これで工場で散々議論の分かれていた

“弁操作で絞るかインバータ化するか?どっちがお財布的に省エネ?”

という判断基準のあいまいな悩ましい問題について実際の効率と電力量を見ながらガチで閾値を探すことができます。

もう個人のやる事じゃないですよね?でもちょっとうらやましい…なんて思っている工場系・ヒートポンプ導入したい系な方々は、実際に数値化して可視化できますので、気が向いたらご相談ください。

ぶっちゃけ測定器の範囲がこの前導入したPW3365-10とガチ被りなところもあるのですが、あっちはインバータが苦手なので、まぁ、いいっか…と半分諦めました。

それにPW3337直列挿入抵抗が1[mΩ]以下と、とんでもなく低いので誤差少なく気持ち良く測れるし、効率の自動計測で使っている横河のWT200複数台運用から卒業=かなりの高速化できるしね…なんて思う今日この頃です。

まぁ、しばらくは効率測定が3系統+2系統の電源でもできる…という話で終わりそうです。

おっと!電子負荷はが2台しかなかった…もう1台(高圧用を買い)足さなきゃ…なんて、フラグを立てておきます。


ではでは、今日はココまで。

またの機会に会える事を楽しみにしています。

2024年1月8日月曜日

PLZ-152WAのカレントモニタはノイズが酷い件について

さて、PLZ-152WAのカレントモニタはノイズが酷い(主にPSRRの問題で、商用周波数)という話をしたと思いますが、じゃあ一体どれぐらい酷いの?という話が出てきます。

世の中には高調波とノイズを含めた比率を表す指標として、THD+N[%]という良さげな指標があるので、それで表してみたいと思います。



さて、これが負荷が1[A]程度の時の代表的な測定結果です。

測定器自身の精度があまり良くない組み合わせでしか測れていないので、結構微妙な数値ではあるものの、凡その傾向をつかむには良いと考えています。

見ればわかるとおり、THD+Nは低い周波数から10[%]台でして、結構ノイズ交じりの信号が得られます。

そして、10[kHz]あたりでは25[%]程度まで上がり、その後急上昇です。

なので、10~20[%]のノイズが混じってもいいならという条件付きで、実使用は10[kHz]位迄が妥当なところです。

しかしこの電子負荷は増幅率に難はあるものの、100[kHz]ぐらいまでは少しばかり負荷を振ることができる特性があります。

電源にとって、10[kHz]~100[kHz]っていうのはコンデンサと制御の重なり・競合を調査するのには非常に重要な帯域でありますから、実にもったいないです。

なので、素直に電流プローブか、専用の電流測定機能を準備することをお勧めします。

まぁ、それか20~30[kHz]位迄しか信じない!と割り切って、周波数特性分析器の精度に期待するか?のどちらかです。

私はこの程度の傾向観察ごときで確度・精度云々のガチ物に心配をかけたくないので、素直に周波数特性分析器+テクトロニクスの電流プローブという大人げない装置を準備して挑みたいところです。

皆様はどうされますか?


え!?

『測定自体をする気もないので、どうされますか?じゃねぇYo!?』

ってことで、今日はここまでにしたいと思います。

皆様の快適な測定ライフが実現されることを祈念しております。


ではでは、今日はココまで。

またの機会に会える事を楽しみにしています。

2023年12月9日土曜日

電子負荷装置の電流モニタの周波数特性はこんな感じで糞っぽい

おはようございました。

以前、私が

『電子負荷装置の電流モニタの周波数特性は糞!であることがあるので注意』

と言っていたことを覚えていらっしゃいますでしょうか?

本日はガッカリ性能とは言え、どこまでガッカリ性能なのか?

が分からないと、なかなか判断がつかないという事もあり、よろしく晒してみようと思います。

さておさらいですが、なぜこんな特性がいるのか?というと、

  1. 電源は負荷の具合によって特性が大きく変わる
  2. なので正しく把握するには負荷条件を色々振って測らねばならない
  3. つまり電源の評価には嫌でも電子負荷は必須
  4. でも電流プローブは高い…あ!電子負荷にもついてる!
  5. 残念!電子負荷の電流モニタは性能が糞でした!

…という事で、電流が絡む測定については諦めて無誘導抵抗+高性能アンプのお世話になるか、諦めてまともな帯域と性能が保証された電流プローブを買うしかない訳です。

しかし、ガッカリ性能具合が分かっていれば常用域であれば実用に耐えるのでは?とお考えの方も多いはず。

ならば一体何処までが使えるのか?が重要になってきます。

そんな訳で、この手の測定に関わっている方々に於かれましては、とりあえず測ってみよう!が正解です。


で、それを通り越した私は、『とりあえず晒してみよう!』

PLZ-152WAはどうせ100kHz以上は真面に動かない…ってことで省略(単純に暴れて綺麗に取れませんでしたというオチ)
PLZ-152WAはそれなりに使えそうな気もしますが、実は結構商用周波数の振動が重畳されているので、単純に値を読むには不適切な代物です。使いたいならロックインアンプや何かしらの手段が必須要件です。
※これは後日書き出そうと思います。
かといって、どの電子負荷もギリギリ使えそうな帯域まで引っ張って使おうとするには残念極まりない特性です。
そんな訳で、新しい奴だから…と言って騙されないように注意しましょう。


ではでは、今日はココまで。

またの機会に会える事を楽しみにしています。

2023年11月15日水曜日

うっかり日置電機の熱流ロガーLR8416を導入してしまう

 おはようございました。

少し前に電源の回路設計やっていたよ?

最近は高周波対応の磁性体が一般化してきたので、GaNやSiCみたいな最新デバイス使いたいよねぇ~って話をしたのですが、覚えていらっしゃいますでしょうか?

(あれ?USB-C PD の電源晒しの話じゃなかったっけ?って気付いた人は大正解です。)

この手の電源の評価といえば、外しちゃいけないのが負荷をかけた際に起きる温度上昇や熱分布の割合などです。

そして、この熱勾配によっては熱による応力(ストレスと故障確率)が分かったりもしますし、基板の反りや変形も推測することができます。

勿論基本的なところの試験である温度上昇によるデバイスの劣化確認や安全マージン確認も行う必要が有る訳です。

かくいういう私も忙しい時に限って熱電対とロガーを奪いあっていた経験がありました。

当時はサーモカメラによる録画というのがまだ一般的ではありませんでしたから、できるだけ故障ch数の少ない多チャンネルのロガーと熱電対の奪い合いです。

現代における現場の皆様に於かれましては流石にサーモカメラの動画撮影ぐらいは導入しているだろう?と思いたいですが、私の手持ちは前の会社に私費で買わされたFLIR ONE(GEN2)しかありません。

コイツでは動画上で細かい値までは拾えません。

かといって何枚も撮影してCSV掃き出しとか結構苦痛なので、多点の温度を長時間で測る何か?はずっと欲しいと願っていたわけです。


さて、そんな私の意思を慮ってか?

現職の会社が多点のロガーを要する案件をバンバン前振りしてきました。

で、偶々ヤフオク探していたら、偶々希望に沿うものがあって、偶々無理をすれば揃えられる値段だったので、ついついそろえてしまいました。

日置電機のワイヤレス熱流ロガー LR8416×2台と、ワイヤレスのユニットLR8511×2台、そして熱電対5m×4本、とどめの熱流センサーZ2012-01×1本…合計約10万ちょっと…。


熱流測れるなら今まであんまり見えなかったヒートシンクの評価・CPUやFPGAの冷却関連の評価、断熱物の評価も非常にやりやすくなります

ただ、他の準備すべき道具類がキツイけどな!


これで電話回線使って遠隔監視もできるし、いつでもかかってこいッ!って思っていました…。

が!、知らない間にガッツリ水に流されました…(涙


まぁ、4月から上長と部署が変わったのですが、今の上長はそういうこと(瞬発的お祭り騒ぎ)を平気でやってくる輩ですし、何ならやらないことを煽ってお祭りして、散々騒いで数日後に忘れており、質問したら逆切れしてくるような方だったりします。

あぁ…そうだった…失敗した…。

一部の方はご存じですが、恐ろしい事に私には一切の予算が割り当てられません

そう、最終的に全て私費という哀しい状況です。


ほうれい?こんぷらいあんす?なにそれ美味しいの?という有様です。


知らなきゃ何でも許されるけど、知ったら何も許されない(どこぞの官僚や議員さんと同じ)という言い訳で逃げ切ろうとしているのが組織の重鎮です。

なので、『私費での搾取止めてくれませんか?』と目の前で進言して、都合よく一瞬だけ耳が遠くなってしまった…ってのが実態です。

そして、間違ったことをするお偉いさんに全力で尻尾を振って昇進というゲームをするのが現職の組織体制でして、大親分である財務省の劣化版的構図になっていますから、まぁ救いようは皆無に等しい訳です。


そんな訳で、よりにもよって冷蔵庫死んだという色々と手持ちが厳しい時に私費をガッツリ持っていかれるようなお祭り騒ぎ中にやられてしまったのでした。

という訳で無理をしたら…と言うのは私の食費の話で誤魔化さざるを得ない訳で、暫くは食うものに困る状況は続きそうです。


さて、厄介なことに、電池もACアダプタも電池もSDカードも用意してしまいました。

黙っていたら日置電機の電力ロガー3365-10と一緒に箪笥の肥やしになってしまう訳です。

ここに少しだけ投資すれば遠隔監視ができるので、仕事目的として成立するから…と用意したものが、今度は私生活に牙をむいてきました。

かといってこの手の物を売ると二束三文ですから、せっかくなので何かに使おうか?

寧ろ攻めで電源作っちゃう?なんて思ってしまう今日この頃なのでしたとさ…。

お前はここで簡単に腐る程素直じゃないだろう?

と思われた方、正解です!!

せっかく玩具を手に入れたんで、何かしら有意義に遊んでみたいと思います。

ではでは、今日はココまで。

またの機会に会える事を楽しみにしています。

2023年11月11日土曜日

日置電機の3365-10を導入する

意外とセンサーがでかくて小回り効きにくい。


おはようございました。

一体どこを目指しているのか?解らなくなってきた漢です。


5kHzぐらいから上のノイズは少し前に話した構成の『玩具』で計測できるようになったのですが、じゃあ、その下はどうよ?というのと、電線切らずに電力測りたいよね?


という欲望が渦巻き、仕事で中途半端に必要なこともあって、結局買ってしまいました。

日置電機の3365-10

偶々オークションで転がっていて、まぁこれぐらいだったら…と入札。

うっかり落札できたものの、『壊れて動かねぇじゃねぇかYO!』

となった訳です。しかも肝心な電圧側!

しゃぁない、修理出すか…と、結局、新品の3360-11が新品で買えるじゃん!という出費になりました。

そんな訳で、今回は『出先の広島は糞環境』を晒したいッ!第2弾です。

ということで、さっそく晒しましょう。

意味不明の高調波が2%近くも入っており、なかなかな糞仕様です。


そしておまけ(本来はこっちが本命)のロギングだッ!!私の平均的な日常はこんな感じだ!

…あぁ、恥ずかしい…

ものの見事に生活状況撮れました。

IHクッキングヒータやこたつや冷蔵庫、PCの動作までまるわかりっていうのは本当に丸解りで恥ずかしいなぁ~。

こりゃあ慣れてる人が見たら何やっているか丸わかりだよねぇ~。

そんな訳で、プローブを充てる必要がなく、外にクランプして測れるところを考えると、ストーキングの道具としても立派に役に立ちそうです(違

しかもLAN繋がるとか、クラウドサービスあるとか、見守りという名のストーキングにも使えるよねぇ~(ぉ


面白いのは高調波ノイズや最大・最小・積算値などもとれるので、時間によって動作がおかしくなるという怪しい事案の調査の補助にも適用可能です。

さて、買ったはいいが、今後何しよう…倉庫の肥やしはもったいないもんなぁ~と思いながらも、どうせそのうち会社に徴用されるのであろう…なんて思う今日この頃です。


そういえば昔、電流ロガーで電気温水器とヒートポンプ式の給湯器(所謂エコキュート)の電流比較したらあまり変わらなくて、導入断られた!

という嘆きを電気屋さんから聞いたことありますが、

『電力計で測りなさい!』

『交流において電流は直接電力換算できないから意味がない!』

と何度か言っていたのですが、結局相手にされずにそのあと連絡取れなくなりましたっけ…今頃どうしているのかなぁ~なんて思う今日この頃。


そんな訳で、うちの電力測って一緒にゲラろうぜッ!という奇特な方は私にご連絡ください。

飯食いながら省エネの検討や電力プランの検討・蓄電池・電気自動車の充電タイマー計画などネタ探しをしましょう。


ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2023年10月5日木曜日

GaN採用の『RAVPower PD PIONEER』を色々掘り下げてみる

おはようございました。

所謂生存報告であります。

暇つぶしに電気通信技術者を受けていたら、案の定『法規』だけなかなか通らないという私生活を体現したかのような実態に既視感を覚えつつも、仕方ないから『法規』だけは多少試験勉強をしてやってもよい…なんて言う謎の上から目線で無事通りました。

暇つぶしに受けていることで法規がなかなか受からないという事で、伝送交換と線路の2種類は普通に科目合格しておりました。

そしてこの前の試験で無事法規科目が通り、資格者証も申請しましたので、これで一応 電気通信主任技術者 としても面目は立ちました。

後は電験1種と技術士の情報工学部門・上下水道部門ぐらいが自分に関わりそうなところなので、それが通ったらどれを暇つぶしに受けようかねぇ~?と路頭に迷うことになりそうです。


さて、そんな資格ってのは常時通るレベルにないと本当は意味ないよ?という前提を体現しようとしている私生活の話はさておき、本日は自動計測の追加の話。


数年前に『事実上5V電源供給としてはUSB-Aが定着した』という話をしましたが、それから暫く経ったおかげか、世間様には当時話題沸騰していたUSB-Cを用いたPD(Power Delivery)規格が普及価格帯に一気に落ち着き始め、標準的な小規模直流電源の規格として名実ともに標準化されつつあります。

おまけに昨今は10年前ではなかなか量産用に使えなかったGaNがだいぶ普及してきており、標準のACアダプタより軽い上に汎用性が異様に高いため、この標準化に拍車をかけています。

私もこの例に漏れず会社で真面目に働くために買わされたノートPCに搭載されているUSB-Cポートに65WのUSB-PDを突っ込めば、ACアダプタ接続なく充電とPCの利用が可能になるという、なんとも素晴らしい状況にあります。


この組み合わせは、10年前の当時某S〇NYの中の電源設計者であった私としては垂涎モノの大好物でして、当時のSi-FETの限界付近の速度でガンガンスイッチングして小型化を進めていた私は、この手のものに移行したくて仕方ありませんでした。

しかしながら当時は今の常識から見れば“頭のオカシイ輩”の力が強く、EMCの規格(当時は150kHz~が評価対象)の都合もあって50kHz未満のスイッチングが絶対正義とされていました。

当時私は某S〇NYの中の方々にスイッチング周波数上げたって電力密度上がらない!損失増えるだけだ!意味のない事するな!と、散々叩かれていましたねぇ~…(遠い目

その当時私はXDR-DRAMという特許運用で残念規格化した高速伝送路にも関わっていたことや、GHz帯入んなきゃだいたい電卓+誤差見込みで何とかなる!というシミュレータが高くて(今も)買わせてもらえない世代だったこともあり、なんでこんなしょうもないレベルのスイッチングやノイズで苦労してんの?何で常識が通用せんの?というちょっと不思議な世界でした。

事実、このS〇NYの子会社に入社する10年近く前に200Vで200kHzスイッチングの世界で遊んでいた訳ですから…。尤も、当時は超高速な制御系のサーボドライバなので、電流応答帯域を20kHz以上稼ぐために遅れ要素は極力減らさねばならないという命題があったので、限界まで強引に引っ張り上げていたのでありますが…。

今になってはS〇NYの子会社の建屋が売却で無くなったので、私と古参のどっちが正解であったか?は(当時の視点からであっても)火を見るより明らかなのですが、当時は200kHz以上にスイッチングを早くしても、インダクタ側の磁性体材料が入手の容易な一般品ではついてこれないので、使う意味は少なかったと記憶しています。

当時も、磁性体材料が許すなら、実験レベルでもいいのでもうちょっと上の帯域までやりたかったなぁ~と思っていた訳です。あと少しで電解コンデンサレスが見えていたんですけどねぇ~…(あと、当時の職は今と違って、多少は色々部材が買えたりもしたので…)


まぁ、今なら家に測定器が全部揃っているんで、スポンサー次第なんだけどな!

という言い訳をしつつ、壊すためにデバイス買う・評価基板を作るのは私の給与だけでは金銭的に無理なので、諦めます。

ここは仕事として(予算が)入ったら、考えましょう。


さて、そんなに熱望していたGaN採用のスイッチング電源が、昨今では比較的安価に買えまして、今回は会社が買わせてくれなかったので自分で買った開発用のノートPC向けに『RAVPower PD PIONEER』と、USB-PDの模擬信号を出す基板を取り付け、宜しく評価してやろうと思った次第です。

対して比較の標準とするのは日本では最もメジャーであろうApple純正のACアダプタ2種類。『A1385』(古いiPhoneについてる5V1Aの奴)と『A2305』(ちょっと前のiPhoneについていたUSB-PDで9Vまで対応の20Wの奴)です。


実際のところ、GaNの恩恵がどこまで得られているのか?ノイズ的側面はどうよ?

高効率化は小型化したACアダプタの熱設計にはとても重要な役割を果たします。

そこんところの実力を見たことがない私は、ちょっといいとこ見てみたい!と思った訳です。

因みにUSB-A側とUSB-C側2つポートがあるので、電子負荷を2つつなげて相関を取りながら測るのが最も正解に近いですが、私はだいたいの傾向がつかめればOKという適当が一番の人間なので、今回はType C側だけで評価をします。

さすがにこの程度の趣味で2次元の効率マップ書くほど暇でもないので…。


さて、私としては使われているICやデバイスを見たら、それなりに何が起きているのかが分かるので、それだけでそこそこお腹一杯なのですが、世間様に対しての説明には確固たる事実を確認したのちに『推測ではない現実』を元に話をする必要があります。


経営判断や重要な施策を行う際には、感情(による推測)ではなく事実に基づく話が必要かつ重要な要素になります。

かなり慎重に検討をしたとしても推測には自ずと感情が入るので、事実を元に語らねばなりません。

ですので、私が率先して世間ではあまり語られていない代表例を事実として晒し切ってしまい、これを根拠にあれこれ妄想の方向性をして頂く確固たる基盤にしてゆきたいと思うわけです。妄想が捗れば飯が旨くてたまりませんからね。



さて、先ずはApple純正品

A1385のUSB-A 5Vの低ノイズ性能は大量生産品の中ではピカ一の製品でして、固体高分子コンデンサを惜しみなくガンガン使った結果でもあります。

しかしながら残念かな…ただのフライバック電源だと思われるその回路構成の結果、効率はそこまで高くはありません。

頑張って72~3%というところ。効率も500mA付近が最大ですし、それを目指して作ったものと割り切れる製品となっています。





A2305はかなり妥協に振った製品で、スパイク状のノイズ(よく見ればスイッチングの際に現れる特徴的な振動)がしっかりお漏らしされています。

PDの実装につていは9V⇔5Vの変更はアナログっぽい動作でして、素直に制御定数弄って電圧変更をしている関係上、アナログで下手な共振や振動を抑えるのは困難と踏んだんでしょう。

熱の設計を優先したのでしょうか?素直に細かいところの効率を上げて88%そこそこまで引っ張ることを優先して、ノイズは二の次のような印象を受けます。

まぁ、安価を求めた量産ならこんなもんだよね…という内容。

5V定格負荷のノイズがこれ…

拡大すると…



9V定格負荷のノイズがこれ…






では本題のRAVPower PD PIONEER

『RAVPower PD PIONEER』には USB-Aと-Cの2系統あり、相互の負荷関係での挙動が気になるところではありますが、そこの所は2次側のダウンコンバータのお仕事の話だけなので、敢えて相関関係は測定せずに攻めることにします。

(複数台電子負荷持ってんだからヤレ!という強いお声=投げ銭?を頂いたら考えたいと思います。)


そのうち、PSRRヨロシク、他系統の電源負荷の変動による自系統の電源変動要素を測るっていうのが標準的な評価の一つになるとは思うのですが、個人でやるには電気代が結構怖い事になる結構時間のかかる内容なので、私はしばらく家では測定したくありません。

動作中のSパラメータだけじゃ本番の動作を再現する目標にはちょっと心許ないし、結局FRAかステップアナライザ+高速電子負荷とDCカットを実装したネットワークアナライザの多段の測定みたいな豪勢な構成が必要になると思います。

1系統では10分そこそこの測定でも、複数台の相関となれば測定点数の累乗で効いてきます。

真面目にやれば2台ですら自動測定でも1日仕事になりそうな予感…。


5Vの定格負荷時のノイズはこれ




9Vの定格負荷時のノイズはこれ



12Vの定格負荷時のノイズはこれ



15Vの定格負荷時のノイズはこれ




20Vの定格負荷時のノイズはこれ




明らかにデジタル制御をぶっこんで、しかもコネクタや配線のロスもある程度加味をした電圧制御をぶっ込んできています。

ですのでロードレギュレーションなんてほぼ0Vですし、20Vなんてガチの負性抵抗特性です。

最初、何が起こった?と測定器が壊れたかも???なんて慌てました。

コンバータ自体はしっかり効率が90%超えを狙えるしっかりしたものですが、20V目標に落とす構成としながら出力をスイッチングで制限して出すことで、様々な電圧に対応する構成のようです。

そのため、20V以外では周期的な振動とノイズが見られます。

それでも安物のコンバータよりはかなり優秀です。

熱問題は効率を上げることによって抑えて筐体も小さくして、マーケティングとしてはGaNで90%以上の効率という謳い文句で最新鋭!アピールで宣伝効果を出す。

小型・高効率だからノートPCのACアダプタ置換え用途まで取り込んで、市場に数を出して事実上の市場における大量量産テストも行う…。

高周波駆動だから電磁界放射はある程度厄介だとしてもコンデンサやコイルを小型化しやすくリップルノイズはそこそこ対処しやすい。

一歩先の市場を見据えてある程度攻めに出た戦略とも言えます。

この手の電源系の投資方針やマーケティング、設計能力については日本は完全に中共に対して後れを取った(というか、今まともに設計・マネジメントできる人いるの?)状態

現場の人間の一部は、まともなデバイス使って遊べないのが嫌で中共に転籍したかもしれんなぁ~なんて思ってしまいます。


そういえば私も10年ちょっと前にS〇NY系列の会社の中では小さいマイコン入れてシーケンス処理やデジタル制御擬きをしようしたことがあります。

私に丸投げされているプロジェクトだし、ちょっとぐらいまともな事しても許されるだろうなんて思って、

『色々な機能を乗せたいし、トランジスタやアナログで色々組むの面倒くさいので、マイコン使います!』

なんて会議の場で発言したら当時の下品な空気を作ってマウントとってきていた方々が急にガチギレしだしました。

そして、しばらくの間嫌がらせと邪魔の応酬を受けた記憶があります。

で、結局載せない・載せてもCPLDまでという折衷案でエラーと起動シーケンスだけ処理するというしょうもない結果に至りました。

現場からはI2C空けてあるので、色々とれるようにしたいねぇ~!なんて話があったのですが、結局何もできず…。


止めてきた輩が言うには

『それは俺がやりたいことだ!中途採用のお前がやるのは許さん!!』

だそうです。

古典的なスイッチング電源の回路も真面に書けないうえに、マイコンのプログラムをまともに組んだことない奴が何言ってんだ?なんて思ったものです。

出世欲にまみれた輩って何でそんなにマウントとりたいんですかねぇ?お前の仕事は人に仕事をやらせることだろう?と小一時間…(ry


良いなぁ~GaNって…効率90%を余裕で超えられるんだぁ~。使って遊びてぇなぁ~。

チョークやトランスのコアで悩みてぇ~。変なところから出てくる電磁界放射対策で悩みてぇ~!

きっと面倒くせぇ~技術的問題が一杯山積みで、解きほぐす度に新しい発見があるんだろうなぁ~。


そんな訳でこういう測定の勘所・優先すべき測定的な話題については、多系統の電源を要求されるそこそこ早いプロセッサ周りの電源の開発をしている人たちではガチで色々議論されていそうなんですが、私は所詮道路屋さんです。

いい意味で頭のネジの飛んでそう(超誉め言葉)な素晴らしい方々と一緒に仕事できないのは非常に残念であります。

過去、PCIeのクロック源・電源評価で電源電圧変動がクロックのジッタを誘発するのでPCIe4以降は制約が厳しい!

マージンを確保・動作の確証を得るために電源電圧ノイズ対クロックジッターの相関関係を測る環境を構築したいっ!てそれなりの専門家の達前で言ったら、当時(10年ぐらい前)はこの話は一般的ではなかったためか、皆『何言ってんだコイツ?』みたいな反応でしたもんね…。

尤も、この電源電圧変動とクロックジッタの相関性問題はこの前のテクトロニクスのそこそこ重鎮さんたちが警鐘を鳴らし始めたんで、やっと一般的な問題のようになりましたが…。

本当に現場を牽引している一握りのガチンコ技術者と仕事したいなぁ~と思うのですが、何時になったらそういう人と仕事できるんでしょうか?

むしろ、そういう人と仕事の現場で会えるのでしょうか?


マジで海外に出稼ぎする時期が来たかもしてない…なんて思う今日この頃です。


え?何でPSRR測って晒さないのかって?

…だって測定するの結構面倒くさいんだもん…


ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2023年5月26日金曜日

AC電源ノイズ測定環境の構築と報告(やはり出先の社宅はACコンセント電源が糞だった件)

きっと共振電源という名の狂信電源野郎の仕業に間違いないッ!

おはようございました。


もりた@糞電源に悩まされる漢 です。


こんな変ジニアの日常を綴った内ゲバ系ブログをこよなく愛してくださる方々に於かれましては、少し前に

『測定器触ったら結構ビリビリくる』

とか、

『こっちに来てからレトロな測定器の調子(測定結果)がすこぶる悪い』

という話をしていたのを覚えていらっしゃる方が多いのではないでしょうか?


また、現実の世界で私と話している方に於かれましては

『測定器回す時にしょっちゅう筐体からビリビリきて(感電して)嫌になる!』

と騒いでいたのを覚えていらっしゃいますでしょうか?



そんな、ノイズ発生源の特定調査や問題解析なんかは仕事だったら結構大事でお金もらえるはずの『多分誰一人として存在しない客へのネタ』を白昼堂々と晒してやろう!と、会社の仕事ついでに自前の測定器をそろえる日々のおかげで、貯蓄は常にスッカラカンな今日この頃、いかがお過ごしでしょうか?



この度、無事晒せる程度の環境が構築できたので、公開という名の後悔をしようと思います。


先に言っておきます

『コンセント電源で音響が変わるとか言っている野郎どもは歓喜しろ!』

そして、

『太陽光発電やEVキチガイ、無駄に共振系電源使って逃げる設計者共を弾劾しろ!』

と…


そんな訳で、少し前に『THOR LABS の EF115』という良さ気なフィルタを見つけ、無事会社の顔をして個人での購入に漕ぎ着け、特性を測りました。

それで使える!となったので、米子に置いて来ていた高圧差動プローブと組み合わせ、ACコンセントのノイズを測ってみた次第。

装置構成はこんな感じです。

いたって単純で、差動プローブ~オシロの間にフィルタをつけただけです。

そもそも行けんのか?(逝けるのか?)半信半疑だった私ですが色々考えた結果、やらない失敗よりやる失敗!と意気込んで簡単に測定できる治具を用意しました。

さて、結果を晒す前に何でこれを測るのか?のおさらいです。

測定器やオーディオアンプみたいなものは、電源のノイズから幾らかの影響を受け、出力波形がひずみます。

この時、出力波形が入力波形の変動をどれぐらい受けるのか?を現した数値がPSRR(Power Supply Rejection Ratio)と呼ばれる電源電圧変動除去比の値です。電源ノイズ除去比と呼ばれることもあります。


一般的にこの値は数百Hz(商用周波数とその高調波を抑える程度)までは結構除去率が高いものの、ちょっとでも高めの周波数(数十KHz)においてはほぼ笊状態です。

昨今は昔ほどのものではありませんが、それでも電源のフィードバック制御がかけられる数十kHz程度までしか抑えることは困難なのです。

制御による抑圧の利かない周波数帯域ではLCフィルタで運が良ければ消えてくれるし、逆に共振だってあり得るよ?ってな状態。


昔はせいぜい十数次程度までの高調波を考えればよかったので、普通にダイオード整流+大容量のコンデンサ入力+リニアレギュレータで全く問題が出なかったのですが、昨今電子機器が増えたおかげで、電源ノイズが電源側の伝導ノイズとしてガンガン流れる世の中になりました。

特にインバータや太陽光発電の急速な普及によって、一気にACコンセントの電源は汚染され、単純な回路構成ではノイズがそのまま通ってしまうほどの粗悪な電源環境となる始末です。


そんな訳で、古めの測定器はガンガンノイズフロアが上がりますし、オーディオには堂々と高周波のノイズが乗りますし、現場にいる敏感な人間測定器な方々に於かれましては、訳が分からずに悩まされる状況であったりします。


本来こういう障害を抑えるのが法規制であって、電源側のインピーダンスは固定の値とか適当に決めた(大変失礼)な法規制にあっては逃げ道を用意してあげたとしか解釈できず、消費者の害にすらなりえるわけです。

電源やクロックのスペクトラム拡散と一緒です。

アレもノイズの出力・強さ・害悪の度合いは大して変わらない癖に、周波数が分散されたことで測定器上では小さく見えるという罠なのです。


ぶっちゃけ、法定試験の測定条件に合わせた特定のインピーダンスの時だけノイズが下がるようにフィルタの定数組んでしまえば、あとは知ったこっちゃない!という、最近の言い訳と逃げ口上による責任逃れを考えるのが天才的な日本人似非設計者界隈には素晴らしい題材となっております。

えぇ、パラメータをひたすら振って、特定の条件だけなら高性能が発揮できるような値を模索するという、ひたすら定型作業のRPGのレベル上げ的な『仕事やってる感丸出し』の暇つぶし大好きなのが日本人の多数派であったりもします(もちろん本人に自覚はない)。

このような非現実なシミュレーションでの総当たり戦を大得意とする、現実の世界にとは異なる世界に生きている方々にとっては、大変都合のいい玩具的題材であったりします。

しかも、パラメータ振ったらどこかに共振点っていう確実な大当たりがあり、何なら段数増やせばよりギャンブル性が高まるもんですから、外れのないギャンブルは超大好きな方々にとっては中毒間違いなしであったりもします。

えぇ、昨今の日本は欧米の悪いところだけを真似て暗黒化しちゃいましたよね。

嘘の塊ともいえる学問は経済学だけでお腹一杯なので、全力で遠慮させていただきたいところ。


また、ZVS/ZCS(電流もしくは電圧が0のところでスイッチングをしてスイッチング損失が著しく少ない)を用いた効率の高い共振系の電源についての実際の動作においては、共振というだけあって充放電を繰り返して電源側へガンガンノイズを送り込みながら電圧変換をするため、実際に使う電力に対してものすごい量の充放電電力(≒電源へのキックバック)が出ていたりします。

コイツの唯一の許される利点は周波数が負荷に依存するため短時間での周波数変動が殆ど無いぐらいしかありません。


こういう背景もあり、私はスイッチングノイズが少ないから…と真面目に設計していない人の多い共振系電源がそこまで好きではありませんし、実際に過去設計しようとしていた電源にあっては、おもっきり上司に牙をむいて反抗していたのは当時の関係者なら皆が知る処でもあります。

私が狂信系電源と宣っている所以でもあります。

(それが祟って、その当時の職場の下品な空気作っていたボスに『お前みたいなやつはとっとと辞めろ!』とキレ芸を披露されて辞める羽目になったのは知る人ぞ知る内輪話…)

まぁ、結局当時はS〇NY系列という圧倒的数の暴力的圧力の結果、ディスコン寸前だけど初期型PS3で余った電源ICあるから使え!と強引に共振系で組まされたので、ムカついた私は正々堂々当時のノイズ試験で評価対象になってた150kHz以上の基本周波数で動かしてやり、

『お前らみたいな姑息な手(基本周波数を50kHz未満で使って、3倍高調波が150kHzにかからないように逃げる)を使って俺は逃げねぇんだYO!』

と、堂々と高速伝送路周りの経験をぶっ込んだその当時の会社には無かった構成で組み上げ、しかも試作回数を極力減らして試作は評価機の1回で仕上げました。(しかも改版した内容がコンバータ周りの修正は0で、シーケンス周りの追加要望の反映という程度)

ノイズ規制も余裕でクリア。設計寿命もいつも通り20年。

130Wソコソコの定格でいいはずが、何故か空冷かけたら300W取れるとか、標準で空冷予定だったのに

『空冷?なくても動くよ?FANなんてぶっ壊れるもんだし、設計者として当然だよね!そうそう、空冷かけてないときの定格は熱定格も含めて200Wな!』

なんていう、奢りすぎだろお前!的な代物をさくっと仕上げてあげたのは関係者の記憶に残るところです。

本来はノイズ規制もCLASS A=産業用途でいい代物を、それより厳しいClass Bを300W出力で通せるスペックを用意する…なんていうキチガイ染みた電源を残してやったので、分かる人には笑って貰えたのではないかな?なんて思っております。

私から見れば、周囲見渡していたら産業用途のくせに信用無くすような無駄なケチり方しやがって!と憤慨していましたし、産業スペックなんだから良い意味でのキチガイ性能は歓迎すべきだよ?という意味も込めて設計していた記憶がガガガが…。

と、私のように

共振系は高目の周波数にしてしまえば自ずと電源側へのキックバックも小さくなるし、様々な受動部品を小さくできるのでノイズ対策も余裕!

何なら瞬時電圧低下の時に低下できる周波数の余裕幅が増えるので、瞬低・瞬停対策だって完璧!願ったり叶ったりジャン!

(共振系電源の入力電圧低下や瞬時的な出力取り出しに於いては、動作周波数が下がり実効値の電流を上げ、コンバータの出力が上がるようになっているので下の限界は低いと停電対策が楽だがその分短絡故障時の動作が…)


何て考えてくれる人は少数派な訳でして、現実には総合的な効率・価格の兼ね合いから、50kHz弱近辺もしくはその下の22kHz近辺のAC/DC電源が一般的ではありました。もちろん今はガッツリ状況が変わっています。


勿論私みたいにキチガイ染みた輩も一定数おりました。

トランスもチョークコイルも1発目はバグ出し用に自作派!なんて言い出してとりあえず手計算かエクセルシートで計算してボビンとコアの選定をし、大体の値を絞ったらリッツ線とボビンとコアと絶縁用のテープを用意して、ボビンに巻き巻きして、ガリガリコアを削ってギャップ作ってLCRメータや直流重畳特性測って値を確認しながら目的値に追い込んだのち、『所望の性能出るよね?』と、計算で出てきにくいパラメータ測定をやるという、分かり切ったことを確認するだけの作業と思われ兼ねないような普通はやりそうもないガチ作業をやる方は別です。


しかし今は電源自体を日本国内で構成すること自体が少なくなり、むしろ電気回路自体を組める人間すらほぼ絶滅危惧種状態であることも否めない世の中です。

まともで強力な電源を手に入れるには、通信系や軍事系に手を出している企業や宣伝しないくせにシェアがガチ!という意味で闇の帝王のデルタぐらいしか手が無いのかもしれません。


もっとも、最近はこの問題が無視できなくなったせいか、伝導ノイズの規制の対象周波数が9kHz~という形で規制されるようになりつつあります。

敢えて言おう

『似非設計者はこの際勉強して真面なガチンコ系になるか、それが嫌なら引退しやがれ!!』


さて、テレビ(白痴箱)でありそうな内輪的笑いネタの前置きはこれぐらいにして、私が今拠点にしている広島市の一角では、こんな感じになました。

まずは会社付近の状況。たまには電源入れないと壊れるよ?と思い、オシロは会社に転がっていた奴を使いました。


また、差動プローブの電源自体が揺らされているので、いくらかノイズが出てくるため、乾電池のアダプタを作ってそちらで電源供給しました。

まず、差動プローブが短絡状態はこんな感じ。測定器自体のノイズフロアってやつです。



そして、次が差動プローブ+フィルタを使って、kHz帯より上のものを撮ったところ…

プローブは1/100で撮れました。

わかりやすいように

黄色:kHz帯以上のノイズだけを取り出した

緑色:測定対象の波形

としました。



まぁ、こんなもんでしょ?という感じのノイズです。

0クロス点での微小な振動と途中決まった位置で起きる特徴的なノイズがちらほら…ダイオード+コンデンサインプットの挙動がちょっと見られる程度です。


それでは今回の本命!私の拠点のビルです。


まず、差動プローブが短絡状態=装置のノイズフロアはこんな感じ。

オシロがレトロな奴だけに、幾分か漏れているのがよくわかります。


そしてAC入力を入れると…






ものの見事に80~50kHzぐらいのノイズがバンバン表れています。

この手の周波数帯は外に飛んで行かないので、ガチで機器の内部に入り込んできます。

0.6Vp-p程度ですから、実効値で0.2Vrmsの80~50kHzぐらいのノイズが乗っかっていることになります。

この帯域は古い測定器ではPSRRが効かなくなる領域ですから、そりゃぁ、測定結果が汚くなるわ…。

しかも周期の遷移がいやらしくて、0クロス付近が高めの80kHzで、電圧が振られた中間は50kHz付近、単純なフィルタでは解決しそうもありません。

面倒くせぇ~コイツは引っ越しかノイズカットトランス確定だ!とならざるを得ません。



そんな訳で、古い測定器がなんか調子悪いのはこいつらのせい!

ということで、測定機用にお高いノイズカットトランスを用意するか、それとも転職して米子に帰るか?むしろ違う地域に単身赴任(※ただし近所に太陽光発電のない土地に限る)して、測定器と全国デビューするか?悩ましくなりそうであります。

こりゃあ、単身赴任引っ越しの要件に、電源のノイズが少ないこと!なんていう変な物件探しの要件が生まれそうです。

オシロとプローブ、測定環境持って不動産巡りか…いやだなぁ~(しかもせっかく見つけても、隣で太陽光発電されたりでもしたら一発アウトだし…)

…と思ったら私の家の付近も太陽光発電でしっかり汚染されてしまいました…(涙

Σ( ̄ロ ̄lll)ガーン

(波形見るに特定の周波数で、パワコンやインバータのような下品なノイズはまだ少なそうに見えるし、広島の拠点ほど酷くはなさそうですがちょっと嫌な感じです)


こりゃぁノイズカットトランス一択だな…と物色し始める今日この頃なのでした。



次回予告?

で!ついカッ!っとなって買ってしまった

電研精機研究所製ノイズカットトランス NCT-I1 100V/100V 2kVA !!!


コイツを通せば測定器から紛れ込んで来るノイズが一気に減ります。


ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2023年2月28日火曜日

自動計測への目覚め ~バッテリーの放電特性を採取する~

 おはようございました。

電力計で一番面倒くさい仕事である効率が測れるようになったら、次に面倒くさいと思っている仕事を片付けるのが世の常、人の常であります。

そんな訳で次に困っていることといえば、

『電池の放電特性を測りながら、エネルギーも測定したい』

であります。


一般的な電池というのは、一般的には電流×時間の容量表記(Ah)が一般的です。

ですが実際にはいくらかの電圧低下をしながら放電をしますし、DC/DCコンバータなんかを用いて宜しく電力を取り出す側としては、電流量なんかより電力量で語れよ!と思う訳であります。

クーロン量じゃないと訳分かんねぇだろ!っていう真面な電気化学やってる方々への明確な敵意でございます。

そこで、電力計と実負荷に模擬した電子負荷を組み合わせれば所望の電池で一体どれだけ動かせて、どれだけ余力がありそうなのか?というのが一目瞭然で解る訳です。

これができれば、ネット記事にとっ散らかっている『電池の放電特性測ってみた』系の電流量は解ったよ、じゃあ電力的な側面評価はどうなのよ?という疑問とはオサラバです。


また、電池の早期劣化防止のために、意図的に使用領域=容量制限をかけている実働条件下の挙動なんかもうまく測って、新品に比べて一体どれだけ余力を持たせているのか?

設計目標と実際の値はどう違うのか?

経年劣化した充電池ならどうよ?

みたいな、細かい面倒くさかった試験が片手間で珈琲を飲みながら測定できるという、なんとも素晴らしい結果を得ることができます。


そんな訳で、試しに宜しく実装してみました。

例として劣化した鉛電池の放電特性を晒します。




この測定結果はサイクロンバッテリーとかいう一時期流行った電池でして、スペック的には10時間率で8Ahだそうです。

ですのでそれに近い放電条件下で測定したところ、こんな感じに容量低下として劣化してるよ?というのがわかるようになりました。

またついでに電力量を測定しているので、今の状態ならどれぐらいのエネルギーを取り出せられるのか?も解ります。

新品の10時間率(この負荷量)なら大体94Whぐらいだろうというのも予測できるわけです。

他にもコールコールプロットやインピーダンスの周波数特性とか色々測ったのですが、見ての通り、使用条件がそれぞれ違い過ぎたせいか、劣化と直接紐づけられるようなデータが取れませんでした…電池って奥が深いよねぇ~。

要するに、普段からデータ採っておいて、その設置条件下での正常値のデータを集めとかないと、異常値と分かるデータはとれませんよ?ということは明確に見えてきました。

ちなみに、電子負荷側についた計器での測定もできるのですが、積算はできないので、移動平均にして測定したところ、電力計に対して1%近い誤差が出てしまいました。

まぁ、せいぜい1%程度の誤差ですし、いつもの電気屋さんなら気にしない値です。

ですので、通信できる電子負荷は持っているが、電力計は持っていなくて、なおかつ

細かいことは気にしない方々、

             /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /


っていう割り切りが得意な方は、電子負荷だけでもソコソコやれそうなんでお勧めです。(ただ、電圧側は結構誤差が出るので、放電電圧のずれが結構ひどいかも知れない)



そんな訳で、大体の電池の放電特性と電力量が測れるようになったので、最近会社の仕事で作っていた小道具類も測定して、設計上はそこそこワーストに近い現実的な値で設計していたので設計目標を十分に到達しているよね?という裏付け資料を作成し始めようと思います。

※本当はこういう測定が必須だから測定器買ってほしい!と2年前から進言していたのだが、結局自分で買う羽目になった…この会社はいつもこうだいつも個人お財布に集ってきやがる…(´・ω・`)ショボーン


ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2023年2月4日土曜日

LiteVNA64・LiteVNA62の初期ロットにある充電ができない問題について

 オレと一緒でぶっ壊れたか?と思っちまったよ…

おはようございました。

見習い変ジニア@職場に干されている漢 です。

私みたいに手を動かしていないと死んでしまいそうになる人間にとって、仕事を与えないという現実のなんと辛くストレスになる事か…現職は変ジニアに対する嫌がらせというのをよく分っていらっしゃいます。


さて、皆様間に於かれましては、測定器類・電子機器類ついては時々通電する必要があることは良く熟知されているかと思います。

特に電解コンデンサ物は内部の構造上の都合から、時々通電しておかなければ簡単に故障する代物であります。

時々通電されますよう、お気を付けください。


現職では小電力無線がらみの評価もしているはずなのに、何故か会社ではTG付ののスペアナやネットワークアナライザを買わせてもらえない手前、困った私はLTDZ 35-4400M Spectrum AnalyzerやnanoVNAやLiteVNAみたいな小道具にあやかり、何とかそれっぽい状況証拠を固めることによって、仕事をこなしております。


さて、そんなLiteVNAですが、老眼を恐れた私は少し大きめのディスプレイサイズであるLiteVNA64と呼ばれる方をメインに使用しております。

先日まであまり頻度良く使っていなかったこともあって、久しぶりに電源を入れたのですが、何故かうまく充電されません。


リチウムイオン電池が死んだか?と思ったわけですが、同じように放置していたnanoVNAのほうは普通に充電できましたし、これは何かあるな?と調べました。


日本語サイトにおいては、LiteVNA62において『JH1LHV』氏(https://www.jh1lhv.tokyo/entry/2022/01/13/204710)が述べられているようにR1が過放電気味のリチウムイオン電池の充電を阻害している旨が出ていたのですが、私が持っているのはLiteVNA64…どうやら対象外です。

似た様なはずだと考え、回路図か何かのヒントはないか?と探したりもしたのですが、海外のサイトに見つかりました。

どうやら本器の設計者である『Hugen』氏がEEVBlog(https://www.eevblog.com/forum/rf-microwave/nanovna-custom-software/1800/)述べられているように、充電保護がかかるようです。

https://groups.io/g/liteVNA/topic/reduced_interference_from_usb/89382728


また、USBポートからの電源供給時においては、スイッチング周波数の関係で電源ノイズが乗りやすくなる傾向にあり、一度電池に流し込んでから変圧する方がよいとのことで、改造箇所を指示されていました。

弄る箇所は次の個所です。

・D1、R7(USB給電時にバイパス回路を形成する)→外す

・R1(バッテリー充電の限度値を決める抵抗)→外す

うっかり初期ロットに当たった方は、小改造をすることをお勧めします。


ではでは、今日はココまで。

またの機会に会える事を楽しみにしています。

2023年1月13日金曜日

自動計測への目覚め ~電源効率を電子負荷と電源装置だけで測る~

おはようございました。

先日重い腰を上げてやっと効率とロードレギュレーションの半自動測定化の話をした際に、

『ELS-304買った時点でできたよね?』

とうっかり気づいてしまった件について、放置もよくないので一応

電源装置PCR500Mと電子負荷装置ELS-304でも測定できるように実装する

ことにしました。


やるにあたって肝心な事をメーカーにも確認しております。

『PCR500Mの表示は最小単位が0.1だけど分解能はどうよ?』


という話です。メーカー的には

『確度としては0.1単位になるが、内部で持っている数値は実数(小数点以下5桁)で返され、分解能は、電圧が1mV、電流が1mA、電力が1mW』

とのこと、今出てる後継機(PCR500MA)も変わらないそうです。

こういうまともな質問なら個人相手でも構ってくれるのが菊水電子工業の良いところ

ぜひ今後もよろしくお願いします。


そんな訳で、我々みたいに

『正確な値じゃなくて大雑把な参考値が欲しいなら自己責任な!!』

という輩共にとっては十分有用な様子。

さて、そんな訳で早速実装してみました。


そして、転んでもただでは起きない私、前回少々心残りだった

『25%以下の負荷領域をもうちょっと精度良く測れないものか?』

『ガチ本番はAC電圧・周波数振って測るよね?』

(本業なら温度・入力条件を振って虐め倒して変な挙動が出ないか?確認する)

という課題に対し、

前者は25%以下の負荷領域は倍の密度(半分の幅)で測る、

後者はExcelのシート上に値を入れて参照するようにする、

という手で逃げることにしました。

100点取って5分そこそこなので200点取ってもいいんだけど、この先何があるか分からないのでとりあえず実装してみようと思った次第。

(過去の実績から私が今“半分暇つぶし感覚”でやってる自宅作業は、ちょっと後にやらされる仕事であることが殆ど)


さて、ここで注意点があります。

PCR500Mのデータにはゴミが混じってるよ?という話、

こいつの吐き出す数値には垂直タブ+CRの羅列が入った後、+○.○○○○○E+○○というように、余計な制御コードを桁合わせの材料としてぶっ込んできやがります。

コイツは面倒くせぇ~!

と思ったので、素直に+の位置から後ろの文字列を強引に数値化して取り出します。

後はExcelさんがヨロシクやってくれるだろう…なんて淡い期待をしておきます。

そんな訳で実装した結果、こんな感じに仕上がりました。


' 効率測定自動化用マクロ

' PCR500M - WT200 - DUT - WT200 - PLZ152WA or ELS-304 の組み合わせ

' 効率を100%負荷から0%負荷まで1%毎に計測してゆく


Dim RunFlag As Boolean      ' 動作中はTrueとなるフラグ


' スタートボタンクリック時のプログラム

Sub btnStart_Click()

    

    Dim Rdata       As String               ' 受信データ文字列

    Dim Counter     As Long                 ' データカウンタ

    Dim WT_ReadErrorFlag As Boolean         ' WT200の計測ミス時のフラグ

    Counter = 0

    

    ' 2重起動の防止

    If RunFlag Then Exit Sub

    RunFlag = True                          ' 動作中フラグをセット

    

    ' GPIB 初期設定

    Dim RM As New VisaComLib.ResourceManager                            ' リソースマネージャーの定義

    

    ' PIA4801初期設定

    If Range("E4").Value = True Then

        Dim PIA4810 As New VisaComLib.FormattedIO488                        ' 測定器の定義

        Set PIA4810.IO = RM.Open("GPIB0::" & Range("C4") & "::INSTR")       ' GPIBアドレスの設定

        PIA4810.WriteString "NODE1"                                         ' NODE1 を選択

        PIA4810.WriteString "CH1"                                           ' CH1 を選択

        PIA4810.WriteString "VSET0"                                         ' 出力は0V

    End If

            

    ' ELS-304 初期設定

    If Range("E7").Value = True Then

        Dim ELS304 As New VisaComLib.FormattedIO488                     ' 測定器の定義

        Set ELS304.IO = RM.Open("GPIB0::" & Range("C7") & "::INSTR")    ' GPIBアドレスの設定

        ELS304.WriteString "MF1"                                        ' フリーラン測定

        ELS304.WriteString "HZ1"                                        ' 設定周波数は60Hz

        ELS304.WriteString "RC0"                                        ' 電流の設定レンジは自動

        

        ELS304.WriteString "RV1"                                        ' 電圧の設定レンジは30V

'       ELS304.WriteString "RV2"                                        ' 電圧の設定レンジは4V

        

        ELS304.WriteString "CC0"                                        ' 初期設定は定電流モードで0A


'       ELS304.WriteString "CX" & Range("G7")                           ' 外部制御で+10V時の最大電流値設定

        

    End If

    

    

    

    ' WT200 電源側 初期設定

    If Range("E3").Value = True Then

        Dim WT200_IN As New VisaComLib.FormattedIO488                   ' 測定器の定義

        Set WT200_IN.IO = RM.Open("ASRL" & Range("C3") & "::INSTR")     ' COMポートアドレスの設定

        WT200_IN.WriteString "DL0"                                      ' ターミネータをCR+LFに設定

        WT200_IN.WriteString "DS1"                                      ' 表示は5桁に設定

        WT200_IN.WriteString "H0"                                       ' 出力にヘッダをつけない

        WT200_IN.WriteString "FL1"                                      ' 周波数判定用のフィルタはONに設定

        WT200_IN.WriteString "AA1"                                      ' 電流をオートレンジに設定

        WT200_IN.WriteString "AV1"                                      ' 電圧をオートレンジに設定

        WT200_IN.WriteString "AC1"                                      ' 平均化回数を8回に設定

        WT200_IN.WriteString "AG1"                                      ' 平均化を有効に設定

        WT200_IN.WriteString "AT0"                                      ' 平均化を指数化平均演算に設定

        WT200_IN.WriteString "DA1"                                      ' ディスプレイAを電圧に設定

        WT200_IN.WriteString "DB2"                                      ' ディスプレイBを電流に設定

        WT200_IN.WriteString "DC3"                                      ' ディスプレイCを電力に設定

        WT200_IN.WriteString "HD0"                                      ' 出力データはサンプルレートで更新

        WT200_IN.WriteString "MN0"                                      ' 出力データはRMS=実効値に設定

        WT200_IN.WriteString "OFD0"                                     ' 通信出力は通常測定用初期設定

    

    '   14個出力可能な個別設定は使用しない

    '   WT200_IN.WriteString "OF1,1,1"                     ' 1個目の出力は電圧

    '   WT200_IN.WriteString "OF2,2,1"                     ' 2個目の出力は電流

    '   WT200_IN.WriteString "OF3,3,1"                     ' 3個目の出力は有効電力

    '   WT200_IN.WriteString "OF4,0,1"                     ' 4個目の出力は無し

    '   WT200_IN.WriteString "OF5,0,1"                     ' 5個目の出力は無し

    '   WT200_IN.WriteString "OF6,0,1"                     ' 6個目の出力は無し

    '   WT200_IN.WriteString "OF7,0,1"                     ' 7個目の出力は無し

    '   WT200_IN.WriteString "OF8,0,1"                     ' 8個目の出力は無し

    '   WT200_IN.WriteString "OF9,0,1"                     ' 9個目の出力は無し

    '   WT200_IN.WriteString "OF10,0,1"                    ' 10個目の出力は無し

    '   WT200_IN.WriteString "OF11,0,1"                    ' 11個目の出力は無し

    '   WT200_IN.WriteString "OF12,0,1"                    ' 12個目の出力は無し

    '   WT200_IN.WriteString "OF13,0,1"                    ' 13個目の出力は無し

    '   WT200_IN.WriteString "OF14,0,1"                    ' 14個目の出力は無し

    End If

    

    

    ' WT200 電子負荷側 初期設定

    If Range("E6").Value = True Then

        Dim WT200_OUT As New VisaComLib.FormattedIO488                  ' 測定器の定義

        Set WT200_OUT.IO = RM.Open("ASRL" & Range("C6") & "::INSTR")    ' COMポートアドレスの設定

        WT200_OUT.WriteString "DL0"                                     ' ターミネータをCR+LFに設定

        WT200_OUT.WriteString "DS1"                                     ' 表示は5桁に設定

        WT200_OUT.WriteString "H0"                                      ' 出力にヘッダをつけない

        WT200_OUT.WriteString "FL1"                                     ' 周波数判定用のフィルタはONに設定

        WT200_OUT.WriteString "AA1"                                     ' 電流をオートレンジに設定

        WT200_OUT.WriteString "AV1"                                     ' 電圧をオートレンジに設定

        WT200_OUT.WriteString "AC1"                                     ' 平均化回数を8回に設定

        WT200_OUT.WriteString "AG1"                                     ' 平均化を有効に設定

        WT200_OUT.WriteString "AT0"                                     ' 平均化を指数化平均演算に設定

        WT200_OUT.WriteString "DA1"                                     ' ディスプレイAを電圧に設定

        WT200_OUT.WriteString "DB2"                                     ' ディスプレイBを電流に設定

        WT200_OUT.WriteString "DC3"                                     ' ディスプレイCを電力に設定

        WT200_OUT.WriteString "HD0"                                     ' 出力データはサンプルレートで更新

        WT200_OUT.WriteString "MN0"                                     ' 出力データはRMS=実効値に設定

        WT200_OUT.WriteString "OFD0"                                    ' 通信出力は通常測定用初期設定

    

    '   14個出力可能な個別設定は使用しない

    '   WT200_OUT.WriteString "OF1,1,1"                     ' 1個目の出力は電圧

    '   WT200_OUT.WriteString "OF2,2,1"                     ' 2個目の出力は電流

    '   WT200_OUT.WriteString "OF3,3,1"                     ' 3個目の出力は有効電力

    '   WT200_OUT.WriteString "OF4,0,1"                     ' 4個目の出力は無し

    '   WT200_OUT.WriteString "OF5,0,1"                     ' 5個目の出力は無し

    '   WT200_OUT.WriteString "OF6,0,1"                     ' 6個目の出力は無し

    '   WT200_OUT.WriteString "OF7,0,1"                     ' 7個目の出力は無し

    '   WT200_OUT.WriteString "OF8,0,1"                     ' 8個目の出力は無し

    '   WT200_OUT.WriteString "OF9,0,1"                     ' 9個目の出力は無し

    '   WT200_OUT.WriteString "OF10,0,1"                    ' 10個目の出力は無し

    '   WT200_OUT.WriteString "OF11,0,1"                    ' 11個目の出力は無し

    '   WT200_OUT.WriteString "OF12,0,1"                    ' 12個目の出力は無し

    '   WT200_OUT.WriteString "OF13,0,1"                    ' 13個目の出力は無し

    '   WT200_OUT.WriteString "OF14,0,1"                    ' 14個目の出力は無し

    End If

    

    If Range("E5").Value = True Then

        ' PCR500M 初期設定

        Dim PCR500M As New VisaComLib.FormattedIO488                    ' 測定器の定義

        Set PCR500M.IO = RM.Open("ASRL" & Range("C5") & "::INSTR")      ' COMポートアドレス設定

        PCR500M.WriteString "OUTP:COUP AC"                              ' カップリングAC設定

        PCR500M.WriteString "CURR 2.5"                                  ' AC2.5Aでリミットをかける

        PCR500M.WriteString "FREQ " & Round(Range("G6"), 1)             ' 周波数は G6 の値

        PCR500M.WriteString "VOLT " & Round(Range("G5"), 1)             ' AC電圧は G5 の値

        PCR500M.WriteString "VOLT:OFFS 0"                               ' DC電圧は0V

        PCR500M.WriteString "VOLT:RANG:AUTO"                            ' 電圧レンジは自動に設定

        PCR500M.WriteString "OUTP 1"                                    ' 出力ON

        Application.Wait [NOW()] + 500 / 86400000                       ' 出力安定までの待ち時間 500ms(コマンド応答は330ms)

    End If

            

    If Range("E7").Value = True Then

        ELS304.WriteString "CC" & Round(Range("G7"), 2)                 ' 指定された最大負荷での起動

        ELS304.WriteString "SW1"                                        ' 負荷ON

            ' いきなり最大負荷なので、最初は電力計のオートレンジを安定させる

        Application.Wait [NOW()] + 3000 / 86400000                       ' 出力安定までの待ち時間 3000ms

    End If

            

    ' 取得データのタイトルを書く

    ' 入力のデータ

    Range("A9") = "取得回数"            ' Aは取得回数を記載

    Range("B9") = "時間"                ' Bは時間を記載

    

    If Range("E3").Value = True Then

        Range("C9") = "入力電圧"        ' Cは電圧を記載

        Range("D9") = "入力電流"        ' Dは電流を記載

        Range("E9") = "入力電力"        ' Eは電力を記載

        Range("F9") = "入力周波数"      ' Fは周波数を記載

    End If

    

    ' 出力のデータ

    If Range("E6").Value = True Then

        Range("H9") = "出力電圧"        ' Hは電圧を記載

        Range("I9") = "出力電流"        ' Iは電流を記載

        Range("J9") = "出力電力"        ' Jは電を記載

        Range("K9") = "出力周波数"      ' Kは電流を記載

    End If

        

    If Range("E5").Value = True Then

        ' PCR500Mの状態

        Range("M9") = "PCR500M電圧"     ' Mは電圧を記載

        Range("N9") = "PCR500M電流"     ' Nは電流を記載

        Range("O9") = "PCR500M電力"     ' Oは電力を記載

        Range("P9") = "PCR500M力率"     ' Pは力率を記載

    End If

    

    If Range("E7").Value = True Then

        ' ELS-304のデータ

        Range("R9") = "ELS-304電圧"     ' Rは電圧を記載

        Range("S9") = "ELS-304電流"     ' Sは電流を記載

        Range("T9") = "ELS-304電力"     ' Tは電力を記載

    End If

    

        


    If Range("E4").Value = True Then

    ' いきなり最大負荷なので、最初は電力計のオートレンジを安定させる

        PIA4810.WriteString "VSET10"                                                        ' 10V出力

        Application.Wait [NOW()] + 3000 / 86400000                                          ' 数値安定までの待ち時間 3000ms

    End If

    

    

    For Counter = 0 To Range("G2")

        DoEvents

        If Counter <= (Range("G2") / 1.25 * 0.75) Then

            ' 25%以上負荷の領域は最大間隔での測定

            If Range("E4").Value = True Then

                ' (10-カウンタの値×10÷(測定点数÷1.25))V出力

                PIA4810.WriteString "VSET" & Round((10 - Counter * 10 / (Range("G2") / 1.25)), 2)

            End If

            If Range("E7").Value = True Then

                ELS304.WriteString "CC" & Round((Range("G7") * (1 - Counter / (Range("G2") / 1.25))), 2)

            End If

        Else

            ' 25%未満負荷の領域は最大間隔の半分の間隔での測定

            If Range("E4").Value = True Then

                '(10-カウンタの値×10÷(測定点数÷1.25))V出力

                PIA4810.WriteString "VSET" & Round((10 - Counter * 10 / (Range("G2") / 1.25) + (Counter - (Range("G2") / 1.25 * 0.75)) / 2 * 10 / (Range("G2") / 1.25)), 2)

            End If

            If Range("E7").Value = True Then

                ELS304.WriteString "CC" & Round((Range("G7") * ((1 - Counter / (Range("G2") / 1.25)) + (Counter - (Range("G2") / 1.25 * 0.75)) / 2 / (Range("G2") / 1.25))), 2)

            End If

        

        End If

            



        Application.Wait [NOW()] + 7000 / 86400000                                      ' 出力安定までの待ち時間 7000ms

        Range("A10").Offset(Counter, 0) = Counter                                       ' 取得回数の書き出し

        

        ' WT200入力側からのデータ読み出し

        If Range("E3").Value = True Then

            WT_ReadErrorFlag = False

            Do

                DoEvents

                If WT_ReadErrorFlag = True Then

                    Application.Wait [NOW()] + 1000 / 86400000              ' 読み込みエラーで戻ってきた場合は待ち時間 1000ms 待って再取得

                    WT_ReadErrorFlag = False

                End If

                WT200_IN.WriteString "OD"                                   ' WT200入力側測定値の問い合わせ

                

                Rdata = WT200_IN.ReadString                                 ' 電圧データの取得

                If Rdata Like "*999999.E+3*" Then                           ' Like演算子で数値エラーがが含まれているか判定する

                    WT_ReadErrorFlag = True                                 ' エラー有ならフラグを立てる

                End If

                Range("C10").Offset(Counter, 0) = Val(Rdata)                ' 電圧データの書き込み

                

                Rdata = WT200_IN.ReadString                                 ' 電流データの取得

                If Rdata Like "*999999.E+3*" Then                           ' Like演算子で数値エラーがが含まれているか判定する

                    WT_ReadErrorFlag = True                                 ' エラー有ならフラグを立てる

                End If

                Range("D10").Offset(Counter, 0) = Val(Rdata)                ' 電流データの書き込み

                

                Rdata = WT200_IN.ReadString                                 ' 電力データの取得

                If Rdata Like "*999999.E+3*" Then                           ' Like演算子で数値エラーがが含まれているか判定する

                    WT_ReadErrorFlag = True                                 ' エラー有ならフラグを立てる

                End If

                Range("E10").Offset(Counter, 0) = Val(Rdata)                ' 電力データの書き込み

                

                Rdata = WT200_IN.ReadString                                 ' 周波数データの取得

                Range("F10").Offset(Counter, 0) = Left(Rdata, 11)           ' 周波数データの書き込み

                Rdata = WT200_IN.ReadString                                 ' データ"END"の取得

                Range("G10").Offset(Counter, 0) = Rdata


            Loop While WT_ReadErrorFlag = True                              ' エラーがあったら読み込みやり直し

        End If

        

        ' WT200出力側からのデータ読み出し

        If Range("E6").Value = True Then

            WT_ReadErrorFlag = False

            Do

                DoEvents

                If WT_ReadErrorFlag = True Then

                    Application.Wait [NOW()] + 1000 / 86400000              ' 読み込みエラーで戻ってきた場合は待ち時間 1000ms 待って再取得

                    WT_ReadErrorFlag = False

                End If

                WT200_OUT.WriteString "OD"                                  ' WT200出力側測定値の問い合わせ

                

                Rdata = WT200_OUT.ReadString                                ' 電圧データの取得

                If Rdata Like "*999999.E+3*" Then                           ' Like演算子で数値エラーがが含まれているか判定する

                    WT_ReadErrorFlag = True                                 ' エラー有ならフラグを立てる

                End If

                Range("H10").Offset(Counter, 0) = Val(Rdata)                ' 電圧データの書き込み

                

                Rdata = WT200_OUT.ReadString                                ' 電流データの取得

                If Rdata Like "*999999.E+3*" Then                           ' Like演算子で数値エラーがが含まれているか判定する

                    WT_ReadErrorFlag = True                                 ' エラー有ならフラグを立てる

                End If

                Range("I10").Offset(Counter, 0) = Val(Rdata)                ' 電流データの書き込み

                

                Rdata = WT200_OUT.ReadString                                ' 電力データの取得

                If Rdata Like "*999999.E+3*" Then                           ' Like演算子で数値エラーがが含まれているか判定する

                    WT_ReadErrorFlag = True                                 ' エラー有ならフラグを立てる

                End If

                Range("J10").Offset(Counter, 0) = Val(Rdata)                ' 電力データの書き込み

                

                Rdata = WT200_OUT.ReadString                                ' 周波数データの取得

                Range("K10").Offset(Counter, 0) = Left(Rdata, 11)           ' 周波数データの書き込み

                Rdata = WT200_OUT.ReadString                                ' データ"END"の取得

                Range("L10").Offset(Counter, 0) = Rdata


            Loop While WT_ReadErrorFlag = True                              ' エラーがあったら読み込みやり直し

        End If

            

        

        Range("B10").Offset(Counter, 0) = Format(Now, "hh:mm:ss")           ' 採取時間の書き出し

                

        If Range("E5").Value = True Then

            ' ここにPCR500Mからの計測データ取得

            ' PCR500Mのデータには垂直タブとCRの制御コード羅列が混じるので、"+"以降を取得

            PCR500M.WriteString "MEAS:VOLT:AC?"                                     ' AC電圧の問い合わせ

            Rdata = PCR500M.ReadString

            Range("M10").Offset(Counter, 0) = Val(Mid(Rdata, InStr(Rdata, "+")))    ' 電圧データの書き込み

            PCR500M.WriteString "MEAS:CURR:AC?"                                     ' AC電流の問い合わせ

            Rdata = PCR500M.ReadString

            Range("N10").Offset(Counter, 0) = Val(Mid(Rdata, InStr(Rdata, "+")))    ' 電流データの書き込み

            PCR500M.WriteString "MEAS:POW:AC?"                                      ' AC電力の問い合わせ

            Rdata = PCR500M.ReadString

            Range("O10").Offset(Counter, 0) = Val(Mid(Rdata, InStr(Rdata, "+")))    ' 電力データの書き込み

            PCR500M.WriteString "MEAS:POW:AC:PFAC? "                                ' AC力率の問い合わせ

            Rdata = PCR500M.ReadString

            Range("P10").Offset(Counter, 0) = Val(Mid(Rdata, InStr(Rdata, "+")))    ' 力率データの書き込み

        End If

        

            ' ELS-304 のデータ採取

        If Range("E7").Value = True Then

            ELS304.WriteString "MV0"                                        ' 電圧の問い合わせ

            Rdata = ELS304.ReadString

            Range("R10").Offset(Counter, 0) = Val(Rdata)                    ' 電圧データの書き込み

            ELS304.WriteString "MC0"                                        ' 電流の問い合わせ

            Rdata = ELS304.ReadString

            Range("S10").Offset(Counter, 0) = Val(Rdata)                    ' 電流データの書き込み

            ELS304.WriteString "MW"                                         ' 電力の問い合わせ

            Rdata = ELS304.ReadString

            Range("T10").Offset(Counter, 0) = Val(Rdata)                    ' 電力データの書き込み

        End If

    

    Next

    

    If Range("E7").Value = True Then

        ELS304.WriteString "SW0"                                            ' ELS-304の負荷OFF

    End If

    

    If Range("E5").Value = True Then

        PCR500M.WriteString "OUTP 0"                                        ' PCR500M 出力OFF

        PCR500M.WriteString "SYST:LOC"                                      ' ローカルに戻す

    End If

    

    If Range("E4").Value = True Then

        PIA4810.WriteString "VSET 0"                                        ' 電子負荷の出力最小状態

    End If



    ' 終了処理

    If Range("E5").Value = True Then

        PCR500M.IO.Close

        Set PCR500M = Nothing

    End If

    

    If Range("E4").Value = True Then

        PIA4810.IO.Close

        Set PIA4810 = Nothing

    End If

    

    If Range("E3").Value = True Then

        WT200_IN.IO.Close

        Set WT200_IN = Nothing

    End If

    

    If Range("E6").Value = True Then

        WT200_OUT.IO.Close

        Set WT200_OUT = Nothing

    End If

    

    If Range("E7").Value = True Then

        ELS304.IO.Close

        Set ELS304 = Nothing

    End If

    

    Set RM = Nothing

    

    RunFlag = False         ' フラグのリセット

    MsgBox "終了しました"

End Sub


' ストップボタンクリックイベント

Sub btnStop_Click()

    RunFlag = False

    ' 終了処理

    If Range("E5").Value = True Then

        PCR500M.WriteString "OUTP 0"                                    ' PCR500M 出力OFF

        PCR500M.WriteString "SYST:LOC"                                  ' ローカルに戻す

        PCR500M.IO.Close

        Set PCR500M = Nothing

    End If

    

    If Range("E3").Value = True Then

        WT200_IN.IO.Close

        Set WT200_IN = Nothing

    End If

    

    If Range("E6").Value = True Then

        WT200_OUT.IO.Close

        Set WT200_OUT = Nothing

    End If

    

    If Range("E7").Value = True Then

        ELS304.WriteString "SW0"                                        ' ELS-304の負荷OFF

        ELS304.IO.Close

        Set ELS304 = Nothing

    End If

    

    

    If Range("E4").Value = True Then

        PIA4810.WriteString "VSET 0"                                        ' 電子負荷の出力最小状態

        PIA4810.IO.Close

        Set PIA4810 = Nothing

    End If

    

    

    Set RM = Nothing

End Sub



' クリアボタンクリックイベント

Sub btnClear_Click()

    If RunFlag Then

        If MsgBox("停止してデータをクリアしてよろしいですか?", vbExclamation + vbOKCancel) = vbOK Then

            Range("A9:Z65536").ClearContents

            RunFlag = False

        End If

        Exit Sub

    End If

    

    If MsgBox("データをクリアします", vbInformation + vbOKCancel) = vbOK Then

        Range("A9:Z65536").ClearContents

    End If

End Sub


'----ここまで

ソースがかなりごちゃごちゃしてきたので、この手の

『何も考えずにノリと勢い作ってみたけど、不満だったから後から拡張』

は、そろそろお腹一杯というところです。

逆に言えば私の限界点として、

“これぐらいの程度ならば設計なんて考えずに手だけ動かしてたらバグなしで余裕で書ける”

“御託は良いからサッサと手を動かせ!”

という事なのでしょう。

ではこの構成で電源装置と電子負荷から読み取った値をグラフ化してみます。




さて、やはりというか、

電子負荷装置で測ると電圧低下の影響がいくらか目についてしまう

のと、測定結果が荒い側面が表に出ています。

まぁ、ぶっちゃけこんなもんです。

あと気づいたのはELS-304は癖の強い機種ですが、外から制御する分には申し分ない動きをしてくれるので非常にありがたい…と思った次第。あれは間違っても手で操作するものではない…。


なんにせよこれで大体の電源の効率やロードレギュレーションの測定がチョロくなったので、久しぶりに快適な電源技術調査という名の

m9(^Д^)プギャー

生活を楽しむことができます。


過去作った製品とかの資料も測定点数が荒くてこれで測りなおしたいのだけど、一般経路じゃ手に入れられんので残念…。

つうか、もう製品として使っていないだろうし気にしなくてもいいか…。


ってか、これやりだしたら電圧の高いPFC周りの測定やトランス・インバータ周りもやりたくなってくるな…

次は高圧の電子負荷装置か交流負荷装置か?

こうやってフラグをしっかり立てておくことにします。

PFCやトランス・インバータなんかの案件も考えている方は投げ銭(現物支給も可)もついでに考えながら私にご相談ください。(ぉぃ

ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。