また1日無駄にした [Raspberry Pi]
こないだのHiLetgoの降圧型DC-DCコンバータの電流源への改造が思っていたよりうまくいって、あのあともずっとDPSSレーザは機嫌よく動いているので、同じ伝(デン)でちょっとしたデモ用の電流源を追加作製しようと思った。ほぼ同じものを作るつもりであまり考えずにサクっとやろうと思った。ところがそこに落とし穴があって、丸一日無駄にすることになった。これを読んでくれてる人の反面教師として詳細を書くことにする....
またHiLetgoのDC-DCコンバータを手配した。先日と同じものではなくて、一回り小さいもの。ちゃんと確認せずにどうせ同じだろう、と思っていたし、実際に届いた現物を見ても基板をレイアウトし直したものにしか見えなかった。ところが微妙に違っていた。
前回と同じようにLM324を+5V片電源で使って、Raspberry PiのPWM信号を積分してアナログ制御する回路と電流値をフィードバックする回路を手ハンダした。リニアリティを確認しようとして負荷にちいさな抵抗をつないで、PWM信号を入れてみた。ところがPWMのDuty比をあげても電流が20mAぐらい以上にならない。あっれえ、おかしいなあ。前組んだ回路は350mAぐらいまで取れたのになあ。
最近目がショボって目を凝らしてもハンダがテンプラになってないかよくわからないので、ルーペの下でオペアンプの足を1本飛ばしてないか確認したり、コテをあたり直したけど、症状は変わらない。そもそもほんとにDC-DCコンバータは同じ回路か、と思ってルーペで見てると、裸眼では黒くて見えなかったPWMチップの型番が見えた。前と同じXLSEMIのチップなんだけど、XL4005になってる。あっれえ、やっぱり違ってたんだ、なんて今更のように気がついた。前のXL4015とは間違い探しのように仕様が微妙に違う。
データシートからわかる違いは
おかしなところはすぐ見つかった。下の回路の電流出力をオープンにして制御入力電圧を下げると、当然FBに入るオペアンプ出力は下がってくるはずである。 ところが制御入力をGNDにしても0.8Vぐらいから下がらない。オペアンプがちゃんとしてればGND付近まで下がるはずである。試しに前組んだ回路で同じことをしてみて驚いた。こっちはちゃんとGNDに下がるだろうと思っていたら、同じように0.8Vぐらいまでしか下がらない。あっりゃあ、なんでだあ。
まさかとは思ったんだけど、オペアンプの電流出力の容量をいちおう見ておこうと思って、こんな回路をブレッドボードに組んだ。独立したボルテージフォロア オペアンプの出力が十分電流を流せればTPの電圧は入力にした可変抵抗の電圧と同じになるはずだけど、電流が取れなければ出力側の可変抵抗の分圧に引っ張られるはずである。出力の抵抗$R$を1M$\Omega$にすると出力側の可変抵抗の分圧にかかわらず入力と同じになった。$R$を1k$\Omega$にすると、出力側の分圧が1V以上だと、入力を5Vから下げていくと出力は0.7〜0.8Vぐらいで下げ止まってしまう。完全に非線形な動作をする。その動作は$R$が1k〜330k$\Omega$の広い範囲でほとんど同じだった。
何かの拍子に壊したのか、と思ってオペアンプを取り替えても全く同じになった。僕にはちょっとしたショックで頭を抱えてしまった(ちゃんとデータをとらなかった)。
あらためてLM324のデータシートを確認することにした。オペアンプのデータシートなんて真面目に見たのは本当に久しぶりだった。僕が見たような出力の非線形な動作については直接の記述はなかったけど、こんなことが書いてあった。 必要なところだけ抜き出してるけど、出力電流(Output Current)のところがへんな記述になってる。VIDというのは最初の方に注釈があってようするにVIN+-VIN-のこと。一番上の欄はVID=1Vでつまり出力は+にサチるはずで、その状態で出力を0Vに落としたときtypicalで30mA流がれ出す(source)ことができる、ということ。その次の欄はその逆でVID=-1Vでつまり出力は0Vになるはずで、その状態で出力をVCCにしたときtypicalで20mA流れ込む(sink)ことができる。最後の欄はVID=-1Vでsink側だけど出力電圧を200mVと低くしたら30$\mu$Aしか流れないとなっている。
これだけ読むと出力インピーダンスが高い、と解釈できて非線形性があるかどうかはわからない。でも直列出力インピーダンスが高いとすると流れ込み側にたくさん電流を流したときに十分電圧が下がらない、ということでもある。そして非線形性はちゃんとfigure1に描いてあった。 出力の流れ込み電流と電圧のグラフで30$\mu$Aまでの小電流では3k$\Omega$ぐらい(めちゃでかいな)の直列インピーダンスがあるように見えるけど、それ以上電流をとろうとすると、0.6〜0.8Vぐらいの電圧にクランプされると読める。詳しい人ならそのあとにある等価回路をみれば理由がわかるのかもしれない。僕にはわからない。
原因はこれだった。PWMチップの基準電圧が0.8Vぐらいで、オペアンプの出力がその付近にクランプされて十分GNDに下がりきらないせいで、フィードバックになってないということだった。前の回路では基準電圧が1.25Vでクランプ電圧に対して高いので、問題にならなかった。PWMチップのフィードバックゲインが低ければ同じことが起こったかもしれないけど、そこまでゲインは低くはなかったということだろう。
原因がわかれば解決策は考えられる。
LM324のこのsink電流特性は知ってる人は知ってるんだろうけど、僕は知らなかった。普通の片電源オペアンプにはないんじゃないかとも思うんだけど、どっちにしても光学計測用には使いづらいのでこれから積極的に使っていこうというようなものでもない。更に言えば、小細工で改造しようという発想そのものが本来的に問題である。どうするか、一晩考えることにする。
ところで、今回の教訓はまさしく先週気をつけようと思ったばかりの「それ、知ってる」という思い込みが陥穽である、ということ。それとキモになる部品のデータシートぐらいはちゃんと見よう。ちゃんとしたデータシートには必要なデータがちゃんと書いてある。
なにも学習してないのが露呈した、ということである。特に若い人はぜひこれを参考に、どうすべきか考えてほしい。
ところで「ちゃんと」って何?
またHiLetgoのDC-DCコンバータを手配した。先日と同じものではなくて、一回り小さいもの。ちゃんと確認せずにどうせ同じだろう、と思っていたし、実際に届いた現物を見ても基板をレイアウトし直したものにしか見えなかった。ところが微妙に違っていた。
前回と同じようにLM324を+5V片電源で使って、Raspberry PiのPWM信号を積分してアナログ制御する回路と電流値をフィードバックする回路を手ハンダした。リニアリティを確認しようとして負荷にちいさな抵抗をつないで、PWM信号を入れてみた。ところがPWMのDuty比をあげても電流が20mAぐらい以上にならない。あっれえ、おかしいなあ。前組んだ回路は350mAぐらいまで取れたのになあ。
最近目がショボって目を凝らしてもハンダがテンプラになってないかよくわからないので、ルーペの下でオペアンプの足を1本飛ばしてないか確認したり、コテをあたり直したけど、症状は変わらない。そもそもほんとにDC-DCコンバータは同じ回路か、と思ってルーペで見てると、裸眼では黒くて見えなかったPWMチップの型番が見えた。前と同じXLSEMIのチップなんだけど、XL4005になってる。あっれえ、やっぱり違ってたんだ、なんて今更のように気がついた。前のXL4015とは間違い探しのように仕様が微妙に違う。
データシートからわかる違いは
- スイッチング周波数が180kHz→300kHz
- 基準電圧安定用のコンデンサ接続ピン→Enable入力用ピン
- 基準電圧が1.25V→0.8V
おかしなところはすぐ見つかった。下の回路の電流出力をオープンにして制御入力電圧を下げると、当然FBに入るオペアンプ出力は下がってくるはずである。 ところが制御入力をGNDにしても0.8Vぐらいから下がらない。オペアンプがちゃんとしてればGND付近まで下がるはずである。試しに前組んだ回路で同じことをしてみて驚いた。こっちはちゃんとGNDに下がるだろうと思っていたら、同じように0.8Vぐらいまでしか下がらない。あっりゃあ、なんでだあ。
まさかとは思ったんだけど、オペアンプの電流出力の容量をいちおう見ておこうと思って、こんな回路をブレッドボードに組んだ。独立したボルテージフォロア オペアンプの出力が十分電流を流せればTPの電圧は入力にした可変抵抗の電圧と同じになるはずだけど、電流が取れなければ出力側の可変抵抗の分圧に引っ張られるはずである。出力の抵抗$R$を1M$\Omega$にすると出力側の可変抵抗の分圧にかかわらず入力と同じになった。$R$を1k$\Omega$にすると、出力側の分圧が1V以上だと、入力を5Vから下げていくと出力は0.7〜0.8Vぐらいで下げ止まってしまう。完全に非線形な動作をする。その動作は$R$が1k〜330k$\Omega$の広い範囲でほとんど同じだった。
何かの拍子に壊したのか、と思ってオペアンプを取り替えても全く同じになった。僕にはちょっとしたショックで頭を抱えてしまった(ちゃんとデータをとらなかった)。
あらためてLM324のデータシートを確認することにした。オペアンプのデータシートなんて真面目に見たのは本当に久しぶりだった。僕が見たような出力の非線形な動作については直接の記述はなかったけど、こんなことが書いてあった。 必要なところだけ抜き出してるけど、出力電流(Output Current)のところがへんな記述になってる。VIDというのは最初の方に注釈があってようするにVIN+-VIN-のこと。一番上の欄はVID=1Vでつまり出力は+にサチるはずで、その状態で出力を0Vに落としたときtypicalで30mA流がれ出す(source)ことができる、ということ。その次の欄はその逆でVID=-1Vでつまり出力は0Vになるはずで、その状態で出力をVCCにしたときtypicalで20mA流れ込む(sink)ことができる。最後の欄はVID=-1Vでsink側だけど出力電圧を200mVと低くしたら30$\mu$Aしか流れないとなっている。
これだけ読むと出力インピーダンスが高い、と解釈できて非線形性があるかどうかはわからない。でも直列出力インピーダンスが高いとすると流れ込み側にたくさん電流を流したときに十分電圧が下がらない、ということでもある。そして非線形性はちゃんとfigure1に描いてあった。 出力の流れ込み電流と電圧のグラフで30$\mu$Aまでの小電流では3k$\Omega$ぐらい(めちゃでかいな)の直列インピーダンスがあるように見えるけど、それ以上電流をとろうとすると、0.6〜0.8Vぐらいの電圧にクランプされると読める。詳しい人ならそのあとにある等価回路をみれば理由がわかるのかもしれない。僕にはわからない。
原因はこれだった。PWMチップの基準電圧が0.8Vぐらいで、オペアンプの出力がその付近にクランプされて十分GNDに下がりきらないせいで、フィードバックになってないということだった。前の回路では基準電圧が1.25Vでクランプ電圧に対して高いので、問題にならなかった。PWMチップのフィードバックゲインが低ければ同じことが起こったかもしれないけど、そこまでゲインは低くはなかったということだろう。
原因がわかれば解決策は考えられる。
- HiLetgo基板のFBに入っている抵抗を外して電流を食わないようにする
- トランジスタを追加してsink電流をブーストする
- 負電源を用意して両電源で使う(見かけ上クランプ電圧を下げる)
- sink電流に非線形性のないLM324以外の片電源オペアンプに変更する
- XL4015チップを使ったHiLetgoコンバータに変更する
LM324のこのsink電流特性は知ってる人は知ってるんだろうけど、僕は知らなかった。普通の片電源オペアンプにはないんじゃないかとも思うんだけど、どっちにしても光学計測用には使いづらいのでこれから積極的に使っていこうというようなものでもない。更に言えば、小細工で改造しようという発想そのものが本来的に問題である。どうするか、一晩考えることにする。
ところで、今回の教訓はまさしく先週気をつけようと思ったばかりの「それ、知ってる」という思い込みが陥穽である、ということ。それとキモになる部品のデータシートぐらいはちゃんと見よう。ちゃんとしたデータシートには必要なデータがちゃんと書いてある。
なにも学習してないのが露呈した、ということである。特に若い人はぜひこれを参考に、どうすべきか考えてほしい。
ところで「ちゃんと」って何?
2019-03-21 22:18
nice!(0)
コメント(2)
LM324とLM358は出力段のマイナス側がPNPトランジスタのエミッタフォロワなんで、ベースエミッタ間の電圧降下0.7V+α分だけGNDより高い電圧までしか下がりませんよ。出力をプルダウンするともっと下がりますが、非線形特性を打ち消すのにどの程度の抵抗が最適かはトライアンドエラーになります。(出力段のプラス側をA級動作させるところまで電流を流す必要あり。)
CMOSやRail to rail出力でないかぎり、出力がどこかで飽和するのは常識と考えるぐらいで警戒しておくのがよいかと。
by tc74hc4066 (2020-04-28 23:56)
コメントありがとうございます。
ちゃんと勉強した人には当たり前かもしれませんが、僕は全然知りませんでした。気を付けないといけないです。
by decafish (2020-04-29 22:19)