LinuxCNC fonctionnait très bien sur les PC équipés d'une prise DB25, hélas ces vieux PC se font de plus en plus rare et les miens ont tous rendu l'âme, les DB25 ayant disparues des panneaux arrière on est obligé de passer sur des systèmes via transfert USB. J'aime bien tout maîtriser sur mes équipements, tous mes robots, cnc, rallonges sont câblés pour fonctionner sur DB25. J'aime être le maître sur mon matériel, sur les DB25 et l'aide de ce petit dongle je peux lire, mesurer voire envoyer des signaux, bref faire des tests et des mesures, ce qui est bien moins évident sur une liaison USB. J'ai opté pour la solution de faire tourner LinuxCNC sur Raspberry PI, il ne restait qu'à concevoir une interface pour relier et protéger le PI des drivers.
Cette interface utilise des optocoupleurs PC817 pour protéger le Raspberry d'un quelconque problème extérieur. Ces optocoupleurs sont loin d'être des foudres de guerre et ils s'assoient vite en cas de signaux rapides mais c'est tout ce que
j'avais dans mes tiroirs sur le moment. Lors de mes tests sur table en envoyant des signaux carrés de 10kHz je me suis retrouvé en sortie avec des dents de scie, les temps de montée et descente étant trop lents. Tout est rentré dans l'ordre
en faisant suivre les PC817 par des inverseurs triggers 74LS14, le PC817 inversant le signal, la porte inverseuse du 74LS14 remet tout en ordre. Pratique, et d'après les tests çà fonctionne bien jusqu'à 23kHz, suffisant pour piloter une CNC.
Les signaux output (step/dir) seuls sont triggés, les inputs n'étant que des niveaux de tension (origines/palpeur) ils passent juste dans les PC817, cela à bien simplifié le routage du PCB. Pour gagner de la place et simplifier le routage du
PCB certaines libertés ont été prises: DB25 soudée en sandwich sur le bord du circuit imprimé, les optos PC817 et certaines résistances sont soudés à la fois en face top et face bottom.
Tout est documenté sur le schéma et l'implantation, les optocoupleurs jaunes figurent les inputs, les autres les output.
Schéma interface DB25
Implantation interface PCB
Le même circuit mais version avec dimensions et découpes spéciales pour être monté sur mon cyberdeck