En este artículo, queremos resumir las diferencias entre nuestras CPUs OEM (SlimLine e Netsyst III) y los sistemas Arduino y Raspberry Pi. Para comenzar, queremos aclarar que los módulos de CPU OEM SlimLine e Netsyst III ha sido diseñado para uso frecuente en un entorno industrial / profesional y, por lo tanto, presenta requisitos en términos de temperatura de funcionamiento e inmunidad a las perturbaciones típicas de dichos entornos.
También desde el punto de vista de la programación, los productos son significativamente diferentes: las CPU SlimLine e Netsyst están programados en los cinco idiomas previstos por el norma internacional IEC61131-3 (ampliamente utilizado en entornos industriales, por ejemplo, Codesys) a través de la herramienta gratuita LogicLab, mientras que Arduino es completamente "abierto" y programable en C / C ++ y Raspberry Pi está equipado con SO Linux y es programable en Python, C / C ++, Java, etc.
Para aquellos acostumbrados a usar el lenguaje C, recuerden que el lenguaje ST (texto estructurado) del estándar IEC61131-3 tiene muchas de las reglas sintácticas de C (if, for, switch, etc.) y también permite el uso de estructuras de datos. , matrices, puntero (En el foro muchos ejemplos de programas con código fuente). La unión de los diferentes lenguajes que proporciona el estándar permite crear funciones y bloques de funciones en lenguaje ST, y luego utilizarlos como objetos gráficos dentro de otros programas escritos en LD (Ladder Diagram) o FBD (Function Block Diagram). Aquí hay un ejemplo de un programa en lenguaje FBD tomado de este artículo.
Si quisiéramos asignar una aplicación a estos sistemas, podríamos decir que Arduino es adecuado para la realización de sistemas de automatización de bajo rendimiento para aficionados, las CPU SlimLine e Netlog III están indicados en la construcción de sistemas industriales y profesionales con un rendimiento medio-alto donde el tiempo de comercialización, la portabilidad del programa y la facilidad de modificación son importantes; mientras que Raspberry Pi está indicado en aplicaciones multimedia. En la siguiente tabla, hemos informado las características esenciales de los sistemas para que la comparación sea más fácil.
Arduino Uno | CPU Netlog III OEM | CPU SlimLine Cortex OEM de M7 | Raspberry Pi Mod. A | |
Alimentación | 7-12Vdc | 5Vdc 250mA max. | 10-30Vdc 2W | 5Vdc 700mA max. |
Energía suministrada al bus de expansión | N / A | N / A | 5Vdc 2.5A max. | N / A |
Procesador | Atmel ATmega328 16MHz | NXP LPC2387 72MHz (ARM7TDMI) | Cortex M7 300MHz | Broadcom BCM2835 700MHz Low Power ARM1176JZFS |
Memoria de programa | FlashEPROM 32kBytes | FlashEPROM 512kBytes (Programa de usuario 96kBytes) |
FlashEPROM 2 MBytes (Programa de usuario 262 kB) |
Arranque desde tarjeta SD externa |
Almacenamiento masivo | ninguno | FlashEPROM 1MBytes (Datos de usuario de 260kBytes) |
FlashEPROM 4MBytes (Datos de usuario de 398kBytes) |
En una tarjeta SD externa |
Memoria de datos del búfer | E2PROM 1 kBytes | FRAM 16kBytes (Datos de usuario de 3kBytes) |
FRAM 32kBytes (Datos de usuario de 6kBytes) |
ninguno |
Memoria de datos | SRAM 2 kBytes | SRAM 96kBytes (Datos de usuario de 12kBytes) |
SRAM 96kBytes (Datos de usuario de 12kBytes) |
256MBytes SDRAM |
Reloj en tiempo real | nadie | Sí, con función de horario de verano automático | Sí, con función de horario de verano automático Operación con sistema de apagado opcional Protocolo de tiempo de red simple (SNTP) compatible |
nadie |
I / F USB | 1 x USB 2.0 (conexión USB B) (modo de dispositivo) |
1 x USB 2.0 (conexión externa) (modo de dispositivo) |
Sí, en conec. micro-USB AB (modo host + dispositivo) |
1 x USB 2.0 (conexión USB A) (modo de host) |
Salida de vídeo | nadie | nadie | HDMI (rev. 1.3 y 1.4); Compuesto RCA (PAL y NTSC) | |
Salida de audio | nadie | nadie | Toma 3.5mm, HDMI | |
Cámara | nadie | nadie | Interfaz serie de cámara MIPI 15-pin (CSI-2) | |
Pantalla | nadie | nadie | Interfaz en serie de visualización (DSI) Cable plano 15 con dos carriles de datos y una línea de reloj | |
Entradas analógicas | 6 x 0-5Vdc 10bit | nadie | 2 x 0-10Vdc 12bit | nadie |
Entradas digitales | 14 I / O 5Vdc | nadie | 2 Optoaislados PNP/NPN 5-30Vdc, 7mA@24V (de los cuales 1 se puede usar como contador Fmax 10kHz) |
GPIO 3Vdc |
Salidas digitales | 14 I / O 5Vdc | ninguno | 2 fotoMOS 0.25A@40Vdc/ac | GPIO 3Vdc |
I / F Ethernet | ninguno | 1 x 10 / 100base-T (x) Auto-MDIX (conexión externa) |
1 x 10 / 100base-T (x) Auto-MDIX (conector RJ45) |
1 x 10 / 100base-T (x) Auto-MDIX (conector RJ45 no montado) |
Autobús de campo | nadie | 1 x RS485 + 1 x CAN bus (conexión y controladores externos) |
1 x RS485 o 1 x CAN bus Galvanicamente aislado |
nadie |
Bus SPI | 1 (en el pin de la tira) |
nadie | 1 (conexión GPIO) | |
Autobús I2C ™ | 1 (en el pin de la tira) |
1 de alta velocidad (conexión externa) |
1 de alta velocidad (Conexión IDC 10pin) |
2 (conexión GPIO) |
Número máximo módulos de expansión | N / A | 16 | N / A | |
I / F RS232 | 1 (en el pin de la tira) | Nivel 1 x RS232 1 x 5V nivel TTL (conexión externa) |
2 x DTE (conector RJ45) | 1 x 3.3V nivel TTL |
Almacenamiento masivo | No | SD HC hasta 32GB (conexión externa) |
Ranura micro-SD HC hasta 32GB | Ranura Micro-SD |
Páginas web configurables por el usuario | No | Sí | No | |
Ambiente | datos no informados | Temperatura de funcionamiento: de -20 a + 70 ° C | datos no informados | |
Temperatura de almacenamiento: de -40 ° a + 80 ° C | ||||
Humedad: Max. 90% | ||||
Dimensiones y peso | Dimensiones: 68,6 mm × 53,3 mm | Dimensiones: 107.95 mm W x X NUMX mm W 31.8 mm H | Dimensiones: 105 mm W x X NUMX mm W x X NUMX mm H | Dimensiones: 85.6 x 53.98 x 17mm |
Peso: 50g | Peso: 100g | |||
Herramienta de programación | Arduino IDE | LogicLab | Alfafruit IDE | |
Idiomas admitidos | C | IEC61131-3 (IL, ST, LD, FBD y SFC) |
Python, C, C ++, Java |