« Reparation CharlyRobot » : différence entre les versions

De Kernel Fablab Lannion
mAucun résumé des modifications
Ligne 33 : Ligne 33 :
Dimension de la zone de travail 515*515mm '''MIN_LIMIT'''&'''MAX_LIMIT'''
Dimension de la zone de travail 515*515mm '''MIN_LIMIT'''&'''MAX_LIMIT'''


==IO==
==IO et linuxcnc sur PC ==
Linuxcnc permet l'utilisation des pins du port // et série pour transmettre ou recevoir des informations.
Linuxcnc permet l'utilisation des pins du port // et série pour transmettre ou recevoir des informations.


Ligne 74 : Ligne 74 :


== Remise en route ==
== Remise en route ==
La carte pour 2 axes est réalisée.
<s>La carte pour 2 axes est réalisée.</s>
Le debuggage peut commencer, ainsi que la mise au point de linuxcnc
<s>Le debuggage peut commencer, ainsi que la mise au point de linuxcnc</s>
 
La charly fonctionne sur 3 axes. PAr contre l'utilisation du module encoder limite fortement les vitesse de deplacement de la machine. Le PC ne supporte pas la fréquence d'interruption nécessaire pour voir tous les fronts des encodeurs, ce qui genere des erreur de jointure.
 
La solution que l'on souhaite mettre en oeuvre est l'utilisation d'un beagle bone. (cf § dedié)


=== A FAIRE ===
=== A FAIRE ===
* sur tous les axes : RJ45 blindés à sertir sur les câbles signaux (+5V;0V,a,b,abar,bbar,fc+,fc-), j'ai la pince, mais pas les embouts.
<s>* sur tous les axes : RJ45 blindés à sertir sur les câbles signaux (+5V;0V,a,b,abar,bbar,fc+,fc-), j'ai la pince, mais pas les embouts.</s>
* chassis (IPN) car les tables actuelles ne sont pas assez costaud.
* chassis (IPN) car les tables actuelles ne sont pas assez costaud.
*fichiers de test : [[:File:logo-coube.ngc.zip]] [[:File:logoSeul.ngc.zip]]
<s>* fichiers de test :</s> [[:File:logo-coube.ngc.zip]] [[:File:logoSeul.ngc.zip]]
* calcul avance et vitesse de rotation [[:File:calcul-cnc.xls]]
<s>* calcul avance et vitesse de rotation</s> [[:File:calcul-cnc.xls]]


=== Amelioration===
=== Amelioration===
* utilisation abar,bbar,fc
* utilisation abar,bbar,<s>fc</s>
* ajout d'optocoupleur entre les port // et les drivers
* ajout d'optocoupleur entre les port // et les drivers
* régulation du ventillo (PWM) des alim
* régulation du ventillo (PWM) des alim
* sortir du 5v des alims
* sortir du 5v des alims
* realisation pcb/connecteur pour avoir un connectique sur les alim plus propre
* realisation pcb/connecteur pour avoir un connectique sur les alim plus propre
* réalisation d'un palpeur d'outil




Ligne 104 : Ligne 109 :
l'avancée est 2 fois plus rapide en 24V qu'en 12V.... ça parait logique !
l'avancée est 2 fois plus rapide en 24V qu'en 12V.... ça parait logique !
===contrôle moteur===
===contrôle moteur===
* achat 2 * [[:File:CD00002345.pdf | L6205]]. reçu
<s>* achat 2 * [[:File:CD00002345.pdf | L6205]]. reçu</s>
* montage électronique de mise en œuvre à faire : fait pour 2 axes
<s>* montage électronique de mise en œuvre à faire : fait pour 2 axes</s>
* ajout optocouleurs (optionnel dans un premier temps ?)
* ajout optocouleurs (optionnel dans un premier temps ?)
* pour l'utilisation du port serie Linuxcnc, il faudra prévoir une adaptation des tensions. Les circuits max232 seront utilisés. >> on utilise finalement 2 ports // : merci David
<s>* pour l'utilisation du port serie Linuxcnc, il faudra prévoir une adaptation des tensions. Les circuits max232 seront utilisés. >></s> on utilise finalement 2 ports // : merci David


===Linuxcnc===
===Linuxcnc===
* écriture de la conf. encours
<s>* écriture de la conf. encours</s>
** ébauche faite pour la gestion de 3 axes.  [[:File:CharlyRobot-servo.tar | tar]]  à décompresser dans linuxcnc/configs [[:File:CharlyRobot-servo-pwgenupdown.zip|maj .hal]] : changement mode pwmgen
<s>** ébauche faite pour la gestion de 3 axes.  [[:File:CharlyRobot-servo.tar | tar]]  à décompresser dans linuxcnc/configs [[:File:CharlyRobot-servo-pwgenupdown.zip|maj .hal]] : changement mode pwmgen</s>
** tester le port parallèle du pc pour avoir l'adresse et savoir si pin à collecteur ouvert.[[:File:parallele_check.txt | instructions]]
<s>** tester le port parallèle du pc pour avoir l'adresse et savoir si pin à collecteur ouvert.[[:File:parallele_check.txt | instructions]<s>]
** pins du port parallèle à revoir fonction du résultat (fichier .hal)
<s>** pins du port parallèle à revoir fonction du résultat (fichier .hal)</s>
** .tbl à revoir fonction des (futures) fraises utilisées
** .tbl à revoir fonction des (futures) fraises utilisées



Version du 14 août 2014 à 10:43

Moteurs

grandeurs nécessaires pour la configuration de LinuxCNC :

voltage 65 48 24 12
tours/min 3000 2215 1108 554
tours/s 50 37 18 9
MAX_VELOCITY mm/s* 250 185 92 46
MAX_VELOCITY mm/min* 15000 11100 5550 2775
MAX_ACCELERATIONmm/s²** 3750 2769 1385 6925
BASE_THREAD_PERIODns*** 20 000 27 000 55 000 110 000

*x et y vis au pas de 5mm et Z au pas de 2,5mm

** Accélération ??? 15 "fois" la vitesse ??? : a determiner empiriquement

*** Basé sur la période d'une impulsion (quadrature donc /4 )

Encodeur 1000 imp/tr(en quadrature donc *4) soit 800 imp/mm (INPUT_SCALE) pour X et Y et 1600 imp/mm (INPUT_SCALE) pour Z

et donc 1 impulsion = 0,00125mm ou 1,25µm pour les axes X et Y et 0,625µm pour les Z.


Dimension de la zone de travail 515*515mm MIN_LIMIT&MAX_LIMIT

IO et linuxcnc sur PC

Linuxcnc permet l'utilisation des pins du port // et série pour transmettre ou recevoir des informations.

la réparation pins in et out n'est pas libre :

  • port // :
  • 5 (n°10,11,12,13,15) in et 12 out en mode ou
  • 13 in et 4(n°1,14,16,17) out en mode in
  • port série:
  • 4 in et 3 out (n°3,4,7)

besoins

3 moteurs avec pour chaque moteur 3 signaux de commande (up/down/enable) et à minima 3 signaux de contrôle (encodeur a/b et fin de course fc). Pour accroitre la robustesse, il faudrait aussi utiliser les signaux de controle abar et bbar, voir z et zbar.

soit 9 in et 9 out.

utilisation de 2 ports paralleles :

Port 1 (out) // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18-25
signal en X up X down X en Y up Y down Y (en A) (up A) (down A) - - - - en Z - up Z down Z GND
Port 2(in) // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18-25
signal - aX bX - - aY bY - - aZ bZ - - - - - - GND

développement sous kicad

projet File:Charly2.zip >> split des ponts (2 cartes à faire) et de la connectique (2 port // & 3 RJ45)

+ lib st File:st-lib-comp.zip

File:back.ngc.zip >> pour test fraisage pcb : Pas de fraiseuse dispo donc réalisation en chimique à partir du projet Kicad ci-dessus : quelqu'un de motivé ?

Remise en route

La carte pour 2 axes est réalisée. Le debuggage peut commencer, ainsi que la mise au point de linuxcnc

La charly fonctionne sur 3 axes. PAr contre l'utilisation du module encoder limite fortement les vitesse de deplacement de la machine. Le PC ne supporte pas la fréquence d'interruption nécessaire pour voir tous les fronts des encodeurs, ce qui genere des erreur de jointure.

La solution que l'on souhaite mettre en oeuvre est l'utilisation d'un beagle bone. (cf § dedié)

A FAIRE

* sur tous les axes : RJ45 blindés à sertir sur les câbles signaux (+5V;0V,a,b,abar,bbar,fc+,fc-), j'ai la pince, mais pas les embouts.

  • chassis (IPN) car les tables actuelles ne sont pas assez costaud.

* fichiers de test : File:logo-coube.ngc.zip File:logoSeul.ngc.zip * calcul avance et vitesse de rotation File:calcul-cnc.xls

Amelioration

  • utilisation abar,bbar,fc
  • ajout d'optocoupleur entre les port // et les drivers
  • régulation du ventillo (PWM) des alim
  • sortir du 5v des alims
  • realisation pcb/connecteur pour avoir un connectique sur les alim plus propre
  • réalisation d'un palpeur d'outil


Alimentation

utilisation de plusieurs alimentations montées en série.

le 24V est dispo

à voir pour du 36V et 48V. >>> implique un réajustement des paramètres PID et vitesse /acceleration sur linuxcnc


Moteurs

testés avec les alims ci-dessus. Tous les moteurs sont OK. l'avancée est 2 fois plus rapide en 24V qu'en 12V.... ça parait logique !

contrôle moteur

* achat 2 * L6205. reçu * montage électronique de mise en œuvre à faire : fait pour 2 axes

  • ajout optocouleurs (optionnel dans un premier temps ?)

* pour l'utilisation du port serie Linuxcnc, il faudra prévoir une adaptation des tensions. Les circuits max232 seront utilisés. >> on utilise finalement 2 ports // : merci David

Linuxcnc

* écriture de la conf. encours ** ébauche faite pour la gestion de 3 axes. tar à décompresser dans linuxcnc/configs maj .hal : changement mode pwmgen ** tester le port parallèle du pc pour avoir l'adresse et savoir si pin à collecteur ouvert.[[:File:parallele_check.txt | instructions]] ** pins du port parallèle à revoir fonction du résultat (fichier .hal)

    • .tbl à revoir fonction des (futures) fraises utilisées

cablage de la doc

Pin Couleur coté moteur Couleur coté electr Cable RJ45 Fonction
?? noir épais ???
masse bleu épais masse
1 rouge épais +moteur
2 noir épais -moteur
3 noir fin marron(8) contact FC
4 Non utilisé NA NA
5 noir/rouge fin Blanc épais Gris (1) Masse TTL codeur + blindage
6 Non utilisé NA NA
7 jaune blanc fin marron(8) Contact FC
8 rouge marron épais blanc (2) +5 codeur
9 Non utilisé NA NA
10 noir/bleu fin rose jaune (5) Codeur A_
11 jaune/noir vert bleu (6) Codeur B_
12 bleu fin gris vert (3) Codeur A
13 jaune fin marron orange (4) Codeur B
14 blanc orange jaune violet(7) Commun contacts FC

cablage Axe Y

Pin Couleur coté moteur Couleur coté electr Cable RJ45 Fonction
13 Jaune fin Codeur B
11 Noir Jaune Codeur B
12 Bleu Codeur A
10 Bleu noir Codeur A
NA Vert Codeur Z
NA Vert noir Codeur Z
8 Rouge fin codeur Moteur
5 Rouge Noir Masse codeur Moteur
Masse Gros Bleu Masse Terre
3 Noir moyen Contact FC Y1
7 jaune moyen Contact FC Y2
14 blanc orange moyen Commun Fin de Course
12 bleu fin Codeur A
2 Gros noir Masse
1 Gros Rouge Alim +5

La charly robot reprend vie

http://www.dailymotion.com/video/x160zd2_charlyrobot-pilotage-de-l-axe-y-first-step_tech

http://www.dailymotion.com/video/x16fltu_charly-robot-axes-x-y-ok_tech

http://www.dailymotion.com/video/x19u453_fablab-lannion-la-charlyrobot-est-fonctionnelle-3-axes_tech