Page 1 sur 2

Une carte CNC exploitant le port série

Posté : mer. déc. 27, 2006 3:39 pm
par Thierry Pébayle
Bonjour Jérôme,

je confirme l'intérêt de la découpe en diagonale ( par exemple pour finir le saumon d'un aile de trainer thermique) ... bien qu'en créant un profil constitué d'un simple trait en diagonal on peut assez facilement contourner le problème.

Plutot que de rentrer la pente, peut-être que le plus simple serait de modifier la boite de dialogue de déplacement rapide en dédoublant l'entrée "déplacement" par "déplacement x" et "déplacement y", et de supprimer les "check box" "x" et "y". Ainsi si on ne veut que du déplacement en X on laisse Y à 0 et vice-versa...

j'ai essayé d'utiliser mon portable avec un cable d'interface "usb/parallele"(marque DACOMEX), mais ça ne marche pas (bien sur ça marche avec le port parallèle LPT1 du pc de bureau). Je suppose que le logiciel ne reçoit pas le signal timer de la carte (MM2001 dans mon cas). J'ai 2 hypothèses: soit l'interface ne répercute pas l'IRQ(la plupart des drivers d'imprimante n'utilisent plus l'irq) soit le no IRQ n'est pas celui attendu dans le logiciel (généralement=7 sur un port LPT1). Dernière hypothèse je me suis trompé dans le petit adaptateur que j'ai du faire pour passer du subd25 au centronic36, mais j'ai beau vérifier je ne vois pas d'erreur...

A ce sujet pourquoi tous ceux qui ont développés les cartes d'interface moteurs mettent un subd25 au lieu d'un centronic36 ! pourtant les connecteurs centronic36 sont parfaitement disponibles et cela permettrait d'utiliser le cable d'imprimante classique...

J'ai envie de développer une carte moteur avec pilotage serie (rs232 à 115kbds) et buffer de 1000 à 2000 pas pour chaque moteur (1 octet = pas et sens pour 4 moteurs). Il suffirait de remplir le buffer au fur et à mesure (indication buffer plein au PC via DTR->DSR) et le micro (un PIC18F...) de la carte se chargerait d'executer les pas à fréquence fixe. Le buffer avec une fréquence de 1000pas/s aurrait une autonomie de 1s environ ce qui me parait suffisant. Avantages: simplication du programme PC (plus d'irq), stabilité assurée des pas, fiabilité & sécurité (port parallèle non protégé=risque de flamber le PC en cas de pb sur la carte moteur), possibilité d'utiliser un cable d'interface "usb/serie" pour portable sans aucun problème (je l'utilise dans d'autre applications de ce type), ...
Tout ce long discours pour te demander: serais-tu près à rajouter un module à ton programme pour piloter ce type de carte ?

En tout cas merci encore pour ton programme !

Thierry

Re: Futurs évolutions de Jedicut - Qu'en pensez vous ?

Posté : mer. déc. 27, 2006 5:42 pm
par xavtronic
Bonjour,

Je me permet de répondre pour le dernier point concernant la commande d'une carte par RS-232. D'ici quelques temps (ca va beaucoup dépendre de mon emplois du temps et de mes "temps" libre) une interface USB existera, donc une interface sérial sera obsolète je pense.
Le prototype existe mais n'est pas encore compatible avec Jedicut. Jérôme y travail et moi je m'occupe d'améliorer et débugger mes cartes électroniques (et oui depuis un petit changement dans le progiciel plus rien ne fonctionne :( ).
Donc il vous faudra encore patienter un petit peu malheureusement. Mais vous serez les premiers au courant quand le tout fonctionnera... Et il faudra aussi des testeurs :).

A+
Xavier

Re: Futurs évolutions de Jedicut - Qu'en pensez vous ?

Posté : jeu. déc. 28, 2006 9:58 am
par Jerome
Bonjour,

Marc, il faut que je réfléchisse à ta proposition car elle n'a pas l'air simple ;) .

Thierry,
Plusieurs personnes possédant une MM2001 on tenté d'utiliser un adaptateur USPPort parallèle sans succès, probablement à cause du signal timer, mais je n'ai pas plus d'information. Si d'autres logiciels utilisent les IRQ, Jedicut ne fonctionne pas de la même façon et ne s'en sert pas directement. La preuve est que Jedicut ne nécessite l'installation d'aucun driver. Je me demande par contre si ce genre d'adaptateur fonctionnerai avec des machines n'utilisant pas de timer externe.

Pour ton idée de carte sur port série, je suis partant pour programmer une dll spécifique à ta carte si j'en ai le temps, mais je ne connais pas de tête la quantité de travail que celà représenterai, et il faudrait que je me replonge dans la façon d'utiliser le port série. Cependant je doute de la pérénité d'une telle solution, surtout avec l'arrivée de la carte de xavtronic qui devrait rapidement progresser dès que nous aurons du temps pour nous y remettre.

Tiens nous au courant ;)

Re: Futurs évolutions de Jedicut - Qu'en pensez vous ?

Posté : jeu. déc. 28, 2006 3:38 pm
par Thierry
Bonjour,

beaucoup d'interfaces usb ne sont que des "émulations" de port série sur bus USB. C'est ce que font par exemple les cables d'interface USB/SERIE qu'on peut trouver en diverses marques entre 15 et 25 euros.

Compte tenu de la quantitée de données à envoyer à la carte moteur (estimée à environ 1ko/s pour 1000pas/s pour 4 moteurs -> avec une com serie à 115kbs on est théoriquement 10x au dessus) je ne vois pas la nécessité de développer une interface usb spécifique et passer par le port série me parait être au contraire la meilleure des solutions.

En plus, le port série est très simple à programmer et ne nécessite l'écriture d'aucune dll, puisque toutes les fonctions de com série sont déja intégrées dans windows (windows.dll, je peux fournir les codes de dialogue si nécéssaire en Delphi ou C++). L'ajout d'un cable d'interface USB/SERIE est complètement transparente pour le programme (au no du port série près qu'il faut indiquer).
Cela laisse le choix à l'utilisateur d'utiliser un vieux PC avec un port serie et pas d'usb sous Win95 ou une bête récente sans port serie (cas des portables) mais avec un port usb à l'aide du cable d'interface.

A noter que le composant qui fait tout le boulot de conversion (émulation) usb/serie dans les cables d'interface peut aussi se trouver tout seul comme par exemple dans les modules RAVAR (dispo chez selectonic,lextronic,...) mais je ne vois pas trop l'interet: ça complique inutilement la carte moteur et ça coute plus cher que le cable d'interface usb/serie (paradoxe des "écomomies d'echelle").

les perfos de cette émulation série ne sont pas ridicules puisqu'on peut théoriquement monter à 920kbs c'est à dire un débit d'environ 80ko/s, mais en pratique on se limite à 115kbs pour des facilités de programmation (suivant les versions de windows on ne peut pas dépasser 115kbs, à moins effectivement de réecrire une dll).

J'ai déja développé, pour le boulot, pas mal de cartes basées sur ce principe pour enregistrer des signaux physiologiques (EEG, températures cutanées,..) sur PC portable.

Pour conclure, je ne dénigre pas du tout le travail de Xavier, bien au contraire, il a beaucoup de mérite de se lancer dans le procole USB, mais je pense que l'utilisation du port série simplifie beaucoup les choses tout en étant parfaitement compatible avec l'USB au travers des cables d'interface USB/SERIE.

Thierry

Re: Futurs évolutions de Jedicut - Qu'en pensez vous ?

Posté : jeu. déc. 28, 2006 4:43 pm
par Jerome
Thierry,

Tu défends ta solution, et j'aime lorsqu'il existes différentes solutions permettant de répondre à tous les besoins et à toutes les bourses.

Tu as l'air de maitriser ton sujet ainsi que la programmation. Je te laisse approfondir ton sujet, tu crées une première carte de test, et si tu sais coder en Delphi, tu peux m'envoyer le source de ton programme qui piloterai les moteurs via le port série (ce qui me faciliterai le travail pour Jedicut). Un programme de test envoyant des ordres de rotation simple suffit. Ensuite de mon côté je peux programmer une dll pour Jedicut.

Lorsque je parlais d'écrire une dll dans mon précédent message, c'est parce que Jedicut utilise le principe des plug in pour être compatible avec plusieurs machines. ça permet d'ajouter la compatibilité d'une nouvelle machine à Jedicut sans avoir à retoucher le programme principale.

Si nous arrivons à un résultat satisfaisant, je te propose d'héberger les documents qui présenteront la construction de ta carte afin de la rendre accessible aux modélistes. Même si tu es le seul à utiliser cette interface, je peux te programmer une dll pour Jedicut, afin que tu puisses faire tes découpes.

Concernant la machine de xavier, nous exploitons le protocole HID en attanquant directement le port USB, d'où une efficacité largement supérieur aux solutions d'émulation du port série. Par contre ça demande plus de travail côté Jedicut, ainsi qu'au niveau du firmware de l'interface CNC. Mais pour ce dernier point, c'est Xavier qui bosse ;)

Tiens moi au courant si tu souhaites approfondir ta solution.

Re: Futurs évolutions de Jedicut - Qu'en pensez vous ?

Posté : jeu. déc. 28, 2006 5:38 pm
par xavtronic
Bonsoir,

Comme l'a mentionné Jérôme, je travail sur une carte compatible HID, donc reconnu directement sous tout les windows depuis le 98SE.
Il n'y a pas qu'une carte, mais une maitre et des esclaves... Donc c'est tout a fait imaginable de de faire ensuite une nouvelle interface RS-232 avec ce système (je le voulais le plus modulaire possible).
D'ailleurs les premiers testes on été fait avec une carte "maitre" sur port série.

Désolé pour ce petit HS.

A+
Xavier

Re: Futurs évolutions de Jedicut - Qu'en pensez vous ?

Posté : ven. déc. 29, 2006 12:52 pm
par thierry
bonjour,

Xavier:
effectivement ton projet est très ambitieux et modulaire.
J'ai hate de voir le résultat, et si jamais modestement je peux donner un coup de main n'hésite pas à me contacter directement. (pour mon info: utilises-tu un PIC16C765 ? )

Jerome:
mon idée était effectivement de faire une carte très simple qui accepte moteurs bipolaire/unipolaires compatible avec tout type de PC et si possible pas très chère...
Super sympa de me proposer d'héberger "ma" solution. je vais faire une carte proto et te tiens au courant. Pour l'instant j'hésite juste entre 2 ou 3 solutions techniques pour "driver" les moteurs:
pour l'instant ma préférée est à base de L298 (1 par moteur, 4 euros chez RS) avec un controle de courant par comparateur à hystérésis (non ce n'est pas un gros mot!) et un PIC surement un 18F2320... seul inconvenient du L298: il chauffe un peu pour les forts courants (à cause des seuils de 1.2V des transistors de sortie -> radiateurs) et il n'intègre pas les diodes de "roue libre"...

désolé aussi pour ces petits détails techniques un peu hors sujet et qui n'interressent pas forcément tout le monde.

Thierry

Re: Une carte CNC exploitant le port série

Posté : ven. déc. 29, 2006 1:57 pm
par Jerome
Bonjour,

Je viens de déplacer nos messages concernant la création d'une nouvelle machine CNC exploitant le port série. Nous étions hors sujet concernant les évolutions de Jedicut, mais nous n'avons plus de raison de ne pas parler technique ici ;)

Thierry, n'hésite pas à me contacter dès que tu as un début de résultat pour ta carte sur port série. Ensuite, lorsque ta carte sera testée et que Jedicut la pilotera, nous mettrons toutes ces infos à disposition des modélistes sur le site, si tu a envie de faire partager cet expérience.

Par contre ce n'est pas moi qui t'aiderai pour le choix des composants, je n'y connais pas grand chose ;)

Re: Une carte CNC exploitant le port série

Posté : ven. déc. 29, 2006 7:37 pm
par xavtronic
Hello,

Pour le PIC, j'utilise un 18F4550 qui intègre un module USB en hardware.
Sinon j'utilise une liaison I2C entre les esclave et le maitre. Peut-être serait-il intéressant de faire le meme principe pour ton module SERIAL, comme ca, les personnes auront le choix et surtout pas besoin de tour refaire lorsqu'ils passeront d'un "vieux" PC à un portable...
Et en plus si ce sont les mêmes donnée a envoyé aux cartes, ça ferra moins de travail pour Jérôme...

Voilà pour la proposition...

A+
Xavier

Re: Une carte CNC exploitant le port série

Posté : ven. déc. 29, 2006 10:58 pm
par Jerome
Bonsoir,

Si j'ai bien compris le principe, il faudra réaliser une dll pour Jedicut par machine CNC car vos machines n'exploitent pas le même port de communication : port série d'un côté (ou port USB en émulant un port série) et port USB de l'autre.

Je vous laisse bosser sur vos machines messieurs X(