DivNum DNU (Diviseur Numérique Universel) [Projet et CdC]

  • Auteur de la discussion wika58
  • Date de début

Est-ce que vous êtes intéressé par un diviseur numérique ?

  • Oui

  • Non


Les résultats ne sont visibles qu'après le vote.
W

wika58

Compagnon
C'est déjà possible, toutes les commandes du système peuvent être "envoyées" via le port série/USB.
Attention, ce n'est pas la même chose que ce que tu fais sur le projet avec JCS.

Là, à chaque fin de ton cycle, tu as un handshake (HW ou SW) avec une autre machine pour qu'à son tour elle fasse un cycle et te redonne la main pour que tu fasses ton cycle suivant.

Ici, c'est en asservissement.
L'usinage se fait, en continu, sur l'axe "Maître" (longitudinal en général) et toi tu dois asservir/réguler la rotation angulaire de l'axe A en fonction du déplacement continu de l'axe X !!!
Ce n'est pas pareil.


Ca ne me coûte peu de temps d'essayer et j'ai le matériel.
Que tu fasses des essais Oui.
Mais pas que ce soit dans le CdC actuel du Diviseur Numérique Universel qui est prévu pour permettre à chacun d'estimer pouvoir se construire le sien...
 
V

vibram

Compagnon
C'est exactement ce que j'ai fait ici:
grace au forum:

https://www.usinages.com/threads/filetage-avec-microcontrolleur.101117/

et ce n'est pas compliqué. Il faut juste ajouter un mode asservissement. Et que dans ce mode on regle la résolution ou le nombre de pulse à envoyer selon le nombre de pulse recue. ce n'est pas plus compliqué que le reste du programme :) Il faudra faire attention aux vitesses (de l'axe maitre ainsi par rapport à la vitesse du PAP)

Apres à vous de voir ce que vous voulez mettre ou non !
 
W

wika58

Compagnon
Une régulation/asservissement est bien plus complexe que l'émission de X pulses...

Dans une régulation, il faut envisager les corrections de vitesse en fonction de si on est en avance ou en retard sur l'equation de regulation et d'adapter le mouvement en permanence.

Ou alors ce n'est pas un asservissement...

Edit:
Si ce n'est que d'envoyer X pulses au MPAP du Diviseur à chaque puise que l'on reçoit de l'axe "Maître", et rien de plus, alors on peut envisager de mettre cette fonction dans la V2.0 du projet.
Mais pour la V1.0, on reste sur les fonctionnalités actuelles.
 
S

speedjf37

Compagnon
Bonjour,

J'ai implanté le système de @jpbbricole sur une carte Mega2560 avec Ramps 1.4 et un Reprap Smart Controler (LCD Encoder SD card) en adaptant les entrées sorties.
https://www.usinages.com/threads/plateau-diviseur-pilote-par-arduino.110402/page-4

Ceci est normalement destiné à piloter une IMP3D mais vu le prix du kit:eek::
https://www.banggood.com/Geekcreit-...s=detail-left-hotproducts__3&cur_warehouse=CN

Avantage aucun câblage ni PCB à faire.
Il manque la LED (RGB) d'état .

La Ramps limite la tension de puissance à 12V
En implantant un driver type "Pololu" on peut tester avec un ( petit) moteur PAP ( Nema 17 ).

Il parait possible d'utiliser les sorties de chauffe pour piloter un frein ou un relais.

Connectique disponible en plus des axes XYZ extruder 1 et 2 :
6 entrées des "Endstop" .
3 entrées des thermistances exploitables mais filtrées.
l'I2C avec les résistances de tirage
Aux3 le bus SPI .
4 sorties pour servos (PWM).
Aux1 RX TX (A3 A4) axe A out (D1 D2)
Aux2 E/S A5 A9 A10 A11 A12 D40 D42 D44

4 LED
bouton Reset

Cordialement JF
 
W

wika58

Compagnon
Bonjour JF,
Merci pour tes infos.

Je laisse jpb répondre sur l'avantage ou non de ta configuration.

Je voudrais juste rassurer les membres intéressé au DNU et non electroniciens qu'il n'y a pas de carte à développer dans la configuration actuelle.
Ce sont juste des petits PCB (circuits imprimés) qu'il faut relier entre eux par 3 ou 4 fils à chaque fois.
Et tout sera clairement expliqué.

Ce genre de projets collaboratif à déjà été fait 3 fois sur le site. Avec résultat à la fin des 3.
 
Dernière édition:
P

ppt

Compagnon
Hello
J'arrive à la bourre et du coup j'ai pas grand chose à ajouter au cdc :-(
 
W

wika58

Compagnon
Salut Patrick,
Si tout ce que tu as besoin est dans le CdC c'est parfait.

La validation de ce dernier sera faite pour la fin du mois.

A ce jour, il y a 21 membres intéressés par le DNU (Diviseur Numérique Universel)
et j'ai 7 demandes de CdC de :
- Speedjf37
- wika58
- Charly 57
- Précis84
- patduf33 (voir wika58)
- Dardarre88 (comme Charly57)
- matt07600
- jahlex

Et 6 messages d'explication du vote sans CdC (ce qui est OK aussi).
- sabeldom
- pins
- pinou29
- bop55
- Bbr
- ppt

Pour les 8 autres intéressés, ce sera ce qu'il y aura à la fin du développement.

Nous avons discuté ppb et moi, et il envisage de faire une logiciel avec paramétrrage au début.
Ce qui permettrait à chacun de définir la config qui lui va le mieux...

J'attaque la rédaction de la spec (spécification technique = commande à jppbricole...) la semaine prochaine (congés).

A suivre.
 
Dernière édition:
W

wika58

Compagnon
Pourquoi pas un Fritzing, c'est vrai que c'est parlant même aux néophites en électronique.
Un exemple:
1525262184779.png


Jpb, si tu veux je me charge de ce point... :wink: (jl est installé sur mon PC)
 
W

wika58

Compagnon
En regardant encore qq réalisations sur le net, je me rends compte qu'il manque un mode de fonctionnement.
Le mode "JOG" = rotation à la demande (BP maintenu).

Je l'ai rajouté au CdC dans le 1° message.
Je suppose que ce mode est OK pour tous les membres ayant voté...
 
P

Precis84

Compagnon
Jpb, si tu veux je me charge de ce point
:lol::lol::lol: :smt023
Petite question :
Je possède 1 driver moteur pas à pas , en l’occurrence un TB6550 , cela nécessite des changements
au code par rapport à ce qui est prévu ou pas ? Merci
 
S

speedjf37

Compagnon
:lol::lol::lol::smt023
Petite question :
Je possède 1 driver moteur pas à pas , en l’occurrence un TB6550 , cela nécessite des changements
au code par rapport à ce qui est prévu ou pas ? Merci
Bonjour,

Dans le principe les sorties Enable Step Dir sont adaptables à n'importe quel driver.

Il faudra renseigner le code pour le nombre de pas par tour ( Pas du moteur X micropas du driver X valeur du diviseur)

JF
 
J

jpbbricole

Compagnon
Bonjour!
Après une petite promenade au bord du lac, je me remets au boulot!

Je laisse jpb répondre sur l'avantage ou non de ta configuration.
Je trouve l'idée excellente, le hardware est archi connu, l'idéal pour éviter de développer 2 programmes, serait de créer un "include" contenant le définition des ports utilisés par les divers type de hardware possible, je n'ai encore jamais fait, faut que je m'entraîne!
La "philosophie" de ce système est d'ignorer ce qu'il va commander, à condition de fournir tout le nécessaire. Le circuit imprimé que j'ai dessiné va coûter ~3€.
Nous avons discuté ppb et moi, et il envisage de faire une logiciel avec paramétrrage au début.
Pour ceux qui n'ont pas de carte SD, c'est cette routine qui s'occupe de celà
A l'avenir, C'est au moyen de commandes depuis le moniteur Arduino ou n'importe quel terminal serie que le programme se paramétrera et les dits paramètres seront en mémoire permanente (EEPROM).
Jpb, si tu veux je me charge de ce point... :wink:
C'est volontiers, je n'ai jamais pratiqué.
Le mode "JOG" = rotation à la demande (BP maintenu).
C'est le prochain développement.
Il faudra renseigner le code pour le nombre de pas par tour

Dans ce programme, on renseigne sur la résolution d'un tour de mandrin (1x pas/tour_MPAP x démultiplication de l'entraînement)
; Nombre de pas pour un tour de mandrin 360°
Chuck360resolution=20000


Ainsi que la vitess du MPAP
; Vitesse du MPAP
MpapSpeedHz=400


Et le nombre de pas pour le "backslash"
; Pour compenser le jeu de la mécanique si changement de direction
chuckBackSlashSteps=100


Cordialement
jpbbricole
 
S

speedjf37

Compagnon
Je trouve l'idée excellente, le hardware est archi connu, l'idéal pour éviter de développer 2 programmes, serait de créer un "include" contenant le définition des ports utilisés par les divers type de hardware possible, je n'ai encore jamais fait, faut que je m'entraîne!

Il y a tout ce qu'il faut dans Marlin (et même beaucoup trop) en autre les defs de la Ramps 1.4
Je peux te modifier une version avec les " #define include et #ifdef" qui vont bien pour te donner un exemple de code

JF
 
P

PUSSY

Lexique
Je ne suis qu'un "éventuel" acquéreur pour remplacer un jour peut-être mon diviseur 360 position monté sur ma broche de tour.
Tout CdC me convient et il y a longtemps que je suis "largué" dans vos demandes-explications-solutions.

Cordialement,
PUSSY.
 
S

speedjf37

Compagnon
Bonsoir,

@jpbbricole

un exemple de compilation conditionnelle !

JF
 

Fichiers joints

  • USIN_PlateauDivisSD_JF.zip
    16.1 KB · Affichages: 100
J

jpbbricole

Compagnon
Bonsoir

Un petit moment de récréation, un boitier pour le clavier:
1525285655733.png
1525285691200.png


Bonne soirée
jpbbricole
 
J

jpbbricole

Compagnon
Petit ajout au programme, la sauvegarde des paramètres en mémoire permanente EEPROM, ainsi on peut modifier les paramètres de fonctionnement, via des commandes, et conserver ces paramètres.

Tout est ici pour l'explication Paramétrage du système : et là pour les fichiers.

A bientôt
Cordialement
jpbbricole
 
W

wika58

Compagnon
Tu vas avoir fini le programme avant que je boucle le CdC :lol:...
 
M

Mcar

Compagnon
Sujet très intéressant, je découvre à l'instant
j'ai fait il y a pas si longtemps que cela un pont tournant pour le train d'un ami piloté par un arduino et un pap
1525899176285.png

quelque part, un pont tournant c'est aussi un diviseur , certe il y a moins de division qu'un diviseur, mais le principe reste le même avec une sauvegarde en mémoire de l'arduino des positions en utilisant la methode circulaire de Atmel.

puisque j'ai aussi dans mes valises ce projet de création , donc je m'installe :-D
 
W

wika58

Compagnon
Marc,
Cool ton diviseur numérique pour modélisme ferroviaire :supz:.
Bienvenu dans notre projet collaboratif de DNU.
Tu n'as pas voté ! :smt064
Quel est ton CdC?

Pussy,
Idem pour toi pour le vote :whistle:
Pour le CdC, ce n'est pas compliqué, tu regardes ce qui t'intéresserait le plus dans les options proposées.
Tu recopies la liste des options de mon premier message et tu supprimes celles que tu n'as pas besoin.:wink:
 
M

Mcar

Compagnon
A voter
1. Entrée des paramètres :
a) 6 boutons pour sélectionner le haut/le bas/le gauche/le droite / select / arrierre afin de valider des options dans un menu sur un ecran 4 lignes 40 caractères, genre shield LCD+keypad
b) mini afficheur indépendant de la position en degré et également en équivalent de 1 pas
d) bouton RAZ de la position (travail en relatif)

2. Utilisation d'un PC complémentaire
b) non, tout en local sur Arduino / sauvegarde dans la mem de arduino

3. Utilisation (ici, plusieurs choix sont possibles )
a) taillage de roues (horlogerie)
b) taillage de poulies crantée
c) perçage de trous equidisrants
d) usinage d'arcs de cercles
f) usinage carré/hex/ rond / cannelures ...

4. Unités
a) 360 trous sur la périphérie avec blocage/frein de la position
b) possibilités de faire tourner le diviseur en manuel (arduino éteint)

5. Divers
a) inversion de sens de rotation bien sur
c) mode "JOG" (rotation à la demande par un BP) avec réglage de la vitesse de rotation en incluant une butée logiciel de fin de cycle
e) un contact genre opto electronic switch pour vérifier le diviseur sur 360 degré, cycle qui sera lancé en auto.
1525982002494.png
 
W

wika58

Compagnon
Merci Marc pour le vote complet.
Même avec des points non encore au CdC ...

Quand tu écris, possibilité de faire tourner le diviseur sans l'Arduino ?
C'est bien de faire tourner le div. à la main (manivelle)?
Là ce sera à chacun de prévoir la mécanique d'accouplement qu'il souhaite..
Le CdC ne s'occupe que de la partie Arduino (HW + SW).
 
Dernière édition:
P

PUSSY

Lexique
Bonjour,

Mettez mon avis entre parenthèses car je ne suis pas, ni directement ni même immédiatement, intéressé.
(- une commande électronique en plus de l'arduino me parait stupide par rapport à une commande mécanique supplémentaire.
- une commande mécanique va compliquer inutilement la commande et il subsistera toujours le problème du jeu dans la partie mécanique alors que la commande par arduino est censée l'abolir ! C'est la devise : pourquoi faire simple quand on peux faire compliqué !)

Cordialement,
PUSSY.
 
M

Mcar

Compagnon
Merci Marc pour le vote complet.
Même avec des points non encore au CdC ...

Quand tu écris, possibilité de faire tourner le diviseur sans l'Arduino ?
C'est bien de faire tourner le div. à la main (manivelle)?
Là ce sera à chacun de prévoir la mécanique d'accouplement qu'il souhaite..
Le CdC ne s'occupe que de la partie Arduino (HW + SW).

oui, c'est bien cela, donc OK pour à chacun de le prevoir,
mais dans ce cas et si pas de manivelle manuelle,

alors il faudra bien prévoir une "manivelle électronique" , (idem sur les CNC) avec un choix possible
- de vitesse de déplacement du plateau (vitesse de rotation)
- d’incrément de déplacement (toujours idem CNC) représentant x degré par exemple 1 deg., 10 deg. 20 deg. no limit ect...
avec un arduino ça ne pose aucun problème ça reste des lignes de code
- comment s'assurer que le système ne vas pas perdre des pas ? (c'est toujours possible) sur mon pont tournant pour mon petit train :smt038 j'ai remarqué que cela arrive quelque fois, je suis alors obligé de relancer la procédure d'initialisation du point 0. (pas compris pourquoi mais je suis d'abord un mécanicien, alors l’électronique !!!)

Le post de Pussy #119 m'interpelle,
la liaison axe moteur PAP sera t' elle directe avec l'axe du plateau diviseur ?
1) si oui ,
qu'elle va être l'effort d'usinage soutenu par le couple du moteur PAP ?
ben oui, le diviseur va également servir à faire des cercles et pourquoi pas des cames en combinant la rotation du plateau et un axe de la fraiseuse,
qu'elle va être la division 360/3600 .... ou 360000 positions comme sur un vrai axe numérisé ?
honnêtement en liaison direct sans démultiplication mécanique et avec seul un PAP, 360000 positions ??? j'y crois pas vraiment
maintenant pour nos applications 3600 positions avec un PAP qui en fait de part la construction 400 (au mieux) monitoré avec un driver genre TB6600 ça devrait le faire sans problème.

2) si non
donc liaison moteur PAP démultiplié avec un system roue/vis sans fin (par exemple), alors l'effort d'usinage peut évidement être plus important, en revanche on complique le système mécanique
Dans un choix liaison mécanique démultiplié, toute les CNC ont dans leur protocole une gestion de ce que l'on appelle le jeu à l'inversion, une bonne vis à bille , quoi que l'on veux, possède un jeu à l'inversion de environ 5 microns, .... dans un système réalisé par nous ??? .....
donc il faudra l'inclure dans la gestion des mouvements.
avec un arduino ça reste également des lignes de code, donc aucun problème/obstacle pour l'inclure également dans le CDC,

pas simple ce cahier des charges pour arriver à combler l'ensemble des besoins des gens interressés par ce systeme.
beaucoup de question :confused:
mais ce poste est intéressant, merci à toi Patrick d'avoir eu cette initiative.

honnêtement, je m’achèterai un plateau diviseur sur le net, on en trouve pour 150-160 euro un 5" (pas besoin de plus) je garde la fonction manuelle comme le plateau est vendu, et j'adapte le system moteur PAP + arduino tel qu'il sera defini ici :smt041

elle est pas belle la vie !
 

Sujets similaires

J
Réponses
113
Affichages
23 640
sabeldom
S
W
  • Fermé
  • importantes
Réponses
1
Affichages
45 584
wika58
W
S
Réponses
112
Affichages
21 903
manum01
M
Haut