Bonjour
Je suis totalement ignorant en électronique, programmation et Arduino, mais j’ai un projet qui pourrait nécessiter ces technologies. Il s’agit pour faire simple d’un robot modulaire. J’ai l’intuition qu’avec Arduino, je pourrais faire beaucoup pour mon projet, d’où mon inscription récente.
J’espère être dans la section la plus adapté à ma question. A vrai dire , entre « Cours et tutoriels autour de l’Arduino », « Présentations de projets complets ou de réalisations à base d’Arduino » et « Espace détente et règles du forum », rien ne corresponds vraiment a une zone de demande d’informations… A. Je cherche avant tout par ce poste a avoir une idée de la faisabilité et une estimation du niveau de difficulté du système auquel j’aspire. B. Dans un seconds temps, identifier le type de technologie la plus approprié C. ensuite, identifier les type de matériels nécessaires, une fois que les fonction et puissance des modules seront mieux défini D. Et à plus long terme, trouver des partenaires capables de m’aider dans mon projet pour le codage de tout ce merdier.
Voici le projet: 1. Un robot modulaire sur lequel on ajoute des modules en série ou en parallèle. 2. Les modules peuvent avoir différentes fonctions:
1 moteur + codeur
2moteurs + codeurs
Lumière
Camera
Capteur t°
…
3. Dans mes rêve les plus fous, on peut compter une dizaine de modules en série et 4 en parallèle 4. Chaque module doit pouvoir se monter en lieu et place d’un autre, 5. Idéalement , les modules doivent être reconnus et identifiés par la base sans phase de programmations, avec leur « carte d’identité » intégrée (nom du module, type de fonction, dimension, poids,...) pour être « plug and play ». 6. Idéalement, la base est capable de reconstituer automatiquement l’architecture du robot avec la carte d’identité de chaque module, et la reconnaissance de la position d’implantation des modules les uns par rapport aux autres. 7. La base doit communiquer avec une interface homme machine (IHM) type tablette permettant le pilotage du robot (directe ou séquence enregistrées)
Je vous joint un petit bout de schéma de concept pour être plus claire
Vous devez définir plusieurs choses à l'interface entre la base et un module, ou encore entre deux modules contigus verticalement:
L"interface mécanique de fixation. Préciser si le connecteur électrique contribue ou non à cette fonction.
Les alimentations et signaux électrique à transmettre
Parmi les signaux transmis, certains sont de type "bus", et il faut définir les différentes couches du modèle OSI de ce bus. Vous l'avez dessiné (traits verts) comme un "token ring" et il conviendrait de préciser si c'est bien votre choix ou si c'est le hasard qui vous a fait dessiner comme ça.
Si vous êtes débutant en informatique / réseau, votre idée est intéressante mais vous n'avez probablement pas les moyens de pousser plus loin votre conception, qui est du niveau d'un ingénieur système avec quelques années de carrière dans le domaine micro-informatique / réseaux. Donc la première chose à nous dire est de bien préciser votre niveau. Si, ce que je crains, vous êtes juste un débutant peu formé et inspiré, vous vous lancez, ici même, dans la pêche aux idées auprès de gens bien plus expérimentés que vous, et je ne suis pas certain (en tous cas c'est valable pour moi) que beaucoup aient envie de passer du temps sur un projet d'envergure, from scratch, piloté par un débutant.
Je suis en effet au niveau zéro question Arduino.
De métier, je suis concepteur mécanique de machine spéciale. une grande partie des machine que je conçoit ont une partie automatisme poussée (plusieurs brushless, plusieurs caméra, des dizaines de capteurs qui remontent à un automate, et une ihm ). C’est pas mon metier, mais je le côtoie.
Pour ce projet, les systèmes habituels ne conviennent pas. Les élément sont gros, pas prévu pour être « déplaçables » dans le système ni reconnus automatiquement.
Je n'ai pas l'intention (ni les moyens) de faire travailler des gens dans le vent. c'est pourquoi il faut que je valide la faisabilité "de principe".
Je n'en suis qu'au stade faisabilité, donc tout est encore flou et malléable, mais voici quelques suppositions : Pour ce qui est de la reconnaissance de chaque module et la reconstitution de l’architecture, chaque module doit se comporter comme un routeur, n’est ce pas? ou une fonction switch est elle suffisante? Question a poser a un informaticien réseau, j’ai ca sous la main. Est-ce qu’un routeur ou switch est faisable a partir de modules Arduino ou compatible?
L'interface mécanique entre module ne doit pas faire travailler les connecteurs.
L'alim pourrait être un DC 12V car je pense pas avoir besoin de plus.
Les signaux sont variés, (vidéo , info capteur , pilotages moteurs) et je pensais donc regrouper tout ces infos sur un Ethernet. je ne connais pas bien les capacité du "bus", mais je ne pense pas qu'il soit possible de faire transiter le signale d'une camera sur ce genre de système.
Je viens de voir une petite explication du “token ring”. pas sur que ça corresponde a ce que j'ai dessiné, car la boucle n'est pas fermée. et les info doivent pourtant aller des les deux sens. ca tient plus de l'architecture "mesh" mais a un seul chemin. j'ai dessiné l'Ethernet entrant dans chaque "carte" et en ressortant pour aller desservir le module suivant en me disant que c‘était la seul façon de faire pour avoir un système capable de reconnaitre son architecture.
Il existe des réseaux industriels qui ont (plus ou moins) la possibilité d'identifier les modules qu'on y connecte. Le plus récent et le plus évolué, à mon avis, est Sercos III. C'est quand même du lourd. A une époque, ils ont fait des shields Arduino, maintenant hors production. Mais ils font un module connectable en SPI qui permet de se raccorder au bus. Cher encore, de l'ordre de 60€.
A mon avis on peut faire plus light (connexions dans un rayon de quelques mètres, pas d'isolation galvanique, paire différentielle). Mais c'est un gros développement, surtout si on commence à parler de signaux camera !
Pour le packaging, j'ai vu, il y a des lustres, un système de cartes empilées avec tenue mécanique indépendante (colonnettes) et connexion par câble multi-conducteur souple. Bonne solution, qui permet facilement de faire un bus 8 bits ou plus. C'est ce que je choisirais si j'avais à faire un projet tel que le tien.
Pour avoir bossé dans la machine spéciale, en miroir par rapport à ta fonction puisque je faisais l'électronique et le logiciel, j'ai toujours vu les mécaniciens surpris quand on leur annonçait le nombre d'heures de boulot qu'il fallait pour gérer leur mécanique...
Je pense d'autre part qu'il faut cibler dès le départ les configurations géographiques des organes qu'il faut contrôler. L'évolution qu'on a vue dans l'automobile, où les câblages en fil à fil ont été remplacés par des bus numériques, doit se faire maintenant dans le domaine de la robotique et machine spéciale. L'automate d'hier, avec sa forêt de fils concentrés sur la même armoire, est la solution du passé. Les automates de demain, et je pense que les constructeurs y travaillent, sont de petits modules reliés par un bus numérique rapide. C'est la tendance qui a guidé les concepteurs de Sercos, et je pense qu'elle est bonne. Le cas particulier dont tu parles, plusieurs axes motorisés, ce qui implique de la synchronisation d'horloges, est pris en compte dans le fonctionnement de Sercos.
"j’ai toujours vu les mécaniciens surpris quand on leur annonçait le nombre d’heures de boulot qu’il fallait pour gérer leur mécanique…"
Ha, je me reconnais bien là, et j'ai parfois honte de ce que je fais subir aux collègues. C'est pour ca que je tente de comprendre un max de chose, même si mon cerveau n'est pas câblé comme celui des automaticiens.
Je regarde d'un peu plus près ces cartes SPI Sercos III pour en savoir plus. Mais si il ne sais pas ordonnancer les modules, la reconnaissance automatique de ces modules n'est pas forcement nécessaire : lors de l'assemblage du robot, l'utilisateur peut faire l'assemblage "virtuel" , avec choix des modules dans une base de donnée.
Pour l'inadaptation du bus à la vidéo, c’est plus problématique...
Permet moi d'insister quelque peu sur l'option Ethernet : quand je branche un routeur wifi a ma box internet, et un ordi a ce routeur wifi, je peux visualiser ce réseau sur l'interface de la box. Est il possible de faire facilement un routeur 3 ports a partir de composants Arduino? (en écrivant ça, je ne dit que je vais justement chercher des routeur 3 port, tout simplement...)
Les bus industriels ne manquent pas sur le marché, et si c'est pour faire un truc propriétaire, alors le plus simple me parait être un développement de protocole sur ligne RS485. Un token ring avec un maître pour gérer le démarrage du réseau me parait le plus simple, d'ailleurs c'est le principe de base de Sercos. Si les contraintes de distance et isolation ne sont pas trop sévères, un bus SPI est aussi une bonne solution, mais la difficulté est (sous réserve de ma connaissance de ce type d'interface sur Arduino) de réaliser une connexion esclave. Je serais sans doute plus enclin à faire ça sur un ESP32 que sur un Arduino natif.