ヒーター制御回路の電源部です。
AC100Vをトランスで取り込んで、マイコンの割り込み信号として使っています。東日本では周波数が50Hzですから、10ミリ秒毎に割り込みが入ります。(50Hzの周期は20ミリ秒ですが、この割り込みはゼロクロス毎に入るので10ミリ秒毎です 下の画像は割り込み信号 立ち上がりエッジでの割り込みです。)
この割り込みを元にタイマーを使ってフォトカプラをオンする時間を計算しています。
拡大したのが、次の画像
カーソル間が630マイクロ秒程度あるので、割り込み検知から350マイクロ秒程度の位置がゼロクロスだと仮定します。このゼロクロス位置でタイマーを起動します。即ち、半波の時間が10ミリ秒ですから、割り込み信号(レベルH)の中心から5ミリ秒経ってからトリガパルスを入れれば、50%のオン時間となります。具体的にはタイマーが設定値になったら割り込みを入れ、ここで100マイクロ秒程度のトリガパルスをトライアックに与えます。トリガパルスを受けたトライアックは(パルスがオフになっても)次のゼロクロスまで導通状態を保持します。従って5ミリ秒の期間オン=50%のオン時間です。
割り込み毎にマスターマイコンからのオン時間の情報(4ビット)をポートで読んでタイマーの値として設定しています。また、100%出力の場合には、タイマーを起動すること無しにここでトリガパルスを出してしまうことによって、半波の全期間オンされます。
トライアックはTG40E60を使っているのでかなり大電流まで使えますが、今回のターゲットは1200Wのトースターなので15Aを上限にハードを構成しました。インレット、アウトレットは15A品。ヒューズは15A。電線は2スケアです。
放熱についてはデータシートから組立に適した製品を選んでみました。熱抵抗の値と放熱器の関係がよく理解できなかったので、実際に動作をさせて確認しました。万が一高温になったときのことを考えて放熱器に温度センサを取り付けて割り込み毎に温度を確認、70度こ超えたときは自動停止するようにしました。ところが予想に反してほとんど熱くなりません。これなら今回の使い方では放熱器を使わずにケース直付けでも問題無さそうです。
なお、このトライアックのデータシートには誤りの記述があるようで、グラフにあるF-40(以前この製品向けに用意されていた放熱器の型番だそうです)のRth(熱抵抗)は1.95ではなく2.95が正しいようです。