PSoCでAD変換をする際の注意点
最近は温度センサの出力を使って遊んでいます。
さて、ある日温度センサの出力をPSoCでAD変換してみました。
ほぼ正しい値がでるものの、どうも値がふらふらしてしまい安定しません。
まれに異常な値が出ることもあります。
これでは困るのでネットで検索してみたところ、
PSoCフォーラムの記事に気になることが書いてあったので参考にして
AnalogColumn_Clock_0 を TMR Clock、CNT Clock と同じ VC2 に直したところ、
安定して動くようになりました。
(データシートにも書いてあるらしいです。データシートに
CAUTION It is imperative that the same clock be used for all three blocks or this user module will not function correctly.
という記述がありますが、これでしょうか。よくわかりませんが、直ってよかったです。)
![]()
↑ユーザモジュールのパラメータしか見ていないため、気づいていませんでした。
最初はVC1になっていました。PSoCって難しい・・・。
ちなみに、AD変換が不安定のままで温度データのログを取ったら以下のようになりました。
がたがたでひどいです(苦笑)
![]()
↑一応ある程度温度データの流れはわかるものの・・・ひどい。
測定場所は室内です。
◆AD変換のサンプル (2007/03/09追加)
作成したプロジェクトファイルをこちらにおいておきます。
AD変換をする際に参考にしてもらえれば幸いです。
このサンプルでは、AD変換を行い、結果をLCDに表示します(16進数 / 12bit)
また、AD変換の結果によって点灯するLEDが変わるようになっています(4段階)
◆AD変換のサンプルその2 (2007/03/11追加)
作成したプロジェクトファイルをこちらにおいておきます。
AD変換をする際に参考にしてもらえれば幸いです。
このサンプルでは、AD変換を行い、結果をLCDに表示します(16進数 / 8bit)
また、AD変換の結果によって点灯するLEDが変わるようになっています(256段階)
※これらのサンプルではPSoCは
CY8C27643-24LFXI
を使いました。
また、ユーザモジュールはADCINC12を使用しています。
応援お願いします(人気blogランキングへ)
コメント
はじめまして、edyと申します。
この問題は私もはまりまして、同じくPSoCフォーラムで救われました。
かの桑野氏もはまられたそうです。
時々覗かせてもらいますので、よろしくお願いします。
投稿者: edy | 2007年01月04日 20:17
edyさんこんばんは。
コメントありがとうございます。
この問題はずっと悩んでいたのですが、やはりはまりやすいんですね。
さまざまな情報が集まるのでPSoCフォーラムはありがたいです。
edyさんのブログ、おもしろいため読ませていただいております。こちらこそよろしくお願いします。
投稿者: BIRD | 2007年01月04日 20:49