Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 6ac4719

Browse files
authoredOct 4, 2024
Merge fe34bb3 into 4c92470
2 parents 4c92470 + fe34bb3 commit 6ac4719

File tree

3 files changed

+116
-91
lines changed

3 files changed

+116
-91
lines changed
 

‎content/hardware/07.opta/opta-family/opta-digital-exp/datasheet/datasheet.md

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ Industrial IoT, Building automation, Electrical loads management, Industrial aut
1919
## Product Variants
2020
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:
2121

22-
| Name | Arduino Opta® Ext D1608E | Arduino Opta® Ext D1608S |
23-
| ------- | -------------------------------------------------- | -------------------------------------------------- |
24-
| SKU | AFX00005 | AFX00006 |
25-
| Inputs | 16 x programmable (0-24 V digital / 0-24 V analog) | 16 x programmable (0-24 V digital / 0-24 V analog) |
26-
| Outputs | 8 x Electromechanical Relays (250 VAC - 6 A) | 8 x Solid State Relays (24 VDC - 3 A) |
22+
| Name | Arduino Opta® Ext D1608E | Arduino Opta® Ext D1608S |
23+
| ------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
24+
| SKU | AFX00005 | AFX00006 |
25+
| 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) |
26+
| Outputs | 8 x Electromechanical Relays (250 VAC - 6 A) | 8 x Solid State Relays (24 VDC - 3 A) |
2727

28+
***All digital expansion inputs, configured as analog, support analog sensors both 0-10 VDC(industrial standard) and 0-24 VDC.***
2829

2930
## Application Examples
3031
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
3940
### General Specifications Overview
4041

4142
| Characteristics | Details |
42-
|-------------------------------------|-------------------------------------------------------------------------------------------------------|
43+
| ----------------------------------- | ----------------------------------------------------------------------------------------------------- |
4344
| Supply Voltage | 12...24 V |
4445
| Antipolarity protection | Yes |
4546
| Overvoltage protection | Yes (+20%) |
4647
| Maximum Supported Expansion Modules | Up to 5 |
47-
| Inputs | 16x Digital (0-24 V) / Analog (0-24 V) inputs |
48-
| Outputs | AFX00005: 8x Electromechanical Relays (250 VAC - 6 A), AFX00006: 8x Solid State Relays (24 VDC - 2 A) |
48+
| Inputs | 16x Digital (0-24 V) / Analog (0-10 V or 0-24 V) inputs |
49+
| Outputs | AFX00005: 8x Electromechanical Relays (250 VAC - 6 A), AFX00006: 8x Solid State Relays (24 VDC - 3 A) |
4950
| Degree of Protection | IP20 |
5051
| Certifications | FCC, CE, UKCA |
5152

@@ -58,24 +59,27 @@ Arduino Opta® Expansion is designed for industrial standard machinery control a
5859
| Antipolarity protection | No |
5960
| Input impedance | 5.85 kΩ |
6061

62+
***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.***
63+
64+
#### Digital Inputs
65+
| Characteristics | Details |
66+
|-----------------------------------|----------------------------------------|
67+
| Digital Input voltage | 0...24 V |
68+
| Digital Input voltage logic level | VIL Max: 4 VDC. VHL Min: 5.9 VDC |
69+
| Digital Input current | 4.12 mA at 24 V, 2.05 mA at 10 V |
70+
| Digital Input frequency | 300 Hz |
71+
72+
***The expansion digital inputs are compatible with 0-10 V and 0-24 V digital sensors.***
6173

6274
#### Analog Inputs
6375
| Characteristics | Details |
6476
|---------------------------|----------------------------------|
65-
| Analog Input voltage | 0...24 V |
77+
| Analog Input voltage | 0...10 V or 0...24 V |
6678
| Analog Input resolution | 14 bit |
6779
| Analog Input LSB value | 1.733 mV |
6880
| Accuracy | +/- 5%, repeatability +/- 2% |
6981

70-
71-
#### Digital Inputs
72-
| Characteristics | Details |
73-
| --------------------------------- | -------------------------------- |
74-
| Digital Input voltage | 0...24 V |
75-
| Digital Input voltage logic level | VIL Max: 4 VDC. VHL Min: 5.9 VDC |
76-
| Digital Input current | 4.12 mA at 24 V, 2.05 mA at 10 V |
77-
| Digital Input frequency | 300 Hz |
78-
82+
***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.***
7983

8084
### Outputs (AFX00005 Only)
8185

@@ -136,8 +140,8 @@ Arduino Opta® Expansion is designed for industrial standard machinery control a
136140
| ----------------------- | ---- | --- | ---- | ---- |
137141
| Supply voltage | 12 | - | 24 | V |
138142
| Permissible range | 10.2 | - | 27.6 | V |
139-
| Power consumption (12V) | - | - | 3 | W |
140-
| Power consumption (24V) | - | - | 3 | W |
143+
| Power consumption (12 V) | - | - | 3 | W |
144+
| Power consumption (24 V) | - | - | 3 | W |
141145

142146
## Functional Overview
143147

‎content/hardware/07.opta/opta-family/opta/datasheet/datasheet.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi
111111
</tr>
112112
<tr>
113113
<td style="vertical-align: top;">Outputs</td>
114-
<td>4x Relays - Normally Open (NO) - Max: 10A each</td>
114+
<td>4x Relays - Normally Open (NO) - Max: 10 A each</td>
115115
</tr>
116116
<tr>
117117
<td style="vertical-align: top;">Processor</td>
@@ -272,11 +272,11 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi
272272
</tr>
273273
<tr>
274274
<td style="vertical-align: top;">Inputs overvoltage protection</td>
275-
<td>yes</td>
275+
<td>Yes</td>
276276
</tr>
277277
<tr>
278278
<td style="vertical-align: top;">Antipolarity protection</td>
279-
<td>yes</td>
279+
<td>Yes</td>
280280
</tr>
281281
<tr>
282282
<td style="vertical-align: top;">Input impedance</td>
@@ -296,7 +296,7 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi
296296
<tbody>
297297
<tr>
298298
<td style="vertical-align: top;">Analog Input voltage</td>
299-
<td>0...10V </td>
299+
<td>0...10 V </td>
300300
</tr>
301301
<tr>
302302
<td style="vertical-align: top;">Analog Input resolution</td>
@@ -324,15 +324,15 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi
324324
<tbody>
325325
<tr>
326326
<td style="vertical-align: top;">Digital Input voltage</td>
327-
<td>0...24V</td>
327+
<td>0...24 V</td>
328328
</tr>
329329
<tr>
330330
<td style="vertical-align: top;">Digital Input voltage logic level</td>
331331
<td>VIL Max: 4.46 VDC. VHL Min: 6.6 VDC</td>
332332
</tr>
333333
<tr>
334334
<td style="vertical-align: top;">Digital Input current</td>
335-
<td>1.12mA at 10V</td>
335+
<td>1.12 mA at 10 V</td>
336336
</tr>
337337
<tr>
338338
<td style="vertical-align: top;">Digital Input frequency</td>
@@ -360,15 +360,15 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi
360360
</tr>
361361
<tr>
362362
<td style="vertical-align: top;">Max current per relay</td>
363-
<td>10A</td>
363+
<td>10 A</td>
364364
</tr>
365365
<tr>
366366
<td style="vertical-align: top;">Max peak current per relay</td>
367-
<td>15A</td>
367+
<td>15 A</td>
368368
</tr>
369369
<tr>
370370
<td style="vertical-align: top;">Continuous current per terminal</td>
371-
<td>10A</td>
371+
<td>10 A</td>
372372
</tr>
373373
<tr>
374374
<td style="vertical-align: top;">Short-circuit protection</td>
@@ -392,11 +392,11 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi
392392
</tr>
393393
<tr>
394394
<td style="vertical-align: top;">Breaking capacity DC1: 24/30/110/220V</td>
395-
<td>10/4/0.3/0.12A</td>
395+
<td>10/4/0.3/0.12 A</td>
396396
</tr>
397397
<tr>
398398
<td style="vertical-align: top;">Minimum switching load</td>
399-
<td>300mW (5V/5mA)</td>
399+
<td>300 mW (5 V/5 mA)</td>
400400
</tr>
401401
<tr>
402402
<td style="vertical-align: top;">Max output line length (unshielded)</td>
@@ -446,8 +446,8 @@ Arduino Opta® is designed for industrial standard machinery control as a PLC wi
446446
|----------------------- |------ |-----|------|------|
447447
| Supply voltage | 12 | - | 24 | V |
448448
| Permissible range | 10.2 | - | 27.6 | V |
449-
| Power consumption (12V)| 0.6 | - | 2 | W |
450-
| Power consumption (24V)| 0.6 | - | 2.2 | W |
449+
| Power consumption (12 V)| 0.6 | - | 2 | W |
450+
| Power consumption (24 V)| 0.6 | - | 2.2 | W |
451451

452452
<div style="page-break-after:always;"></div>
453453

@@ -523,7 +523,7 @@ The *Rated Load* is the maximum resistive load that a contact can make, carry an
523523
- For resistive or slightly inductive loads (AC1 classification), Arduino Opta's *Rated Load* is 2500 VA.
524524
- 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.
525525

526-
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.
526+
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.
527527

528528
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.
529529

‎content/hardware/07.opta/opta-family/opta/tutorials/01.user-manual/content.md

Lines changed: 78 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -218,11 +218,13 @@ Opta's maximum power consumption at +12 VDC is 2 W, and at +24 VDC is 2.2 W.
218218

219219
### Programmable Inputs
220220

221-
The image below shows Opta™ devices have **eight analog/digital programmable inputs** accessible through terminals `I1`, `I2`, `I3`, `I4`, `I5`, `I6`, `I7`, and `I8`.
221+
The image below shows Opta™ devices have **eight digital/analog programmable inputs** accessible through terminals `I1`, `I2`, `I3`, `I4`, `I5`, `I6`, `I7`, and `I8`.
222222

223223
![Programmable input terminals in Opta™ devices](assets/user-manual-9-2.png)
224224

225-
Analog/digital input terminals are mapped as described in the following table:
225+
***The Opta™ digital inputs also support 0 to +10 VDC logic level sensors.***
226+
227+
Digital/analog input terminals are mapped as described in the following table:
226228

227229
| **Opta™ Terminal** | **Arduino Pin Mapping** |
228230
|:------------------:|:-----------------------:|
@@ -235,35 +237,32 @@ Analog/digital input terminals are mapped as described in the following table:
235237
| `I7` | `A6`/`PIN_A6` |
236238
| `I8` | `A7`/`PIN_A7` |
237239

238-
#### Analog Inputs
240+
#### Digital Inputs
239241
<br></br>
240242

241-
The input voltage range for each analog input terminal is the following:
243+
The input voltage range for each digital input terminal is the following:
242244

243-
- **Input voltage range**: 0 to +10 VDC
245+
- **Input voltage range**: 0 to +24 VDC
244246

245-
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:
247+
***The Opta™ digital inputs also support 0 to +10 VDC logic level sensors.***
246248

247-
- Add the `analogReadResolution()` instruction in your sketch's `setup()` function.
249+
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:
248250

249-
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.
251+
- Add the `pinMode(pinName, INPUT)` instruction in your sketch's `setup()` function.
252+
253+
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.
250254

251255
```arduino
252256
/**
253-
Opta's Analog Input Terminals
254-
Name: opta_analog_inputs_example.ino
255-
Purpose: This sketch demonstrates the use of I1, I2, and I3 input
256-
terminals as analog inputs on Opta.
257+
Opta's Digital Input Terminals
258+
Name: opta_digital_inputs_example.ino
259+
Purpose: This sketch demonstrates the use of I1, I2, and I3 input
260+
terminals as digital inputs on Opta.
257261
258262
@author Arduino PRO Content Team
259-
@version 2.0 22/07/23
263+
@version 2.0 23/07/23
260264
*/
261265
262-
// Define constants for voltage, resolution, and divider.
263-
const float VOLTAGE_MAX = 3.3; // Maximum voltage that can be read
264-
const float RESOLUTION = 4095.0; // 12-bit resolution
265-
const float DIVIDER = 0.3034; // Voltage divider
266-
267266
// Array of terminals.
268267
const int TERMINALS[] = {A0, A1, A2};
269268
@@ -274,13 +273,14 @@ void setup() {
274273
// Initialize serial communication at 9600 bits per second.
275274
Serial.begin(9600);
276275
277-
// Enable analog inputs on Opta
278-
// Set the resolution of the ADC to 12 bits.
279-
analogReadResolution(12);
276+
// Set the mode of the pins as digital inputs.
277+
for (int i = 0; i < NUM_PINS; i++) {
278+
pinMode(TERMINALS[i], INPUT);
279+
}
280280
}
281281
282282
void loop() {
283-
// Loop through each of the terminal, read the terminal analog value, convert it to voltage, and print the result.
283+
// Loop through each of the terminal, read the terminal digital value, and print the result.
284284
for (int i = 0; i < NUM_PINS; i++) {
285285
readAndPrint(TERMINALS[i], i + 1);
286286
}
@@ -289,49 +289,48 @@ void loop() {
289289
delay(1000);
290290
}
291291
292-
// This function reads the value from the specified pin, converts it to voltage, and prints the result.
292+
// This function reads the digital value from the specified pin and prints the result.
293293
void readAndPrint(int terminal, int terminalNumber) {
294-
// Read the input value from the analog pin.
295-
int terminalValue = analogRead(terminal);
296-
297-
// Convert the terminal value to its corresponding voltage.
298-
float voltage = terminalValue * (VOLTAGE_MAX / RESOLUTION) / DIVIDER;
299-
300-
// Print the terminal value and its corresponding voltage.
294+
// Read the input value from the digital pin.
295+
int terminalValue = digitalRead(terminal);
296+
297+
// Print the terminal value.
301298
Serial.print("I");
302299
Serial.print(terminalNumber);
303300
Serial.print(" value: ");
304-
Serial.print(terminalValue);
305-
Serial.print(" corresponding to ");
306-
Serial.print(voltage, 5);
307-
Serial.println(" VDC");
301+
Serial.println(terminalValue);
308302
}
309303
```
310304

311-
#### Digital Inputs
305+
#### Analog Inputs
312306
<br></br>
313307

314-
The input voltage range for each digital input terminal is the following:
308+
The input voltage range for each analog input terminal is the following:
315309

316-
- **Input voltage range**: 0 to +24 VDC
310+
- **Input voltage range**: 0 to +10 VDC
317311

318-
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:
312+
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:
319313

320-
- Add the `pinMode(pinName, INPUT)` instruction in your sketch's `setup()` function.
314+
- Add the `analogReadResolution()` instruction in your sketch's `setup()` function.
321315

322-
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.
316+
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.
323317

324318
```arduino
325319
/**
326-
Opta's Digital Input Terminals
327-
Name: opta_digital_inputs_example.ino
328-
Purpose: This sketch demonstrates the use of I1, I2, and I3 input
329-
terminals as digital inputs on Opta.
320+
Opta's Analog Input Terminals
321+
Name: opta_analog_inputs_example.ino
322+
Purpose: This sketch demonstrates the use of I1, I2, and I3 input
323+
terminals as analog inputs on Opta.
330324
331325
@author Arduino PRO Content Team
332-
@version 2.0 23/07/23
326+
@version 2.0 22/07/23
333327
*/
334328
329+
// Define constants for voltage, resolution, and divider.
330+
const float VOLTAGE_MAX = 3.3; // Maximum voltage that can be read
331+
const float RESOLUTION = 4095.0; // 12-bit resolution
332+
const float DIVIDER = 0.3034; // Voltage divider
333+
335334
// Array of terminals.
336335
const int TERMINALS[] = {A0, A1, A2};
337336
@@ -342,14 +341,13 @@ void setup() {
342341
// Initialize serial communication at 9600 bits per second.
343342
Serial.begin(9600);
344343
345-
// Set the mode of the pins as digital inputs.
346-
for (int i = 0; i < NUM_PINS; i++) {
347-
pinMode(TERMINALS[i], INPUT);
348-
}
344+
// Enable analog inputs on Opta
345+
// Set the resolution of the ADC to 12 bits.
346+
analogReadResolution(12);
349347
}
350348
351349
void loop() {
352-
// Loop through each of the terminal, read the terminal digital value, and print the result.
350+
// Loop through each of the terminal, read the terminal analog value, convert it to voltage, and print the result.
353351
for (int i = 0; i < NUM_PINS; i++) {
354352
readAndPrint(TERMINALS[i], i + 1);
355353
}
@@ -358,16 +356,22 @@ void loop() {
358356
delay(1000);
359357
}
360358
361-
// This function reads the digital value from the specified pin and prints the result.
359+
// This function reads the value from the specified pin, converts it to voltage, and prints the result.
362360
void readAndPrint(int terminal, int terminalNumber) {
363-
// Read the input value from the digital pin.
364-
int terminalValue = digitalRead(terminal);
365-
366-
// Print the terminal value.
361+
// Read the input value from the analog pin.
362+
int terminalValue = analogRead(terminal);
363+
364+
// Convert the terminal value to its corresponding voltage.
365+
float voltage = terminalValue * (VOLTAGE_MAX / RESOLUTION) / DIVIDER;
366+
367+
// Print the terminal value and its corresponding voltage.
367368
Serial.print("I");
368369
Serial.print(terminalNumber);
369370
Serial.print(" value: ");
370-
Serial.println(terminalValue);
371+
Serial.print(terminalValue);
372+
Serial.print(" corresponding to ");
373+
Serial.print(voltage, 5);
374+
Serial.println(" VDC");
371375
}
372376
```
373377

@@ -1719,6 +1723,17 @@ To learn more about Opta™ and the Arduino IoT Cloud, check out the following r
17191723

17201724
## Opta Expansions
17211725

1726+
| Characteristics | Details |
1727+
|-------------------------------------|-------------------------------------------------------------------------------------------------------|
1728+
| Supply Voltage | 12...24 V |
1729+
| Antipolarity protection | Yes |
1730+
| Overvoltage protection | Yes (+20%) |
1731+
| Maximum Supported Expansion Modules | Up to 5 |
1732+
| Inputs | 16x Digital (0-24 V) / Analog (0-10 V or 0-24 V) inputs |
1733+
| Outputs | AFX00005: 8x Electromechanical Relays (250 VAC - 6 A), AFX00006: 8x Solid State Relays (24 VDC - 3 A) |
1734+
| Degree of Protection | IP20 |
1735+
| Certifications | FCC, CE, UKCA |
1736+
17221737
### Snapping the Expansion
17231738

17241739
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:
18391854

18401855
The Opta™ Expansions have **16x analog/digital programmable inputs** accessible through terminals `I1` to `I16`.
18411856

1842-
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.
1857+
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.
18431858

18441859
***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.***
18451860

@@ -2185,6 +2200,12 @@ void loop() {
21852200
```
21862201
To fully understand the example above, we recommend you to check the [General Library Notes](#general-library-notes) section.
21872202

2203+
The voltage of an analog input can be read using the built-in function `pinVoltage()` as shown below:
2204+
2205+
```arduino
2206+
float V = exp.pinVoltage(<input>, false); // read the <input> and returns a voltage value
2207+
```
2208+
21882209
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:
21892210

21902211
```

0 commit comments

Comments
 (0)
Please sign in to comment.