2024年07月07日

GreenPAKで遊ぶ(その8)導通チェッカ(その2)

 前回の記事で SLG46826 単独で何か有用なツールを作りたいということで GreenPAK Designer て導通チェッカを設計してみました。中々実用的なものができたのでプリント基板化して実際に作ってみましたので記録に残しておきたいと思います。自分のためのメモも兼ねて後日参照し易いようにパターン図や部品実装後の写真も掲載します。


1.導通チェッカの仕様
 今回作成した導通チェッカを Conchecker と命名しました。主な仕様は次のとおりです。
  1. 電源として3Vのボタン電池(CR2032)を1個使用
  2. 被測定側への印加電圧は約 0.5V
  3. スリープ時の消費電流は約 0.3uA
  4. スリープ状態時にプローブをショートすることでウェイク状態に移行する
  5. ウェイクから30秒後にスリープ状態に移行する
  6. 被測定の抵抗が80Ωより小さい場合、ブザーを鳴らし(500Hz)、更に38Ω以下でブザーの音色を変える(1kHz)
    ※スリープ状態でもプローブに80オーム以下の被測定物が接続されるとウェイクします
  7. 電池の電圧が低下した場合はウェイク時に基板上の LED が1秒間隔で点滅する

2.回路設計
 下図が GreenPAK Designer で設計した回路です。被測定物が接続された状態の電圧をコンパレータ2個で判別しています。CMP2L は電源電圧監視用です。

GreenPAK Designer で設計した回路

 プリント基板作成のために書いた回路図が下図です。

プリント基板作成用回路図

3.プリント基板のパターン設計
 回路的にはシンプルなのでパターン設計は楽です。グランドベタ化前の両面のパターンが下図になります。

プリント基板の両面パターン(グランドベタ化前)

 下図はグランドベタ化後のトップ面のパターンです。SLG46826 を含め、主要な表面実装部品はトップ面に配置しました。

トップ面のパターン

 下図はボトム面のパターンです。ボタン電池ホルダと電源用コンデンサをボトム面に配置しています。中央にあるのは逆さになっていますがいつも使っているロゴです。

ボトム面のパターン

 下図は3D表示したプリント基板のトップ面です。

3D表示(トップ面)

 ボトム面の3D表示が下図になります。

3D表示(ボトム面)

4.部品実装
 今回も JLCPCB さんに製造依頼しました。10cm x 10cm 以内のサイズのプリント基板を5枚製造するのが2ドルででき、送料(0.96ドル)とPayPal Fee(0.5ドル)の合計で3.46ドルでプリント基板が作れるので円安ではありますが、いい時代になったものです。CNCで切削するより奇麗なので最近はCNCが稼働していません。

 下図が部品実装後のトップ面です。

部品実装後のトップ面

 下図が部品実装後のボトム面です。上記の3D表示ではコネクタをトップ面に実装するようになっていましたが、電池ホルダが結構厚いのでコネクタ(丸ピンヘッダを流用)はボトム面に実装することにしました。左上のコンデンサと電池ホルダが少し緩衝したのでホルダを若干削りました。

部品実装後のボトム面

 部品実装後の動作チェックで次の問題が発生し、対処しました。前回の記事で追記したように後追いで電池の電圧低下を検出する機能を追加しましたが、ブレッドボードで動作確認していませんでした^^;

[問題]
 スリープ時の電流が 70uA 程度発生している(目標値は 0.3uA )
  • 原因1
     スリープ時に圧電素子に3V印加され電流が増大していた
    ⇒対処としてスリープ時は圧電素子に電圧が掛からないようにした。この対処でスリープ時の電流は 10uA 程度になった。

  • 原因2
     電池電圧低下警告LEDの点灯用デジタル出力ピンをスリープ時に Digital in の状態にしていたが入力が浮いている状態で電流が増加していた。
    ⇒対処としてスリープ時は Analog input の状態にすることでスリープ時の電流値が想定値である 0.3uA になった。

5.ケース設計
 ケースは本体部とキャップ部の2ピース構成とし、ネジなどは使わずはめ込み式にしました。圧電素子とテスタのプローブには半田付け作業時に発生する抵抗などのリードを半田付け後、ホットボンドで固め、基板上の丸ピンヘッダに接続するようにしました。プローブはタイラップで縛り、抜けを防止しています。

ケース設計時のCAD画面

 完成した状態の写真が下図になります。電池切れ警告の LED を基板上に実装した関係で透明の PETG フィラメントでケースを造形しました。透明フィラメントなのでロゴはほとんど見えませんね。

導通チェッカの完成写真

6.まとめ
 SLG46826 を単独で使用して何か有用なツールを作ろうということで導通チェッカを作成してみました。導通チェック時は今までテスタを使っていましたが、今回の物は抵抗値により2種類の音で反応する等、実用的なものができたのではないかと思います。
 また、従来マイコン関連のボードを開発する際、IC 数削減のため GAL を使う場合がありました(例えばこれ等)が GAL は消費電流が大きいことが難点でした。SLG46826 は低消費電流なので今後活用できるケースが多いのではないかと思います。



[TOP] [ 前へ ] GreenPAKで遊ぶ [ 次へ ]
posted by skyriver at 09:14| Comment(0) | GreenPAK | このブログの読者になる | 更新情報をチェックする

2024年06月22日

GreenPAKで遊ぶ(その7)導通チェッカ

 SLG46826 単独で有用なツールを作るとしたら何がいいか考えてみると動作の柔軟性からしてマイコンにはかなわないと思ってしまいます。マイコンはソフト制御なので動作に柔軟性がありますが、ソフト作成の手間がかかる(でもソフト作りは楽しい)し、電池駆動の場合、スリープ時の省電力化にも気を使います。逆に SLG46826 であれば、回路作成は必要ですがソフトが不要であり、省電力化もあまり気を使わなくてもよさそうです。
 試しに簡単な回路でコンパレータ等の使用コンポーネントをパワーダウン状態にして消費電力を測定してみました。テスタの uA レンジで測定したので精度は高くないと思いますが待機時の消費電流は 0.2uA 程度でした。最初、簡単に 0.2uA とは中々凄いと思いましたが、I2C 接続を外したら 10uA 以上だったのであぁ I2C ピンから給電されていたのかと一旦落胆し、その後 I2C ピンをプルアップすることで 0.2uA に戻ったので電池駆動の導通チェッカを設計してみることにしました。


1.導通チェッカの仕様
 回路チェック用導通チェッカと言えば ChaN さんの回路内導通チェッカが有名ですが、これを参考にして次の仕様にしました。
  • 電源は3Vのボタン電池(CR2032)を使用する。
  • 被測定側への印加電圧は 0.5V 程度とする。
  • 60秒間程度操作が無い場合、自動的にスリープ状態に移行する。
  • スリープ状態時にプローブをショートすることでウェイク状態になる。
  • 80Ωより小さい場合、ブザーを鳴らし(500Hz)、更に40Ω以下でブザーの音色を変える(1kHz)。
 上記の感度はもう少し低い抵抗値にしたかったのですが、コンパレータのリファレンスの最小値が 32mV であることから上記の値にしました。コンパレータはリファレンスを 32mV のものと 64mV の二つ使用することにしました。
 また、ウェイクアップ用の専用のスイッチを設けずにウェイクアップするために、プローブへ給電する分圧抵抗のグランド側をデジタル出力で駆動し、スリープ時は入力に切り替えることで、プローブ短絡時の立下りエッジでウェイクアップするようにしました。これによりウェイクアップのスイッチを省略しています。


2.回路設計
 設計した回路を下図に示します。OSC0 で 1kHz と 500Hz のブザー用の矩形波を作り、LUT0 でコンパレータの出力により音を切り替えています。CNT1 を one shot モードで動かし、アクティブ(ウェイク状態)で二つのコンパレータと OSC0 をパワーオン状態にしています。

導通チェッカ回路

 外部回路である被測定部分では V3 の矩形波出力で 50 Ωの抵抗をオン/オフ制御することでチェック対象の抵抗値の変動をシミュレーションしています。FET を使いたかったのですが想定通り動かすには色々パラメータの設定が必要そうだったのでトランジスタに変更しました。
 下図がシミュレーション結果です。被測側が 50 Ωパラ接続の状態でブザー用の PIN 19 に 1KHz が出力され、50 Ω単独では 500Hz が出力されていて想定通りの動作になっています。

導通チェッカのシミュレーション結果

★追記 2024/06/24 {
 回路図を追記します。右端の部品はボタン電池(CR2032)のホルダです。

導通チェッカ回路図
}

3.まとめ
 SLG46826 を使ってスリープ機能付き、かつプローブ操作でウェイクアップする導通チェッカが割合簡単に設計できました。テスタで実測した結果、スリープ時の消費電流は 0.2uA 程度でした。今回の作業で感じた SLG46826 の長所と短所を列挙すると
  • 長所
    1. uA 以下の小電流での待機状態を容易に実現できる。
    2. ソフトの作成無しにある程度の動作を実現できる。
    3. 簡単な外部回路もシミュレートできるので動作確認が容易である。
  • 短所
    1. ソフトウェアのような柔軟な動作の作りこみが困難である。
    2. one shot をリトリガラブルにできない(未発見の実現方法がある?)。
    3. 再書き込み可能なチップの選択肢が少ない(今回の用途ならもっとピン数の少ないチップを使いたい)。
 上記の短所 ii のため、導通チェック中に one shot が終了した場合、一瞬ではありますがプローブに 3V が印加される可能性があります。これによりチェック対象の回路が破壊されることはまず無いとは思いますがこの点については未解決のままです。
 尚、コンパレータのリファレンス電圧を 32mV と 64mV に設定しているので計算上は下記のように 80 Ω以下でブザーが鳴り、38 Ω以下でブザー音が高くなるはずです。

 64mV:80 Ω = 0.064/((3-0.064)/3.3-0.064/0.68)
 32mV:38 Ω = 0.032/((3-0.032)/3.3-0.032/0.68)


★追記 2024/06/24
 SLG46826 の機能が余っているので、ボタン電池の電圧が 2.56V 以下になった際に2秒周期で点滅する電池切れ表示用LEDを追加しました。

電池切れLED付き導通チェッカの設計回路 Ver0.02

電池切れLED付き導通チェッカ回路図 Ver0.02

★追記 2024/06/25
 この導通チェッカを手配線で作成しようと思いましたが、ピッチが狭いのでプリント基板化することにしました。背面に背負っているのはボタン電池ホルダです。

電池切れLED付き導通チェッカ基板の3D表示 Ver0.02


[TOP] [ 前へ ] GreenPAKで遊ぶ [ 次へ ]
posted by skyriver at 09:20| Comment(0) | GreenPAK | このブログの読者になる | 更新情報をチェックする

2024年06月10日

GreenPAKで遊ぶ(その6)逐次比較型A/D変換

 前回の記事で電子サイコロを作り、暫く習作はいいかな~と思っていました。しかし SLG46826 関連の情報をネットで見ていたところ、Single Slope Converter を見つけました。A/D変換の無いマイコンでCRでの充電 or 放電時間を計測して簡易的な A/D にする手法と同様にA/D変換が無い SLG46826 でCRの立ち上がり時間の長さをカウントすることでA/D変換するという試みです。※2024/07/30 文章を一部を修正

 しかし、SLG46826 であれば、抵抗のラダー回路を付けてD/A変換を付加すれば、逐次比較型A/D変換も実現できるのでは・・?


1.今回の課題
 SLG46826 で4ビットの逐次比較型A/D変換を実現します。実用性はあまりありませんがパズルとしては面白そうですね。GreenPAK はある意味、現代版の電子ブロックと言えるかもしれません


2.基本設計  処理内容はおおよそ次の通りです。
  1. D/A用のデータをゼロクリアする。
  2. D/Aデータの確定対象ビットをMSBとする。
  3. 被測定電圧(+側)とD/A出力の比較結果(コンパレータの出力)をD/Aデータの確定対象ビットに出力する。
  4. コンパレータの出力を再度確定対象ビットに出力する。
  5. 確定対象ビットをLSB側に1ビットずらし、3,4を繰り返す。
  6. LSBが確定するまで上記処理を繰り返す。
  7. 確定したD/AデータをA/D変換結果として外部出力用 D-FF に保存する。

3.回路設計
 設計した回路を下図に示します。外部のラダー回路も描くことでシミュレータで確認できるので GreenPAK Designer は便利ですね。

逐次比較型A/D変換回路

 タイミング制御用の信号は割合少ないリソースでできたのですが、ラッチが多く必要だったこともあり、下図のように機能要素(コンポーネント or マクロセル)の余りは殆ど無い状態です。

機能要素の使用状況

 シミュレーション結果を下図に示します。上から4段目までがD/Aデータ用 D-FF のクロックです。前述のように1回のA/D変換でコンパレータの出力を2回ラッチします。一番下が試験用のランプ出力の電圧源からの被測定信号です。

逐次比較型A/D変換シミュレーション結果(その1)

 シミュレーション結果の後半が下図です。一番上がD/Aの出力でA/D変換時の変化する様子が面白いですね。2番目以降の4つがA/D変換結果のMSBからLSBまでの4ビット分のデータです。
 このシミュレーションではA/D変換が6回実行されていてそれぞれの結果が、01H, 03H, 06H, 09H, 0BH, 0DH になっています。

逐次比較型A/D変換シミュレーション結果(その2)


4.まとめ
 無謀にも SLG46826 で逐次比較型A/D変換にチャレンジしましたが、なんとか実現できました。最初から「できそうだよなぁ」という感覚はありましたがリソース的にここまで余力がなくなる状態になるとは思いませんでした。最悪は出力データでのヒゲの発生を許容して、D/Aデータのクリア期間が最短になるようにして外部出力用ラッチを省くという対策案も考えていました。
 今回の逐次比較型A/D変換自体は実用的なメリットはあまりありませんが、非常に面白いパズルでした。冒頭にも書きましたがまさに現代版電子ブロックですね。


★追記 2024/06/09
 X(旧Twitter)に投稿したメッセージに添付した動画を貼っておきます。


[TOP] [ 前へ ] GreenPAKで遊ぶ [ 次へ ]
posted by skyriver at 21:41| Comment(0) | GreenPAK | このブログの読者になる | 更新情報をチェックする