このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
mae3xx_ope:ai_with_iio_subsystem:start [2015/09/30 16:46] – admin | mae3xx_ope:ai_with_iio_subsystem:start [2019/09/18 09:14] (現在) – [使用方法 (ソフトウェア)] admin | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== AI(Analog IN) を利用する (IIO subsystem) ====== | ||
+ | |||
+ | A/D Converter を搭載した下記機種では、AI(Analog IN) 4チャネルを利用できます。 | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== ハードウェア仕様 ===== | ||
+ | |||
+ | ==== 電気的仕様 ==== | ||
+ | |||
+ | ^ 項目 | ||
+ | |A/D Converter IC 型式|[[http:// | ||
+ | |変換方式|[[http:// | ||
+ | |ポート数|差動入力 4CH| | ||
+ | |絶対最大入力|DC ±25V| | ||
+ | |入力レンジ (電圧モード)|DC 0V 〜 +5V| | ||
+ | |:::|DC 0V 〜 +10V| | ||
+ | |:::|DC -5V 〜 +5V| | ||
+ | |:::|DC -10V 〜 +10V| | ||
+ | |入力レンジ (電流モード, | ||
+ | |許容コモンモード電圧|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Ω 以上| | ||
+ | |::: | ||
+ | |分解能|16bit| | ||
+ | |変換精度|±0.1% (-20℃ 〜 +60℃, フルスケール)| | ||
+ | |絶縁方式|ディジタルアイソレータ絶縁| | ||
+ | |絶縁耐圧|DC500V 1分間, 外部端子〜内部回路間| | ||
+ | |コネクタ|ハーフピッチ 20 ピンコネクタ [[http:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== ピンアサイン ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |< 64em 6em 6em 14em 0.2em 4em 10em 10em >| | ||
+ | ^ PIN No. ^ 名称 | ||
+ | | 1| AIN COM | アナログコモン | ||
+ | | 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 | 未使用 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== AIN MODE スイッチ設定 ==== | ||
+ | |||
+ | アナログ差動入力の電圧/ | ||
+ | アナログ入力を電流モード([[http:// | ||
+ | AIN MODE スイッチを **" | ||
+ | 電流モードに切り替えると、AINx(+) 〜 AINx(-) 間に 250Ω の抵抗が接続されます。\\ | ||
+ | 電流モードを使用する場合は、分解能を最大にするため入力レンジを 0V 〜 +5V に設定して使用してください。 | ||
+ | |||
+ | |< 40em 4em 6em 6em 6em >| | ||
+ | ^ SW NO. ^ AIN Channel | ||
+ | ^::: | ||
+ | | 0 | CH0 | 電圧モード | ||
+ | | 1 | CH1 |:::|:::| | ||
+ | | 2 | CH2 |:::|:::| | ||
+ | | 3 | CH3 |:::|:::| | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== 等価回路 ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== 便利なツール ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 端子台変換器 [[http:// | ||
+ | 変換することができます。端子台変換器はオプションの DIO ケーブル、もしくは AI ケーブルにより一括接続が可能です。 | ||
+ | |||
+ | 購入先: [[http:// | ||
+ | |||
+ | \\ | ||
+ | ==== 接続例 ==== | ||
+ | |||
+ | === 電流モード使用 4-20mA | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ※ マイナス(-)側を COM(GND) に接続するのを忘れると、入力値が不安定になり計測できません。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== よくある質問 ==== | ||
+ | |||
+ | * Q. 入力が差動入力となってるが、シングルエンドの電圧が出力されるセンサを接続したい | ||
+ | * A. AIN(-) とアナログコモンを接続し、センサ側共通 GND と接続する | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== 使用方法 (ソフトウェア) ===== | ||
+ | |||
+ | IIO subsystem 上に実装しています。\\ | ||
+ | |||
+ | 参考: | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | |||
+ | sysfs の、/ | ||
+ | |||
+ | < | ||
+ | root@plum:/ | ||
+ | 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 -> ../ | ||
+ | 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:/ | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | Kernel のメジャーバージョン((IIO module の初期化順が異なります))により、ディレクトリが異なります。\\ | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | root@plum: | ||
+ | Linux plum 4.19.73+ #137 PREEMPT Wed Sep 18 08:55:58 JST 2019 armv7l armv7l armv7l GNU/Linux | ||
+ | |||
+ | root@plum: | ||
+ | / | ||
+ | ltc185x <---- AI channel: 0〜3 | ||
+ | / | ||
+ | ltc185x <---- AI channel: 4〜7 (AI 8chのボードのみ使用可能、4chのボードでアクセスした場合値は無効) | ||
+ | / | ||
+ | TI-am335x-adc.0.auto | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== 基本的な使用方法 ==== | ||
+ | |||
+ | 各 AIN のチャネル (0 〜 3) に対して、下記のノードがあります。 | ||
+ | |||
+ | ^ 名称 | ||
+ | |in_voltagex_range|現在の入力レンジ設定| | ||
+ | |in_voltagex_scale|スケール(1bit あたりの電圧)| | ||
+ | |in_voltagex_raw|AD 変換値| | ||
+ | |||
+ | \\ | ||
+ | |||
+ | 各チャネルで共通なものは下記となります。 | ||
+ | |||
+ | ^ 名称 | ||
+ | |in_voltage_ranges_available|入力レンジとして設定可能な値一覧|-5Vto+5V -10Vto+10V 0Vto+5V 0Vto+10V| | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | 入力レンジの切り替えには、" | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === 入力レンジ一覧表示 === | ||
+ | |||
+ | < | ||
+ | root@plum:/ | ||
+ | -5Vto+5V -10Vto+10V 0Vto+5V 0Vto+10V | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === 入力レンジ切り替え (DC 0V 〜 +5V) === | ||
+ | |||
+ | < | ||
+ | root@plum:/ | ||
+ | root@plum:/ | ||
+ | 0Vto+5V | ||
+ | root@plum:/ | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === スケール 読み出し === | ||
+ | |||
+ | < | ||
+ | root@plum:/ | ||
+ | 0.000076293 | ||
+ | root@plum:/ | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === AD 変換値 読み出し === | ||
+ | |||
+ | == 入力値が 正の値 の場合 == | ||
+ | |||
+ | < | ||
+ | root@plum:/ | ||
+ | 54392 | ||
+ | root@plum:/ | ||
+ | </ | ||
+ | |||
+ | この例では、スケールとして読み出した値 x AD 変換値 が、AIN に印加されている電圧値となります。 | ||
+ | |||
+ | 0.000076293 x 54392 = 4.1497 [V] | ||
+ | |||
+ | \\ | ||
+ | |||
+ | == 入力値が 負の値 の場合 == | ||
+ | |||
+ | AINx(+) よりも AINx(-) のほうが電圧が高い場合、プラス電圧のみ対応の入力レンジのままですと 0V にクリップしてしまいます。\\ | ||
+ | 0V を中心として正負に電圧が振れる入力の場合、もしくは入力の極性を間違えているケースです。 | ||
+ | |||
+ | < | ||
+ | root@plum:/ | ||
+ | 0Vto5V | ||
+ | root@plum:/ | ||
+ | 0 | ||
+ | root@plum:/ | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | その場合、- から + まで対応のレンジに切り替えを行う必要があります。 | ||
+ | |||
+ | < | ||
+ | root@plum:/ | ||
+ | root@plum:/ | ||
+ | -13597 | ||
+ | root@plum:/ | ||
+ | </ | ||
+ | |||
+ | スケールは in_voltage0_scale から読み出します。 | ||
+ | |||
+ | < | ||
+ | root@plum:/ | ||
+ | 0.000305175 | ||
+ | </ | ||
+ | |||
+ | この例では、スケールとして読み出した値 x AD 変換値 の下記の値が AIN に印加されている電圧値となります。 | ||
+ | |||
+ | 0.000305175 x (-13597) = - 4.1495 [V] | ||
+ | |||
+ | \\ | ||