CPU冷却ファンを元の30mm角に戻し、さらにヒートシンクをCPUに熱伝導両面テープで貼り付け固定。サーミスタの接着もやり直しました。
この状態で念のため温度変動をプロットしてみると・・・あららこちらもハンチングが収まらなくなりました。
ヒートシンクやサーミスタの熱結合が変わって伝達関数も変化したのかもです。温度が目標値以下になっているのにファンが加速する、つまり応答にラグタイムがあるようなので遅れ要素に寄与する積分ゲインKiを下げました
だいたいこんな感じで安定するようになったのでパラメータはこれで決定とします。ついでにPIC自身に内蔵されている温度センサ(ダイオード4個分の順電圧)のA/D値取得、1秒毎の割込みカウント値取得のコマレスI/Fも追加しました。電源ON後、割込みはi486CPU側とは無関係に行われるのでカウント値を参照することでリアルタイムクロックのように経過時間を利用できます。
またi486CPU側でレスポンスを取りこぼすことがあるので1バイト単位のハンドシェイク(getcom()で同期)を組込んでこれでPIC12F1822のファームはFIXにします