Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Piloter une CNC avec Raspberry PI
- F6FCO

Expert- Messages : 2846
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : Banlieue sud de Klyntar
- Contact :
J'utilisais des contacts ils, maintenant des fourches optiques mais tu pourras faire les essais avec un simple bouton poussoir ou juste un fil Dupond ce sera pareil. Ce que je voudrais c'est comprendre le principe de fonctionnement de la prise d'origine, après la façon dont on fait le contact est secondaire.
Pour simplifier la chose j'ai tout débranché et laissé le GPIO nu et j'ai fait des tests:
J'ai lancé une prise d'origine Z dans AXIS, bien sur la machine est déconnectée, juste le raspi connecté à l'écran pour voir le défilement de Z sur AXIS.
Origine Z sur pin12 (du bornier)
- connecté pin12 à la masse
- connecté pin12 au 3.3
- connecté pin12 à la masse avec une pullup 10K sur le 3.3
Rien ne se passe ou çà génére des erreurs, est-ce que çà vient de mon raspi ou de la config ? même le minet flatuleur ne sais plus que faire.
Donc si tu trouves le temps les tests de ton coté m'apprendraient beaucoup.
Pour simplifier la chose j'ai tout débranché et laissé le GPIO nu et j'ai fait des tests:
J'ai lancé une prise d'origine Z dans AXIS, bien sur la machine est déconnectée, juste le raspi connecté à l'écran pour voir le défilement de Z sur AXIS.
Origine Z sur pin12 (du bornier)
- connecté pin12 à la masse
- connecté pin12 au 3.3
- connecté pin12 à la masse avec une pullup 10K sur le 3.3
Rien ne se passe ou çà génére des erreurs, est-ce que çà vient de mon raspi ou de la config ? même le minet flatuleur ne sais plus que faire.
Donc si tu trouves le temps les tests de ton coté m'apprendraient beaucoup.
Piloter une CNC avec Raspberry PI
D'accord donc en gros tu souhaites que je lance une prise d'origine du Z mais sans brancher aucun PAP. OK
Et que je simule un point d'origine pour voir si axis accepte en reliant la pin a la masse ?
Si oui comment tu lance une prise origine Z ? Désolé les CNC et axis ça fait 2 pour moi
si tu as un screen je suis preneur
Ou avec une commande MDI peut être ?
@++
Et que je simule un point d'origine pour voir si axis accepte en reliant la pin a la masse ?
Si oui comment tu lance une prise origine Z ? Désolé les CNC et axis ça fait 2 pour moi
Ou avec une commande MDI peut être ?
Code : Tout sélectionner
G38.2 Z-30 F100@++
Piloter une CNC avec Raspberry PI
- F6FCO

Expert- Messages : 2846
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : Banlieue sud de Klyntar
- Contact :
Non, plus simple puisque tu as déjà AXIS d'installé, pas besoin d'avoir une cnc.
Il suffit d'aller dans le menu Machine et de lancer une prise d'origine générale ou pour un seul axe. Par exemple seulement pour l'axe Z, ensuite tu vois les chiffres du déplacement défiler à l'écran, c'est le déplacement de ton chariot Z. Mais il ne se passe bien sur rien en dehors puisque tu n'as pas de CNC mais AXIS ne le sait pas et attends une opération extérieure sur la pin 12 pour stopper le déplacement.
Et c'est là que tu fais les tests sur le GPIO pour voir comment stopper cette prise d'origine.
Il suffit d'aller dans le menu Machine et de lancer une prise d'origine générale ou pour un seul axe. Par exemple seulement pour l'axe Z, ensuite tu vois les chiffres du déplacement défiler à l'écran, c'est le déplacement de ton chariot Z. Mais il ne se passe bien sur rien en dehors puisque tu n'as pas de CNC mais AXIS ne le sait pas et attends une opération extérieure sur la pin 12 pour stopper le déplacement.
Et c'est là que tu fais les tests sur le GPIO pour voir comment stopper cette prise d'origine.
Piloter une CNC avec Raspberry PI
Très bien chef...
Je comprends vite mais il faut expliquer longtemps
Début de semaine prochaine je te fais ça. Peut être même ce weekend
@++
Je comprends vite mais il faut expliquer longtemps
Début de semaine prochaine je te fais ça. Peut être même ce weekend
@++
Piloter une CNC avec Raspberry PI
Piloter une CNC avec Raspberry PI
Oui on verra comment les.tests se passent mais c'est en effet une option qui peut faire avancer plus rapidement le chmilibilibique
@++
@++
Piloter une CNC avec Raspberry PI
- F6FCO

Expert- Messages : 2846
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : Banlieue sud de Klyntar
- Contact :
J'ai fait un petit programme Python ce matin, une led sur une pin reconnue bonne la pin3 en l'occurence. Et cette led clignote si met une autre pin en input à la masse.
Résultat: toutes les pins déjà reconnues bonnes le sont effectivement et les pins déjà reconnues HS le sont aussi, rien n'a changé mais j'ai validé d'une autre façon.
Les pins HS font clignoter la led mais sans les mettre à la masse, ce qui indique qu'elles le sont en permanence.
Pas eu le temps mais je vais recommencer le test en ne mettant pas de pullup interne car je ne sais pas si LinuxCNC l'utilise.
En changeant la ligne sans pullup. Dans le but de comprendre comment LinuxCNC utilise ses capteurs.
Résultat: toutes les pins déjà reconnues bonnes le sont effectivement et les pins déjà reconnues HS le sont aussi, rien n'a changé mais j'ai validé d'une autre façon.
Les pins HS font clignoter la led mais sans les mettre à la masse, ce qui indique qu'elles le sont en permanence.
Code : Tout sélectionner
import RPi.GPIO as GPIO
import time
# Configuration des broches
LED_PIN = 2 # GPIO 2 correspond à la broche physique 3
INPUT_PIN = 18 # GPIO 18 correspond à la broche physique 12
# Configuration de la bibliothèque RPi.GPIO
GPIO.setmode(GPIO.BCM) # Utilisation du numéro de GPIO
GPIO.setup(LED_PIN, GPIO.OUT) # Configuration de la broche LED en sortie
[code=php]GPIO.setup(INPUT_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Configuration de la broche d'entrée avec pull-up interne[/code]
while True:
# Lecture de l'état de la broche d'entrée
if GPIO.input(INPUT_PIN) == GPIO.LOW: # Si la broche est à la masse
# Faire clignoter la LED à 200 Hz (5 ms allumée, 5 ms éteinte)
for _ in range(3): # Clignoter 3 fois
GPIO.output(LED_PIN, GPIO.HIGH) # Allumer la LED
time.sleep(0.005) # Attendre 5 ms
GPIO.output(LED_PIN, GPIO.LOW) # Éteindre la LED
time.sleep(0.005) # Attendre 5 ms
time.sleep(1) # Attendre 1 seconde avant de vérifier à nouveau
else:
GPIO.output(LED_PIN, GPIO.LOW) # S'assurer que la LED est éteinte
time.sleep(0.1) # Petite pause pour éviter une utilisation excessive du CPU
Pas eu le temps mais je vais recommencer le test en ne mettant pas de pullup interne car je ne sais pas si LinuxCNC l'utilise.
En changeant la ligne sans pullup. Dans le but de comprendre comment LinuxCNC utilise ses capteurs.
Code : Tout sélectionner
GPIO.setup(INPUT_PIN, GPIO.IN) # Configuration de la broche d'entrée sans pull-up interne Piloter une CNC avec Raspberry PI
- F6FCO

Expert- Messages : 2846
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : Banlieue sud de Klyntar
- Contact :
Ca y est
J'ai enfin débrouillé le smilblic, un truc tout simple auquel j'aurai du penser de suite mais quand on a l'esprit formatté sur une idée et le nez dans le guidon...
En fait un mauvais concours de circonstances:
Avec la DB25 les capteurs d'origines étaient à 5v sous pull-up et passaient à 0v au contact. Je me suis évertué à vouloir faire la même chose avec le raspi, alors qu'avec le raspi il faut commuter la pin au 3.3 lors du contact d'origine. J'avais bien sur fait des tests dans ce sens et j'étais resté sur les résultats négatifs, mais c'était avant de tester toutes mes pins et je faisais ces tests sur une des pins HS. Du coup j'étais resté sur le fait que commuter au 3.3 ne fonctionnait pas. Et j'étais resté sur les pins HS en out sans avoir testé en input.
En plus de çà le fichier.ini créait une erreur et je ne polarisais que sur le .hal. Pas mal de trucs à débrouiller ensembles donc.
Aujourd'hui j'ai codé un petit programme de test en python pour tester toutes les pins avec un poussoir et une led, je me suis aperçu que les pins HS en out l'étaient aussi en input, ce qui faussait tous mes essais.
Changé de pin pour l'origine Z, modifié les pcb de prises d'origines en leur rajoutant un pont diviseur 4.7k/10k pour baisser le le 5v à 3.3 et çà fonctionne. LinuxCNC va pouvoir tourner sous Raspi.
Et je ne vais pas déranger Venom ce WE
J'ai enfin débrouillé le smilblic, un truc tout simple auquel j'aurai du penser de suite mais quand on a l'esprit formatté sur une idée et le nez dans le guidon...
En fait un mauvais concours de circonstances:
Avec la DB25 les capteurs d'origines étaient à 5v sous pull-up et passaient à 0v au contact. Je me suis évertué à vouloir faire la même chose avec le raspi, alors qu'avec le raspi il faut commuter la pin au 3.3 lors du contact d'origine. J'avais bien sur fait des tests dans ce sens et j'étais resté sur les résultats négatifs, mais c'était avant de tester toutes mes pins et je faisais ces tests sur une des pins HS. Du coup j'étais resté sur le fait que commuter au 3.3 ne fonctionnait pas. Et j'étais resté sur les pins HS en out sans avoir testé en input.
En plus de çà le fichier.ini créait une erreur et je ne polarisais que sur le .hal. Pas mal de trucs à débrouiller ensembles donc.
Aujourd'hui j'ai codé un petit programme de test en python pour tester toutes les pins avec un poussoir et une led, je me suis aperçu que les pins HS en out l'étaient aussi en input, ce qui faussait tous mes essais.
Changé de pin pour l'origine Z, modifié les pcb de prises d'origines en leur rajoutant un pont diviseur 4.7k/10k pour baisser le le 5v à 3.3 et çà fonctionne. LinuxCNC va pouvoir tourner sous Raspi.
Et je ne vais pas déranger Venom ce WE
Piloter une CNC avec Raspberry PI
Ah mais c'est génial ça. Donc en gros tu dois mettre ta pin en IN et envoyer du 3.3v quand tu arrives sur le contacteur c'est ça ?
Ou l'inverse ?
en tout cas. Le Rpi va chauffer ce weekend je le sent
@++
Ou l'inverse ?
@++
Piloter une CNC avec Raspberry PI
- F6FCO

Expert- Messages : 2846
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : Banlieue sud de Klyntar
- Contact :
Ouais génial
Pas encore chauffer car un peu de boulot mais l'horizon est beau.
Pin libre en IN dans le .HAL. Je ne connais pas la programmation interne de LinuxCNC et je ne sais pas si le GPIO permet la mise en place de pull-down mais la pin est libre (0v au multimètre), au contact on se met au 3.3v. Tu peux faire des tests avec ton LinuxCNC sans rien de branché.
Le GPIO fonctionne en 3.3v et j'ai du 5v présent sur les platines de contact, je l'ai rabattu à 3.3 avec un pont diviseur.
Il reste à graver de nouvelles platines propres car j'ai pas mal charcuté au cutter les anciennes pour les essais.
C'est génial mais çà met une de mes premières idées au tapis je comptais construire un cyberDeck que j'aurai baladé sur les deux CNC à la demande. La grosse CNC béton ayant encore son PC/DB25 valide donc des platines origines ancienne façon avec mise à la masse, elle ne pourra donc pas tourner sous raspi tant que son PC reste vivant.
Petit inconvénient sans conséquences
Je ne pourrai pas bosser dessus demain, je vais chercher un chien.
Schéma modifié:
Pas encore chauffer car un peu de boulot mais l'horizon est beau.
Pin libre en IN dans le .HAL. Je ne connais pas la programmation interne de LinuxCNC et je ne sais pas si le GPIO permet la mise en place de pull-down mais la pin est libre (0v au multimètre), au contact on se met au 3.3v. Tu peux faire des tests avec ton LinuxCNC sans rien de branché.
Le GPIO fonctionne en 3.3v et j'ai du 5v présent sur les platines de contact, je l'ai rabattu à 3.3 avec un pont diviseur.
Il reste à graver de nouvelles platines propres car j'ai pas mal charcuté au cutter les anciennes pour les essais.
C'est génial mais çà met une de mes premières idées au tapis je comptais construire un cyberDeck que j'aurai baladé sur les deux CNC à la demande. La grosse CNC béton ayant encore son PC/DB25 valide donc des platines origines ancienne façon avec mise à la masse, elle ne pourra donc pas tourner sous raspi tant que son PC reste vivant.
Petit inconvénient sans conséquences
Je ne pourrai pas bosser dessus demain, je vais chercher un chien.
Schéma modifié:
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Coin Fourre-tout »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 8 invités
