迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

フランクリン発振回路・再考(1)

今度はフランクリン発振回路を再度いじってみます、ただし更新は不定期になるでしょう。
まずは過去記事から関連する日記の抜き出し。

LCメータ製作の前にフランクリン発振回路の予備実験
フランクリン発振回路を使ったLメーターのための予備実験
フランクリン発振回路の発振波形
フランクリン発振回路について
フランクリン発振回路について2
FETを使ったフランクリン発振回路
FETを使ったフランクリン発振回路の実験・続き
FETを使ったフランクリン発振回路の実験・またもや続き
コイル抵抗が問題だったのか
コイル抵抗を考慮して計算のし直し

中途半端で終わっているのは、まぁいつものこと^^;;

ネットで見つけた資料。
A unique, low-voltage, source-coupled J-FET VCO

フランクリン発振回路の極めて大雑把な原理は下図のようになりますが、コルピッツやハートレーと違って電子回路の教科書的なサイトではお目にかかりません。
franklinOsc原理
ハートレーやコルピッツではトランジスタ1石で発振させられますが、フランクリン発振回路の場合アンプAは正相(非反転)アンプである必要があります。1石で正相アンプとなるとベース接地になりますが、入力インピーダンスが低いのでそのままでは使えずエミッタフォロアを入れるか、他の回路構成にするか、いずれにせよ1石では無理で、トランジスタが高価だった時代には敬遠されていたのかもしれません。

スポンサーサイト

コルピッツ発振回路の発振周波数を求める(4)

LCR回路の伝達関数を求める:まとめ(1)で求めた回路4の伝達関数を使い、maximaで発振周波数(虚部=0になる周波数)を求めました。
伝達関数の導出に間違いが無ければ前回の結果と一致するはずです。
セッピーナコルピッツ3

結果は同じでした^^;;
最初から回路方程式をmaximaに食わせてやれば面倒な計算をすることも無かったのですが・・・。

さて発振周波数は求まりました。ことのときに必要なアンプゲインを求めます。
セッピーナコルピッツ3gain
これは虚部=0のときの実部を求めています。-0.965ですので必要なアンプゲインは1/(-0.965)=-1.036倍となります。

以上でこのシリーズは終わります。
もうちょっとちゃんとまとめておきたかったのですが、次のテーマが待ってますので。

コルピッツ発振回路の発振周波数を求める(3)「はじめてのMaxima」

体調を崩して数日寝込んでいたので間が空いてしまった、まだ本調子ではありません。

前回のやり方だとすべての入力に対して処理結果が返ってきます。
これはちょっと大層なんですが、入力末尾を示す”;”の代わりに”$”を使うと処理結果を返さない(表示しない)ことがわかりました。
前回の処理方法に使ってみました。
wxMaximaコルピッツ3
とても見やすくなりました。

実はMaximaの入門書を買ってみようとネットで探して「はじめてのMaxima」を見つけましたが、とても高価、手が出ません。
でもレビューを読んでびっくり、はじめてのMaxima改訂版が著者によりネットにアップされてるとのことです。
早速ダウンロードしましたが、千ページ超!おまけに難解^^;;とりあえず第2章までは目を通しましたが、
第3章「LISPについて」が約20ページ、
第4章「数学のいろいろなこと」が約140ページ、集合から始まってゲーテルにデテキントの切断、カントールの対角線論法等々数学好きにはたまらん内容です(念のため、好きなだけです^^;;)

時間見つけては読んでいますが、やりたいことが出来るようになるのはいつの日か??
なお最初に書いた”;”の代わりに”$”を使う方法はこの改訂版の34ページにあります。

コルピッツ発振回路の発振周波数を求める(2)

続きです。回路方程式を使って発振周波数を求めます。

wxMaximaを使いますが、まず下準備です。

下図の回路の伝達関数を求めておきます。これぐらいなら手計算で簡単に出来ます。
基本回路

位相が180度回転する周波数を求めたい回路です。
セッピーナコルピッツ

wxMaximaに以下の式を入力します、コピーペーストでOKです(のはずです)、Enterで処理が始まります。
変数の付け方が回路図では大文字です、長年の習慣です。しかしwxMaximaでは小文字にしています、理由はwxMaximaでは頻繁に打ち込まなくてはいけないので大文字だとシフトキーを押すのが面倒だからです。ただし例外はLです。これを小文字にすると数字の1と区別しにくくなります、例外規定は設けたくなかったのですが、仕方ありません。

-------------この下の行から
s:%i*2*%pi*freq;
r1:100;
r2:10^7;
r3:1;
r4:1/10;
r5:1/10;
c1:10^-7;
c2:10^-7;
L:10^-3;

z1:r1;
z2:r4+1/(s*c1);
z3:r3+s*L;
z4:r2*(1+s*c2*r5)/(1+s*c2*r2+s*c2*r5);

f:z2*z4/(z1*z2+z1*z3+z2*z3+z1*z4+z2*z4);
ratsimp(%);
imagpart(%);
solve(%,freq);
float(%);

-------------この上の行まで

処理結果です(クリックで拡大)
wxMaximaコルピッツ2
一番最後の行にfreqの計算結果が出ています。
約16MHzと22.5KHzで位相が180度回転することになります。

続く

コルピッツ発振回路の発振周波数を求める(1)

「LCR回路の伝達関数を求める」関連の記事は、前にも書いたようにリンクさせていただいているセッピーナさんの記事をみてはじめたものです。
コルピッツ発振回路の発振条件 - LCだけでは決まらない発振周波数
コルピッツ発振回路の発振条件 - LCだけでは決まらない発振周波数(2)
コルピッツ発振回路の発振条件 - LCだけでは決まらない発振周波数(3)

ここでは今までやってきたことを整理しなおしてみます。ただし必ずしも時系列どおりに書きません。

コルピッツ発振回路です。
コルピッツ発振回路
上記の回路が発振する条件は、ジャンパを切ったときの入力と出力の位相が0度(360度でも同じ)且つ利得が1です。
バルクハウゼンの発振条件と言います。
ここでは発振周波数を求めます。
Aは位相遅れの無い理想的な反転増幅器とします。これに位相遅れがあると話がいっそう複雑になるので^^;;
Aで位相は180度回転するのでLCRで構成される回路の位相が180度回転する周波数を求めればそれが発振周波数になります。
LCRの値が具体的に決まればLTspiceなどのシミュレータで位相が180度回転する周波数はわかります。
また、セッピーナさんが行われたようにエクセルを使う方法もあります。これは思いつきませんでした。

解析的に解けないかと思いつき、伝達関数を求めたのが過去の記事にあります。
LCR発振回路の伝達関数を求める・まとめ(1)
間違いを見つけたので訂正してありますが、もう無いとは言い切れません。ここ数日maximaを使ってあれこれ計算しています。今のところおかしな点はありませんが、間違いが見つけられないからといって正しいとはいえません。

さて伝達関数は周波数の関数で複素数になります、極めて荒っぽく言えば次のような式になります。
H(f)=X(f)+jY(f)
ここで j は虚数単位です。数学では i ですが、電気の世界では j で表します。i は電流のことですからね、電気の世界では。
ここで言う伝達関数は伝達関数法 - Wikipediaにある周波数伝達関数のことです。
s=jωとおきますが、求めたいのは周波数であって、角周波数ではありません。そこで上記のような式にしました。

さて求めたいのはH(f)において位相が180度回転する周波数です。
これは虚部Y(f)=0とおけば求まりますが、計算が厄介です。
上記のLCR回路の伝達関数を再度載せておきます(ここでは変数にωを使ってます、記述する上ではこの方がラクなので・・・)
コルピッツ計算式4
この式から手計算で虚部だけ出すのは不可能でしょう。
数式処理ソフトmaximaでやってみたら、求まりはしましたが、とんでもない式になってしまいました、とてもここに載せられません。

そこで上記の回路のLCRに具体的な値を入れた場合の計算してみました。
シミュレーターは既に使ったので次にmaximaを使いました。二つ方法があります。一つは伝達関数から求める方法、もう一つは回路方程式から求める方法です。
回路方程式から求めるほうがはるかに簡単です、わざわざ伝達関数を求める必要がありませんから。
じゃあ伝達関数を求めるのに悪戦苦闘したのは無駄だったのか、とは思いたくありません^^;;

続く

アクセス解析

最近のアクセスを見ていたら「兵庫県立大学」からのアクセスがありました。
ひょっとしてと思って調べてみたら、そうか10年ほど前に統合されていたのですね。

40年ほど前、書写山のふもとにある四畳半の下宿で、ろくに講義にも出ずにひたすら酒と半田付けの日々をすごしておりました。(今も大して変わってませんが^^;;)
もう少しまじめに講義に出ていれば・・・。

図書館でFortranで書かれたFFTのプログラムを見つけ、無謀にもMC6800で動かそうとしたこともありました、勿論機械語で(汗)

懐かしくなって思わず昔話をしてしまいました。

wxMaximaを動かす

いままでxMaximaを使っていました。wxMaximaがなぜか反応しなくなるからです。
調べてみるとjsMathフォントが必要でした。
jsMathフォントのインストールはこちら

今やっている計算をwxMaximaで実行した結果の画像コピーです。(クリックで拡大)
xMaximaと比べてはるかにわかりやすい。(それでも複雑な計算ですが・・・)

wxMaximaコルピッツ

LCR回路の伝達関数を求める:間違いがあったようです。

回路図4の伝達関数にどうやら間違いがあるようです。
分子が
R2(1+C1C2R4R5ω^2・・・
となっていますが
R2(1-C1C2R4R5ω^2・・・
が正しいと思います。検証したわけではありませんが、いわば直感です^^;;
この手の計算式ではω^2の係数はマイナスになるはずなので・・・。
maximaによる数値計算を何度もしていますが、周波数が虚数になるという結果が出るのです。
そこで伝達関数を眺めていて気付きました。

伝達関数の導出過程をもう一度見直す必要があります、でもA4用紙7枚に書きなぐられた下手くそな字とまた向き合うのかと思うと・・・^^;;

続きを読む »

LCR回路の伝達関数を求める:maximaで数値計算(1)

この一連の日記「LCR回路の伝達関数を求める」シリーズはリンクさせていただいているセッピーナさんのコルピッツ発振回路の発振条件に触発されてはじめたものです。
伝達関数はmaximaの助けを借りてそれらしきものが出来上がったのですが、maximaは数式処理だけでなく数値処理も出来るので、下図の回路において位相が180度反転する周波数を求めてみようと、あれやこれやとやっていたら
22575.7263201936
という数値が出てきました。
セッピーナさんのグラフの数値と一致します。この処理、あってるんでしょうか??
セッピーナコルピッツ

maximaでの処理の過程を整理したいのですが、途中で何をやっているのか混乱してしまって・・・。
なにしろ例によってmaximaはとんでもない式を吐き出してくれるので。

続きを読む »

LCR回路の伝達関数を求める:まとめ(1)

別々の日記に書いていたので、まとめて載せておきます。
コルピッツまとめ

【追記】2015/05/16
図4の伝達関数に間違いがありましたので、訂正しました。
コルピッツ伝達関数まとめ


LCR回路の伝達関数を求める(4):これでおしまい(多分)

先の回路です。
コルピッツ3
R5を追加します。
コルピッツ4

伝達関数です(クリックで拡大)
大きすぎるとMSWordの数式エディタに文句言われましたので、分割しました。

【追記】5015/05/16
間違いがありましたので、訂正しました。

コルピッツ計算式4


正しいかどうかわかりませんが、maximaが無ければ出来なかったでしょう。
maximaの吐き出した数式を整理するのにA4用紙7枚使いました。
何度もチェックしましたが、数式を整理する際に添え字の書き写し間違いと括弧の閉じ忘れが多かったです。まだあるかもしれませんが・・・。
一つ部品を追加しては伝達関数を求めるようにしたのがよかったです、いきなりこの回路に取り組んだらどこから手をつけていいかわからず、途方にくれていたでしょう。
還暦過ぎてまだこんなことができました、まだまだ若いもんには負けん!(^^;;)

くどいようですが、正しいかどうかわかりません。

LCR回路の伝達関数を求める(3):そろそろ限界かも・・・。

先の回路です。
コルピッツ2
C1にR4を直列に入れます。
コルピッツ3
伝達関数です(クリックで拡大)
コルピッツ計算式3
果たして正しいのかどうか・・・。(R4=0とすると前回の結果と一致しますけど)

数式処理ソフトmaximaで計算したのですが、ややこしい式を吐き出してくれます^^;;
簡略化したいのですが方法がわからず、手計算で処理しました。その過程で間違いが入っているかもしれません。
分子にも虚数が入っているので、位相が180度回る時の周波数を求めるのがややこしくなりました。
ちょっと考えます。

次はC2に直列に抵抗を入れてこのシリーズはおしまいにする予定です。というかこれ以上無理^^;;

続きを読む »

LCR回路の伝達関数を求める(2)

前回の回路です。
コルピッツ

インダクタに直列に抵抗R3を追加します。
コルピッツ2

この回路の伝達関数です。
R3=0なら先の結果と一致します。(クリックで拡大)
コルピッツ計算式2

LCR回路の伝達関数を求める

このような回路の伝達関数を求めてみました。
コルピッツ

結論だけ記します、途中の計算式はとても載せられません^^;;
MSWordの数式エディタを使いました。
コルピッツ計算式

移相回路を使った発振回路の再実験(3)いったん終了、及びWaveSpectraの設定

ID:k6glj6
オールパスフィルタ発振回路3
回路を若干修正、出力バッファを追加、VR3を追加。
VR3はフォトカプラのcdsにかかる電圧を減らすのが目的で、歪対策。
VR2で発振停止ぎりぎりまで追い込んでやると効き目はありません。でもそうすると振幅の安定に時間がかかります。
発振周波数を変化させても振幅が波打たないようにVR2を設定してやるとVR3が効いてきます、といっても私の実験では3次高調波が多少減る程度でしたが。でも1MΩではまだ不足のようです。

なおパスコンは当たり前のこととして回路図には入れてません。電源は±15Vです。

発振止めにC3を入れたのですが、47pではまだ不足のようで、高い周波数での発振が見られます。オペアンプを4580から4558に変えると発振は止まりましたが。もうちょっと増やすか、他の回路定数の見直しが必要かもしれません。
参考にしたnobuさんの記事ではオペアンプの帰還抵抗などは3.3Kオームでした、私は手持ちがたくさんあったので10Kオームを使いました。
オールパスフィルタ発振回路LCR2023スペクトル

いままでこの種の実験にはWaveSpectraを使っていました。
ただ設定をちゃんと残していなかったので、過去記事との比較が出来にくいのです。
以後はレベルメーターを表示し、入力レベル-10dBに統一して測定するようにします。
縦軸の設定はシフト:Normとします。
WaveSpectra設定

これにていったん終了。
状態変数型発振回路をまたいじってみたくなりました。
以前は振幅制御にLEDを使いましたが、今回手に入れたフォトカプラを使って今回と同様な方法でやってみようと思います。
この振幅制御はフォトカプラの特性に依存してしまうので、どれだけ再現性があるかはわかりませんが。



移相回路を使った発振回路の再実験(2)

大阪は日本橋にあるシリコンハウスに行って、アナログフォトカプラLCR-0203を買ってきました。ちなみにブログ記事では120円となってますが、今現在150円です。
秋月電子でもLCR-0203を売っています。

移相回路には二種類あって、積分型、微分型と便宜上呼びましたが、LPF型、HPF型と呼ぶほうがいいと後になって思いました。以後そのように表記します。
移相回路の違い2

フォトカプラを入れ替えて実験中。左側に並べたのがフォトカプラで、上からP873-G35、MI0202、LCR-0203です。
二連ボリュームは手持ちにあった安価なものを使いました。ウイーンブリッジ発振回路だとギャングエラーが問題になりますが、この回路では大丈夫なようです。
オールパスフィルタLCR0203

MI0202とくらべて歪が減少しています。上が電源投入直後、下が一時間後です。どういうわけか歪が減ってますが、理由はわかりません。スペクトルを見る限りそんな差はないように思うのですが。
オールパスフィルタ発振回路LCR0203_1

回路図を再度載せておきます。VR2で発振を調整します。小さくすると歪も小さくなりますが、振幅が安定するまでに波打つようになります。周波数を変化させても「波打ち」がなるだけ小さくなるように調整しました。
オールパスフィルタ発振回路2

移相回路を使った発振回路の再実験(1)

オールパスフィルタ発振回路
5年ほど前の記事とほとんど同じ回路です。違いはU2bの追加です。
LED-cdsフォトカプラは、以前はMCD5221を使いました。実験基板から外したのがどこかに転がっているはずだと探し出し、使おうと思ったらリード線が根元からボッキリと折れてしまいました(涙
仕方がないので、以前買ったモリリカのP873-G35を外して使いました。このフォトカプラは秋月で買ったものですが現在は入手できません。
また秋月で売っているMI0202CLでも試してみました。

移相回路には二種類あります。
オペアンプの+端子に繋がるCRの向きによります。ここでは便宜上、積分型と微分型と呼んでおきます。(念のため、一般的な呼び名ではないと思います)
移相回路の違い
当初は微分型で組んでいたのですが、歪が思わしくないので原理上差が無いはずなのですが積分型にしてみました。
スペクトルを示しておきます。
積分型のほうが歪が少なくなっています。理由はちょっとわかりません。

フォトカプラの違いですが、MI0202CLはP873-G35に比べて歪を小さく出来ません。
この回路では振幅制御をLED-cdsフォトカプラの特性に頼ってしまっているので、歪はフォトカプラ次第ということになってしまいます。オペアンプを使ってまじめに振幅制御をしたほうがいいのでしょうが・・・。

なおオペアンプはNJM4580DDを使いました。U1を超低ひずみというLME49720に換えてみましたが、若干歪は小さくなるものの、たいした違いは見られませんでした。

繰り返しますが、この回路では歪はフォトカプラ次第ということになります。

オールパスフィルタスペクトル

 | HOME | 

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

店の電飾(2)回路の変更とスケッチ Jun 25, 2017
店の電飾 Jun 18, 2017
Arduino Pro Microを試す。(3)HIDとして使う(2) Jun 15, 2017
Arduino Pro Microを試す。(2)HIDとして使う Jun 04, 2017
Arduino Pro Microを試す。(1) Jun 03, 2017
脈拍センサー MAX30102を試す(2)MAX30100と比較 May 29, 2017
脈拍センサーMAX30102を試す(1) May 25, 2017
脈拍センサーMAX30100を試す(5) May 20, 2017
MT3608モジュールを使ったDSO Shell用電源 May 16, 2017
脈拍センサー MAX30100を試す(4)MAX30100_Registers.h を調べる。 May 13, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

このブログをリンクに追加する

月別アーカイブ

06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (403)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (31)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん