前回の続きです

回路や制御プログラムについての説明・補足など



マイコンの動作フローは、

 スリープ(省電力化のため)
    ↓
 144ms毎にスリープから目覚める
    ↓
 USB5V端子をチェック
 (同じ入力が3回連続したら、それを正しい出力とみなす)

    ↓
 端子の出力が前の状態と違ってたら、電源スイッチを5秒間押す

…という処理の繰り返しです(ソースのコメント文をご覧ください)

また省電力化のため、動作クロックは31kHzと低くしました

実際に消費電流を測ってみると、数μA程度で済んでいます


マイコンはナビ本体のバッテリーから直接電力を取ってますが、これくらいだとあまり影響しないと思います

USB5V端子の監視について、連続した値で判定しているのはノイズ対策です。

スイッチを押す長さは3秒ちょっとで大丈夫でしたが、とりあえず5秒にしてあります。
(もし他機種で流用する時、そのまま使えるように)




次は回路について↓


USB5Vの監視 (マイコンの4番ピン/GP3)
 →マイコンの動作電圧(4V前後)を越えないように5Vを抵抗分割

電源スイッチ制御 (マイコンの2番ピン/GP5)
 →スイッチOFFする時は出力High、スイッチONする時は出力Low

 出力Lowでプルアップをシンクし、GNDに落とします。(=スイッチONとなる)
 電源とプルアップに電位差があったので、ダイオードを挟みました。


なお、この回路は他のナビの基板に使える保証は全くありません。

簡略化した回路なので、全く動作しない(もしくはナビを壊す)可能性アリ

ご注意ください





あ、それと今回使ったナビについてですが、

改造によって電源ON/OFFの自動化には成功しました

が、しかし…

この機種TNK-501DTは、電源ON時は最初に必ずメニュー画面になります。

そしてナビを開始するには、そこから画面をタッチ操作する必要があります

本当はここも自動化したかったですが、さすがにハード的に無理でした