port imprimante ou nouvelle solution ?

  • Auteur de la discussion moissan
  • Date de début
M

moissan

Compagnon
bonjour

depuis les premier PC le port imprimante est la seule solution pour utiliser toute la puissance du PC pour piloter des moteur pas a pas

les progrés en puissance du PC ne servent pas a grand chose ... et meme plutot a creer des probleme avec des windows vraiment pas bon pour le temps reel

conclusion il vaut mieux se contenter de vieux pc tant qu'il en reste ... chez moi ca va je stocke beaucoup , mais pour un projet de fabrication de machine il va falloir trouver plus serieux

on trouve des microcontroleur de plus en plus puissant , donc il me parait de plus en plus interresant de mettre un microcontroleur suffisant dans la carte de commande des moteur , et ne plus avoir besoin du PC en temps reel : le pc ne serait plus la que pour stocker les fichiers source , faire les calcul mathematique pour envoyer des ordres plus facile a executer par le microcontroleur de ma machine , mais des ordres envoyé avec un temps d'avance suffisante pour que la carte electronique puisse les executer en toute securité : meme si l'ordinateur se plante completement la carte saura comment faire pour arreter

j'ai un peu l'impression de vouloir reinventer les grosse commande numerique , mais peu importe , je butte sur le meme probleme pour 3 fonction : automate programable ... variateur de vitesse triphasé ... commande d'axe : je trouve les appareil du commerce trop cher , trop peu performant , trop difficile a programmer

plutot que de perdre mon temps a chercher et programmer des appareil trop cher , autant aprendre a programmer un micro controleur pouvant faire ces fonction , et maitriser tout mon matieriel

merci pour toute information sur le sujet
 
M

moissan

Compagnon
precision sur le projet

le pc envera des ordre a chaque microcontroleur dans le genre : ateind la cote xx,xx au temps xx,xx et avec une vitesse xx,xx et si l'ordre suivant n'arrive pas ou si il y a alarme , ateind la cote xx,xx au temps xx,xx a vitesse nule

les ordre ne sont donc pas executé immediatement au fur et a mesure que les pc les envoie , puisque chque ordre contient une date ... le pc peut donc envoyer un nombre suffisant d'ordre en avance , aux diferente carte d'axe pour ca marche bien meme si le pc ne les envoie pas regulierement

le fait que le pc envoie aussi des information sur la cote a ateindre en cas d'arret d'urgence est une autre securité : degager l'outil dans le bon sens

avec le systeme a port paralele le pc doit envoyer a cadence rapide les pas et les micro pas : avec des ordre plus evoluer le debit d'information est beaucoup plus faible , et le microlontroleur peut faire autant de micro pas qu'il faut sans charger le pc

le fait de donner non seulement la cote a ateindre a un temps donné mais aussi la vitesse a laquel il faut y arriver prepare l'enchainement fluide avec l'ordre suivant
 
E

erolhc

Guest
Bonjour

Il existe des cartes interpolatrices fonctionnant sur ports série/usb qui reçoivent des vecteurs (équivalent en gros à une instruction g-code x200 Y420 z -300 v150) en provenance d'un pc.
Ces cartes permettent de stocker environ 2000 vecteurs pour des couts abordables aux amateurs (<300€). Bien sur ce n'est pas l’équivalent d'un automate complétement indépendant d'un PC et elles ont besoin quand même de ce dernier mais celui ci n'a pas besoin d'être 'une bête de course.
Mais bon il faut accepter de passer outre Mach3.

Edit : un arrêt d'urgence est un arrêt d'urgence ... donc pas de dégagement de la tête dans un sens ou un autre sinon parler "d'interruption de cycle"
 
M

moissan

Compagnon
oui merci pour la precision sur l'arret d'urgence ... eviter de contredire les reglement de securité du genre l'arret d'urgence doit completement tout arreter meme si ca fait de la casse

je parle plutot d'arreter proprement : que le pc donne en permanence des information permettant a la carte de savoir comment elle doit arreter si il faut arreter

donc chez moi le bouton d'aret d'urgence obligatoire n'est a utiliser qu'en vrai cas d'urgence ... il y aura toujours un bouton arret plus propre , mais ce n'est que des detail ...

a tu des example de carte a conseiller ?

mais ce n'est pas exactement ce que je veux faire : si on lui donne des vecteur X Y Z c'est que la carte fait tout le travail d'interpolation ... mon but est plutot que chaque axe soit indepandant des autres

une carte doit donc ateindre la cote prevue au temps prevu , et eventuellemnt informer le pc de quelle marge de securité il reste sur le couple du moteur , pour que le pc puisse ralentir le cycle si il y a risque de ne pas suivre

si la carte n'est pas capable d'ateindre une cote au temps prevu , elle envoie imediatement un ordre d'arret a toutes les autre carte : si le pc a bien calculé et envoyé regulierement ces ordre a n'executer qu'en cas d'arret , la machine s'arrete en degagant l'outil dans le bon sens pour ne rien abimer
 
E

erolhc

Guest
Un arret d'urgence n'est pas obligé de tout arrêter mais l’intervention sur un bouton d'A.U. ne doit pas générer de danger supplémentaire. On peut programmer par exemple un arret des X et Y et une remontée de la tête si on est sur qu'une personne ne sera pas blessée par ce mouvement.ou bien on évite de couper les énergies si dans le cas contraire cela aggraverait la gravité (broche de fraiseuse qui descend sous son propre poids, ...)
Fin du HS

Exemples de cartes dont je parlais : iprocam, soprolec, axemotion, ...

Les axes sont forcément indépendants.
Pour ce qui est du temps prévu ... c'est le driver moteur qui gère ça si il a un retour d'info, généralement un servo moteur avec un encodeur, et donc c'est facile de relayer l'info ("défaut driver")
Sinon cela peux se faire avec des règles de mesure sur les axes qui renvoient l'info mais cela complique le traitement.

Par contre tu peux difficilement demander à une carte de faire un mouvement automatique en cas de défaut qui s'applique à tout les cas à moins d'avoir une machine super évoluée multi-axes motorisés (car si tu as mis ta broche manuellement à l'horizontale ou même qu'à 45° et que la procédure demande une remontée du Z il va y avoir un problème si la fraise est engagée dans la pièce ...) et sous réserve que l'axe en défaut ne va pas aller à l'encontre de ce mouvement automatique. Il faut prévoir tout les cas possibles ....
Bref à chaque pièce tu es obligé de de dire quel mouvement auto il faut que la machine fasse sous peine de grosse surprise. A mon avis vaut mieux un simple arrêt (c'est ce que j'ai fait sur ma machine)
 
M

moissan

Compagnon
je te remercie pour les 3 liens precedent ... ne connaissant pas du tous le materiel actuel je ne les aurait jamais trouvé tout seul
ca permet de trouver ca
http://axemotion.com/product_info.php?cPath=1&products_id=61
qui permetra de faire durer les solution passant par le port paralele

ces carte contiennent un processeur arm 32bit de puissance interressante : si il y avait moyen de les programmer entierement au lieu d'utiliser uniquement le firmware fournis , le materiel dont j'ai besoin serait presque tout fait

je suis bien d'accord que le microcontroleur ne peut pas deviner ce qu'il faut faire pour assurer la securité : c'est pour cela que c'est le logiciel du PC qui doit le faire , et ca risque meme de demander des information supplementaire a celui qui concoit la piece a faire

avec mon projet de faire le programme principal danns le pc je pourai faire ce que je veux et j'ai l'inpression que cette facon de preparer ces ordre de secour est originale
 
Dernière édition par un modérateur:
M

Marc PELTIER

Compagnon
Un post pertinent! En effet, la question de systèmes autonomes non-PC, affranchis des temps de latence et des problèmes temps réel, se pose.

Il y a la carte R2C2, qui est capable de recevoir du G-Code (via USB ou carte SD), et de piloter quatre axes pas-à-pas + 2 canaux PWM + 3 fins de course (conçue pour les imprimantes 3D, mais adaptables à toute CNC)
http://www.3dprinting-r2c2.com/?q=node

Il y a aussi le très prometteur Raspberry Pi, un système Linux monocarte à $25, qui pourrait tourner EMC2, si quelqu'un se décide à adapter le noyau temps réel au processeur utilisé (ARM).
http://www.raspberrypi.org/
 
Dernière édition par un modérateur:
C

coredump

Compagnon
Il ne faut pas oublier les cartes FPGA mesa utilisées sous EMC2, nettement plus puissantes qu'une carte microcontrolleur et surtout qui ont déja un historique de fiabilité et de support. ca utilise un port pci, que l'on trouve facilement.
Le meilleur choix aujourd'hui pour EMC2 c'est une carte mini-itx atom, excellente latence, un port parallele sur la carte et la possibilité d'en mettre deux de plus sur le port PCI ou une carte mesa.
En plus elle est toute petite (17x17cm).
 
M

Marc PELTIER

Compagnon
@coredump
As-tu une expérience effective de ces cartes Mini-ITX Atom? Quel temps de latence obtiens-tu?

Il y a un noyau linux temps-réel spécifique pour le processeur Atom, ou bien se fie-t-on à sa compatibilité?

Merci d'avance!
 
C

coredump

Compagnon
Ca tourne autour de 10000ns (10us), c'est plutôt bon.
Pas besoin de noyau spécifique, celui de la distrib linuxcnc.org est suffisant, il faut juste optimiser en cas de board dual-core: virer l'hyperthreading, assigner un coeur au noyau temps réel et l'autre a linux. Tout est sur le wiki de linuxcnc.org.

La petite dernière (pas testé sur cet atom spécifiquement): http://www.materiel.net/carte-mere-mini-itx/intel-d2500hn-76655.html
Celle que j'ai: http://www.materiel.net/carte-mere-mini-itx/gigabyte-ga-d525t-ud-59558.html
 
Dernière édition par un modérateur:
M

moissan

Compagnon
une carte mini atx ? ca revient a refaire un pc pour la machine

http://axemotion.com/product_info.php?cPath=1&products_id=61
cet 'adaptateur le boitier USB paralele a microcontroleur ARM32 me donne une solution , mais il ne marche qu'avec galaad ... ce n'est pas que je refuse de payer un logiciel , mais c'est tellement mieux avec des logiciel libre que l'on peut comprendre et modifier

tant qu'a refaire un pc avec une carte mini atx , je prefere utiliser un vieux pc entier qui ne peut plus servir en bureautique : monté definitivement dans l'armoire de la machine

et ca me donne une autre idée : est il possible de partager le travail : le vieux pc ne fait que la commande des moteur pas a pas et l'automatisme de la machine : aucun gadget et dialogue homme machine : tout le dialogue homme machine se fait en passant par un autre pc

on pourait ainsi cumuler une grande ergomie des commande , des possibilité de modification de programe ou de reglage de parametre pendant l'execution , sans perturber le vieux pc qui ne fait que le temps reel avec des ordre bien preparé par l'autre pc

EMC2 est il la bonne base pour faire cela ?

une carte mini atx ne coute pas tres cher , mais il faut des memoire , et un disque dur neuf , car ce n'est plus complatible avec tous les vieux pc que j'ai ... utiliser un vieux PC est completement gratuit ... acheter des nouvelle carte mere sera la solution quand j'aurai epuisé mon stock de vieux PC

je viens de voir ton nouveau message : merci pour l'adresse linuxcnc.org
 
Dernière édition par un modérateur:
C

coredump

Compagnon
Oui techniquement c'est possible de piloter le pc de la machine a partir d'un autre pc.
La solution la plus simple s'appelle VNC (bureau a distance) ou via le serveur X.
 
M

moissan

Compagnon
j'espere qu'il y a mieux a faire que de passer par VNC ... mon but est plutot de partager EMC2 en 2 partie

merci cette discusion m'a permis de savoir par quel logiciel il faut que je commence , et me donne une bonne raison de revenir a linux que j'avais un peu laissé de coté

j'hesitait entre rester sur windows pour rester compatible avec tous le monde , pour vendre plus facilement , ou passer a linux avec le risque d'etre isolé

finalement c'est le contraire avec windows on se retrouve bloquée dans galaad , avec linux , toute liberté de choix de materiel ... plein d'information sur le net

a bientot quand j'aurai apris a me servir de EMC2
 
N

nopxor

Compagnon
Bonjour,

Pour des raisons de facilité d'installation, EMC2 est souvent installé sous forme de fichiers "binaires"(exécutables) avec la dernière distribution Ubuntu.

C'est la solution clef en main habituelle,mais elle n'a pas que des avantages:
Elle facilite grandement l'installation de la distribution Debian, mais on peut se demander si Ubuntu version 10.04, n'est pas trop luxueux et gourmand en ressources pour contrôler une machine outil.

Un PC qui doit gérer des connexions internet, la WIFI, des ports USB, du multimedia n'est pas vraiment adapté.

Visualiser en 3D le parcours de l'outil à l'écran pendant l'usinage en temps réel est très spectaculaire, mais cela a un coût en terme de latence.

Autant utiliser une telle application en post-processing sur la machine de devellopement qui sert à la modelisation des pièces.

Il est tout à fait possible de faire tourner EMC2 precompilé sur un PC "ancien" avec Ubuntu Dapper Drake 6.06.

Mais tant qu'à faire pourquoi ne pas lui dédier une distribution sur mesure de type Gentoo ?
Cette distribution permet de tirer parti au mieux de l'architecture de la machine.
C'est certainement moins facile à installer mais cohérent et très performant.
http://fr.wikipedia.org/wiki/Gentoo_Linux
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?EmcOnGentoo

2 liens incontournables:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Hardware_Requirements
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?EMC2_Supported_Hardware
 
Dernière édition par un modérateur:
M

moissan

Compagnon
merci de me faire decouvrir gentoo ! ... il a l'air portable sur de nombreuse machine , y compris les ARM : il serait bien de l'installer sur un carte a microcontroleur specialisé CNC ... encore une solution de plus quand on aura epuisé les stock de vieux pc

nopxor a dit:
Visualiser en 3D le parcours de l'outil à l'écran pendant l'usinage en temps réel est très spectaculaire, mais cela a un coût en terme de latence.

exactement ! je ne veux surtout pas encombrer le pc qui commande les moteur par de la visualisation

c'est l'autre pc qui fera toutes les visualisation possible

reste a choisir le moyen de liaison entre les 2 PC : ma preference va a ethernet : carte ethernet disponible meme pour les tres vieux
 
C

coredump

Compagnon
Au fait si c'est un vieux PC (un vrai, pas un portable), pourquoi ne pas prendre une carte port LPT supplémentaire? Il en existe avec deux ports, ce qui est pratique et évite de flinguer la carte mere en cas de fausse manip.
Il faut éviter les cartes a base de chipset Netmos (les plus courantes) car elles ne sont pas vraiment EPP/ECP.
 
M

moissan

Compagnon
je ne me fait pas de soucis pour la fiabilité du port parallele ... certaine carte de commande de moteur pas a pas on des optocoupleur ... je trouve cela pas tres fiable et guere plus sur que la liaison directe

pour bricoler sans risque je vais plutot faire une carte intermediaire avec un buffer sur chaque ligne du port paralele : donc qui servira de fusible pour proteger le pc
 

Sujets similaires

B
Réponses
18
Affichages
551
Bambi
B
HenriIV
Réponses
10
Affichages
1 267
Doctor_itchy
D
Dudulle
Général langage MMBASIC
Réponses
8
Affichages
827
Dudulle
Dudulle
P
Réponses
29
Affichages
1 441
Doctor_itchy
D
PUSSY
Réponses
0
Affichages
775
PUSSY
PUSSY
MECAJACK
Réponses
5
Affichages
752
MECAJACK
MECAJACK
J
Réponses
17
Affichages
1 382
Snoopile
S
Haut