WIDGETS GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
VISITES

   visiteurs

   visiteurs en ligne

Où ça, qui ça?
Interfacer Gambas - commande de moteurs
COMMANDE DE MOTEUR PAS A PAS PAR LE PORT PARALLELE


                       

PROGRAMME EN GAMBAS POUR LE PILOTAGE DE MOTEURS
PAS A PAS VIA LE PORT PARALLELE.
(Version Non Terminée)

réalisé par pierre D.


TABLE DES MATIERES



  • But de ce      programme

         
  • Principe de      fonctionnement

         
  • Utilisation      du programme

         
  • Todo

         
  • Licence

         
  • Contact


BUT DE CE PROGRAMME


C'est en désirant créer une application me permettant de commander des moteurs pas à pas afin de numériser des petites machines-outils que j'ai développé ce petit programme.


Je vous présente ici une ébauche du programme final mais pas mal de choses reste encore à terminer.


Soyez indulgent car il s'agit seulement  de  mon 2ème programme en Gambas. Si vous avez des remarques ou suggestions, vous pouvez me contacter à info@horlogedantan.com


Il existe sous linux une application très bien aboutie et ayant fait largement ses preuves EMC2 :

http://linuxcnc.org/


Mais ce que je recherche c'est de développer une application interne destinée à une machine bien précise et dans ce cas EMC2 n'est pas utilisable sauf réécriture de l'interface en C.

Exemple d'utilisation : tour numérique, table x,y, machine à tailler les engrenages, etc...

Ce que je vous propose ici, c'est un programme avec un certain nombre de fonctions opérationnelles, bouton de déplacement des axes, fonction arrosage et arrêt urgence...

Ensuite, chacun à partir des sources (principe des programmes open source) peut utiliser et modifier le programme comme bon lui semble.

Actuellement, je sais uniquement commander le port parallèle mais si quelqu'un désire le modifier et l'adapter pour  l'USB...

Par ailleurs, le port parallèle est en disparition mais il existe toujours des cartes d'extension que vous pouvez ajouter à votre pc.

Une carte électronique va vous permettre d'interpréter les signaux via un connecteur DB25.

Pour de petites applications, vous pouvez utiliser d'anciens PC type pentium II avec une Debian de base avec une interface graphique légère et y installer Gambas.

J'ai testé et c'est efficace. Attention, pour les moteurs pas à pas, vous devez en principe utiliser un noyau en temps réel. Ce noyau est automatiquement utilisé lorsque vous installez la version spéciale Ubuntu-Emc (voir pour infos sur le site de Emc).

J'avais fait des essais en Qbasic (plus développé actuellement), des essais en C mais il est difficile pour un débutant en programmation de réaliser facilement une interface graphique.

Après différents essais avec des basics, je me suis tourné vers Gambas. Durant ces derniers mois, Gambas s'est développé fortement avec l'apparition d'un nouveau forum très dynamique, d'un site et d'un Wiki.:

Doc officielle : http://www.gambasdoc.org/help/howto/parport?fr

Site sur Gambas :

Forum : forum/

Wiki : http://wiki-gambas.eg2.fr/doku.php

Site sur EMC2 : http://linuxcnc.org/


PRINCIPE DE FONCTIONNEMENT


Contrairement à des moteurs conventionnels, les moteurs pas à pas se commandent via une électronique spéciale. Il faut distinguer trois parties :

  • La partie      commande qui gère les impulsions du port parallèle ainsi que les      buttées et fin de courses;

         
  • La partie      puissance qui commande directement les moteurs;

         
  • La partie      alimentation qui fournit l'alimentation aux moteurs.


L'électronique de commande reçoit des impulsions du port parallèle, elle se charge de les convertir et de commander ensuite le moteur.

Les impulsions sont des états hautou bas qui sont envoyé sur les broches du port parallèle suivant le système binaire.

Pour envoyer une impulsion sur un moteur, vous devez ouvrir le fichier Linux qui gère les port DEV/PORT. Ensuite réaliser une boucle. Cette boucle écrit une valeur hexadecimale, pendant une temporisation de quelques millis secondes. En faisant varier la temporisation vous modifiez la vitesse du moteur.


Doc sur les moteurs pas à pas : http://fr.wikipedia.org/wiki/Moteur_pas_%C3%A0_pas

Carte de commande : http://www.otocoup.com/CarteL6208.htm

Site sur la cnc : http://cncloisirs.com

Fournisseur : www.iprocam.com

Fournisseur : www.soprolec.com

Doc sur le port parallèle : http://www.stielec.ac-aix-marseille.fr/cours/abati/centronic.htm


Voilà un exemple de code d'écriture sur le port parallèle qui m'a été aimablement fourni par Benoît Minisini, le concepteur de Gambas :


PUBLIC SUB Main()

DIM iValue AS Byte
DIM hPort AS File

hPort = OPEN "/dev/port" FOR READ WRITE

SEEK #hPort, &H378
iValue = 255
WRITE #hPort, iValue

PRINT "ok"

END

Pour m'aider à comprendre le fonctionnement du port parallèle, j'ai réalisé mon premier programme en gambas "Moniteur d'état du port parallèle" qui permet d'afficher les entrées et sorties du port. Ce programme est disponible sur le site ou je peux également vous l'envoyer par mail 

UTILISATION DU PROGRAMME


Pour pouvoir écrire sur le port parallèle en linux, vous devez être en Super Utilisateur (ROOT)


Voilà comment le lancer sous ubuntu :


  • Gambas2 doit      être installé sur votre PC;

         
  • Lancer      Nautilus (explorateur de fichier) en Root pour changer les droits du      programme :

         


    Alt+F2 et      ensuite GKSUDO Nautilus + votre mot de passe;

         
  • Dans      Nautilus vous      vous rendez dans le répertoire du programme;

         
  • Clique droit      + permission et changer toutes les permissions en ROOT;

         
  • Lancer      Gambas en root et exécuter le programme Alt+F2 et ensuite GKSUDO      gambas2


Une autre possibilité est de créer un groupe suivant l'astuce de Mr Laurent Carlier :

http://www.ac-creteil.fr/reseaux/systemes/linux/comptes-utilisateurs.html
http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html


TODO


Cette version du programme est une ébauche de la version finale, voilà un certain nombre de choses à faire :


  • Actuellement,      uniquement l'axe X est disponible, ajout des commandes pour Y et Z;

         
  • Uniquement      les sorties sur le port parallèle sont utilisables. Mise en      fonction des entrées avec ainsi utilisation des butées;

         
  • Utilisation      d'un fichier texte pour enregistrer et lire la configuration du      programme;

         
  • Mise en place d'une rampe      d'accélération nécessaire pour utiliser les moteurs pas à pas      dans certaines plages de vitesse;

         
  • Utilisation de touche de clavier pour      le lancement des fonctions;

         
  • Rajout de fonction telle       que prise d'origine machine, etc...


Contribution de Pierre D. le 17/09/2009



Date de création : 19/10/2009 @ 23:50
Dernière modification : 19/10/2009 @ 23:51
Catégorie : Interfacer Gambas
Page lue 4128 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article


Réaction n°1 

par ivan le 18/09/2013 @ 10:57

I download the example program but can not opened.

ACCES RAPIDE
RECHERCHE




LOGICIELS GAMBAS 2
LES INSTRUCTIONS
LES COMPOSANTS
Divers

^ Haut ^