La coupable

Si vous reconnaissez la photo de la carte ci dessous, pou l'avoir vue sur la page des description sur Ebay de la superbe carte que vous vous apprêtiez à acheter, alors lisez bien l'article ci dessous avant de dégainer votre CB, sous peine de mauvaises surprises....

Et si vous l'avez achetée, alors faites chauffer le fer a souder car va faire des travaux pratiques :)

tb6560_4axis.jpg

Le problème

Sur CNCZone, le sujet "How I fixed my Chinese TB6560 controller" fourmille d'informations.

De nombreux internautes ont en effet constaté comme moi le phénomène de perte de pas, matérialisé par un bruit irrégulier sur les moteurs, et un décrochage à des vitesses auxquelles le moteur aurait du normalement fonctionner.

A ce jour (octobre 2010), le thread démarré en aout 2010 fait 6 pages... Il il faut malheureusement les lire pour bien comprendre ce qui se passe. Il y a aussi plusieurs corrections des schémas tout au log du thread, et une solution simple de modification à la fin.

Tout d'abord, toutes les cartes sont impactées; Une usine chinoise a apparemment fait une grosse cadence de production et a inondé le marché de carte certes peu chères, mais qui ne marchent pas; Doc ridicule, schéma inexistant, il y a du travail. Il semblerait également qu'il y ait plusieurs versions. Je m'attache ici aux modifications de la version N des modèles TB3 / TB4 / TB5. La version de la carte ne semble pas marquée sur le circuit imprimé, mais la version N semble plus courante actuellement.

Plusieurs contributeurs ont travaillé d'arrache-pied pour relever les schémas de la carte. Ils ont ensuite revérifié la conception de la carte à l'aide du principal outil : le datasheet du TB6560.

En fait, il y a 2 gros problèmes sur cette carte :

  • Un étage, visant à minimiser le courant aux basses vitesses ne marche pas
  • Le signal "step" de chaque canal est mal conditionné.
    • La sortie de l'optocoupleur d'isolation du port parallèle est directement câblée à l'entrée step de chaque TB6560.
    • Le signal s'effondre, ca l'opto est insufisamment chargé
    • De plus le signal est mal polarisé (il est inversé...).

Et il y en a 3 de plus, moins graves :

  • Pb de masses, qui ne sont pas isolées entre la partie port parallèle (avant opto coupleurs) et la partie puissance.
  • Potentialité de surchauffe du régulateur 12V, dont le petit radiateur fait un peu pitié...
  • Erreur sur la tension max de fonctionnement. La fiche technique de la carte (fausse) dit 36V max... la datasheet dit 34V max...

Solutions :

Il est à noter que si certaines de ces solutions sont aisément réalisables sans grosses compétences en électronique, les autre nécessitent de couper des pistes et d'implanter un nouveau composant sur le circuit imprimé. Ces modifications nécessitent un minimum de compétences en électronique.

Nous allons tout d'abord commencer par les problèmes qui sont faciles à régler (ou ne se règlent pas) puis voir les autres.

Tension de fonctionnement

Les moteurs étant pilotés en courant, il ne sert pas à grand chose d'alimenter la carte à la tension max. De plus, le faible cout des alimentations à découpage 24V, ou des alimentations de portables en 19V fait qu'il est plus sage d'alimenter la carte à ces tensions. Outre le fait d'éloigner substantiellement la tensions de fonctionnement de la tension max, ceci aura aussi pour effet de minimiser le problème de surchauffe du régulateur 12V, qui n'aura plus que 12V à chuter au lieu de 22 si la carte était alimentée à 34V (tension max du contrôleur), voir encore moins en 19V... A noter également que la doc et la fiche technique indiquent une tension mini de 12V, ce qui sera insuffisant pour faire du 12V sur la carte avec la régulateur 7812 embarqué sur la carte. On devrait donc lire 15V à 34V comme tension de fonctionnement...

Potentialité de surchauffe du régulateur 12V

Le régulateur 12V est assez chaud en fonctionnement. Il est possible d'agir de plusieurs façon différentes. Si vous n'envisagez d'utiliser la carte qu'à 1/4, ou 1/2 du courant max (soit 0,83 A ou 1.66 A) pas de pb. Il suffit de déconnecter le ventilateur qui refroidit le radiateur des TB6560. Ceux ci ne chauffant absolument pas avec ce courant, pas de soucis. L'alimentation dudit ventilateur étant prélevée sur le 12V, ce sera autant de courant en moins à fournir sur le 12V et peut être suffisant pour abaisser sa température de fonctionnement.

A 3/4 ou 1 du courant nominal (soit 2.5A ou 3.33A), le ventilateur sur le radiateur des TB6560 est nécessaire. Vous pouvez soit :

  • Le ré-alimenter avec un autre régulateur 12V à partir du 24V. L'effet sera le même que précédemment, la charge n'étant plus prélevée sur le régulateur interne, permettra d'en faire chuter la température.
  • Le déconnecter et lors de la mise en boitier de la carte, la faire baigner dans un flux d'air produit par un gros ventilateur, idéalement au dessus des TB6560. Si son flux peut aussi arroser les 2 radiateurs des régulateurs 5V et 12V c'est parfait... Triple bénéfice sur cette solution puisque le 12V interne se retrouve amputé du courant du ventilateur interne et la ventilation est restaurée, et permet de refroidir les 3 éléments. C'est personnellement la solution que j'ai choisie. Vous pouvez même reconnecter le ventilateur interne sur la nouvelle alimentation 12V que vous avez réalisée.

Problème de masse sur la carte

Malheureusement, la masse a été routée en partie au dessus et en partie en dessous sur le circuit imprimé. Il n'avère impossible de modifier la carte pour séparer les masses avant et après opto... Il n'y a donc pas de solution et les optocoupleurs s'avèrent partiellement inutiles puisque la protection n'est pas totale. J'ai personnellement utilisé une carte PCI fournissant un port parallèle additionnel sur le portable qui me sert à piloter cette carte sur EMC2. Ainsi en cas de problème, c'est la carte qui dégage et non la carte mère du portable. La carte est à choisir avec soin de façon à ce qu'elle soit compatible avec un port parallèle 'normal', ce qui n'est pas le cas de toutes les cartes PCI. Mais cela fera l'objet d'un autre article sur ce blog...

Suppression de l'étage de manipulation du courant aux basses vitesses

reperes.jpgCiquez sur l'image pour l'agrandir.

Cette partie est assez facile puisqu'il suffit de dessouder les 4 résistances CMS (les garder, on s'en servira plus tard...) matérialisées sur la photo ci dessus par le repère A.

Pour les dessouder, prendre une pince brucelles, attraper le composant et chauffer délicatement et successivement les 2 pattes de la résistance en appliquant une légère traction sur la pince brucelles de façon à 'casser' le point de colle (généralement rouge) maintenant la résistance sur le CI.

Ne pas trop chauffer pour ne pas endommager le circuit imprimé ou la résistance elle même.

La portion de schéma incriminée sera isolée après dessoudage des résistances.

Reconditionnement du signal STEP

Slide10ver3.jpgC'est cette dernière modification qui s'avère à la fois la plus complexe à réaliser pour un non électronicien, et la plus spectaculaire sur le fonctionnement de la carte.

Pour l'implémenter, il va nous falloir un 74HC14, un condensateur de découplage de 10n, 2 résistances de 10K (en fait il en faut 6, mais nous en avons récupérées 4 dans la modification précédente...), du fil (idéalement à wrapper, car il est tout petit), un cutter, de la patience et de la minutie.

Voici le schéma de la modification (cliquer pour le voir en grand). En bas, on voit la déconnexion (en rouge) de l'étage de bidouillage du courant, que nous avons réalisée juste avant. Le schéma contient une erreur, car il matérialise une coupure du circuit alors que nous avons tout simplement déconnecté la résistance à droite de la coupure, beaucoup plus simple à réaliser.

Dans la partie supérieure du schéma, on voit notamment la résistance de 10K supplémentaire (que nous allons récupérer des résistances précédemment dessoudées), le buffer inverseur trigger de Schmitt 74HC14 qui permettent de reconditionner le signal STEP / CLK.

A noter qu'au début du thread du forum, ce n'est pas 1 mais 2 inverseurs que l'auteur a mis en place, avant de se rendre compte que le signal était inversé et qu'un seul suffisait pour corriger l'erreur. Le schéma ci dessous montre le câblage du 74HC14 tel qu'il doit être réalisé. CNC_Controller_buffer_board_schematic_ver_2.jpg

chineseFix.jpgLa mise en œuvre nécessite un petit coup de main, comme en témoigne l'image ci compte (cliquer pour agrandir)

Il nous faut tout d'abord récupérer les résistances précédemment dessoudées, et les ressouder sur le repère A, entre la pinoche de l'optocoupleur et la piste à gauche, après avoir légèrement décapé et étamé cette piste de gauche pour révéler le point d'accrochage de la soudure. Ceci est à faire sur les 4 axes.

Ensuite, il faut couper (repère B) le signal Step de chaque axe avant d'insérer le buffer. L'endroit exact de la coupure peut être sur le repère B de la photo ci compte ou plus clairement sur celle déjà vue dans le paragraphe "Suppression de l'étage de manipulation du courant aux basses vitesses".

Pour ce faire, inciser la piste à 2 endroits (à 2 mm de distance) à gauche de la traversée à l'aide d'un cutter.

Décaper (à l'aide de la pointe du cutter) le tronçon de piste ainsi isolé, et l'étamer.

Puis à l'aide du fer à souder, le chauffer de façon à le décoller de l'époxy. Faire bien attention à ne prendre que ce tronçon avec le fer à souder, au risque de ne pas décoller que ce tronçon et d'endommager d'autres parties du CI. C'est l'opération la plus sensible.

Une fois le tronçon enlevé, nous avons 2 points de fixation pour sortir les fils sans endommager le CI. La pastille du bas de la résistance que nous avons dessoudé précédemment s'avère un bon point d'accrochage pour le signal qui va aller vers l'entrée de notre buffer (fil vert), tandis que la traversée à droite de notre coupure fera le point de réinjections du signal après bufferisation (fil jaune).

Ne pas oublier de mettre les résistances de tirage au +5V sur les entrées inutilisées, et le condensateur de filtrage de l'alimentation.

L'alimentation +5V (fil rouge) et GND (fil noir) peuvent être prélevées à plusieurs endroits sur la carte. Ne pas se tromper avec le +12, le circuit n'y survivrait pas...

Tests

Après modification, la carte change de comportement de façon spectaculaire. Les bruits aléatoires constatés avant modification (perte de pas) disparaissent, et les moteurs tournent régulièrement quelle que soit la vitesse ou le courant (bien sur dans la limite des caractéristiques des moteurs...).

Conclusions

Je suis mitigé sur la conclusion de cette expérience.

Là ou je suis perplexe, c'est sur le comportement des vendeurs sur Ebay. Je ne sais pas si ils ont conscience d'avoir acheté un lot merdique, ou si ils sont simplement ignares, mais c'est assez spectaculaire en matière de non-communication. Tout ceux qui ont tenté de contacter les vendeurs se sont vu confrontés à une fin de non recevoir. Mais la responsabilité principale semble être imputable à http://www.hyu68.com qui d'après le circuit imprimé est le créateur de la carte. Il s'agit de la société "Dongguan Hangyu Numerical Control Automatic Equiment Co Ltd".

Bien sûr, le site est en chinois, et le lien de traduction anglaise ne fonctionne que sur une toute petite partie des produits, et pas la carte qui nous intéresse.

C'est sur la page http://www.hyu68.com/cp8.htm que l'on voit les cartes, notamment en bas, avec leurs références d'origine. Je retrouve bien la mienne, et le visuel montre que :

  • Le problème de bufferisation du signal Clock n'a pas été réglé, sinon, il y aurai un circuit 14 broches de plus sur la photo (les 2 buffers 74HC14 sont déjà complètement exploités...)
  • Il n'y a pas de ventilateur sur la photo
  • L'erreur sur les tensions d'alimentation est toujours présente
  • Par contre, la fiche technique précise un courant de 3A nominal pour 3.5A crête. Pourquoi dans ce cas les résistances de charge sur la photo (les grosses à droite) sont de 0,15 ohms? En effet, d'après le datasheet du TB6560, le courant max serait donc de IOUT (A) = 0.5 (V) / RNF (Ω) = 3.33 Amps = 0.5V / 0.15 ohms ... On est donc de 330 Ma supérieur de la limite supérieure recommandée dans la fiche produit... Un mystère.

Chose surprenante, une nouvelle carte vient d'apparaitre (http://www.hyu68.com/HY-TB4DV-N.htm) et elle semble avoir une structure très différente :

  • Beaucoup de composants CMS, dont semble il 4 buffers, ce qui semblerait suffisant pour intégrer les modifications décrites
  • Nouveau circuit imprimé... Les pb des masses auraient ils été réglés?
  • 5 petits connecteurs sur le CI donnent accès a de multiples signaux.. Lesquels ?
  • Nombreux poussoirs sur le CI (10...) permettant le contrôle manuel des 4 axes et la vitesse de broche. Pas d'information sur la façon dont le contrôle de vitesse de broche est réalisé....
  • Le relais de commande de broche aurait disparu, ou est bien caché.
  • Grand radiateur, qui peut être ne nécessitera plus de ventilateur.. (à vérifier)

A défaut d'avoir plus d'infos sur cette carte, je vous recommanderais donc de ne pas acheter la version M (celle dont fait l'objet du présent article) et d'attendre que quelqu'un ait fait un rapport positif sur le version N (la nouvelle) avant de l'acheter...

Car en effet, a moins d'être électronicien et d'accepter pleinement la version M et ses défauts et de faire les corrections décrites ce n'est pas réellement un bon plan dans l'état. SI vous n'avez aucune compétence en électronique, n'achetez pas cette carte, c'est clair. Si par contre la petite modification ne vous rebute pas, le gain par rapport à une carte équivalente bien réalisée ( et avec les mêmes drivers, il y en a plusieurs) est d'au moins 30 à 50 dollars. Cela peut donc valoir le coup financièrement... D'autant que quand le fait qu'elle ne marche pas va se savoir, il y a fort à parier que l'on puisse en acheter pour bien moins que 50$, et à ce prix là, même avec la modification à faire, ce sera vraiment une affaire...

Références