Self方式ボタンのSensorData飽和状態を調整出来ない

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
TaDa_1980266
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Self方式ボタンのチューニングをしたいのですが、
Sense Tuner(Graph View) の Sensor Data が飽和(2046固定)しております。


Compensation IDAC を 0~127まで変化させたのですが、飽和状態が解除されません。

Compensation IDAC を MAX(127)まで上げてもSensor Dataの飽和状態が解除されない場合、
次に何を確認&変更すべきか教えて下さい。

0 件の賞賛
1 解決策
NoriTan
Employee
Employee
25 sign-ins 5 questions asked 10 sign-ins

CapSense のチューニングについては、以下の文書を参照してください。

https://www.cypress.com/AN85951

AN85951 - PSoC® 4 and PSoC 6 MCU CapSense® Design Guide

この中にマニュアルチューニングの手順が書かれています。

一番簡単なのは、オートチューニングの結果を基本にチューニングを行う事です。

元の投稿で解決策を見る

0 件の賞賛
6 返答(返信)
NoriTan
Employee
Employee
25 sign-ins 5 questions asked 10 sign-ins

CapSense のチューニングについては、以下の文書を参照してください。

https://www.cypress.com/AN85951

AN85951 - PSoC® 4 and PSoC 6 MCU CapSense® Design Guide

この中にマニュアルチューニングの手順が書かれています。

一番簡単なのは、オートチューニングの結果を基本にチューニングを行う事です。

0 件の賞賛

オートチューニング(*1)実行後の設定(Compensation IDAC=5)では飽和状態(SensorData=4058)(*2)でしたが、

20190729_AutoTuning_Settings_1.jpg

20190729_AutoTuning_Settings_2.jpg

20190729_AutoTuning_Settings_SensorData.jpg

Compensation IDAC=30に変更する事で飽和状態を解除出来ました。(*3)

20190729_CompensationIDAC_30_SesnsorData.jpg

ただ、指を置いた場合、RawDataが下がり、Sensor Signalも 0 のままでタッチ反応を検出できておりません。
SNR Mesurement = 1.32 (*4)

20190729_CompensationIDAC_30_SNR_MEasurement.jpg

通常Modulator IDAC を下げる事で Sensor Signal値を上昇させる認識ですが、
オートチューニングで 6 が設定されており、十分低い値の為、調整余力が無い認識です。

この現象は、チューニング対応可能な現象でしょうか?
それともボタンセンサーや基板等の環境依存を疑うべきでしょうか?

※同一シートの他ボタンはタッチ検出出来ており、1つのボタンのみチューニング出来ない状態です。

(*1)CapSense_CalibrateAllWidgets()を実行

(*2)20190729_AutoTuning_Settings_1.jpg
      20190729_AutoTuning_Settings_2.jpg
      20190729_AutoTuning_Settings_SensorData.jpg

(*3)20190729_CompensationIDAC_30_SesnsorData.jpg

(*4)20190729_CompensationIDAC_30_SNR_MEasurement.jpg

0 件の賞賛

SmartSense をお試しください。

GS004385.png

CapSense_CalibrateAllWidgets() は、 IDAC を調整するのに対して SmartSense では、 Sense Clock 周波数も調整します。 Raw Count が飽和するという現象だけを見るとセンサの寄生容量が大きいことが推測されるのですが、 3MHz の sense clock では早すぎるはずです。

Tuner を使うと SmartSense で得られた値を確認してプロジェクトに反映させることもできます。

0 件の賞賛

一歩前進しました。


SmartSenseでオートチューニングした所、Tanaka様の推測通りsense clockが 750kHz に変わりました。

Modulator IDAC を -1 すると何とか SNR 5以上になりましたが、さらに -1 すると SNRが下がってしまいました。

ボタン10のSNRをもう少し改善する方法はありますでしょうか?

★ボタン10:  750kHz/16bit/M-IDAC 58/C-IDAC 50/SNR= 2.19   NG   (SmartSense設定)

20190729_SmartSense_AutoTuning_Btn10_Settings_1_Zoom.jpg20190729_SmartSense_AutoTuning_Btn10_Settings_2_Zoom.jpg

20190729_SmartSense_AutoTuning_Btn10_SNR_M_IDAC56.jpg

★ボタン10:  750kHz/16bit/M-IDAC 57/C-IDAC 50/SNR= 5.26 ★OK★ (手動チューニング)

20190729_SmartSense_AutoTuning_Btn10_SNR_M_IDAC57.jpg

★ボタン10:  750kHz/16bit/M-IDAC 56/C-IDAC 50/SNR= 2.40   NG   (手動チューニング)

20190729_SmartSense_AutoTuning_Btn10_SNR_M_IDAC58.jpg

以下、近接するボタンの設定値です。

  ボタン09: 3000kHz/14bit/M-IDAC 18/C-IDAC 15/SNR=70.69        (SmartSense設定)

  ボタン11: 3000kHz/15bit/M-IDAC 19/C-IDAC 16/SNR=47.45        (SmartSense設定)

0 件の賞賛

これで、ボタン 10 の寄生容量だけが高いのが数値でわかります。

IDAC の値を比べると、ボタン 10 の値は他のボタンの3倍になっています。

さらに sense clock の周波数は他のボタンの4分の1になっています。

合わせるとボタン 10 の寄生容量が他のボタンの12倍であることが分かります。

あまりにも寄生容量に違いが大きいので、何らかの電気的な原因が考えられます。

原因は、いくつか考えられます。

1) ボタンの大きさが12倍大きい。

2) ボタンの裏側にベタグランドパターンがある。

3) ボタンからの配線がグランドパターンと並列に走っている。

4) ボタンからの配線とグランドの間に抵抗性のショートが発生している。

5) ボタン周囲のごく近くにグランドパターンが存在する。

センサのパターンの見直しをお勧めします。

0 件の賞賛

確認及び見解ありがとうございます。

本件、ボタンセンサー設計に疑いありでクローズ致します。

0 件の賞賛