エコキュートHE-37K3Qの修理 その2

こちらの記事で修理できたと考えていたお風呂があふれる故障ですが、しばらくして再発し、いろいろ調べて再修理しました。

burro.hatenablog.com

屋外に設置してある貯湯ユニット内部のフロースイッチを交換して一時的に浴槽があふれるという症状が出なくなっていたのですが、しばらくしてまた再発してしまい、フロースイッチが原因ではなかったと考えざるをえない状況になりました。

お風呂にお湯を貯めていろいろ検証すると、お湯がなくなってしまうので、低めの水位で水張りモードに設定して調べました。

貯湯ユニットのカバー内側にサービス説明書が張り付けてあり、メンテモニターの使い方、表示内容が記されています。その手順にそって、台所リモコンでメンテモニターに入ります。まず、メニューを4回押してリモコン設定画面を表示させます。

▽|△ の ▽ を10秒押し続けると、「ピピー」と鳴ってメンテメニュー画面になります。

▽|△ でサービスを選んで確定を押すと、サービス画面になるので、さらに ▽|△ でメンテモニターを選択して確定を押します。(メンテモニターからサービス画面に戻るにはメニューを押し、メンテモニターの解除は確定を押す)

▽|△ でデータNo.を変更できます。41番は水位設定と水位センサー測定値です。設定値が33で水張り完了後センサーが35になっていて、水位センサーは問題なさそうです。水を少し抜くとセンサー値が減少することを確認しました。また、入浴時には人が入ってセンサー値が設定値よりも大きくなる状況も確認できました。

52番では、前回修理で故障の原因と考えていたフロースイッチの状態がわかります。この写真では0000になっていますが、下3桁が風呂注湯弁ON(1)/OFF(0)、風呂循環ポンプON(1)/OFF(0)、フロースイッチON(1)/OFF(0)を表しています。

この状態で浴室リモコンを操作して追いだきをすると、風呂循環ポンプON、フロースイッチONとなり、0011と表示されます。

何度か追いだきを試してみると0010となる場合があり、循環ポンプが作動しているにもかかわらず、フロースイッチがOFFになることがありました。前回修理では最初にメーカー修理を依頼したのですが、この状況からフロースイッチが故障と判断したと思われます。循環ポンプONでフロースイッチOFFの場合、浴槽循環配管に水(お湯)がないという判定になり、風呂注湯弁がONになって、タンクからお湯が継ぎ足されます。その結果浴槽があふれるという動作になっているようです。ただ、フロースイッチは交換済みで壊れていないことがわかっているので、循環配管が詰まっているのではないかと考えました。

循環配管の浴槽への接続部を外して分解してみましたが、特に問題はありませんでした。



次に洗浄剤を使って循環配管のクリーニングをしましたが、メンテモニター52番が0010になる現象は解消しませんでした。

それで循環ポンプが弱っているのではないかという考えに至り、中古のポンプと入れ替えてみたところ、メンテモニター52番の0010は発生しなくなり、浴槽あふれもなくなりました。

ということで、本当の原因は浴槽循環ポンプの吐出圧力低下だったようです。

原因確認のため、交換した古いポンプを分解してみました。

吸い込み側と吐出側の間の隔壁が割れています。ここから循環水が逆流して吐出圧が上がらない状態になっていたようです。前回の修理では、交換したフロースイッチが若干水流量が少なくてもONになるものだったため、直ったように見えていただけのようです。ポンプ隔壁の亀裂が大きくなって吐出圧がさらに下がり、再びフロースイッチがONにならなくなって浴槽あふれが再発したと考えられます。

ポンプ交換後、浴槽あふれは全く発生しなくなりました。

自家用車のタコメーター修理

久しぶりに車に乗ろうとしたら、この夏の異常な暑さのせいか車検通したばっかりなのにバッテリーが上がっていました。バッテリーを交換してエンジンかかったのですが、タコメーターが壊れて指針が振り切れるようになっていました。

youtu.be

同様の事例をネットで調べて修理してみました。まずは、メーターASSYを覆っているカバーを取り外しました。動画の上側に映っている2か所の穴の中にネジがあるので外します。次にハンドル位置を一番下に下げた状態で、ちから任せにカバーを外すのですが硬くて大変でした。

あとはメーターASSYの取り付けネジ3本を外し、裏側の配線を外して屋内に持ち込んで修理しました。

メーターの前面を覆っている透明のカバーを爪を持ち上げて外した状態です。さらに、電源、回転パルスなどの電気信号の伝達を兼ねたタコメーター裏側のネジ4本を外してメーター部分を分離しました。

タコメーターは交差コイルメーターという方式になっているようで、アナログテスターみたいに駆動コイルが1つで狭い角度でしか指針を動かせない普通のメーターと違って、2個の直交するコイルを使って360度自由な角度に指針を動かせるようになっているようです。おそらくどちらか一方のコイルに電流が流れなくなった結果、針が振り切れるようになったのじゃないかと思います。

エンジンの回転パルスの周波数を交差コイルの電流に変換するICのようです。パナソニック半導体会社が使っていたアナログIC用の型番が刻印されていますが、特定の車メーカー専用品なのかデータシートは見つかりませんでした。ネット情報によると、このICのはんだ付けに亀裂が入るのが故障の原因らしいので、基板裏側のICピンを拡大してみました。

かなり分かりづらいですが、はんだが割れていてピンセットで押すとICピンが動く状態になっていました。この夏の異常な暑さではんだが割れたのでしょうか。はんだ付けをやり直して元通り組付けました。

 

youtu.be

直りました。

前照灯のハイビーム表示ランプが切れているのに後で気がつきました。。

パナソニック DVDレコーダー DIGA DMR-XW31の修理

注意:電源部のコンデンサーを交換することで、火災、感電などの事故につながる可能性があります。以下の内容を参考にする場合は自己責任でお願いします。

2007年に購入したパナソニックのDVD・HDDレコーダーです。

最近スイッチを入れても画面が出るまで遅い気がしていたのですが、電源入れると一旦再起動するようになり、いよいよまずいなと思いつつ1週間ちょっと使っていたのですが、土曜の深夜に全く電源が入らなくなりました。日曜夜のドラマを取り逃したくなかったので、突貫で修理しました。

右側奥の電源回路の電解コンデンサーが膨らんでいたり液漏れしたりしているので、容量抜けが疑われます。手持ちの電解コンデンサーで値の近いものに交換します。

 

電源回路が載っている基板はHDD, DVDを外してもリヤパネルに引っかかって取れません。リヤパネルとフロントパネルを外してはじめて基板を取り外せました。リヤパネルはたくさんあるネジを全て外す必要がありました。フロントパネルは裏側と側面の爪を持ち上げてまっすぐ前に外せば、右側にある基板との接続コネクタも外れます。その他のコネクタ類は壊さないように慎重に外しました。
黄色で囲んだ電解コンデンサーに明らかな外観の異常があったので交換することにしました。

 

たぶん10年以上前に購入したジャンク袋の電解コンデンサーが役に立ちました。他に新品で購入して余っていたものや、捨てるつもりで置いてあった機器から外したものも含めて、以下のように交換しました。容量が全部抜けてしまっているものもあり、よくこんな状態で使えていたなと思います。

C16000
ELNA RJG 50V 150uF 105℃ → 実測 0uF
50V 220uF 105℃に交換

C13000, C13001
ELNA RJG 16V 1800uF 105℃ → 実測 25uF, 14uF
25V 1000uF 105℃に交換

C11005
ELNA RJG 35V 150uF 105℃ → 実測 35uF
35V 220uF 105℃に交換

C16005
ELNA 25V 100uF 105℃ → 実測 46uF
25V 100uF 85℃に交換

C1601
ELNA 10V 120uF 105℃ → 実測 53uF
25V 100uF 85℃に交換


ELNA RJGは超低ESR(直列抵抗がとても低い)タイプで、おそらく大きなリップル電流が流れる設計になっていると思われます。手持ちのESR特性のわからないものに交換したので、ESRによる発熱で早々に劣化する可能性があり要注意です。

 

他に、下記のコンデンサーも外観異常がありましたが、上の実測結果から推測して半分くらい容量が残っていそうだったので交換していません。

C13006, C14000, C15000
16V 120uF

無事に起動しました。動作確認時リヤパネルを外した状態で空冷ファンのコネクタを基板に接続していないと、起動してすぐにシャットダウンしてしまうので要注意です。

相当古い機種なので交換したらいいとは思いますが、見てないドラマがいつもいっぱいたまっていて、入れ替える気にならないということでまだ使い続けそうです。

お風呂があふれる エコキュートHE-37K3Qの修理

追記:本記事公開後しばらくして故障再発し、再修理しました。この記事は記録としてそのままにしておきますが、真の故障原因については下記を参照ください。

burro.hatenablog.com

 

15年以上前に設置したパナソニックのヒートポンプ式給湯器(貯湯ユニットHE-37K3Q)を使っています。「ふろ自動」ボタンを押してお湯張りすると、決まった水位で自動的に給湯が止まって、そのあとは冷めないように時々追い炊きしてくれるのですが、ある日突然お風呂があふれるようになりました。メーカーに修理をお願いして故障した部品が浴槽循環配管の水流を検出するフロースイッチだというところまで特定していただけたのですが、何せ相当古い機種なので補修部品の保有期間が終了していて在庫がどこにもないということで、修理していただけませんでした。買い替えるとかなり高額の出費になるので、自分で部品を調達して直すことにしました。

 

フロースイッチ

部品の品番はT56-738Rです。

新品は入手できそうにないので、中古のものを購入しました。

フロースイッチ T56-738R

フロースイッチの交換

フロースイッチは浴槽のお湯を循環させる配管につながっているので、取り換え作業前に循環配管の水抜きをしました。浴槽に水がない状態で浴室のリモコンをONにして「追いだき」ボタンを押すと、循環ポンプが起動して配管内の水が浴槽に排出されます。水が出なくなったら、配電盤のエコキュートにつながるブレーカーをOFFにして完全に電源を遮断しておきます。

フロースイッチの位置は屋外に設置されている貯湯ユニット(下の写真)の中の赤丸のあたりです。

貯湯ユニット

右側から近くで写すと、こうなっています。

フロースイッチの位置

銅パイプが3本接続されていますが、接続部の金属製クリップを外せばパイプを抜き取れるようになっています。おそらく本来は簡単に外せるはずですが、浴槽循環水が流れる場所なので、不純物などがついて硬くなっていました。少しずつこじって部品を取り外しました。制御基板につながるオレンジ色の配線2本は1枚目の写真を見るとわかりますが、フロースイッチのすぐ近くにコネクタがあって、そこで切り離せます。あとは中古で入手したフロースイッチと入れ替えれば修理完了です。浴槽があふれることはなくなりました。

フロースイッチの仕組み

取り外したフロースイッチを調べてみました。

フロースイッチは水の流れがあると2本の端子間が導通するようになっていて、取り外した直後は壊れていて導通しない状態だったのですが、しばらくしてなぜか正常に動作するようになりました。

中に金属製の板状のものがあって、向きをかえると自重でパタパタと動きます。

この向きだとフロースイッチから出ているオレンジの2本の端子間に導通があって、

この向きだと導通がありません。

中を開けてみました。


板状の金属が軸に取り付けられていて、この写真では上から下に水流があると、金属板はこの写真のような状態になり、端子間に導通があります。実際には写真下側のパイプ接続口が上になる状態で設置されているので、水流がないと金属板は自重でこの写真でいうと上側に倒れた状態になり、導通がなくなります。

金属板には永久磁石が取り付けられていて、写真では見えていませんが、オレンジのリード線の先にリードスイッチがあって、磁石が近づくと導通する仕掛けになっています。

フロースイッチを分解するまで、電極が水流の中にあって、水圧に反応して接点が導通するような仕掛けなのかなと考えていました。それで浴槽内の水が通るので、不純物が電極について故障したのかと思っていたのですが、電極は水に触れない設計になっていて故障の原因はよくわかりませんでした。フロースイッチの内部はきれいな状態だったので、金属板が物理的に動かなくなっていたということは考えにくく、リードスイッチの不具合が原因じゃないかと思います。もしそうだとすると、リードスイッチの交換だけで直せたかもしれません。

リードスイッチは爪で押さえて取り付けてあるだけなので、かなり硬いのですが爪を上げれば外せます。

リードスイッチにはOKI RA-111-12と刻印があります。この型番で調べてもデータシートなどの情報を探せませんでしたが、同じサイズでNRS-102という近接センサーを見つけました。もとのリードスイッチの仕様がわからないのでなんとも言えませんが、互換品として使えるかもしれません。

 

まとめ

フロースイッチを交換して浴槽があふれる故障を修理しました。

フロースイッチが壊れると浴槽があふれる理由ですが、浴槽循環配管の水流が検出できないと、浴槽からお湯がもどってこない、つまり浴槽の水位が足りないと判断して貯湯タンクからお湯を供給し続けてあふれる、ということらしいです。

 

貯湯ユニットの混合弁と三方弁は以前にメーカー修理で交換済みですが、ほかの部分も壊れやすくなっていそうです。それでもなんとかできるだけ長く使いたいですね。ヒートポンプユニットの水冷媒熱交換器が水漏れするとか、コンプレッサーが壊れるとかしたら、さすがに自力で修理できなさそうなので買い替えるしかないかもしれません。

 

パナソニック ビルトイン食洗器NP-P45VD2Sのノズル回転不良修理

警告: 修理用部品として食洗機洗浄槽内部に3Dプリンターで作製したものを使用します。この記事を参考にしたことによる健康被害等に責任を持てませんので、安全性につきましてはご自身で判断してください。

 

2007年から16年近くも使っている食洗器です。2021年7月に異音がするという不具合でポンプを交換しました。

burro.hatenablog.com

さらにその年の10月、水漏れでホースの交換をしました。

burro.hatenablog.com

その後、洗浄時に水を噴射しながら回転するノズルの裏の金属プレートが剥がれかけていたので、新しいノズルに交換して使用していましたが、最近になってノズルの回転が途中で停止したままになるという不具合が頻発するようになりました。

原因を調べたところ、食器をのせるカゴにノズルが接触したまま止まっていました。とりあえず、カゴの下に箸置きを挟んで回転がとまらないようにしていましたが、根本原因はノズルの回転軸を受ける洗浄槽の穴が摩擦で摩耗したことによる回転軸のブレでした。

ノズルの回転軸はこの写真のように上部と下部の2か所が洗浄槽の穴に接触するような構造になっています。

洗浄槽の穴の拡大写真です。ノズルが接触する部分、特に底のほうの右側が大きく削れていて、回転軸が左に傾いてノズルが右側に来たときにカゴに接触しやすくなっていたようです。

穴の内径を均一にするため、3Dプリンターで穴の内径にちょうどのサイズのガイドを作成することにしました。穴の内径は奥に行くほど小さくなっているので、だいぶ前にヤフオクで入手したシリンダーゲージを使って底のほうの内径を測定しました。


段差があったり削れていたりするので正確には測定できませんが、おおよその寸法を測定し、何回かプリントして寸法を調整しました。

3Dプリントで使うフィラメントについては食洗器の洗浄槽内部に使うものなので、人体に有害な材料は使えません。しかも庫内は高温にさらされ、ノズルとの摩擦にも耐える必要がるので、耐久温度が高く、耐摩耗性にも優れた材料が必要になります。そのような条件を満たす3Dプリンター用フィラメントを探したところ、FormFutura社のCentaur PPというポリプロピレンのフィラメントを見つけました。ポリプロピレンは耐久温度が高く耐摩耗性にも優れています。さらにCentaur PPはアメリカ食品医薬品局EUの食品安全基準の両方に適合し電子レンジや食洗器にも使えるとあり、今回の要求条件にぴったりです。ここから少量購入して使用しました。ただし、プリントする際に過去に使用した別のフィラメント材料が混入するなど、様々な要因で製作したものが安全とは言い切れませんのでご注意ください。万が一この方法で修理した食洗器を使用して健康被害が発生しても責任を負えません。

ガイドのモデルデータはFreeCADで作成しました。以下は試作を重ねて寸法調整した後のモデルの図面です。穴の内部構造に合わせて下のほうに段差をつけてあります。

FreeCADからstl形式でエクスポートしてUltimaker Curaでプリンター用データに変換しました。使用したプリンターはCreality社のEnder-3 S1(Proではない)です。
PLA用の0.4mmノズルStandard設定から以下の部分を変更してプリントしました。

  • レイヤー高さ0.1mm
  • 印刷温度 230℃
  • ビルドプレート温度 70℃
  • ファン速度 75%
  • 引き戻し距離 1.2mm
  • 引き戻し速度 25mm/s

この条件が最適かどうかわかりませんが、とりあえずちゃんとプリントできました。

ビルドプレートからはがれやすいのでラフトありでプリントしました。

ラフトを取り除いて洗浄槽のノズル取り付け穴に挿入しました。

これでノズルの取り付けにガタつきがなくなり、回転が止まらなくなりました。

youtu.be

東芝製業務用エアコン類似機種のワイヤレス制御

警告:本記事を参考にした結果、故障や火災など重大な事故につながったり、メーカー保証がなくなっても責任を負えませんのでご注意ください。

東芝の業務用エアコンと同類の家庭用エアコンを利用しています。下の写真のようなリモコンが壁に設置されていて、2本線のケーブルで本体に接続されています。設定温度を変えたり送風に切り替えたりといった操作はリモコンまで行かないとできないのが不便で、温度制御も外気温の影響なのか同じ設定温度でも暑すぎたり寒すぎたりといったことがあり、なんとかしたいと思っていたのですが、ついに2本線のケーブルでどうやって制御しているのか解析したい気持ちが抑えられなくなりました。

リモコン

有線リモコンの解析

リモコンの裏側はこんな感じになっています。写真は使用中の業務用エアコン類似の家庭用のものではなく、中古で入手した業務用エアコンのリモコンRBC-AMT31(SX-A1E)ですが、IC1の型番と中央下のシルク印刷の数字を除いて基板は全く同じのようです。

リモコン基板

左上の端子の下に通信関連と電源回路が実装されていて、右上には温度センサ、その下にマイコンらしきもの(IC1: H8S/2264?)と、シリアルEEPROM(IC5: BR24L01A?)があります。IC1は業務用と家庭用で刻印されている型番が違っていて、搭載しているプログラムが異なるのではないかと思います。

通信部分がどうなっているのか知りたいので左側、端子下の部分を回路図におこしました。

通信線インターフェースと電源部の回路

エアコン本体につながるAB端子の2本線の接続先の回路は次のようになっていました。(ICやトランジスタの型番はラベル表示から推定したものです)

有線リモコンの内部回路(必要部分のみ)

 

動作解析

AB端子は極性がなく、2本線を入れ替えても問題ないよう入力部にダイオードブリッジが入っていて、TP3は通信がないときにDC15V程度、通信時のマーク符号で14Vくらいまで電圧が下がるような波形になっていました。

TP3の電源重畳信号は分岐して、一方はR13を経由してリニアレギュレータで+5Vの電源(TP4)を生成、もう一方はC1でAC結合してD5でクランプしたあとQ3を経てコンパレータIC3出力の1ピンに5Vロジックのシリアル通信パルスが出力されるようになっているようです。D5のクランプは、電源断のときにQ3のVBEが-15Vになって破壊されないための保護回路だと思います。リモコンからエアコン本体に送信する際にはマーク符号に対応してQ2のベースをD6経由でプルダウンし、Q1をON状態にしてAB線に電流を流すことで電圧降下させるような仕掛けになっているようです。

Analog Discovery 2で測定したリモコン基板上の波形です。

H_TAP電圧(Channel2), RX_TAP電圧(Channel1)と復号したデータ

青い波形がAB線からダイオードブリッジを通った直後の波形で、振幅の異なるパルス列が2つありますが、最初のほうがリモコンからの送信波形で、後ろのほうの振幅が大きい波形はエアコン本体からの返答のようです。リモコン側の波形で測定すると、マーク時には14.2V / 330Ω = 43mAくらい流れることと、その際の電圧降下が0.842Vなので、AB線のソースインピーダンスは20Ωくらいということになります。

 

リモコンの消費電流(R13端子間の電位差で測定)

AB線から供給される有線リモコンの電源電流は常時20mA程度のようです。

 

リモコンと本体間の通信

シリアル通信のパラメータについては、IC3の1ピンをAnalog Discovery 2のデジタル入力につないで、UARTの分析機能を使って調べました。Analog Discovery 2のDIOは5Vトレラントですが、内部で3.3Vにクランプされているようなので手元にあった14kΩ経由で接続しました。ちゃんと復号できる組み合わせを探したところ、2400bps, 8bit, even parity, stop bit 1で正常に復号できました。

その後、通信データ解析のため、BlueSMiRFというBluetooth経由でシリアル通信できるモジュールをフォトカプラを介してIC3の1ピンに接続し、モバイルバッテリーで動作させてPCでデータをとって調べた結果、

送信元アドレス/送信先アドレス/不明1Byte/ペイロード長/ペイロードチェックサム

という構造のパケット単位で通信していることがわかりました。チェックサムは1バイト目から最後までXORしたものです。

ここから先、パケットの中身を解析するのはかなり大変なので、似たようなことをしてる人がいないか探してみたところ、まさに同じようなことをしている人がいました。こちらを参考にすれば、スマホからエアコンを操作することも実現しそうです。

github.com

 

ワイヤレスコントローラの製作

Bluetoothは接続が突然切れたりして不安定で、常時使用するのには向かない気がするので、WiFiが使えるESP32マイコンでMQTTブローカーに接続してWEBアプリからブローカー経由で制御するような構成を考えました。

ハードウエアの検討

そのためのハードウエアにはM5Stamp Picoという小型省電力のESP32マイコンを使い、電源はAB線から頂くことを検討しました。M5Stamp Picoを80MHzで動かし、MQTTブローカーにWiFiで接続すると、3.3V端子から電源給電する場合、平均電流40mA~45mA程度でした。(この値は接続先アクセスポイントの設定で変わる可能性があります。テスト環境ではビーコン間隔100msec, DTIM=1の設定で運用中のAPに接続しています。)スイッチングレギュレータを使って15VのAB線から降圧すれば、AB線からもらう電流は10mAくらいで済みそうです。リモコンの据え付け説明書や空調機器ハンドブックの応用制御編によると有線リモコンは親機と子機各1台ずつの2台まで接続できるとありますので、親機1台のみ設置時にはAB線の定常的な電源供給能力は最低でも20mA余裕があるので、10mA程度なら問題なさそうです。ただ、Stamp Picoには瞬間的に200mA超の電流がながれるので、単純にスイッチングレギュレータを使うだけだとAB線に電源電流の変動波形がのってしまいます。

下図は起動してクロックを80MHzに設定、WiFiとMQTTの接続というプログラムを走らせた時の3.3V電源の電流波形です。1Ωのシャント抵抗を電源とPicoの間に挿入して電流を計測しています。

M5Stamp Pico起動時の電流波形(3.3V給電)

無線LAN起動後、アクセスポイントに接続するまで定常的に100mA流れています。接続後はmodem-sleepでアクセスポイントのビーコン間隔に合わせて間欠的に無線回路を起動し、平均電流が小さくなるような動作をしています。

ワイヤレスコントローラーの回路

電源電流変動の影響を抑えるため、大容量の電気二重層キャパシタを使うことにして、最終的には次のような回路にしました。

自作ワイヤレスコントローラーの回路

リモコンと自作コントローラの結線

電気二重層キャパシタC2充電時に過大電流が流れないよう、電流制限回路を挿入しています。そのためC2に直結のStamp Pico (M1)の電源電圧は、かなりゆっくり上昇します。それでもM1が正しく起動するよう2.7Vの電源監視IC (U1)を使ってM1にリセットをかけています。世界的な半導体不足で電源監視ICは主要なものが軒並み在庫なしの状態で、ちょうどいいものを探すのに苦労しました。

電流制限用トランジスタはコレクタ損失最大定格が十分なものを探せなかったので、Q1, Q2の2系統並列接続にしました。

M2はスイッチングレギュレータAP63203搭載のSparkFunの3.3V降圧レギュレータモジュールです。M2の入力に入っているC1は、これがないとM2が不安定になって電流がステップ状に変動してしまうために入れてあります。それだけだとAB線の通信パルスをAC的にショートしてしまうためR5を入れましたが、R5の電圧降下が大きいと、それに従ってM2の入力電流が大きくなってしまうため、C2充電時の最大電流で動作が破綻しないように値を決めました。AB線のソースインピーダンス推定値が20Ω程度なので、R5が47Ωだと通信パルスの振幅がもとの70%くらいになってしまう計算ですが。

電気二重層キャパシタC2は秋月電子通商から購入した1.5F 5.4Vのもので、等価直列抵抗がDCで195mΩという大電流充放電対応のものを使いました。寿命は65℃, 5.4Vで1000時間なので、10℃低下で寿命2倍の法則と、電圧のディレーティングがよくわかりませんがパナソニックの技術資料にある5.5V品を3.3Vで使用した場合に2.8倍という記述を参考にすると、ちょっと心もとないですが3年半くらいの寿命になりそうです。

シリアル信号の接続には、Stamp Pico側の電源立ち上がりが遅いのと、電圧レベルも異なるのでフォトカプラを使っています。TX側はフォトカプラだけだとパルスの立ち上がりがなまって通信できなかったので、R10とD2Aを入れました。

 

ワイヤレスコントローラー基板の製作

作製した基板がこちらです。

自作コントローラ基板

壁のリモコンのバックプレート裏側のスペースに入れるため、小さく作りたかったのと、部品の入手性を考えて、回路図青の点線部分はチップ部品と汎用シール基板(サンハヤトICB-078)を使って組みました。

半田付けにそこそこ時間がかかったので、深センの基板屋などで基板を起こしたほうがはやかったかもしれません。

 

動作状態の確認

エアコン本体からAB線経由で電源供給をうけるので、過大電流がながれたり通信を妨害したりしていないかAnalog Discovery 2を使って各部の波形を測定しました。

電源投入時

電源投入時のVDD_MCU電圧(Channel 1)と/RESET電圧(Channel 2)

電源投入時のStamp Picoの電源電圧とリセット信号の波形です。起動後クロックを80MHzに設定しWiFiに接続、さらにMQTT接続後RC_RXのシリアル信号をパケット毎にMQTTでそのまま送信するプログラムを実行しています。ESP32-PICO-D4のデータシートでは電源電圧の最低値が3.0Vとなっているのですが、定常状態ではこの条件をみたしています。

 

電源投入時のM2-3V3電圧(Channel 2), Q1エミッタ電圧(Channel 1)とC2充電電流(Math 1)

C2充電電流最大値は150mA程度です。

 

電源投入時のRC_H電圧(Channel 2), M2-VIN電圧(Channel 1)とM2-VIN入力電流(Math 2)

C2充電時にAB線から流れ込む最大電流は50mA程度です。ところどころのスパイクは通信パルスですが、C2充電時もリモコンと本体は正常に通信できているようです。

 

通常動作時

定常状態のRC_H電圧(Channel 2), M2-VIN電圧(Channel 1)とM2-VIN入力電流(Math 2)

C2充電完了後の定常状態にAB線から流れ込む電流は13mA程度です。有線リモコン子機を接続していなければ問題ない電流値です。RC_H電圧にのっている通信パルスの振幅は見積もり通り自作ボード接続前の70%くらいになっています。

 

RC_H電圧(Channel 1)とリモコン基板のQ3コレクタ電圧(Channel 2)

自作ボードを接続したことで、AB線の通信パルス振幅が減少しましたが、リモコン基板上ではQ3で十分増幅されているので問題なさそうです。本体側も同様の回路だとすれば、とくに問題はなさそうです。

異常時

AP停止時のRC_H電圧(Channel 2), M2-VIN電圧(Channel 1)とM2-VIN入力電流(Math 2)

なんらかの理由で無線LANに接続できない場合、modem-sleepが効かなくなってStamp Picoの消費電流が大きくなり、AB線からの電源電流は30mA程度になります。有線リモコン1台の消費電流が20mAあることと、リモコンは親機1台子機1台の合計2台まで接続できることから、AB線の電源供給余力は、接続するリモコンが親機だけなら最低20mAあります。余力が本当に20mAぎりぎりとすると無線LANアクセスポイントが長時間停止した場合、常時10mAほど足りない計算になります。また、自作ワイヤレスコントローラでは電流制限回路の電圧降下でStamp Picoの電源電圧が2.8V程度まで低下し、最低電圧の規格を満たさなくなります。ESP32の他のバージョンでは以前は最低電圧2.2Vと指定されていたものが無線接続時の安定性を考慮して3.0Vに修正されたという経緯らしいので、アクセスポイント復帰時に安定して再接続できない可能性があります。

そこで接続が切れた場合、deep-sleepを入れるようにしました。

RC_H電圧(Channel 2), M2-VIN電圧(Channel 1)とM2-VIN入力電流(Math 2)

グラフの0分から2分あたりまでアクセスポイントが停止しています。無線LAN切断直後40mAまで消費電流が増えている点に懸念がありますが、20秒deep-sleepして約5秒以内に再接続できない場合は再度deep-sleepする設定で、アクセスポイントが長時間停止しても20mA以上流れないようにできました。ずっと電流が増減し続けるのもよくなさそうなので、分単位のdeep-sleepを入れるかリトライ回数に従ってsleep時間を増やすのがいいかもしれません。

MQTTサーバーが停止した場合については、目立った消費電流の増加はありませんでした。

ファームウェア

M5Stamp Picoのファームウェアはこちらです。

github.com

まとめ

  • 東芝製業務用エアコン類似機種を操作するためのワイヤレスコントローラを作成しました。
  • 電源は有線リモコンからとっているので別系統の電源を用意する必要がなく、リモコンの裏に埋め込むことができて外観を損ないません。
  • スマホやPCから操作するためのソフトウエアはまだ完成していませんが、MQTTサーバー経由でパケットを送って簡単な制御ができることを確認しています。
  • 電源投入時に約30秒、無線LANアクセスポイント停止直後に10秒程度、エアコン本体から最大50mA程度の電流が流れる点に懸念がありますが、その他の状態ではリモコン1台分の電流(20mA)以下で動作します。

 

2023.08.16 追記
スマホやPCから操作するためのパケット処理プロセッサーとウエブアプリを作成してGitHubで公開しています。エアコン付属のリモコンには表示されない運転レベルやフィルターの使用時間をモニターできるようにしました。また、付属リモコンではメンテナンスモードにしないと表示できない各部の温度センサー測定値とコンプレッサーの運転電流を1分間隔で更新しながら常時表示するようにしています。ブラウザとサーバー間はWebSocketでリアルタイム通信できるようにして、温度設定などの操作結果をすぐ画面に反映するようにしてあります。オリジナルのリモコンにはついていないスケジュール運転機能も実装しました。
運転レベルと室内ユニット熱交換器の温度をモニターできるようになったので、むやみに温度設定を変更するようなことがなくなり、スケジュール運転とあわせて非常に快適になりました。

github.com

github.com

 

F-06F らくらくホン3でGoogleアカウントを使う(Viberのバックアップ)

かなり古い2014年発売のdocomoらくらくホン3(富士通製 F-06F)を家族がまだ使用しています。普通のスマホとちがってGoogleアカウントが使えず、プレイストアからアプリをインストールできない機種ですが、PCからUSB接続でViberをインストールして連絡用に使っています。OSのバージョンが4.4.2と古く、いろいろサポートが切れる時期が近づいているのではないかということで機種変更の検討をはじめたのですが、Viberのチャット履歴に関してGoogle Driveにバックアップするという機種変更時の履歴の移行方法が使えません。同じ機種の中古品(1000円もしませんでした)を購入して、どうしたものかといろいろ調べたり試したりした結果、なんとかGoogleアカウントを使えるようにしてViberのバックアップを実行することができました。もうさすがにこの機種を使っている人はほとんどいないとは思いますが、この手法でGoogleフォトやGmailなども使えるようになるので、もしかすると誰かの参考になるかもしれません。

PCにAndroid Studioをインストール

PCからスマホにアプリをインストールするためのPC側の準備です。Windows10を使っていますが、LinuxMacでもできると思います。具体的な方法はネットで手順を調べてください。Windowsであれば、コマンドプロンプトでadbコマンドが使えるようになっていればOKです。サイズが大きいので、adbコマンドだけ使えるようにするようなやりかたもあると思いますが、そちらについても必要なら調べてください。

使用するスマホアプリのapkファイルをPCにダウンロード

必要なアプリをPCでダウンロードします。以下のアプリ名かファイル名で検索して、APKMirrorのサイトからダウンロードするといいです。APKMirrorにアップされているファイルがほんとうに安全かどうかはわかりませんので、自己責任で使用することになります。アプリのバージョンはF-06FにインストールできるAPI19というOSの仕様に適合するものの中で、2022年2月時点で相互の依存関係を満たして動作するものを選定したつもりですが、試行錯誤の結果なので最適な組み合わせになっていないかもしれません。

  1. Google Account Manager 4.4.2-940549 (Android 2.2+)
    • com.google.android.gsf.login_4.4.2-940549-19_minAPI8(nodpi)_apkmirror.com.apk
  2. Google Services Framework 4.4.2-940549 (Android 4.4+)
    • com.google.android.gsf_4.4.2-940549-19_minAPI19(nodpi)_apkmirror.com.apk
  3. Google Play services 20.21.15 (000300-313409149) (000300)
    • com.google.android.gms_20.21.15_(000300-313409149)-202115000_minAPI16(armeabi-v7a)(nodpi)_apkmirror.com.apk
  4. Google Play Store 22.4.25-16 [0] [PR] 337959405 (nodpi) (Android 4.1+)
    • com.android.vending_22.4.25-16_0_PR_337959405-82242500_minAPI16(armeabi,armeabi-v7a,mips,mips64,x86,x86_64)(nodpi)_apkmirror.com.apk
      PCからプレイストアをインストールしてもアプリのインストール権限がないので実際には使えませんが、これを入れないとViberのバックアップメニューが表示されません。
  5. Viber - Safe Chats And Calls 15.2.0.14 (arm-v7a) (nodpi) (Android 4.2+)
    • com.viber.voip_15.2.0.14-620617_minAPI17(armeabi-v7a)(nodpi)_apkmirror.com.apk
      これはViberのアップデート用です。この版では画像と動画のバックアップもできます。

USBデバッグモードでらくらくホンをPCに接続

この手順は、Viberをインストールした際に実施済みですが、PCからスマホにアプリをインストールするためのスマホ側の設定です。
設定→その他→端末情報で表示されるビルド番号を7回タップすると開発者向けオプションが使えるようになります。

f:id:lathe00744:20220213192925p:plainf:id:lathe00744:20220213192951p:plainf:id:lathe00744:20220213193022p:plain

高度な設定の画面に開発者向けオプションが表示されます。開発者向けオプションでUSBデバッグを許可します。

f:id:lathe00744:20220213193114p:plainf:id:lathe00744:20220213194604p:plainf:id:lathe00744:20220213194622p:plain
USBでパソコンに接続すると「USBデバッグを許可しますか」と表示されるので、それも許可します。

アプリのインストールと権限の付与

PCでコマンドプロンプトを開き、アプリのapkファイルを保存したディレクトリをカレントディレクトリにして以下のようにアプリをインストールします。Google Play servicesには追加で権限を付与します。これをしないとViberGoogle Driveの関連付けの設定ができないのですが、この設定にたどり着くのに時間がかかりました。Fireタブレットにプレイストアをインストールするという記事がネットにいくつかあるのですが、それらの記事がとても参考になりました。

adb install "com.google.android.gsf.login_4.4.2-940549-19_minAPI8(nodpi)_apkmirror.com.apk"
adb install "com.google.android.gsf_4.4.2-940549-19_minAPI19(nodpi)_apkmirror.com.apk"
adb install "com.google.android.gms_20.21.15_(000300-313409149)-202115000_minAPI16(armeabi-v7a)(nodpi)_apkmirror.com.apk"
adb shell pm grant com.google.android.gms android.permission.INTERACT_ACROSS_USERS
adb install "com.android.vending_22.4.25-16_0_PR_337959405-82242500_minAPI16(armeabi,armeabi-v7a,mips,mips64,x86,x86_64)(nodpi)_apkmirror.com.apk"
adb install -r "com.viber.voip_15.2.0.14-620617_minAPI17(armeabi-v7a)(nodpi)_apkmirror.com.apk"

adb shell pm grant ...の部分が権限の付与です。adb install -r ...はインストール済みアプリ(Viber)のアップデートです。Viberのバックアップが目的ではない場合は必要ありません。実際には各adbコマンドごとに、進行状況などの出力が表示されます。

Viberでチャット履歴をバックアップ

Viberを開き、その他→設定→アカウント→Viberをバックアップ、と進みます。上記の手順がうまくいってないと「Viberをバックアップ」が表示されません。その際は手順に間違いがないか要確認です。一旦com.google.android.gsf.loginをアンインストール後、再インストールするとうまくいくかもしれません。(アンインストールはadb uninstall "com.google.android.gsf.login"です。)

f:id:lathe00744:20220214212223p:plainf:id:lathe00744:20220214212318p:plainf:id:lathe00744:20220214212355p:plain
続いて、「現在Google Driveに接続されていません」のところの設定をタップします。うまくいけば、「Googleアカウントを追加」が表示されます。Google開発者サービスのエラーなどが表示される場合はうまくいってない状態です。2022年2月時点ではうまくいきますが、今後もうまくいくかどうかはわかりません。
f:id:lathe00744:20220214213439p:plainf:id:lathe00744:20220214212603p:plainf:id:lathe00744:20220214230912p:plain
画面の指示に従って、Googleアカウントの情報を入力していきます。(この操作でデータ消失、違反行為とみなされてアカウント凍結など、Googleアカウントに何らかの不具合が発生しても責任を持てませんので、参考にする場合は自己責任でお願いします。新しいアカウントを作成するのが安全かと思います。)
f:id:lathe00744:20220214212658p:plainf:id:lathe00744:20220214212708p:plainf:id:lathe00744:20220214212726p:plain
アカウント追加が成功すると、バックアップが可能になります。
f:id:lathe00744:20220214212754p:plainf:id:lathe00744:20220214212808p:plainf:id:lathe00744:20220214214150p:plain
嬉しくてみんな小躍りしてますね (復元の画面です)。
Googleアカウントが必要なViber以外のアプリも同様の手順でアカウント設定すれば使えるようになっているのではないかと思います。

付録 F-06Fで使えるその他のGoogleアプリ

  • Google Photos 4.13.0.240385459 (arm-v7a) (nodpi) (Android 4.4+)
    • com.google.android.apps.photos_4.13.0.240385459-3371193_minAPI19(armeabi-v7a)(nodpi)_apkmirror.com.apk
  • Google Drive 2.18.232.03.30 (arm-v7a) (nodpi) (Android 4.4+)
    • com.google.android.apps.docs_2.18.232.03.30-182320330_minAPI19(armeabi-v7a)(nodpi)_apkmirror.com.apk
  • Gmail 2019.10.20.278647676.release (noarch) (nodpi) (Android 4.4+)
    • com.google.android.gm_2019.10.20.278647676.release-61951672_minAPI19(nodpi)_apkmirror.com.apk
  • Google Maps 10.15.3 (nodpi) (Android 4.4+)
    • com.google.android.apps.maps_10.15.3-1016200030_minAPI19(arm64-v8a,armeabi-v7a,x86,x86_64)(nodpi)_apkmirror.com.apk
  • Google App 9.94.5.16 (arm-v7a) (nodpi) (Android 4.1+)
    • com.google.android.googlequicksearchbox_9.94.5.16.arm-300953575_minAPI16(armeabi-v7a)(nodpi)_apkmirror.com.apk
      音声検索とかできるアプリです。

以上です。