まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

センサ

センサ類のメモ これまでやったものとこれからやりたいもの

 センサ類を色々使ってきたのでちょっと整理。最近はSeeed StudioのGROVE Systemがいいかなと思っている。GROVEは4PのコネクタにVcc,GND,信号2本をつなぐ約束で色々なデバイスの実験が簡単に出来るもの。センサは基本的に端子が少なく、毎回Arduino用のシールドで作らなくてもGROVE用のelementとして工作したら組み合わせて使用できる。

センサ一覧(部品屋の扱いから)

秋月電子>センサ一般
共立エレショップ>センサ
共立エレショップ>センサボード
千石電商>センサー
ストロベリー・リナックス>センサ


・ロケーション
GPS GM318B
http://blog.livedoor.jp/hardyboy/archives/7345515.html

・超音波距離センサ HC-SR04
http://blog.livedoor.jp/hardyboy/archives/7043767.html

・温度センサ LM35DZ
http://blog.livedoor.jp/hardyboy/archives/6111809.html

・照度センサ S9705
http://blog.livedoor.jp/hardyboy/archives/6543874.html

・キーマトリックス
http://blog.livedoor.jp/hardyboy/archives/6288074.html

・CdS
・曲げ
・傾き
・加速度
・気圧
・湿度
・湿気(端子を植木鉢に差す)
・におい
・地磁気
・カラー
・赤外線
・紫外線
・視覚(カメラ)
・音声(マイク)
・プッシュスイッチ
・ロータリーエンコーダ
・PS/2キーボード

※スイッチ類も含めてみた


A/Dコンバータの勘違い(植木算)とLM35DZを使った場合の誤差

植木算 -Wikipedia

 Arduino(ATmega328や32U4)のADCはAREFで与えられた基準電圧を0〜1023の値で取得できる。何も考えずに分解能10bit、1024で割っていたが本当は1024-1だった。
※追記:なんか考えてたら分解能による限界のような気もしてきましたがいちおうこのままで出しておきます
 
やばい。とある装置は今日持っていったばっかりで手元にないので検算してみる。ツッコミ大歓迎。

※追記 2021.9.5
23.7 ADC Conversion
Result "0x000 represents analog ground, and 0x3FF represents the selected reference voltage minus one"
10年誤解してた。÷1024でいいんだ。ォァー


AREFが1.1V(INTERNAL)、3.3V(EXTERNAL)、5V(EXTERNAL)の場合の1ステップあたりの電圧を計算した。有効数字は6桁で計算。

1.1V ÷ 1024 = 1.07422mV (誤り) ×1000すると1.07422V
1.1V ÷ 1023 = 1.07527mV (正しい) ×1000すると1.07527V
※1023が示す電圧の範囲は、1.07527V〜1.10000V

1.1Vで 1.05mVの差

3.3V ÷ 1024 = 3.22266mV (誤り) ×1000すると3.22266V
3.3V ÷ 1023 = 3.22581mV (正しい) ×1000すると3.22581V
※1023が示す電圧の範囲は、3.22581V〜3.30000V

3.3Vで 3.15mVの差

5.0V ÷ 1024 = 4.88281mV (誤り) ×1000すると4.88281V
5.0V ÷ 1023 = 5.00489mV (正しい) ×1000すると4.88759V
※1023が示す電圧の範囲は、4.88759V〜5.00000V

5.0Vで 4.78mVの差

今回はAREFで3.3Vを使用、LM35DZは1℃あたり10mV。
10〜50℃あたりで使用することを考えると、100mVから500mVを観測することになる。
値が大きいほど誤差は大きくなるので、500mVで考える。

誤ったプログラム 500mV ÷ 3.22266mV = 155.15.. 表示値は156 (切り上げだから)
正しいプログラム 500mV ÷ 3.22851mV = 154.87.. 表示値は155になるはず

 156(誤った値) × 3.22581mV(正しい1ステップあたりの電圧) = 503.226mV
その差 3.226mV → 間違ったプログラムでは50℃付近で約0.3℃高く表示される。

で、いま使ってるセンサLM35DZの誤差は25℃付近で±1.5℃、Typ±0.6℃。グレードが低いのは承知の上で使っているので±2℃程度は気にしない。

ということで室温の範囲内なら問題ないでしょう。

記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ