J'aurais besoin d'éclairages sur un projet que je souhaite mener à savoir faire communiquer un Arduino (UNO) et un automate Proface gamme LT4000.
Pour quoi faire? : je veux concevoir des petits variateurs qui piloteront des moteurs CC et qui pourront communiquer avec l'automate pour la synchro et les ordres de fonctionnement.
J'ai choisi le protocole CANopen qui est très utilisé en industrie et je pense plus facile en mettre en œuvre du fait du nombre d'informations disponibles sur internet.
A ce titre j'ai déjà fait communiquer 2 cartes Arduino en CAN via un module MCP2515 et ça marche youpi.
Là où ça va se compliquer c'est de faire communiquer les différents Arduinos vers l'automate.
Je ne vois pas vraiment comment l'interfacer et réaliser ma table d'échanges avec notamment : Vitesse
Sens de rotation
Arret de type 1
Arret de type 2
Retour état variateur
...
En faisant des recherches j'ai découverts les fichiers .eds et .dcf, ce sont ces fichiers que l'on importe dans un logiciel de programmation automate pour paramétrer les modules dialoguant en CAN. (c'est le cas pour Proface notamment).
Pourriez-vous me dire si la piste de ces fichiers est la bonne ou si il y a d'autres solutions.
J'avoue que malgré la lecture des règles du forum, je me perdais un peu dans toutes les catégories.
En espérant qu'avec votre aide mon projet puisse aboutir ainsi je le mettrais dans "Réalisations et Projets Finis".
Hélas, trois (mois) hélas, pas de réponses techniques...
CANopen n'est pas si simple. Aucune idée de la manière de programmer un LT4000, mais après avoir vu quelques infos sur l'engin, pourquoi ne pas simplement utiliser son interface série ?
Il faut aussi définir les fonctionnalités qui seront implémentées dans l'Arduino et dans le Proface. L'interface physique/link est facile (CAN), mais les couches supérieures pas du tout.
Comme tu dis Hélas... mais j'ai continué mes recherches et je suis arrivée à la conclusion suivante : faire communiquer l'Arduino et l'automate en CAN c'est compliqué notamment lorsqu'il faut réaliser le fichier d'échange EDS... je me suis même rapproché du fabricant Proface mais tout seul c'est quasi impossible.
Je suis donc parti sur une idée un peu différente :
L'automate communiquera avec un Arduino Mega en fonctions logiques (DI/DO et PWM) et le Mega communiquera avec les autres Arduino (eslaves) en CAN.
Je dois avouer que je n'ai pas pensé un instant à la communication série que tu mentionnes, c'est aussi une très bonne idée.
Aurais-tu des pistes à ce sujet ?
Dans le temps (au début d'Arduino, quand il n'y avait que le MEGA et le UNO ou le 2009), l'idée était d'utiliser les "esclaves" avec un programme standard appelé "Firmata", qui avait adapté la norme MIDI à l'Arduino (note ON pour les DIO, un control pour les Analog Output, etc.). Deux gros avantages c'est que l'"intelligence" reste dans ton MEGA plein de mémoire, et que l'interface physique peut être Serial (voire CAN), Ethernet, I2C etc.
Mais c'est quand même un peu passé de mode. Perso je n'ai jamais utilisé.
Pour programmer "à distance" un Arduino en live, il y a aussi "SerialCommand", "EasyTransfer" et d'autres.
Bonjour,
Effectivement c'est l'idée d'utiliser un MEGA en maître.
SerialCommand c'est le moniteur série de l'IDE ? car en faisant des recherches dessus j'ai l'impression que les fonctions sont les mêmes qu'avec le moniteur série.
Après je ne pense pas avoir d'autre solution que la communication logique entre les Arduinos et l'automate...