USB接続 充電容量チェッカー 製作と解説編
作ってはみたものの、オフセットが思いのほか大きくて15mA以上の電流が流れないと動き出さない。というちょっと残念な性能になっちゃいました。まあ普通に充電する時は500mAくらいの電流が流れるので致命的な問題では
ないのですが、やっぱり残念。
ということでモチベーションが下がってしまったのですが、めげずに解説記事を書いておきます。
1.ケース加工
タカチのTW4-2-8を使い万歩計の表側のピースがぴったり嵌るような穴を明けて固定。万歩計の裏側ケースは外してしまいます。

2.USBケーブルの処置
100円ショップのUSB延長ケーブル(Type-A オス/メス)を分解して部品を流用しています。メス側はケーブルを分解して内部のコネクタを取り出しホットボンドで固定。メス側のコネクタを裏返しに付けるといろいろ不便なことになるので要注意です。つまり、私はあまり考えないで逆向きに付けてしまっていろいろ不便な目に遭ってます。笑;
オス側はケーブルを短く切ってケースから直接出します。ケーブルの抜け留めのために内側はナイロンバンド2本で締め上げ。さらに回転留めのためにホットボンドで固定しています。

この写真の手前のCPUの上を通っているケーブルがUSBの信号。USBの信号線(+D,-D)は良く撚ったペア線で接続します。ペア線を空中に通しただけだとそこだけインピーダンスが上がって高速伝送にエラーが出易くなるので、信号のペア以外にもう1ペアを2本ともシールドにしてこれらを撚って配線しています。(つまり+D/-Dのペアの廻りにShield線を二本巻きつけた状態)
これでどれくらい大丈夫かは判りませんが、USB2.0のSDカードを接続して1GBくらいのファイルの読み書きは大丈夫でした。たぶんUSB2.0はOK。USB3.0は無理な気がします。
3.回路(クリックで別窓に拡大)

Q1が2N700となっていますが、正しくは2N7000です。
オペアンプの部分は以前の記事で解説したので説明は省略します。
ロジック部も特に変わったことはやっていませんが、一つだけひねりが入っています。それはCPUのI/Oピンのアサイン。回路図を見ると判りますが、信号は全てパッケージのコーナーピンを使いました。こうしておくと配線が楽だし、間違う可能性も少なくなります。どうせいっぱい余っているんだから便利な場所から使おう、ということです。
なお、この回路全体の消費電流は9mAくらいで、この電流は測定対象外になっています。
4.ソフト
MsTimer2で50mS周期で割り込みを掛け、ADCの値を読んで積算。基準値を超えたら万歩計への出力を反転させています。消費電流を減らすため初期設定後はスリープに入れています。ちなみにもっと深いレベルにスリープさせると動かなくなりました。
スケッチはこちら すごく簡単なプログラムです。
5.まとめ
冒頭に書いたオフセットの問題はありますが、これはこれで持っていると結構重宝します。
ただ、たったこれだけの機能を作るのにATmage328Pを使うのはもったいないです。腕の良い人ならたぶん8PinのPICやAtinyを使うんでしょう。でも私にはそんなスキルは無いんですよね。
とはいっても、いつまでもこんな言い訳を言っているのもアレなので、そろそろ8ピンのCPUも使いこなす技術を身に付けたいと思ってます。PCAXEなんて良さそうなので少し調べ始めたところです。
ないのですが、やっぱり残念。
ということでモチベーションが下がってしまったのですが、めげずに解説記事を書いておきます。
1.ケース加工
タカチのTW4-2-8を使い万歩計の表側のピースがぴったり嵌るような穴を明けて固定。万歩計の裏側ケースは外してしまいます。

2.USBケーブルの処置
100円ショップのUSB延長ケーブル(Type-A オス/メス)を分解して部品を流用しています。メス側はケーブルを分解して内部のコネクタを取り出しホットボンドで固定。メス側のコネクタを裏返しに付けるといろいろ不便なことになるので要注意です。つまり、私はあまり考えないで逆向きに付けてしまっていろいろ不便な目に遭ってます。笑;
オス側はケーブルを短く切ってケースから直接出します。ケーブルの抜け留めのために内側はナイロンバンド2本で締め上げ。さらに回転留めのためにホットボンドで固定しています。

この写真の手前のCPUの上を通っているケーブルがUSBの信号。USBの信号線(+D,-D)は良く撚ったペア線で接続します。ペア線を空中に通しただけだとそこだけインピーダンスが上がって高速伝送にエラーが出易くなるので、信号のペア以外にもう1ペアを2本ともシールドにしてこれらを撚って配線しています。(つまり+D/-Dのペアの廻りにShield線を二本巻きつけた状態)
これでどれくらい大丈夫かは判りませんが、USB2.0のSDカードを接続して1GBくらいのファイルの読み書きは大丈夫でした。たぶんUSB2.0はOK。USB3.0は無理な気がします。
3.回路(クリックで別窓に拡大)

Q1が2N700となっていますが、正しくは2N7000です。
オペアンプの部分は以前の記事で解説したので説明は省略します。
ロジック部も特に変わったことはやっていませんが、一つだけひねりが入っています。それはCPUのI/Oピンのアサイン。回路図を見ると判りますが、信号は全てパッケージのコーナーピンを使いました。こうしておくと配線が楽だし、間違う可能性も少なくなります。どうせいっぱい余っているんだから便利な場所から使おう、ということです。
なお、この回路全体の消費電流は9mAくらいで、この電流は測定対象外になっています。
4.ソフト
MsTimer2で50mS周期で割り込みを掛け、ADCの値を読んで積算。基準値を超えたら万歩計への出力を反転させています。消費電流を減らすため初期設定後はスリープに入れています。ちなみにもっと深いレベルにスリープさせると動かなくなりました。
スケッチはこちら すごく簡単なプログラムです。
5.まとめ
冒頭に書いたオフセットの問題はありますが、これはこれで持っていると結構重宝します。
ただ、たったこれだけの機能を作るのにATmage328Pを使うのはもったいないです。腕の良い人ならたぶん8PinのPICやAtinyを使うんでしょう。でも私にはそんなスキルは無いんですよね。
とはいっても、いつまでもこんな言い訳を言っているのもアレなので、そろそろ8ピンのCPUも使いこなす技術を身に付けたいと思ってます。PCAXEなんて良さそうなので少し調べ始めたところです。