diff --git a/content/hardware/07.opta/opta-family/opta-digital-exp/datasheet/datasheet.md b/content/hardware/07.opta/opta-family/opta-digital-exp/datasheet/datasheet.md index 7da43d8766..f30dbb3afa 100644 --- a/content/hardware/07.opta/opta-family/opta-digital-exp/datasheet/datasheet.md +++ b/content/hardware/07.opta/opta-family/opta-digital-exp/datasheet/datasheet.md @@ -19,12 +19,13 @@ Industrial IoT, Building automation, Electrical loads management, Industrial aut ## Product Variants There are two variants of the Arduino Opta® Digital Expansion created to fit the different needs of each industry and application. The difference between each of the variants can be found in the following table: -| Name | Arduino Opta® Ext D1608E | Arduino Opta® Ext D1608S | -| ------- | -------------------------------------------------- | -------------------------------------------------- | -| SKU | AFX00005 | AFX00006 | -| Inputs | 16 x programmable (0-24 V digital / 0-24 V analog) | 16 x programmable (0-24 V digital / 0-24 V analog) | -| Outputs | 8 x Electromechanical Relays (250 VAC - 6 A) | 8 x Solid State Relays (24 VDC - 3 A) | +| Name | Arduino Opta® Ext D1608E | Arduino Opta® Ext D1608S | +| ------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| SKU | AFX00005 | AFX00006 | +| Inputs | 16 x programmable (0-24 V digital / 0-10 V or 0-24 V analog) | 16 x programmable (0-24 V digital / 0-10 V or 0-24 V analog) | +| Outputs | 8 x Electromechanical Relays (250 VAC - 6 A) | 8 x Solid State Relays (24 VDC - 3 A) | +***All digital expansion inputs, configured as analog, support analog sensors both 0-10 VDC(industrial standard) and 0-24 VDC.*** ## Application Examples Arduino Opta® Expansion is designed for industrial standard machinery control alongside the Opta® micro PLC. It is readily integrated into the Arduino hardware and software ecosystem. @@ -39,13 +40,13 @@ Arduino Opta® Expansion is designed for industrial standard machinery control a ### General Specifications Overview | Characteristics | Details | -|-------------------------------------|-------------------------------------------------------------------------------------------------------| +| ----------------------------------- | ----------------------------------------------------------------------------------------------------- | | Supply Voltage | 12...24 V | | Antipolarity protection | Yes | | Overvoltage protection | Yes (+20%) | | Maximum Supported Expansion Modules | Up to 5 | -| Inputs | 16x Digital (0-24 V) / Analog (0-24 V) inputs | -| Outputs | AFX00005: 8x Electromechanical Relays (250 VAC - 6 A), AFX00006: 8x Solid State Relays (24 VDC - 2 A) | +| Inputs | 16x Digital (0-24 V) / Analog (0-10 V or 0-24 V) inputs | +| Outputs | AFX00005: 8x Electromechanical Relays (250 VAC - 6 A), AFX00006: 8x Solid State Relays (24 VDC - 3 A) | | Degree of Protection | IP20 | | Certifications | FCC, CE, UKCA | @@ -58,24 +59,27 @@ Arduino Opta® Expansion is designed for industrial standard machinery control a | Antipolarity protection | No | | Input impedance | 5.85 kΩ | +***The inputs are marked on plastic as DGT/0-10 V to maintain uniformity with the main Opta module and as conventionally the majority of industrial analog sensors work in the 0-10 V range.*** + +#### Digital Inputs +| Characteristics | Details | +|-----------------------------------|----------------------------------------| +| Digital Input voltage | 0...24 V | +| Digital Input voltage logic level | VIL Max: 4 VDC. VHL Min: 5.9 VDC | +| Digital Input current | 4.12 mA at 24 V, 2.05 mA at 10 V | +| Digital Input frequency | 300 Hz | + +***The expansion digital inputs are compatible with 0-10 V and 0-24 V digital sensors.*** #### Analog Inputs | Characteristics | Details | |---------------------------|----------------------------------| -| Analog Input voltage | 0...24 V | +| Analog Input voltage | 0...10 V or 0...24 V | | Analog Input resolution | 14 bit | | Analog Input LSB value | 1.733 mV | | Accuracy | +/- 5%, repeatability +/- 2% | - -#### Digital Inputs -| Characteristics | Details | -| --------------------------------- | -------------------------------- | -| Digital Input voltage | 0...24 V | -| Digital Input voltage logic level | VIL Max: 4 VDC. VHL Min: 5.9 VDC | -| Digital Input current | 4.12 mA at 24 V, 2.05 mA at 10 V | -| Digital Input frequency | 300 Hz | - +***The analog-to-digital converter resolution of 14 bits is considered in the 0-24 VDC range. If you are using a 0-10 VDC sensor, take into account that you will be leveraging half of the ADC scope.*** ### Outputs (AFX00005 Only) @@ -136,8 +140,8 @@ Arduino Opta® Expansion is designed for industrial standard machinery control a | ----------------------- | ---- | --- | ---- | ---- | | Supply voltage | 12 | - | 24 | V | | Permissible range | 10.2 | - | 27.6 | V | -| Power consumption (12V) | - | - | 3 | W | -| Power consumption (24V) | - | - | 3 | W | +| Power consumption (12 V) | - | - | 3 | W | +| Power consumption (24 V) | - | - | 3 | W | ## Functional Overview diff --git a/content/hardware/07.opta/opta-family/opta/datasheet/datasheet.md b/content/hardware/07.opta/opta-family/opta/datasheet/datasheet.md index bb0eb78a91..0bc45b921a 100644 --- a/content/hardware/07.opta/opta-family/opta/datasheet/datasheet.md +++ b/content/hardware/07.opta/opta-family/opta/datasheet/datasheet.md @@ -111,7 +111,7 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi Outputs - 4x Relays - Normally Open (NO) - Max: 10A each + 4x Relays - Normally Open (NO) - Max: 10 A each Processor @@ -272,11 +272,11 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi Inputs overvoltage protection - yes + Yes Antipolarity protection - yes + Yes Input impedance @@ -296,7 +296,7 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi Analog Input voltage - 0...10V + 0...10 V Analog Input resolution @@ -324,7 +324,7 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi Digital Input voltage - 0...24V + 0...24 V Digital Input voltage logic level @@ -332,7 +332,7 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi Digital Input current - 1.12mA at 10V + 1.12 mA at 10 V Digital Input frequency @@ -360,15 +360,15 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi Max current per relay - 10A + 10 A Max peak current per relay - 15A + 15 A Continuous current per terminal - 10A + 10 A Short-circuit protection @@ -392,11 +392,11 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi Breaking capacity DC1: 24/30/110/220V - 10/4/0.3/0.12A + 10/4/0.3/0.12 A Minimum switching load - 300mW (5V/5mA) + 300 mW (5 V/5 mA) Max output line length (unshielded) @@ -446,8 +446,8 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi |----------------------- |------ |-----|------|------| | Supply voltage | 12 | - | 24 | V | | Permissible range | 10.2 | - | 27.6 | V | -| Power consumption (12V)| 0.6 | - | 2 | W | -| Power consumption (24V)| 0.6 | - | 2.2 | W | +| Power consumption (12 V)| 0.6 | - | 2 | W | +| Power consumption (24 V)| 0.6 | - | 2.2 | W |
@@ -523,7 +523,7 @@ The *Rated Load* is the maximum resistive load that a contact can make, carry an - For resistive or slightly inductive loads (AC1 classification), Arduino Opta's *Rated Load* is 2500 VA. - For small electromagnetic loads (> 72 VA) (AC15 classification) like power contactors, magnetic solenoid valves, electromagnets and AC single-phase supplies, Arduino Opta's *Rated Load* is 500 VA. This value assumes a peak inrush current of approximately 10 times the rated current and keeping it within the maximum peak current. -For controlling DC loads (DC1 classification), the *Breaking Capacity* or maximum value of DC resistive current that a contact can make, carry and break repeatedly, is 10/4/0.3/0.12A for respectively 24/30/110/220V. +For controlling DC loads (DC1 classification), the *Breaking Capacity* or maximum value of DC resistive current that a contact can make, carry and break repeatedly, is 10/4/0.3/0.12 A for respectively 24/30/110/220 V. In the case of the minimum switching load parameters, the minimum values of power, voltage and current that the relays can reliably switch, are 300 mW/ 5V / 5mA. This implies that with 5V the current must be at least 60mA, with 24V, it must be at least 12.5mA, and with 5mA the voltage must be at least 60V. diff --git a/content/hardware/07.opta/opta-family/opta/tutorials/01.user-manual/content.md b/content/hardware/07.opta/opta-family/opta/tutorials/01.user-manual/content.md index 0b2a69967d..7ebd1caea2 100644 --- a/content/hardware/07.opta/opta-family/opta/tutorials/01.user-manual/content.md +++ b/content/hardware/07.opta/opta-family/opta/tutorials/01.user-manual/content.md @@ -218,11 +218,13 @@ Opta's maximum power consumption at +12 VDC is 2 W, and at +24 VDC is 2.2 W. ### Programmable Inputs -The image below shows Opta™ devices have **eight analog/digital programmable inputs** accessible through terminals `I1`, `I2`, `I3`, `I4`, `I5`, `I6`, `I7`, and `I8`. +The image below shows Opta™ devices have **eight digital/analog programmable inputs** accessible through terminals `I1`, `I2`, `I3`, `I4`, `I5`, `I6`, `I7`, and `I8`. ![Programmable input terminals in Opta™ devices](assets/user-manual-9-2.png) -Analog/digital input terminals are mapped as described in the following table: +***The Opta™ digital inputs also support 0 to +10 VDC logic level sensors.*** + +Digital/analog input terminals are mapped as described in the following table: | **Opta™ Terminal** | **Arduino Pin Mapping** | |:------------------:|:-----------------------:| @@ -235,35 +237,32 @@ Analog/digital input terminals are mapped as described in the following table: | `I7` | `A6`/`PIN_A6` | | `I8` | `A7`/`PIN_A7` | -#### Analog Inputs +#### Digital Inputs

-The input voltage range for each analog input terminal is the following: +The input voltage range for each digital input terminal is the following: -- **Input voltage range**: 0 to +10 VDC +- **Input voltage range**: 0 to +24 VDC -The analog input terminals can be used through the built-in functions of the [Arduino programming language](https://www.arduino.cc/reference/en/). To use the input terminals as analog inputs: +***The Opta™ digital inputs also support 0 to +10 VDC logic level sensors.*** -- Add the `analogReadResolution()` instruction in your sketch's `setup()` function. +The input terminals can be used through the built-in functions of the [Arduino programming language](https://www.arduino.cc/reference/en/). To use the input terminals as digital inputs: -The sketch below shows how to monitor analog voltages on Opta's input terminals `I1`, `I2`, and `I3`. It initializes a serial connection, takes readings from each defined terminal, converts those readings into voltage based on a 12-bit resolution, and outputs these voltage values through the Arduino IDE's Serial Monitor. The readings are looped every second, allowing you to monitor real-time changes. +- Add the `pinMode(pinName, INPUT)` instruction in your sketch's `setup()` function. + +The sketch below shows how to monitor digital states on Opta's input terminals `I1`, `I2`, and `I3`. It initializes a serial connection, takes readings from each defined terminal, and interprets them as either `HIGH` or `LOW` digital states. These states are then output through the Arduino IDE's Serial Monitor. The state readings are looped every second, allowing you to monitor real-time changes. ```arduino /** - Opta's Analog Input Terminals - Name: opta_analog_inputs_example.ino - Purpose: This sketch demonstrates the use of I1, I2, and I3 input - terminals as analog inputs on Opta. + Opta's Digital Input Terminals + Name: opta_digital_inputs_example.ino + Purpose: This sketch demonstrates the use of I1, I2, and I3 input + terminals as digital inputs on Opta. @author Arduino PRO Content Team - @version 2.0 22/07/23 + @version 2.0 23/07/23 */ -// Define constants for voltage, resolution, and divider. -const float VOLTAGE_MAX = 3.3; // Maximum voltage that can be read -const float RESOLUTION = 4095.0; // 12-bit resolution -const float DIVIDER = 0.3034; // Voltage divider - // Array of terminals. const int TERMINALS[] = {A0, A1, A2}; @@ -274,13 +273,14 @@ void setup() { // Initialize serial communication at 9600 bits per second. Serial.begin(9600); - // Enable analog inputs on Opta - // Set the resolution of the ADC to 12 bits. - analogReadResolution(12); + // Set the mode of the pins as digital inputs. + for (int i = 0; i < NUM_PINS; i++) { + pinMode(TERMINALS[i], INPUT); + } } void loop() { - // Loop through each of the terminal, read the terminal analog value, convert it to voltage, and print the result. + // Loop through each of the terminal, read the terminal digital value, and print the result. for (int i = 0; i < NUM_PINS; i++) { readAndPrint(TERMINALS[i], i + 1); } @@ -289,49 +289,48 @@ void loop() { delay(1000); } -// This function reads the value from the specified pin, converts it to voltage, and prints the result. +// This function reads the digital value from the specified pin and prints the result. void readAndPrint(int terminal, int terminalNumber) { - // Read the input value from the analog pin. - int terminalValue = analogRead(terminal); - - // Convert the terminal value to its corresponding voltage. - float voltage = terminalValue * (VOLTAGE_MAX / RESOLUTION) / DIVIDER; - - // Print the terminal value and its corresponding voltage. + // Read the input value from the digital pin. + int terminalValue = digitalRead(terminal); + + // Print the terminal value. Serial.print("I"); Serial.print(terminalNumber); Serial.print(" value: "); - Serial.print(terminalValue); - Serial.print(" corresponding to "); - Serial.print(voltage, 5); - Serial.println(" VDC"); + Serial.println(terminalValue); } ``` -#### Digital Inputs +#### Analog Inputs

-The input voltage range for each digital input terminal is the following: +The input voltage range for each analog input terminal is the following: -- **Input voltage range**: 0 to +24 VDC +- **Input voltage range**: 0 to +10 VDC -The input terminals can be used through the built-in functions of the [Arduino programming language](https://www.arduino.cc/reference/en/). To use the input terminals as digital inputs: +The analog input terminals can be used through the built-in functions of the [Arduino programming language](https://www.arduino.cc/reference/en/). To use the input terminals as analog inputs: -- Add the `pinMode(pinName, INPUT)` instruction in your sketch's `setup()` function. +- Add the `analogReadResolution()` instruction in your sketch's `setup()` function. -The sketch below shows how to monitor digital states on Opta's input terminals `I1`, `I2`, and `I3`. It initializes a serial connection, takes readings from each defined terminal, and interprets them as either `HIGH` or `LOW` digital states. These states are then output through the Arduino IDE's Serial Monitor. The state readings are looped every second, allowing you to monitor real-time changes. +The sketch below shows how to monitor analog voltages on Opta's input terminals `I1`, `I2`, and `I3`. It initializes a serial connection, takes readings from each defined terminal, converts those readings into voltage based on a 12-bit resolution, and outputs these voltage values through the Arduino IDE's Serial Monitor. The readings are looped every second, allowing you to monitor real-time changes. ```arduino /** - Opta's Digital Input Terminals - Name: opta_digital_inputs_example.ino - Purpose: This sketch demonstrates the use of I1, I2, and I3 input - terminals as digital inputs on Opta. + Opta's Analog Input Terminals + Name: opta_analog_inputs_example.ino + Purpose: This sketch demonstrates the use of I1, I2, and I3 input + terminals as analog inputs on Opta. @author Arduino PRO Content Team - @version 2.0 23/07/23 + @version 2.0 22/07/23 */ +// Define constants for voltage, resolution, and divider. +const float VOLTAGE_MAX = 3.3; // Maximum voltage that can be read +const float RESOLUTION = 4095.0; // 12-bit resolution +const float DIVIDER = 0.3034; // Voltage divider + // Array of terminals. const int TERMINALS[] = {A0, A1, A2}; @@ -342,14 +341,13 @@ void setup() { // Initialize serial communication at 9600 bits per second. Serial.begin(9600); - // Set the mode of the pins as digital inputs. - for (int i = 0; i < NUM_PINS; i++) { - pinMode(TERMINALS[i], INPUT); - } + // Enable analog inputs on Opta + // Set the resolution of the ADC to 12 bits. + analogReadResolution(12); } void loop() { - // Loop through each of the terminal, read the terminal digital value, and print the result. + // Loop through each of the terminal, read the terminal analog value, convert it to voltage, and print the result. for (int i = 0; i < NUM_PINS; i++) { readAndPrint(TERMINALS[i], i + 1); } @@ -358,16 +356,22 @@ void loop() { delay(1000); } -// This function reads the digital value from the specified pin and prints the result. +// This function reads the value from the specified pin, converts it to voltage, and prints the result. void readAndPrint(int terminal, int terminalNumber) { - // Read the input value from the digital pin. - int terminalValue = digitalRead(terminal); - - // Print the terminal value. + // Read the input value from the analog pin. + int terminalValue = analogRead(terminal); + + // Convert the terminal value to its corresponding voltage. + float voltage = terminalValue * (VOLTAGE_MAX / RESOLUTION) / DIVIDER; + + // Print the terminal value and its corresponding voltage. Serial.print("I"); Serial.print(terminalNumber); Serial.print(" value: "); - Serial.println(terminalValue); + Serial.print(terminalValue); + Serial.print(" corresponding to "); + Serial.print(voltage, 5); + Serial.println(" VDC"); } ``` @@ -1719,6 +1723,17 @@ To learn more about Opta™ and the Arduino IoT Cloud, check out the following r ## Opta Expansions +| Characteristics | Details | +|-------------------------------------|-------------------------------------------------------------------------------------------------------| +| Supply Voltage | 12...24 V | +| Antipolarity protection | Yes | +| Overvoltage protection | Yes (+20%) | +| Maximum Supported Expansion Modules | Up to 5 | +| Inputs | 16x Digital (0-24 V) / Analog (0-10 V or 0-24 V) inputs | +| Outputs | AFX00005: 8x Electromechanical Relays (250 VAC - 6 A), AFX00006: 8x Solid State Relays (24 VDC - 3 A) | +| Degree of Protection | IP20 | +| Certifications | FCC, CE, UKCA | + ### Snapping the Expansion You can snap up to five expansions to your Opta™ Base module to multiply and mix your set of I/Os with seamless detection. @@ -1839,7 +1854,7 @@ In the image below there is an example of the power wiring of the expansions: The Opta™ Expansions have **16x analog/digital programmable inputs** accessible through terminals `I1` to `I16`. -Both Ext D1608E and Ext D1608S variant inputs can be used as **digital** with a 0-24 VDC range or as **analog** inputs with a 0-24 VDC range. The inputs are capable of operating with 0-10V analog sensors as well as 0-24V sensors. +Both Ext D1608E and Ext D1608S variant inputs can be used as **digital** within the 0-24 VDC range or as **analog** inputs within the 0-10 VDC or 0-24 VDC range. The analog inputs are capable of operating with 0-10 VDC analog sensors as well as 0-24 VDC sensors. ***The inputs are marked on plastic as DGT/0-10 V to maintain uniformity with the main Opta module and as conventionally the majority of industrial analog sensors work in the 0-10 V range.*** @@ -2185,6 +2200,12 @@ void loop() { ``` To fully understand the example above, we recommend you to check the [General Library Notes](#general-library-notes) section. +The voltage of an analog input can be read using the built-in function `pinVoltage()` as shown below: + +```arduino +float V = exp.pinVoltage(, false); // read the and returns a voltage value +``` + After the Opta™ controller is programmed with the example sketch, open the Arduino IDE Serial Monitor and you will see each input voltage as follows: ```