E
erolhc
Guest
Bonjour
J'ai actuellement en chantier la réalisation d'un petit portique CNC en profilés alu 80*40 et rail prisamtiques à billes 15mm (usinage taile A3 sur Z=150mm). La partie mécanique a été réalisée (mais pas encore montée) sur ma BF20 CNC (maintenant démontée pour cause de déménagement provisoire en appartement) mais certaines pièces restent à finaliser (perçage surtout) sur une petite proxxon FF400 CNC aussi. Il reste quelques éléments mécaniques à acheter dont notamment les vis à billes.
Une présentation de cette petite machine viendra en temps et en heure j'espère avant la fin de l été.
Actuellement je planche sur l'électronique.
La machine est full servo AC.
La carte Breakeout est en fait une carte interpolatrice Pulsar de Axemotion capable de gérer 5 axes + broche, fonctionnant sous Galaad.
Le PC de commandes est basé sur carte mini ITX core duo et un écran de 8" tactile en 4:3 et formant un ensemble intégré dans un seul boitier qui reste à faire.
Après cette petite présentation j'en viens à ce qui m'amène dans cette rubrique électronique du forum.
Si la carte Pulsar est capable de gérer sans problème les drivers de servo comme si c'était des PAP (step/dir, enable, arret d'urgence, etc ..) je perds certaines possibilité que m'offrent les drivers dont principalement :
Pour gérer ces petites choses je vais donc utiliser une carte µ-C, certainement une arduino Mega2560 et affichage sur écran LCD (ou possibilité sur PC par l'USB mais bof).
Cette carte pourra aussi faire fonctionner la machine en mode manuel dans avoir à utiliser le PC car en fait j'ai remarqué que sur ma BF20
j'utilise beaucoup le mode manuel plutôt que de générer du G-code pour les pièce simples et/ou qui demandent de la précision (des fois je fais de la sur-qualité en m'amusant à viser le 1/100eme :D )
Reste le problème des changement de modes de fonctionnement (vitesse, position) sur les servos. Pour cela il faut passer par une reprogrammation des drivers qui se fait par liaison RS232. Cerise sur le gâteau cette liaison permet aussi de faire du monitoring quasi temps réel (surveillance du couple fourni, vitesse (mode tour ou broche), angle ou retard de pas par exemple, la surveillance de la position n'a que peu d’intérêt)
Deux cas s'offrent à moi.
Donc si je gère les ports série par la carte arduino et comme celle-ci n'en que deux il faut que j'en rajoute 4 autres ,je me contente que de la programmation des drivers et là un simple multiplexage à base de 74HC451/4052 suffit (programmation que d'un seul driver à la fois)
si je veux faire du monitoring je suis obligé de rajouter 4 ports serie minimum (en software trop de risque de louper des info et surtout de déconnecter les drivers) et là j'en arrive à la question qui justifie le post : comment faire ?
J'ai bien quelques 8250 qui trainent dans une boite mais bon c'est en parallèle et cela complique pas mal la programmation
Il existe la serie de max3100 qui dialogue en I2C avec le µC mais le prix des bestiaux et leur disponibilité....
Ou bien je prend un pic simple et je m'en sert comme UART
LE PIC 12F1822 semble remplir les conditions (un port série et un port I2C et tres peux cher) mais j'aimerais avoir une confirmation par un spécialiste car j'ai quand même un doute sur la dispo en même temps des deux ports. Sinon merci de m'indiquer un qui pourrais être utilisé (pas cher, dispo, peu de pins)
Faudra juste que je me replonge de la programmation des PIC.
Pardon pour ce long post pour une toute petite question mais cela vous permet de placer le contexte et à l'avantage aussi de poser clairement les options qui s'offrent à moi pour en choisir une définitivement car plus ça va plus je complique le truc et en définitive je n'avance pas.
J'ai actuellement en chantier la réalisation d'un petit portique CNC en profilés alu 80*40 et rail prisamtiques à billes 15mm (usinage taile A3 sur Z=150mm). La partie mécanique a été réalisée (mais pas encore montée) sur ma BF20 CNC (maintenant démontée pour cause de déménagement provisoire en appartement) mais certaines pièces restent à finaliser (perçage surtout) sur une petite proxxon FF400 CNC aussi. Il reste quelques éléments mécaniques à acheter dont notamment les vis à billes.
Une présentation de cette petite machine viendra en temps et en heure j'espère avant la fin de l été.
Actuellement je planche sur l'électronique.
La machine est full servo AC.
- X,Y,Z : 100W
- A : 100W devant un harmonic drive 100:1 pour indexation et un autre axe A équipé d'un servo 750W capable de travailler avec une réduction par poulie de 2:1 (mode tour) ou de 1:6 (mode indexation). Cette dernière version de l'axe sera plutôt destinée en final à ma BF20.
- B : 100W devant un harmonic drive 50:1 (pour cela la machine sera refaite je pense car je me tate encore comment seront placés les 4eme et 5eme axes et il faut bien que j'avance)
- Broche : servo de 750W.(travail classique en mode vitesse ou bien indexation pour faire du hobbing par exemple ou du taraudage : a voir je n'ai pas encore vraiment étudié la question car si la carte Pulsar fait de l'interpolation 3D, je ne sais encore comment Galaad gère ça).
La carte Breakeout est en fait une carte interpolatrice Pulsar de Axemotion capable de gérer 5 axes + broche, fonctionnant sous Galaad.
Le PC de commandes est basé sur carte mini ITX core duo et un écran de 8" tactile en 4:3 et formant un ensemble intégré dans un seul boitier qui reste à faire.
Après cette petite présentation j'en viens à ce qui m'amène dans cette rubrique électronique du forum.
Si la carte Pulsar est capable de gérer sans problème les drivers de servo comme si c'était des PAP (step/dir, enable, arret d'urgence, etc ..) je perds certaines possibilité que m'offrent les drivers dont principalement :
- la gestion des limites (plus rapide de traiter directement les limites par un driver de servo puis de le dire au logiciel FAO que de passer par la carte interpolatrice qui envoie l'info au logiciel/driver, ...),
- la gestion des éventuelles causes d'erreurs sur les servo,
- extinction des axes non utilisés,
- extinction des alim 24V (I/O servo) et alim 12V pour PC (mini PSU) et écran.
- arret d'urgence (plus évolué que sur carte breakout)
- etc, ...
Pour gérer ces petites choses je vais donc utiliser une carte µ-C, certainement une arduino Mega2560 et affichage sur écran LCD (ou possibilité sur PC par l'USB mais bof).
Cette carte pourra aussi faire fonctionner la machine en mode manuel dans avoir à utiliser le PC car en fait j'ai remarqué que sur ma BF20
j'utilise beaucoup le mode manuel plutôt que de générer du G-code pour les pièce simples et/ou qui demandent de la précision (des fois je fais de la sur-qualité en m'amusant à viser le 1/100eme :D )
Reste le problème des changement de modes de fonctionnement (vitesse, position) sur les servos. Pour cela il faut passer par une reprogrammation des drivers qui se fait par liaison RS232. Cerise sur le gâteau cette liaison permet aussi de faire du monitoring quasi temps réel (surveillance du couple fourni, vitesse (mode tour ou broche), angle ou retard de pas par exemple, la surveillance de la position n'a que peu d’intérêt)
Deux cas s'offrent à moi.
- J’achète une carte (mini PCI à environ 80€) qui rajoute 4 ports aux 2 RS232 déjà présents sur ma carte et je développe un petit programme. Problème : le PC doit tout le temps être allumé (si je veux faire du monitoring) ou faire une gestions des ports série par l'arduino.
- Je suis obligé de toute façon de faire un PCB pour mettre des driver de lignes 74HC174/175 pour traiter les signaux step/dir et les signaux quadratures de l'encodeur) pour bénéficier de la bande passante des drivers et garder l'immunité aux bruit (en open collector la bande passante est divisée par 2). De même pour récupérer les autres I/O des drivers pour les rediriger vers l'arduino/pulsar (6 prises HE10-26) et 5 prises RJ12 vers la pulsar.
Donc si je gère les ports série par la carte arduino et comme celle-ci n'en que deux il faut que j'en rajoute 4 autres ,je me contente que de la programmation des drivers et là un simple multiplexage à base de 74HC451/4052 suffit (programmation que d'un seul driver à la fois)
si je veux faire du monitoring je suis obligé de rajouter 4 ports serie minimum (en software trop de risque de louper des info et surtout de déconnecter les drivers) et là j'en arrive à la question qui justifie le post : comment faire ?
J'ai bien quelques 8250 qui trainent dans une boite mais bon c'est en parallèle et cela complique pas mal la programmation
Il existe la serie de max3100 qui dialogue en I2C avec le µC mais le prix des bestiaux et leur disponibilité....
Ou bien je prend un pic simple et je m'en sert comme UART
LE PIC 12F1822 semble remplir les conditions (un port série et un port I2C et tres peux cher) mais j'aimerais avoir une confirmation par un spécialiste car j'ai quand même un doute sur la dispo en même temps des deux ports. Sinon merci de m'indiquer un qui pourrais être utilisé (pas cher, dispo, peu de pins)
Faudra juste que je me replonge de la programmation des PIC.
Pardon pour ce long post pour une toute petite question mais cela vous permet de placer le contexte et à l'avantage aussi de poser clairement les options qui s'offrent à moi pour en choisir une définitivement car plus ça va plus je complique le truc et en définitive je n'avance pas.