RETROFIT Cintreuse de tube BLM 40/D

Bonjour à tous,
J'ai acquis il y a quelques temps une cintreuse par enroulement hydraulique de marque BLM 40/D.
https://www.hostingpics.net/viewer.php?id=6531721532CINTREUSECURVING.jpg

Elle est déjà équipée de tous les accessoires et option de l'époque y compris la commande numérique de marque Sybelec.
https://www.hostingpics.net/viewer.php?id=261697IMG20170211002232.jpg

L'envie et le projet est de pouvoir moderniser tous ceci.

De mon coté j'ai un écran tactile IBM 4820 15" avec son PC IBM récupérer d'un caisse enregistreuse, donc un matériel très fiable, qui me servira comme HMI.

https://www.cnet.com/products/ibm-surepos-740-4800-743-dt-celeron-440-2-ghz-512-mb-0-gb/specs/

Mes compétence et celle de mon père nous permet de pouvoir et savoir le faire entre la conception, l’électricité, la programmation, l'hydraulique, bref nous pouvons tout refaire, du circuit électrique pour piloter l'hydraulique au programme perso pour piloter tous ceci.

Cependant, pour éviter de perdre un temps fou et compte tenu de l'évolution des technique moderne, je lance le sujet pour savoir quelle est le meilleur direction à prendre.

LES BASES
Le projet se présente ainsi, je ne touche pas à l'hydraulique, la machine fonctionne très bien et je m'en sert actuellement.
Le but est de remplacer la partie Sybelec volumineuse et ancienne par un écran tactile léger avec un programme me permettant de pouvoir stocker des séquences, gérer un peu mieux les paramètres existant, remplacer le détecteur d'angle incrémental actuel par un capteur absolu, et surtout pouvoir faire évoluer par la suite la machine.
Évidemment tout ceci avec un budget contenu.

L'idée est dans un premier temps de faire le programme pour piloter à blanc une carte relais et analyser les entrées

LE MATERIEL
J'ai la machine, le PC, l'écran, la doc machine, le schéma hydraulique, bientôt le schéma électrique actuel, il ne nous manque plus que savoir quoi utiliser comme "interface" pour piloter tout ceci.
Pour le capteur d'angle j'ai un codeur 10 bits Hengstler RA58-S absolu en code Gray (donc 18 fils).
http://www.macrisrl.it/download/2540120.pdf

LA DIRECTION
L'idée initiale était de prendre un HMI type unitronics, les HMI avec entrée/sortie intégré était très interessante, mais le tarif pour un écran >12" plus les modules E/S revenait très cher >1500€.
A aujourd'hui, nous sommes partis sur l'idée de créer un programme sur python, pilotant via arduino les relais de commande des électrovannes et recevoir le capteur absolu 10 bits Hengstler.
C'est un pilotage en temps réel que je souhaite, je rentre une donnée d'angle sur l'ecran tactile et quand je clique sur start la machine fait mon angle souhaité et me l'affiche en valeur absolu à l'écran, puis reviens à zéro.

LES QUESTIONS
La ou je coince un peu c'est le choix des éléments "module interface" pour piloter tout ceci. Jai trouvé Controllino qui me parrait bien. https://controllino.biz/controllino/
Mais la question que je me pose, est-il adapté pour recevoir le capteur absolu. Car est ce simplement à brancher les 10 entrée (bits) et ensuite les interpréter dans un programme decodant le Gray préalablement installé dans le module interface. Ou faut il partir sur une carte decodant le capteur qui informera le module interface de la position d'angle.

Il existe des module prévu pour accepter ces capteurs mais pas en arduino CP1E | OMRON, France

Voilà je suis ouvert à toutes discutions

Bonjour;

Ce qui semble difficile à trouver, c'est des infos plus précise sur ton codeur, mise à part les notice de mise en route.

Notamment sur les signaux de sorties.

J'ai lu que selon le modèle tu peux lire le code en parallèle (donc les 10 bits lus en même temps comme 10 entrées) ou en série (donc par une liaison série).

C'est surement plus simple le lire en parallèle, et cela "consomme" surement moins d'entrées de lire en série.

A tu des infos la dessus? (tu compte lire en série ou //?)

Bonjour mon codeur est le suivant

RA58-S/10EK.32KAPG
Donc un codeur mono-tour absolu
10 bits (1024 imp/tours)
10-30vdc
push pull
cable axial
parallèle (output k)
code gray

L'option prévu sera surement le parallèle plus simple effectivement, étant pas trop du genre à faire compliquer.
En résumer un fil correspond à 1 bit qui délivre une info 1 ou 0, sur 10 bits cela donne un code à 10 chiffres qui represente une valeur en code gray Code de Gray — Wikipédia

Je n'ai malheureusement pas de données plus complète, c'est les seuls documents que j'obtiens Hengstler n'ayant plus de doc dessus.
Les modèles récent se nomment AC58 j’attends une réponse de leur part pour savoir si ce sont les mêmes.

Bonjour,
il y a un pcb, qui sert pour le raccordement ?
une photo du pcb, avec les inscriptions, pourrait être instructive

Bonjour
Tiens , voilà un problème plutôt bien exposé et qui sort aussi un peu de l'ordinaire :grin:

+1 avec trimarco232

Faire plein de bonnes photos entre ton codeur et l'endroit où il est raccordé actuellement ;D
Il n'y a pas un/des connecteurs entre le codeur et l'interface ?

Hello;

Tu eux essayer d'alimenter ton codeur, et mesurer une sortie avec un voltmètre.

Les électroniciens de "hauts" niveaux (mais non je ne me moque pas) pourront te parler du push-pull ca doit vouloir dire que la sortie des bits varient entre 0V et VCC alim de l'opto, par exemple ...
Sous toutes réserves bien entendu
http://djelectro71.e-monsite.com/pages/theories-montage-push-pull.html

Il est super ton module automate, sans doute facile à réaliser avec un arduino et une carte relais selon tes besoins en entrées sorties.

Amateur de vieilles machines outils (pour le boulot uniquement j'en ais remit plus d'une au goût du jour en elec), je me demande bien ce qu'il peut y avoir comme matériel dans le coffret elec de ta machine.

J'aurais plein de questions et remarques, pour l'instant je lis avec interêt.

jeanfranlec:
Hello;

Tu eux essayer d'alimenter ton codeur, et mesurer une sortie avec un voltmètre.

Les électroniciens de "hauts" niveaux (mais non je ne me moque pas) pourront te parler du push-pull ca doit vouloir dire que la sortie des bits varient entre 0V et VCC alim de l'opto, par exemple ...

bonjour
Tu es bien sur et certain de bien connaitre ce qu'est un montage push-pull et de son éventuel/possible emploi/utilisation en électronique numérique ? :grin:

J'ai (mais je trompe peut-être) l'impression que tes interventions résultent d'un procédé identique à la conception
QUENAUD

Il ne suffit pas de mélanger "des mots de vocabulaire" pour en faire une "œuvre" ,
pas plus que de mettre des compos électroniques dans une boite , de secouer et d'en sortir qq chose d'exploitable ;D
ça peut peut etre arriver sur un malentendu 8) , mais statistiquement ça reste ϵ

Artouste:
...pas plus que de mettre des compos électroniques dans une boite , de secouer et d'en sortir qq chose d'exploitable ;D
ça peut peut etre arriver sur un malentendu 8) , mais statistiquement ça reste ϵ

Quelles sont tes intentions vis à vis de ton codeur, comment à l'heure actuelle compte tu le secouer pour le mettre dans ta boite électronique?

C'est assez rare que je pratique le secouage aléatoire des composants pour les mettre en service sans même savoir comment ils marchent ou avoir fais quelques mesures dessus pour essayer de lever mes doutes.

Tu a la chance d'avoir un câble codeur soudé sur un pcb avec un support CI et 2 broches d'alim, fais quelques mesures et déduis en quelques infos pertinentes sur les signaux de sorties, c'est ce que j'aurais fait si j'avais ce codeur à ma disposition.

De mon côté, sans prétention, ni démarches hasardeuses, j'ai réalisé un "automate" programmable qui pour mes besoins a 6 entrées analogiques, 6 entrées digitales, 8 sorties relais et 8 sorties MOS, un afficheur LCD et qui a été utilisé pour retrofité un vielles machine des années 50.

Par contre lui je peux le secouer, il ne tombera pas en panne.

Et cela autour d'un MEGA piloté par un GRAFCET (plclib.h ultra simple à mettre en œuvre).

Comme prévu et non par hasard, cela marche.

Pour ce qui concerne l'interface, avec le codeur, il semblerait que celui-ci délivre des signaux entre 0V et la tension d'alimentation. Comme l'alimentation est comprise entre 10 et 30V cela veut dire qu'il faudra peut-être adapter les niveaux.
Le Controllino accepte des entrées jusqu'à 12V ou 24V (option je suppose) donc tu pourrais les interfacer facilement.

Une fonction qui fait la conversion gray --> binaire . Temps de conversion 11µs. Ce qui laisse du temps pour faire autre chose, à la condition que l'encodeur ne tourne pas trop vite. Cela fait d'ailleurs partie des paramètres à connaitre pour commencer ton étude.

Donc.

Alimentation du codeur: doit être comprise entre 10V < V+ < 30V DC.
Sortie codeur (push-pull en mode bloqué saturé): comprise entre 0V au niveau bas et V+ au niveau haut.

Adaptation de la sortie codeur à l'entrée Controllino, une solution: que V+ soit compatible avec les caractéristiques des entrés Controllino (10V < V+ <(ou=) 12V par exemple).

Je vous remercie de l’intérêt que vous portez. Il y un peu de tout dans ce projet programmation/gestion hydraulique/electronique.

Pour situer la chose un peu plus précisément, je vous met quelques photos de l'état actuel de la partie commande.

La machine

Ce que l'on est capable de faire avec

L'armoire électrique générale

L'armoire électrique de commande

Le tableau de commande

La plaque de distribution hydraulique

Le capteur d'angle

L'ecran tactile + PC

https://www.cnet.com/products/ibm-surepos-740-4800-743-dt-celeron-440-2-ghz-512-mb-0-gb/specs/

Le logiciel de reference et d'inspiration

Dommage qu'il y ait un problème (en tout cas chez moi) pour voir les photos!

Photo rectifiées
Le forum me bloque à un message toutes les 5mn, est-ce normal ?

Donc pour résumer tout ceci et tenter de répondre à tout le monde.

La situation
La machine est fonctionnelle avec ses qualités et défauts (années 80).
Elle est équipée actuellement d'un tableau de commande avec roues codées pour les valeurs souhaitées.
Ce même tableau qui active les relais, ces mêmes relais qui active les électrovannes, ces mêmes électrovannes qui anime le vérin de cintrage.
Ensuite l'info de l'angle est retransmise par un capteur incrémental dont la valeur s'affiche sur le tableau de commande.
A la valeur donné d'angle de cintrage la machine s'arrête et reviens en position 0.

Vous me direz alors pourquoi changer tout cela ?

Pour plusieurs raisons :
-Pas de mémoire de séquence possible. (gros point noir)
-Réglagles limités. (on s'y fait)
-Capteur incrémental donc pas de point zéro et perte de l'info. (impossibilité de séquence manuel)
-Pupitre de commande très volumineux. (très encombrant, vraiment pas pratique)
-Evolution impossible. (retrofit à 2000€ ou acheter du matériel neuf à 50000€)

Certains paramètres vous échappe peut être, mais résumer le fonctionnement dans ses détails est très long et à mon avis pas important pour comprendre ce projet.

Nous sommes en train de finir le schéma électrique et hydraulique pour connaitre comment bien piloter tout ceci.

Nous avons donc actuellement
2 sortie contacteur (mise en route 2 moteurs de pompe)
8 sortie relais (pilotage électrovannes)
3 entrée digitale (contacteur de sécurité, contacteur de retour vérin, fin de course pince)
1 entrée "analogique?" (capteur d'angle de rotation)

Projet en cours
La même choses en relai et contacteur
+
Remplacement du capteur par un absolu
Pilotage par un PC a écran tactile

Projet sur le futur
2 sortie moteur pas à pas (rotation tube, rail de positionnement tube)
3 entrée analogique (capteur de pression hydraulique)
2 remplacement de régulateur mécanique par des régulateurs de pression piloté (fin de course, lubrification)

trimarco232
Voici la carte mais elle n'apporte rien de plus que la doc ou 1fil=1pin

artouste
Peut être n'as tu pas saisi le projet.
Comme expliqué la machine tourne et est équipé par de l'ancien matériel. C'est donc toute cette partie "électronique" que je souhaite moderniser.
Pour cela j'ai ce codeur absolu Hengstler RA-58 pour remplacer l'actuel. Le but est d'arriver à l'utiliser sur du arduino, nous partons donc "a l'aventure", pas de référence possible.

jeanfranlec
Pas de soucis pour les questions n'hesite pas les forum sont la pour ça.
En ce qui concerne le push pull nous sommes actuellement en test, donc dès que j'ai l'info...

fdufnews
Il est vrai que je n'ai pas parlé des paramètres de vitesse et accélération. Simplement que cela est je pense insignifiant, le bras de cintrage met au plus rapide 1 seconde pour faire 180°. Nous sommes donc à 30tr/mn.

naturland:
Il est vrai que je n'ai pas parlé des paramètres de vitesse et accélération. Simplement que cela est je pense insignifiant, le bras de cintrage met au plus rapide 1 seconde pour faire 180°. Nous sommes donc à 30tr/mn.

Avec un codeur d'angle à 1024 pas par tour tu vas arriver à 512 pas par seconde. Cela donne une indication sur la vitesse à laquelle il faudra lire le codeur d'angle pour ne pas rater des pas.
Il est important de ne pas rater des pas car il n'est pas souhaitable de dépasser l'angle donné comme consigne lorsque le bras de la cintreuse se déplace.

naturland:
artouste
Peut être n'as tu pas saisi le projet.
Comme expliqué la machine tourne et est équipé par de l'ancien matériel. C'est donc toute cette partie "électronique" que je souhaite moderniser.
Pour cela j'ai ce codeur absolu Hengstler RA-58 pour remplacer l'actuel. Le but est d'arriver à l'utiliser sur du arduino, nous partons donc "a l'aventure", pas de référence possible.

Effectivement , vu tes photos , je n'avais pas saisi que tu voulais remplacer un codeur en quadrature par un codeur absolu !

Vu tes photos , ce qui équipe actuellement ta machine c'est du codeur A/B à basse résolution

tu veux donc pour réutilisation logicielle existante faire du "transfert absolu vers relatif" ?

Bonsoir;

Effectivement avec ton codeur 1024 points par tour, tu est loin de celui que l'on voit sur les photos.
Ca te donne des pas de codeur de 0,35°

Surement qu'il faudrat travailler la vitesse de cintrage pour obtenir une telle résolution, car pour profiter de celle-ci il ne faut effectivement pas sauter trop de pas à cause du temps de réaction (calcul compris) de la machine.

Quelle est la résolution espérée?

Pour bénéficier de l'avantage du codage absolut, il faut aussi travailler sur le calage du codeur pour ne pas faire un retour au point 0 pendant une rotation (prévoir de pouvoir caler le 0 codeur sur le 0 machine ou le plus proche possible de ce 0, sinon, c'est la galére une fois que tout est monté).

fdufnews:
Avec un codeur d'angle à 1024 pas par tour tu vas arriver à 512 pas par seconde. Cela donne une indication sur la vitesse à laquelle il faudra lire le codeur d'angle pour ne pas rater des pas.
Il est important de ne pas rater des pas car il n'est pas souhaitable de dépasser l'angle donné comme consigne lorsque le bras de la cintreuse se déplace.

Tout à fait, mais justement un codeur en code Gray rend le "saut" de pas négligeable car 1pas=1code. Donc si on loupe un pas, le pas suivant vous redonne une info exact. Code de Gray — Wikipédia

De plus pour la petite info il sera fait une conversion :
360°/1024imp=0.3515625°/imp
Pour arrondir tout ceci je ferai une réduction entre le capteur et le bras de cintrage de 32/45=1.40625
Ce qui fera pile 0.25°/imp
Soit 4imp/degré
Plus facile à lire et cela me donne une précision de 0.25° constante, et c'est largement suffisant.
A noter aussi que la fin d'un cintrage se fait à une vitesse de <20°/s pour bien laisser le temps à la fibre du métal de s'étirer et éviter un retour élastique.

Artouste:
Effectivement , vu tes photos , je n'avais pas saisi que tu voulais remplacer un codeur en quadrature par un codeur absolu !

Vu tes photos , ce qui équipe actuellement ta machine c'est du codeur A/B à basse résolution

tu veux donc pour réutilisation logicielle existante faire du "transfert absolu vers relatif" ?

Non non je veux changer le pupitre de commande par un PC+écran tactile, donc faire aussi un programme perso dans le même esprit que ça BendPro G2 Control Upgrade for CNC Benders.
Pour info ça vaut 44000 USD

Donc je vire le pupitre et le capteur mais garde les relais pour le moment (on verra je mettrai peut être des relais DIN à l'avenir)

jeanfranlec:
Bonsoir;

Effectivement avec ton codeur 1024 points par tour, tu est loin de celui que l'on voit sur les photos.
Ca te donne des pas de codeur de 0,35°

Surement qu'il faudrat travailler la vitesse de cintrage pour obtenir une telle résolution, car pour profiter de celle-ci il ne faut effectivement pas sauter trop de pas à cause du temps de réaction (calcul compris) de la machine.

Quelle est la résolution espérée?

Pour bénéficier de l'avantage du codage absolut, il faut aussi travailler sur le calage du codeur pour ne pas faire un retour au point 0 pendant une rotation (prévoir de pouvoir caler le 0 codeur sur le 0 machine ou le plus proche possible de ce 0, sinon, c'est la galére une fois que tout est monté).

Pas vraiment beaucoup la précision actuelle est de 0.1°, l'élasticité du métal étant assez aléatoire puis ne travaillant pas pour la nasa les 0.25° suffisent largement.

Pour la vitesse je me trompe peut être mais au maximum il y aura 720imp/s il ne me semble pas que ce soit insurmontable, en tous cas pas en électronique ni en automatisme.
Maintenant l'arduino ne supporte peut être pas cette rapidité de traitement sur 10 bit ?

D’où ma question sur quelle interface utiliser ?

Faut il un convertisseur code Gray/analogique qui donne une valeur à l'arduino ?
ou
Traiter directement sur l'arduino via 10 entrées les valeurs du codeur ?

Omron par exemple pour ces codeurs E6C3 recommande le CPM1A

.pdf]https://www.limasoft.cz/omron/pdf/CPM1A998[1].pdf

Pour le point zero c'est encore un peu ambigue avec le fabricant mais sur certain de leur codeur, il existe une fonction "point zéro" qui "extrapole" sa position actuel pour en définir un O virtuel. (fil rose)
Apparemment cela concerne le codeur binaire et non gray. Mais il me repond que l'on est capable via une formule de réaliser la même chose (en gros une table ou quand il lis une valeur il sait qu'en fait c'est le "n" impulsion suivante et ainsi de suite)
Au même titre que normalement la fonction d'inverser le comptage (fil vert)

Bonjour;

Avec un tel codeur, sortant une info sur 10 bits en //, se serait dommage de transformer cette info numérique en info analogique qui serait lue par une entrée analogique arduino pour être retransformée en info numérique.

C'est un peu donner de la confiture aux cochons, et pourtant dieu sait si j'aime les bêtes, mais eux, pas sur qu'ils apprécient la confiture plus que la purée.

Idem, le convertisseur OMRON, sait aussi un super pot de confiture, si j'ai bien compris, ca convertit un peu tout en un peu tout ce que tu veux, c'est un super instrument, tu pourrait même t'en servir pour faire une regulation de température pour un four à pain puisqu'il fait (j'ai lu ca quelques part) de la mesure de température.

Et je pense, pour revenir à un niveau arduino, que tu peux aussi tout simplement essayer de connecter ton codeur à 10 entrées arduino, mais par contre, il faut s'assurer qu'il ne sorte pas des signaux au dela de 5V.
Et faire avec ton arduino un convertisseur GRAY/position en °, plus autonome et adapté à tes propres besoins.