ADCでPIC自身のVDD入力電圧を測定


8
  • プロセッサー:PIC18F66K22
  • コンパイラ:C18(XC8も問題ありません)

AN4アナログピンの電圧を測定するコードを作成しました(そしてテストに成功しました)。

今、私は何か他のことを試したいのですが、それが理論的に可能かどうかはわかりません。

私のテストボードにはPICプロセッサがあり、VDD、AVVDが電源に接続されています(範囲は0(バッテリーが空の場合または接続されていない場合)から4、2(フルバッテリー)まで)。

ADCを使用してボードのVDD(-in)を測定できますか?

何故なの?:

  • それはANxピンではありません、ADCにそれを測定させる方法がわかりませんか?(チャネル?)
  • VDD(-in)の電圧が低下した場合、ADCの基準電圧も低下しますか?(私のPICが3,3Vしか得られない場合でも、ADCはそれが100%であると言います(チップの最大電圧として、リファレンスも3,3Vです)。

なぜ/何を尋ねますか?:

  • チャネル30(VDDCORE)だけを測定できますか?
  • VrefをVddに設定して、A / Dコンバーターで高精度電圧リファレンスを測定できますか?(わからない)
  • または、VDD-inからANxピンにワイヤを追加できますか?

  • VDD-inが約3,4Vの場合、内部VREF +(4.096V)は4 + Vのままですか?そうするようなトランスフォーマーの種類はありますか?

  • 内部VREF +(4.096V)はバッテリーの最大値(4,2V)より少し低いですが、これはADCを損傷する可能性があることを意味しますか?または、バッテリーがいっぱいになると結果が最大になります。(4,096Vのうち4,2V)

エレクトロニクスに関する私の知識は「低い」ことに注意してください。私は教育のソフトウェアの部分についてより多くを学びましたが、それは組み込みエンジニアリングの重要な部分であるため、(組み込み)エレクトロニクスについてもっと知りたいです。(私の学校がこれを見ていないのは悲しいです。)

回答:


14

そのPICには、チャネル選択ビットを11111に設定することで選択される内部1.024Vバンドギャップリファレンスがあり
ます。したがって、ADCモジュールのリファレンスをVddに設定し、1.024Vの反響を測定するように指示すると、実際のVddを推測できます。です。

通常は、A2Dしたピンの電圧を次のように計算します。Vin
=(ADCval / ADCrange)* Vref

しかし、この場合、あなたが知っているそのVin(1.024v)とVref(あなたのVdd)を解決したいので、
Vref =(Vin * ADCrange)/ ADCval
または具体的にあなたの場合:
Vdd =(1.024 * 4096) / ADCval


これをやってみよう!((明日)、これが機能する場合はこれを答えにしてください)別のカレグアは、「バンドギャップ参照」があることを指摘しました。「スケール」の計算に関する洞察をありがとう、それを知らなかった!
Paul

パーフェクト!理論と具体的な詳細の組み合わせのおかげで、これはほんの数分で修正されました。思考とテストは、実際の開発(回答後)としてより多くの時間がかかりました。
Paul
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.