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

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

RL78/G16 CPUボートの試作(静電容量式タッチセンサ)

 静電容量式タッチセンサでステッピングモータを動作させます。タッチセンサの実験、モニタ用のWindowsアプリ、ステッピングモータドライバICへのパルス出力法について記載しています。

資料1*1、資料2*2、資料3*3

 

全体フロー

図1. 全体フロー図

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

計測方法

 静電容量式タッチセンサは、人の持っている静電容量を検出することで、タッチ有り/無しを判定します。

本実験での測定対象は 4ch(TS06,TS08,TS10,TS13)です。自己容量マルチスキャンモードで測定します。

計測開始トリガは、12ビット・インターバル・タイマのインターバル割り込み信号(10msec毎)を使用しています。

計測は若いチャンネル番号から開始されます。

計測開始により、INTCTSUWR (設定レジスタ書き込み割り込み)が発生し、計測対象チャンネルの計測用設定データを書き込みます。

1チャンネルの測定が完了すると、INTCTSURD (計測データ転送完了割り込み)が発生します。

全チャンネルの測定が完了すると、INTCTSUFN (計測終了割り込み)が発生します。

計測条件と計測時間

CTSU動作クロック = fclk = 16[MHz]  (CTSU 制御レジスタ1(CTSUCR1))

計測回数=1回  (CTSU センサオフセットレジスタ0(CTSUSO0))

ベースクロック周期: 1 [usec]   ( 1[MHz]=CTSU動作クロック(16[MHz]の16分周)(CTSU センサオフセットレジスタ1(CTSUSO1))

とした場合、4chの測定に1.2[msec]かかりました。

図2. CTSU 計測タイミングチャート

図3. 測定時間とセンサドライブパルス
CTSU設定フロー

図4. CTSU設定フロー(1/2)

図5. CTSU設定フロー(2/2)
CTSU割り込みフロー

図6. CTSU割り込みフロー(1/2)

図7. CTSU割り込みフロー(2/2)
実験

 タッチキーの電極はプリント基板のレジスト(Solder resist)が塗られています。その上にパネル(overlay)をおいてタッチします。

1)  パネル厚とカウント値

パネルを、パネル無し、0.2mm厚、1mm厚、2mm厚と変えて、カウント値を測定しました。

図8. 1 パネルなしとパネル(0.2mm厚)

図8.2 パネル(1mm厚)とパネル(2mm厚)

パネルが厚いとカウント値が小さくなり、感度が弱くなります。

図9. パネルの厚さとカウント値

2) タッチセンサの位置とカウント値

配線等の寄生容量のため、両端のタッチセンサ(TS06,TS13)のカウント値は、中央(TS8,TS10)に比較して高い値となります。

図10. タッチセンサの位置とカウント値(タッチしない状態)

シリアル通信

シリアル・アレイ・ユニット (SAU)

本CPU RL78/G16(32ピン)にはシリアル・アレイ・ユニット は2ユニットあり、ユニット0 は、4ch、ユニット1は 2ch通信制御部があります。UART は、UART0(TxD0,RxD0),UART1(TxD1,RxD1),UART2(TxD2,RxD2)の3チャンネルが使用できます。(シリアル・アレイ・ユニットは、簡易SPI(CSI)、簡易I2Cとしても使用できます。ここでは、UARTに限定して記載しています。)

図11. シリアル・アレイ・ユニット(UARTのみ使用した場合)

ここでは、UART1(シリアルアレイユニット0のチャンネル2と3)を使用します。

図12. シリアル・アレイ・ユニットとUARTの対応
UART1の初期化フロー

図13. UART1の初期化フロー
送受信処理

受信割り込みで、CTSUの読み出しコマンド受信後、メインループ内でレスポンス(4ch分のCTSUデータ)を作成し、送信を開始します。

図14. 送受信処理フロー
コマンドとレスポンス

パソコン側からのコマンドを受信すると、4ch分のCTSUデータをレスポンスとして送信します。

図15. CTSUデータ読み出しコマンドとレスポンス

モニタ用ソフト

  マイコンからタッチセンサ4ch分のデータを読み出して表示します。通信速度は1[Mbps]、更新周期は1秒です。マイコンへのデータの書き込みはできません。

図16.1 タッチセンサのモニタソフト

①チャンネル読出しデータ表示部

タッチセンサ 4ch分のカウント値と設定データを表示します。

図16.2 チャンネルデータ表示部

②操作部

「Serial Port」でCOMポートを開いた後、「Start」でモニタを開始します。「熱電対付きサーモグラフィの試作(モニタソフト)」(https://vabc.hatenadiary.jp/entry/2023/09/25/112223)と同じです。

図16.3 操作部

③グラフ部

カウント値(4ch)と、タッチ有無の判定値(Threshold)のグラフ表示です。

図16.4 カウント値の変化(青:TS06をタッチした状態)

④ グラフ表示選択部

グラフ表示チャンネルの選択、チャンネルのカウント値、最大値、最小値の表示、タッチ有無の判定値(Threshold)の入力を行います。

図16.5 グラフ表示選択部

⑤CTSUエラー表示部
CTSU エラーステータスレジスタ(CTSUERRS)の内容です。(資料1 15.3.19) CTSUERRSのbit15=1の場合、「TSCAP 電圧異常」となります。

図16.6 CTSUエラー表示部

ステッピングモータ

動かし方

バイポーラ方式のステッピングモータを、定電流で駆動します。

ステッピングモータドライバICは、DRV8825を使用します。ドライバICのSTEP端子に1パルス入力すると、モータは1ステップ動作します。モータが1回転=200ステップならば、1.8度回転します。パルスの周期が短くなれば、早く動きます。DIR端子のLow/Highで回転方向(時計まわり、反時計まわり)が決まります。

ドライバICにはマイクロステップ機能があります。マイクロステップ 1/32では、1パルスで1/32ステップ動作し、動作が滑らかになります。

図17. ステッピングモータの制御

マイコンのタイマアレイユニットを使用してパルス出力を行います。

タイマアレイユニットの方形波出力

図18. タイマアレイユニット 方形波出力

タイマアレイユニット0、チャンネル4のタイマ出力を方形波で出力します。(資料1 「6.1.1 単独チャンネル動作機能 (2)方形波出力」)

初期値(タイマデータレジスタの値)からダウンカウントを行い、0になると初期値から再開します。その際にタイマ出力を反転させます。

ここでは周期は4[msec]の方形波を出力します。CPU割り込み処理は不要です。

図19. タイマアレイユニットの方形波出力

初期値は、(資料1 「6.8.1 インターバル・タイマ/方形波出力としての動作」)より、

TO04 からの出力方形波の周期= カウント・クロックの周期 x ( TDR04 の設定値 + 1) x 2

 4[msec] = 0.002[msec] x ( TDR04 の設定値 + 1) x 2
 ( TDR04 の設定値 + 1 ) =  4 / 0.004

TDR04 の設定値 = 1000  - 1

タイマカウントに使用するクロックは 500[KHz]とします。

P17に、チャンネル4の出力 TO04 を 割り当てます。

タイマアレイの初期化フロー

図20. タイマアレイユニット チャンネルの初期化フロー
出力波形

 周期 4[msec]のタイマ出力です。

TS06(SW4)がタッチ有りの場合、「反時計方向」へ回転させるため、方向信号はLowとしています。TS08(SW3)がタッチ有りの場合、「時計方向」へ回転させるため、方向信号をHighとしています。

図21. タッチキー ON時の出力波形
(青色:P17 :DRV8825へのパルス出力, 赤紫色:P16 :DRV8825への方向信号)

ファイル一覧

・ RL78/G16

図22. ファイル一覧(RL78/G16)

登録場所:: https://github.com/vABCWork/rl78_ctsu

・開発環境
無償評価版 CS+ for CC V8.11.00 [30 Nov 2023]
CC-RL V1.13.00

・パソコン 

図23. ファイル一覧(パソコン Windows )

登録場所:: https://github.com/vABCWork/WPF-rl78-touch_monitor

・ ScottPlotのパッケージのインストールが必要です。

MainWindow 以外のファイルは別Windowになっています。メインウインドウに追加して使用します。

開発環境:
Windows 11 Pro , 23H2      .NET Framework 4.8 
Microsoft Visual Studio Community 2022 (64 ビット) – Current Version 17.7.4

WPF アプリ(.NET Framework)    ( C#,XAML,Windows,デスクトップ)
ScottPlot 4.1.68 

 

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

*2:資料2「静電容量センサマイコン 静電容量タッチ電極デザインガイド」R30AN0389JJ0200 Rev.2.00

*3:資料3 「RX/RL78/RA タッチキー評価キット[ソフトウェア編]」 (株)北斗電子