{
"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
}