Top Page [◀◀] 2 3 4 5 6 7 8 9 ... [▶▶] Last Page
ルネサスのRL78/G11のプロモーションボード(YRPBRL78G11)を入手したので、しばらくこれに関係して投稿します。以前に、このボードをエミュレータ部とRL78/G11を切り離した使い方(RL78/G11始めます)がありましたが、「ハーフピッチの半田付け」や「パッドからの信号の引き出し」はかなりの難易度でした。そこで、ここではできるだけ難しい半田付けは後回しにしてどこまで使えるかを追求してみました。(備考:中には、他の人が作ったものを代表して投稿するものもあります。)最初に、入門用でよく使われるLEDチカチカから始めます。今回の関係するファイルは、かふぇルネのサンプルプログラム等に"RL78/G11でのLEDチカチカ(その1)"としてアップしています。japan.renesasrulz.com/.../421 最初はLEDでP5(E2OB側から見て左の一番手前)とP11(GND)を挟むものです。5mmφのLEDならちょうど挟めます。電流制限抵抗なしでLEDを直接ドライブしているのをよく見かけます。しかし、ここでは、そんなスペックを無視した使い方はしません。その代わりに、赤色の抵抗内蔵LED(OSR6LU5B64A-5V)を使います。このLEDは秋月電子で10個\120で販売されています。抵抗内蔵LEDには何種類かありますが、ここでは5V用のものを使用します。YRPBRL78G11のRL78/G11は3.3Vですが、十分に明るく光らせることができました。サンプルプログラムはApplilet EZ PL for RL78 V2.2で作成してあります。添付のzipファイルを解凍すると、以下のようなファイル構成となります。①外付けLEDを点滅させる.zip | |- サンプルLOCファイル | | | |-Simple_Check_with_LED.loc… Applilet EZ PL for RL78のファイル | |-サンプルLOCファイルについて.pdf… Applilet EZ PL for RL78ファイルの解説 | |- Simple_Check_with_LED.hex… Applilet EZ PL for RL78の出力HEXファイル |- Simple_Check_with_LED.mp4… サンプルプログラムの動作イメージ動画 |- Simple_Check_with_LED.zip… CS+CC-RLのプロジェクトここでは,CS+CC-RLのプロジェクトを解凍して、Simple_Check_with_LEDディレクトリの中のSimple_Check_with_LED.mtpjをダブルクリックしてCS+CCを起動します。YRPBRL78G11をPCのUSBに接続しておき、ビルドしてデバッガにダウンロードします。実行させると500ms毎に点灯と消灯を繰り返します。実行の様子は動画を参照してください。
今回は、LEDチカチカの2回目です。
ルネサスのRL78/G11のプロモーションボード(YRPBRL78G11)はE2OB部のSWとLEDをRL78/G11側から使えるようです。
切り離してしまった場合には、今回のプログラムは使えませんので注意してください。
今回の関係するファイルは、かふぇルネのサンプルプログラム等に"RL78/G11でのLEDチカチカ(その2)"としてアップしています。
今回はSW(P137に接続されている)とLED3(VDDとP56の間に接続)を使ってみます。
プロジェクトとしては、250msのクロックをD-F/Fで分周した500msの信号と250msのクロックのどちらかをSWの入力で選択して出力するものです。以下にApplilet EZ PL for RL78のパネルとシミュレーション結果を示します。
ここでは,CS+CC-RLのプロジェクトを解凍して、Simple_Check_with_LED3ディレクトリの中のSimple_Check_with_LED3.mtpjをダブルクリックしてCS+CCを起動します。
YRPBRL78G11をPCのUSBに接続しておき、ビルドしてデバッガにダウンロードします。
実行させるとE2OB部のグリーンのLEDが500ms毎に点灯と消灯を繰り返します。さらに、SWを押すと点滅周期が半分になります。
実行の様子は動画を参照してください。
添付したzipファイルのなかの構成は以下の通りです。
②オンボードLEDを点滅させる.zip |
|-Simple_Check_with_LED3.loc… Applilet EZ PL for RL78のファイル
|-Simple_Check_with_LED3.hex… Applilet EZ PL for RL78の出力HEXファイル
|-Simple_Check_with_LED3.MP4… YRPBRL78G1でのプログラムの動作イメージ動画
|-Simple_Check_with_LED3.zip… CS+CC-RLのプロジェクト
次回は、半田付けなしで切り離したE2OB部とRL78/G11部をケーブルで結びます。
In reply to EB68:
今回は、E2OB部とRL78/G11部の切り離しです。
ルネサスのRL78/G11のプロモーションボード(YRPBRL78G11)はE2OB部とRL78/G11部を切り離して使用できますが、その場合には小さなボードで1.27mmピッチでの半田付けが必要でした。この狭ピッチの半田付けは初心者(特に半田付けの経験が少ない人)には困難です。さらに、そこで使うケーブルも難題です。(どこかで、そのようなものを供給してもらえばうれしいのですが。)
AWG22(0.65mmφ)相当の単線(これは、ブレッドボードの配線に最適です)では太すぎてスルーホールに入りません。AWG25(0.5mmφ)相当の単線では細すぎます。
色々探してみたところ、秋月電子で販売している「細ピンヘッダ」がピッタリでした。試しに、YRPBRL78G11に添付されている24ピンのボードで試してみました。
細ピンヘッダを、3ピン分を切り離してボードに当てます。これを板の上でたたいてボードに固定します。このとき、小さな金づちを使って少しずつ打ち込んでいきます。手元に適当な金づちがなかったので,右下に示すソケットレンチ回しを使ってみました。
その後、黒いプラスチック部分をニッパー等で取り除きます。このとき,基板のパターンを傷付けないように注意してください。
あと3本が残っているので、ピンを1本ずつピンセットでつまみながら打ち込んでいきます。最初に打ち込んだ3本をガイドにして作業してください。
6本のピンを打ち込んだのが左下の写真です。そのままでは接続できないので、中央下のように互い違いに折り曲げます。右下はE2OB部にピンを立てたところです。
1.27mmピッチに打ち込んだピンを互い違いに折り曲げたことで,一般的な2.54mm用のケーブルが使えます。例えば、秋月電子の「ブレッドボード・ジャンパー延長ワイヤ(メス-メス)」を使うことで、接続可能です。手元に数が揃っていなかったので、バラバラの線になりましたが、下の写真のように接続して動作させることができました。動作させたプログラムは、このスレッドの最初に使ったものです。
ここまで半田付けは全く行っていません。一応、目的達成です。
さすがにこれ以上は、外部回路と接続するにはRL78/G11部の信号端子を半田付けしないといけませんが、後は2.54mmピッチでいいので難易度ははるかに下がります。
使用部品例
・通販コード C-06641 : 細ピンヘッダ 1×40 アソートパック (10本入)
・通販コード P-03476 : ブレッドボード・ジャンパー延長ワイヤ(メス-メス) 15cm青 (10本入)
次回は、RL78/G11の特徴を考えた環境センサを何回かに分けて説明していきます。まずは、基本的なセンサの制御方法について説明していきます。
EB68さん デバッグ用のコネクタ穴が小さいですね。φ0.6mmくらい? ピンを叩き込むと、スルーホールが壊れそうで怖いですけど^^; 1.27mmピッチだと「PSS-710103-06」とかが丁度良さそうです。これはこれで半田づけが難しいですね、、、
まぁ、取り扱いは2.54ピッチの方が便利そうなので、用途次第ですね^^互い違いに折り曲げるという発想は斬新です!
In reply to Kirin:
RL78/G11を用いた環境センサ
1. MCUとしてのRL78/G11の特徴
RL78/G11はRL78の中で汎用品に位置付けされたMCUですが、アナログ関係の機能が強化されています。また、アナログ機能以外にも、RL78-S3コアの採用やDTCとデータ演算回路などが内蔵されています。
さらに、新しい機能としてオペラーション・ステート・コントロール機能が追加されていて、これまでのRL78ではオプション・バイトで指定するだけだったフラッシュの動作モードをプログラムで変更できるようになっていて、より省電力を意識した設計になっているようです。
2. RL78/G11を使った環境センサの経緯
「これらのRL78/G11の特徴を考えて、省エネな環境センサを作ろう」と考えた人がいました。プログラムだけでなく,ルネサスのアプリケーション・ノートに準拠したような資料が作成してあり、それの内容をチェックしてかふぇルネに投稿したいと相談を受けました。
内容をチェックしたところ、残念ながらそのままでは投稿できないと判断して、プログラムの殆どを書き直すことになりました。
3.センサ制御の考えかた(見直し後)
RL78のA/Dコンバータは、変換結果を格納するレジスタ(ADCRレジスタ)が1個しかありません。つまり、1回のA/D変換ごとにCPU(プログラム)が処理する必要があります。しかし、DTCと組み合わせることで、4回のつまり4つのセンサの変換結果はCPUを介することなく読み出すことが可能です。
ところが、センサは動作電流が結構流れるので、センサの電源の制御をきちんと行う必要があります。このことを考えると、1つのセンサごとにCPUで電源制御(電源を制御するポートの制御)することになります。そこで、DTCのチェイン転送を使うことでA/D変換結果をRAMに転送し、センサの制御ポートに制御データを転送することで対応します。
これで、CPUはセンサの出力のA/D変換とDTCを起動するだけで、変換動作中はHALTで停止させておくことができるので、電力消費を抑制できます。
また、ここで対象とする環境データは短い間隔で変化することはないと考えて、測定間隔を5分に設定し、その間はRL78/G11はSTOPモードでスタンバイさせます。この場合、動作しているのは低速内蔵クロック(LOCO)だけで、そのクロックを8-bit ITでカウントするだけの電力消費が小さい状態となります。このような長い時間のカウントをRL78/G11の8-bit ITだから可能です。
CPUの動作クロックも高速内蔵発振回路(HOCO)ではなく、4MHzの中速内蔵発振回路(MOCO)のクロックを使用します。LOCOの周波数精度は低いのですが、STOPからの復帰は早いので、省電力用途には適しています。
このように、できるだけ動作電流を低く抑えるようにしています。
4.今回のプログラム
今回は、まずは測定を行うところまでとします。測定結果はRAMに格納しているだけです。プログラムとドキュメントを今回アップしておきます。
RL78/G11を用いた環境センサ(その1)
https://japan.renesasrulz.com/cafe_rene/m/sample_program/424
測定は1回だけですが、ノイズ対策などで、複数回測定して平均をとるような処理は次回以降で対応します。複数回の測定はDTCの転送回数を4回ではなく、16回に設定することで各センサの値を4回分測定できます。
測定結果の表示方法も次の課題とします。
5.対照のハードウェア
今回は、以下のセンサを使用しました。
温度センサ:超薄型サーミスタ 103JT-025
照度センサ:照度センサ(フォトトランジスタ) 560nm NJL7502L
湿度センサ:Arduino用 土壌湿度センサ Soil Moisture Sensor
これらのセンサの電源を制御する2SA1015を含めて、ブレッドボードで組み上げました。写真を以下に示します。
Kirinさん、もっとスマートな方法がありました。
使用するのは、同じく細ピンのヘッダですが、L型のものです。
使用する工具は、ニッパーとヤスリだけです。
L型のピン・ヘッダーをニッパーで3pinに切り離したものを2つ作ります。
切り離した3pinヘッダーの基板に刺す方を先端部分が細くなるようにヤスリで削ります。
そんなに大きく削る必要はありません。
削った3pinヘッダを基板の上と下から挟むように差し込んでください。指で押すだけで差し込むことができました。
出来上がった結果が下の写真です。
この先は2.54mmピッチになるので、「ブレッドボード・ジャンパー延長ワイヤ(メス-メス)」を使うことで、接続可能です。
この方法が、一番簡単な方法だと思います。
同じ方法で、G11側もピンを立ててみました。ただし、ピンの向きを逆にしました。(そうしないと、GNDと干渉します。)
実際にP33とGNDの間を抵抗内蔵LEDで挟んだ状態での動作確認の様子を下に示します。
半田付けに抵抗を感じる方は試してみてください。
今回使用したピンヘッダは秋月電子の下記の12ピンのものです。
細ピンヘッダ (オスL型) 1×12
EB68さん、いつもお世話になっています。 自分は「省エネ」と言う経験が無いので、今回の記事が大変参考になります。 CPUを知り尽くし、ハードを知り尽くし、これらとソフトを組み合わせてる”技”が美しいです。 色々な工夫も面白いですね~ 楽しみに読ませて頂いています。
In reply to fujita nozomu:
やっと出ましたか。
ということで,早速購入してみました。
部品面から眺めても、オリジナルとの違いは分かりませんでしたが,半田面を見ると
シルクが若干異なっているようです。(上が秋月電子で購入したもの)
実際に、サンプルプログラムを動作させてみました。
秋月電子のHPからダウンロードしたlocファイルから生成したhexファイルをRFPで書き込んだものを
動作させてみました。
実行は、DIP-SWのbit1をOFFにすることで、E2OB側から電源を供給して動作させています。
(RL78/G11でのLEDチカチカ(その2) で解説したようにどうも添付されているhexファイルでは、
オプション・バイトの値がおかしいようです。ここではApplilet EZ PL for RL78で新たに生成した
hexファイルを使います。)
https://japan.renesasrulz.com/cafe_rene/m/sample_program/422
上のように、LED(抵抗内蔵LEDです)の点滅が確認できました。