@@ -1850,6 +1850,15 @@ Analog/digital input terminals are mapped as described in the following table:
1850
1850
| I15 | 14 |
1851
1851
| I16 | 15 |
1852
1852
1853
+ The ** reading time** of digital and analog inputs is detailed in the table below:
1854
+
1855
+ | ** Channel type** | ** Number of inputs** | ** Function** | ** Time** | ** Notes** |
1856
+ | :----------------:| :--------------------:| :------------------------------:| :--------:| :-----------------------------------------------------------------------------------------------------:|
1857
+ | Digital | All at once | ` digitalRead(pin, true) ` | ~ 580 µs | This function even if used to read a "single pin" actually updates the value of all the digital pins. |
1858
+ | Digital | All at once | ` updateDigitalInputs() ` | ~ 580 µs | This function is also included in the measure ` digitalRead(0, false) ` |
1859
+ | Analog | One | ` getAnalogRead(channel, true) ` | ~ 600 µs | Time does not change converting the value to physical unit (i.e. using ` pinVoltage() ` ) |
1860
+ | Analog | All at once | ` updateAnalogInputs() ` | ~ 1.28 ms | This function is also included in the measure ` getAnalogRead(0, false) ` |
1861
+
1853
1862
#### Digital
1854
1863
1855
1864
| ** Characteristics** | ** Details** |
@@ -1858,6 +1867,7 @@ Analog/digital input terminals are mapped as described in the following table:
1858
1867
| Digital Input voltage logic level | VIL Max: 4 VDC. VHL Min: 5.9 VDC |
1859
1868
| Digital Input current | 4.12mA at 24V \| 2.05mA at 10V |
1860
1869
| Digital Input frequency | 300 Hz |
1870
+ | All inputs at once reading time | ~ 580 µs |
1861
1871
1862
1872
The state of an input terminal, configured as digital, can be read using the built-in function ` digitalRead() ` as shown below:
1863
1873
@@ -2006,13 +2016,15 @@ LL LL LL LL LL HH LL LL LL LL LL LL LL LL LL LL
2006
2016
2007
2017
#### Analog
2008
2018
2009
- | ** Characteristics** | ** Details** |
2010
- | :-----------------------:| :-----------:|
2011
- | Analog Input voltage | 0...24V |
2012
- | Analog Input resolution | 14 bits |
2013
- | Analog Input LSB value | 1.733 mV |
2014
- | Accuracy | +/- 5% |
2015
- | Repeatability | +/- 2% |
2019
+ | ** Characteristics** | ** Details** |
2020
+ | :-------------------------------:| :-----------:|
2021
+ | Analog Input voltage | 0...24V |
2022
+ | Analog Input resolution | 14 bits |
2023
+ | Analog Input LSB value | 1.733 mV |
2024
+ | Accuracy | +/- 5% |
2025
+ | Repeatability | +/- 2% |
2026
+ | One input reading time | ~ 600 µs |
2027
+ | All inputs at once reading time | ~ 1.28 ms |
2016
2028
2017
2029
The state of an input terminal, configured as analog, can be read using the built-in function ` analogRead() ` as shown below:
2018
2030
@@ -2159,6 +2171,7 @@ Expansion[0]: type DIGITAL [Mechanical], I2C address: 11
2159
2171
2160
2172
![ Analog Input wiring example] ( assets/analog-inputs.png )
2161
2173
2174
+
2162
2175
#### Outputs
2163
2176
2164
2177
The Opta™ Expansions have ** 8 relay outputs** accessible through terminals pairs ` 1 ` to ` 8 ` .
@@ -2480,16 +2493,28 @@ Input terminals are mapped as described in the following table:
2480
2493
| I6 | 6 or OA_CH_6 |
2481
2494
| O2 | 7 or OA_CH_7 |
2482
2495
2496
+ The ** reading time** of digital and analog inputs is detailed in the table below:
2497
+
2498
+ | ** Channel type** | ** Number of inputs** | ** Function** | ** Time** | ** Notes** |
2499
+ | :----------------:| :--------------------:| :------------------------:| :--------:| :-----------------------------------------------------------------------------------------------------:|
2500
+ | RTD | One | ` getRtd(channel) ` | ~ 600 µs | |
2501
+ | Analog | One | ` getAdc(channel) ` | ~ 550 µs | Time does not change converting the value to physical unit (i.e. using ` pinVoltage() ` ) |
2502
+ | Analog | All at once | ` updateAnalogInputs() ` | ~ 890 µs | This function is also included in the measure ` getAdc(0, false) ` |
2503
+ | Digital | All at once | ` digitalRead(pin, true) ` | ~ 480 µs | This function even if used to read a "single pin" actually updates the value of all the digital pins. |
2504
+ | Digital | All at once | ` updateDigitalInputs() ` | ~ 480 µs | This function is also included in the measure ` digitalRead(0, false) ` |
2505
+
2506
+
2483
2507
#### Digital Input Mode
2484
2508
2485
2509
The Analog Expansion input channels can be configured as digital inputs to read 0-10 V or 0-24 V digital sensors:
2486
2510
2487
- | ** Characteristics** | ** Details** |
2488
- | :-----------------------:| :-----------------------------------------:|
2489
- | Digital input voltage | 0...24 V |
2490
- | Configurable threshold | Yes (for supporting 0...10 V logic level) |
2491
- | Digital input current | 4.12mA at 24V \| 2.05mA at 10V |
2492
- | Digital input frequency | 300 Hz |
2511
+ | ** Characteristics** | ** Details** |
2512
+ | :-------------------------------:| :-----------------------------------------:|
2513
+ | Digital input voltage | 0...24 V |
2514
+ | Configurable threshold | Yes (for supporting 0...10 V logic level) |
2515
+ | Digital input current | 4.12 mA at 24V \| 2.05 mA at 10V |
2516
+ | Digital input frequency | 300 Hz |
2517
+ | All inputs at once reading time | ~ 480 µs |
2493
2518
2494
2519
The state of an input terminal configured as digital can be read using the built-in function ` digitalRead() ` as shown below:
2495
2520
@@ -2636,14 +2661,16 @@ DI channel 7 value 0
2636
2661
2637
2662
The Analog Expansion input channels can be configured for 0-10 V analog sensors.
2638
2663
2639
- | ** Characteristics** | ** Details** |
2640
- | :-----------------------:| :------------------------------------------------------:|
2641
- | Analog input voltage | 0...10 V |
2642
- | Analog Input resolution | 16 bits |
2643
- | Analog input LSB value | 152.59 uV |
2644
- | Accuracy | +/- 1% |
2645
- | Repeatability | +/- 1% |
2646
- | Input impedance | Min: 175 kΩ (when internal 200 kΩ resistor is enabled) |
2664
+ | ** Characteristics** | ** Details** |
2665
+ | :-------------------------------:| :------------------------------------------------------:|
2666
+ | Analog input voltage | 0...10 V |
2667
+ | Analog Input resolution | 16 bits |
2668
+ | Analog input LSB value | 152.59 uV |
2669
+ | Accuracy | +/- 1% |
2670
+ | Repeatability | +/- 1% |
2671
+ | Input impedance | Min: 175 kΩ (when internal 200 kΩ resistor is enabled) |
2672
+ | One input reading time | ~ 550 µs |
2673
+ | All inputs at once reading time | ~ 890 µs |
2647
2674
2648
2675
The raw value of an input terminal configured as analog can be read using the built-in function ` analogRead() ` as shown below:
2649
2676
@@ -2836,6 +2863,8 @@ The Analog Expansion input channels can be configured for current loop instrumen
2836
2863
| Programmable current limit (per channel) | 0.5 mA to 24.5 mA (loop powered) |
2837
2864
| Accuracy | +/- 1% |
2838
2865
| Repeatability | +/- 1% |
2866
+ | One input reading time | ~ 550 µs |
2867
+ | All inputs at once reading time | ~ 890 µs |
2839
2868
2840
2869
The current of an input terminal configured in current mode can be read using the built-in function ` pinCurrent() ` as shown below:
2841
2870
@@ -3152,10 +3181,12 @@ Setting DAC output to 11 V on expansion n. 0
3152
3181
3153
3182
The Analog Expansion input channels can be used for temperature metering with ** PT100** RTDs.
3154
3183
3155
- | ** Characteristics** | ** Details** |
3156
- | :-------------------:| :-----------:|
3157
- | Input range | 0...1 MΩ |
3158
- | Bias voltage | 2.5 V |
3184
+ | ** Characteristics** | ** Details** |
3185
+ | :----------------------:| :-----------:|
3186
+ | Input range | 0...1 MΩ |
3187
+ | Bias voltage | 2.5 V |
3188
+ | One input reading time | ~ 600 µs |
3189
+
3159
3190
3160
3191
2 wires RTDs can be connected to any of the eight channels as follows:
3161
3192
@@ -3364,19 +3395,30 @@ PWM output terminals are mapped as described in the following table:
3364
3395
3365
3396
![ Opta Analog Expansions Outputs] ( assets/outputs-analog.png )
3366
3397
3398
+ The ** writing time** of analog outputs is detailed in the table below:
3399
+
3400
+ | ** Channel type** | ** Number of outputs** | ** Function** | ** Time** | ** Notes** |
3401
+ | :----------------:| :---------------------:| :--------------------------------:| :--------:| :------------------------------------------------------------------------------------------------------------:|
3402
+ | DAC | One | ` setDac(channel, value, true) ` | ~ 560 µs | |
3403
+ | DAC | All at once | ` updateAnalogOutputs() ` | ~ 960 µs | This function is also included in the function ` setDac(channel, value, false) ` |
3404
+ | PWM | One | ` setPwm(channel, period, pulse) ` | ~ 700 µs | In case the new setting is equal to the old one no message is sent and the function execution takes a few µs |
3405
+
3406
+
3367
3407
#### Analog Voltage Output Mode
3368
3408
3369
3409
This output mode lets you control voltage-driven actuators or communicate with other devices through analog voltages.
3370
3410
3371
- | ** Characteristics** | ** Details** |
3372
- | :--------------------------------------------:| :---------------------------------------------------------------------------------------------------------------------------:|
3373
- | Analog output voltage | 0...11 V |
3374
- | Resistive load range | 500 Ω...100 kΩ |
3375
- | Maximum capacitive load | 2 μF |
3376
- | Short-circuit current per channel (sourcing) | Min: 25 mA, Typ: 29 mA, Max: 32 mA (lower limit bit = 0 (default)), Min: 5.5 mA, Typ: 7 mA, Max: 9 mA (lower limit bit = 1) |
3377
- | Short-circuit current per channel (sinking) | Min: 3.0 mA, Typ: 3.8 mA, Max: 4.5 mA |
3378
- | Accuracy | +/- 1% |
3379
- | Repeatability | +/- 1% |
3411
+ | ** Characteristics** | ** Details** |
3412
+ | :--------------------------------------------:| :-----------------------------------------------------------------------------------------------------------------------------:|
3413
+ | Analog output voltage | 0...11 V |
3414
+ | Resistive load range | 500 Ω...100 kΩ |
3415
+ | Maximum capacitive load | 2 μF |
3416
+ | Short-circuit current per channel (sourcing) | Min: 25 mA, Typ: 29 mA, Max: 32 mA (lower limit bit = 0 (default)) \| Min: 5.5 mA, Typ: 7 mA, Max: 9 mA (lower limit bit = 1) |
3417
+ | Short-circuit current per channel (sinking) | Min: 3.0 mA, Typ: 3.8 mA, Max: 4.5 mA |
3418
+ | Accuracy | +/- 1% |
3419
+ | Repeatability | +/- 1% |
3420
+ | One output writing time | ~ 560 µs |
3421
+ | All outputs at once writing time | ~ 960 µs |
3380
3422
3381
3423
To set a voltage in an analog output terminal use the built-in function ` pinVoltage() ` as shown below:
3382
3424
@@ -3555,6 +3597,8 @@ This output mode lets you control current-driven actuators or communicate with o
3555
3597
| Output impedance | Min: 1.5 MΩ, Typ: 4 MΩ |
3556
3598
| Accuracy | 1% in 0-10 mA range, 2% in 10-24 mA range |
3557
3599
| Repeatability | 1% in 0-10 mA range, 2% in 10-24 mA range |
3600
+ | One output writing time | ~ 560 µs |
3601
+ | All outputs at once writing time | ~ 960 µs |
3558
3602
3559
3603
To set a current in an analog output terminal use the built-in function ` pinCurrent() ` as shown below:
3560
3604
@@ -3728,6 +3772,8 @@ The Analog Expansion has four PWM output channels **(P1...P4)**. They are softwa
3728
3772
| Source voltage supported | 8...40 VDC |
3729
3773
| Period | Programmable |
3730
3774
| Duty-cycle | Programmable (0-100%) |
3775
+ | One output writing time | ~ 700 µs |
3776
+
3731
3777
3732
3778
![ Wiring to use the PWM outputs] ( assets/pwm-setup.png )
3733
3779
0 commit comments