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

Arduino誕生日リマインダー:単一コイン電池で50年動作する超低消費電力デバイス

必要な部品と材料

部品数量備考
Arduino Nano R3(ATmega168P-AU搭載クローン)1中国製クローンで安価入手可能。ATmega168P必須(ピコパワー機能付き)
Intersil ISL1208 RTC(I2C接続)1超低消費電力、月・日アラーム機能搭載、VBAT動作400nA
Renata CR2450N コインセル1公称540mAh、自己放電<1%/年、動作温度-40〜+85℃
CP2102 USB-シリアル変換モジュール1時刻設定・デバッグ用。本体からは切り離し可能
USBasp プログラマー1ヒューズビット変更・ブートローダーなし書き込み用
32.768kHz 水晶発振子1RTC用
SPSTスライドスイッチ1時刻設定モード切替用
SMD LED(赤)1誕生日点滅表示用。最適化後は1個に削減
クリアLEDドーム1光拡散用
4×4インチ スイッチボックス1筐体用。3Dプリント筐体でも可
ユニバーサル基板1
ベルグコネクタ(オス・メス)適量電池・スイッチ・LED接続用
抵抗 4.75kΩ3I2Cプルアップ(2本)、割り込みピンプルアップ(1本)
抵抗 10kΩ2プルアップ用

必要な工具

使用するソフトウェア

プロジェクト概要

単一のCR2450Nコインセル(540mAh)で50年以上動作し、設定した誕生日にLED点滅とシリアルメッセージで祝福する超低消費電力デバイスです。ATmega168Pのディープスリープモード(SLEEP_MODE_PWR_DOWN)とISL1208 RTCのVBAT単独動作(400nA)を組み合わせ、平均消費電流1.22µA(自己放電込み)を実現。理論上CR2032で29年、CR2450Nで50年、CR2477Nで64年動作可能です。

時刻と誕生日はUSB-シリアル経由でコマンド設定可能。設定後はスリープし、RTCアラーム割り込みで年1回のみ起動します。設定スイッチONでいつでも時刻確認・変更可能。Hackaday Coin Cell Challenge出品作品。

主な特徴

製作手順

ステップ1: Arduino Nanoの改造

オンボードの不要部品を除去し、コインセル直駆動(3V、レギュレーターなし)可能にします:

  1. CH340G USB-シリアルICを除去
  2. USB 5Vラインのショットキーダイオードを除去
  3. CH340GのTX/RXプルアップ抵抗(1kΩ×2)を除去
  4. RX/TX/PWR LED(SMD)を除去
  5. AMS1117 5Vレギュレーターを除去し、そのパッドをショート(基板パターン上必要)
  6. ピン13のLEDはデバッグ・誕生日点滅用として残す
  7. MCU水晶発振子はヒューズ変更完了まで残す

ステップ2: ATmega168Pヒューズビット変更

USBasp + ProgISPで以下設定に変更:

ヒューズ値(参考):Low=0x62, High=0xDF, Extended=0xF9

ステップ3: Arduino IDEボード定義追加とスケッチ書き込み

  1. boards.txt(Arduinoインストールフォルダ/hardware/arduino/avr/)に以下を追加:
    ## Arduino Pro or Pro Mini (3.3V, 1 MHz) w/ ATmega168
    pro.menu.cpu.1MHzatmega168=ATmega168 (3.3V, 1 MHz)
    pro.menu.cpu.1MHzatmega168.upload.maximum_size=14336
    pro.menu.cpu.1MHzatmega168.upload.maximum_data_size=1024
    pro.menu.cpu.1MHzatmega168.upload.speed=19200
    pro.menu.cpu.1MHzatmega168.bootloader.low_fuses=0x62
    pro.menu.cpu.1MHzatmega168.bootloader.high_fuses=0xDF
    pro.menu.cpu.1MHzatmega168.bootloader.extended_fuses=0xF9
    pro.menu.cpu.1MHzatmega168.bootloader.file=atmega/ATmegaBOOT_168_pro_8MHz.hex
    pro.menu.cpu.1MHzatmega168.build.mcu=atmega168
    pro.menu.cpu.1MHzatmega168.build.f_cpu=1000000L
    
  2. IDE再起動後、「ツール」→「ボード」→「Arduino Pro or Pro Mini」→「プロセッサー」で「ATmega168 (3.3V, 1 MHz)」を選択
  3. スケッチを「スケッチ」→「コンパイル済みバイナリを出力(Ctrl+Alt+S)」でHEX生成
  4. ProgISPでHEX(ブートローダーなし版)をロードし、Autoで書き込み

ステップ4: ISL1208 RTCブレークアウト基板製作

SMD版ISL1208をDIP化する小型ブレークアウト基板を自作。32.768kHz水晶、VBAT用コインセルホルダー、I2Cピンヘッダーを実装。最適化版ではVDDピンをジャンパーで切り離し可能にし、VBAT単独動作(400nA)を実現しています。

ステップ5: 回路図と配線

ステップ6: 動作原理と操作方法

初回起動・設定手順:

  1. 設定スイッチON(D3をGNDに落とす)
  2. USB-シリアル接続し、シリアルモニタ(9600bps)開く
  3. Serial Established. Ready to update time.表示を確認
  4. 時刻設定コマンド送信: TYYMMDDhhmmssp#
    • 例: 2018年1月5日 08:35:12 AM → T1801050835120#
  5. 成功時: Time update received = T1801050835120 Date and Time is 8:35:12 AM, 5-1-18
  6. 誕生日アラーム設定コマンド: AMMDDhhmmssp#(年不要)
    • 例: 8月24日 08:00:00 AM → A08240800000#
  7. Everything's set. Please disable the time set pin now.表示後、設定スイッチOFF
  8. Well done! Sleeping in 6 seconds..でディープスリープ突入

通常動作:

時刻確認・変更時:設定スイッチONで起動、tで現在時刻表示、aでアラーム時刻表示、cでキャンセル・スリープ復帰。

ステップ7: ソフトウェア構成(主要関数)

ステップ8: 消費電流測定と最適化の軌跡

段階MCUスリープRTC平均電流CR2450N理論寿命
初期実装0.2µA1.2µA (VDD=VBAT, LPMOD=1)1.63µA37.7年
最適化後0.2µA0.4µA (VDD=0, VBATのみ, LPMOD=0)0.61µA101年
自己放電込み実測0.2µA0.4µA1.22µA50年131日

最適化のポイント:

  1. LEDを2個→1個に削減(動作時3mA→1.5mA)
  2. RTCのVDDをVBATから切り離し、VBAT単独動作化(1.2µA→400nA)
    ※I2C通信時のみジャンパーでVDD接続
  3. 動作時間短縮: 設定2分→1分、誕生日点滅19秒、スリープ前6秒 = 合計85秒/年

ステップ9: 実用上の考慮事項

ステップ10: 筐体製作と仕上げ

4×4インチスイッチボックスにスイッチ・USB・LEDドーム用穴を開け、銀色スプレーで塗装。ステッカーや色紙、グリッター等でデコレーションすればプレゼント映えします。

ステップ11: 今後の改善アイデア

完全なソースコード

GitHubリポジトリで公開中(MITライセンス):

https://github.com/vishnumaiea/Birthday-Alarm/

参考資料

製造プロセス

  1. ベアリングのコールドマウント:安全・確実な取り付けのエキスパート tips
  2. インダストリー4.0とIoT:今後2年を形作る主要市場トレンド
  3. COVID-19がサイバー犯罪を加速させ続ける:リモートワーク、ワクチンサプライチェーン、スパイ活動
  4. 発電機アップグレードが必要な7つの重要サイン
  5. モーター巻き替えが必要な3つの危険信号
  6. 完璧なPCB実装を実現するための重要プラクティス
  7. 工場から研究室へ:産業用ロボットの多彩な力
  8. NVIDIA Jetson Nano:メイカーと企業を支える5W、472 GFLOPSのAIコンピューター
  9. Kontron、過酷環境向けラギッド40GbEスイッチ「CP6940」発表
  10. アプリケーションに最適なスイッチを選定するための10の重要ポイント
  11. 超薄ナノコーティング:20nm以下の厚さ制御による精密カラーコントロール