• 公開日:2024年09月26日
  • | 更新日:2024年09月30日

静電容量タッチセンサのチューニングをしてみた

静電容量タッチセンサについて

昨今静電容量タッチセンサは昨今物理ボタンに代わり、様々な機器に搭載されています。スマートフォンや家電、エレベータなど世の中のあらゆる箇所にタッチが使われております。また、タッチセンサはいくつか種類がありますが、ほとんどが静電容量式タッチを採用しております。

一般的に静電容量タッチの開発には高度なプログラムの開発や感度のチューニングを行う必要があり、未経験者にはハードルが高いです。しかし、ルネサスのソリューションを活用することで専門的な知識なくタッチの開発を行うことができます。本記事ではルネサスのタッチMCUとRenesas QE for Capacitive touchを活用した静電容量タッチのチューニング、モニタリングの手法をお伝えします。タッチ経験未開発者でもハードルを感じることなく開発を進められることをご実感頂けるかと思います。

準備

評価環境は以下の通りです。

統合開発環境 e2studio(2024-04)Windows用 FSP Ver.4.6.0

QE for Capacitive Touch(e2studio プラグイン版)

RA2L1搭載静電容量タッチ評価システム

Rensas E2-Lite

インターフェースケーブル(20-20pin)

ACアダプタ(3.3V 1.2A)

 

 

E2studioのセットアップ手順は以下をご参照ください。

https://www.renesas.com/jp/ja/document/qsg/renesas-ra-family-e2-studio-2022-07-or-higher-quick-start-guide?r=488826

 

 チューニング手順

E2studio上で新規の空プロジェクトを作成します。作成後Generate project contentで設定ファイルを作成します。プロジェクトを右クリックし、デバッグ設定からエミュレータから電源供給をオフ、バッググラウンドからの実行をオフにします。

Renesas Views → Renesas QE → Cap Touchワークフローを選択します。

 

作成したプロジェクトを選択した後、タッチインターフェース構成の選択をクリックします。
タッチインターフェースの新規作成をクリックし、右横のタッチI/Fを並べ、タッチインターフェース構成を作成します。
下図では、評価ボードの電極構成と同様に配置致しました。タッチI/Fは自己容量を選択します。作成をクリックします。

 

その後、調整の実行(エミュレータ接続)をクリックします。
手順に従い操作を進めることで、各電極の非タッチ時とタッチ時の静電容量値を測定し、閾値を自動で設定してくれます。

 

自動調整終了後、調整処理の継続をクリックし、CapTouchワークフローの調整結果の出力欄のファイルを出力する、をクリックします。するとCapTouch調整結果よりファイル(qe_touch_define.h、qe_touch_config.h、qe_touch_config.c)を出力します。

 

次にサンプルコードの実行の例を表示する、をクリックすると、main関数のコード例が表示されるため、ファイルに出力をクリックします。するとチューニングにより設定した情報をqe_touch_sample.cに出力します。

デバッグを開始した後ユーザープログラムを実施し、Cap Touchワークフローのモニタリングの開始(エミュレータ接続)欄のビューを開く、をクリックします。モニタリング画面に移ります。

Cap Touchボードモニタのモニタリングを有効にする、をクリックすると、各電極のタッチセンサのパラメータがリアルタイムに表示されます。例えば下図はButton0をタッチした時の例となります。タッチした箇所に指マークが表示され、下部のパラメータ一覧の状態がTouch-Onになっていることが確認されます。

次にCap TouchステータスチャートとCap Touchパラメータ一覧を表示させます。
Cap Touchステータスチャート上の波形を確認します。
青が非タッチ時の平均静電容量値、緑がタッチ閾値となります。タッチした際、緑の閾値を超えると、下の赤ゲージが出力され、タッチが検出されます。

Cap Touchパラメータ一覧から閾値やドリフト補正を変更できます。下図はタッチの閾値を338から100に変更した例となります。右上のリアルタイムにターゲットボードへ書き込む、をオンにしていると値をリアルタイムに変更することが可能です。Cap Touchステータスチャートの緑のタッチ閾値が変化していることが確認できます。他調整可能なパラメータの例を下に示します。

 

・ドリフト補正:基準値を周辺環境に合わせて追従させる機能

・タッチ閾値:ボタン/キーパッド ボタンがタッチOFFからタッチONに切り替わる判定に使用されるパラメータ

・ヒステリシス:タッチONからタッチOFFに切り替わる判定の際に、[タッチ閾値]に対して適用されるパラメータ。[タッチ閾値]から[ヒステリシス]分下回ったときにタッチOFFと判定

・長押しキャンセル:ボタン/キーパッド ボタンのタッチONの期間が一定サイクルを超えたときに強制的にタッチOFFにする機能

また、Cap Touchパラメータの下部に選択したパラメータの概要が表示されます。
このようにリアルタイムに閾値等のタッチパラメータを変更させながら、チューニング作業を行うことができます。

Cap Touchパラメータ一覧で変更したパラメータに関してはデバッグモードを終了すると元の値へ戻ってしまいます。チューニング作業により設定値が決まり、定常的に値を変更する場合はソースコードの中にqe_touch_config.cの値を変更します。例えば、閾値の場合は下写真中のthresholod変数の値を変更、ヒステリシスを変更する場合はhysteresis変数を変更します。ビルド、デバッグを行えばマイコンのFlashに書き込みができます。

まとめ

この記事ではRensas社のQE for Capacitive touchを使ってタッチセンサのチューニング、モニタリングの方法を紹介しました。一般的にハードルが高いと言われているタッチの開発作業も、本ツールを活用すれば簡単に行えることがイメージできたのではないでしょうか?タッチの開発を検討している方はルネサスの評価ボードを活用して、是非タッチのチューニングを試してみてください!