JLCPCBに表面実装部品の実装までお願いしていた基板が届きました。さーて動作するでしょうか。
実装してもらった信号機検出器について、詳しくは以下の記事をご覧ください。
JLCPCBから基板が届く
いつもよりも大きな箱で届きました。実装済みの基板はオリジン弁当のパンパンのおにぎりのように、帯電防止プチプチとラップでぐるぐる巻です。衝撃があっても絶対安心な感じです。
基板を取り出してみます。なんて素晴らしいのでしょう。すでに部品が実装されています。いつもであれば、自分で部品を実装しないといけないのですが、実装済みです。
2020サイズのWS2812Bですが綺麗に実装されています。ピッチの狭いUSB-Cコネクタもブリッジなくとても綺麗でした。
JLCPCBのPCBAサービスとてもいいですね。安価に実装までしてもらえちゃいます。
組み立て
基板の背面には光センサ1つだけだったので、実装はお願いせず自分でリフローして取り付けます。表の面は普通の鉛フリーはんだなので、はんだの溶ける温度が175度。裏に使うはんだを低融点鉛フリーはんだにします。低融点鉛フリーはんだの最大温度は165度なので、表のはんだに影響を与えずリフローすることができます。
DIP部品も取り付けます。ボリウムとピンソケットです。
完成しました!表面実装部品まで自分で実装したら1日がかりの作業が、1時間程度で終了です。PCBAサービス本当に楽でいいですね。
動作テスト
うーん。正常に動作していません。100Hzの波形が出力されるはずなのですが、500Hzで発振しています。またオペアンプから出力されるオフセット電圧も1V程度ズレています。
素性のわからないLM358のコピー品オペアンプを使っていたので、手持ちの試作で使ったLM358のコピー品オペアンプへ交換します。
500Hzの発振は止まったのですが、不規則に信号が出力されます。
オペアンプのオフセットバイアス電圧を生成している回路は、電源を抵抗で分圧しただけで、安定化用のコンデンサは実装しませんでした。というのも、電源電圧が変動したときにバイアス電圧も一緒に変動することで、出力信号に影響が出ないようにするためです。
ここに1uFのセラミックコンデンサを追加してみます。
不規則な信号が止まりました。今回はマイコンも接続されているので、コンデンサを入れておいた方が良かったようです。
WS2812Bを点灯させてみる
この基板にはWS2812BのネオピクセルLEDが14個搭載されています。CH552のプログラムを書いて、これらのLEDを点灯させてみようと思います。
が、点灯しません。
CH552からは制御信号が出力されていることは確認できます。
基板の設計データを見てみましょう。
あ゛あぁ〜 WS2812BのDINとDOUTのピンが反対に接続されています。デバイスの登録時にデータの入力と出力ピンを間違えて登録してしまったようです。
WS2812Bは直列にLEDが接続されているので、最後のLEDのDINに信号を入れれば、接続されているLEDの順番は逆になってしまいますが点灯させることができます。
しかしながら、WS2812Bの2020パッケージはパッドが背面にあり、後からはんだ付けすることができません。そこで、最後から2番目のWS2812BのDINの配線にCH552マイコンの出力を接続することにしました。
無事にWS2812Bが点灯しました!最初の1つは点灯しませんが、とりあえず他は点灯するようになりました。
ネオピクセルは、後から色を自由に変更できて楽しいですね。
プログラムを作る
BPFの交流波形の大きさに応じて、WS2812Bをレベルメーターのように表示するプログラムを作ります。
プログラムは上のフローチャートのようになっています。
フィルタの出力をA/Dします。サンプル数は取得時間は150msくらいにするために4000サンプルにします。
交流波形のオフセット値を得るために、A/D値を積算します。
次に交流波形の積算値を得るために、A/D値から過去のオフセット値(平均値)を引き、絶対値を計算して加算していきます。
4000回計算が終わったら、A/D値の積算値から平均値を算出し過去のオフセット値として保存します。また、交流波形の積算値によってLEDをレベルメータのように点灯させます。
動作させてみよう!
右手に持っているのは、信号機を模擬して作った100Hzで点滅するライトです。光の向きを変えることで信号機検出器への光の強さを変えます。
奥のオシロスコープの波形が、100Hzのバンドパスフィルタの出力波形です。
左手に持っているのが、100Hzの光の強さで色が変わる信号機検出器回路です。光が弱いと赤く、強くなるに従い黄色、緑、水色と色が変わります。
光源がセンサに近く反応しやすいために、光軸をずらして感度を下げて実験しています。
光の強さに応じて、LEDの色が変わっていますね。レベルメータが正常に動作することが確認できました。
JLCPCBのPCBAのおかげで、表面実装部品を自分で実装することなく、実験まで楽に進むことができました。
さて次回は、実際に信号の近くに持っていって、信号機の光を検出できるか実験してみようと思います。
2024.1.21 続きはこちら
この機器のこれまでの履歴は以下のようになっています。
コメント