中古のヘルシオAX-L1をメルカリで500円でゲットしました。
油汚れまくり、板金ボコボコ、プラパーツバキバキでしたが、壊れてなく(?)ラッキーな買い物でした。
しかし、使いづらいのがノブ
回すのですが、狙った番号にならない。通り過ぎちゃう。
なので、Arduinoで改造しました。

普段使うのは自動温めの3番,手動温めの29番なので、それを一瞬でできるようにプッシュスイッチをつけました。
ポチッとすると3番,29番になるような感じです。
ノブはロータリーエンコーダなので、パルス信号が出ています。
ポチった時にArduinoからパルス信号をだしてノブを模擬します。
3番がノブ3回転分なら、Arduinoから3回転分のパルスを出します。

いざヘルシオを開封

alt text
alt text
alt text
alt text

ノブの波形を見てみます。
適当に線を伸ばして alt text
alt text

波形はしっかり2相ズレて出力されています。
回さないと3.3Vだったのでプルアップされています。
alt text

ノブ、スイッチの両方で動作するような回路にします。
といってもダイオードを入れただけです。
ダイオードのアノード側はヘルシオのロータリーエンコーダに並列に接続します。
スイッチを接続したポートはArduinoの内部プルアップとしました。

一応シミュレーションで見てみると大丈夫そうです。
スイッチを押してロータリーエンコーダを回していない時は、ダイオードが導通するためスイッチのプルアップ抵抗とロータリーエンコーダのプルアップ抵抗の両方から電流が流れます。
プルアップ抵抗が同値なら2倍の電流が流れますが、抵抗値はおそらく数kΩで電流は大した事ないので問題ないと思います。
ちなみにシミュレーション上の電圧などの定数は動作を見るためだけだったので適当です。
alt text

回路図はkicadで書きました。
githubにあげました。
atooshi-note/AX-L1 alt text

Arduinoのプログラムもgithubにあげてあります。
alt text

スイッチは以下の4つ実装します。
ノブ左1回転(left)、自動温め(atatame)、手動温め(syudou)、ノブ右1回転(right)
手動温めは29番で29回転は多いので後ろから数えています。

ノブ左1回転(left)
alt text

自動温め(atatame) alt text

手動温め(syudou) alt text

ノブ右1回転(right) alt text

動作が確認できたので、きれいに付けて
alt text

ブレッドボードで最終動作確認して
alt text

基板に実装して固定。むき出し
alt text

便利!!

以上