M5Stack Yahooニュース・天気予報・時計に、電波時計 JJY 発信モジュールを追加して、マルチタスクで動かしてみた

m5stack_tr_jjy00 M5Stack

回路シミュレータで、トランジスタとLC共振の挙動を調べて、大まかなパーツの定数を調べておく

まず、前回の記事のLC共振回路に、トランジスタを加えてどこまでアンテナ線電流が増幅できるか、パーツの定数を決めていきます。

使った回路シミュレータは、直感的に使えて、電流の流れがリアルタイムで分かる、Webベースの Circuit Simulator Applet です。

とりあえず、以下のような回路を作ってみました。

この回路シミュレータには CRD ( 定電流ダイオード )パーツが無いので、とりあえずそれ相当の抵抗900Ωに置き換えています。

そして、LC共振回路にトランジスタのエミッタフォロア(コレクタ接地)を追加しました。
トランジスタの hFE ( 直流電流増幅率 ) は 200 に設定しました。

LC 共振回路の後に、サイン波の共振振幅をできるだけ大きくするための 10kΩ抵抗を並列接続させています。
サイン波の振幅を小さくしたい場合は、この抵抗の値を低くすれば良いです。
これは多分、おそらく、「Qダンプ抵抗」と言われるものかと想像しています。

その後、直流成分カット用の 1uF カップリングコンデンサを介してトランジスタのベース端子に接続しますが、共振回路直後のサイン波電圧は、+1.0~-1.0V くらいまで振れているので、サイン波電圧を全てプラス側へシフトさせるためのバイアス電圧というものをかけてやらねばなりません。

そこで、3.3V電源から抵抗を接続して、サイン波電圧を全てプラス側へシフトさせています。
ここは、最初は可変抵抗にして適度な電圧になるように調整した方が良いです。

ただ、この回路はエミッタフォロア(コレクタ接地)なので、バイアス電圧調整はとても難しいです。

実は、バイアス電圧はエミッタ接地回路の方が簡単で、最初はエミッタ接地回路にしていました。
ですが、アンテナコードの波形が逆相になってしまうので、入力電圧と同相のエミッタフォロアに変更しました。

逆相になるとなぜ良くないかと言うと、トランジスタ周辺回路に流れる電流からも電波が放射されるので、せっかくのアンテナコードの電波が打ち消されてしまうためです。

因みに、この Circuit Simulator Applet のワイヤー線を逆方向にマウスで引いてしまうと、シミュレーション波形が逆相になってしまうので注意してください
ワイヤー線も全てマウスで順方向に引いて下さい。

エミッタフォロア回路の場合、特徴として、入力電圧が出力と同相という他、ベース電圧は殆ど増幅されません。
電流だけが増幅されることが特徴です。

ベース端子にバイアス電圧をかけると、ベースとエミッタ間の電圧降下が約0.7V発生します。
それに加えて、エミッタ端子に接続された抵抗の電圧降下が、コレクタ-エミッタ間の電流の大きさによって変化するので、それに伴い、バイアス電圧も変化してしまいます。
調整はなかなか難しいです。

このエミッタ端子の抵抗は可変抵抗にして、実際にオシロスコープで実測しながら、バイアス電圧用の抵抗値を決めると良いと思います。

では、シミュレーションの値を目安にして、パーツの抵抗値を決めて、以下のようにブレッドボードで組んでいきます。

先ほど述べたように、バイアス電圧用と、エミッタ端子のところに半固定抵抗を置いて、オシロスコープで波形を見ながら、アンテナコードに理想的なサイン波形が出るように調整していきます。

アンテナコードには30mA (実効値)程度に抑えた方が良いと思います。
エミッタ端子には大き目の電流が流れるので、可変抵抗の消費電力を超えないように注意します。
30mA程度ならば、1/4Wの半固定抵抗でも良いです。
それでも電波は大して飛びません。
(※電波法違反にならない範囲の電波については総務省のこちらの記事を参照してください。)
M5Stack 自身もかなり消費電力が大きいので、できるだけ電流は抑えた方が良いと思います。

ブレッドボード上で値が決まったら、半固定抵抗の抵抗値をテスターで測って、それに近い固定抵抗に差し替えます。
そして、アンテナワイヤー出力の電圧波形を、オシロスコープで確認しておきます。
結果的に、こんな波形になりました。

前回の記事では、アンテナコードの電流実効値は 2.6mA でしたが、今回は35mA となり、約10倍以上の電流を引き出せました。
サイン波形も悪くないです。

そして、その決定したパーツの定数で再度 Circuit Simulator Applet を修正して、シミュレーションの波形を見てみます。
以下の動画のようになりました。
因みに、シミュレーションの起動初期時やパーツを変更した時は、シミュレーション波形は不安定です
安定するまで時間がかかるので、
「メニュー」→「Other Options 」→「Time step size」
を 500n とかにして、しばらく経ってから 5n に変更すると安定後の波形が見られます。
一番右下の波形表示がアンテナコードの電圧電流波形です。

やはり、実測値とは異なる波形ですね。
シミュレータのアンテナコードの波形ではサイン波になっていません。

実際のパーツの全ての実測値を測ったわけではないし、配線パターンのインピーダンスもありますので、実測値と同じにはならないと思います。
ですが、かなり近い値が出ているので、このシミュレータは私にとってはかなり使えると思いました。

結果的に最終的なパーツと回路は以下のようになりました。
可変抵抗は固定抵抗に差し替えてあります。

電流の多く流れるところは発熱しやすいので、熱による抵抗値の変化が少ない金属皮膜抵抗を使った方が良いです。
私はハンダ付けした時点で誤ってカーボン抵抗を使ってしまいましたが、全部金属皮膜抵抗に替えても良いと思います。

LOWレベル信号ラインは、JJYのHIGHレベル信号の 1/10 に抑えたものです。
この回路は無くても問題ありませんが、私は動作確認用としてLEDを光らせています。
JJY信号の詳細については、以下の記事を参照してください。

ESP32 の GPIO から 疑似的に 日本標準電波 JJY を出してみる実験、第1弾

因みに、この回路を改造したり、ダイポールアンテナなどで電波を発信してしまうと電波法違反になりますのでご注意ください。
この回路の場合は電波を放出するアンテナではないので、電波は10センチも飛ばないと思います。
要するに無線ではない「有線アンテナ?」みたいな感じですね。

回路シミュレータで、ユニバーサル基板的に配置してチェックする

では、パーツの抵抗値等の定数が決定したとして、ブレッドボードからユニバーサル基板に配置していきますが、むやみやたらに作り始めてしまうと、後でメチャメチャ後悔することになるので、再度、Circuit Simulator Applet でユニバーサル基板的に配置して、確認していきます。
Circuit Simulator Applet をユニバーサル基板的に使った過去の以下の記事も合わせてご参照ください。

Circuit Simulator Applet のユニバーサル基板的な使い方

今回はこんな風に作ってみました。

2.54mm間隔のユニバーサル基板をイメージしています。
しかし、これで注意しなければいけないことは、パーツのリード線が5mmピッチのものや、パーツ自身が大きいものがあるので、それもイメージしながら配置していくことです。

それでも、私は「これでOK!」と思いこみ、いざ実際にユニバーサル基板にハンダ付けしていくと、
「もっとこうすれば良かった・・・」
と後悔することが多々ありました。

でも、昔のように最初から作り直すようなこともなく、ほぼ一発で組み立て終えることができたので、効率は上がったと思います。
写真は以下の様な感じです。
ユニバーサル基板はカッターで切れ目を入れて折ってカットし、ピンソケットはニッパ―で必要分をカットして使っています。

実際に組んでみると反省点が多々出てきました。
久々にこういう工作をすると、いろいろなノウハウをすっかり忘れていることに気付きました。
無駄な電波放射を避けるために抵抗の回路ピッチを狭くしたのですが、外箱ケースに収めようとすると、意外に抵抗の高さが障害になることが後で気付きました。
ですから、この写真では微妙な配置になっています。
素人工作なので笑ってやってください。

それと、アンテナコード用の接点を高い位置にしたかったので、画像のように特殊なロングピンソケットを使いました。
ただ、作った後で気付いたのですが、これには欠点があります。
コードの抜き差しを繰り返すと、ハンダ付け部分に力が加わり続けて、ハンダが剥がれる可能性があります。
そういえば、当たり前のことでした・・・。
これはあくまで実験用なので今回はこのまま使いますが、長く使うのならばしっかりしたコネクタにした方が良いと思いました。

反省点は多々あるにせよ、ここまで大きな失敗も無くスムースにハンダ付けできたことは、Circuit Simulator Applet のおかげです。
今回はこれでヨシとします。

アイロンビーズ(パーラービーズ)で外箱ケース作成

適当な小さめの外箱ケースが手元に無かったので、アイロンビーズ(パーラービーズ)で外箱ケースを作ってみました。
以前、以下の記事でセンサ用ケースを作ったことがありますので、作り方等はそちらも合わせてご参照ください。

アイロンビーズ ( パーラービーズ )で簡単手軽なセンサ用ケースを作ってみた

まず、ユニバーサル基板のサイズに合わせて、以下のようなパーツを作りました。
面白い模様のビーズがあったので、それを組み合わせましたが、まるで「霜降り肉」みたいな、ちょっと変な色構成になってしまいました。

これを、上蓋以外を組み合わせて、下図のように組み立てて、角をパッチワーク用こてアイロンで接着します。

Clover NEW パッチワークこて 57-903
クロバー(Clover)
¥4,950(2024/04/26 19:43時点)

そして、基板を入れて、以下のように上蓋で閉じます。
上蓋は接着せずに、そのままハメ込むだけで問題ありませんでした。

そして、以下のようにジャンパーワイヤーとLEDをセットします。

LED の取り付け方法については、、最初はケースの外に出ない設計を考えていたのですが、ケースの外に飛び出ていた方が視認性が良かったので、こうしました。

アンテナコードは先ほど述べたように、ロングピンソケットのハンダ破損の影響を考えられるので、画像のようにジャンパーワイヤーの先で脱着する方式にしました。
そのジョイントは、手持ちの以下の物を使いました。

ELPA ICテストリード 0.5m HK-ICT01H

エルパ(ELPA) ICテストリード テスター 約0.5m 6色 HK-ICT01H
エルパ(ELPA)
¥2,244(2024/04/26 13:12時点)

これは下図の様にスプリングでL字のコンタクト部分が出てくるので、オシロスコープのプローブのように使えて何かと便利です。

これに以下のようなキボシ端子用の絶縁スリーブが手元にあって、このテストリードにサイズがピッタリ合ったのでそれを使いました。
ただ、このスリーブはホームセンターで昔に買ったもので、型番はよくわかりません。

このテストリードからさらに延長する場合、私の場合は使わなくなった古いLANケーブルを解体して、下図の様に2mコードとして接続しました。
これで、ちょっと遠くに離れた電波時計も受信可能になります。

では、次では M5Stack 側のプログラミングを説明していきます。

コメント

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