DivNum Plateau rotatif pour usinage et soudage via Arduino

P

psemel

Ouvrier
bonsoir,
j'ai une question sur votre montage concernant la précision en simple pas.
je voudrait connaitre dans le cas ou vous faite une rotation dans un seul sens de 12,25° puis 11,45 puis 10,15 etc jusqu'a obtenir 360 ° ou vous arrivez?

Pierre
 
V

vibram

Compagnon
Bonjour,
Le programme dans la version actuelle ne permet pas d indiquer des dixièmes de degrés.
Soit j'entre le nombre de divisions (donc faire le calcul à partir des degrés voulus), soit j'entre la valeur en degrés sans décimales.

Mais je peux faire le test ce week-end en relançant le logiciel à chaque fois pour changer le nombre de divisions voulues.
Ce week-end je le termine complètement avec tous les connecteurs, je ferai un post détaillé

J'ai déjà fait des tests à différentes vitesses, mais jusqu'à 800 ou 850rpm, je n'ai pas décelé de perte de pas. Mais ça c'était à blanc. Je pense qu'il faut nettement baisser la vitesse lorsque l'on tourne la pièce tout en usinant.
Après il suffit de prendre un moteur plus gros, en soit rien de très difficile à adapter
 
P

psemel

Ouvrier
bonsoir Vibram,

j'utilise un réducteur pour suivre le soleil et bouge toute les 30 secondes donc j'ai que des chiffres avec une décimale.
malgré la prise en compte des fractions de pas que je cumul et lorsqu'il y a plus d'un pas , je l’exécute,
je m’aperçois qu'il y a une imprécision sur l'angle au bout de plusieurs heures.
Dans le cas ou je fait un angle important je n'est pas le même résultat.
Je pensait au début que c’était l'alimentation du moteur PAP, mais après vérification cela n'est pas cela.

ci joint le bout de code, ci quelqu'un a des observations , je suis preneurs.

Pierre
 
Dernière édition par un modérateur:
V

vibram

Compagnon
Plutôt que le code je me concentrerais plutôt sur le réglage du PAP, tu n'as pas besoin de vitesse ni de couple mais surtout de précision, est ce que tu as réglé les micros pas ?
Via mon driver j'ai mis des demi pas mais on peut monter Jusqu'à 1/16 de pas. Mais c'est selon les drivers.
Il faut en dire plus sur ta configuration.
Une fois les micros pas réglés, il faut adapter ton code
 
P

psemel

Ouvrier
bonjour,
Mon shield ne permet pas de passer en micropas uniquement des pas entiers. (j'ai en fait 2 shields à base de l298 pour les 2 axes)
Effectivement, je n'ai pas besoin de couple, ni de vitesse car les déplacements sont faibles.
De plus durant intervalle de temps "inactif" de 30 secondes, je coupe l'alimentation des moteurs pour économiser la batterie et vu la démultiplication je n'ai pas de soucis, les moteurs ne vont pas tourner tout seul.
 
V

vibram

Compagnon
Bonsoir à ceux qui me lisent
Quelques avancées:
J'ai totalement fini la partie hardware. Tout est connecté, présentable, tout beau. je prendrai des photos de jour demain.
Concernant le software, je me rapproche du but mais ce n'est pas parfait.
Comme l'a proposé psemel, j'ai fait quelques tests de répétabilité. Et le moins que l'on puisse dire: ce n'est pas formidable.

Voici le code, légerement modifié:

Pour les avertis de l'arduino:
En full step, mon PAP fait 200pas par tour
Il me faut 90 tour pour faire 360 degrés
J'avais donc le produit: 32400
Hors je suis passé en demi pas. il me faut donc 400 pas par tour
J'arrive à un produit de 64800 j'ai donc une erreur:
integer overflow in expression [-Woverflow]
J'ai vu que la solution était d'ajouter un L apres un des facteurs sauf que cela ne fonctionne pas avec une variable alors qu'idealement j'aimerais avoir des opérations uniquement avec des variables.
j'ai donc rusé:
J'ai divisé le stepsperroation par 10 et du coup le dénominateur par 10 aussi
(StepsPerRotationDec * TableRatio * microstep) / 36
Avec StepsPerRotation = 200 et Tableratio = 90

Venons en au vrai problème:
Lors d'une révolution complète, j'ai environ 1 degré de manquant (donc perte de pas).
Lors de division de 10°, j'ai environ 1° tous les 100°, là encore manquant.
une chose de sure: ce sont toujours des degrés manquants, donc j'en déduis une perde de pas.
Là ou je bloque un peu, c'est que j'ai ce souci quelle que soit ma configuration de driver. A savoir de 2 à 3A (en incrémentant de 0.2), toujours le meme souci, et que ce soit en full step ou demi step.
J'ai mis les propriétés du driver et du moteur en 1ere page.

upload_2016-10-8_0-20-49.png

Je suis à 2.6A, en running current
le decay setting, j'ai mis 50%. A 100%, h'ai un bruit étrange pas très rassurant, à 0,25 et 50 j'ai le même bruit qui est moins stressant.
Le stop current, j'ai mis 50% car il conditionne le couple lorsque le moteur n'est pas en mouvement si j'ai bien compris
Que me conseillez-vous ?
Ma dernier option est de tester avec un autre driver mais il faut que j'en trouve un adapté (que ce soit au niveau de la puissance et des possibilité de réglage ainsi que la place qu'il prend dans mon projet)
Je ferai une vidéo demain, si possible en gros plan. Que ce soit au démarrage ou à l'arrêt je n'entends pas de bruit suspect et je ne vois rien de suspect donc je n'ai pas l'impression qu'il y ait une perte de pas Mais je ne vois que ça de possible. Car si j'avais une erreur dans le code, j'aurais toujours le même écart sauf que lors de répétition de rotations de 10°, certaines sont bonnes, d'autres non
bref, la solution de facilité: acheter un driver de qualité...
Sinon, voyez vous autre chose?

edit: beaucoup de monde semble dire du bien du driver thb6064ah, c'est 4 fois plus cher (mais je peux me le permettre) et c'est dans le meme ordre d'idée concernant la place). Est-ce qu'il y a d'autres produits similaire ?
 
Dernière édition:
M

Mandrak

Apprenti
Bonjour vibram

acheter un driver de qualité...
Comme toi, pour mon tour cnc j'avais acheter les même TB6560, 4€ pièces :smileJap:
Je pilote mon tour avec Linuxcnc, avec c'est deux drivers je n'ai eu que des problèmes
de perte de pas, ras le bol de galéré je me suis fendu de deux
2M542 depuis ca fonctionne correctement.

Bonne soirée
Cordialement
 
V

vibram

Compagnon
Salut Mandrak,
Merci de ta réponse.
Avec les demi pas, j'arrive a une erreur acceptable pour mon niveau d'exigence.
A l'occasion je testerai un meilleur driver mais celui ci est vraiment gros. Il m'obligerait à remettre en cause l'agencement. Je prends des photos de l'ensemble fini demain
 
V

vibram

Compagnon
Comme promis quelques photos plus propres
et deux videos



On voit bien que le support de fixation du moteur n'est pas parfait puisqu'il bouge. Pas évident car l'axe est excentré par rapport à ma surface d'appui.
Je pense que c'est un poil rattrapé par l'accouplement souple
DSC01461.JPG
DSC01462.JPG
DSC01463.JPG
DSC01473.JPG
 
P

psemel

Ouvrier
Bonjour,
a tu essayer de baisser la vitesse du moteur?
est tu sur qu'il faut 90 tours / 360 ° ?
 
P

psemel

Ouvrier
bonsoir,

je viens d'avoir une piste : http://www.solarbotics.net/library/pdflib/pdf/motorbas.pdf

cela vient de la précision des moteurs et non pas du driver!!
je vais mettre deux coefficients un sur l'avancée rapide et un autre sur l'avancée lente pour compenser.
c'est marrant, car sur ma CNC en demi pas je n'ai jamais eu ce probleme, le diamètre des moteurs sont beaucoup plus gros.

Pierre
 
S

speedjf37

Compagnon
bonsoir,

je viens d'avoir une piste : http://www.solarbotics.net/library/pdflib/pdf/motorbas.pdf

cela vient de la précision des moteurs et non pas du driver!!
je vais mettre deux coefficients un sur l'avancée rapide et un autre sur l'avancée lente pour compenser.
c'est marrant, car sur ma CNC en demi pas je n'ai jamais eu ce probleme, le diamètre des moteurs sont beaucoup plus gros.

Pierre
Bonsoir,

voir le calcul pour mon diviseur:
https://www.usinages.com/threads/nu...seur-nouvel-usinage.81969/page-2#post-1010636

Diviseur 1/90
Moteur 200 pas/t
Micropas 4

Résolution théorique:
90 x200 x 4 = 72000 micro-pas pour 1 Tour (360°)
200 micro-pas par degré

JF
 
P

psemel

Ouvrier
bonsoir,
ton moteur est il alimente en 24 volt? (ta dernière photo montre une alimentation de portable!!). le bruit sur les vidéos non rien d'anormale.
plus tu monte un micro-pas plus tu perd du couple. l’idéal est le demi pas pour la précision/couple.
d’après mes lectures de ce jour, l’erreur est à chaque pas n'ai n'est pas théoriquement cumulable, j'ai vu sur internet une video qui montrait la repatibilite du PAP et cela n'est pas encourageant.
essais de mettre 72200 micropas par tour pour voir si tu arrive à 360°.

Pour ma part j'ai un retard de 5° sur 165° aujourd’hui, j'ai compensé sur le rapport de réduction pour voir, j'aurais le résultat demain soir.
 
V

vibram

Compagnon
Oui 24V et l'alim est une alim de pc portable 24v 4A ou 4.5A de mémoire. Ca coute rien en chine et tres pratique pour ce genre de bricolage.
Je mise plutot sur le driver emplowé qui a une réputation sulfureuse. Si un jour je suis amené à en commander de meilleure qualité, je ferai le test. En attendant, cette précision me suffit dans mes usinages :wink:
 
P

psemel

Ouvrier
bonjour,

J'ai 6° d’écart aujourd’hui ??
je continue mes recherches
 
V

vibram

Compagnon
Tu devrais créer ton propre sujet avec ton code complet, ton schéma et des photos du montage. Certains membres pourront sans doute t'aider
 
M

Mandrak

Apprenti
Bonsoir vibram

Il m'obligerait à remettre en cause l'agencement
Je comprend mieux en regardant les photos, mettre le driver sous le boitier, mais il est vrai pas très commode.
 
P

Precis84

Compagnon
Bonsoir
Salut vibram ....je suis toujours :-D
Tu as changé ton alim. par rapport aux photos de la 1ère page ?
Ne peux tu pas rentrer la nappe de ton clavier par uns fente dans ton boitier pour
ne pas l'endommager ?
Tu n'aurais pas une photo du boitier ouvert pour me donner une idée ?
En tout cas ...félicitations pour ton boulot et le partage .
claude
 
V

vibram

Compagnon
Bonsoir Claude,
Oui j'ai changé l'alim car celle de la premiere page est largement surdimensionnée, pas besoin de 10A pour tout faire tourner ! deja a 4.5A j'ai pris une bonne marge :wink:
A environ 6euros l'alim, il ne faut pas se priver et prendre un truc qui répond aux besoins et en plus ca ne demande pas de boulot d'adaptation contrairement à l'alim de la premiere page qui est faite pour mettre dans un rack ou autre.

Pour la nappe, j'ai coupé l'interieur du boitier, elle fait un douder à 90°. C'est pas terrible terrible mais bon elle ne donne pas l'impression de trop forcer, elle est assez souple. Dire que ca tiendra 20 ans, sans doute pas, mais d'ici là...
Je peux te faire une photo dans 2 semaines lorsque je reviens chez mes parents, j'essaie d'y penser
 
J

JCS

Compagnon
Salut à tous,

Je parcours avec intérêt cette discussion. Je me permets de partager ma modeste expérience.
Je me suis posé des questions il y a 10 ans, lorsque j'ai fabriqué mon premier diviseur,
par exemple :

- quel serait le bon nombre d'impulsions (pas, 1/2,1/4...) idéal, pour 1 tour de broche, pour tailler des roues jusqu’à 100 dents, sachant que le quotient de la division du nombre d'impulsions par le nombre de dents devrait-être entier ?

Ce nombre est colossal !

La solution était alors de trouver un nombre compatible avec les roues les plus couramment taillées et avec une erreur acceptable.

Le diviseur (numérique) universel parfait ne doit pas exister, à ma connaissance.

Il faut donc minimiser l'erreur et surtout la gérer, si non, elle risque de se cumuler.

Une autre source d'erreur, minime à priori mais qui peut être importante, lorsqu'elle est multipliée ou divisée, est celle qui provient du microcontrôleur et qui peut s'ajouter à l'erreur précédente, lorsque que l'Arduino convertit un nombre d'impulsions en degré. A certains moments, il va arrondir un nombre à décimales.

Je pense avoir trouvé la solution avec un raisonnement plus "binaire".

@+

JC.
 
V

vibram

Compagnon
Salut JCS,
je tout à fait d'accord sur le point de vue de l'erreur acceptable sachant que celle ci tient compte du niveau de précision nécessaire de la piece et du niveau de précision de l'ensemble.

Ce montage me satisfait car j'ai la possibilité d'envoyer des commandes pour bouger le diviseur de moins de 1 degrés et donc rattraper l’éventuel erreur.
Donc entre le rattrape possible et mes bricolages qui sont rarement au 1/100, je suis dans mes tolérances.

Il existe une dernière solution qui doit palier tous les défauts, c'est l'utilisation d'une roue encodeuse. Si j'en ai le besoin un jour, je me pencherai dessus.
 
J

JCS

Compagnon
Salut Vibram,

La solution que j'utilise pour tailler mes roues est de faire un fichier par roues avec le nombre de pas par nombre de dents.
Ici des explications plus détaillées :
http://www.sulka.fr/diviseur_numerique/cn.pdf

Voilà un exemple de taillage, à la fraise couteau, d'une roue de 71 dents :

427850tail6.jpg


659923tail7.jpg


Ici le taillage d'une roue de compte :

http://sulka.fr/rcompte/

En espérant avoir donné quelques pistes.

@+
JC.
 
J

JCS

Compagnon
J'ajoute une chtite vidéo à mon précédent message :


@+
JC.
 
D

Dardar88

Compagnon
Tout est connecté, présentable, tout beau
Salut Vibram
D'abord merci beaucoup pour avoir partagé ton sujet ,donné la motiv' ,et avoir bien détaille ta maniére
d'avancer avec tout ce qui va (ou ne va pas, aussi important) avec.
je cherchais depuis un bon bout de temps un indexeur pratique a utiliser ,un ami m'a aussi demander
pour de la soudure ,comme toi, quelle seraient les alternatives possibles.Ce qui m'a poussé a fouiller ton topic sous tous les angles !!!

Je n'en suis qu'a la partie "Sherline" pour le moment ,comme toi aussi ,un peu galeré pour trouver
les bonnes librairies ,la bonne version de compil arduino ,c'est fait (j'ai ça a dispo si besoin).
Un peu au pif et au coup de pot j'ai trouvé le bon ratio apres 4 essais seulement (pas normal....)

Table_rot2.JPG


Alors j'ai refait ton parcours ,perte de pas ,mauvais angle ,etc ,ALORS MERCI ,MILLE FOIS ,
je viens grâce a ça de découvrir ce qui me faisais ch... depuis des années ,un gros problème de
masse sur mon établi en bois
!!!!! instruments audio qui ronflent posés ,mème tous néons
eteints ,fer a souder, bonne terre ,etc... pourquoi ces erreurs de pas ,platine de test posée dessus ?
ça aurait pu durer un bail :smileyvieux:,...
Je me suis aperçu qu'en relevant de 8 cm la platine ,le moteur devenait coupleux ,sans vibrations ,
et sans pertes de pas !
Finalement pour faire court mais gras :
Avis a tous ceux qui ont des barres transversales en acier de serrage de plateau d'établi:
--------------------- > ça fait Antenne

Je vais me faire un etablis en bois blindés ,magnetico immunes :)

Pour le coup ...
en regardant tes images, il y avait peut être une piste ? :) (ça + le driver tres moyen...)

C’était une grosse parenthèse ,désolé .

J'aimerai aller plus loin dans le projet et tenter de realiser ton montage (avec Nano) , pourrais tu
parler de ton schema de potentiometre car ,oui ,ça tourne long,long ,long et la frequence est fixe,
pas pratique.
Je remarque dans ton code un LCD.init , j'ai LCD.begin ,Arduino V. 1.5.8 et ça compile bien.
Ta version doit etre differente + recente et peut etre aussi tes librairies ?

Pour le potentiometre , j'ai pensé qu'il serait possible de cannibaliser une pedale wah-wah ou s'en
inspirer ,il y a aussi les pedales du genre Hernie Ball dont le potentiometre est actionné par cable
et non pas par cremaillere , ce qui le preserve davantage.

cordialement

t.
 
V

vibram

Compagnon
Salut,
Ca fait plaisir de voir que le projet sert à quelqu'un

lorsque j'ai fait le mien, je me suis dit "il faut une pédale pour activer le moteur". Puis comme je ne peux pas bricoler souvent, j'ai avancé mon projet en transformant la pédale en bouton. Grosse erreur car pour la soudure c'est juste indispensable :wink:
Donc en gros, je conseil de tout garder pareil mais au lieu de mettre le bouton en facade. mettre le switch sur une pédale. je le ferai quand jen aurais besoin mais c'est vraiment indispensable pour la soudure
(ou alors mettre le bouton sur la torche ?)

Le programme fonctionne de manière à ce que la vitesse ne peut pas être changée en cours de rotation. Donc soit tu te fais chier à changer le code, mais j'ai pas vu de chose évidente qui permette de le faire (et à cela tu te fais chier à prendre une pédale avec potar), soit tu laisses comme ca et tu tâtonnes un peu pour trouver la vitesse.
Mais normalement si tu peux gérer l'intensité du poste via une pédale ou via ta torche, t'as pas besoin de changer la vitesse de rotation. Souvent c'est soit l'un soit l'autre mais rarement les deux en meme temps que tu modifies.

Je regarderai pour le coup de l'établi mais pour le moment je suis satisfait de la précision. Surtout pour la soudure ou meme 10° suffisent.


Concernant la librairie, oui j'ai pas mal luté entre les versions etc. init ou begin, le principal c'est que ca fonctionne :)

Tu as pris mon code ou le code original ? celui avec le bouton pour activer le moteur?
 
D

Dardar88

Compagnon
j'ai avancé mon projet en transformant la pédale en bouton. Grosse erreur car pour la soudure c'est juste indispensable :wink:
Boudiou Vibram ,ta reponse est express !
A propos du switch , qu'elle est la meilleure version a ton avis , un push switch momentané ou un push pull qui verrouille tant qu'on a pas re-appuyé ?

le momentané:
http://www.ebay.co.uk/itm/Foot-swit...-duty-for-guitar-effects-pedals-/311275472464
le verrouillable:
http://www.ebay.co.uk/itm/Latching-...-Terminals-Guitar-Effects-Pedal-/262356324402

Le programme fonctionne de manière à ce que la vitesse ne peut pas être changée en cours de rotation. Donc soit tu te fais chier à changer le code, mais j'ai pas vu de chose évidente qui permette de le faire (et à cela tu te fais chier à prendre une pédale avec potar), soit tu laisses comme ca et tu tâtonnes un peu pour trouver la vitesse.

Ah ,ça m'éclaircie le paysage , je pensais que ton potar permettait de faire varier la vitesse à la volée , nop ,alors à quoi sert-il ?:smt017

Mais normalement si tu peux gérer l'intensité du poste via une pédale ou via ta torche, t'as pas besoin de changer la vitesse de rotation. Souvent c'est soit l'un soit l'autre mais rarement les deux en meme temps que tu modifies.

En mode soudeur je suis le roi de la patte de groufy mais l'ami maitrise ,il porte l'accent sur la vitesse de rotation et sa régularité .
Je n'ai pas l'impression qu'il ait l'option variateur d'intensité en commande déportée ,son truc doit calculer automatiquement l'heure de l'apero ,c'est de la haute technologie.
Peut etre un basculement sur un génerateur de pulses (c'est pas tres souple ni elegant et demande de la qualité de signaux) ,ensuite re-basculement sur l'indexeur pour peaufiner ??....

Tu as pris mon code ou le code original ? celui avec le bouton pour activer le moteur?
Non , juste l'original, j'ai posté pour me coller au tient , le switch est au 3 ? tu a mis une résistance de limitation ?

t.
 
V

vibram

Compagnon
Pour le switch, j'ai pris un momentané. Je "prepare" l'ordre en disant le sens de rotation. puis un appui sur le bouton active le moteur pour l'intégralité de la rotation prévue. Je ferais pareil pour la pédale :wink: c'est simple et ca fonctionne bien.

Il sert à faire varier la vitesse mais entre deux commandes. Par exemple, une premiere rotation de 50 degrés, je vois si cest assez vite ou pas trop vite, une fois la rotation finie, je modifie la vitesse et je relance.
Si c'est vraiment purement pour souder et rien d'autre alors je ferais beaucoup plus simple:
je ferais une pédale avec un potar. Tu programmes l'arduino pour que selon la valeur du potar, tu tournes plus ou moins vite et basta. Pour le sens de rotation, tu mets un bouton et on en parle plus :wink: et la pour le coup tu geres ta vitesse à la volée. Quand la valeur du potar est à 0, le mmoteur est arreté et ainsi de suite.
Attention, il faut prévoir des plages car ton potar n'est pas toujours à 0 parfaitement quand t'es en bout de course.
De mémoire sur ma pédale de soudage, j'ai mis une fourchette de 0 à 50 (sur 1024) pour le mode "arret". Apres, tout dépend de la démultiplication que tu as à ta pédale :wink:

Je n'ai pas bien compris ta dernière question. Moi j'ai inclus le bouton dans les 3 modes et pour la résistance de limitation, si tu parles de la vitesse moteur, j'ai mis une limite dans mon programme
 
D

Dardar88

Compagnon
Ok ,ok et encore ok ,rien a dire , demain j'essaye ...

La conservation du trajet au switch est idéale ,surtout en indexation !! ,ça permet de se concentrer
sur une intervention manuelle (trous oblongs circulaire par exemple)

J'avais prévu du moteur continu avec variateur au départ pour la soudure rotative , mais ce serait
tres different , relais , electro frein ,moins de sensibilité aux parasites ? .....Deux alternatives
avec leur pour et leur contre , tant que ce n'est pas testé c'est difficile de se faire une idée.

Attention, il faut prévoir des plages car ton potar n'est pas toujours à 0 parfaitement quand t'es en bout de course.

je crois qu'il faut une reference legerement superieure a 0 ,ce qui evite quelques flottements de lecture,
si je pige bien.

Apres, tout dépend de la démultiplication que tu as à ta pédale :wink:
Ou de la courbe du potar ...log ? lineaire ?

Je n'ai pas bien compris ta dernière question.
Skuz , j'avais mal lu ton code , c'est bien D3 pour le bouton et A0 pour le potentiometre ?

bonne soirée
t.
 
V

vibram

Compagnon
Oui de mémoire c'est ça pour les i/o.
Linéaire pour le potentiomètre, t'en as de partout et surtout tu te ferais bien chier avec un log je pense !
 

Sujets similaires

Moi33
Réponses
3
Affichages
47 983
speedjf37
S
G
Réponses
123
Affichages
19 187
gaston83
G
01power
Réponses
3
Affichages
13 836
01power
01power
V
Réponses
4
Affichages
2 936
wika58
wika58
V
Réponses
7
Affichages
1 971
vibram
V
D
Réponses
9
Affichages
3 051
David80
D
S
Réponses
112
Affichages
21 876
manum01
M
taratata
Réponses
4
Affichages
4 240
taratata
taratata
Haut