Hey Siri, turn on the TV.(2) STM32F103 赤外線リモコン送信部設計編

投稿者: | 2019/05/05

前回は加工編でした。今回は簡単に設計して見ます…ってもう作ってしまったので振り返り、適当ですね(笑)
念のため断っておきますが、この記事を参考にされて如何なるトラブルや損害が発生しても当方は一切の責任を負いません。正常に動作する事を保証するものではありません。また、記事や関連する一切の事項について誤りがあった場合でも修正する義務を負いません。転載も禁止します。

<赤外線リモコン送信部回路図>
・回路図を書かずに、はんだ付けしながら考えたので、ケースに入れてしまった今となってはちょっとあやふやです。写真を見ながら思い出しました…違ってたらごめんなさい(笑) まぁ、Q1の型名と抵抗値以外間違うところは無いんですけどね。
・STM32_PXXと記載しているのは、STM32F103C8T6搭載のBlue Pillボードの端子を表します。例えば、STM32_PB6は、Blue PillボードのPB6に接続します。(Black Pillボードも使えます)
・Blue Pillは、PC13がオンボードLEDをドライブしています。他に有名なSTM32F103C8T6搭載ボードのBlack Pillは、PB12がオンボードLEDをドライブしています。どちらのボードでも使えるように、PB12,PC13両方にインジケータLEDを接続しています。そのうち、別の情報でも表示しようかなと…

回路図

・GPIOにはあまり電流を流したくないので、Trはダーリントン接続にします。
・Q1 2SC2058は 、NPN型の適当な小信号Trが使えます。ダーリントン接続なので、Q1,Q2両方のVBEを超えてIBを流すことになります。
IB ≒ (3.3 – 2 * 0.6)/12[kΩ] = 0.175 [mA]
2SC2058のhFEは、82〜180です。
IC = IB*hFE ですので、 最大値は 0.175[mA] * 180 = 31.5 [mA] 、最小値は 0.175[mA] * 82 = 14.35[mA] になります。(実際は温度,ICにより多少変化します) スイッチング用トランジスタにして、もう少しICを流すようにR5を小さくすれば良かったですね。
・Q2 2SC2655-Yは、D1〜D3のIR-LEDを3個ドライブします。(D4は電流が少ないのでおまけ) IR-LEDは到達距離を稼ぐ為、ピークで500[mA]以上は流したいので、3個でパルスピーク 1.5[A]以上流せる必要があります。
Yランク(Yellowです)のhFEは、120〜240ですので、最小の場合でも
IC ≒ 14.35 [mA]* 120 = 1722[mA]は流せる能力があることになります。(低温時にはVBEが増加し、hFEが減少するので、厳密にはもう少し計算する必要があります)
Q1,Q2を一つのトランジスタと考え、hFE(min) = 82 * 120 = 9840と計算しても良いです。普通はこっちですな。
・D4は、送信しているリモコンコードを視覚的に見えるようにするためのものです。電流制限抵抗R4が470Ωと、R6,R7より小さいのはリモコンコードのパルス幅が狭いため、電流を流してピーク輝度を上げないと見えにくいためです。

・2SC2655のASO(SOA)特性を見てみると、IC max(パルス)特性も記載されており、単発パルス幅100ms以下であれば、VCE = 5[V]より低い時にIC max = 3[A]は流せるようです。連続でもIC 2[A]は流せます。IRパルスは100msも連続することはありませんし、休止期間も十分に取れるため問題なさそうです。IR-LEDのIFが少しバラついても大丈夫でしょう。


・D1〜D3 IR-LEDは、マルツで購入した 503IRC2V-2AD を使用します。赤外線リモコンの波長は940nmです。リモコン送信機を固定して使用する場合、照射角はなるべく広角なものが良いです。このIR-LEDの照射角は半値幅30°です。

・LEDは、上のIF-VFグラフのように、IFが増加するとVFも増加します(VFを上げると電流も増加する)。 IF≒100[mA]のときはVF≒1.5[V]ですが、IF≒400[mA]のときVF≒2.0[V]に上昇します。制限抵抗の値を計算する時には、目標とするIFに対するVFを使って計算しなといけません。そうしないとIFが予定より少なくしか流れず、到達距離が伸びない事になります。IR-LEDは壊れない方向なので、安全ではありますが。
・このIR-LEDは、10ms周期で ON期間100μsであればIF 1000[mA]流せるようです。IF 500[mA]程度であればもう少し長い期間流せる事を期待しましょう(笑)
条件としては熱が厳しいと思いますので、電流が半分になればLEDの電力も減りますからね。
IF 500[mA]の時、Vf ≒ 2.2[V]ですから、Q2 のVce(sat)を0.9[V]程度(※1)とすると、電流制限抵抗 R = (5.0 – 2.2 – 0.9)/0.5 ≒ 3.8[Ω] です。手持ちの抵抗からR1〜R3 = 3.3[Ω] とします。
3.3[Ω]にした場合どれだけIFが増えるかは、IF = 500[mA] と仮定すると Vf ≒ 5.0 – 0.9 -3.3 * 0.5 = 2.45[V] 、IF= 600[mA] と仮定すると Vf ≒ 5.0 – 0.9 -3.3 * 0.6 = 2.12[V]になり、おおよそこの2点を結ぶ負荷線とIFカーブの交点が実際に流れるIFになります。IF ≒ 550[mA]程度でしょうか。
・3本並列駆動ですので、Q2のICは 550[mA] * 3 = 1650[mA]になりますが、Q2のドライブには問題ありません。
(※1) ダーリントン接続の場合、Q2のVCE(sat)は、Q2のVBE ≒ 0.6[V]とQ1のVCE(sat) ≒ 0.3[V](バラツキあり)に制限され、VCE(sat Q2) ≒ 0.6 + 0.3 = 0.9[V]ぐらいになります。多分VCE(sat)の実力は0.1[V]程度と思いますので、IR-LEDには、もう少し電流が流れると思います。

・トラブル等でIR-CODE-PULSEが運悪く”H”で止まった場合、IR-LEDは死にます。配線、デバッグには気をつけて。
・趣味の工作なので、一部の部品は定格ギリギリまで使用しています。趣味なら壊れても誰にも迷惑をかけないし、部品交換もすぐ出来ますから。

<STM32F103C6T8 Blue Pillボードの改造>
・Blue PillボードにはUSB端子があります。STM32F103はCDCをサポートしていますので、USB経由で制御することが可能です。ただ、Blue PillはR10の接続を変更した方が良いです。チップ抵抗のR10を外し、代わりに1.5kΩのディスクリート抵抗を適当なGPIO間に接続します。これにより、USB D+のプルアップをS/Wで制御できるようになります。私はPA1に接続しました。この改造でUSBのデバッグが容易にできるようになりました。これをしないと、Raspberry PiにUSBデバイスとして認識させるためには、USBケーブルを抜き差しする必要があり、この時+5V電源も切れるためデバッガが止まる…という悲しい状態に陥りますので、Raspberry PiからUSBで送信するIRコードを制御したい場合は改造した方が良いでしょう。
・ちなみにUARTでも制御できます。最初はUARTだけだったのですが、USBでも制御できた方が便利だなと思い実装しました。ケーブル一本繋ぐだけなので便利です。

USB D+プルアップ抵抗の改造:チップ抵抗R10を外し、代わりにディスクリートの1.5kΩをPA1に接続します。半田付けが汚いのは中国製だから…?



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください