Dans cet article, nous voulons résumer les différences entre nos CPU OEM (SlimLine e Netsyst III) et les systèmes Arduino et Raspberry Pi. Pour commencer, nous voulons préciser que les modules de CPU OEM SlimLine e Netsyst III ont été conçu pour un usage répandu dans un environnement industriel / professionnel et, par conséquent, les exigences actuelles en termes de température de fonctionnement et d'immunité aux perturbations typiques de tels environnements.
Du point de vue de la programmation, les produits sont également très différents: les processeurs SlimLine e Netsyst ils sont programmés dans les cinq langues prévues par le norme internationale IEC61131-3 (largement utilisé dans les environnements industriels voir par exemple Codesys) à travers l'outil gratuit LogicLab, alors qu'Arduino est complètement "ouvert" et programmable en C / C ++ et Raspberry Pi est équipé d'OS Linux et est programmable en Python, C / C ++, Java etc.
Pour ceux qui ont l'habitude d'utiliser le langage C, rappelez-vous que le langage ST (texte structuré) de la norme CEI61131-3 possède de nombreuses règles syntaxiques de C (if, for, switch, etc.) et permet également l'utilisation de structures de données , tableaux, pointeur (Dans le forum nombreux exemples de programmes avec code source). L'union des différents langages fournis par la norme permet de créer des fonctions et des blocs fonctionnels en langage ST, puis de les utiliser comme objets graphiques dans d'autres programmes écrits en LD (Ladder Diagram) ou FBD (Function Block Diagram). Voici un exemple de programme en langage FBD tiré de cet article.
Si nous voulions donner une application à ces systèmes, nous pourrions dire qu’Arduino est adapté à la réalisation de systèmes d’automatisation peu performants pour les amateurs, les processeurs SlimLine e Netlog III sont indiqués dans la construction de systèmes industriels et professionnels avec des performances moyennes à élevées où le temps de mise sur le marché, la portabilité du programme et la facilité de modification sont importants; tandis que Raspberry Pi est indiqué dans les applications multimédia. Dans le tableau suivant, nous avons répertorié les caractéristiques essentielles des systèmes afin de faciliter la comparaison.
Arduino Uno | Processeur Netlog III OEM | Processeur SlimLine Cortex M7 OEM | Raspberry Pi Mod. A | |
alimentation | 7-12Vdc | 5Vdc 250mA max. | 10-30Vdc 2W | 5Vdc 700mA max. |
Alimentation fournie au bus d'extension | N / A | N / A | 5Vdc 2.5A max. | N / A |
Processeur | Atmel ATmega328 16MHz | NXP LPC2387 72MHz (ARM7TDMI) | Cortex M7 300MHz | Broadcom BCM2835 700MHz Low Power ARM1176JZFS |
Mémoire du programme | FlashEPROM 32kBytes | FlashEPROM 512kBytes (Programme utilisateur 96kBytes) |
FlashEPROM 2 MBytes (Programme utilisateur 262 kB) |
Démarrer depuis une carte SD externe |
Stockage de masse | aucun | FlashEPROM 1MBytes (260kBytes Données de l'utilisateur) |
FlashEPROM 4MBytes (398kBytes Données de l'utilisateur) |
Sur carte SD externe |
Mémoire de données tampon | E2PROM 1 kBytes | FRAM 16kBytes (3kBytes Données de l'utilisateur) |
FRAM 32kBytes (6kBytes Données de l'utilisateur) |
aucun |
Mémoire de données | SRAM 2 kBytes | SRAM 96kBytes (12kBytes Données de l'utilisateur) |
SRAM 96kBytes (12kBytes Données de l'utilisateur) |
SDRAM 256MBytes |
Horloge Temps Réel | Aucun | Oui, avec fonction automatique de l'heure d'été | Oui, avec fonction automatique de l'heure d'été Fonctionnement avec système d'arrêt optionnel SNTP (Simple Network Time Protocol) pris en charge |
Aucun |
I / F USB | 1 x USB 2.0 (connexion USB B) (mode de l'appareil) |
1 x USB 2.0 (connexion externe) (mode de l'appareil) |
Oui, sur conn. micro-USB AB (hôte + mode appareil) |
1 x USB 2.0 (connexion USB A) (mode hôte) |
Sortie vidéo | Aucun | Aucun | HDMI (rév 1.3 et 1.4); Composite RCA (PAL et NTSC) | |
Sorties audio | Aucun | Aucun | Prise 3.5mm, HDMI | |
Appareil photo | Aucun | Aucun | Interface série de la caméra MIPI à broches 15 (CSI-2) | |
Commande | Aucun | Aucun | Câble d'interface 15 à affichage en série (DSI) avec deux voies de données et une voie d'horloge | |
Entrées analogiques | 6 x 0-5Vdc 10bit | Aucun | 2 x 0-10Vdc 12bit | Aucun |
Entrées numériques | 14 I / O 5Vdc | Aucun | 2 PNP/NPN optoisolés 5-30Vdc, 7mA@24V (dont 1 peut être utilisé comme compteur Fmax 10kHz) |
GPIO 3Vdc |
Sorties numériques | 14 I / O 5Vdc | aucun | 2 photoMOS 0.25A à 40Vcc/ca | GPIO 3Vdc |
I / F Ethernet | aucun | 1 x 10 / 100base-T (x) Auto-MDIX (connexion externe) |
1 x 10 / 100base-T (x) Auto-MDIX (connecteur RJ45) |
1 x 10 / 100base-T (x) Auto-MDIX (connecteur RJ45 non monté) |
Bus de terrain | Aucun | 1 x RS485 + 1 x bus CAN (connexion et pilotes externes) |
1 x RS485 ou 1 x CAN bus Galvaniquement isolé |
Aucun |
Bus SPI | 1 (sur la broche de bande) |
Aucun | 1 (connexion GPIO) | |
Bus I2C ™ | 1 (sur la broche de bande) |
1 haute vitesse (connexion externe) |
1 haute vitesse (Connexion IDC 10pin) |
2 (connexion GPIO) |
Nombre maximum modules d'extension | N / A | 16 | N / A | |
I / F RS232 | 1 (sur la broche de bande) | 1 x niveau RS232 1 x 5V niveau TTL (connexion externe) |
2 x DTE (connecteur RJ45) | 1 x 3.3V niveau TTL |
Stockage de masse | Non | SD HC jusqu'à 32GB (connexion externe) |
Fente micro-SD HC jusqu'à 32GB | Slot Micro-SD |
Pages Web configurables par l'utilisateur | Non | Oui | Non | |
Environnement | données non rapportées | Température de fonctionnement: de -20 à + 70 ° C | données non rapportées | |
Température de stockage: de -40 ° à + 80 ° C | ||||
Humidité: Max 90% | ||||
Dimensions et poids | Dimensions: 68,6 mm × 53,3 mm | Dimensions: 107.95 mm L x X NUMX mm L 31.8 mm H | Dimensions: 105 mm L x X NUMX mm L x 90 mm H | Dimensions: 85.6 x 53.98 x 17mm |
Poids: 50g | Poids: 100g | |||
Outil de programmation | IDE Arduino | LogicLab | Alfafruit IDE | |
Langues supportées | C | IEC61131-3 (IL, ST, LD, FBD et SFC) |
Python, C, C ++, Java |