carte entrées/sorties USB pour Mach3 + plugin

  • Auteur de la discussion freedom2000
  • Date de début
F

freedom2000

Compagnon
Bonjour,

Je me suis amusé ces vacances avec les microcontroleurs de la gamme PIC18F4550. Ils permettent de facilement créer un petit device USB qui est reconnu par Windows sans installer de driver (mode HID Human Interface Device).

J'ai fait la carte PICDem de Microchip en partant de leur schéma et en simplifiant (presque) au maximum.

Voici ce que ça donne :

picdemjpg.jpg


Là dedans juste le PIC, le quartz et deux ou trois condos plus résistance sont indispensables pour faire marcher la carte. Elle est auto alimentée par le port usb et reste franchement compacte. Tous les ports sont accessibles sur des connecteurs externes et des boutons et des leds + des potentiomètres sont là pour faciliter les tests. Il y a même un port série utile pour le debug (donc inutile :wink: )

En voici une vue d'artiste. La vrai est identique :-D

usbpic18f4550.png


Là où ça devient chouette c'est que Microchip fournit une dll permettant d'encapsuler la partie "chiante" de l'usb. De même sur le forum de Mach3 on trouve un MachPlugInWizard réalisé par Ed Byron et qui a le bon goût d'être accompagné par une série de vidéos explicatives.
Il suffit alors de relier les deux et on peut créer (simplement) un plugin pour Mach3 permettant d'étendre la capacité d'entrées/sorties du port parallèle du PC.

A titre d'exemple voici un plugin simple qui fait peu de choses (mais les fait bien !)

- affiche dans une fenêtre modale :
- l'état de connexion de la carte
- quand on appuie sur un bouton de la carte
- la valeur du DRO "SpindleSpeedOverwrite"

pluginhid.jpg


et surtout permet d'intéragir sur les I/O de MAch3 :
- met on/off le Spindle quand on appuie sur le même bouton (1)
- resette le DRO de l'axe des Z (2)
- convertit la valeur d'un potentiomètre en consigne de vitesse pour la broche "SpindleSpeed". (3)


Bien sûr il ne s'agit que d'un exemple, les possibilités sont grandes et le plugin peut être complexifié pour le rendre "totalement" paramétrable sans code...
Au total toutes les pattes du PIC sont accessibles :
- 35 pattes d'I/O
- dont 13 convertisseurs AD


Les rafraichissement de toutes ces pattes se font à 10Hz (limitation de MAch3)

Je vous laisse regarder ce que ça donne dans une vidéo peu excitante :wink: . La partie que vous ne voyez pas, c'est la carte elle même sur laquelle :
- j'appuie sur un bouton (deux fois)
- je tourne un potentiomètre

N'hésitez pas à double cliquer pour ouvrir le fichier dans youtube et puis à passer en HD pour y voir plus clair :wink:



JP
 
F

fabrice c

Compagnon
bonjour
que dire devant cette réalisation...

c'est la ou la technicité rencontre la générosité

fabrice
 
F

freedom2000

Compagnon
mysteur yo a dit:
c'est une interface USB > RS232 ?

Non, c'est une interface USB "pure"

Le chip RS232 n'est là qu'à des fins de debug de la connexion USB... Je pense le virer dans la version définitive.

La carte sera alors réduite à sa plus simple expression : le µcontroleur, un quartz et des connecteurs d'entrée/sortie !

En gros c'est un clone de la carte Pokeys55T
Mais en bien moins cher :wink:

JP

2010-08-18_1537331.jpg
 
F

Foxtrot

Compagnon
Je ne peut qu'applaudir et te souhaiter beaucoup de réussite.

Je suivrai ton projet avec assiduité. :wink:
 
F

freedom2000

Compagnon
freedom2000 a dit:
En gros c'est un clone de la carte Pokeys55T
Mais en bien moins cher :wink:

JP

Question de fond... :-D

Les connecteurs vous les préférez à vis ou à picots ???

A vis = le pokeys
photo_56.jpg


(merci Sylvain)

JP
 
H

horsot

Compagnon
Bonsoir JP!

Je m'absente quelques temps et je vois que tu fais du C avec les pics maintenant, tu ne sais vraiment plus te tenir en place! :wink:

Joli projet, à quoi compte tu utiliser toutes ces I/O?

Coté électronique j'aurais mis des capas de découplage plus importantes pour l'alim (100nF c'est peu, en chimique la resistance de sortie est vraiment pas géniale...) surtout avec l'alim USB avec un MAX232 (qui contient un boost) dessus, enfin tu va me dire que je suis un chipoteur (en restant poli) :wink:

Amicalement

Xavier
 
F

Foxtrot

Compagnon
Jp, vu la diversité de ce qu'on peut y brancher, je crois qu'on ne peut faire autrement que de mettre des connecteurs à visser.

Il y a aussi les enfichables, encore un cran au-dessus côté pratique mais aussi plus cher.

Il n'existe pas de connecteurs à vis au pas de 2.5? On aurait le choix dans ce cas. :wink:
 
F

freedom2000

Compagnon
horsot a dit:
Bonsoir JP!

Je m'absente quelques temps et je vois que tu fais du C avec les pics maintenant, tu ne sais vraiment plus te tenir en place! :wink:

Salut camarade Toulousain

Ben oui j'ai du me mettre au C... J'ai du mal :wink:

horsot a dit:
Joli projet, à quoi compte tu utiliser toutes ces I/O?


Tu crois que ça va servir à quelque chose ce truc là toi ??? :-D

Plus sérieusement j'en manque un peu pour le plasma... et j'en ai marre de devoir virer le variateur de vitesse pour tester ma THC ...


horsot a dit:
Coté électronique j'aurais mis des capas de découplage plus importantes pour l'alim (100nF c'est peu, en chimique la resistance de sortie est vraiment pas géniale...) surtout avec l'alim USB avec un MAX232 (qui contient un boost) dessus, enfin tu va me dire que je suis un chipoteur (en restant poli) :wink:

Je te reconnais bien là :oops:
Mais tu sais moi je fais confiance à Microchip pour la capa. Voir pages 38 et suivante..
J'ai juste viré ce qui me paraissait superflu (du genre le power saving... et pas encore câblé le MAX232...) sinon le schéma est presque le même mais en moins cher :-D ce qui me permet de tester tous les progs de Microchip sans réinventer la roue...

Bon je ne résiste pas, je vous mets la photo en vrai !

JP

JPG_PICDem.jpg
Voir la pièce jointe PICDem_USB_users_guide_51526b.pdf mode d'emploi de la carte (version PICDem Microchip)
 
H

horsot

Compagnon
Re,

Je vois que tu as mis un de tes supports ZIP.

freedom2000 a dit:
Je te reconnais bien là :oops:
Mais tu sais moi je fais confiance à Microchip pour la capa. Voir pages 38 et suivante.. [...]
JP

Ok je suis sûrement un peu parano (on ne change pas). En tout cas fais attention avec le MAX232 il va te bruiter l'alimentation à coup sûr.

Bonne soirée

Xavier
 
F

freedom2000

Compagnon
horsot a dit:
Ok je suis sûrement un peu parano (on ne change pas). En tout cas fais attention avec le MAX232 il va te bruiter l'alimentation à coup sûr.

Bonne soirée

Xavier
Non tu n'es pas si parano que ça !!!

Pour tout te dire mon frangin a soudé une deuxième carte et il a oublié de mettre la capa de découplage (au milieu sur le côté droit)
Ben ça marchait pas :oops:

JP
 
F

freedom2000

Compagnon
Foxtrot a dit:
Jp, vu la diversité de ce qu'on peut y brancher, je crois qu'on ne peut faire autrement que de mettre des connecteurs à visser.

Il y a aussi les enfichables, encore un cran au-dessus côté pratique mais aussi plus cher.

Il n'existe pas de connecteurs à vis au pas de 2.5? On aurait le choix dans ce cas. :wink:

Un truc comme ça quoi ? :wink:

Mach3_USB_PIC18F4550.jpg
 
F

freedom2000

Compagnon
maxoo a dit:
Foxtrot a dit:
Il n'existe pas de connecteurs à vis au pas de 2.5?

Si! ref RS 220-4260 :wink:

C'est joli mais plutôt cher... 3,9 € pour 10 contacts...

R224026-01.jpg


Je vais rester en pas de 5mm

J'en ai trouvé sur ebay qui reviennent à 0,06 € le contact :wink:

JP
 
F

freedom2000

Compagnon
Finalement je l'ai réalisée.

Elle fonctionne très bien :-D

Un peu "massive" avec tous ses connecteurs à vis, mais très très pratique

t_carte_io_pic18f4550_519.jpg


Le PCB n'est pas très dense...

t_carte_io_pic18f4550_pcb_734.jpg


JP
 
M

mikomatik

Nouveau
Bonjour,

Très intéressante la réalisation. Bien vu.
Perso je préfère le cage clamp (Wago, Phoenix, ...), c'est testé ferroviaire (pour l'arrachement) et il n'y a plus besoin de visser/dévisser ...
 
F

freedom2000

Compagnon
mikomatik a dit:
Bonjour,

Très intéressante la réalisation. Bien vu.
Perso je préfère le cage clamp (Wago, Phoenix, ...), c'est testé ferroviaire (pour l'arrachement) et il n'y a plus besoin de visser/dévisser ...

J'avais ça sous la main, acheté pas cher sur ebay :wink:

JP
 
A

Anthony29

Nouveau
Bonjour,

Où en n'est le projet ?

Peut-on brancher un encodeur ?

A++
 
F

freedom2000

Compagnon
Anthony29 a dit:
Bonjour,

Où en n'est le projet ?

Peut-on brancher un encodeur ?

A++

A priori je répondrais non , mais un encodeur???? ça sort quoi comme signal cette bête ?

JP
 
A

alex01pernot

Apprenti
un encodeur, c'est un codeur rotatif, il sort des impulsion en quadrature lorsqu'ils tournent (suivant le model : 100, 500,1000,5000...)
je pense qu'Antony29 veux s'en servir pour connaitre la position de la machine peut etre dans le but d'avoir la vraie position de la machine et non celle que l'on espere (avec les moteur pas à pas).
C'est sa Anthony ?
 
F

freedom2000

Compagnon
alex01pernot a dit:
un encodeur, c'est un codeur rotatif, il sort des impulsion en quadrature lorsqu'ils tournent (suivant le model : 100, 500,1000,5000...)
je pense qu'Antony29 veux s'en servir pour connaitre la position de la machine peut etre dans le but d'avoir la vraie position de la machine et non celle que l'on espere (avec les moteur pas à pas).
C'est sa Anthony ?

Alors ma carte n'est pas compatible encodeur sauf bien sûr ç développer un bout de code qui ne doit pas être bien compliqué !

J
 
A

Anthony29

Nouveau
Bonsoir,

C'est effectivement a ca que je penser mais l'encodeur n'irait pas sur une

fraiseuse mais sur un tour pour avoir l'angle de la broche

Et pour le signal que ca sort regarde plus bas

A++

Signal encodeur.jpg
 
A

Anthony29

Nouveau
Bonjour,

Freedom2000 est que ta carte peut controler des interface pour piloter des

moteur pas a pas, comme signal y a besoin juste de (step et dir et enable)

Cordialement

Ps: le enable est facultatif
 
A

Anthony29

Nouveau
Bonjour,

Pour la partie carte sa bougera plus non ?

Si on veux brancher un encodeur y a juste la partie logiciel de la carte à

modifier ?

Cordialement
 
F

freedom2000

Compagnon
Anthony29 a dit:
Bonjour,

Pour la partie carte sa bougera plus non ?

Si on veux brancher un encodeur y a juste la partie logiciel de la carte à

modifier ?

Cordialement

Tout peut bouger :-D mais s'il y a un besoin particulier !

La carte telle qu'elle est, est "minimaliste", elle se contente d'offrir une capacité de boot/reset, d'upgrade du firmware, elle offre un interface USB et elle expose toutes les entrées/sorties disponibles du PIC.

Le reste est donc bien une affaire de logiciel (et donc d'expression de besoin) mais peut aussi nécessiter quelques adaptations des entrées sorties dans des cas particuliers...
exemple : ajout d'interface série, ajout d'interface I2C, mise en forme de signaux etc ...

JP
 
A

Anthony29

Nouveau
Re,

Donc pour 3 cartes de puissance, 3encodeurs ,3fin de course et le variateur

de vitesse que vous avez conçu ça réquisitionne combien d'entrée/sortie ?

Car j'ai 3 cartes de puissance mais pour le moment aucune carte de

commande j'aimerai utiliser celle que vous avez fabriquer

Cordialement
 
D

Doctor_itchy

Compagnon
yop peu tu me dire si ça pourrais être connecté a emc² ?


me dire le nombre d'entrée sortie analog et digital ??

la carte se comporte comme un port "paralelle" ? ou comme une interface I/O propre ??

y as t'il un temps de latence important entre une commande/position ?? (autant en entrée que en sortie ! )

merchi :D

ps tu vendrais combien un kit ? donc pcb + composant programmé mais non soudé ^^ ??
 
F

freedom2000

Compagnon
@ Anthony et DoctorItchy

Attention messieurs ma carte n'est pas une carte d'interpolation mais une carte d'entrées sorties numériques (ou entrées analogiques).

Cette carte peut être équipée de logiciel spécifique qui lui fait faire des fonctions :
- joystick 8 axes + switch
- simples I/O analogiques /numériques
- logiciel de bobineuse

MAIS ce n'est pas une carte d'interpolation comme il en existe (je n'ai pas fait le soft qu'il faut...)

Pour autant elle pilote deux moteurs PAPs dans sa version bobineuse... Oui mais à relativement basse vitesse et sûrement pas aux fréquences de steps que vous espérez avoir ...

Après on peut en faire plein de choses mais il faut savoir coder...

Je n'ai pas d'activité commerciale, car j'ai un vrai boulot qui me prend du temps...

Par contre si vous voulez faire une carte je peux tirer une carte :
pour les tarifs voici ce que je propose :

- carte nue étamée sérigraphiée : 18 €


Si vous voulez vous la faire je peux aussi fournir le typon

Pour le code je peux aussi aider un peu ou fournir le .hex du soft "bobineuse" et l'exe PC
Pour le soft carte I/O Mach3 je peux filer un exemple...


Quant au nombre d'IO il suffit de compter les connecteurs... sauf erreur 27... :wink:
Ces IO sont toutes configurables, il doit y en avoir 10 analogiques (ou numériques) et les autres full numériques.

JP
 

Sujets similaires

R
Réponses
6
Affichages
577
renaud.
R
D
Réponses
33
Affichages
821
dh42
El Zorro
Réponses
12
Affichages
500
El Zorro
El Zorro
D
Réponses
3
Affichages
522
djalex1664
D
D
Réponses
25
Affichages
2 431
el patenteux
E
M4vrick
Réponses
25
Affichages
803
schum22
S
K
Réponses
10
Affichages
749
Kmillo
K
Haut