獣医さんの電子工作とパソコン研究室
 
 60.切り忘れ防止タイマ付きハンダ鏝台の製作(R8C/29) 

  

  
 ■ 切り忘れ防止タイマが欲しい!

 ハンダごでの電源を時々切り忘れてしまい。翌日になってヒヤっとした思いが今までに何度かあります。半田鏝のコンセントには通電のパイロットランプもつけてあるのですが、うっかりということがあるので、時限タイマを欲しいと思っていました。
市販のタイマ付きコンセントで充分かもしれませんが、ちょうど秋月で購入したR8Cがありましたので、これを使ってタイマを作りました。 
 ジャンクのCD-ROMのケースがちょうど良い形でしたので、半田鏝の置台にし、その中に内蔵する形にしてみました。電源の入切にSSRを使うことを考えていたので、色々実験しているうちに、温度調節も出来ないかということで、簡易の温度調節機能もつけてみました。
 

 ■ R8Cマイコン

 今回の主役はルネサスのR8Cマイコンです。今回の内容的にはPICでも充分ですが、使い慣れたCPUということもあり、ちょっと時代遅れかもしれませんが、秋月でR8Cシリーズを販売していましたので、容易に入手することが出来るということで、使ってみました。
 R8Cシリーズは開発環境もルネサスが提供しているものをそのまま使えますし、RS232C接続で書き込み、オンチップデバッグも出来、とても便利に使うことが出来ます。
 欠点としては、パッケージがDIPタイプのものがありませんので、ブレッドボードで実験したりユニバーサル基板に実装するのが不便です。
  

■ マイコンモジュール基板を作る。

 今回使用したCPUはR5F21294SNSP 内部ROM16KB 内部RAM1KB データフラッシュ用メモリ 2KBのR8C/29というタイプのものです。パッケージはSSOP 20pinですので、市販の変換基板でも対応できます。
 このままのパッケージでは使い難いので、他のR8Cマイコン用の変換基板と一緒にEAGLEでパターンを作成してOLIMEXに注文し製作してもらいました。R8C25用4枚、R8C26用5枚、R8C29用7枚が面付けでき、注文時のルールーにしたがって注文しただけですが、特に問題なく送られてきました。11/4に注文して11/20には手元に届きました。OLIMEXへの注文は2回目でしたが、自分の基板が届くと嬉しいですね。

変換基板EAGLEプロジェクトファイル

R8C/28,29 DIP変換基板、回路図↑
(図をクリックすると拡大します)
発振子とモード切替部を載せただけのものです。

これで、ブレッドボード上で実験が簡単に出来るようになりました。まだ基板が余っていますので、必要な方はお譲り致します。

  

■ ブレッドボードで実験。 

最終的な回路は下図のようになりました。

ブレッドボードで7segLEDの点灯実験から始め、ロータリーエンコーダーの部分やタイマの部分など、一つ一つを実験しながらプログラムを組んでゆきました。
 
いつものように木の板にブレッドボードを固定しての実験です。 

R8C/29はIOポートをフルに使おうとすれば、16本(下記)となります。
今回は、15本使うことになり、デバッグ時や書き込み時には少々工夫する必要があります。
 
実装時とは別のポートを使って、一つ一つ実験しながらプログラムを組み立ててゆきました。
 ■ 部 品 
 7セグメントLEDは秋月で販売しているSL-9263-22 アノードコモンのものです。
電流制限用抵抗には390Ωを使いました。
 ロータリーエンコーダーも秋月で販売しているEC16Bというものです。使い方は EC16B−検索 でいろいろな使い方を知ることが出来ます。
 SSRは秋月のソリッドステート半導体リレーキットをそのまま使いました。ゼロクロスタイプのものなら何でも大丈夫です。
 ケースはジャンクのCD-ROMのケースを利用しました。
 
 ■ R8C/28,29のデバッグ、書き込みについて 
 デバック、書き込み時は パソコンからレベル変換したRS232Cの信号をP4_5にRXD、P3_7にTXDを接続します。今回はオンチップオシレーターを使いますが、デバッグ・書込み時には発振子をつける必要がありますので、モジュールボードの発振子用の穴に20MHzのセラミック発振子を差し込んで実験しました(この場合、上の回路図ではロータリーエンコーダーが接続されており、プルアップされていますので、接続を外しておかなければなりません)。この状態で、MODEピンをGNDに落とせは、書き込み用のパソコンから通信できます。
 オンチップデバッグ時の注意点がいくつかあります。
まず、オンチップオシレータを使わない設定が必要です。UART1関連のレジスタをアクセスしてはいけません。P4_7、P3_7へのアクセスはしないほうが良いようです。
 
 そんなわけで、今回の例では実装時のプログラムのままではオンチップデバッグができませんので、一部分ずつ実験しながら全体のプログラムに組み立ててゆきました。
 
 ■ プログラム
作成したプログラムを掲示します。
プログラムには細かくコメントを書き込んでありますので、見ていただければと思います。
HEWプロジェクトファイル一式
mainの部分.c
  タイマAは10msごとの割り込みを発生し、LEDのコモンをドライブするようにしています。2桁ですがダイナミック表示となっていて、10msの間隔で1桁目と2桁目を交互に点灯させています。タイマAは同時に動作表示用のLED-DPの点滅に1秒のカウンタとしても使っています。
タイマBはSSRの制御用に20msごとの割り込みを発生しています。タイマAで兼用しても良かったと思います。この20msについては後で説明します。

  ロータリーエンコーダーの部分はピカントCというPICのコンパイラのサンプルプログラムをそのまま使いました。ちよっとおかしな動作をすることがありますが、とりあえず設定用には使えます。
プログラム的にはロータリーエンコーダーを直接動かすと温度の設定、SETスイッチを押してからロータリーエンコーダーを動かすと時間を設定できるようにしてあります。
いずれもSETボタンで設定終了となりますし、一定時間ロータリーエンコーダーが動かなかった場合も設定完了となるようにしています。
 
 ■ データフラッシュメモリの利用 
 設定値を記憶して、次に電源が入ったときには前回の設定値を読み出して利用するようにしました。これにはR8Cに内蔵されているデータフラッシュメモリを利用しましたが、よくI2C接続で使うEEPROM等とは性質が違い、一度書き込んだアドレスに対して、その部分だけを上書きしたり消去したりできません。消去はブロック単位でしかできないため、データブロックに対して全てのアドレスに書き込んだ時だけ消去して、新たなデータを書き込むという手法を取っています。ルネサスのアプリケーションノートにありますので参照してください。データフラッシュのプログラム(dataflash.h)はルネサスのアプリケーションノートのものを若干改造して使っています。 
  
 ■ 温度調節機能について(波数制御による電力制御) 
 SSRを使った電力調節は、通常ACの正弦波の0Vを横切るところを検出して、そこから一部分の正弦波を切り取るような形でスイッチングするのが通常の電子スライダックです。
 
 ACのON/OFFにSSR(ソリッドステートリレー)を使うつもりでいましたので、SSRを利用して簡単に温度調節が出来ないかと思案していたら、こちらのサイトを見つけました。
 今回は、連続している正弦波を間引くという波数制御による電力制御で作ってみました。この場合も本来なら正弦波の0Vを検出して行うべきですが、SSRにゼロクロスタイプ(ONにしても必ず0Vから正弦波が始まる)を使うことで、マイコン内部で作った20ms(50kHz)のタイマを利用して、そのタイミングでSSRをコントロールするという簡易な手法をとりました。
 これで、白熱電球をつなぐと、完全にチラチラしていて使い物になりません。ハンダ鏝のようなものなら、これでも温度コントロールが出来ると思いますが、正しいのかどうかわかりません。下の図は完成したものに白熱電球をつけてオシロで見た波形です。
意図したようになっています。
 
 こちらは、実際にハンダ鏝先端に温度計をつけての
鏝先温度の実測値です。
テスターの温度センサをこて先にくくりつけただけの測定です。
 意図した結果となっていますが、まだまだ検討の余地はあると思います。
  
 ■ ケース組み込みの様子
 ケースは古いCD-ROMのケースがちょうど良い大きさでしたので、これをを流用しました。
 
 表面にはアルミ板でパネルを作り、LEDやスイッチなどはエポキシ系の接着剤で固定しました。

 穴開き基板への部品の実装はEAGLEで下図面を作ってから行いました。このようにすることで、かなり間違えが減らせるようになりました。

トランスはACアダプタのジャンクです。
電源回路にラグ板を使いました。簡単な回路には便利ですね。
  右下が秋月のSSRキットです。
裏から見たらCD-ROMです。
上側はアルミテープを貼りました。
黄色く見えるのはブザー用の圧電素子です。マクドナルドのおもちゃから取ったものです。
 書き込んでいる様子です。
 手前には実験に使ったボードが見えています。
下の写真は書込み時の様子です。書込み時には発振子が必要ですので、セラロックは基板に差し込んでいるだけです。
今回は、R8C/29を使って製作しましたが、ピン数の多いR8C/27を使ったほうが、デバッグも簡単に出来ます。ジャンクCD-ROMドライブのケースを使った製作はWebラジオに続き2品目ですが、わりと使いやすく形も良いので、また、何かの時に使いたいと思っています。
Last up date 2010/02/25

 

This page count Total:20624 / Today:4 / Yesterday:1  

 本業のページ