2SD2531のシミュレーション・モデルを作る [電子工作]
パワー・トランジスタを用いた回路のシミュレーションを行おうと思いました。 ところが、手持ちの2SD2531というトランジスタは、シミュレーション・モデルが提供されていません。 東芝さんはシミュレーションモデルを提供してくれないようだし、そもそも、東芝のサイトからは2SD2531のデータシートさえ入手できません。 仕方ないから、自分でモデルを作っちゃおう。
とは、言ってもモデル・パラメータの設定方法など知りませんので古い参考文献を引っ張り出してきました。
飽和電流を設定する
最初のステップは、パラメータ IS の設定です。 バイポーラ・トランジスタのベース・エミッタ間電圧 VBE は、ベース電流の対数値の一次式になり、電圧が 0V になる時の電流値を IS とあらわしています。
モデル・パラメータを決めるために使用する回路図は、これです。 この回路では純粋にベース・エミッタ間のダイオードとしての特性を測定することになります。 ところが、 2SD2531 のデータシートには、同じ条件での測定グラフはありません。 さて、どうしようかな。
試行錯誤の結果、決めた値が、 Is=2.1e-14 です。 VBE-IB の関係はこうなりました。
データシートによると、コレクタ電流が IC=0.1A の時、 VBE=0.64V です。 hFE-IC グラフによると、 IC=0.1A の時に hFE=170 なので IB=0.59mA と推定されます。 そこで、IB=0.59mA の時に VBE=640mV となるように調整したのが、この値というわけです。
もっとベース電流を減らしたほうがベース抵抗などの影響が減るため、誤差が小さくなるはずです。 本当は、実測すべきなのでしょうが、まあ、こんなもんでいいでしょう。
hFE特性をあわせる
次は、 hFE の特性グラフを再現します。 シミュレーションのために使用したのは、この回路図です。
参考文献では、 IB を変化させたときの IC の値を横軸に、 hFE すなわち IC/IB の値を縦軸にとっていたのですが、LTspiceの波形表示には、横軸の変数を任意に指定する方法が見つかりませんでした。 そのため、「電圧制御電流源」を使用して、「 VCE が 5V になるように IB を調整する」フィードバック回路を作成して、 IB を供給しました。 「電圧制御電流源」のゲインは、誤差が十分に小さくなるように百万倍としてあります。
このステップの調整は、結構大変です。 hFE は、コレクタ電流によって変動するのですが、電流が多くても少なくても低くなります。 そのために、多くのパラメータを設定しなくてはなりません。
手始めに、参考文献の記述に従って、 hFE の最大値(360)を Bf に、 hFE が半減する時のコレクタ電流値 IC=0.55 を Ikf に設定してみました。 データシートによると、 hFE のピークは、 IC=0.06 のところにあるのですが、このグラフでは、もっとコレクタ電流の低いところにピークがあるようです。
再び、試行錯誤して、パラメータを微調整しました。 IC=0.06 の所にピークのあるデータシートのグラフに良く似た特性ができました。 求めたパラメータは、以下の通りです。
Bf=700 Ikf=0.47 Nk=0.56 Ise=3e-13 Ne=1.48
アーリ効果を設定する
次は、アーリ効果を設定します。 回路図と適当な値 50 を入れた時の結果は、こうなりました。 見てお分かりのようにデータシートのグラフとは、ずいぶん雰囲気が違います。 このパラメータは、必要があれば、後で調整します。
飽和電圧特性を設定する
次は、コレクタ・エミッタ間飽和電圧 VCE(SAT) を調整します。 使用する回路図は、これです。 「電流制御電流源」を使って、データシートの記述どおり、 IC/IB=20 に調整してあります。
まず、コレクタ電流 IC=10mA の時の VCE(SAT) がグラフから読み取った値 VCE(SAT)=16mV になるように Br を調整します。 その結果、 Br=31.0 が求まりました。 ずいぶん、大きくなっちゃったね。
次は、 IC=4A の時の VCE(SAT) をグラフから読み取った値 VCE(SAT)=1.74V になるようにコレクタ抵抗 Rc を調整します。 その結果、 Rc=0.411 が求まりました。
次は、ベース抵抗 Rb を求めたいのですが、データシートには、 VBE(SAT) のグラフがありません。 本当は、実測すればよいのですが、ここでは適当に Rc の十倍の Rb=4.11 としておきます。
AC特性を設定する
次は、AC特性をあわせます。 ところが、データシートでAC特性に使えそうな値は、 COB しかありません。 何とか、計算してみますか。
データシートにある値、 COB=35pF は、 VCB=10V, IE=0, f=1MHz の時の一点での値です。 この条件の時、 COB のインピーダンスは、 1/(2×π×f×COB)=4547[Ω] となります。 そこで、 1mVP-P の信号を与えたときに流れる電流が 0.220µAP-P になるように Cjc を調整します。 その結果、求められた値は Cjc=85.6e-12 となりました。 Cje は、参考文献の記述どおり、 Cjc の1.5倍 Cje=128e-12 としました。
スイッチング特性は、どうしましょう?
参考文献にあった最後のステップは、スイッチング特性です。 ところが、データシートには、スイッチング特性に関する項目は、記述がありません。 しかたないから、デフォルトの 0 のままにしておきます。
使用上の注意
以上、パラメータを決めてきましたが、温度特性については全く設定していません。 また、データシートだけを情報源としており、実物の測定などは一切行っていません。 そのため、使用条件によっては合わない可能性もありますので、必要であればパラメータを修正してください。
.model 2SD2531 NPN(Is=2.1e-14 +Bf=700 Ikf=0.47 Nk=0.56 Ise=3e-13 Ne=1.48 +Vaf=50 +Br=31.0 Rc=0.411 Rb=4.11 +Cjc=85.6e-12 Cje=128e-12 +Vceo=60 Icrating=4 mfg=TOSHIBA)
参考文献
- トランジスタ技術 1991年 6月号
- この記事は、「SPICEによる電子回路設計セミナ」という連載を参考にしました。 この記事は、単行本にはなっていないのかなあ。
参考になりそうな文書
- Chapter 5 EEE 102 Course Material
- カリフォルニア州立大学サクラメント校の講義資料のようです。 "BJT Fundamentals Lecture Slides"にバイポーラトランジスタの話が書いてあります。 "FORWARD"と"REVERSE"って、そういう意味だったのか。
- Principles of Semiconductor Devices
- こちらは、コロラド州立大学ボルダー校の講義資料(市販本?)です。 SPICEのパラメータの計算式が書いてありますが、これを計算するんですか?
- H. K. Gummel and H. C. Poon, "An Integral Charge Control Model of Bipolar Transistors," Bell. System Tech. J., vol. 49, pp. 827-852, May 1970.
- バイポーラ・トランジスタ・モデルの元祖は、この論文だそうです。 googleさんに聞いても、論文そのものは出てこないな。
- IC-CAP Characterization & Modeling Handbook
- Agilentさんのパラメータ抽出ソフトウェアのマニュアルです。 この中に"6.2.1 Gummel-Poon bipolar model"という"SPICE"モデルとパラメータの意味について詳しく書いてあります。 何より、視覚的に理解できるところがうれしい文書です。
scilabで遊ぼう (12) [電子工作]
本物のOPアンプで発振器を作ります。 今回もscilabは登場しません。
LTspiceで回路構成を決める
LTspiceのシミュレーションで、ゲインを上げると発振器になることがわかりました。 それじゃあ、実際に発振させてみようということになりました。 使用するOPアンプは、STマイクロ社のLM358です。 digi-keyで安かったもので。
今回作ったのは、こんな回路です。 発振周波数を耳でも確認したかったので、2kHz付近で発振するようにRC移相器の定数を変えました。 その結果、ゲイン43.9倍の時に約2kHzで発振が起こるということがわかりました。 実際の回路では、"Rf"部分を68kΩの抵抗と50kΩの可変抵抗で作り、ゲインを変えながら発振の様子を観測します。
LM358で発振器を作る
ブレッドボード上に組んでみました。 右下に2.2kΩが並んでいるのが移送器の部分です。 右上には、2SC3327で作ったエミッタフォロワを配置して、波形を観測する際に使用しました。
波形の観測は、どうしよう
発振器を作るのは、いいのですが、発振波形を確認するためには、オシロスコープが欲しくなります。 でも、私はそんな機材を持っていません。 そこで思い出したのが、参考文献(1)の記事です。 ここでは、PCのオーディオ入力を利用してPCをオシロスコープのように使うWaveSpectraというフリーウェアが使用されています。 WaveSpectraは、efu's pageで提供されています。 これを使うことにしました。
参考文献(1)の記事でも書かれていましたが、LM358は、出力に十分なバイアス電流を流さないとひずみが出るそうです。 実際にやってみると、こんな波形が出てきました。 たしかに、スイッチング部分でひずみが見えます。
そこで、OPアンプの出力部分に10kΩの抵抗を付けて、プルダウンした結果がこの波形です。 極端なひずみはなくなりましたが、波形の下半分が欠けています。 これは、OPアンプの出力範囲が足りないために、飽和したのではないかと思います。
発振が始まったときの"Rf"と"Rs"の抵抗値は、実測したところ95.9kΩと2.162kΩでした。 ゲインは、44.4倍ということで、シミュレーションどおりの値になっています。 また、発振の始まる周波数は、2080Hzと読み取れました。
LM6132に換装してみた
波形の下半分が欠けることがわかったので、OPアンプをナショナル・セミコンダクタ社のLM6132に換装してみました。 これは、Rail-to-Railと呼ばれる、入出力共に電源電圧いっぱいまで使うことが出来るOPアンプです。 たまたま、サンプルが手元にあったものですから。
その結果がこれです。 確かに下半分が欠けることはなくなりましたが、スイッチングでのひずみが残っています。
MC33202に換装してみた
次は、オンセミコンダクタ社のMC33202です。 このOPアンプもRail-to-Railと称しています。
このOPアンプの場合には、きれいな正弦波が現れました。 発振周波数は、予想よりもちょっと高めですね。
その他のOPアンプは、
他のOPアンプも色々と試してみましたが、安定した正弦波が観測できるものは、見つかりませんでした。 やはり、うわさどおり、この回路を発振器として使うのは至難の業のようです。
付録 : 「scilab で遊ぼう」索引
- scilabで遊ぼう (1)
- scilabで遊ぼう (2)
- scilabで遊ぼう (3)
- scilabで遊ぼう (4)
- scilabで遊ぼう (5)
- scilabで遊ぼう (6)
- scilabで遊ぼう (7)
- scilabで遊ぼう (8)
- scilabで遊ぼう (9)
- scilabで遊ぼう (10)
- scilabで遊ぼう (11)
- scilabで遊ぼう (12)
- scilabで遊ぼう (13)
参考文献
- (1) 特集:実験で学ぶトランジスタ回路設計
-
トランジスタ技術 (Transistor Gijutsu) 2006年 07月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2006/06/09
- メディア: 雑誌
LCDモジュールについて考えた (2) [電子工作]
前回の記事で書いたようにLCDモジュールの入力端子にはプルアップが付いていることがわかりました。 5Vの電源で動作しているLCDモジュールでは、プルアップによって入力端子の電圧が5Vまで上がってしまう可能性があります。 今回は、5Vの電源で動作しているLCDモジュールに3.3V電源で動作しているマイコンをつないだら、なにが起こるのか実験します。
実験回路
今回、とりあげたマイコンは、MC9RS08KA8です。 このマイコンは、1.8Vから5.5Vまでの広範囲にわたる電源電圧に対応しています。 今回の実験では、5.0VのACアダプタの電源から3.3Vの3端子レギュレータ"TA48M033"を使用して作った3.3V電源をマイコンに供給しています。 もちろん、LCDモジュールには、5.0V電源を使用しています。
今回の実験は、「LCDモジュールにマイコンを接続したらどうなるか。」というのがテーマなので、マイコン側は「無限ループ」プログラムを実行させてムダに時間をすごさせます。 また、入出力端子の初期設定も行わないので、デフォルトの「プルアップもプルダウンも無い入力」の設定になるはずです。 さらに、この状態でLCDモジュールの入力端子とマイコンの端子との間に流れる電流を検出したいので、これらの端子は1kΩの抵抗でつなぎました。 なお、LCDモジュールの"E"入力だけは、プルアップもプルダウンもされていないため、10kΩの抵抗でプルダウンして、LCDモジュールが動作しないようにしてあります。
端子電圧を確認する
電源を投入して、各端子の電圧を確認しました。 LCDモジュールの電源電圧が5.09V、マイコンの電源電圧が3.31Vでした。 これらの間につないだ抵抗の両端の電圧は、3.85Vと3.79Vでした。 1kΩの抵抗の両端に60mVの電位差が発生したので、抵抗に流れる電流は、60µAと計算できます。
マイコンの端子は、入力設定になっているはずです。 それなのに、なぜ、電流が流れるのでしょうか。 それは、以前の記事「端子に電源よりも高い電圧を与えると何が起こるか」にも書いたように、寄生ダイオードが存在するからです。 マイコンの端子から電源端子に向かって、寄生ダイオードが存在します。 このダイオードに電流が流れるため、電源電圧3.31Vよりもダイオードの順方向電圧降下分高い3.79Vの電圧がマイコンの端子にあらわれます。
ここでは、寄生ダイオードと書きましたが、入力端子の静電破壊を防ぐ目的で入れられたダイオードが存在する場合もあります。 どちらにしても、定常的に電流を流すように作られたものではありませんので、電流を流し続けると問題が起こる可能性があります。
マイコンの最大定格を確認する
この実験から、マイコンの端子には、3.79Vの電圧がかかっていることが確認されました。 このマイコンの仕様書にある絶対最大定格では、端子の電圧の範囲を-0.3VからVDD+0.3Vと定めてあります。 VDDは電源電圧の意味ですので、この場合の絶対最大定格の最大値は、3.61Vとなります。 つまり、この実験は、「絶対最大定格を超えた使い方をしている悪い例」であると言えます。
絶対最大定格を守るには
それでは、絶対最大定格を守るには、どうしたら良いのでしょうか。
前回の記事で実験したように、LCDモジュールの入力端子を36kΩの抵抗でプルダウンすると、入力端子の電圧は3.1Vよりも低くなります。 この状態でマイコンを接続すれば、マイコンの端子に3.3Vを超える電圧は発生しなくなります。
ところが、この方法では、常に約85µAの電流が流れてしまいます。 LCDモジュールの6本の入力端子を使おうとすると、それだけで0.5mAの電流を消費してしまい、地球に優しくありません。
正式に3.3V電源のマイコンでLCDモジュールを駆動しようとしたら、3.3Vの信号を5Vの信号に変換するレベルシフタが必要です。 具体的には、74HCT04などの入力閾値が低い汎用ロジックを使うとうまくいきます。
MC9RS08KA8を使う場合には、5V電源を使うことも出来るので、簡単に解決することができます。
参考文献
トランジスタ技術 (Transistor Gijutsu) 2008年 07月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/06/10
- メディア: 雑誌
Interface (インターフェース) 2009年 02月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/12/25
- メディア: 雑誌
LCDモジュールについて考えた (1) [電子工作]
LCDモジュールは、マイコンと接続して簡単に文字を表示する事ができるので、工作にはよく登場します。 でも、時々、「それでいいの?」という使い方が見受けられます。 この記事では、LCDモジュールについて、深く考えてみます。
入力の処理
LCDモジュールには、制御信号入力端子とデータバス入出力端子があり、これらをマイコンに接続して使用します。 IC使うときには、当然のこととして、未使用端子は適切に処理しなくてはなりません。 このLCDモジュールを使うときにも、各入力端子はLCDドライバにつながっているはずなので、適切な処理が必要です。
これらLCDモジュールの制御には、日立製作所(当時)のHD44780、または、その互換品が使われているということになっています。 そこで、googleさんに教えてもらった、データシートで、未使用端子の処理方法について調べてみました。 その結果、"E"入力以外の入力端子および入力状態の"DBx"入出力端子には、プルアップ素子が付加されるらしいことがわかりました。
プルアップの特性を調べる
LCDモジュールの端子には、プルアップが装備されていることがわかったのですが、秋月電子で入手したLCDモジュール(SD1602HU0B-XA)の仕様書には、そんな記述はありません。 だったら、勝手に調べてみましょう。
まず、VDDとVSSに5.0Vの電源を与えます。 また、"E"入力は、LCDモジュールが動かないように1kΩの抵抗でプルダウンしておきます。 これだけでも、十分なのですが、LCDに何も出てこないと寂しいので、VO端子を100Ωの抵抗でプルダウンし、ついでにバックライトも100Ωの抵抗を使って光らせました。 これで、準備はおしまいです。
あとは、手持ちの様々な値の抵抗(R)を使って、"RS"端子をプルダウンし、そのときの"RS"端子の電圧(VRS)をハンディテスタで測定・記録していきます。
R (Ω) | VRS (V) |
---|---|
∞ | 5.09 |
1.00E+06 | 4.99 |
2.20E+05 | 4.81 |
1.00E+05 | 4.22 |
7.20E+04 | 4.03 |
6.80E+04 | 3.83 |
5.60E+04 | 3.62 |
5.10E+04 | 3.49 |
4.70E+04 | 3.37 |
3.60E+04 | 3.01 |
3.30E+04 | 2.83 |
2.70E+04 | 2.542 |
2.40E+04 | 2.306 |
2.20E+04 | 2.139 |
2.00E+04 | 1.986 |
1.50E+04 | 1.535 |
1.10E+04 | 1.146 |
1.00E+04 | 1.031 |
7.50E+03 | 0.77 |
6.80E+03 | 0.706 |
5.60E+03 | 0.596 |
4.70E+03 | 0.491 |
3.30E+03 | 0.346 |
2.70E+03 | 0.279 |
2.40E+03 | 0.2503 |
2.20E+03 | 0.2283 |
2.00E+03 | 0.2092 |
1.80E+03 | 0.1881 |
"RS"入力端子での電圧降下(VDS=5.09-VRS)を横軸に、"RS"端子から流れ出した電流(IDS=VRS/R)を縦軸に、グラフを書かせるとこうなりました。
もし、プルアップが本当の抵抗であったなら、グラフは直線になります。 ところが、実験の結果を見ると、電流値が途中から頭打ちになっています。
これは、いわゆるFETのI-V特性というものです。 つまり、プルアップ素子と言われているものは、抵抗ではなくFETで出来ていると推測されます。
次回予告
LCDモジュールの入力にプルアップが装備されているらしいことがわかりました。 負荷を付けなければ、プルアップの作用で入力端子は5Vまで上がってしまいます。 次回は、この入力端子に3.3V電源のマイコンをつないだらどうなるか調べてみます。
参考文献
トランジスタ技術 (Transistor Gijutsu) 2008年 07月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/06/10
- メディア: 雑誌
Interface (インターフェース) 2009年 02月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/12/25
- メディア: 雑誌
端子に電源よりも高い電圧を与えると何が起こるか [電子工作]
最近、3.3Vのマイコンに5Vの電圧を印加する使い方が目に付きます。 この使い方の何が問題なのか、半導体の立場から考えます。
寄生ダイオードがONする
ICというのは、一枚のシリコン基板の上に回路を構成したものです。 シリコンに様々な「不純物」を入れて、n型とp型の半導体を作ります。 この図は、CMOSの場合の断面図です。
"Pin"端子には、出力ドライバに使用されているPチャネルMOSFETのドレインであるp型の半導体がつながっています。 また、電源の"VDD"端子は、n型半導体であるシリコン基板につながっています。 そのため、"Pin"端子と"VDD"端子の間には、寄生ダイオードと呼ばれるダイオードが出来上がります。 もし、"Pin"端子の電圧を"VDD"端子の電圧よりも高くすると、この寄生ダイオード"D1"がONして、"Pin"から"VDD"に電流が流れてしまいます。 このため、どの端子もシリコン・ダイオードがONする「VDD+0.7V」の電圧を超えてはなりません。
そのために設けられているのが、絶対最大定格に記述されている端子電圧の許容範囲です。 MC9RS08KA2の場合には、「-0.3 to VDD+0.3」と定められています。 この条件を守っている限り、寄生ダイオードがONすることはありません。
ONするのは、寄生ダイオードだけではない
寄生ダイオードがONするだけなら、大したことないと、思われたのではないでしょうか。 じつは、ONするのは、寄生ダイオードだけでは、ないのです。
断面図を見て判るように、ICはn型p型の領域が入り乱れています。 そのため、油断すると、すぐにPNPまたはNPNのバイポーラ・トランジスタが出来てしまいます。
断面図に示した"Q1"と"Q2"が、その寄生トランジスタの例です。 "D1"がONするということは、PNP型トランジスタ"Q1"のエミッタからベースに電流が流れることを意味します。 すると、"Q1"がONし、エミッタからコレクタにもその"hfe"倍の電流が流れます。 この電流は、となりのNPN型寄生トランジスタ"Q2"のベースからエミッタへの電流になり、"VSS"端子から流れ出します。 すると、こんどは、"Q2"がONし、コレクタからエミッタへとベース電流の"hfe"倍の電流を流します。 この電流は、"VDD"端子から"VSS"端子へと流れる電流です。 また、"Q1"のベース電流を流す効果もあります。 こうなると、電源を切る以外に電流を止めるすべはありません。
このように、PNP型とPNP型のバイポーラ・トランジスタを組み合わせた構成をサイリスタと呼び、一般にこのような現象を「ラッチアップ」と呼んでいます。 ラッチアップが発生したら、バイポーラ・トランジスタの温度の上昇と電流の増加の相乗効果によって、「熱暴走」という状態におちいり、最悪の場合にはICの永久的な破壊につながります。
ラッチアップを起こさないための規定がやはり仕様書に書いてあります。 MC9RS08KA2の場合には、最大注入電流という項目があり、1端子あたり0.2mAとなっています。 これ以上の電流が流れるような事態が発生するとラッチアップが発生する可能性があると考えてよいでしょう。
ラッチアップを起こさないためには
ラッチアップを防ぐためには、端子の電圧を「VDD+0.3V」以内に収め、流入する電流を0.2mA以下にするための保護回路が必要です。 たとえば、10kΩの電流制限抵抗を接続すると、5Vの信号から流入する電流は0.17mAに制限できます。 さらに、"Pin"端子と"VDD"端子の間にクランプとしてショットキー・ダイオードを入れると端子電圧の上昇も防ぐことが出来ます。
おことわり
以上、半導体の立場から見た見解を書きましたが、実はこの説明で使用された断面図は、最新の半導体のものではありません。 そのため、現在の半導体では、もっとラッチアップが発生しにくい構成が使用されているのだろうと思います。 しかし、仕様書の範囲を超えた使い方をした場合に致命的な破壊を引き起こすということに間違いは無いので、使用条件を十分に吟味して設計されることをお勧めします。
参考文献
星野先生、ご無沙汰しております。
Interface (インターフェース) 2009年 02月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/12/25
- メディア: 雑誌
この記事の発端は、インターフェースの記事でした。
サンプル請求の結果 [電子工作]
ここのところ、新製品がぞくぞくと出ています。 調子に乗って、サンプル請求していたら、こんなにたまってしまいました。 そろそろ、工作をしなくては。
MC9S08JM16
従来のMC9S08JM60は、広大な60kByteのFLASHを搭載していましたが、それほどの容量が必要の無い用途もたくさんあります。 これは、16kByteのFLASHを搭載している比較的小型なアプリケーション向きのMCUです。
MC9RS08LA8 / MC9RS08LE4
MC9RS08LA8 と MC9RS08LE4 は、いずれもLCDパネルを直接駆動するLCDドライバを内蔵したMCUです。 能力的には、1/8デューティーまでのパネルに対応するのですが、ダイセン電子工業さんなどで市販されている汎用LCDパネルには、せいぜい1/3デューティーのものしか無いので、持て余してしまうかもしれません。
MC9RS08KA8
MC9RS08KA8 は、それほど最近の MCU では無いのですが、やっと DIP パッケージ品がサンプル提供されるようになりました。 20端子もあれば、色々なことができます。
MCF51AC256B / MC9S08AC128
これらのMCUは、Flexisシリーズの一つで、ほぼ同じ構成のMCUですが、コアとして、32bitのColdFireと8bitのS08を内蔵しているところに違いがあります。 特に MCF51AC256B は、 32kByte の RAM を内蔵しているので、これだけでその昔のパーコン並みのことができるかもしれません。
MC9S08DZ60
MC9S08DZ60は、S08シリーズでは珍しくEEPROMを搭載したMCUです。 FLASHではないEEPROMということで、何やら怪しいことが出来そうです。
MCUを使うのに必要なのは
これらの新しい MCU でプログラム・デバッグを行うには、対応するデバッガが必要です。 今までは、DEMO9S08QG8評価ボードをMULTILINKとして使うことも出来たのですが、最新の CodeWarrior for Microcontrollers V6.2 では、 MC9S08QGx 以外の MCU には対応しないように変更されているようです。 また、 RS08 ではプログラミングに12Vの電圧が必要になるので、ハードウェア的にも DEMO9S08QG8 では対応できません。 やはり、 USBMULTILINKBDME でも購入しますか。
子供の科学 - 2008年11月号の「つくってあそぼう」に物申す [電子工作]
子供の科学 - 作って遊ぼうに物申すに続くの第二弾は、2008年11月号の「ターンブルー」です。 この作品は、バイナリ・カウンタ 74HC4060 に CR をつけて発振器を構成して、 LED をピカピカさせる、実にシンプルな構成です。
電流値を計算する
この記事の優れたところは、 LED に流す電流値をきっちり計算しているところです。 電源には、乾電池3本を使い4.5Vの電圧を供給します。 そして、順方向電圧降下 (Vf) と流したい電流値から電流制限抵抗の値を決めます。 赤と黄の LED の Vf は、 2.0V @ I=20mA で計算し、マージンをみて 150Ω の抵抗を使用します。 一方、緑・青・白の LED の Vf は、 3.5V @ I=20mA で計算し、マージンをみて 100Ω の抵抗を使用します。
えっ? 何で緑の Vf が青と一緒なんですか?
問題点1:絶対最大定格
この作品では、74HC4060の 10 個の Q 出力に二つずつの LED を接続し、 Q 出力の状態により二つの LED のいずれかが点灯する仕組みになっています。 つまり、各 Q 出力は、常に設計値 20mA の電流を出すか引くかしていることになります。 そのため、全ての Q 出力が電流を出した場合、 74HC4060 の VCC 端子には 20mA×10=200mA の電流が流れ込む計算になります。
一方、東芝セミコンダクター社のデータシートを見たところ、 VCC 端子および GND 端子に流れる電流の絶対最大定格は、 ±50mA となっています。 設計値が絶対最大定格の実に 4 倍になっています。 逆レーティング? これでは、電源を投入したとたんに 74hC4060 が破壊・焼損したって、文句は言えないはずです。
問題点2:緑色LEDの順方向電圧降下
これも東芝セミコンダクター社のデータシートを調べましたが、一般的な緑色 LED の順方向電圧降下は、赤や黄と同じ、 2.0V @ I=20mA 程度でした。 このため、緑色 LED に流れる電流は、設計値よりも大きくなるはずです。
どこかのメーカで 3.5V @ I=20mA の 緑色LED というのを作っているのでしょうか?
問題点3:パスコンがありません
この回路には、電源ラインに一切のパスコンがありません。 発振器が動いているのに、LEDがスイッチングするのに、パスコン無しです。 発振しないのかな? すでに発振器が発振しているからという理由ではありませんよね。
作ってみた
本当のところ、どうなんだろうか。 IC が、焦げたりするのかな? と、実際に作ってみました。 ただし、手持ちに青・白 LED が無かったため、赤・黄と緑を使った「ターングリーン」となりました。
私、そんなに流せません
Ni-MH 電池四本からなる 4.8V の電源で動作させながら、電流制限抵抗での電圧降下から緑 LED に流れる電流を測定しました。 その結果、 19mA という結果が得られました。 また、各部の電圧を測定した結果、LED での電圧降下が 2.1V 、電流制限抵抗での電圧降下が 1.9V 、残りの 0.8V は、 VCC と Q 出力の間の電圧降下でした。 つまり、出力抵抗換算で 42Ω という計算になります。 そもそも、こんなに流すべき石ではないのでしょう。
この状態での Q 出力ひとつあたりの内部損失は、 0.8V×19mA=15.2mW です。 十本の Q 出力でこの内部損失が発生したとすると、パッケージ全体では、 15.2mW×10=152mW の損失になります。 絶対最大定格の許容損失は、 500mW なので、こちらはまだ余裕がある方です。
消費電流
動作状態の消費電流を測定したところ、 130mA という値が得られました。 設計段階での 200mA よりも少ない値ですね。 これは、 Q 出力での電圧降下のおかげで、 LED に流れる電流が少なくなったためです。 まさに、怪我の功名。
けっこう、壊れないね
この絶対最大定格を越えた状態で通電したまま放置してみました。 しかし、電池切れで LED が暗くなる以外は、 74HC4060 は、元気に動いている様子。 あっという間に壊れちゃうかと思っていたのに、意外とお強いのね。
参考文献・関連文献
本日の工作 - LEDの色見本基板 [電子工作]
先日、digi-keyで購入した、1608サイズのLED30種で色見本基板を作りました。 電源は、付録基板と同じ3.3VのACアダプタ。 電流制限抵抗には、220Ωの3216サイズ抵抗を使用しています。
選手の紹介
使用したLEDは、以下の通りです。
# | 波長 | 色 | メーカ | メーカ型番 | digi-key品番 | レンズ |
---|---|---|---|---|---|---|
1 | 428 | Blue | ROHM | SML310BATT86 | 511-1331-1-ND | Clear |
2 | 466 | Blue | Avago | HSMB-C190 | 516-1426-1-ND | Diffused |
3 | 470 | Blue | Lite-On | LTST-C190TBKT | 160-1646-1-ND | Clear |
4 | 525 | Green | Kingbright | APT1608ZGC | 754-1126-1-ND | Clear |
5 | 567 | Green | Stanley | PG1111C-TR | 404-1004-1-ND | Diffused |
6 | 569 | Green | Lite-On | LTST-C190GKT | 160-1183-1-ND | Clear |
7 | 570 | Green | Kingbright | APT1608CGCK | 754-1116-1-ND | Clear |
8 | 571 | Green | Lite-On | LTST-C190KGKT | 160-1435-1-ND | Clear |
9 | 572 | Green | Avago | HSMG-C190 | 516-1425-1-ND | Diffused |
10 | 586 | Yellow | Avago | HSMY-C190 | 516-1424-1-ND | Diffused |
11 | 587 | Yellow | Lite-On | LTST-C190KSKT | 160-1437-1-ND | Clear |
12 | 588 | Yellow | Kingbright | APT1608YC | 754-1125-1-ND | Clear |
13 | 590 | Yellow | Kingbright | APT1608SYCK | 754-1124-1-ND | Clear |
14 | 590 | Yellow | Stanley | AY1111C-TR | 404-1002-1-ND | Diffused |
15 | 592 | Amber | Avago | HSMA-C190 | 516-1423-1-ND | Diffused |
16 | 595 | Yellow | Lite-On | LTST-C190KYKT | 160-1438-1-ND | Clear |
17 | 602 | Amber | Lite-On | LTST-C190AKT | 160-1180-1-ND | Clear |
18 | 605 | Orange | Lite-On | LTST-C190KFKT | 160-1434-1-ND | Clear |
19 | 610 | Orange | Kingbright | APT1608SECK | 754-1120-1-ND | Clear |
20 | 615 | Red-Orange | Lite-On | LTST-C190KAKT | 160-1433-1-ND | Clear |
21 | 621 | Red-Orange | Lite-On | LTST-C190EKT | 160-1182-1-ND | Clear |
22 | 626 | Red | Avago | HSMS-C190 | 516-1422-1-ND | Diffused |
23 | 627 | Red | Kingbright | APT1608EC | 754-1117-1-ND | Clear |
24 | 631 | Red | Lite-On | LTST-C190KRKT | 160-1436-1-ND | Clear |
25 | 635 | Red | Kingbright | APT1608SURCK | 754-1123-1-ND | Clear |
26 | 638 | Red | Lite-On | LTST-C190CKT | 160-1181-1-ND | Clear |
27 | 640 | Red | Kingbright | APT1608SRCPRV | 754-1122-1-ND | Clear |
28 | 647 | Red | Stanley | BR1111C-TR | 404-1000-1-ND | Diffused |
29 | 660 | Red | Avago | HSMH-C190 | 516-1420-1-ND | Diffused |
30 | 9000K | White | Lite-On | LTW-C191TS5 | 160-1724-1-ND | Diffused |
データシートに書かれていた波長の順に並べています。
左半分
左半分の登録番号1から15までのLEDの拡大写真です。
#1と#2がほとんど光っていないように見えるのは、Vfが3.8Vと高すぎるため、ほとんど電流が流れていないからです。 この二つは、波長が短いという理由で購入したのですが、3.3Vで駆動することは、だましだましにでも、できなかったようです。
右半分
右半分の登録番号16から30までのLEDの拡大写真です。
投票受付中
この中から、付録基板に搭載するLEDを決めます。 7枚確保した付録基板のうち、一枚は、JB16ボードで使用した青LEDを取り付けてありますので、残りは6枚です。 皆様の投票をお待ちしております。
参考文献
まだ、「在庫あり」だ。
Interface (インターフェース) 2008年 09月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/07/25
- メディア: 雑誌
digi-keyから、7500円分、入荷 [電子工作]
本当に揃えちゃったよ。 画面の外にもウジャウジャとあります。 それにしても、小さいな。
画面上方の黒い影は、CCDあたりに付着したゴミです。 携帯電話も換えどきか?
E24系列の計算を行う関数を作った [電子工作]
E24系列の値を求める関数を作成しました。
E24系列というのは、抵抗などの値に使用される数値の並びのことです。 1から10までの間を24の数値でほぼ等比分割しています。 ところが、これらの数値は完全な等比関係にあるわけではありません。 テーブルを使って値を求める方法もあるのですが、さる理由から関数に仕立て上げてみました。
' Omega is PI/12. Private Const Omega As Double = 3.14159265358979 / 12 ' Ln24 is LOG(10**-24) Private Const Ln24 As Double = 2.30258509299405 / 24 Public Function CalcE24(ByVal x As Double) As Double Dim R As Double R = 1 R = R _ + 0.0100001 _ - 0.0193252 * Cos(1 * Omega * x) _ + 0.0070975 * Cos(2 * Omega * x) _ - 0.0020583 * Cos(3 * Omega * x) _ + 0.0037966 * Cos(4 * Omega * x) _ + 0.0001574 * Cos(5 * Omega * x) _ + 0.004413 * Cos(6 * Omega * x) _ + 0.0013219 * Cos(7 * Omega * x) _ - 0.0027041 * Cos(8 * Omega * x) _ - 0.0029183 * Cos(9 * Omega * x) _ - 0.0026354 * Cos(10 * Omega * x) _ + 0.0010465 * Cos(11 * Omega * x) _ + 0.001808 * Cos(12 * Omega * x) R = R _ + 0.0034761 * Sin(1 * Omega * x) _ - 0.0037331 * Sin(2 * Omega * x) _ - 0.0024473 * Sin(3 * Omega * x) _ - 0.0008674 * Sin(4 * Omega * x) _ + 0.0024085 * Sin(5 * Omega * x) _ - 0.0024512 * Sin(6 * Omega * x) _ + 0.003231 * Sin(7 * Omega * x) _ + 0.0041405 * Sin(8 * Omega * x) _ - 0.0019662 * Sin(9 * Omega * x) _ - 0.003133 * Sin(10 * Omega * x) _ - 0.0050543 * Sin(11 * Omega * x) CalcE24 = Exp(x * Ln24) * R End Function
これは、Visual BASICの関数です。 xが整数値になったときに限りE24系列の数値が現れます。 例えば、0の時には1.0Ω、89(24*3+17)の時には5.1kΩ、の値が得られます。
プログラムのうち、"Exp(x * Ln24)"の部分が理想的な等比数列をあらわしています。 そして、理想的な値からの誤差を計算しているのが、"R"です。
"R"は、フーリエ級数によって求めています。 フーリエ級数のための係数は、逆フーリエ変換でも求まるのですが、今回は、Excelの「ソルバー」という仕組みを使って計算させました。
何で、こんな関数が必要だったかというお話は、また後日。
ロボット機構の勉強中 [電子工作]
今年の「知ロボ」では、 ロボットの機構についてちょっと勉強した上で、 詳しく拝見させていただきました。
これは、チャレンジコース二次予選まで残ったロボットです。 私が気に入った理由は、ズバリ、使用しているモータが少ないことです。
移動には、左右のステッピングモータを使用しています。 そして、ボールをつかむための腕にDCモータが使用されています。 以上、全部で三つのモータだけで動きます。
腕が開いたことを検出するために使用されているのが、マイクロスイッチです。 しかも、腕から糸が伸びていてマイクロスイッチにつながっているチープな設計。 凄い。 (もちろん、「チープ」は、ほめ言葉です。)
「本当は、サーボを使いたかった」との言葉に 「もったいない。代わりに加速度センサはいかがですか?」としっかり、宣伝しておきました。
参考文献
ワイヤリング・ペンの製作 [電子工作]
某所でワイヤリング・ペンを探していると聞きました。 私もネットで探しましたが、見つかりません。 どうも、これは買うものではなく、自分で作るものだと判明しました。
さるページのお勧めに従って…
googleさんに「ワイヤリングペン」と聞くと、「ワイヤリングペン 自作」と答えてくれます。 それだけ、自作記事が多いということか。
まず、キャンドゥのミシン用ボビンに0.3mmUEW線を巻きます。 ミシンを使うと簡単に巻けますが、スピードが速いのでコントロールが難しいようです。
ボビンは、1.0mmのUEW線を二本取りにしてひねった枠に入れます。 枠の先端は、らせん状に加工しておきます。 らせん部分を、廃品のボールペン軸の先にねじ込んで、完成です。
作ったはいいけれど、本当に使えるのかな?
箱の写真集 [電子工作]
子供の科学 - 作って遊ぼうに物申す [電子工作]
誠文堂新光社の子供の科学を毎月購読しています。 そこには、毎月一本、電子工作記事が掲載されています。 2008年5月号の記事は、高速に点滅するストロボ懐中電灯だったのですが、この回路は危険だと思いますよ。
555の出力は、電圧出力
この回路では、555の出力が直接LEDを駆動するためのPNPトランジスタ2SA950のベースに接続されています。 555の出力は、NPNトーテム・ポールで構成された電圧出力です。 そのため、555の出力がLOWになると、出力は内部NPNトランジスタの作用により、ほぼ0Vまで落ちることになります。 つまり、2SA950のベース・エミッタ間には、ほぼ電源電圧9Vに近い電圧が印加されることになります。 トランジスタのVBEにこんな電圧を与えてはいかんでしょう。 出力に電流制限抵抗を入れるべきなんじゃあないのかな?
出版社に問い合わせ中
ただいま、出版社に問い合わせています。
2008年5月号、P75に掲載されたストロボライトの回路図についての質問です。
この回路では、555の出力(PIN3)が直接2SA950のベースに接続されています。また、555の出力は、電圧出力なので、555の出力がLOWになったときには、2SA950のベース・エミッタ間にほぼ9Vの電圧が印加されます。このような使い方をしていると2SA950が破壊する可能性があるので、555の出力と2SA950のベースの間には、電流制限抵抗を入れるべきであると考えます。
筆者のご意見をお聞かせください。
返信、来るかな? 乞うご期待。
参考ページ
- http://www.national.com/mpf/LM/LM555.html
- ナショナル・セミコンダクタ - LM555のページ
参考書
チャタリングの出し方募集中 [電子工作]
出ると困るチャタリング。 でも出そうとすると出ないんです。
コンデンサのおかげ?
マイコンにタクト・スイッチなどの機械接点とプルアップ抵抗をつないで、入力とした場合、チャタリングが発生すると一般に言われています。 曰く、機械接点がON/OFFを繰り返すから入力を早いサンプリング速度で見るとチャタリングという現象になります。
MC9S08QG8などのデータシートに書いてあるHCS08の標準回路の場合、RST*端子にスイッチと0.1µFのコンデンサが接続されています。 この回路では、コンデンサの両端がスイッチで短絡するという別の問題もありますが、コンデンサが適度なフィルタになってくれるため、チャタリングが観測できません。 これでは、「チャタリングをキャンセルするためにソフトウェアで処理をする」という動機が無くなってしまいます。
シュミット・トリガのおかげ?
そこで、コンデンサを取り外して実験してみましたが、それでもチャタリングは10回に1回しか観測できません。 昔の回路は激しくチャタリングが発生して、カウンタがスルスルと動いていたと記憶しているのですが、最近は何が良くなったのでしょう? シュミット・トリガのヒステリシスが大きくなったのか? 昔から、マイコンの入力にはシュミット・トリガは付いていましたよね。 今や、チャタリングで悩む必要は無くなってしまったのかな?
募集:チャタリングが出やすいスイッチ
そこで、募集します。 チャタリングが出て困るような例が、どこかにありませんでしょうか。 このままでは、デバウンス処理ルーチンの必要性を説得できません。
参考ページ
40kHz同調回路 - マキマキの巻 [電子工作]
40kHz同調回路 - コイルの端子盤 [電子工作]
40kHz同調回路 - コイルの巻き線を決める [電子工作]
40kHz同調回路 - コアを決める [電子工作]
おおたかどや山標準電波送信所から40kHzで送信されている電波を受信するべく、 同調回路を作ろうと思い立ちました。
コアをさがす
同調回路に必要なのは、コイルとコンデンサです。 コイルは、透磁率の高い材料でソレノイド状につくると、そのままアンテナとして使用できます。 ますは、コアを探すことにしました。 100円ショップで。
中身が磁性体であることは、売り場の磁石にくっつけて確認しました。
巻き数を決める
適当に配線を巻いてインダクタンスを測定してみました。
巻き数 | インダクタンス |
---|---|
4 | 1.7uH |
7 | 4.0uH |
この値から計算すると、1ターンで、約0.080uHとわかります。 参考文献の40kHz同調回路で必要とされている5.4mHのインダクタンスにするためには、 260ターンのコイルを巻く必要があります。
中央部分の直径が約36mmなので、一周に必要な配線の長さは、113mm。 260ターンでは、約30mの配線が必要です。 実際には、コイルを何重にも巻くことになるので、40mは、必要になるでしょう。
やっぱり、このコアは、それほど良い材料ではないのね。
参考サイト
- 地球の周りを飛び回っている電波を捕まえよう
- http://www-acc.kek.jp/WWW-ACC-exp/KEKB/control/activity/radio/
電気泥棒 - シミュレーション [電子工作]
最近、Simさんのところで使っていらっしゃるLTSpice/Sw CAD IIIを私もインストールして使ってみました。
回路図は、これだ
回路は、この通り。
当方で使用したコイルのインダクタンスを180µHと計算して値を入れました。 電源は、内部抵抗6Ωのヘタレ電池としています。 電圧0.46Vは、立ち上がり時間1µsecで起動するギリギリの電圧です。 白色ダイオードは、LTSpiceに付属のLEDモデルを使用しました。 トランジスタは、まあ、どれでも一緒でしょう。
シミュレーション結果は、これだ
シミュレーションの結果は、この通り。
理論では、入力電圧と出力電圧の比がデューティー比になるらしいので、 まあ、こんなもんでしょう。 電流I(L2)の平均値も実測に近い4mAになっています。
µがまともに表示されないので、回路図ではミリとナノを使ってごまかしています。 なんでかなあ。
コンデンサを付けてみたい
ベース-コレクタ間にコンデンサが置いてありますが、 今はワルサをしないように極小の値が入っています。 この値やベース抵抗の値を変化させると電流の様子が変わってくるので、 もうちょっと明るくなる設定を見つけてみます。
2008-02-13 20:37 JST 追記
µが化ける問題は、 "Control Panel"→"Netlist Options"→"Style/Conversion"→"Convert 'µ' to 'u'"をチェックすると何とかなりました。