60歳からの電子工作ノート

生涯学習として取り組んでいます。

RL78/G16とSLG47011を使用したリフロー実験ボード( ソフトウェア 2/2 )

 リフロー制御、SLGのプログラム、モニタソフト、実験について書いてあります。

 

リフロー制御

SLGからのRUN信号でリフロー制御を開始します。

80℃まで昇温し、80℃近辺を60秒保持(soak)します。その後140℃まで昇温し、10秒保持します。その後、SV=20℃とします。

図1. リフローの動作

図2. 制御フロー

・PI制御の演算式は、「RX140を使用したDCモータ実験ボード(ソフトウェア 3/3)」(https://vabc.hatenadiary.jp/entry/2026/06/12/142525)と同じです。

SLG47011のプログラム

CPUボード上のSLG 
SLG47011(I2Cアドレス=0x08)

 CH0,CH1: 熱電対、CH3: サーミスタ、P15:Vref

図3. SLG47011 (I2Cアドレス = 0x08)
SLG47011(I2Cアドレス=0x20)

 CH0,CH1: 熱電対、PIN13 : RUN SW、PIN14 :STOP SW

図4. SLG47011 (I2Cアドレス=0x20)
増設ボード上のSLG
SLG47011(I2Cアドレス=0x28)

 CH0,CH1: 熱電対、CH3: サーミスタ、P15:Vref

図5. SLG47011(I2Cアドレス=0x28)
SLG47011(I2Cアドレス=0x30)

CH0,CH1: 熱電対

図6. SLG47011(I2Cアドレス=0x30)

モニタソフト

 PV,SV,MVと8chの熱電対の計測温度をモニタします。

図7. モニタソフト

登録場所

SLG47011:  https://github.com/vABCWork/reflow_slg

モニタソフト:  https://github.com/vABCWork/reflow_wpf

RL78/G16:  https://github.com/vABCWork/reflow_g16

・RL78/G16 10pin ファイル

図8. RL78/G16 ファイル一覧

実験

 今回実験に使用した、アルミパネル+PTCヒータ(400W, 200℃まで上がる)は、小さな出力でも急速に高温になりました。このため比例ゲイン(kg)を最小にして、積分時間(Ti)を長めにし、開始から少しずつMVを増加させています。SLG(I2Cアドレス=0x08)のCH0をPVとしています。

下図は、Kp=0.1, Ti=20[sec]の場合です。

図 9. リフローの実験(Kp=0.1, Ti=20[sec])

下図は、Kp=1.0, Ti=1[sec]の場合です。最初の出力(MV=100[%])で、120℃まで上がり、制御不良でした。

図10. リフローの実験(Kp=1.0.Ti=1.0[sec])

各SLG、全CHのモニタです。

図11. 全CHのモニタ

 

図12. 実験風景

 

RL78/G16とSLG47011を使用したリフロー実験ボード( ソフトウェア 1/2 )

機能とピン割り付け、  メインフロー、SLGとのIICA通信、タイマ、UARTについて書いてあります。

・資料

資料1*1、資料2*2

機能とピン割り付け

図1. CPU 機能とピン割り付け

図2. CPUボード上のSLG47011 I2Cアドレス=0x08

図3. CPUボード上のSLG47011   I2Cアドレス=0x20

図4. 拡張ボード上のSLG47011   I2Cアドレス=0x28

図5. 拡張ボード上のSLG47011   I2Cアドレス=0x30

CPUメモリマップとオプションバイト

図6. メモリマップとオプションバイト

スタートアップとメインフロー

ウオッチドックタイマ

オプションバイトで設定します。低速オンチップオシレータ (fIL )  = 15[KHz](typ)の場合、オーバフロー時間は、136[msec] となります。(資料1の、「表 10-3 オーバフロー時間とインターバル割り込み時間の設定」には、低速オンチップオシレータ(fIL )  = 17.25[KHz](max)の場合のオーバフロー時間 118[msec]が記載されています。)

図7. ウオッチドックタイマ
スタートアップとメインフロー

 

図8. スタートアップとメインフロー

SLG47011との通信

AD値読み出しと温度計算

RL78/G16のIICA(I2C)通信で、SLGのAD値を読み出し、熱電対で計測した温度を求めます。(SLGのADコンバータは14bit設定)

図9. 熱電対の温度計算(SLG A/D 14bit)

約25[msec]かかりました。

「RX140を使用したDCモータ実験ボード(ソフトウェア 2/3)」(https://vabc.hatenadiary.jp/entry/2026/06/12/142227)と同様な処理です。

テーブル参照で温度を求める方法もあります。(「ペルチェ制御用ボードの試作(熱電対による温度測定)」(https://vabc.hatenadiary.jp/entry/2022/01/22/165620)

IICA通信

I2Cのマスタ送受信 で、SLC47011から2byte 読み出します。

図10. SLGとのI2C通信(マスタ送受信)

 IICAの割り込み(INTIICA0)の発生条件は、

1)ストップコンディションの検出(SPIE0=1 設定)

2)9クロック(WTIM0=1)または8クロック(WTIM0=0)

   (データ受信時には8クロックにする。)

図11.  IICA割り込み発生タイミング

図12. IICA通信 フロー図(1/2)

図13. IICA通信フロー図(2/2)

図14. IICA通信 データ読みだし

図15. IICA通信 通信時間と間隔

タイマ・アレイ・ユニット

インターバルタイマモード

タイマ・カウンタ・レジスタ値は、初期値(タイマ・データ・レジスタ値)より、タイマ用クロック毎にカウント値が1減少、0になるとタイマ割り込みが発生します。

チャネル2を、1秒毎のインターバルタイマとして使用します。

(タイマ用クロック CK01 = 1.95 [KHz])

図16. インターバルタイマ
PWM機能

マスタチャンネル(ch0)でPWM周期、スレーブチャンネル(ch1)でDutyを設定します。

ダウンカウントにより、マスタチャンネルのカウント値が0になると、マスタの割り込み信号が発生し、タイマ出力端子はアクティブレベル(High)になります。スレーブチャンネルのカウント値=0になると、タイマ出力端子は、Lowになります。

図17 PWM波形の作成(1/2)

図18. PWM波形の作成(2/2)

12ビット・インターバル・タイマ

 200[msec]毎に割り込みが発生します。制御周期用です。

図19. 12ビットインターバルタイマ

シリアル通信

UART0(RXD0,TXD0)を使用しています。「RL78/G16 CPUボートの試作(静電容量式タッチセンサ)」(https://vabc.hatenadiary.jp/entry/2024/04/02/162725)と同じ処理です。(1M[bps],8bit,パリティ無し,1stop)

パソコン側からのコマンドに対してレスポンスを返します。

図20. モニタデータ読み出しコマンドとレスポンス

図21. パラメータ書き込みコマンドとレスポンス

 

*1:資料1「RL78/G16 ユーザーズマニュアル ハードウェア編」 Rev.1.30 2025.05

*2:資料2 「RL78/G12 シリアル・インタフェースIICA(マスタ送受信)」R01AN1371JJ0110 Rev. 1.10 2013.03.01

RL78/G16とSLG47011を使用したリフロー実験ボード(ハードウェア)

ルネサスのRL78/G16とSLG47011を使い、リフロー制御の実験を行いました。温度は8ch 熱電対(K型)でモニタします。

・資料

資料1*1、 資料2*2

 リフロー実験ボードは、CPUボードと増設ボードで構成されています。CPUボードには、RL78 G16(10ピン)とSLG47011(2つ)を取り付けています。1つのSLGは、熱電対 (2ch)で測定対象物の温度を測定し、サーミスタで基板上の温度を測定します。もう1つのSLGは、熱電対 (2ch)での温度測定と、スイッチの入力を行います。増設ボードは、SLGだけ取り付けています。熱電対が端子から抜けたり、断線した際には、各チャンネルに対応するALM LEDが点灯します。

SLGとCPUはI2Cで通信を行います。SLGからのAD値は、CPU側で温度に換算しリフロー制御を行います。USBシリアル変換ICを介して、パソコンで温度をモニタします。

(CPUボードと増設ボードは同一の基板で、増設ボードにはSLGだけつけています。)

図1. リフロー実験ボードの構成図

リフロー実験ボード

図2. 回路図(1/2)

図3. 回路図(2/2)

図4. 部品レイアウトとパターン

図5. フットプリント

フットプリントのJ2,J3,J4,J5は、フェニックスコンタクトの1725656用です。
支持用の突起物((ボス)があります。ここで使用している部品にはボスが無いので修正しています。

図6. 部品表

図7. 部品実装前(CPUボード、増設ボード 同一基板)

図8. 部品実装後(CPUボード)

図9. 部品実装後(増設ボード)

はんだ付け

SLG47011とFT234XDは、リフローです。

図10. SLG47011 リフロー前後

図11. FT234XD リフロー前後

顕微鏡で位置を確認してペーストします。SLG 2つの位置合わせが難しい。

図12. ステンシルと位置合わせ

プリント基板は10枚、表面処理はHASL(有鉛半田レベラー)、ステンシル、送料込みで約5000円でした。(Fusion PCB使用)

 

*1:資料1「RL78/G16 ユーザーズマニュアル ハードウェア編」 Rev.1.30 2025.05

*2:資料2「SLG47011 Datasheet」 R19DS0121EU0102, Rev. 1.02 Oct 30, 2025

RX140を使用したDCモータ実験ボード(ソフトウェア 3/3)

主にモータのPI制御、モニタソフト、実験について書いてあります。

 

制御

 動作モード

モータAの動作モードには、Run/Stop,Auto/Manualがあります。

2つのタッチキーで変更します。

モータBは、モードに関係なくボリュームBの操作で速度が変わります。

図1. モードと出力(モータA)
PID制御(PI制御)

・演算周期

制御演算周期は 1[msec], PWMの周期は、0.1[msec]。一般にモータ制御のPWM周波数は10[KHz]以上の様です。

・初期値

電源投入後、RUN,Autoモードにした場合、目標回転数(SV)= 2000[rpm]、ゲイン(Kp)= 0.5、積分時間(Ti)= 0.1[sec] としています。モータ制御モニタソフトにより変更可能です。

・ 実験装置の特性

モータAとモータBにプーリを取り付け、輪ゴムでつなげた状態で実験します。

Run,Manualモードで、ボリュームAを変化させて、速度を測定します。(モータBは停止状態。)モータAの印加電圧は12[V]です。

出力 MV[%]は、ボリュームAのA/D値に対応し、A/D値=4095ならば、MV=100%となり、 PWM周期=0.1[msec]の間、出力は常時ONとなります。

図2. 出力と回転速度

   実験装置の最高速度は4000[rpm](4000回転/1分)、1回転 15[msec]。

 レンジ 0~4000[rpm]の装置となります。制御演算する際に、目標値(SV)や現在値(PV)をレンジでスケーリングし、0.0~1.0の範囲で計算します。

・制御演算

速度型のPI制御(PIDのD動作無し)を行います。速度型PIDでは、制御演算毎に、変化分の出力を計算し、1演算周期前の出力に加算して、今回の出力にしています。

MVn = ΔMVn + MVn1 (今回の出力 = 変化分 + 前回の出力)

ΔMVn= Kp* ( ΔP_MVn + ΔI_MVn ) (変化分 = P動作の変化分 + I動作の変化分)

          = Kp* ( En - En1 ) + Kp* (1/ Ti )*En*Ts

 MVn1: 前回(1msec前)の出力, 

En:偏差(= SV – PV),

En1:前回の偏差,

Ts: 演算周期(=1msec),

Kp: 比例ゲイン ,

TI: 積分時間

 ManualからAutoに変更した際に、Manual時の出力(MVn1)を引き継ぐので、今回の偏差が小さければ、出力の変動も抑えられます。

(補足: 制御周期毎に、出力を偏差から直接計算する位置型PIDもあります。

MVn =  Kp{ En + 1/Ti*(En*Ts) + I_MVn1 }  ( I_MVn1: 1演算周期前のI動作による出力)

 https://vabc.hatenadiary.jp/entry/2022/02/15/163249  )

・速度型PID演算フロー

図3. 制御フロー(PI制御)

・積分時間
P制御の出力とI制御の出力を関連づけるため、積分時間を定義します。偏差 e での P動作出力 = Kp x e とすると、 Kp x e と同じ出力になるまでの時間を、積分時間(Ti)とします。

図4. 積分時間

モータ制御モニタソフトと実験

 モータ制御モニタソフトで、PI制御の実験を行います。

図5. モータ制御モニタソフト

・Vol1とVol2の動作

   Run- Manualモードで、Vol1によりモータAの速度を変更します。Vol2で負荷が変わります。

図6. 速度変更(Vol1)と負荷変更(Vol2) (Run-Manualモード)

・目標速度(SV)の変更

a) ゲイン(Kp)= 0.5, 積分時間(Ti)= 0.1[sec] の場合と、

b) ゲイン(Kp)= 0.5,積分時間(Ti)= 1[sec]を比較します。

Run-Manualモードで、PV=2000にして、パラメータ(SV等)を変更後、Run-Autoモードにします。

図7. 目標速度の変更

・負荷の変更

目標速度(SV)一定で、負荷を変更します。負荷が変動しても、PI制御で速度を維持します。Run-Autoモード、SV = 2000 設定。

図8. 負荷の変更

CTSUモニタソフト

CTSU計測値のモニタをするソフトです。

図9. CTSUモニタソフト

登録場所

RX140:     https://github.com/vABCWork/RX140_Motor

SLG47011:  https://github.com/vABCWork/RX140_SLG47011

モータ制御モニタ: https://github.com/vABCWork/RX140_Motor_WPF_Monitor

CTSUモニタ: https://github.com/vABCWork/RX140_CTSU_WPF_Monitor

ファイル一覧(RX140)

図10. ファイル一覧(RX130)

 (使用ROMは、7.8Kbyte、RAMは860byteでした。)

実験風景

図11. 実験風景

 

RX140を使用したDCモータ実験ボード(ソフトウェア 2/3)

RIIC通信、データトランスファーコントローラ、SCI通信、SLG47011のプログラムについて書いてあります。

 

SLG47011との通信

AD値読み出しと温度計算

RX140のRIIC(I2C)通信で、SLGのAD値を読み出し、熱電対で計測した温度を求めます。

「GreenPAK SLG47011 実験用ボードの試作(熱電対による温度測定)」(https://vabc.hatenadiary.jp/entry/2025/05/02/115751)ではパソコンで計算していましたが、今回は同じ処理をRX140で実施しました。計算時間は、80[usec]でした。

図1. SLGからのAD値読み出しと温度計算(A/D 12bit)
RIIC通信

I2Cのマスタ送受信 で、SLC47011から2byte 読み出します。

図2. SLGとのI2C通信コマンド

図3. RIIC通信フロー(1/4)

図4. RIIC通信フロー(2/4)

図5. RIIC通信フロー(3/4)

図6. RIIC通信フロー(4/4)

図7. RIIC通信の波形

データトランスファーコントローラ(DTCb)

 SCI通信の送受信に、データトランスファーコントローラ(DTC)を使用しています。

割り込み発生時に、CPUの代わりに専用のコントローラ(DTC)でデータ転送します。

データ転送用の情報が配置されたアドレスは、DTCベクタテーブル(ROM上)に書き込んでおきます。

受信データフル割り込み発生で、DTCはデータ転送の情報(転送元、転送先、サイズ等)読み出し、転送元のレシーブデータレジスタから転送先のRAM上の受信バッファへ転送します。1バイトの転送終了後、転送情報が更新されます。(ノーマル転送モード使用)

指定回数(ここでは 8byte固定)転送終了後、CPUの受信データフル割り込みが発生するように設定しています。

CPUの受信データフル割り込み処理では、DTC転送情報の再設定と、受信データのCRCのチェックを行います。

図8. DTCの流れ (受信データフル割り込み)

図9. DTCベクタテーブル

シリアルコミュニケーションインタフェース

パソコン側との通信用です。SCI1を使用しています。調歩同期、データ8ビット、パリティ無し、1-Stop、1.5Mbpsの設定です。

パソコン(PC)側からのコマンドに対してレスポンスを返します。

図10. モータモニタ用 コマンドとレスポンス

図11. モータモニタ パラメータ書き込み用

図12. タッチセンサモニタ用

図13. コマンドとレスポンス(CPU端子のRXD1,TXD1)

アラーム

アラームLEDは以下の条件で点灯します。

1) 独立ウオッチドックタイマのタイムアウトで、NMIに入った場合。

2) SCI通信の受信でCRCエラーの場合。

3) モータ電流の測定値が、300[mA]を超える場合。

4)熱電対の断線エラーが通知された場合。(SLG47011からのI/O出力)

SLG47011のプログラム

SLG47011側のプログラムです。GIOの入力処理(マイコンからの異常通知)は入っていません。

図14.  SLG47011のプログラム

 

RX140を使用したDCモータ実験ボード(ソフトウェア 1/3)

 マイコンの機能、静電容量式タッチセンサ(CTSU2L)、ADコンバータ、PWM等 書いてあります。

 

・資料

資料1*1 、資料2*2 、資料3*3 、資料4*4 、資料5*5 、資料6*6 、資料7*7 、資料8*8 、資料9*9 、資料10*10 、資料11*11 、資料12*12 、資料13*13 、資料14*14 、資料15*15 

CPU

マイコンはRX-140(48MHz) です。

図1.CPUの使用機能

図2. CPU端子機能の割り付け

図3. メモリマップ


スタートアップとメインフロー

独立ウオッチドックタイマ

マイコンはリセット解除後、オプション設定メモリ(OFSM)の内容で動作します。

OFS0で、独立ウオッチドックタイマをオートスタートモードで開始し、タイムアウトでNMI(ノンマスカブル)割り込みに入るように設定しています。NMI割り込み内は無限ループです。ALM LEDを点灯し、SLGへの出力ポートをHighにしてCPU異常を通知します。

図4. 独立ウオッチドックタイマ
スタートアップ

図5. スタートアップ フロー図

メイン処理

図4. メインフロー図

静電容量式タッチセンサ(CTSU2L)

測定法

RX-140に搭載されているタッチセンサは、RL78/G16搭載のタッチセンサ(CTSUb)から機能追加がありますが、計測条件の設定、データ取得の手順には変更ありません。

参考 CTSUbの例: https://vabc.hatenadiary.jp/entry/2024/04/02/162725

1)CTSU レジスタ設定要求割り込み(CTSUWR)で、計測条件(ベースクロック周波数、計測回数)の設定

2)CTSU 計測結果読み出し要求割り込み(CTSURD)で、結果の読み出し

3)CTSU 計測終了割り込み(CTSUFN)で、全チャンネルの計測終了がわかります。

図5. タッチセンサ 2チャネルの測定

図6.「RL78ファミリ 静電容量センサユニット(CTSU2L)動作説明」(R01AN5744JJ0100)のページ26,27より
測定

・計測条件1(レジスタ名)

ベースクロック周波数=4MHz、測定回数=1回 (CTSUSO)

動作クロック PCLKB(=24[MHz])、自己容量方式、マルチスキャンモード、ランダムパルスモード、計測電源の最大供給電流=40[uA](CTSUCRA)

計測周期の基本単位(=637サイクル)、センサ安定待ち時間レジスタ値(0x10) (CTSUCRB)

・計測結果1

タッチしない状態:12000、タッチした状態:40000、計測時間(2ch分): 340[usec]

(基板を直接タッチ、オーバーレイ無し)

図7. 計測時間とカウント値(計測条件1)

(計測時間は、CTSU レジスタ設定要求割り込み(CTSUWR)から
CTSU 計測終了割り込み(CTSUFN)までを、デバック用ポートPE1をONして測定)

・計測条件2と結果2

計測周期の基本単位(=7サイクル) 、センサ安定待ち時間(=34サイクル)(CTSUCRB)とした場合(他は計測条件1と同じ)

タッチしない状態:3000、タッチした状態:10000、計測時間: 100[usec]

図8. 計測時間とカウント値(計測条件2)

 ・計測条件3と結果

計測電源の最大供給電流(CTSUCRAのATUNE1,2)を減少させると、カウント値が上がります。(「静電容量センサマイコン QE for Capacitive Touch アドバンスドモード(高度な設定)パラメータガイド」3.4 電流レンジ)

図9.電流レンジ(20,40[uA])とカウント値

図10. 電流レンジ(80[uA])とカウント値

A/Dコンバータ

モータ電流と、モータA、モータB速度調整用のボリューム値の測定に、12ビットA/Dコンバータ (S12ADE)を使用しています。

・チャンネル0(AN000)

モータ電流測定用です。モータ電流は、1Ωの抵抗の電圧をオペアンプ(非反転増幅回路、ゲイン=6)にいれ、AD値を求めています。

モータの起動時の電流が約500[mA]なので、ゲイン=6 とすれば、3[V]に収まります。

図11. モータ電流の測定

・チャンネル1,2(AN001,AN002)
モータBの速度調整用ボリュームのA/D値を AN001、モータAの速度調整用ボリュームのA/D値を AN002で測定します。

図12. ボリュームの測定

・スキャン

シングルスキャンモードで、3チャンネルA/D変換を行います。

イベントリンクコントローラ(ELC)のトリガ (1msec毎)で、AD変換を開始します。

AN000,AN001,AN002の3チャンネルのスキャン時間は、約 4[use]でした。

図13. スキャン間隔とスキャン時間

(スキャン時間は、CMT1のコンペアマッチ (1msec毎)から、スキャン終了割り込みまでの時間。デバック用ポートの出力で測定)

イベントリンクコントローラ(ELC)

CTSUとAD変換の開始は、CPUの割り込み処理を使用せずに、イベントリンクコントローラを使用しています。

図14. ELCによる測定開始トリガ

キー入力処理


1[msec]毎に、タッチの有り/無しを判断します。ON閾値以上が10回連続(10msec以上継続)で、モードを変更します。SW1 は Run/Stopモードを変更し、RunでLED点灯、StopでLED消灯します。SW2は Auto/Manualモードを変更し、AutoでLED点灯、ManualでLED消灯します。

図15. タッチの確認処理

回転速度の測定

モータAの速度計測にはフォトインタラプタを使い、フォトインタラプタからのパルス発生間隔を測定します。モータが1回転で1パルス発生します。

マルチファンクションタイマパルスユニット2(MTU2a)のインプットキャプチャ機能を使用して、MTIOC0B端子に入力されるパルスの時間間隔を測定しています。パルス入力の立ち上がりエッジでTCNTの値をキャプチャし、インプットキャプチャレジスタ TGRBへ格納します。 カウント用のクロックは、PCLKB(=24[MHz])の64分周、0.375[MHz](周期=2.67[usec]) カウント値が32000ならば、 32000x2.67[usec] =85[msec]   85[msec]で1回転なので、1分では706回転。 706[rpm]となります。

図16. 回転速度の測定

モータの回転がゆっくりで、174msec(=65535x2.67[usec])以内にパルスが入らない場合、TCNTがオーバフローします。実験装置(モータ2つを輪ゴムでつなげた状態)の最低速度は700[rpm](カウント値=32000)なので、オーバフローはしませんが、停止すると、キャプチャデータが更新されないので、監視タイマー(CMT0)により、174[msec]を計測し、パルスが入らない場合は速度=0としています。

図17. 回転速度の測定(パルス無しの場合)

図18. パルス幅の測定

PWM

PWM出力でモータAとモータBの速度制御を行います。マルチファンクションタイマパルスユニット2 (MTU2a)のPWMモード2を使用します。モード2では、複数のPWM出力に対し、1つの周期レジスタ、PWM出力分のデューティレジスタを使用します。

モータAのPWMのデューティはMTU1.TGRAに設定し、 モータBのPWMのデューティはMTU1.TGRBに設定します。周期はMTU2.TGRAに設定します。MTU1とMTU2のタイマは同期設定を行います。タイマカウンタクリア時(周期設定レジスタ MTU1.TGRAのコンペアマッチ割り込み)で、デューティ設定レジスタを変更します。

周期は100[uec](0.1[msec])に設定しています。

図19. PWMモード2 レジスタ

図20. PWMモード2 出力

図21. PWMモード2 フロー

図22. PWM出力 0%,50%

図23. PWM出力 75%,100%

モータの駆動回路

ドライバボードのモータ駆動回路の各部分(A点,B点,C点,D点)の電圧を測定しました。

図24. モータ駆動回路

1) PWM出力(MV)=20%,50%の場合

  黄色:A点、緑色:B点、青:C点(ゲート)、赤:D点(電流測定用の抵抗)

図25. 駆動回路の波形(MV=20%,50%)

2)PWM出力(MV)=90%,100%の場合

図26. 駆動回路の波形(MV=90%,100%)

3) 還流ダイオードを無しで実験

還流ダイオードが無い場合、OFF直後にモータのマイナス側は、電源電圧の数倍になる。(オフ直後にモータのインダクタンスが電流を流し続けようとするため)

図28. ダイオード無しの場合の波形(MV=50%,78%)

 

*1:資料1「RX140グループ ユーザーズマニュアル  ハードウェア編」R01UH0905JJ0120 Rev.1.20 2024.11.22

*2:資料2「RX ファミリ ハードウェアデザインガイド」R01AN1411JJ0112 Rev.1.12 Jan.7.25

*3:資料3「RX FAMILY ハードウェアマニュアルガイド(周辺機能編)」R01TU0444JJ0100 rev1.0 Jan.2025

*4:資料4「静電容量センサマイコン 静電容量タッチ電極デザインガイド」R30AN0389JJ0220 Rev.2.20 Jan.30.26

*5:資料5「RL78ファミリ 静電容量センサユニット(CTSU2L)動作説明」R01AN5744JJ0100 Rev.1.00 2021.04.08

*6:資料6「静電容量センサマイコン QE for Capacitive Touch アドバンスドモード(高度な設定)パラメータガイド」R30AN0428JJ0330 Rev.3.30 Mar.24.26

*7:資料7「静電容量センサマイコン 静電容量タッチ導入ガイド」R30AN0424JJ0160 Rev.1.60 Dec.23

*8:資料8「 初めてのRL78/G14 DTC」R01AN0861JJ0100 Rev.1.00 2011.10.04 

*9:資料9「 初めてのRL78/G14 ELC」 R01AN0862JJ0100 Rev.1.00 2011.10.04 

*10:資料10「RX210、RX21A、RX220グループ MTU2aを使用したパルス周期測定 」R01AN1011JJ0111 Rev.1.11 2014.07.01

*11:資料11「RXファミリ MTU3/GPTWを用いたPWM出力方法」R01AN5995JJ0110 Rev.1.10 Jan.6.23

*12:資料12「ブラシ付きDCモーターと駆動方法の基礎」ROHM

*13:資料13「実験で学ぶDCモータのマイコン制御術」CQ 出版社

*14:資料14「dsPICマイコンによるDCモータの回転数制御」 Kindle版

*15:資料15「インターフェ-ス 2025年9月号 モータ制御 プログラミング入門」 CQ出版

RX140を使用したDCモータ実験ボード(ハードウェア)

 ルネサスの32bitマイコン RX140を使用して、ブラシ付きDCモータの速度制御実験用のボードを試作しました。

概要

 RX140を使用した、DCモータの実験ボードです。

2つのモータ(モータAとモータB)を使用し、モータBはモータAの負荷となるように逆回転します。タッチキーで動作し、回転速度はボリュームで調整します。モータAの回転速度はフォトインタラプタからのパルス間隔で測定します。またI2C通信でSLG47011 からのA/D値を読み出し、熱電対で計測した温度を求めます。モータ速度制御(PID制御のPI制御)のパラメータはパソコンでモニタします。

図1. DCモータ実験ボード

各ボードの構成

図2. CPUボードの構成

図3. モータドライバボードとフォトインタラプタボードの構成

図4. SLG47011ボードの構成

CPUボード

図5. CPUボード 1/2 (注:NMI端子がPull UPされていません)

図6. CPUボード回路図(2/2)

図7. CPUボード 部品レイアウトとパターン

図8. CPUボード フットプリント

図9. CPUボード 部品実装前

図10. CPUボード 部品実装後

図11. CPUボード 部品表(1/2)

図12. CPUボード 部品表(2/2)

・タッチーの導体部分は、レジスト有り

(レジストに対する)マスクをすると、導体がでてしまうので、マスクしない。

 F.PasteとF.Mask 両方OFFの場合: レジスト有り

図13. タッチキー部分のフットプリント Paste OFF, Mask OFF

F.PasteとF.Mask 両方ONの場合: 導体がでてしまう。

図14. タッチキー部分のフットプリント Paste ON, Mask ON

モータドライバボード

図15. モータドライバボード 回路図

図16. モータドライバボード 部品レイアウトとパターン

図17. モータドライバボード フットプリント

図18. モータドライバボード 部品実装前

図19. モータドライバボード 部品実装後

図20. モータドライバボード 部品表

フォトインタラプタボード

図21. フォトインタラプタボード 回路図

図22. フォトインタラプタボード 部品レイアウトとパターン
(フォトインタラプタのボス(突起物)の位置に注意)

図23. フォトインタラプタボード フットプリント

図24. フォトインタラプタボード 部品実装前

図25. フォトインタラプタボード 部品実装後

図26. フォトインタラプタボード 部品表

SLG47011ボード

図27. SLG47011ボード 回路図(1/2)

図28. SLG47011回路図(2/2)

図29. SLG47011ボード 部品レイアウトとパターン

図30. SLG47011ボード フットプリント

図.31 SLG47011ボード 部品実装前

図32. SLG47011ボード 部品実装後

図33. SLG47011ボード 部品表

リフロー

SLG47011のリフローは、(https://vabc.hatenadiary.jp/entry/2025/12/18/102023)と同じです。

CPUボードはFT234XDだけリフローしました。1ピン側が少しずれていますが、通信できました。

図34. リフロー前

図35. リフロー後

(参考 ) 秋月電子 AE-FT234XDボード:

図36. 秋月電子 AE-FT234XD

エミュレータとの接続エラー

最初の電源投入時、RX-140がE2-Liteエミュレータと通信できませんでした。

図.37  タイムアウトエラー

 CPUの足が浮いていたようです。CPUのはんだ修正で解消しました。

DCモータの特性

使用したDCモータは、 PWN10EB12C (秋月電子 販売コード 110024)です。

図.38 モータの仕様

1) 印加電圧と回転速度

 端子(印加)電圧を上げると、回転数も増えます。

図39. 端子(印加)電圧と回転速度

(回転数の測定は、非接触回転計 UT373を使用。)

2)回転速度と誘起電圧(誘導起電力)

回転数が増加すると、誘起電圧も増加します。

図40 回転速度と誘起電圧

(誘起電圧の測定は、モータ2つを輪ゴムでつなげ、モータBに電圧を印加し、モータAで発生する電圧を測定)

3) I-T,S-T特性

定格電圧(12[V])で動作させた場合の、

モータ電流とトルクの関係(I-T特性) →トルクが増加すると、電流が増加する。

回転速度とトルクの関係(S-T特性)→ トルクが増加すると、速度が低下する。

図41 I-T,S-T特性

4)モータの回路方程式

図42. モータの回路方程式

印加電圧 E  E = L \dfrac{di}{dt}  + Ri + Em   

誘起電圧  Em = K_{E} \times N   ( K_{E}:定数  N:回転速度)

 E = L \dfrac{di}{dt}  + Ri +   K_{E} \times N 

定常状態(電流の変化=0)では、

 E =  Ri +   K_{E} \times N 

電圧一定で、負荷により回転速度が下がると、電流 I が増加する。