Bonjour à toutes et à tous !
Véritable autodidacte, beaucoup de choses me passionnent, j'ai toujours réussi à me débrouiller par moi-même. Mais là... À bout de souffle, tellement j’ai consacré de temps à ce projet… je suis arrivé à un stade où je sèche littéralement !
Fraichement inscris, l’utilisation d’un forum étant une grande première pour moi (il parait qu’il faut bien commencer un jour ), je viens donc ici solliciter l'aide de bonnes âmes !
En aparté, bien que je n’aie aucun doute sur la bienveillance des membres de ce forum, je vous demande quand même la plus grande indulgence à mon égard. Je peux parfois être un peu dur à la comprenette (voir ma signature ).
Donc… en essayant d’être le plus explicite possible et sans faire un roman, voici mon "problème" !
Je possède une vieille poinçonneuse numérique (36 ans d’âge ), une ARIES 222 de marque AMADA, que j’ai vraiment besoin d’upgrader pour certaines applications dans mon activité (réinstallation "récente" en solo et auto entrepreneur dans le domaine de la métallerie d'art).
Cette machine étant d’un autre âge (par rapport à ce qui se fait aujourd’hui), sa CN (modèle AMADAN 03P apparemment de manufacture FANUC !) me limite beaucoup du fait qu’elle ne dispose que de 8 Ko de mémoire !!!
N’ayant pas trouvé de moyen à ma portée pour étendre cette mémoire, c’est après une idée (d’apparence assez simple), de TRÈS nombreux essais et une mise en œuvre de MA conception (on ne se moque pas, svp ), au travers de cartes électroniques ("s" car le projet a récemment bien évolué) reliées à un PC, que j’essaie de finaliser une interface que j’ai nommée "DIRECT PC" (pas vraiment besoin d’expliquer ).
Concrètement... la solution que j’ai choisi de développer utilise le mode MDI (Manual Data Input) de la CN.
Dans ce mode, diffèrent du normal où le "programme" (Code G) est stocké intégralement en mémoire, il faut écrire chaque instruction (ligne) manuellement par le biais d’un panneau de commande (carte d'interrupteurs à poussoirs), valider puis lancer l’exécution par la machine et… quand elle a terminé… recommencer pour l’instruction suivante.
Pour ce faire, je me suis donc simplement "greffé" sur le câble à 16 conducteurs (grille de deux fois 8 fils croisés : 64 boutons) de la carte du panneau de commande (interrupteurs à poussoirs) afin de commander ces contacts par les optocoupleurs d’une carte ajoutée (kit K8000 de chez VELLEMAN) communiquant avec le PC par le biais du port parallèle. Carte aujourd’hui "en partie remplacée", à cause de sa programmation complètement obsolète, par une ARDUINO !
Seulement, bien que j’aie énormément avancé ces derniers mois, je me retrouve aujourd'hui confronté à un ultime problème…
J'ai une "perte de données" sur ce qu'envoi le PC à la CN !
En fait, ma "solution" n’est pas vraiment une "communication" entre la CN et le PC, vu que ce dernier n'a pas de retour sur ce qu'il envoi !!!
Chaque "commande" exécutée par le PC n’est qu’une "BOUTEILLE À LA MER" envoyée, celui-ci ne "sait" jamais si sa commande a bien été prise en compte ou pas !!!
C’est donc très certainement là, qu’est LA cause des ces erreurs aléatoires ("perte de "données") qui me font défaut et c’est surtout LÀ… QUE JE SUIS COINCÉ !!!
Ce qu'il faudrait, c’est de récupérer un "signal" de retour (validation de la CN lisible par l’ARDUINO) à chaque fois qu’un caractère, quel qu’il soit cela n’as pas d’importance, s’affiche à l’écran de la CN après une commande "envoyée" par le PC !
Sous-entendu que si un caractère s’affiche à l’écran c’est qu’il a forcément été pris en compte et par conséquence la commande du PC aussi !
Sur ce, n’étant pas un crack en électronique, j’ai essayé d’étudier la carte en amont du fameux panneau de commande et voila ce que j’en ressort.
Cette carte (étiquetée CRTC) forme avec le panneau de commande (MDI) et l’écran (CRT) un ensemble "autonome" qui quand on valide une ligne dans le mode MDI, c’est un peu différent dans le mode « normal » puisqu’on va chercher un programme stocké en mémoire, envoi les données par une liaison série (de ce que j’en ai compris) vers le reste de la CN (notamment, toujours si j’ai bien compris… probablement vers la mémoire !).
Après une inspection minutieuse et de nombreuse recherches, mon attention s’est donc portée sur le microcontrôleur CRT (HITACHI HD6845SP) qui "gère" l’affichage de ces données.
Vous trouverez ci-joint des visuels et photos à toutes fins utiles ! N’hésitez pas à me demander s'il en manquai !
Pupitre CN + Exemple mode MDI.jpg / Intérieur CN.jpg / Detail ensemble MDI + CRTC + CRT .jpg / Carte CRTC.jpg / Aries 222 (03PA).pdf
Donc, ma question…
Est-ce que quelqu’un pourrait m’indiquer quel signal, sur quelle broche et au moyen de quel circuit électronique (le plus simple possible) je pourrai récupérer une impulsion (lisible par l’ARDUINO !), validant l’affichage de ces caractères à l’écran, sur ce microcontrôleur ?
Pour information, ça vaut ce que ça vaut … j’avais pensé à l’idée de comptabiliser, avec un compteur binaire, la totalité des impulsions hautes du signal vidéo TTL de chaque trame afin de "mesurer" la luminosité totale et, par le biais de l’ARDUINO, de stocker cette valeur puis de la comparer à la suivante !
Ainsi, dès que la nouvelle valeur se trouve être supérieure à l’ancienne cela signifie que la luminosité a augmentée et que par conséquent un caractère vient d’être "validé" !
Seulement… je ne sais pas vraiment comment faire !
À moins qu'il y ai d'autres possibilités "plus simples" ! Si mon problème vient bien de ce que je pense, bien sûr !
Qu’en pensez-vous ?
Ouf, j’ai terminé… si vous êtes arrivé jusque ici et que vous me répondez !!! MERCI, MERCI, MERCI
Ah, j’oubliai !!! bien entendu, je fais tout ça en retro engineering… vu que je n’ai pas réussi à me procurer de schéma électronique des cartes de cette CN auprès du fabricant de la machine !
-----