Horlogerie, micro-contrôleurs et CN

  • Auteur de la discussion JCS
  • Date de début
J

JCS

Compagnon
[Sujet indépendant, issu d’une digression]
Je suis entrain de customiser ma machine à tailler à 4 sous, afin de pouvoir tailler les dents avec un angle d'environ 42 °, non critique, que j'ai relevé sur l'ancienne roue :

tail-roue-rencontre1.jpg


Il va falloir que je confectionne une fraise couteau qui va bien et que j'écrive un nouveau programme d'usinage.

J'ai déjà taillé une roue de rencontre pour une pendulette de voyage ici :


Mais je ne me souviens plus de la procédure que j'avais utilisée !

En fait, les dents étaient droites.

@+
JC

mtrc.jpg
 
Dernière édition par un modérateur:
J

JCS

Compagnon
Salut Pierre,

Pas de problème, le voilà en fichier joint,, c'est en Basic. Je l'ai joins avec une extension TXT, si non, ça ne passe pas. Il tourne sur un vieux PC avec QB45, il lit un fichier contenant les nombres de pas et les envoie, via le port série, à un PIC 16F84 qui pilote 3 moteurs PAP à travers des interfaces de puissance. Ici quelques infos sur le principe de fonctionnement . Il s'agit de ma 3è et dernière machine à tailler qui fonctionne sur le même principe mais n'a que le diviseur de numérisé. C'est un truc que j'ai mis au point il y a bien longtemps, que j'ai essayé de partager, mais cela énerve du monde ! :axe:

J'essaie, depuis longtemps, de m'affranchir du PC et le remplaçant par autre chose. Je ne parviens pas à utiliser mon principe avec Arduino, trop compliqué pour moi. Toutefois, il semble qu'il y ait des possibilités intéressantes avec Raspberry PI ou PyBoard. Je parviens facilement à ouvrir un fichier et y prélever des données. Je parviens aussi à piloter le GPIO. Dès que j'ai fini cet oignon qui bouffe tout mon temps, Je m'y remets et j'essaie de faire tourner un PAP.

J'ai dernièrement tenté d'ouvrir une discussion dans la rubrique Arduino de ce forum, pour tenter de demander de l'aide sur Raspberry et Python, mais je me suis fais jeter :sad:
Discussion déplacée sur le troquet.

@+
JC
 

Fichiers joints

  • RRCONTRE.TXT
    4.5 KB · Affichages: 86
Dernière édition:
M

Madman

Compagnon
...Je ne parviens pas à utiliser mon principe avec Arduino, trop compliqué pour moi...
Merci @JCS , le code est assez limpide, en lecture rapide. Quels sont les obstacles avec Arduino ? Il existe pourtant de nombreux codes pour piloter des moteurs PAP. Où est le loup ?
 
J

JCS

Compagnon
Merci @JCS , le code est assez limpide, en lecture rapide. Quels sont les obstacles avec Arduino ? Il existe pourtant de nombreux codes pour piloter des moteurs PAP. Où est le loup ?

Salut Pierre,

Je n'ai aucun problème pour piloter des moteurs PAP avec Arduino, ici une de mes réalisations :


Ma méthode, souvent violemment décriée, que j'ai mis au point il y a plus de 15 ans sur ma première machine à tailler :

http://sulka.fr/mat/

consiste à lire, dans un fichier, le nombre de pas que doit exécuter le moteur PAP du diviseur. Il est alors possible d'automatiser autre chose que la taille de dents régulières. Cela permet aussi de tailler automatiquement des chaperons ( roue de compte ) : http://sulka.fr/rcompte/
des cames, des limaçons, etc...

Le "loup", avec Arduino, est que malgré de nombreuses recherches sur le Net et essais, je n'ai pas encore trouvé une solution simple et compréhensible par mon petit cerveau, pour lire simplement des données sur une carte SD. Si je la trouve, le problème sera résolu et je pourrais alors adapter mon principe sur Arduino et miniaturiser ma machine à tailler.

@+
JC
 
F

f6exb

Compagnon
Avec tous les moustachus de l'Arduino sur le site, personne ne peut t'expliquer comment faire ?
 
J

JCS

Compagnon
Avec tous les moustachus de l'Arduino sur le site, personne ne peut t'expliquer comment faire ?

Si, il y en a même qui ont fait des diviseurs ! Ici par exemple : https://www.usinages.com/threads/dnu-diviseur-numerique-universel-projet-et-cdc.110479/
Toutefois, je ne comprends pas leur démarche et je tiens à faire selon mon principe, parce que c'est très simple, que cela me convient et que cela fonctionne parfaitement bien depuis longtemps.

Ce que je souhaite, c'est, de façon simple, ouvrir un fichier sur une carte SD et lire une à une les valeurs qu'il contient.
Cela fait très longtemps que je cherche, sans trouver, sur Arduino et que j'y parviens avec Python sur raspberry.

@+
JC
 
Dernière édition:
J

Jef

Apprenti
Bonjour Jean-Claude,

Ca coince où pour lire avec Arduino les données d'une carte SD. Tu utilises quel support ou quel type de connection pour brancher ta cartes SD sur ton Arduino ?
Ton objectif c'est de pouvoir éloigner ton PC de la fraiseuse ?

salutations,

Jef.
 
J

JCS

Compagnon
Ca coince où pour lire avec Arduino les données d'une carte SD. Tu utilises quel support ou quel type de connection pour brancher ta cartes SD sur ton Arduino ?
Ton objectif c'est de pouvoir éloigner ton PC de la fraiseuse ?

Salut Jef,

Je souhaite me passer du PC qui prend trop de place et le remplacer par une carte à micro-contrôleur.
Ce je je cherche, c'est un sketch Arduino simple, qui lit une valeur sur un fichier SD, l'envoie à la console, attend quelques secondes, puis lit la suivante etc.

Ceci afin de comprendre et de reproduire, après je me débrouille.

J'ai une lecteur de carte qui se connecte sur l'Arduino. mais je ne l'ai jamais utilisé car je n'ai jamais trouver comment faire.
J'ai trouvé pleins d'exemples pour enregistrer des données sur une SD, mais pas grand chose de clair pour lire.



Merci par avance !

@+
JC
 
J

Jef

Apprenti
Salut Jean-Claude,

C'est quel lecteur que tu utilises ?
Pour accéder aux données, tu utilises une librairie ? (library)
Quand je cherche tout bêtement sur Arduino SD card, je trouve un lien qui me paraît prometteur :

"https://www.arduino.cc/en/reference/SD"

Nous utilisons régulièrement des Arduino à l'école (option électromécanique) mais on dépasse jamais le stade de l'expérimentation. L'ordinateur reste donc connecté. C'est une évolution qui m'intéresse également.
Tu ne saurais pas mettre les données variables dans une app sur ton téléphone ? Le couple magique pour l'instant c'est le téléphone qui pilote un Arduino. Mes élèves arrivent à faire de très belles choses en faisant ainsi.

salutations,

Jef.
 
J

JCS

Compagnon
@Jef

Ca coince où pour lire avec Arduino les données d'une carte SD.

Voilà un résumé de mes modestes approches avec Arduino et plus récemment Raspberry, concernant mon projet de remplacer le PC par une carte à micro-contrôleur pour le pilotage de ma machine à tailler à CN :

Arduino, il faut une carte Arduino, un lecteur de carte CD, un écran, un clavier.
Code : il faut initialiser le lecteur de carte, ici un exemple assez rébarbatif : https://www.arduino.cc/en/Tutorial/ReadWrite il faut initialiser l'écran ( encore tout une tartine de lignes de code, il faut initialiser le clavier), même punition pour l'écran et le lecteur SD ! Maintenant on peut enfin lancer la lecture !

Raspberry. Il faut une carte Raspberry, le lecteur de carte SD est inclus à la Raspberry, un écran, un clavier.
Code : Pas besoin d'initialiser ni le lecteur SD, ni l'écran, ni le clavier ! C'est l'OS, contenu dans la carte SD qui s'en charge.
Je joins un code de 7 lignes qui permet de lire des données d'un fichier, l'une après l'autre, en appuyant sur une touche et retour !

Pour faire la même chose avec Arduino, il doit falloir deux pages de code ! Ça occupe bien en période de confinement !

@+
JC
 

Fichiers joints

  • Lect_fich_python.txt
    228 bytes · Affichages: 57
Dernière édition:
J

Jef

Apprenti
Salut Jean-Claude,
je pense comprendre la logique de ta démarche et je comprends très certainement les recherches que tu fais.
Si le fichier que tu veux sauver sur la carte SD contient principalement le nombre de pas pour chaque nombre de dents, cela pourrait être une fausse piste. Ne serait-il pas plus logique de remplacer les tables (que tu prépares sans doute en excel) par une ou des formules encodées sur Arduino ? Ensuite tu génères les données durant l'exécution du programme.
Pour avoir exploré les même pistes que toi (avec d'ailleurs quasiment les mêmes applications en tête), j'ai appris à connaître les configs typiques suivantes :
- Arduino connecté sur PC en mode développement/test. Par négligence on peut laisser le PC même en mode production. Dans ce cas la communication entre Arduino et PC est automatique, il ne faut rien faire (apart une seule ligne qui spécifie la vitesse de communication)
- Arduino en stand alone : facile, pratique mais très limité. Le système est sourd et aveugle, justifié uniquement pour les situations très simples
- Arduino avec petit panneau de contrôle (ecran lcd 2 lignes + qqs boutons). Un système de diviseur publié il y a un an ou deux ans était de ce type (de mémoire, je 'ai pas été revoir, je pense que tu y as fait référence récemment)
- Arduino avec communication bluetooth vers smartphone : offre plus de fonctionnalités que l'option précédente. Il faut investir dans le savoir faire de développement d'une App (p.ex. MIT app inventor), après c'est assez simple et surtout très efficace.

Il existe une autre architecture bien plus performante et c'est l'option client-serveur : l'Arduino communique avec une application (en C ou en Python ?) sur le PC. Comme toi je me suis déjà mis à apprendre le Python : la programmation n'est pas compliquée mais cela se corse gravement si on veut une interface utilisateur graphique ou une communication sérielle avec p.ex. un Arduino.

Bon, j'espère que je ne t'ai pas mal compris et que cela ne pollue pas trop la discussion en cours, sinon nous devrions éventuellement ouvrir un noveau sujet sur la discussion.
Pour ton info : le graal que je recherche ne manque pas d'ambiton, je rêve de concevoir un tour d'horloger en mode "teach in" (CNC interactif).

salutations,

Jef.
 
J

JCS

Compagnon
@Jef,

Grâce à Moufy55, qui a créé cette nouvelle discussion, nous allons pouvoir partager nos idées et notre quête du Graal et peut-être l'assouvir et de la partager ...

Si le fichier que tu veux sauver sur la carte SD contient principalement le nombre de pas pour chaque nombre de dents, cela pourrait être une fausse piste. Ne serait-il pas plus logique de remplacer les tables (que tu prépares sans doute en excel) par une ou des formules encodées sur Arduino ? Ensuite tu génères les données durant l'exécution du programme.

Je pense que tu as raison, si le but est de faire un diviseur "ordinaire ". Mais, si tu souhaites tailler une came, un chaperon, un limaçon, etc, cela ne me semble pas très évident, à moins d'être un génie du codage !

Je pense que pour débuter il faut faire très simple et facilement reproductible. Après, rien n'empêche de monter en puissance, bluetooth etc...

Je propose donc comme objectif, pour débuter notre chemin vers la quête de notre Graal, de faire tourner un moteur PAP du nombres de pas lus dans un fichier, avec Arduino et/ou Raspberry. Et ceci sans "terrorisme technique", dans un langage clair, compréhensible par le plus grand nombre.

Qu'en penses-tu ?

@+
JC
 
J

jon

Compagnon
Salut Jef,

Je souhaite me passer du PC qui prend trop de place et le remplacer par une carte à micro-contrôleur.
Ce je je cherche, c'est un sketch Arduino simple, qui lit une valeur sur un fichier SD, l'envoie à la console, attend quelques secondes, puis lit la suivante etc.

Ceci afin de comprendre et de reproduire, après je me débrouille.

J'ai une lecteur de carte qui se connecte sur l'Arduino. mais je ne l'ai jamais utilisé car je n'ai jamais trouver comment faire.
J'ai trouvé pleins d'exemples pour enregistrer des données sur une SD, mais pas grand chose de clair pour lire.



Merci par avance !

@+
JC
Si tu es à l’aise sur pc et que ça prend trop de place, prend une carte pc à la place. Comme un rasp ça fais la même taille et tu fais tourner XI daube dessus :wink: ça coûte pas très cher. C’est que ce que je vais faire pour mon deuxième 70 qui sera dédié au taillage et filetage.

amicalement
 
J

JCS

Compagnon
Si tu es à l’aise sur pc et que ça prend trop de place, prend une carte pc à la place. Comme un rasp ça fais la même taille et tu fais tourner XI daube dessus :wink: ça coûte pas très cher. C’est que ce que je vais faire pour mon deuxième 70 qui sera dédié au taillage et filetage.

Salut Jon,
Si j'ai une petite carte qui supporte MS-DOS et qui a un port série, ça pourrait faire mon affaire ! Si tu as des liens, ça m'intéresse.
J'espère que tu vas nous en dire plus sur ton projet !
@+
JC
 
  • Réagir
Reactions: jon
J

jpbbricole

Compagnon
Salut Jean-Claude

Mets un fichier de paramètres en ligne, je t'expliquerai comment faire.

Cordialement
jpbbricole
 
J

jon

Compagnon
Salut Jon,
Si j'ai une petite carte qui supporte MS-DOS et qui a un port série, ça pourrait faire mon affaire ! Si tu as des liens, ça m'intéresse.
J'espère que tu vas nous en dire plus sur ton projet !
@+
JC
Il y a des tutoriels sur le net qui permettent d’utiliser windows sur rasberry 4. Je ne sais pas si c’est très stable. Je pense que je vais tester. De mon côté j’ai également besoin d’un port série et d’usb.
sinon il y a ce genre de produits qui commencent à fleurir.


Intel a également fabriqué des nano pc.
Oui pour mon projet c’est ici. j’ai ouvert hier un sujet dessus :wink:


amicalement
 
J

JCS

Compagnon
Mets un fichier de paramètres en ligne, je t'expliquerai comment faire.

Merci beaucoup JPB !
Je te mets un fichier tout bête, il contient 3 valeurs et je l'ai appelé F3.TXT
Mon objectif est de lire la première valeur, faire clignoter une led d'un nombre de fois égal à la valeur lue, d'attendre quelques secondes et faire de même pour la valeur suivante etc.
Encore merci d'avance.

Il y a des tutoriels sur le net qui permettent d’utiliser windows sur rasberry 4. Je ne sais pas si c’est très stable. Je pense que je vais tester. De mon côté j’ai également besoin d’un port série et d’usb.
sinon il y a ce genre de produits qui commencent à fleurir.

Salut Jon,
Je n'ai jamais réussi, de façon satisfaisante, à faire tourner QBasic et envoyer des infos via le port USB, sur mon interface de pilotage des moteurs PAP, avec Windows. Autrement j'aurais acheté un petit PC portable et le problème aurait été résolu.
Hier au soir, j'ai découvert que la Raspberry pouvait émuler MS-DOS, grâce à FreeDos :
https://www.onmsft.com/how-to/how-to-run-dos-on-a-raspberry-pi

Si ça fonctionne, ce serait formidable, je pourrais utiliser tous mes programmes en Basic pour faire tourner ma machine à tailler, sans mon gros et vieux PC !
Je vais essayer ça ce dimanche confiné...

Vivement demain que je puisse aller au boulot avec mon beau vélo nucléaire :

haibike.jpg


@+
JC
 

Fichiers joints

  • F3.TXT
    12 bytes · Affichages: 82
J

Jef

Apprenti
Salut Jean-Claude,

si tu me donnes un petit exemple du nombre de pas en fonction du nombre de dents, je verrai si j'arrive à générer le nombre par des lignes de codes.

salutations,

edit : j'ai écrit ce message en même temps que celui de jpbbricole, je ne sais donc pas si ma suggestion peut encore servir.

Jef.
 
Dernière édition:
J

JCS

Compagnon
Merci beaucoup JPB,

J'ai imprimé ton sketch pour essayer de bien le comprendre ( pendant l'apéro. Thin tchin, hic ). Cet après midi, si je retrouve mon lecteur de carte SD, je fais des essais et te tiens au courant.

@Jef,

si tu me donnes un petit exemple du nombre de pas en fonction du nombre de dents, je verrai si j'arrive à générer le nombre par des lignes de codes.

Je ne souhaite absolument pas que le logiciel génère le nombre de pas. Cela pourrait être une bonne chose si l'on souhaitait uniquement tailler des engrenages avec une division régulière. Or, je souhaite pouvoir tailler aussi des roues de comptes, des cames, des limaçons, etc.
Pour faire simple, j'estime que la lecture des paramètres sur un fichier est plus simple et plus fiable qu'une usine à gaz qui aurait la prétention de tout faire.

@+
JC
 
J

JCS

Compagnon
Merci Reparatheure ! http://sulka.fr/haibike/

@jpb,

J'ai retrouvé 3 lecteurs de carte ! L'intention était plus forte que la mémoire !

Je problème est que j'ai 2 connecteurs de plus que sur ton dessin !

Lecteur_carte.jpg


@+
JC
 
J

jpbbricole

Compagnon
Bonsoir Jean-Claude
A connecter:

GND
+5V.
CS UNO pin 8
MOSI UNO pin 11
SCK UNO pin 13
MISO UNO pin 12

A+
Cordialement
jpbbricole
 
J

JCS

Compagnon
Grand merci JPB ! Tu es formidable, ça fonctionne du tonnerre de Dieu !

Lecteur_carte2.jpg


Il va falloir me laisser un peu de temps pour que mon esprit fruste assimile ton sketch. J'ai un LCD keypad shield, C'est compatible avec ton montage ? Il restera des broches disponibles pour piloter les PAP ?
Merci encore !

@+
JC
 
J

JCS

Compagnon
Salut à tous,

A bien y réfléchir, pour Pâques, Jpbbricole nous a "pondu" un diviseur alpha !
J'espère qu'il ne me tiendra pas rigueur de cette métaphore volaillère mais néanmoins pascale ...

Je propose de le baptiser diviseur CN Alpha JPBB.

En effet, Il suffit d'ajouter un afficheur LCD 2 lignes et 1 bouton poussoir. De relier le pin 7 à un drivers de moteur PAP et nous avons un diviseur numérique universel !

Cet afficheur indiquera, par exemple, sur la première ligne, le nombre de division contenu dans le fichier et le rang de la dent en cours de taillage.
Le bouton poussoir sert au passage de la dent suivante.
Il suffit alors de créer un fichier F3.TX, de le mettre sur la carte SD que l'on introduit dans le lecteur Arduino et hop ! A nous les engrenages, cames, limaçons etc...

C'est évident comme l’œuf de Christophe Colomb !

@+
JC
 
J

jpbbricole

Compagnon
Bonjour Jean-Claude
Je propose de le baptiser diviseur CN Alpha JPBB
Ouahhhh! la gloire!
Grand merci JPB ! Tu es formidable, ça fonctionne du tonnerre de Dieu !
Il faut dire que tu est un excellent élève :smt041
J'ai un LCD keypad shield
Donnes-moi les références ou un lien.
Il restera des broches disponibles pour piloter les PAP ?
Il faut 2 broches DIR et STEP.

Cordialement
jpbbricole
 
J

JCS

Compagnon
JPB,

J'ai envoyé un message juste avant le tien.

En fait, je me demande si un afficheur I2C et un bouton poussoir ne conviendrait pas mieux que celui auquel je songeais :

P1020290_recadre.jpg


Voir le message avant le tien.

J'ai aussi celui ci de disponible, qui devrait suffire, à mon avis :



Pour le drivers, je pense à celui-ci :

img_5c23aab71042e.png


Il serait peut-être judicieux de prévoir que la première donnée sur la carte soit une variable de délai de pose entre chaque pas moteur, afin de déterminer sa vitesse de rotation.

@+
JC
 
Dernière édition:
J

jpbbricole

Compagnon
Bonjour Jean-Claude
J'ai envoyé un message juste avant le tien.
En fait, j'avais écrit ce message hier soir et j'ai oublié de le poster :smt021

J'ai aussi celui ci de disponible, qui devrait suffire, à mon avis :
C'est parfait et c'est en i2C donc câblage simplifié.
Pour le drivers, je pense à celui-ci :
C'est aussi parfait, tu deviens un expert!
Il serait peut-être judicieux de prévoir que la première donnée sur la carte soit une variable...
Pour garder un côté "carré" du fichier (c'est mon côté suisse qui ressort) je te propose un autre variante avec, en fin de ligne, un paramètre optionnel comme:
12P20
14
16
18P30
20
22
Ainsi, dès que l'on rencontre un P dans la ligne, cela devient le temps d'impulsion du MPAP pour les pas suivants.
Ainsi, depuis le pas 12 et suivant, la période des impulsions du MPAP sont de 20 Msec. et depuis le pas 18 et suivants la periode sera de 30 Msec.

Je vais faire le montage chez moi afin de mieux te suivre.

A+
Cordialement
jpbbricole
 
J

JCS

Compagnon
Pour garder un côté "carré" du fichier (c'est mon côté suisse qui ressort) je te propose un autre variante avec, en fin de ligne, un paramètre optionnel comme:

Excellent ! Cela deviendra encore plus intéressant lorsque l'on passera à 3 axes !
Mais il ne faut pas allez trop vite...

En tous cas, c'est en très bonne voie !

@+
JC
 
Haut