スポンサーリンク

トランジスタのダーリントン接続を試してみる

今回は LED ではなく、少し負荷電流の大きいリレーを動かしてみましょう。スケッチはスケッチ例の Blink をそのまま使いましたので、1 秒おきにリレーがカチカチ動作します。

リレーはジャンク箱にあった 5V 用のものですが、データシートには 6V 用でソレノイドの抵抗値 40Ω 、電流は 150mA となっていました。特別仕様のリレーなのかもしれません。Arduino の IO ポート出力電流は 20mA ですから、直接駆動はできません。別電源による駆動回路が必要になります。

駆動用のトランジスタは、いつもの 2SC1815 や 2SA1015 では最大コレクタ電流が 150mA ですから使えません。もう少しコレクタ電流の許容値の大きいものが必要です。
ジャンク箱を探してみると 2SA1674 がありました。PNP 型トランジスタでコレクタ電流が最大 1A 、コレクタ・エミッタ間電圧が最大 80V です。低周波増幅用でスイッチングには不向きかもしれませんが、実験で使うには十分です。

PNP 型トランジスタによる駆動回路

回路はいつもと同じ PNP 型トランジスタによる駆動回路です。
PNP 型トランジスタによる駆動回路については「Lチカを PNP 型トランジスタで駆動する」も参照してみてください。

負荷がソレノイドですので、逆電圧を吸収するためのダイオードをいれておきましょう。
1N4007 は逆耐圧 1000V で 1A 流せる整流用ダイオードですが、この回路でしたら 50V 1A あればいいかなと思います。

コレクタ電流 IC = 150mA に対して必要なベース電流 IB をその 1/40 とすると、

IB = 150 / 40 = 3.75 [mA]

R2 に流れる電流 IR2 はベース・エミッタ間電圧 VBE = 0.8V とすると、

IR2 = 0.8 / 10 = 0.08 [mA]

したがって R1 に流れる電流は 3.75 + 0.08 = 3.83mA 、電圧は 5.0 – 0.8 = 4.2V となりますから、

R1 = 4.2 / 3.83 = 1.10 [KΩ]

ということで、1KΩ としました。

ちなみに、13 番ピンはシンク回路として動作しますので、出力が LOW のときにリレーが ON します。
シンク回路については「Arduino / Lチカはどうしてチカチカするのか 」を参照してみてください。

ダーリントン接続にするとベース電流が小さくできる

これでとりたてて問題はないのですが、もっとシンク電流を小さくして、マイコンにかかる負担を軽くすることはできないでしょうか。

ベース電流を小さくする方法としてよく使われる回路に「ダーリントン接続」があります。

左図のように、トランジスタを二つ組み合わせて、あたかも一つのトランジスタのように扱う方法です。電流増幅率が二つのトランジスタの電流増幅率をかけ合わせた値になるので、ベース電流を小さくすることが可能になります。

トランジスタの組み合わせは、NPN 型二つの場合もありますし、PNP 型と NPN 型を組み合わせる場合もあります。
今回は PNP 型トランジスタの 2N3906 を使用しましたが、いつもの 2SA1015 でもよいですね。全体として PNP 型トランジスタを形成しています。

リレーのソレノイドに流れる電流は 150mA 、これは Q1 のコレクタ電流と Q2 のコレクタ電流の合計になります。 Q1 と Q2 は一つの PNP 型トランジスタとして考えればよいので、トランジスタ Q2 のベース電流は、それぞれの電流増幅率を 40 として、

IB = 150 / ( 40 x 40 ) = 0.09 [mA]

です。とても小さくなりますね。

Q2 のベースと Q1 のエミッタの間の電圧は、二つのトランジスタのベース・エミッタ間電圧を足した値になります。Q1 のベース・エミッタ間電圧を 0.8V 、Q2 のベース・エミッタ間電圧を 0.7V とすると、R2 に流れる電流 IR2 は、

IR2 = ( 0.8 + 0.7 ) / 10 = 0.15 [mA]

したがって R1 に流れる電流は 0.09 + 0.15 = 0.24mA 、電圧は 5.0 – ( 0.8 + 0.7 ) = 3.5V となり、

R1 = 3.5 / 0.24 = 14.6 [KΩ]

ですから、R1 は 10KΩ とします。これで 13 番ピンへのシンク電流は 1/10 程度になり、マイコンへの負担も軽くなりました。

ダーリントン接続の注意点

さて、ダーリントン接続の回路も問題なく動作したわけですが、じつはダーリントン接続にはちょっと注意しておかないといけない点があります。それは「コレクタ・エミッタ間電圧が大きくなる」ということです。

実際に電圧を測定してみると、Q1 のコレクタ・エミッタ間電圧は 0.77V でした。通常のスイッチング回路でのコレクタ・エミッタ間電圧は 0.1V にもなりませんので、ずいぶん高いですね。これは、Q1 のベース・エミッタ間電圧 0.73V と、Q2 のコレクタ・エミッタ間電圧 0.04V が加算された結果です。
そのために、負荷であるリレーにかかる電圧は、電源電圧 5.03V からコレクタ・エミッタ間電圧 0.77V を差し引いた 4.26V 、基準の電圧の 85% に落ちてしまっています。
なお、ソレノイドに流れていた電流は 118mA でしたので、直流抵抗値は 36Ω になりますね。

ソレノイドにかかる電圧が低いと、動作が不安定になる可能性がありますし、ON するまでの時間も長くなってしまいます。
リレー以外の負荷を駆動する場合でも、この電圧降下が原因で誤動作することがあるかもしれません。十分な余裕をみておく必要があります。

ダーリントン接続の注意点を改善してみた

「コレクタ・エミッタ間電圧が大きくなる」という注意点は、電源電圧を高くするという方法でも改善できます。
たとえば、電源電圧を 12V にして 12V 用のリレーを使用すれば、1V の電圧降下があったとしても 90% 以上の動作電圧を確保できますね。

が、12V 用のリレーがジャンク箱にはありません。5V 用のままでなんとかならんもんでしょうか (^_^;)

ってことで変更したのが、左の回路です。

アイデアの基本は「ダーリントントランジスタの罠のはなし: SUDOTECK」を参考にさせていただきました。ありがとうございます。

変更点は、Q2 のコレクタを Q1 のコレクタに並列接続するのをやめて、R3 を介してグランドに落としたというところ。
R3 にかかる電圧は 4.2V ですから、Q2 のコレクタ電流は 4.2mA 。Q2 のベース電流は 0.08mA なので、エミッタ電流は 4.28mA 、これが Q1 のベース電流になります。Q1 のコレクタ電流は 150mA ですから、十分なベース電流です。

実測値では、Q2 のコレクタ・エミッタ間電圧は 0.15V でした。データシートによると、2SA1674 のコレクタ・エミッタ間電圧は 0.2V 程度のようですので、十分な値です。
これでソレノイドにかかる電圧は 4.89V ( 98% ) となりました。電流値は 134mA でした。

ブレッドボード

実際に組み立てたブレッドボードの様子です。

右上の黒い箱がリレー、その左横にくっついているのがダイオードです。Arduino は NANO 互換品。長方形のトランジスタが 2SA1674 で、半円形のやつが 2N3906 です。
左上部分は 5V の電源回路です。リレーを連続して ON していると、放熱器が暖かくなります。

タイトルとURLをコピーしました