交流結合の非反転増幅回路

今日は近所の団子屋さんに団子を食べに行ってきた。
とてもおいしかった!

///////////////////////////////////////
交流結合の非反転増幅回路について。
2/25に少し書いたが、交流結合の非反転増幅回路は上の図のような回路になる。電池マークは交流の入力電圧ね。
Rをどう選ぶかだけど、小さすぎると入力インピーダンスが下がってしまうためよくない。
大きすぎるとノイズ源になったりする。
抵抗値の決め方は色々あるみたいだけど、バイポーラトランジスタ入力のオペアンプの場合RをRs//Rfととる場合も結構あるらしい。
何でかというと、直流について計算してみると入力バイアス電流をそれぞれI±として
のようになる。バイポーラ入力の場合I+〜I-らしく(本当かな?)その場合はR=Rs//Rfとすることで入力バイアス電流の影響をなくすることが出来る。
ふーん。少しずつChumoyアンプについて理解が深まってきたな。
ジャジャガッチ | 電子工作 | 22:46 | comments(0) | trackbacks(0) |

Chumoyアンプについて

今日新聞を読んでいたら素数について新定理が見つかったと大々的に扱われていた。
自然数の列を好きなところで600個含むように区切ることを考える。
すると素数が2個含まれる区間は無限に存在するらしい。
証明も素朴な方法で大学生にも理解できるとのこと。ほんと?

/////////////////////////////////////////////////////////////////
位相補償についてはかなり理解が進んだことだし、Chumoyアンプを材料に他のことも少し勉強してみようと思う。
オペアンプのデータシートもきちんと読めるようにならなければ。
 
ジャジャガッチ | 電子工作 | 21:34 | comments(0) | trackbacks(0) |

オペアンプの位相補償シミュレーション

ガソリンスタンドのおじさん。
僕がセルフで給油するのは安いからとかじゃなくて店員さんと話さなくて済むからです。
だからクレジットカード薦めるのやめてください。

///////////////////////////////////////////
当初の目的であったオペアンプの位相補償について非反転増幅回路を例にとってシミュレーションしてみた。
伝達関数は
一巡伝達関数はループゲインが十分に大きい場合A/G(s)で与えられる。
Rs=500kΩ、Rf=1MΩ、Ci=10pF、Cf=0pFでシミュレーションした。この場合、伝達関数のゼロは大体50kHz。これがループゲインのポールになる。
出力電圧の周波数特性は予想通り↑。ちなみに寄生容量が存在しない場合は下のグラフのようになる。↓
位相補償のためにCf=10pFを入れると大分落ち着く。↓
Ci=10pF、Cf=0pFで立ち上がり10usの方形波を入れると↓。立ち上がりを速くしていくとどんどん不安定になって発振することを確認。
位相補償用コンデンサを入れると↓。なまったけど安定。

きっちりと理屈どおりの結果が得られてうれしい。シミュレーションだから当たり前ではあるのだけれど。
ジャジャガッチ | 電子工作 | 21:25 | comments(0) | trackbacks(0) |

交流結合の非反転増幅回路

windows8色々と使いづらい。
コントロールパネルどこやねん!アプリが閉じられん!シャットダウンできん!などなど・・・。
ちなみにアプリ(windowsストアからインストールするもの)は閉じる必要がないとmicrosoftのhpに書いてある。使わない状態が続けば自動的に閉じるらしい。うーん・・・。

/////////////////////////////////////////////////////////

オーディオアンプではアンプ入力に直流が不要なのでコンデンサでカットすることが行われる。
でもどうやらオペアンプでは単純にコンデンサでカットするのはまずいらしい。
コンデンサの後ろに直流を逃がす抵抗が必要なようだ。
実際、Chumoyアンプの入力もそうなっている。

なぜこのようなことが必要なのか解説があまり見つからないのだが、アナログ・デバイセズのアプリケーションノート(vol41.aug.2007)に詳しい解説があった。
どうやらオペアンプの入力部に流れる直流バイアス電流が入力のコンデンサを充電してしまい、出力がじわじわとシフトしてしまうそうだ。じわじわとシフトするので数時間動作させないと気が付かなかったりするらしい。
ほうほう。
ジャジャガッチ | 電子工作 | 20:38 | comments(0) | trackbacks(0) |

オペアンプの位相補償-ゼロの例-

この前久しぶりに自転車というものに乗ってハードオフに行ってきた。
普段は車移動なのだが、このまま自転車を乗らないまま放置していると動かなくなってしまいそうなので久々に動かすことにしたのだ。
とても気持ちがよかった。帰りは風がきつすぎて心が折れそうになったけど。
ハードオフではついスーパーファミコンのコントローラを買いそうになったが我慢した。すでにスペアがいくつかあるのに欲しくなる。
もう生産されていないだろうと思うとつい欲しくなる。

生産されていないと言えばゼノギアスというゲームの公式設定資料集。
僕はこのゲームがとても好きなのだが、出版社の倒産で入手が困難になっていた。
2年に一度くらいのペースでネットで注文しようかしまいか迷っていたが、プレミアがついていて結構高いので我慢していた。
人気のあるゲームなので復刊の要望が多いことは知っていたため、もしかしたらどこかが復刊してくれるかもしれない、という思いもあった。
んで、ついに復刊された!今年の4月に再販される。
もちろん妻に内緒で予約注文したぜ!
5,400円とゲームの本としては高価だが、買わずにはおれん!

/////////////////////////////////
さて、オペアンプの話。
オペアンプ発振の原因のひとつは伝達関数のポールによる位相の遅れであり、ポールと逆の性質をもつゼロを利用することで位相補償が可能だそうだ。
名著として知られている岡村氏の「定本OPアンプ回路の設計」(第二版)の第3章にゼロの例として回路が紹介されている。
P82図3-8には
こういう回路が紹介されている。
図3-9にはゼロのゲインと位相の周波数特性のグラフが載っている。
でも何か怪しい。ゲインがずっとグラフでは増加し続けているが、能動素子を含まない回路なのでゲインは頭打ちになるはずだ。
伝達関数を計算してみた。
ん?分子にωがあるのはわかる。ゼロの回路例として紹介されてるんだから。
でも分母にもωがあるぞ。ということはポールもあるじゃないか。
LTSpiceでシミュレーションしてみた。回路定数は次のとおり。
LTSpiceで周波数解析するときはプロット点数を選ばなくてはならないみたいだが、octaveで10pointsにすると周波数2倍ごとに10点ペースでログスイープするらしい。decadeなら10倍ごとにn点か。
破線が位相。
ゼロ周波数の絶対値は1hz、ポール周波数の絶対値は160hzなので、ゲインは1hzから160hzまでlogスケールで直線的に上がっていき、160hzあたりからポールの効果で下がっていくため、トータルではゲインは160hzあたりで頭打ちになる。
位相はゼロの効果で1hz辺りで45度進み、10hzで90度ほどまで進む。その後16hz辺りからポールの効果で下がり始め、1.6khz辺りで進みは0になる。
うん、予測どおりの結果。ポール、ゼロの位置がわかるとシミュレーション等しなくても周波数特性はある程度予測がつくな。素晴らしい。

というか、前述した本、この書き方だとこの回路はゼロしか持たないように見えるではないか。初心者にはわかりづらいです。しかもこの本読むのはきっと僕のような初心者でしょう。この記述は混乱の元のような気がする。
ジャジャガッチ | 電子工作 | 19:23 | comments(0) | trackbacks(0) |

ポールと遮断周波数

今日は朝の4時に起きだしてごそごそと楽しい計算をし、猫と遊び、昼寝をし、ケーキを買ってきて食べた。
今日も幸せな一日だった。

////////////////////////////////////////////////////
伝達関数のポールの位置と遮断周波数の関係について考えた。
ひとつだけポールをもつときは、伝達関数は
と書ける。ポールの位置は
で、aを実数に限定すると純虚数となる。ゲインは
であり、ω=aが遮断周波数となっていることは自明だ。
また、ポールが複数ある場合も伝達関数の分母を因数分解の形で書くことが出来て、ボード線図上で単純に重ね合わせればすむことが示せる。ゼロも同様。
にゃるほど。

ポールが複素周波数空間で実軸上にあるときはポールが現実の周波数で実現されるので、そのときに共鳴が起こるということかな、と思って前に計算したLCフィルタの伝達関数を見返してみた。
きっちり共振が起こります。

ポールの位置から色んなことがわかりそうだ。こういうことを詳しく議論している教科書を探しに行きたいな。
ジャジャガッチ | 電子工作 | 07:07 | comments(0) | trackbacks(0) |

オペアンプの安定性-ポール/ゼロってなんじゃい!-

この寒さはいつまで続くのか。
学生時代に暮らしていた街は今住んでいるところよりも寒かったため、こちらに越してきた当初はこっちは暖かいなー、などと思っていた。
だがそれも初年度だけだった。
人間とは恐ろしいものだ。
この環境に慣れるとやっぱり寒いのだ。冬は寒い。全国共通だ。

////////////////////////////////////////////////
いよいよオペアンプの位相補償の話に入る。
オペアンプはループゲイン(閉ループゲインじゃないよ)が1以上で位相がπ遅れると発振してしまう。
これを防ぐためにはループゲインを下げたり位相を進めたりする必要がある。

位相は回路のあちこちについているコンデンサ等によって遅れ、気が付かないうちにπ遅れてしまうことがある。
で、色々調べていると、「ポール」というものが位相の遅れをもたらすということがわかった。
ポールの例としてはよくRCローパスフィルタが挙げられている。
これを打ち消す性質をもつものは「ゼロ」と呼ばれ、ポールと逆に位相を進めるため発振を防ぐことに使われるらしい。
とりあえずポールの例として挙げられるRCローパスフィルタの周波数特性を計算してみた。
カットオフ周波数が100hzになるように計算している。ゲインは100hzあたりから低下し始め、その後は周波数10倍でゲイン1/10ペースで落ちていく。
位相のほうは10hz辺りから遅れ始め、100hzで45度、1000hzで90度遅れ、その後は一定になる。
当たり前だが教科書に書いてあるとおりだ。

ここまではいい。問題はポールが複数ある場合だ。教科書によればこの場合もポールごとに上のグラフのようなものを作っておいて重ね合わせればよいらしい。
ここで、ん?となる。ポールが複数あるということは例えばrcローパスフィルタが数段連なった形になっているはずで、伝達関数は複雑な形のはずだ。単に1段ローパスフィルタの掛け算にはならない。
なのになんでそんなに単純化できるのか。これがわからないとゼロによる打消しも納得できない。

そこで、ポール/ゼロってそもそもなんじゃい!という疑問に到達する。
調べてみると、ポールは伝達関数の分母をゼロにするような周波数、ゼロは分子をゼロにするような周波数のことらしい。
ただし、一般には複素数に拡張された周波数だ。
んで、何でrcローパスフィルタはポールと呼ばれるのか。それは伝達関数がポールを持つからだ。
ということはゼロと呼ばれる回路は伝達関数にゼロをもつわけだ。

で、色々なサイトに遮断周波数はポールの位置に一致するようなことが書いてある。
おかしい。rcローパスフィルタのポールの位置は虚数だ。これの絶対値をとれば確かに遮断周波数に一致しているが、そこらへんのことをきちんと書いているサイトが見当たらない。
専門書をあたれば書いてあるものもあるのかもしれないが・・・。

で、困ってしまったわけだがちょこちょこ計算してみたら一応それっぽい理屈を考えだすことが出来た。
もう少し詰めてから報告する、かも。
ジャジャガッチ | 電子工作 | 22:02 | comments(0) | trackbacks(0) |

オペアンプの安定性について

うちには同じ漫画が2冊あったりする。
間違えて買っちゃうのだ。
この前、お、この本いいじゃんと思って制御工学の本を買ったのだが最近会社のロッカーで同じ本を発見した。
2500円程だったのがせめてもの救いか。
妻には内緒。

/////////////////////////////////////////////////////////////////
1月15日の日記にオペアンプの位相補償について勉強したいと書いたが、大分理解が進んだ。
やっぱり制御工学が必要だった。
オペアンプのようなネガティブフィードバック系にはナイキストの安定判別法というものが使える。
これによると一巡伝達関数というものを周波数を変化させながら複素平面にプロットし(ベクトル軌跡)、(-1,0)を左に見て実軸を横切る場合に安定、そうでない場合に不安定となる。

fig.ベクトル軌跡の例
ベクトル軌跡が(-1,0)から遠いほど安定であり、これを安定性の指標とする(ゲイン余裕、位相余裕)。
オペアンプで言えばオープンループゲイン/クローズドループゲインが一巡伝達関数にあたる(ただしオープンループゲインが十分に大きい場合)。
ややこしいのが、ループゲインというものもあるということだ。ループゲインは一巡伝達関数に他ならない。
色々なサイトを見ていると、回路を安定させるためにはゲインを上げるとか下げるとか書いてあって、どっちやねん!って思ってたが、これはどうやらクローズドループゲインを上げてループゲインを下げるということなのだな。

色々わかってきたので、回路のあちこちに素子をぶら下げて一巡伝達関数を計算して安定性を議論してみたい。
それを元にして回路シミュレーションで理解を深めたい。
ジャジャガッチ | 電子工作 | 22:17 | comments(0) | trackbacks(0) |

最近やってること

最近更新してないのでここのところ何やってたか、何やりたいか書いとく。
最近は少し基礎物理学を復習している。学生時代に使ってた教科書を引っ張り出してきた。
かなり色々なことを忘れている。
納得いくところまで復習するにはまだ時間がかかりそう。

あと、最近OpenCVという画像処理ライブラリを少しいじっている。
簡単に色々なことが出来るのでかなり便利。そのうちサンプルソースをupすると思う。
これをきっかけにまたKinectいじろうかな。

そのうちやりたいこと
→水温調節器の製作
ジャジャガッチ | その他 | 20:10 | comments(0) | trackbacks(0) |

フリーソフト作家デビュー!

ついに僕もフリーソフト作家デビューしたぜ!
まあ、大したソフトではないですけれども。

その名もTXT_to_BMP。CSV形式のテキストファイルを画像化するソフト。
これまで数年間プログラムを書いてきて、こういうプログラムがあったら便利だなあ、と思っていたものを作ってみた。
例えばKinectとかからデータ取り込みテストを行っているとき、正しく取り込めているか確認したいことがある。
そんなときにいちいち画像化のプログラムを書くのは面倒なので、CSVファイル化してグラフソフトで確認したりしていた。
でもこれがあれば簡単に画像化できる!
win32apiでゴリゴリ書きました。

何で公開しようかと思ったかというと、フリーソフト公開までのプロセスを経験してみたかったから。
あとはGUIプログラムの練習。

有名なダウンロードサイトVectorで公開中。
Vectorは基本的にウィルスチェックのみを行って全て公開する方針のよう。

2/1にVectorに作者登録申請をした。
確認のメールが来なかったので、メールアドレス間違えたかな、と不安になっていたが、2/3に作者登録完了。
何故か2/4にも作者登録完了メールが来た。
すぐにソフトの公開申請を行い、2/6に公開された。
しかし公開後にVisual Studioのランタイムがインストールされていないと動作しないことに気が付き、
コンパイルしなおして差し替え申請した。本日差し替えたファイルが公開された。

Visual StudioでコンパイルするときにマルチスレッドDLLだとランタイムが必要になるので、マルチスレッドでコンパイルするとランタイムが静的に組み込まれる。ファイルサイズは増えてしまうが。
とは言ってもたかだか89KBなので同梱のテスト用テキストファイルの方がずっと大きい。

Readme.txtなんて書くの初めてだ。

暇な人は使ってみてください。→Vectorのページ
ジャジャガッチ | C/C++ | 21:42 | comments(0) | trackbacks(0) |
1/2PAGES | >> |

02
--
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
--
>>
<<
--
PR
RECOMMEND
RECENT COMMENT
MOBILE
qrcode
OTHERS
Since 2013/09/17
LATEST ENTRY
CATEGORY
ARCHIVE
LINKS
PROFILE
SEARCH