工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

スマートブラインド:Arduinoとソーラー電源で実現する自動光制御

必要な部品と材料

部品数量備考
SparkFun Arduino Pro Mini 328 (5V/16MHz)1メインマイコン
Arduino UNO1Pro Mini書き込み用
温度センサ(LM35DZ等)1室温監視用
PN2907A PNPトランジスタ1サーボ電源制御用(ハイサイドスイッチ)
フォトレジスタ(LDR)1照度検出用
抵抗 10kΩ1LDR分圧用
抵抗 1kΩ1トランジスタベース用
ソーラーパネル(5V 1.5W)1充電用
DC-DCブースター(5V出力)1電圧昇圧用
リチウム電池充電モジュール1LiPo充電制御
JSTコネクタセット1着脱可能な接続用
単4電池ホルダ×41プロトタイピング用
サーボモータ(Tower Pro MG996R等)1ブラインド駆動用
充電式3.6Vリチウム電池1メイン電源
サーボモータカップリング1ブラインド軸との接続用
コンデンサ 100nF1電源安定化用
OSH Park製カスタムPCB1基板実装用
各種ジャンパワイヤ1式配線用

必要な工具

使用ソフトウェア

プロジェクト概要

このプロジェクトは、筆者が以前作成した「自動ソーラー駆動横型ブラインド」を改良したものです。オリジナル版は約4ヶ月正常動作しましたが、いくつかの設計上の欠点が判明しました。

ブラインドの動作仕様

設置環境と課題

対象窓は2階の玄関上、南南東向きです。冬は日中ずっと日が当たりソーラー充電に有利ですが、夏は正午過ぎには日陰になり充電不足に。また、元のソーラーパネル位置では朝方に影がかかる問題もありました。

発見された問題と解決策

問題解決策
家が真南向きでないため季節による日照変化が大きいソーラーパネルの設置位置を最適化
サーボモータがスリープ時でも13mA消費PNPトランジスタによるハイサイドスイッチで完全遮断
6Vソーラーパネルが充電モジュール(入力4.5〜5.5V)の過電圧保護を誤作動させる5V仕様のパネルに変更
ログ/テレメトリ機能がなく故障診断が困難EEPROMログ機能を実装
診断・修理用に電源を着脱できないバッテリーとソーラーパネル間にJSTコネクタを挿入
センサ基準電圧がDC-DCブースター出力(変動あり)になっていたArduino Pro Miniのレギュレート済み5V(VCCピン)を基準に使用

製作手順

Step 1: 部品調達

主要部品の入手先と参考価格を記載しています。SparkFunは現地調達可能、Banggoodは安価だが配送に時間、Tayda Electronicsはまとめ買いで送料がお得です。

Step 2: 工具準備

上記工具一覧を揃えてください。

Step 3: ブレッドボードでプロトタイピング

  1. リチウム充電モジュールのバッテリー端子とソーラーパネル端子をそれぞれ接続(極性注意)
  2. ソーラーパネルのプラス端子からアナログA0へ配線(パネル電圧ログ用)
  3. バッテリーもDC-DCブースターに接続
  4. バッテリープラスからアナログA1へ配線(バッテリー電圧ログ用)
  5. ブースターの5V出力をArduino RAWピンへ
  6. ブースターのGNDを共通グラウンドとして使用
  7. Arduino VCCピン(レギュレート済み5V)を全センサの基準電源に使用
  8. サーボ電源はブースター出力からPNPトランジスタ経由で供給
  9. LDRと10kΩ抵抗で分圧回路を作り、中点をアナログA3へ(照度検出)
  10. LM35DZ:VCC→5V、GND→GND、出力→アナログA2(温度検出)
  11. PN2907A:エミッタ→ブースター5V出力、ベース→1kΩ抵抗経由でD11、コレクタ→サーボ電源線
  12. サーボGND→共通GND、信号線→D10(PWM)

重要な発見: サーボを直結するとアイドル時に14mA流れ続けます。NPNトランジスタでのローサイドスイッチでは解決せず、PNPトランジスタによるハイサイドスイッチでようやく待機電流をほぼゼロにできました。

Step 4: プログラミング

Arduino UNOからATmega328Pチップを取り外し、以下のように接続してPro Miniへ書き込みます。

Arduino IDEで「Arduino Pro or Pro Mini」を選択すれば書き込み可能です。ブラインド設置後も再プログラミングできます。

使用スケッチ:GitHubリポジトリ および EEPROMログライブラリ:EEPROMLog

Step 5: 基板実装と組み立て

Step 6: 最終組み立てとラストプログラミング

Step 7: ブラインドへの取り付け

  1. 既存のコード巻き取り機構(コルクスクリュー式)を取り外し(サーボの負荷になるため)
  2. LDR用の小穴をブラインド外側面にドリルで開ける
  3. Dremel等でサーボモータがぴったり収まる四角穴を切り出す(外側面推奨)
  4. 切り口をテープ等で保護
  5. PCBをレール内に挿入し、LDRが穴から出るようにする
  6. サーボを軸にカップリングで固定。起動時の90度位置合わせ待機(10秒)を利用して手動で羽根を90度に合わせてから固定
  7. ブラインドを窓に取り付け
  8. ソーラーパネルを窓の中央付近、上部1/3の位置にテープ固定。配線は桟に沿わせて目立たなくする
  9. ソーラーパネルとバッテリーをコネクタで接続し、速やかにブラインドをセット
  10. 装飾トリムを戻す

Step 8: 完成・動作確認

数ヶ月の運用で完全に期待通り動作しています。面白い現象として、2階の廊下灯と1階玄関灯が両方点いていると照度センサが「まだ明るい」と判断し、夜になってもブラインドが開いたままになるため、来客時にデモしやすいです。真夏の猛暑日には室温が快適なうちに高温判定でブラインドが閉じ、遮熱効果を発揮しました。

回路図・設計ファイル

製造プロセス

  1. スマートバーテンダー:Raspberry Pi駆動の自作カクテルステーション
  2. スマートブラインド:Arduinoとソーラー電源で実現する自動光制御
  3. Arduinoでシンプルな障害物センサーを自作 – IR LEDとフォトダイオード入門
  4. スマート自動靴紐シューズ:発電機能内蔵で実用性抜群
  5. IoT対応ソーラートラッカー:Arduinoによるスマートエネルギー管理
  6. スマートなArduino制御ロボットアームの製作:簡単DIYチュートリアル
  7. 学校向けスマート体温監視システム: 正確、リアルタイム、安全
  8. スマート手話グローブ:ジェスチャーをテキスト/音声に変換
  9. Arduinoで作る多チャネル・スマートバッテリー充電器:自動切替・電圧表示・近接センサー付き
  10. Arduino用絶縁アナログ入力回路の設計:LM331 V-F変換+フォトカプラでノイズ耐性を確保
  11. Arduino UNOで作る信頼性の高いスマートエネルギーモニター – ステップバイステップガイド