■長年使っているiPod touchの充電ができなくなったと言う。iPodのUSB充電の規格については英語版WikipediaのUSBの項にあり、USBのD+/D-の電位を設定する必要があるという。それで充電できなくなったということはD+/D-の電位を認識することができなくなったのだろうか。iPod充電器の自作記事の個人ブログは幾つもあってそれぞれD+/D-の電圧については試行錯誤していて、決め手がない。500mA、1000mAの2種類の充電器が存在することが曖昧さに輪をかけているように思うし、大抵の記事ではD+/D-の電位を分圧で作り出していて、無負荷時の電位はわかるのだけど、実際にiPodが接続されていた時の電位やどれだけの電流が流れたのかについての知見がなく、資料としては心許ない。
とりあえず実験用にブレッドボードでD+/D-の電位を調整できる回路を組み上げる。まずは5VのACアダプタからUSBに電源供給し、D+/D-はフローティングで、100均で購入したiPod充電アダプタケーブルを接続した。これは充電モードに入らない。iPodから観ると、単にホスト側にドライブの無いUSBに接続された状態になっているのだろう。
次にD+/D-間を10Kの抵抗で接続した。D+/D-の電位はiPodのUSB接続時に一旦5Vに上がり、0Vに落ちてから3.3Vで安定した。USB端末接続時の標準的なふるまいで、壊れてはいない。iPodは充電状態に入って、Vbusを流れる電流はだいたい6mAになっていた。かなり少ない。
充電時に流れる電流がずいぶん少ないことが気になるので、一応D+/D-の電位を調整して充電モードが変わるかどうかを確認してみる。電位はACアダプターからの5VをRODで3.3Vに落とし、そこからさらに10Kと20Kの半固定抵抗の分圧で1.1Vから3.3Vで調整できるようにする。Wikipediaにあったように+2,+2や+2,+2.8に設定しても流れ込む電流は6mA程度で変わらない。
件のiPodはバッテリー残量1/4からスタートし、6mA給電で1時間と待たずして満充電状態になった。バッテリーが劣化しているのは間違いない。ただ、結局、充電器としてはD+/D-間を10K抵抗で接続し、Vbusに+5Vをかければ、ACアダプターの容量としては100mAでも十分に充電できることがわかった。
必要な電流のキャパシティは充電対象のiPodのバッテリー状態に左右されるので、個体差が出てくるとは思う。とりあえずバラック組みでACアダプターをUSBのウォールチャージャーに見せかけるアダプタを作って試してみたところ、iPodは充電状態に入った。ただ、ロック状態でないと充電は開始しないようだった。もともとバッテリーが弱っているので、iPodが稼動状態に入っていると充電とiPod自体の駆動ととで電力を配分できないのだろうと思うけど、実際のところはわからない。
ただ、日常的に使うものなので、バラック組みではいかにもあぶない。今回のはプロト機として、ケースに収めた初号機を製作するつもり。ただ、回路的にはほぼ固まっているので、ユーティリティとしてパイロットランプを追加するとか、その程度の拡張にとどまるとは思う。