AD9833でファンクションジェネレータを作る10 矩形波

published_with_changes 更新日: event_note 公開日:

labelAD9833 labelESP32 labelファンクションジェネレータ

10 矩形波の扱い

10.1 サイン波、三角波、矩形波の出力

図1 プランA
サイン波と三角波は0.6Vp-p振幅でAD9833から出力されるので、LPFとアンプを経て適切な形に整形した後に出力します。

一方、矩形波は電源電圧がそのまま矩形波振幅としてAD9833から出力されるので、サイン波、三角波と同じ出力端子から出力させることはできません。
同じ端子からの出力では、誤って受け側の機器を壊す恐れがあります。

したがって、AD9833の出力を波形の種類によって出口を切り換える機構と2つの出力端子が必要です。

電源電圧が出力されることやそのため専用の出力端子が必要ということが、私の好みに合いません。そのため、ブランBを考えます。

電源電圧出力の件は、
図2 プランB
矩形波は電源電圧でそのまま出力させるのではなく、アッテネータで減衰させた後、アンプで調整された信号を出力端子から出力させるというのがプランBです。


これを実現するには、信号の切り換え機構が必要です。が、メカリレーのC接点のようなものを電気的に構成することを考えます。
リレーモジュールがあるようですが、体格が大きいのとカチカチ音が好みではありません。


出力端子をひとつにするか、ふたつにするかは全体のレイアウトや使い勝手から、後日検討します。これについても信号切り換え機構で対応できます。

10.2  回路切り換え機構

図3  選択機構
メカリレーのC接点のような交互に接点を切り換える機構として、
フォトカプラを2つ並列に並べた図3の機構を考えます。

信号を流すか、止めるかの機能をフォトカプラに持たせます。
フォトカプラの1次側(1,2ピン)に指令信号を加え、
2次側に流れる信号を制御します。

つまり、
・U6,U7がペア
・矩形波信号は、U6 pin#4へ接続
・サイン波、三角波信号は、U7 pin#4へ接続
・U6ではpin#1にpulseが入ると、矩形波信号をpin#3へ出力
・U7では pin#2をsinにつなぐと、サイン波/三角波信号をpin#3へ出力
(U6とU7で言いまわしを変えているのは、接続先がそれぞれPNPとNPNだからです。)



図4 排他処理回路
これを切り換えるために、ESP32はsinとpulseの2つの信号をoutputする必要があり、GPIOを2つ使います。

ここで、sinとpulseは排他的で同時に発生することはありません。したがって、GPIOの節約のため、NPNとPNPトランジスタを組み合わせて、図4の回路を構成します。

・sinPinに電圧(例3.3V)が加わるとき、NPN Q1はsinとGNDを導通させる。
 sinは図3でU7のpin#2から来ており、U7の内蔵LEDをONする。

・sinPinがGNDに落ちるとき、PNP Q2は電源電圧をpulseへ導く。
 pulseは図3でU6のpin#1へ繋がっており、U6の内蔵LEDをONする。

シミュレーションしてみると、うまくいきそうです。
VinのON/OFFによって、OUTaとOUTbのHigh/Lowが切り換り、フォトカプラの2次側入力ph_a, ph_bが制御されています。
図5 疑似的なC接点回路

ここで配慮しなければならないのは、NPNをHighにするときにはベースに電圧を加えればよいいのですが、PNPではベースをGNDに落とさねばなりません。すなわちベース側の回路は電源とグランドを切り換えねばならないことにあります。ESP32のGPIOの出力がoffのときどうなっているが、図4、図5が成立するか否かの要になります。

これについて、https://lang-ship.com/blog/work/esp32-gpio-output/に下記の記述があり問題なさそうです。

デジタル出力は一番シンプルな出力です。LOWの場合には0V、HIGHの場合には3.3Vの電圧を出力します。

LOWの場合には0Vを出力するよりは、外部からの電気を吸い込む動きになります。LOWを出力すると内部でGNDに接続するイメージで利用してください。

ESP32の場合GPIOから出力した場合、あまり電流を流せないですが、外部電源からGPIOに接続してLOW出力することで、より多くの電流を吸い込む方向で流すことが可能です。

 実際に回路を組んで確認したところ、タクトスイッチによるwave信号の切り換えで、問題なくサイン波と矩形波を選択切り換えができました。

10.3 矩形波回路のアッテネータと増幅回路


矩形波の出力部にπ型アッテネータと非反転増幅回路をつけます。狙いは、

振幅3.3vの矩形波は、アッテネータで他のSin波と同じレベルまで減衰させる。
その後、非反転増幅回路で振幅が1V~2Vの矩形波を作る。です。ATTの減衰量は、$20  log \frac{0.6}{3.3} = -14.8 dB$を狙ってπ型アッテネータの条件を決めました。計算に使ったのはここです。
図6 π型アッテネータ



回路図を示します。アッテネータの抵抗はできるだけ計算に近い値となるよう組み合わせています。(図6のR1は合成抵抗で、295Ω)図6の抵抗R2は可変抵抗にして微調整します。
非反転増幅回路は、1から5倍程度の増幅率になるように抵抗を決めました。

Powered by Blogger | Designed by QooQ

keyboard_double_arrow_down

keyboard_double_arrow_down