Numérisation tour Proxxon PD 230E

jpbbricole
Compagnon
26 Mai 2016
1 956
Corsier-sur-Vevey (Vaud)
  • Auteur de la discussion
  • #1
Bonjour à tous

Tout d’abord, une petite mise au point.
Je suis avant tout mordu d’informatique, d’électronique et de programmation. Surtout la commande de »mécaniques » depuis de l’informatique. J’aime bien faire de la mécanique mais j’ai un gros problème de précision… Comme je passais par là, que votre forum est sympa….

Voilà, J’ai décidé de numériser mon petit tour, avec certains buts qui sont, en vrac, garder les manivelles, commandes depuis l’ordinateur avec GRBL, joystick pour les 2 axes avec préservation des coordonnées des axes dans GRBL, affichage LCD avec affichage des axes, possibilité de commander l’installation depuis n’importe quel navigateur Web (PC, tablette, smartphone…) avec également affichage des axes. Le projet est déjà largement avancé, je suis dans la phase « d’embellissement » de ces 3 modules et au fur et à mesure de l’avancement, je mettrai les photos en ligne.
Si quoi que soit vous intéresse, ne vous gênez pas.

En gros cela donne ceci :
upload_2016-5-30_15-50-28.png

Avec à gauche la console Web et à droite la console avec joystick et écran LCD 4x20.

Tout le système tourne autour de 3 Arduino

1 Arduino Yun, dans la console, qui sert de serveur Web et de spot wifi.
1 Arduino Mega, dans le pupitre, qui est le chef d’orchestre du montage.
1 Arduino Nano, avec GRBL, au niveau du tour, qui gère les moteurs PAP, qui reçoit le G-Code depuis le PC par le port USB ou depuis le pupitre par un bus interne.

Equipements de la partie tour proprement dite
Vue d’ensemble:

Motorisation axe X:
upload_2016-6-2_8-25-34.png
upload_2016-6-2_8-25-52.png
[div=none][arrow][/arrow][/div]

Motorisation axe Z:
upload_2016-6-2_8-26-17.png
[div=none][arrow][/arrow][/div]
upload_2016-6-2_8-26-6.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]Les moteurs sont des Nema17.

La commande:
upload_2016-6-2_8-26-43.png
upload_2016-6-2_8-26-56.png
[div=none][arrow][/arrow][/div]
upload_2016-6-2_8-27-12.png

La commande « tourne » sous GRBL 0.9i sur Arduino Nano .
Sur une carte CNC Shield Expansion Board V4.
Les connecteurs sont :
USB : Entension de l’USB de l’Arduino Nano.
L’alimentation 12v. qui alimente ce boîtier ainsi que le pupitre des joysticks.
Le connecteur à 8 est le bus reliant ce boîtier au pupitre.
Le bouton poussoir est l’extension du RST de l’Arduino.

La suite: description du pupitre joystick + affichage LCD.

A bientôt et bonne journée.

jpbbricole
 
Dernière édition:
tupitos
Apprenti
25 Octobre 2008
117
Saint omer
Bonjour,

Très beau projet ! je projette de faire un peu la meme chose sur mon tour russe.
N'avez vous pas de soucis lorsque vous repassez en manuel à cause de l'accouplement constant des moteurs ?
C'est du beau travail bien propre en tout cas quel matieres usinez vous ?
Une petite video d'un usinage serait possible ?

Bonne journée !
 
jpbbricole
Compagnon
26 Mai 2016
1 956
Corsier-sur-Vevey (Vaud)
  • Auteur de la discussion
  • #5
Bonjour tupitos
En mode manuel, il n'y a pas trop de problèmes, les Nema17 ne sont pas très puissants, celà freine juste un petit peu.
C'est une raison pour l'aquelle jai mis 2 joystick pour le manuel, avec cette méthode, je ne perd pas les coordonnées dans l'unité de commandes (GRBL)
Je tourne de l'alu et des fibres.
Pour la vidéo, dès que j'ai le temps....

Salutations et bonne après-midi

jpbbricole
 
lion10
Compagnon
7 Mai 2010
4 345
Bonjour
Je vais suivre car j'ai en tête de numériser dés que je pourrai un tour toyo ml210 qui ne dispose pas des pignons et je pense qu'une numérisation partielle sans passer par du dessin 3d permet de faire des filetages ou tout simplement du chariotage automatique avec des allers et retours en modifiant la profondeur de passe à chaque aller.

Concernant les moteurs pas à pas accouplés en permanence ils pourraient injecter une tension selon leur modèle, au driver de moteur, je me demande si ce n'est pas gênant avec un risque de destruction à la longue.

Vous avez gardé les manivelles mais en fait en manuel vous utilisez les joysticks qui permettent de commander électriquement les avances et de garder en mémoire embarquée les positions X et Y du tour. Je me demande s'il n'y aurait pas possibilité de récupérer les impulsions du moteur qui agirait comme un alternateur et permettrait de calculer les coordonnées.

Je pensais par exemple ajouter un moteur sur la broche pour faire de la division automatique.
Votre tour est donc un objet connecté si je comprends bien, ne craignez vous que quelqu'un s'introduise dans votre réseau, quelles mesures fiables avez vous prises ?
Sinon mais c'est moins gênant, le pirate pourrait théoriquement faire tourner votre tour à votre insu.
cdlt lion10
 
Dernière édition:
jpbbricole
Compagnon
26 Mai 2016
1 956
Corsier-sur-Vevey (Vaud)
  • Auteur de la discussion
  • #7
@lion10
Bonjour
simplement du chariotage automatique avec des allers et retours en modifiant la profondeur de passe à chaque aller
C'est un peu dans cet esprit que j'ai fait ce type d'installation. Cette manipulation peût être facilitée par l'emploi des joystick qui ont plusieurs modes de fonction. La page Web, elle, comprendra des lignes avec introduction facile des paramètres pour ce genre de simples fonctions de tournage.

Concernant les moteurs pas à pas accouplés en permanence ...
Je n'ai, jusqu'à maintenant, aucuns problème c'est certainement dû au fait que les Nema17 sont petits, donc pas très puissants. En mode non alimenté, les LEDs de l'Arduino clignottent.

possibilité de récupérer les impulsions du moteur
J'y ai pensé mais je n'ai pas trouvé le truc filliable.

Votre tour est donc un objet connecté
Oui il est accessible depuis mon réseau interne, comme je n'ai pas fait de port forwarding sur son adresse IP, celà diminue le risque.

Salutations

jpbbricole
 
Dernière édition:
lion10
Compagnon
7 Mai 2010
4 345
Bonjour

Je reviens sur votre développement logiciel afin de savoir quel outils vous utilisez pour la partie wifi ou éthernet :
Le serveur web embarqué dans la carte arduino YUN utilise des librairies et du codage arduino propre à la cible YUN.
Aurait il été possible d'utiliser une arduino UNO avec les cartes ad-hoc en plus ou selon vous la puissance de calcul n'aurait pas été suffisante ?

Dans quel langage avez vous décrit la page web que le serveur rend accessible et qui s'affichera donc sur n'importe qu'elle tablette ou smartphone qui fera office de client, du JISON c'est sans doute pas suffisant car il a des données saisies et reçues ?

Faire ce type de développement est il beaucoup plus compliqué que coder un client embarqué wifi pour interroger un site internet ?

Comment gérez vous dans les grandes lignes le fait que selon le client la dimension de l'écran varie ?

Le fait d'interroger votre serveur via un navigateur vous dispense donc de coder une application qui ne serait pas universelle car selon que ce soit une tablette Android ou un smartphone Winphone il vous aurait fallu coder 2 fois une application n'est ce pas ?

cdlt lion10
 
jpbbricole
Compagnon
26 Mai 2016
1 956
Corsier-sur-Vevey (Vaud)
  • Auteur de la discussion
  • #9
@lion10
Le serveur web embarqué
En effet, le Yun, dans sa partie « Arduino » utilise les librairies YunServer.h et YunClient.h avec que la convention que la page Web envoie les paramètre de la facon suivante : /arduino/par1/par2/…. Donc en débutant par /arduino/

La page Web est écrite en HTML et du Java et utilise ajax pour la communication avec l’Arduino.

La page Web index.htm doit sur la carte SD dans le répertoire .\arduino\www
Aurait il été possible d'utiliser
Le remplacement idéal et surtout moins cher quoi que nettement moins compacte, est le couple Arduino Leonardo avec le shield Iduino.
J’ai testé la solution, c’est absolument compatible.
Faire ce type de développement
Je n’ai pas très bien compris la question mais, pour résumer, c’est aussi compliqué que coder une page Web et écrire un programme Arduino. Pour ce qui est des connexions de ce montage, il est accessible par le LAN pour autant qu’il y soit connecté par câble et surtout le Yun est un spot wifi sur lequel l’utilisateur peut se connecter et comme l’installation est alimentée par un powerbank, il n’y a plus de fils (ou quasiment plus).
Le fait d'interroger votre serveur
Je ne me suis pas encore attelé au problème.

Ou. J’ai testé la solution depuis un PC, une tablette Windows 10, une tablette et un smartphone Android, sans problème.

L’idée de départ de ce « concept » c’est d’avoir une console pour tout les projets que j’ai ou vais développer, pour ceci j’ai créé un langage de communication Serie.
Ces montages se connecterons sur le Yun avec un câble à 3 fils.

Bonne soirée
jpbbricole
 
Dernière édition:
lion10
Compagnon
7 Mai 2010
4 345
Bonsoir
La page Web est écrite en HTML et du Java et utilise ajax pour la communication avec l’Arduino.
La page Web index.htm doit sur la carte SD dans le répertoire .\arduino\www
Donc si je comprends bien la page web est faite sur des outils PC puis stockée dans la carte SD de la carte Arduino.
Quel outil avez vous pris ? Word ne permet pas dans une certaine mesure de faire du HTML ?

La page n'est pas décrite par du code dans le logiciel embarqué sur Arduino. Est ce possible à votre avis sinon comme méthode ?

Vous avez du code Arduino avec une bibliothèque Ajax qui se contente d'accèder à la page Web qui est sur la carte SD.
Il faut donc obligatoirement une interface SD ou il aurait été possible de stocker cette page dans l'Arduino en supposant qu'il ait suffisamment de mémoire de type Eeprom ou une section de flash réservée à du stockage de donnée sans effacer le programme stocké également en flash ?

Je n’ai pas très bien compris la question mais, pour résumer, c’est aussi compliqué que coder une page Web et écrire un programme Arduino
Je voulais comparer la complexité avec celle du code tel qu'il peut être fait avec un module Wifi de type esp86. D'après ce que vous dites la difficulté serait pour moi d'apréhender l'Ajax et le Html pour créer une petite page Web qui afficherait des données et sache aussi capter les données saisies sur le terminal client petite tablette ou gsm winphone par exemple.

cdlt lion10
 
jpbbricole
Compagnon
26 Mai 2016
1 956
Corsier-sur-Vevey (Vaud)
@lion10
Donc si je comprends bien
Oui
Quel outil avez vous pris ?
Namo Web Editor 9 qui malheureusement n'est plus supporté. Il y a certainement beaucoup d'éditeurs Web sur le net.
Est ce possible
Il faut tout de suite oublier de mettre une page Web dans l'Arduino, pas assez de place.
Vous avez du code Arduino avec une bibliothèque Ajax
Non c'est le contraire. C'est la section Java/Ajax de la page Web qui envoie un request à l'arduino qui, lui, répond. L'initialisation du dialogue dans l'autre sens n'est pas possible.
Il faut donc obligatoirement une interface SD
Oui. Dans le cas du couple Arduino Leonardo avec le shield Iduino, la mémoire se trouve dans la clef USB que vous mettrez dans le slot du shield.
Je voulais comparer la complexité
Ce qui'il faut vraiment comprendre, avec le Yun, dans ce cas de figure, cette machine mâche la majorité du boulot, en effet, pour ce qui concerne la gestion de l'Ethernet, du Wifi et de la carte SD il n'y a aucune ligne de code à taper!!!!

jpbbricole
 
Dernière édition:
lion10
Compagnon
7 Mai 2010
4 345
Bonjour

Concernant mon interrogation sur le risque d'un objet connecté je comprends mieux la notion de réseau local ou externe accessible sur internet.
http://raspbian-france.fr/mettre-en-ligne-serveur-web-raspbian-dydns-port-forwarding/
Le lien ci-dessus est une bonne présentation.

Mais je suis certain que dans l'absolu il y a des risques car certains "hackers" ont sans doute trouvé le moyen de passer outre la box même s'il n'y a pas de redirection. Sinon quand la redirection est faite l'accès au réseau local c'est quelque part une porte d'entrée et l'accès aux autres périphériques du réseau local, par exemple l'accès du pirate à un ordinateur local est sans doute un risque avéré.
Mais je ne suis pas expert du domaine, je me documente et cela doit sans doute passer par du https plus d'autres verrouillages pour éviter des requêtes répétitives d'attaque.
cdlt lion10
 
wika58
Compagnon
17 Décembre 2006
12 529
FR-54560 Lorraine
AMHA, il faut aussi relativiser les choses...
Quel est l'intérêt d'un hacker à venir attaquer un pauvre inconnu....
Il n'y a aucune gloire ou reconnaissance des pères... comme hacker le serveur du Pentagone.
Mais bon dans l'absolu le risque existe.
 
Dernière édition:
jpbbricole
Compagnon
26 Mai 2016
1 956
Corsier-sur-Vevey (Vaud)
Bonjour
Quel est l'intérêt d'un hacher à venir attaquer un pauvre inconnu
Exacte!
@lion10
Les hackers font rarement des recherches de « trous » manuellement, c’est fait par des automates.
Le première précaution à appliquer dans cette mécanique, c’est de ne pas utiliser des numéros de ports standards en entrée, parce que trop connus.
Ainsi, si tu veux forwarder un serveur web qui se trouve sur le port 80 ou FTP sur 21 ou SSH 22 en standard, il faut mettre d’autres ports « bidons » en entrée et mettre comme port destination le numéro standard.

Bonne journée
jpbbricole
 
jpbbricole
Compagnon
26 Mai 2016
1 956
Corsier-sur-Vevey (Vaud)
Numérisation du tour Proxxon PD230 E
Partie Pupitre :
Les composantes, chassis et alimentation :
upload_2016-6-10_16-29-2.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]
upload_2016-6-10_16-29-10.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]
Entrée alimentation 12v. converti en 5v. (réserve) et 9v. pour Arduino Mega
Les autres connecteurs sont : jack 3.5mm =bus de connexion avec console Web
Connecteur 8 broches = bus avec boîtier GRBL.

Les joystick :
upload_2016-6-10_16-31-40.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]
upload_2016-6-10_16-31-55.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]

Le jack, à droite est le connecteur des palpeurs du homing des axes Z et X du tour.

Le processeur
upload_2016-6-10_16-34-1.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]
Arduino Mega choisi pour ces 3 ports série et sa puissance.

L’écran LCD 4x20 :
upload_2016-6-10_16-34-27.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]
upload_2016-6-10_16-34-34.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]
Interface I2c et 6 touches sensor pour paramétrer les fonctions du pupitre.

Le tout monté :
upload_2016-6-10_16-35-40.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]
upload_2016-6-10_16-35-54.png
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]

La prochaîne étape est d'équiper ce pupitre de bluetooth afin d'installer un (une?) DRO sur tablette comme celle-ci.
Les données X, Y, Z et l'état (run idle) sont issues du processeur GRBL qui transitent dans l'Arduino Mega.

A bientôt
 
Dernière édition:
La dernière réponse à ce sujet date de plus de 6 mois
Haut