eucaly が 2024年05月21日18時00分50秒 に編集
初版
タイトルの変更
リクシルの電気錠を何とかしてみたい(デバッグ編)
タグの変更
IoT
KiCad
ホームオートメーション
メイン画像の変更
記事種類の変更
製作品
ライセンスの変更
(MIT) The MIT License
本文の変更
この記事の続き、です。 https://elchika.com/article/95b1e860-a1fe-42f4-b527-5bba3fbb2037/ えぇ、、、作ってみたはいいものの、マトモに動かなくて。 デバッグしていこうかな、と。 # 15V時の消費電力が大きいよ問題 手持ちの定電圧電源で電荷を掛けると、なんか12V近辺から消費電流がモリモリ上がり、15Vあたりで0.1Aとか流れてしまいます。 回路的には、LED点灯してるだけなので、せいぜい10mAくらいしか流れないはず、なのですが。 ま、検討用と称してステキな電源と、あとダイオードとか適当に八潮で買ってきました、ツーリングの帰りに・・・。  ブレッドボードに単品回路をちょこちょこ乗っけて、検証していきます。  当初疑っていたダイオード回りは問題無かったようで。。。 トランジスタのベースに電荷を掛けてみたところ。  あらあら、、、これが原因ぽいです。 なんで起きてるかはとりあえず置いておいて、トランジスタのベースに対して、電流制限を掛けることで対応することに。 2.2kの抵抗を突っ込んで。  本件解決、と!。  # ブリッジダイオード壊れちゃった問題 基板デバッグ時にやらかしたのか、ブリッジに使っていたダイオードが飛んじゃいました。 使っていたのは、1N4148てやーつ、まあ激安の汎用品でした。 基になっているパナの基板見てみると、「S4 1A」と刻印のあるSMAパッケージなダイオードが使われています。 同じようなのに換装しておきました、SBR1A40SA、というショットキーバリアダイオードに。 いまんとこ安定して動いてます。 # 9V以下で「開扉」が反応しちゃう問題 ツェナーダイオード、9.1V品を使っていたのですが、ターゲット電圧に近すぎるのが問題っぽく。 ツェナーダイオードを12V品に交換することで対応な感じ!。 # 5V以下で「解錠」が反応しちゃう問題 上の対応と同じくツェナーダイオードを、、、といきたいのですが。 手持ちがありません!。 なのでここは、プルダウン追加で誤魔化すことに。 ブレッドボードでこちょこちょ弄り、「2.2k」なプルダウンで成り立つことが判明。 追加!。 # テスト用プログラム 回路的に成り立ったので、テスト用のプログラムをサクっと。 ```keytest.ino byte state_unlock = 0; byte state_open = 0; byte state_switch = 0; void setup() { pinMode(2, INPUT_PULLUP); // Unlock pinMode(3, INPUT_PULLUP); // Open pinMode(4, OUTPUT); // Key pinMode(5, INPUT_PULLUP); // Push-SW pinMode(8, OUTPUT); // LED Unlock pinMode(9, OUTPUT); // LED Open pinMode(10,OUTPUT); // LED Key } void loop() { state_unlock = digitalRead(2); state_open = digitalRead(3); state_switch = digitalRead(5); if (state_unlock == 1) { digitalWrite(8, LOW); } else { digitalWrite(8, HIGH); } if (state_open == 1) { digitalWrite(9, LOW); } else { digitalWrite(9, HIGH); } if (state_switch == 0) { digitalWrite(10, HIGH); digitalWrite(4, HIGH); delay(500); } else { digitalWrite(10, LOW); digitalWrite(4, LOW); } delay(50); } ``` # 動作確認 無事、動いてるっぽい!。  # 実機で確認 無事に動作!。  点滅することもなく、直流で信号を拾えています。 Spiceでの計算通り、信号断絶からほぼタイムラグ無く消灯してくれます、ステキ!。 解錠操作もばっちり動作!、これでWifi経由で色々悪さできる下地ができました!、とさ。 # データ 一応、完成品状態の回路図と基板を上げておきます。   *実際の制作の採用抵抗器は、DIN0204 (ユニバーサル基板の穴、3つ分のやつ)のため、基板には余裕があります。 *追加抵抗器はDIN0204で描いています。 # さいごに いやあ、久しぶりに基板描いたけれども、やっぱ楽しいねえ・・・。 ま、製品ハックの一例とハマりポイントの共有が、何かのお役に立てれば幸いです。 以上です。