Neste artigo, queremos resumir as diferenças entre as nossas CPUs OEM (SlimLine e Netsyst III) e os sistemas Arduino e Raspberry Pi. Para começar, queremos esclarecer que os módulos de CPU OEM SlimLine e Netsyst III foram Concebido para uso prevalente em um ambiente industrial / profissional e, portanto, os requisitos atuais em termos de temperatura operacional e imunidade a distúrbios típicos de tais ambientes.
Também do ponto de vista da programação, os produtos são significativamente diferentes: as CPUs SlimLine e Netsyst estão programados nas cinco línguas previstas pelo padrão internacional IEC61131-3 (amplamente utilizado em ambientes industriais veja, por exemplo, Codesys) através da ferramenta gratuita LogicLab, enquanto o Arduino é completamente "aberto" e programável em C / C ++ e o Raspberry Pi está equipado com Linux OS e é programável em Python, C / C ++, Java etc.
Para aqueles acostumados a usar a linguagem C, lembre-se que a linguagem ST (texto estruturado) do padrão IEC61131-3 tem muitas das regras sintáticas de C (if, for, switch, etc.) e também permite o uso de estruturas de dados , matrizes, ponteiro (No fórum muitos exemplos de programas com código-fonte). A união das diferentes linguagens disponibilizadas pela norma permite criar funções e blocos funcionais em linguagem ST, e posteriormente utilizá-los como objetos gráficos dentro de outros programas escritos em LD (Diagrama Ladder) ou FBD (Diagrama de Blocos Funcionais). Aqui está um exemplo de um programa em linguagem FBD retirado de Neste artigo.
Se quiséssemos colocar uma aplicação para esses sistemas, poderíamos dizer que o Arduino é adequado para a realização de sistemas de automação de baixo desempenho para entusiastas, as CPUs SlimLine e Netlog III são indicados na construção de sistemas industriais e profissionais com desempenho médio-alto, onde o tempo de colocação no mercado, a portabilidade do programa e a facilidade de modificação são importantes; enquanto o Raspberry Pi é indicado em aplicativos multimídia. Na tabela a seguir, relatamos as características essenciais dos sistemas para facilitar a comparação.
Arduino Uno | CPU Netlog III OEM | CPU SlimLine Cortex M7 OEM | Raspberry Pi Mod. A | |
Alimentação | 7-12Vdc | 5Vdc 250mA max. | 10-30Vdc 2W | 5Vdc 700mA max. |
Potência fornecida ao barramento de expansão | NA | NA | 5Vdc 2.5A max. | NA |
Processador | Atmel ATmega328 16MHz | NXP LPC2387 72MHz (ARM7TDMI) | Cortex M7 300MHz | Broadcom BCM2835 700MHz Low Power ARM1176JZFS |
Memória do programa | FlashEPROM 32kBytes | FlashEPROM 512kBytes (Programa de usuário 96kBytes) |
FlashEPROM 2 MBytes (Programa de usuário 262 kB) |
Inicializar a partir do cartão SD externo |
Armazenamento em massa | Não | FlashEPROM 1MBytes (Dados de usuário 260kBytes) |
FlashEPROM 4MBytes (Dados de usuário 398kBytes) |
No cartão SD externo |
Memória de dados do buffer | E2PROM 1 kBytes | FRAM 16kBytes (Dados de usuário 3kBytes) |
FRAM 32kBytes (Dados de usuário 6kBytes) |
Não |
Memória de dados | SRAM 2 kBytes | SRAM 96kBytes (Dados de usuário 12kBytes) |
SRAM 96kBytes (Dados de usuário 12kBytes) |
256MBytes SDRAM |
Relógio de tempo real | Nenhum | Sim, com função automática de horário de verão | Sim, com função automática de horário de verão Operação com sistema off off opcional Protocolo de tempo de rede simples (SNTP) suportado |
Nenhum |
USB I / F | 1 x USB 2.0 (conexão USB B) (modo dispositivo) |
1 x USB 2.0 (conexão externa) (modo dispositivo) |
Sim, no conto. micro-USB AB (modo host + dispositivo) |
1 x USB 2.0 (conexão USB A) (modo host) |
Saida de video | Nenhum | Nenhum | HDMI (rev 1.3 e 1.4); Composto RCA (PAL e NTSC) | |
Saída de áudio | Nenhum | Nenhum | Tomada 3.5mm, HDMI | |
Câmara | Nenhum | Nenhum | Interface serial serial da câmera MIPI 15 (CSI-2) | |
Ecrã | Nenhum | Nenhum | Display Serial Interface (DSI) Cabo plano 15 com duas linhas de dados e uma faixa de relógio | |
Entradas analógicas | 6 x 0-5Vdc 10bit | Nenhum | 2 x 0-10Vdc 12bit | Nenhum |
Entradas digitais | 14 I / O 5Vdc | Nenhum | 2 PNP/NPN optoisolado 5-30Vdc, 7mA@24V (do qual 1 pode ser usado como contador Fmax 10kHz) |
GPIO 3Vdc |
Saídas digitais | 14 I / O 5Vdc | Não | 2 fotoMOS 0.25A@40Vdc/ac | GPIO 3Vdc |
Ethernet I / F | Não | 1 x 10 / 100base-T (x) Auto-MDIX (conexão externa) |
1 x 10 / 100base-T (x) Auto-MDIX (conector RJ45) |
1 x 10 / 100base-T (x) Auto-MDIX (conector RJ45 não montado) |
Ônibus de campo | Nenhum | 1 x RS485 + 1 x barramento CAN (conexão e drivers externos) |
1 x RS485 ou 1 x barramento CAN Isolado galvanicamente |
Nenhum |
Ônibus SPI | 1 (no pino de tiragem) |
Nenhum | 1 (conexão GPIO) | |
Ônibus I2C ™ | 1 (no pino de tiragem) |
1 de alta velocidade (conexão externa) |
1 de alta velocidade (Conexão IDC 10pin) |
2 (conexão GPIO) |
Número máximo módulos de expansão | NA | 16 | NA | |
I / F RS232 | 1 (no pino de tiragem) | 1 x nível RS232 Nível 1 x 5V TTL (conexão externa) |
2 x DTE (conector RJ45) | Nível 1 x 3.3V TTL |
Armazenamento em massa | Não | SD HC até 32GB (conexão externa) |
HC micro-SD slot para 32GB | Ranhura Micro-SD |
Páginas da web configuráveis pelo usuário | Não | Sim | Não | |
Meio Ambiente | dados não relatados | Temperatura de funcionamento: de -20 a + 70 ° C | dados não relatados | |
Temperatura de armazenamento: de -40 ° a + 80 ° C | ||||
Umidade: Max. 90% | ||||
Tamanho e peso | Dimensões: 68,6 mm × 53,3 mm | Dimensões: 107.95 mm W x X NUMX mm W 31.8 mm H | Dimensões: 105 mm W x X NUMX mm W x 90 mm H | Dimensões: 85.6 x 53.98 x 17mm |
Peso: 50g | Peso: 100g | |||
Ferramenta de programação | Arduino IDE | LogicLab | Alfafruit IDE | |
Idiomas suportados | C | IEC61131-3 (IL, ST, LD, FBD e SFC) |
Python, C, C ++, Java |