- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
Self方式ボタンのチューニングをしたいのですが、
Sense Tuner(Graph View) の Sensor Data が飽和(2046固定)しております。
Compensation IDAC を 0~127まで変化させたのですが、飽和状態が解除されません。
Compensation IDAC を MAX(127)まで上げてもSensor Dataの飽和状態が解除されない場合、
次に何を確認&変更すべきか教えて下さい。
解決済! 解決策の投稿を見る。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
CapSense のチューニングについては、以下の文書を参照してください。
https://www.cypress.com/AN85951
AN85951 - PSoC® 4 and PSoC 6 MCU CapSense® Design Guide
この中にマニュアルチューニングの手順が書かれています。
一番簡単なのは、オートチューニングの結果を基本にチューニングを行う事です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
CapSense のチューニングについては、以下の文書を参照してください。
https://www.cypress.com/AN85951
AN85951 - PSoC® 4 and PSoC 6 MCU CapSense® Design Guide
この中にマニュアルチューニングの手順が書かれています。
一番簡単なのは、オートチューニングの結果を基本にチューニングを行う事です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
オートチューニング(*1)実行後の設定(Compensation IDAC=5)では飽和状態(SensorData=4058)(*2)でしたが、
Compensation IDAC=30に変更する事で飽和状態を解除出来ました。(*3)
ただ、指を置いた場合、RawDataが下がり、Sensor Signalも 0 のままでタッチ反応を検出できておりません。
SNR Mesurement = 1.32 (*4)
通常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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
SmartSense をお試しください。
CapSense_CalibrateAllWidgets() は、 IDAC を調整するのに対して SmartSense では、 Sense Clock 周波数も調整します。 Raw Count が飽和するという現象だけを見るとセンサの寄生容量が大きいことが推測されるのですが、 3MHz の sense clock では早すぎるはずです。
Tuner を使うと SmartSense で得られた値を確認してプロジェクトに反映させることもできます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
一歩前進しました。
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設定)
★ボタン10: 750kHz/16bit/M-IDAC 57/C-IDAC 50/SNR= 5.26 ★OK★ (手動チューニング)
★ボタン10: 750kHz/16bit/M-IDAC 56/C-IDAC 50/SNR= 2.40 NG (手動チューニング)
以下、近接するボタンの設定値です。
ボタン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設定)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
これで、ボタン 10 の寄生容量だけが高いのが数値でわかります。
IDAC の値を比べると、ボタン 10 の値は他のボタンの3倍になっています。
さらに sense clock の周波数は他のボタンの4分の1になっています。
合わせるとボタン 10 の寄生容量が他のボタンの12倍であることが分かります。
あまりにも寄生容量に違いが大きいので、何らかの電気的な原因が考えられます。
原因は、いくつか考えられます。
1) ボタンの大きさが12倍大きい。
2) ボタンの裏側にベタグランドパターンがある。
3) ボタンからの配線がグランドパターンと並列に走っている。
4) ボタンからの配線とグランドの間に抵抗性のショートが発生している。
5) ボタン周囲のごく近くにグランドパターンが存在する。
センサのパターンの見直しをお勧めします。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
確認及び見解ありがとうございます。
本件、ボタンセンサー設計に疑いありでクローズ致します。