- 締切済み
オペアンプとダイオードを用いた絶対値回路
オペアンプとダイオードを用いた絶対値回路を組んでみたのですが,動作せず困っています. 助けてもらえないでしょうか. 動作しないというのは,入力波形がそのまま出力波形としてでてきており,絶対値をとってるように感じない状態です. 使用している素子のどれが悪いのかもわかりません. 実験環境: 使用オペアンプ: NJM4580 (スルーレートは5V/us) http://akizukidenshi.com/download/NJM4580.pdf 使用ダイオード: 0R8GU (Trr は 100ns) http://pdf1.alldatasheet.com/datasheet-pdf/view/102757/TOSHIBA/0R8GU41.html もしくは D4L20U (Trr は 35ns) http://www.zaikostore.com/zaikostore/jsp/pdf/PDFFILE/SHINDENGEN/FIL207384.PDF 使用抵抗: 全て金属皮膜抵抗の100[kΩ] 電源: ±5[V] の両電源 目標となる絶対値出力周波数帯域は 20Hz~1kHz 程度です. 入力する前にノイズ対策のために1次のHPF(カットオフ20Hz),LPF(カットオフ1kHz)を通しています. 参考にしたサイトは http://wave.iobb.net/doc/opamp/3.html#_Toc398540550 http://www.nahitech.com/nahitafu/mame/mame3/abs.html ここです.
- みんなの回答 (28)
- 専門家の回答
みんなの回答
- xpopo
- ベストアンサー率77% (295/379)
- honya33
- ベストアンサー率0% (0/0)
- xpopo
- ベストアンサー率77% (295/379)
今日は、 これでようやく問題がはっきりしてきましたね。 まず、絶対値回路ですが、これは測定のミス(本来オシロの入力をDCカップリングにすべき ところをACカップリングに設定して測定していたためDC成分がただしく測定されていなかった。) が原因で正しく動作しているのを誤動作と勘違いしたということですね。 次に、筋電センサから絶対値回路までの処理回路を載せていただきましたが、その回路を 見させていただいた結果、以下のような問題があることが見えてきました。 1)高精度で高価なインスツルメンテーションアンプ(AD622)をわざわざ使っているのに その性能を生かした設計になっていません。宝の持ち腐れみたいです。 AD622の入力同相除去比が周波数DC~60Hzで118dBtyp(atG=100)と強力です。 このアンプの後ろに50Hzを除去するノッチフィルタやらローカットフィルタなどがごちゃごちゃ 沢山使われてますが、基本的にこれらは筋電センサからAD622までの配線に乗るノイズ(商用 周波数のハムが主要なノイズ)を除去したいために使用されています。 しかし、これらのノイズは2本の筋電センサから入力線に乗るノイズでしかも同相です。 同相でない信号は検出信号そのものです。この同相ノイズはAD622で118dBも減衰されます。 118dBの減衰効果は1.3E-6(103万分の1のなります)と強力です。ですから後ろにちまちま OPアンプを使ってフィルターを組む必要はありません。 2)絶対値回路までの処理でのDC成分の扱い方と考え方 この事についての理解があまりしっかりされていないようで混乱されてるように思います。 a)まず、電源ですが、AD622はなぜ±電源を使わないのですか?±15V程度の電源を 使うべきです。そうすれば、DCに関する処理をいろいろ悩まずにすんなりと回路が 設計出来るはずです。 b) もし、そうできない事情があるのでしたら、以下のような処理を考えて回路を 設計します。 honya22さんが設計されたようにDC電源(10Vでしょうか?図からは読み取れませんが。) を抵抗分割した中点をOPアンプでヴォルテージフォロワで受けて基準DC電圧を作り ます。この回路では抵抗分割の中点にはノイズが入らないようにしたいので、抵抗分割 中点とGND間に大きなコンデンサ100uF(電源ハムはこれで十分に低減されます。)を 使います。 次にAD622のREFピンには基準電圧のOPアンプヴォルテージフォロワの出力AGをつぎます。 ここでAD622の出力は直接絶対値回路には入力できません。絶対値回路はGNDを基準に して動作しますが、AD622はAGを基準に動作していますのでAGのDC電圧、この場合、10Vの 半分、即ち、5V分DC成分を下に5Vシフトする必要があります。これは添付回路図のように シャントレギュレータIC(TL431)を利用してフローティングの5V電池を作ってAD622の 出力に挿入します。 絶対値回路へは図のようにOPアンプのヴォルテージフォロワを介して接続します。 添付図には入力信号:振幅10mV0-p、25Hz、同相ノイズ:振幅1V0-pを加えた時の AD622の出力および5Vのレベルシフト後の出力のシミュレーション結果が表示されています。 なお、全体のゲインはAD622のRG抵抗を1kΩの半固定抵抗と220Ωの固定抵抗のシリーズ 回路に置き換えて調整可能に出来ます。 また、レベルシフト量は回路図のTL431のCATHODEとREF間の抵抗R4(5.1k)を10kΩの 半固定抵抗と2.2kΩの固定抵抗のシリーズ回路に置き換えれば調整可能になります。 追記>>入力のインスツルメンテーションアンプですが、AD622のSPICEモデルがメーカサイト に見当たりませんでしたのでAD620(AD622と同じような性能なのでこれを使用)を使用して シミュレーションしました。
- honya33
- ベストアンサー率0% (0/0)
質問者です. 回路の続きを載せます. 番号6は番号5と同じ非反転増幅器です. これも番号5と同じミスがありました. 合計で約1000倍のゲインを予定しておりましたが,約10倍で波形が表れているのを 見ると,1000倍は大きすぎる気もしますね. 番号7は1次のLPFです. 抵抗は1kΩ,コンデンサは0.1uF,カットオフ周波数は1kHzだと思います. 最終的には2次にする予定です. 番号8はオフセット電圧を手動で設定する回路で,反転増幅器です. +5Vを Rf / Rs = 470/5k(可変) の倍率にしています. 番号9は加算回路です. 波形がずっとある一定電圧の場所で振動しているため,それを取り除こうとしています. 抵抗は全て100kΩです. この先に絶対値回路を通しています. 番号8,9の回路を組むよりは確かにDC成分のカットだけでいい気がします. しかし番号4にHPFを通しているのに,DC成分がカットされていないのはどうして なのでしょうか. もう少し回路を見直します. また,回答No6の図ですが,この図はオシロの設定をAC成分検出にしておりました. 申し訳ありません. 目標としては,No6の図のような波形を作り出し,絶対値回路を通し,積分回路を通し 積分筋電波形を作り出すことです.
- honya33
- ベストアンサー率0% (0/0)
質問者です. 返答が遅れて申し訳ありません. 筋電検出から絶対値回路までの回路を載せます. 図を貼り付けると見づらくなると思うので,ここで補足しておきます. まず番号1ですが,アクティブグラウンドをとって 単電源の中間電圧を作り出しています. 図の中で基準電圧は<AG>という名前で割り振っています. ここで使われている抵抗は100kΩ,コンデンサは0.1uF ダイオードは0R8GU,オペアンプは4580です. 次に番号2です,2からがメインの計測回路になります. まず初段に計装アンプ(AD622)を通しています. また,ゲインは約10にしています. データシートを見る限りゲインを100に設定しても取得周波数帯域は落ちずに大丈夫かと 思うのですが,念のためにゲインを10に設定しています. 抵抗は6.7kΩです. AD622:http://www.alldatasheet.jp/datasheet-pdf/pdf/48092/AD/AD622.html 次に番号3です. 商用電源ノイズを取り除くノッチフィルタを作っています. 抵抗は13kΩ,26,6kΩ,コンデンサは0.1uF,0.2uFです. 最終的には以下のサイトにあるノッチフィルタにしようと考えています. http://www.ccad.sist.chukyo-u.ac.jp/~mito/ss/Hardware/adFunc/Filter/index.htm 次に番号4です. 1次のHPFを作っています. 抵抗は100kΩ,コンデンサは0.1uFで,カットオフ周波数は約15Hzだと思います. 最終的には2次にするつもりです. 次に番号5です. 非反転増幅器です. ここでミスがありまして,予定していたのはゲイン10なのですが, ゲイン1.1になっていました. 抵抗は20kΩ,2.2kΩです. もう少しだけ続きます.
- xpopo
- ベストアンサー率77% (295/379)
今日は、 honya22さんの回答NO.21に載せられた波形ですが、 正しく本来の"絶対値回路"の動作になってます。最初の 波形1では入力のGNDレベル以下の波形が出力ではきれいに 正側の電圧に折り返されているのがわかります。 また、時間軸を拡大した波形2でもGND以下のマイナス側 に振れている入力波形が出力ではその絶対値が等しく正側 の電圧に折り返されているのがわかります。 ところでNO.6にhonya22が載せられた波形ではこのように 入力波形のGND以下の波形は出力では正側の電圧に折り返されて いません。このNO.6の波形は絶対値回路の動作になっていません。 測定に何か間違いがあったんじゃないかと勘ぐりたくなります。 NO.21の波形で問題ないなら、honya22さんの作成された回路は 問題ないってことになります。 それから、レベルシフトについて質問されてますが、結果は 入力信号があるDC電圧分(波形の垂直軸の感度が記載されてませんので 何Vか判断できません。)マイナス側にレベルシフトされてます ので目的は達してるようですね。 ただ方法(回路)については入力部の回路が示されてませんので 問題(たとえば、オフセットや周波数特性への影響など)があるか どうかは分かりません。 できたら、筋電検出からこの絶対値回路までの回路図(ローカット、 ハイパスフィルタを含めた)を見せていただいたほうが良さそうですね。
- FT56F001
- ベストアンサー率59% (355/599)
正弦波入力#18,筋電波形#21を見ると,絶対値回路として, 正しく動いてそうですね。 #18の図3の出力波形の頭が,ニ山に分かれるのは, 1段目OPアンプの出力が振りきったためですね。 #19,#20さんのシミュレーションでも再現していますので,そうなのでしょう。 >筋電波形自体が+1V付近で振動していたため, >加算回路で約-1Vを投入しました. レベルシフトの方法として正しいと思います。 その他の方法としては, HPFを入れて直流分をカットする,などもありえます。 「絶対値をとって何をしたいのか」との関係で考えてください。
- honya33
- ベストアンサー率0% (0/0)
質問者です. メインとなる筋電波形を絶対値回路にいれようと思ったのですが, 筋電波形自体が+1V付近で振動していたため, 加算回路で約-1Vを投入しました. 可変抵抗で手動オフセットしているため,適当になっております. 申し訳ありませんが,今は電極をはずしており,元の波形のデータも保存していません. オフセットした後の入力波形は下図の赤線であり, 元の波形はこれに1V程度足されたものになります. 絶対値回路の出力波形は下図の黄色です. また,下図の図1は200ms/divの波形です. 図2は1ms/divの波形です. 質問ですが,入力波形のレベルシフトの方法は上記に示した方法で あってますでしょうか.
- xpopo
- ベストアンサー率77% (295/379)
- xpopo
- ベストアンサー率77% (295/379)
今晩は、 honya22さんが回答NO.18に載せられた入力電圧のオフセット電圧と振幅を 変えた時の3つの波形から、 回路は正しく動作していると判断できます。ちなみに、3つの入力波形 のそれぞれの出力波形はシミュレーション確認した波形(添付しました) と同じです。 ということはhonya22さんが絶対値回路の動作をしていないと判断された時 の波形が本当に絶対値回路の動作になっていないのかどうかが疑わしいと 言うことになってしまいます。 回答NO.6に載せられた波形は不鮮明で、GNDレベルがどこなのか?また、 垂直、水平軸のメモリも不鮮明で読み取りにくい。また時間軸の感度を 50ms/divと粗くなってますので、時間軸方向も精度よく読み取れません。 時間軸をもっと拡大して1ms/div程度の感度で測定された見やすい波形を 再度載せていただけると詳しく確認が出来て、正確な解答を差し上げられる と思いますので検討をお願いいたします。
お礼
フィルタ回路はいらないのですか,たしかに同相ノイズなら 差動をとったときにカットされますね. ただ体表面抵抗値の変化の影響を受けないようにと初段に通していました. 理解が足りませんでした. フィルタ回路を無くすと回路全体もスッキリしていいですね. また,電源についてですが ±の両電源を使わない理由はバッテリーを1つしか持っていないためです. なので無理やり単電源から中間電圧を基準とし両電源を作っています. シャントレギュレータICですか,初めて聞いたICなのでどういうものか調べてみます. 詳しい説明や回路図,シミュレーション等,本当にありがとうございます.