「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



arduinoって、てっきり外部リファレンスが使えない
ものと思い込んでいたんですが、言語リファレンスを
見ていたら、ちゃんとありましたよ。↓
http://www.arduino.cc/en/Reference/AnalogReference

私の調査能力はその程度みたい…。

なお、analogReference()関数では
・DEFAULT … デフォルトの5V参照
・INTERNAL … 内部参照電圧(mega168は1.1V、mega8は2.56V)
・EXTERNAL … AREFピンからの外部参照電源入力

を選ぶことができるということでした。mega168の
機能すべてを網羅といってよいでしょう。
まぁそもそも敢えて取り込まない理由も見当たらない
んですが。あえて機能削ったら意地悪だよね…。

いずれにしても、S8100Bの場合は1.1Vに入りきらない
ので、DEFAULTの5Vで使うのが一番楽ちんでしょう。

ちなみに、AVRではこれまでAD変換使ったアプリを
作った事が無かったので今回まで知らなかったんですが、
このリンク先を読んでみると、内部のリファレンス電源
で使うときに注意が必要らしいです。

ザッと訳してみます…。

・AREFピンへの参照電圧は5KΩの抵抗を挟んで繋ぐと吉。
 ハードウェアのセッティングと異なる電圧を
 AREFから入力した状態でanalogReference()
 を下手にセットしても、チップ内部の故障を防ぐ
 ことが出来る。

ですと! な、な、故障とな!?!?

・内蔵1.1Vに設定した状態でAREFに入力されても壊れる
 ことはありませんが、外部参照AREFからの入力電圧に
 よって参照電圧が左右されてしまうます。5kΩを
 通せばそれを回避できます。

らしいことが書いてあります。
(訳、あってます?1.1Vは大丈夫でも、内蔵5Vの場合は
 触れられてないから、やっぱり壊れちゃうのかな?)

うーん、初めて聞いた!初耳!
山根さんの本にも触れられていない様子。


atmelの最新データシートから、内部の回路ブロック図
を眺めてみます。
なるほど。こういう回路になってるんですね。


この図のAVCCや内部1.1Vが有効になっている状態
(赤色で示したFETトランジスタがオン状態の場合)
に、もしAREFに電圧がかかったらたらショート
しちゃいますよねぇ…。

で5kΩの抵抗で防御、ですか…。

大抵は、内部参照電圧と外部リファレンス電圧を1つの
プログラム内で切替ながらAD変換するなんてことは
皆無なのであまり気にしなくてもいいんだろうと
思いますが、いずれにしても外部参照電圧をAREFに
繋ぐ時に設定を間違えないようにね、ということ
なのでしょう。

特にarduinoの場合はブートローダーが立ち上げ時に
約10秒待っているんですが、この間はDEFALUTになっている
はずなので、5kΩの抵抗を介さずに繋いでいると
10秒間ショートしちゃってるわけです。

というわけで、AREFに外部参照の電圧を繋ぐ場合は
5kΩの抵抗を繋ぐことは必須のようです。

一つお勉強になりました。
今までAVRっていえばUARTなどのデジタル入出力と
PWM出力程度しかつかったことがなかったからなぁ…。
AD変換の参照電圧ねぇ。

ちなみに、errataには何も書いてませんよ…。
他のチップはどうなのかな?それとかPICの場合も。
後で調べてみよう…。



コメント ( 10 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする