「PIC16F1823 + LM61BIZ + NJL7502L + I2C EEPROM プリント基板バージョン」が完成したので、久しぶりに温度・照度の測定を始めようかと思い、データ回収に使う「PIC18F14K50 + AT24C256B on ブレッドボード配線パターンタイプ基板」を持ち出してきて、EEPROMのデータをPCに送ってみた。
ドライバーのことも忘れていたし(「PIC18F14K50 + USB + PC + Tera Term (2)」参照)、TeraTermのデバッグ・モードのことも忘れていた(「PIC18F14K50 + AT24C256B -> USB -> Tera Term」)。
そんなこんなで、やっと接続してデータをPC上のTeraTermに送ってみると、データが全部FFになってしまう。
とにかく、TeraTermの窓にFFがダーっと並ぶだけということになる。
3つの測定ボードで実際にしばらく測定したあとの3つのEEPROMのデータが全部FFのみになり、「PIC12F675 外付けEEPROM消去器」を使って、手持ちの4つのEEPROMすべてを0で埋めてみても、4つとも全部FFしか返さない。
つまり、「PIC18F14K50 + AT24C256B on ブレッドボード配線パターンタイプ基板」がおかしい可能性が濃厚ということになった。
ダメ押しに、Arduinoを持ち出してRead/Write Serial EEPROM via I2CだったかAdding External I2C EEPROM to Arduino (24LC256)だったかのスケッチの例でEEPROMの動作を確認し、ArduinoのシリアルモニタのかわりにTeraTermを使っても全く問題なかった。
「PIC18F14K50 + AT24C256B on ブレッドボード配線パターンタイプ基板」が原因だとほぼ断定できたので、しぶしぶ作成時の回路図を持ち出してきて、DMMで導通チェックをやってみたが、特に問題は見つからなかった。
記録によると9月16日に使ったのが最後なので、3ヶ月も放置されてスネているのかもしれないし、ハンダ付けが劣化した可能性もある。
スネているかどうかはさておいて、こんなときの最後のアガキといえば、ハンダの溶かし直しと補充だ。
事実、これで直ることって結構あるんだよね。
で、すべてのハンダ付け部分にこてを当ててもう一度溶かしつつ、ハンダが少なめかなと思われるところにはハンダを補充するという作業を行った。
再度EEPROMを接続してデータを読んでみた。
直った。
良く考えたら、DMMでの導通テストって、テスター棒で接点にある程度の力を加えた状態での導通なんだなと思う。
テスター棒を離してフリーになっても導通が保たれるかはわからないというわけだ。
目視で問題の場所を見つけ出して対処したというわけでなく、全部を総なめでハンダし直した結果なので、何か今後に生かせる新しい発見があったわけではないが、まあ、直ってよかった。