目次
デザインパターンを活用して美しいコードを書く方法を発信しています。開発の効率化が得意です。
バイアスを取り除く回路、与える回路の電圧値の変化を オシロスコープで観測します。
バイアスを取り除く回路
交流電源を用意するのではなく、ここでは入手性のよいパーツのみを用います。
変動する入力電圧を用意
単三乾電池 4 本を直列に接続して 6V 電源を用意します。可変抵抗 10kΩ、LED、抵抗 1.0kΩ を直列にして電源に接続します。可変抵抗の値を 0 から 10kΩ の間で変化させると LED には約 6mA から 0.55mA の電流が流れることになります。このとき、回路図における 0.1μF コンデンサの接続部分の電圧値はおおよそ 6V から 0.55V の間を変動します。手動で可変抵抗の値を一定周期で変化させることで、(6 + 0.55)/2 = 3.28 V
程度のバイアスがかかった、振幅 2.73V 程度の交流の入力電圧を用意できたことになります。LED には特に意味はなく、入力電圧の変化を把握しやすくする目的で設置しています。
バイアスを取り除く
バイアスを取り除くためには、直列にコンデンサを接続するのが一般的です。今回は 104J (10 * 10^4 pF = 0.1 μF
) のフィルムコンデンサを接続しています。コンデンサの容量が小さいほど、また、回路図における 4.7MΩ の抵抗の値が小さいほど、電源 6V を接続する前の初期状態からの充電がすぐに完了するためバイアスが取り除かれ始めるまでに最初に要する時間は短くて済みます。一方、充電および放電がすぐに完了してしまうため、周波数の低い入力電圧の波形を正確には出力に反映できなくなります。
以下の画像はオシロスコープで 4.7MΩ 抵抗の両端の電圧を観測したものです。バイアスが取り除かれて 0V を中心として変動していることが分かります。振幅も 2.73V 程度です。一方、可変抵抗を操作するのをやめて 6V の入力を与え続けても出力はすぐに 0V に戻ってしまいます。周波数の低い入力に対応するためにはコンデンサの容量および抵抗の値を大きくする必要があります。
バイアスを与える回路
バイアスを取り除く回路に 200kΩ 抵抗を追加で設置しました。
実際の回路では以下の画像で黄色で印を付与した部分が追加された抵抗です。
先程の回路では、バイアスを取り除いた出力電圧は定常状態において GND (0V) であるため、0V を中心として変動しました。今回の回路では、バイアスを取り除いた出力電圧は定常状態において 6 * 4.7*1000 / (200 + 4.7*1000) = 約 5.76 V
であるため、約 5.76V を中心として変動します。今回追加した 200kΩ 抵抗を特に pull-up 抵抗とよびます。pull-up 抵抗によって約 5.76V のバイアスを与えることができました。実際にはオシロスコープのインピーダンス 1MΩ と 4.7MΩ の合成抵抗が約 0.82MΩ となるため、オシロスコープを接続している間は 6 * 0.82*1000 / (200 + 0.82*1000) = 約 4.82 V
のバイアスとなります。
記事の執筆者にステッカーを贈る
有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。
さらに詳しく →Feedbacks
ログインするとコメントを投稿できます。
関連記事
- 輪郭に関連した画像処理 (OpenCV3 C++)cv::Canny などで検出したエッジをもとに cv::findContours で輪郭を計算できます。輪郭に関連した処理の例を記載します。 輪郭の描画 #include <opencv2/opencv.hpp> #in
- Qt for Python (PySide2) の基本的な使い方QT を Python から利用するためのライブラリには PyQt や PySide 等が存在します。PySide は元々 QT4 向けのライブラリでしたが、QT5 に対応するために新たに PySide2 が開発されました。PySide2 は Qt for Python ともよばれています。 Q: PySide? Qt for Python? what is the name?A: The nam...
- OpenGL を Python3 から利用するための環境設定および簡単なサンプルコード (Linux)コンピュータグラフィックスのレンダリングライブラリの一つである OpenGL を Python3 から利用するための Linux 環境を準備して、設定例およびサンプルコードを記載します。特にここでは Debian9 を利用します。 Getting Started [Language bindings / Python](ht
- 立方体を回転させるサンプル (OpenGL、Python)立方体を二つ配置して回転させてみます。ライブラリを用いずに OpenGL API を直接利用します。 wget https://gist.githubusercontent.com/harubot/df886254396a449038ee542ed317f7b3/raw/92216e02d0210b9d81770562ddf7741339f1b286/opengl-setup2.py DISPLA...
- Open Dynamics Engine によるロボットの自己位置の推定 (Python)ロボットアプリケーションを開発する際に、ロボットの自己位置を推定する必要がある場合を考えます。ここでは Open Dynamics Engine を Python から利用した場合について、自己位置推定のサンプルを記載します。自己位置推定と環境の地図作成を同時に行う場合を SLAM (Simultaneous Localization and Mapping) とよびます。 検証に用いる車輪型ロボ...