{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "オリジナルの作成:2016/02/07" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# J1-ディスクリート555を試す\n", "## ディスクリート555の作成\n", "トラ技2016/01で紹介されたタイマーIC NE555をトランジスタで再現したディスクリート555を作ってみました。\n", "\n", "\n", "\n", "### ディスクリート555の回路\n", "トラ技の図3からディスクリート555の回路を引用します。\n", "\n", "\n", "\n", "ユニバーサル基板のパターンも図8より引用します。トランジスタの赤線はPNPの2SA1015で、 黒線がNPNの2SC1815です。 *1\n", "\n", "\n", "\n", "このパターンをいつものようにテクノペンで回路を書いて作成しました。 \n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 動作確認\n", "ディスクリート555テをストをする前に、オリジナルのNE555を使ってLEDの点滅回路をブレッドボードで動かしました。 以下のサイトを参考にさせて頂きました。\n", "\n", "- http://www.rlc.gr.jp/prototype/hashin/n555/n555.htm\n", "\n", "抵抗とコンデンサーの値は、以下の様に設定しました。\n", "\n", "- RA: 1KΩ\n", "- RB: 10KΩ\n", "- C: 10μF\n", "\n", "T1とT2の周期は、以下の様になります。(データシートのASTABLE OPERATION)\n", "\n", "- T1 = 0.693 (RA+RB)・C = 76m秒\n", "- T2 = 0.693 RB・C = 69m秒\n", "\n", "### ArduinoオシロスコープKti-Scopeを使ってNE555の波形をみる\n", "Arduinoオシロスコープ(Kit-Scope)専用のArduinoとして、ちっちゃいものくらぶYahoo店の600円の Arduino Nano3.0 互換ボード を使いました。\n", "\n", "\n", "\n", "回路図の①(NE555の3番ピン)と③(NE555の6番ピン)の波形をKit-Scopeでみてみます。 T1の周期波、計算値の69m秒と一致しており、③のチャージと放電の繰り返しも上手く捉えています。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ディスクリート555の波形をみる\n", "NE555で発振回路の動作が確認できましたので、ディスクリート555の波形をみてみましょう。\n", "\n", "機器の接続は、以下の様にしました。\n", "\n", "\n", "\n", "回路図の①(NE555の3番ピン)と③(NE555の6番ピン)の波形をトラ技図10から引用します。\n", "\n", "\n", "\n", "回路図の①(NE555の3番ピン)と②(NE555の7番ピン)のディスクリート555の観測波形を以下に示します。\n", "\n", "\n", "\n", "回路図の①(NE555の3番ピン)と③(NE555の6番ピン)のディスクリート555の観測波形を以下に示します。\n", "\n", "\n", "\n", "### 回路内部の波形\n", "ディスクリート555を作ったのは、1チップの回路をトランジスタで組み立てる興味と、 回路内部の信号をオシロスコープで観察してみたいという思いからです。\n", "\n", "今ならSPICEを使えば、波形は調べられるのでしょうが、計算値と実際に組んだ回路では一致しないこともあります。\n", "\n", "まずは上部コンパレータ部の③から⑦までの波形プロットしたトラ技の図11を引用します。\n", "\n", "\n", "\n", "この回路のキモは、抵抗R7とR8+R9でVCCの2/3に分圧した点(図3の赤丸)から2VBE下がった ⑥の電圧が一定となり、③のチャージが進む区間Aの終わりでTr5に電流が流れ始め④の電圧が下がって いる様子がはっきり見て取れます。この結果Tr6を経由した電流(c)がTr16をオンにします⑦。\n", "\n", "これをディスクリート555でみてみましょう。 赤線で③(NE555の6番ピン)を一緒に表示して位置関係が分かるようにしました。\n", "\n", "④の波形は、以下の様になります。区間Aの終わりで下がります。\n", "\n", "\n", "\n", "これとは対照的⑤の波形はTr8を流れる電流が減少するため、上昇します。\n", "\n", "\n", "\n", "確認のため、電圧が一定であるはずの⑥をプロットします。\n", "\n", "\n", "\n", "Tr16に流れる電流がフリップフロップのリセットとして機能します。 ⑦を見ると④の下降に合わせて電圧が上昇しています。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 下部コンパレータ部\n", "下部のコンパレータは、(R7+R8)とR9で分圧されたVCCの1/3点(1.1V)であり、Tr12のエミッタ 電圧は2VBE上がった2.3Vを保ちます。\n", "\n", "⑧の波形は、以下の様に一定になっています。\n", "\n", "\n", "\n", "これに対して⑨(ノイズが多い)は、区間Aの終わりで下がり、区間Bの終わりで上がるパターンを示します。\n", "\n", "\n", "\n", "### フリップフロップと出力部\n", "フリップフロップと出力部の波形をプロットしたトラ技の図13を引用します。\n", "\n", "\n", "\n", "フリップフロップのコアはTr16とTr17であり、⑩と⑪の観測波形を表示してみます。 区間Aの終わりでHighからLowに変わっています。\n", "\n", "\n", "\n", "これに対して⑪の波形は、区間AではLow、区間BでHighに変化しています。\n", "\n", "\n", "\n", "図13の下部に区間A、B、区間C、Dの4つのタイミングに分けて、状態を整理してみます。\n", "\n", " | 機能\t | トランジスタ\t | 波形\t | A\t | B\t | C\t | D\t | Reset=L\t | 備考 | \n", " |---|---|---|---|---|---|---|---|---|\n", " | リセット\t | Tr6\t | ④\t | OFF\t | ON\t | OFF\t | OFF\t | OFF\t | 流れると電圧が下がる | \n", " | セット\t | Tr15\t | ⑨\t | OFF\t | OFF\t | OFF\t | ON\t | ON\t | 区間Aのレベルは、0.6Vを超えない | \n", " | フリップフロップ\t | Tr16\t | ⑦\t | OFF\t | ON\t | ON\t | OFF\t | OFF\t | | \n", " | フリップフロップ\t | Tr17\t | ⑩\t | ON\t | OFF\t | OFF\t | ON\t | OFF\t | | \n", " | 出力\t | Tr20\t | ⑪\t | OFF\t | ON\t | ON\t | OFF\t | ON\t | | \n", " | 出力\t | Tr24\t | ⑬\t | OFF\t | ON\t | ON\t | OFF\t | ON\t | | \n", " | 放電\t | Tr14\t | ⑪\t | OFF\t | ON\t | ON\t | OFF\t | ON\t | | \n", " | 555の出力\t | | \t\t | H\t | L\t | L\t | H\t | L\t | | |\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 0 }