ESP32 を使って LC共振回路の理解を深め、電波時計をガッツリ合わせてみる実験

ESP32 ( ESP-WROOM-32 )

こんばんは。

今回は、2年以上前に作った、ESP32 ( ESP32-WROOM-32 )を使った電波時計合わせ回路のリベンジをしたいと思います。

その時は AD9833 などのサイン波発生ドライバーチップを使っていましたが、ある熟練者の方から、チップなど使わないでもインダクターとコンデンサだけの共振回路で 40kHz のサイン波は作ることができる、と指摘されました。
しかし私は、共振回路については学生時代や資格試験で勉強はしたものの、良く分かっていなかったので、しばらく放置していました。
でも、ずっと頭に残っていたので、今年こそはリベンジしようと思い至りました。

ということで、今回は ESP32 ( ESP32-WROOM-32 )の GPIO からパルスを出力させて、LCR ( インダクター、コンデンサ、抵抗 ) 等のパッシブパーツ(受動素子)だけで回路を組んで 40kHz のサイン波を作り、市販の電波時計を合わせる実験をしたいと思います。
トランジスタやFETなどのアクティブパーツは一切使わずに、どこまでできるかという挑戦です。

スポンサーリンク

結果、たったこれだけの簡単なパッシブ回路で、かなりキレイなサイン波を作ることが出来、バッチリ、ガッツリ、市販の電波時計が合ってくれる回路ができました!!!
AD9833 のようなICチップは不要です!!!

そして、今回の最大の収穫は、私の大の苦手だったLC共振回路の理解が急速に深まったのです。
これがわかれば、タイマーIC555などでサイン波を作ることができると思いますし、回路のグランドループノイズ対策や、モーター、ソレノイドなどのノイズ対策もイメージが湧きやすくなったと思います。

今回の実験は、私のように共振回路の理解に苦しんでいる方々の助けになったら嬉しいなと思います。
ですが、複雑なベクトル計算はここでは一切しません。
もちろん、それを予め理解しておいた方がより一層良いと思います。

今回はパーツをいろいろ変えたり、オシロスコープで波形を見ながら共振を直感的に体感できると勝手に思っています。
一度、共振の理解に気付くと、

「あー! そういうことか!!!」

となるんではないでしょうか?
ということで、これからいろいろ説明してみたいと思います。
ただし、ド素人的な考察ですので、熟練者の方が読むと、多分、アホらしくなると思います

一つ念を押しておきますが、今回の実験では10センチも電波は飛びません。
ワイヤーに 40kHz のサイン波電流を流して、その付近に置いた電波時計が受信できる程度のものです。

ダイポールアンテナ等で遠くへ飛ばすような、電波法違反になるような物は作りません。
というか、アマチュア無線の免許さえ持っていないので、基地局を作ることができません。
因みに、電波法に違反にならない微弱無線については以下の総務省のホームページを参照してください。

https://www.tele.soumu.go.jp/j/ref/material/rule/

ここに書いてあることを改造して、電波法違反のものを作っても当方では一切責任を負いません。

因みに、何度も申し上げておりますが、私は無線や回路、プログラミングについては独学アマチュアの素人です。
この記事は自己満足で書いております。
誤りや勘違い等があるかも知れません。
もし何かお気づきの点があれば、コメント投稿欄等でご連絡いただけると助かります。

その後、PWM ( LEDC )ライブラリ関数を使えば、このソースコードよりも格段に安定した 40kHz パルスを出力できることが解りました。
以下の記事も合わせて参照してください。
(2019/04/04)

https://www.mgo-tec.com/blog-entry-ledc-pwm-arduino-esp32.html

 

    【目次】

  1. 共振回路を今さらながら実験することなった理由
  2. コイルなどのインダクターは苦手すぎで避けていた
  3. 使用したもの
  4. Arduino – ESP32 を予めインストールしておく
  5. Arduino 標準 Time ライブラリをインストールしておく
  6. 共振回路を理論通りに作ってみる
  7. マイコンを故障させる恐れのあるダメ回路で、敢えて共振回路の挙動を見てみる
  8. 保護ダイオードで、共振回路から ESP32 の故障を防ぐ
  9. 共振回路ってそういうことだったのかー! と突然、理解できるようになった
  10. 電波を飛ばすには、電圧だけ高くてもダメ。結局は電流を流さないと飛ばない
  11. 特性の良い共振回路に重い負荷を接続して電流を大きくすると、波形が崩れる
  12. RC ローパスフィルタを入れてみる
  13. さらに強力な LCR ローパスフィルタに替えた最終決定回路
  14. 電波時計を合わせるためのプログラム(スケッチ)入力
  15. コンパイル書き込み実行
  16. アンテナ用ワイヤーと電波時計の設置方法
  17. まとめ

共振回路を今さらながら実験することなった理由

2年以上も前、以下の記事で ESP32 で電波時計を合わせる実験や工作をしました。
以下の記事です。

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

ESP32 で 市販の 電波時計 を合わせてみた

波形発生器( AD9833 ) と ESP32 でサイン波を発生させ、電波時計を合わせる実験

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

最終的に完成したのは、AD9833 というサイン波発生ドライバーチップを使った工作でした。
個人的にはこれで十分完成していて、もう電波時計関連工作は完結したと自己満足していました。

ですが、ある日、とある熟練者から、
「LCR回路だけでサイン波は作ることができる」
とのご指摘を受けました。
でも、その時はインダクターや共振回路が大の苦手で、あまりちゃんと理解しておらず、もう一度勉強する気力も無かったので、その時は回路の再実験はせず、そのまま放置していました。
この約2年間、そのことがずっと頭の奥で引っかかっていたので、今年こそはリベンジして、回路を組んでみようと思った次第です。

ところでみなさん、こんなこと言ったら失礼かもしれませんが、LC共振回路ってちゃんと理解していますか???

私は学生時代に習って、机上の計算で頭では理解したつもりになっていました。
社会人になって資格試験で勉強しても、同じく頭では理解したつもりになっていました。
それで、中高年の今を迎えています。

今、改めてその計算をやろうとすると、あまりにも小難し過ぎて、心が折れますね。
できるだけ見たくない計算式です。

そんな状態で、いざ、自分で回路を作って電波を飛ばしてみようと思った時、どうやって組んだら良いのかサッパリ分かりません。

Webや書籍の回路図を見ても、電波発信回路の肝心のところがよくわかりません。
(そもそも無線の書籍はあまり持っていませんが・・・)

マイコンの GPIO からの四角い矩形パルス波(方形波)をフィルタ回路で鈍らせて、サイン波に近づけるくらいならば想像はできます。
ですが、Webや書籍でよく見る送信回路には、必ずと言ってよいほど矩形波パルスの先にLC共振回路があるのです。

そう! フィルタではなく、共振回路を使っているのです!

もう一度言います。
フィルタではないんです。

いや、共振回路がフィルタの一種だと言われればそうかも知れません。
が、RCローパスフィルタとは明らかに振る舞いが異なるんです。
ですから、私の頭ではフィルタではないと勝手に思っています。
(バンドパスフィルタ―にはなります)

この辺が
「なぜ?」
っていう感覚なんです。

実際に回路を組まない状態で、机上の計算と頭の中だけのイメージだと、共振回路ってとっても不思議な現象という感覚で一杯になってしまいます。
L成分とC成分インピーダンスが相殺されて延々と振動し続けるっていうことは、普通に考えてどうも理解不能だったんです。
もちろん、計算式やベクトル複素数計算などの理解が必要なことは分かっています。
ですが、それを机上の計算で理解した気になっても、実際に回路を組んだことが無いので、やっぱり不思議なものは不思議なんです。

電波送信器の回路図を見ると、なぜここで共振回路が必要なのか?
という肝心要のところがどこも書いてありません。
そんなものは基礎的過ぎて、当然だからですかね?

そもそも今まで電子工作をしていて、ラジオ製作やアマチュア無線をしておらず、共振回路を作る必要性が全くなかったのです。
そりゃ、延々と理解できませんですな。

今回のように、素人なりにもブログで記事を書いて、熟練者の方から指摘されないと、永遠に共振回路を避けて電子工作をしていたと思います。
良い切っ掛けをいただきましたので、その方には本当に感謝しています。
m(_ _)m

コイルなどのインダクターは苦手すぎで避けていた

共振回路を考える前に、まず私はコイルやインダクターが大の苦手で、できるだけ回路には使いたくありませんでした。
使ったとしても、コモンモードノイズ除去くらいでしょうか。

なぜかと言うと、マイコンの回路に繋げると、意図しない電圧が生じて、マイコンを破壊しかねないからです。

ですから、モーターやリレー、ソレノイドはなかなか使えず、避けていました。
以前、コイルを何となく使った時に、マイコンを壊してしまったことも有った為です。

コンデンサについては、意図しない変な起電力が生じず、交流信号の振る舞いもわかりやすいです。高周波はよく通すけど、低周波は通しにくく、フィルタとして使いやすく、よく使っています。

ですが、コイルやインダクターの場合は、交流信号に並列に繋いだ時には特に奇怪な振る舞いをします。
矩形波パルスのように、電位が急にHIGHになったり、LOWになったりする時に、逆方向に起電力が生じてしまうんです。
これが厄介で、私は今まで回路にインダクターを入れるのを敢えて避けていました。

そして、書籍などの回路説明では、インダクターを使うと意図しない共振が現れる可能性があると書かれているのをよく目にします。
コイルやインダクターを使わなかったとしても、配線を長くしたりするとコイルと同じ現象が現れて共振ノイズが出るというものもよく目にします。

共振ノイズを防ぐためには、配線を短く太くして、コンデンサのフィルタで除去すればOKみたいな感じで書いてあって、コイルやインダクターは常に悪者的に見ていました。

そんなことから、私にとっては、コイルやインダクターは出来るだけ使わない方が良いパーツという、固定観念ができてしまったんだと思います。

ですが、今回共振回路を自分で作ってみて、インダクターの挙動が良く分かり、とっても有効なパーツだと新たな発見をしました。
積極的に使ってみないと、永遠に苦手のままで終わっていたと思います。

では、いよいよ実際に共振回路を作って実験してみたいと思います。

使用したもの

ESP32 ( ESP32-WROOM-32 )関連マイコンモジュール

Espressif Systems 社製の Wi-Fi & Bluetooth デュアルコアマイコンを搭載し、日本で使用できる技適を取得した ESP32-WROOM-32 や、M5Stack等の以下のモジュールならばどれでも実験できます。
私は今回はスイッチサイエンス製の ESPr Developer 32 を使いました。
ESPr Developer 32 のレビュー記事は以下を参照してください。

ESPr Developer 32 ( スイッチサイエンス製 ) を使ってみました

ESPr Developer 32 ( スイッチサイエンス製 )

ESPr Developer 32
スイッチサイエンス(Switch Science)
¥2,200(2021/09/09 23:54時点)

ESP32-DevKitC ( Espressif Systems 社製 )

M5Stack

M5Stack Basic
スイッチサイエンス
¥5,203(2021/09/09 23:54時点)

M5Stack Gray(9軸IMU搭載)
スイッチサイエンス

定電流ダイオード ( CRD ) E-103 2個

10mA のものが2個必要です。
ESP32 マイコンの GPIO への電流を制限します。

SEMITEC 定電流ダイオード(10mA・2本入) E-103
SEMITEC
¥337(2021/09/10 01:42時点)

ショットキーバリアダイオード ( SBD ) 11EQS04 1個

手持ちの物を使いました。
共振回路による逆電圧から保護するために使います。

秋月電子通商さんで販売しています。
http://akizukidenshi.com/catalog/g/gI-08998

LED ( 発光ダイオード) 1個

5V程度のもので、順方向電圧降下 ( VF ) が2.1Vのもので良いです。

ドクターラボ LED with 抵抗 4色 5V用
Generic
¥700(2021/09/10 03:09時点)

赤色のダイオードが良く光って良いと思います。

秋月電子通商さんの以下のダイオードでも良いと思います。

http://akizukidenshi.com/catalog/g/gI-11577/

半固定抵抗 3362P 100kΩ 0.5W 1個

半固定ボリュームとも呼ばれています。
JJY 信号の LOWレベルを作るために使います。

秋月電子通商さんで販売しています。
http://akizukidenshi.com/catalog/g/gP-03283/

積層セラミックコンデンサ 0.1uF 50V 4個

よく使う 0.1uF セラミックコンデンサです。
とりあえず、手持ちで 50V のものがあったのでそれを使いました。
4個必要です。

積層セラミックコンデンサ 0.01uF 50V 1個

秋月電子通商さんで以前買ったものを使っています。

http://akizukidenshi.com/catalog/g/gP-08138/

積層セラミックコンデンサ 0.01uF 50V 1個

秋月電子通商さんで昔買ったものを使っています。

http://akizukidenshi.com/catalog/g/gP-08150/

マイクロインダクター 100μH 2個

100 uH のものが2個必要です。

1/4W 100μH ±20% アキシャルリードインダクタ 20本入 <hen-335>
札幌貿易(Sapporo Boueki)
¥143(2021/09/10 04:07時点)

秋月電子通商さんでは以下にあります。
http://akizukidenshi.com/catalog/g/gP-03966/

抵抗 10Ω 1/4W 1個

抵抗 30Ω 1/4W 1個

φ0.65mm ビニル電線(単線)

ブレッドボードに挿せる、単線ワイヤーです。
ジャンパーワイヤーとしても使用できます。
アンテナ線として、1mくらいで使用します。

ブレッドボード

サンハヤトの SAD-101 がおススメです。

サンハヤト SAD-101 ニューブレッドボード
サンハヤト
¥518(2021/09/09 23:59時点)

オシロスコープ

測定する周波数は 40kHz なので、最低でもその10倍以上のサンプリング周波数のオシロスコープが必要です。

私は 100MHz 級のものを使いましたが、25MHz でも今回はOKだと思います。
これが無いと、微調整は難しいと思います。

可能ならばインピーダンスメーター

後で紹介しますが、これは無くても何とかなります。
かなり高価ですからねぇ・・・。

WiFi インターネット環境等

2.4GHz帯のWi-Fiで、インターネットに接続できる環境が必要です。
ESP32 が接続できるように、ファイアウォール設定を済ませておいてください。

MACアドレスフィルタリングをかけている方は、以下の記事を参照して、MAC アドレスを確認しておいてください。

ESP-WROOM-32 ( ESP32 ) チップ・メモリ・MACアドレス情報取得方法

その他、パソコン、USBケーブル、

コメント

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