« 新アナログテスター カイセ「KF-6」 | トップページ | 超低速2相パルス発生回路・ケース入れ »

2024年3月30日 (土)

ラズピコだと1/65535が出現

Arduinoでぐだぐだ言ったのが1023 vs 1024問題

トラ技のラズピコ特集、2022年5月号を見ていたら・・・
Pc12
A/D変換の値から電圧を計算するのに「1/65535」が
出ていました。

ただし言語は「python」。
analogioを検索してみると、Aanaloginは
16bitの値になるそうで、
https://learn.adafruit.com/circuitpython-essentials/circuitpython-analog-in
ここでは1/65536して電圧に変換しています。

https://www.denshi.club/pc/python/circuitpython/circuitpython-10-3.html
ここは、「65535は間違いなので」と注記があって
1/65536になっています。

https://logikara.blog/raspi-pico-basic/
ここは1/65536。

もう一つ、気になったのが
  v / (ref - v)
のところ。
Pc11

vが電圧値でrefが基準電圧つまり3.3Vなら、
adc.valueがフルスケールの65535になったときは
  v = 65535 / 65535 * 3.3 で
   = 3.3 となります。
すると、
  3.3 / (3.3 - 3.3)
で、ゼロ除算が発生。

図15のCDSが外れて、A/D値がフルスケールになると
ゼロ除算してしまうわけです。
1/65536にしていれば、v = 3.29995となり、
ゼロ除算は避けられます。

pythonでの数値型がよく分かってないので、
これでどんな挙動になるのかは知りません。
記事をぱっと見して、
  1/65535が出てきたぞ
  1023 vs 1024と同じ匂いか
っと、感じた次第です。

 

|

« 新アナログテスター カイセ「KF-6」 | トップページ | 超低速2相パルス発生回路・ケース入れ »

重箱の隅」カテゴリの記事

ラズパイ・ピコ」カテゴリの記事

1023 vs 1024」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 新アナログテスター カイセ「KF-6」 | トップページ | 超低速2相パルス発生回路・ケース入れ »