項目 | 内容 |
---|---|
A/D Converter IC 型式 | LTC1859 (Linear Technology) |
変換方式 | マルチプレクサ式逐次変換型(SAR) |
ポート数 | 差動入力 4CH |
絶対最大入力 | DC ±25V |
入力レンジ (電圧モード) | DC 0V 〜 +5V |
DC 0V 〜 +10V | |
DC -5V 〜 +5V | |
DC -10V 〜 +10V | |
入力レンジ (電流モード, スイッチ切替) | DC 0mA 〜 20mA |
許容コモンモード電圧 | DC 0V 〜 +5V (DC 0V 〜 +5V レンジ) |
DC 0V 〜 +1V (DC 0V 〜 +10V レンジ) | |
DC -5V 〜 +5V (DC -5V 〜 +5V レンジ) | |
DC -1V 〜 +1V (DC -10V 〜 +10V レンジ) | |
入力インピーダンス | 電圧入力モード 2MΩ 以上 |
電流入力モード 250Ω ± 0.1% | |
分解能 | 16bit |
変換精度 | ±0.1% (-20℃ 〜 +60℃, フルスケール) |
絶縁方式 | ディジタルアイソレータ絶縁 |
絶縁耐圧 | DC500V 1分間, 外部端子〜内部回路間 |
コネクタ | ハーフピッチ 20 ピンコネクタ 3M 社製 MDR タイプ: 10220-52A2PL, Datasheet (PDF) |
PIN No. | 名称 | 機能 | PIN No. | 名称 | 機能 | |
---|---|---|---|---|---|---|
1 | AIN COM | アナログコモン | 11 | NC | 未使用 | |
2 | AIN0 (+) | アナログ差動入力 CH0 | 12 | NC | 未使用 | |
3 | AIN0 (-) | 13 | NC | 未使用 | ||
4 | AIN1 (+) | アナログ差動入力 CH1 | 14 | NC | 未使用 | |
5 | AIN1 (-) | 15 | NC | 未使用 | ||
6 | AIN2 (+) | アナログ差動入力 CH2 | 16 | NC | 未使用 | |
7 | AIN2 (-) | 17 | NC | 未使用 | ||
8 | AIN3 (+) | アナログ差動入力 CH3 | 18 | NC | 未使用 | |
9 | AIN3 (-) | 19 | NC | 未使用 | ||
10 | NC | 未使用 | 20 | NC | 未使用 |
アナログ差動入力の電圧/電流モードの切り替えを行うためのスイッチです。
アナログ入力を電流モード(4~20mAカレント・ループ(4-20mA current loop)) で使用する場合、
AIN MODE スイッチを “CURRENT” に切り替えて使用します。
電流モードに切り替えると、AINx(+) 〜 AINx(-) 間に 250Ω の抵抗が接続されます。
電流モードを使用する場合は、分解能を最大にするため入力レンジを 0V 〜 +5V に設定して使用してください。
SW NO. | AIN Channel | Switch Position | |
---|---|---|---|
VOLTAGE | CURRENT | ||
0 | CH0 | 電圧モード | 電流モード |
1 | CH1 | ||
2 | CH2 | ||
3 | CH3 |
端子台変換器 PCV5-1H202(東洋技研製) を接続することにより、DIO 及び AIN ポートをスプリング圧結線方式の端子へ
変換することができます。端子台変換器はオプションの DIO ケーブル、もしくは AI ケーブルにより一括接続が可能です。
購入先: ミスミ, Amazon.co.jp
IIO subsystem 上に実装しています。
参考:
sysfs の、/sys/bus/iio/devices/iio:deviceN ディレクトリ経由でアクセスします。
root@plum:/sys/bus/iio/devices/iio:device1# ls -l total 0 drwxr-xr-x 2 root root 0 Sep 8 12:01 buffer -r--r--r-- 1 root root 4096 Sep 8 12:01 dev -rw-r--r-- 1 root root 4096 Sep 8 12:02 in_voltage0_range -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage0_raw -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage0_scale -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage1_range -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage1_raw -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage1_scale -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage2_range -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage2_raw -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage2_scale -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage3_range -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage3_raw -rw-r--r-- 1 root root 4096 Sep 8 12:01 in_voltage3_scale -r--r--r-- 1 root root 4096 Sep 8 12:01 in_voltage_ranges_available -r--r--r-- 1 root root 4096 Sep 8 12:01 name drwxr-xr-x 2 root root 0 Sep 8 12:01 power drwxr-xr-x 2 root root 0 Sep 8 12:01 scan_elements lrwxrwxrwx 1 root root 0 Sep 8 12:01 subsystem -> ../../../../../../../bus/iio drwxr-xr-x 2 root root 0 Sep 8 12:01 trigger -rw-r--r-- 1 root root 4096 Sep 8 12:01 uevent root@plum:/sys/bus/iio/devices/iio:device1#
root@plum:~# uname -a Linux plum 4.19.73+ #137 PREEMPT Wed Sep 18 08:55:58 JST 2019 armv7l armv7l armv7l GNU/Linux root@plum:~# for dev in /sys/bus/iio/devices/iio*; do echo $dev; cat $dev/name; done /sys/bus/iio/devices/iio:device0 ltc185x <---- AI channel: 0〜3 /sys/bus/iio/devices/iio:device1 ltc185x <---- AI channel: 4〜7 (AI 8chのボードのみ使用可能、4chのボードでアクセスした場合値は無効) /sys/bus/iio/devices/iio:device2 TI-am335x-adc.0.auto
各 AIN のチャネル (0 〜 3) に対して、下記のノードがあります。
名称 | 内容 | 例 | 備考 |
---|---|---|---|
in_voltagex_range | 現在の入力レンジ設定 | -10Vto+10V | 初期設定は “0Vto5V” (DC 0V 〜 +5V) |
in_voltagex_scale | スケール(1bit あたりの電圧) | 0.000305175 | 入力レンジ “-10Vto+10V” 時 |
in_voltagex_raw | AD 変換値 | 13607 | 13607 x 0.000305175 ≒ 4.152 [V] |
各チャネルで共通なものは下記となります。
名称 | 内容 | 例 | 備考 |
---|---|---|---|
in_voltage_ranges_available | 入力レンジとして設定可能な値一覧 | -5Vto+5V -10Vto+10V 0Vto+5V 0Vto+10V |
入力レンジの切り替えには、“in_voltage_ranges_available” で表示されるテキストから選択し、“in_voltagex_range” へ書き込むことで行います。
root@plum:/sys/bus/iio/devices/iio:device1# cat in_voltage_ranges_available -5Vto+5V -10Vto+10V 0Vto+5V 0Vto+10V
root@plum:/sys/bus/iio/devices/iio:device1# echo 0Vto+5V > in_voltage0_range root@plum:/sys/bus/iio/devices/iio:device1# cat in_voltage0_range 0Vto+5V root@plum:/sys/bus/iio/devices/iio:device1#
root@plum:/sys/bus/iio/devices/iio:device1# cat in_voltage0_scale 0.000076293 root@plum:/sys/bus/iio/devices/iio:device1#
root@plum:/sys/bus/iio/devices/iio:device1# cat in_voltage0_raw 54392 root@plum:/sys/bus/iio/devices/iio:device1#
この例では、スケールとして読み出した値 x AD 変換値 が、AIN に印加されている電圧値となります。
0.000076293 x 54392 = 4.1497 [V]
AINx(+) よりも AINx(-) のほうが電圧が高い場合、プラス電圧のみ対応の入力レンジのままですと 0V にクリップしてしまいます。
0V を中心として正負に電圧が振れる入力の場合、もしくは入力の極性を間違えているケースです。
root@plum:/sys/bus/iio/devices/iio:device1# cat in_voltage0_range 0Vto5V root@plum:/sys/bus/iio/devices/iio:device1# cat in_voltage0_raw 0 root@plum:/sys/bus/iio/devices/iio:device1#
その場合、- から + まで対応のレンジに切り替えを行う必要があります。
root@plum:/sys/bus/iio/devices/iio:device1# echo -10Vto+10V > in_voltage0_range root@plum:/sys/bus/iio/devices/iio:device1# cat in_voltage0_raw -13597 root@plum:/sys/bus/iio/devices/iio:device1#
スケールは in_voltage0_scale から読み出します。
root@plum:/sys/bus/iio/devices/iio:device1# cat in_voltage0_scale 0.000305175
この例では、スケールとして読み出した値 x AD 変換値 の下記の値が AIN に印加されている電圧値となります。
0.000305175 x (-13597) = - 4.1495 [V]