投稿

1月, 2026の投稿を表示しています

LT3080実験用DC電源プロジェクト(5)LT3080のSETへのDAC→OPA出力の接続

イメージ
  データシートに記載されている基本的なラボ用電源の回路。 後段のLT3080が電圧を決めている。 内部の定電流源10uAから接続された抵抗に流されて発生する電圧がSETに入る事で、Vset≒Voutとなり出力される。10uAで1MΩの場合は10Vになるので、出力が10Vになる。 このSETを外部のDACでコントロールしてやる事で、Voutを可変しようという事。 テスト1(上手く動かない) OPの出力は、SETに接続する前は、9.58V、7.17V、4.77V、 2.413V、0.054Vと変化している事を確認している。 それをそのままSETに接続する。 すると、LT3080の出力は、9.58V、7.17V、4.77V、 2.413Vまでは良いが、0.054Vの所が、2.276Vになる。おや? という子事でOPの出力を見てやると、9.58V、7.17V、4.77V、2.413V、 0.905Vとやはり最後の電圧がゼロ付近になっていない・・・。 テスト2(CRD) LT3080だが出力から少なくとも0.5mA以上引き出さないと出力してくれなくなる。 1.5kの抵抗だと0.75V以上ないと0.5mAにならない。 そこで、出力にCRD、定電流ダイオード2mAを別途用意している-3.3Vに向かって付けてやる。 この状態で、出力を測定してやると、LT3080の出力は、9.58V、7.17V、4.77V、 2.413Vまでは良いが、0.054Vの所が、2.14Vと先ほど2.276からは下がるものの・・・ Voutは必ず電流をゼロ付近でも流してあげないといけないので、このCRDは正解のはずだが・・・他に要因が・・・ テスト2(直列抵抗) OPの出力とSETの間に、10kの抵抗を直列に入れてやる。 そして、この抵抗のOP側とSET側をそれぞれ測定する。 OP側   : 9.58V、7.17V、4.77V、 2.413V、0.054V SET側: 9.68V、7.27V、4.87V、 2.513V、0.155V いずれもSET側は最後の0.054Vの所も含めて100mV高い値に。 これは丁度、10kΩx10uA=100mAで、LT3080の内部電流源から流れてくる電流が超えてくるときの電位差に一致する。 10kΩだと100mAだが、ここを小さい値にしてやる...

LT3080実験用DC電源プロジェクト(4)DACとオペアンプ

イメージ
  秋月定番?のMCP4725をDACには利用。オペアンプは、NJM2745Mを使った(後に理由があり変更する予定だが現時点ではこれ) この時点で、マイコンから指示を送って、DACが所定の出力をし、オペアンプでしっかりと3倍の電圧に変換されている事を確認する。 今回は最初から横着する事を目的に328PBを使っているので、Adafruitから提供されているMCP4725のライブラリーを使ってサクッと動かしてみる。 #include <Wire.h> #include <Adafruit_MCP4725.h> Adafruit_MCP4725 dac; void setup () {   Serial . begin ( 9600 );   Serial . println ( "Hello!" ); // put your setup code here, to run once: //For MCP4725A0 the address: when A0 is high, the adress is 0x61.   dac . begin (0x 60 );   dac . setVoltage ( 0 , true ); } void loop () { // for (uint16_t i = 0; i < 4095; i++) // { // dac.setVoltage(i, false); // delay(1); // } dac . setVoltage ( 4000 , false ); delay ( 3000 ); dac . setVoltage ( 3000 , false ); delay ( 3000 ); dac . setVoltage ( 2000 , false ); delay ( 3000 ); dac . setVoltage ( 1000 , false ); delay ( 3000 ); dac . setVoltage ( 0 , false ); delay ( 3000 ); dac.setVoltage(0, true); 第一引数が0-4095の4096階調の出力を示して、第二引数がtrueならMCP4725ないのEEPRO...

LT3080実験用DC電源プロジェクト(3)電源まわり

イメージ
 電源まわり この段階では、入力は12V(WiiのACアダプター)で実験を進めている。 12Vから5V、3.3V、そして-3.3Vを生成する電源まわり。 ATmega389PBは、5V,3.3Vどちらでも8MHzで動作させられるが、TFT LCD3.3Vを使いたいので3.3Vを用意。5Vはいろいろ使う機会も多いから個別に取り出せるようにしようかと。あとマイナス側の-3.3Vも用意。これは、LT3080は常に出力側にマニュアル上は0.5mA少なくとも流れていないとゼロボルト付近の設定ができないため、マイナス側を用意して定電流ダイオードで出力にゼロ付近でも常に電流を流してやるために用意。その他にもオペアンプ電源のマイナス側をゼロVではなく、マイナス側に振る事で、ゼロ付近を確実に出したいという事で用意している。 ブレッドボード上に用意した姿が上。 5Vの出力には、LD1117を使用。ユニバーサル基板を適当な大きさにカットしたものに実装。チップコンデンサーをそれぞれ用いてCを基板上で実装。入力側のコンデンサーは電圧がそれなりにかかるので耐圧の高いものを利用する。 同じく3.3Vには、AP7333を利用。3.3Vで電流容量がそれなりにあるものなら何でもOKでしょう。手元にあったものから利用。 変換基板の裏側にデータシートの通り1uFのコンデンサーを固定している。 最後に負電圧を作成するためNJU7660A。ボルテージコンバーター。入力した電圧を符号をマイナスにして出力してくれる。チャージポンプでマイナス電源を用意。  ATmega328PB、C340Eの3.3V駆動 マイコンは5Vでも駆動できるが、3.3VのLCDを利用する事を想定して、マイコンそのものを3.3Vで駆動する。 PCからUSBのVBUSに+5Vが供給されるが、PCからの5Vはノイズも多いので、ここはどこにも接続せず利用しない。(赤い〇の部分)。CH340とATmega328PBに3.3Vを与えてやる。これでしっかりPCとコミュニケーション(ファームの書き込みやシリアル通信)ができる。

LT3080実験用DC電源プロジェクト(2)マイコンの準備

イメージ
実験用の電源を自作しようというプロジェクトの続き。  最初に設定した仕様の一つ、”単体の電源としても使えるが、PCからUSB経由で接続すれば、PCのプログラムで制御し動かせるようにする。また、PCから電流、電圧ともに取得できるようにする。” なのでマイコンを選定して、動かすようにする。ベアな ATMEGA328Pを買ってきてArduinoの最小構成を作るってもの。 今までもやった事があるが備忘録かねて。 マイコン選定 手元にあるICのマイコンの候補は以下。  CH32V003F4P6 :32ビットRISC-Vマイコン。秋月価格で60円と安価。基本なんでもこれで作っている愛用品。 https://akizukidenshi.com/goodsaffix/CH32V003.pdf ATMEGA328P-AU :おのずと知られたArduinoNanoに使われているマイコン。以外と高い。秋月価格で410円。 https://akizukidenshi.com/goodsaffix/atmega48-88-168-328_A_P_PA.pdf ATMEGA328PB-AU :上の328Pの後継機種。機能は同じなのに、値段はこちらの方が安い。秋月価格240円。328Pはディスコンが近いのでプレミアム価格が載ってきていて高くつくので、乗り換え用に手元に所有。 https://akizukidenshi.com/goodsaffix/ATMEGA328PB.pdf 今回は、OLED等で電圧、電流を電源として表示する機能を搭載したいし・・かっこよく作りたいと思っているので、悩んだが、メモリが16kBのCH32より、32kBで少し余裕がありながらも低価格のATMEGA328PB-AUを選択。 ATMEGA328PB-AUへのファーム書き込み ブレッドボードで動かすために、32ピンQFP変換基板( https://akizukidenshi.com/catalog/g/g109581/ )に半田で固定するところから。 マイコンのプログラムは横着してarduinoで済ませたいので、ファームを書き込む。 ファーム書き込みのやり方は、いろいろ検索すると出てくるから割愛するが、ざっくりArduinoNanoを使って書き込みの手順は以下。詳細は専門のページに任せて・・・ Mini...

LT3080実験用DC電源プロジェクト(1)基本動作確認

イメージ
 安定化電源を自作しようというプロジェクト 【目指す仕様】 ・ブレッドボードで使うレベルで取り出せる電流はMax1A ・可変できる電圧範囲は0-10V程度 8とか9Vでも十分。しかし、必ずゼロボルトからスイングできるようにする。 ・また市販の実験用の電源と同じく、CC,CVモードを完備する。 ・出力している電圧、電流をモニターして表示する。 ・単体の電源としても使えるが、PCからUSB経由で接続すれば、PCのプログラムで制御し動かせるようにする。また、PCから電流、電圧ともに取得できるようにする。 といったものをめざす。 【LT3080】 ゼロボルトからという点にこだわると可変レギュレーターの中でも、よく使われるLT3080を選択する事とした。文献も多くて作りやすいと思ったから。秋月で入手性もよいのも理由。 【テスト回路の作成①】 データシートに載っているこの回路を全くそのままブレッドボードに。 15uFの電解コンデンサーが手元になかったので22uF(50V)を利用、それ以外は上の構成ならびに、抵抗等の値は同じ。 LT3080Tは、5本のリードが出ているTO-220。ブレッドボードにそのまま刺す事ができない。かと言ってテストで半田してユニバーサル基板に組んでしまうと、一つ750円もする結構お高めなレギュレーター。そこで、 https://akizukidenshi.com/catalog/g/g112264/ XHコネクタのコンタクト端子に抵抗の足の金属を取り付け、LT3080Tの足に刺す事で電気的コンタクトを取るようにする事で配線を行った。 これでも配線が最短になるようには気を使ってはいる。 入力には、ACアダプター(WiiのACアダプターを電源ジャックにしたもの)から12Vを取得し入力。 【テスト回路:CV 電圧出力】 まず、負荷抵抗に10kΩの抵抗を付けて、電圧の範囲を調べる。 1MΩ側の可変抵抗を回してあげて、下限と上限を調査する。 この構成では0.3V~9.7Vの範囲で調整ができた。 下0.3Vの方は、負荷に最低電流0.5mAは流れないと出力をしない。0.3mAぐらいまでは出力するよう。(この点は、ゼロからできるようにと後ほど対策をする予定) 上は入力を12Vとしているが、CCのLT3080を超えた時点でVinが1.3V降下するので、2段で2.6V...