dsDRO

17 Avril 2007
2 306
Annecy (74)
- dsDRO
#1
Chose promise, chose due!
Et quitte à faire les choses, autant les faire bien!



Intro:
[hr]
dsDRO est un interface DRO (Digital ReadOut). Un DRO est un affichage sur machine outil de la position de l'outil.
Il est réalisé autour d'un dsPIC et fera l'interface entre les règles digitales chinoises et un PC (écran LCD possible dans le futur).


Les caractéristiques:
[hr]

Il y a:
  • 3 ports pour Pieds A Coulisse digitaux
  • 1 port utilisable soit pour un PAC, soit pour un encodeur quadrature (par exemple, pour un diviseur etc.)
  • Une entrée pour une fourche optique ou un capteur Hall pour mesurer la vitesse de rotation d'une broche
  • Un port d'extensions, pour le LCD et les prochaines évolutions!

Interfaces supportés:
  • Interface "2x24 bits"
  • interface 7 BCD
  • Interface PAC castorama

Affichage des positions :
  • Affichage sur un programme dédié: dsView
  • Affichage sur un écran LCD 4*20 ou graphique (cela viendra après que dsDRO soit complètement opérationnel sur PC)

et bien sûr il y aura un bootloader pour upgrader le firmware si une nouvelle fonction est apparue entre temps, ou qu'un bug a été corrigé :)


Si il y a des personne qui veulent participer, vous êtes les bienvenues :wink:


Avancement de la V1: 100%
[hr]
La première version de dsDRO est terminée. La plus part des fonctions prévues sont implémentées et testées, d'autres viendront par la suite.

  • Interface PC : OK
  • Initialisation de l'horloge, ports, etc. FAIT
  • Communication bas niveau (E/S série): FAIT
  • Capture des données des règles, protocole 2*24: 100% a tester
  • Capture des données des règles, protocole 7BCD: 100% a tester
  • Capture des données des règles, protocole "casto": OK
  • Capture d'interface TTL : 0%
  • Capture de la vitesse de la broche: 100% à valider
  • Entrée encodeur quadrature: 100%
  • Gestion bas niveau des menus: OK
  • Menus: 100%
  • Mise en forme des données pour les afficher:OK
  • Sauvegarde de la configuration en mémoire non volatile : OK
  • Alimentation (1.5V/-1.5V) des règles: Terminé. à valider
  • Interface 1.5V/5V entre règle et PIC: Terminé. à valider
  • dispositif permettant de forcer les sortie DATA et CLOCK des règles pour modifier leur mode de fonctionnement: Terminé. à valider
  • Routage de la carte mère: TERMINE
  • Routage des cartes filles (interface règle=>TTL) : TERMINE

Page du projet
[hr]
Toutes les informations utiles sont sur origo.
Il y a un serveur SVN pour récupérer les fichiers sources du code du dsPIC et du projet KiCAD pour le PCB.
La doc est encore un peu pauvre, elle doit recevoir encore pas mal de pages.
http://dsdro.origo.ethz.ch/wiki/doc




Assembler sa carte
[hr]​
La V1.0 est prête.
Les derniers fichiers (Firmware et dsView) seront bientôt à disposition. http://dsdro.origo.ethz.ch/download

Un dossier de construction est commencé, mais pas encore fini:

http://dsdro.origo.ethz.ch/wiki/doc#toc0


Bêta-testeurs
[hr]​
Pour signaler un bug ou proposer une amélioration, il y a un système de gestion intégré à Origio:
http://dsdro.origo.ethz.ch/issues


Photos
[hr]​

Proto de la version finale, à 30F4011. Il manque le connecteur d'extension​


Max
 
17 Avril 2007
2 306
Annecy (74)
- dsDRO
#3
romteb a dit:
J'ai pas les compétences mais tu as mon soutient moral :itm:

Encore un projet qui pootre :supz:
Ca avait l'air d'intéresser pas mal de monde, et comme ça risquait de m'être utile un jour ben je me suis lancé :wink:

Je vais peut être aussi dépoussiérer ma platine 18F4550 USB.
J'ai quelques trucs là dessus, je verrais ce que je peux en faire... vu que le port série est en voie de disparition :sad:

et même si ça fait le 3e projet que je mène de front, ça me permet de ne pas rester tout le temps sur le même projet, ça me gonfle au bout d'un moment.

A+
Max
 
19 Novembre 2007
904
POMMEUSE (77)
- dsDRO
#4
Je sens que ton projet pourrait être intéressant, mais certains termes m'échappent (OK, en électronique, j'ai à chaque fois décroché aux transistors :oops: ) Si tu pouvais expliquer le but final (avec des mots français pour que le nul que je suis puisse comprendre le pourquoi du comment) je pense que ça aiderait.

1) qu'est-ce qu'une interface DRO?
2) qu'est-ce qu'un dsPIC? ou un PIC?

BCD : Binaire Codé Décimal?

3) qu'est-ce qu'un C30?

Ensuite, tu codes ... quel langage pour quel processeur/machine?

Comme tu le vois, je te soutiens moralement dans ton projet, mais j'avoue que là, mon neurone a vraiment du mal! :lol:
 
17 Avril 2007
2 306
Annecy (74)
- dsDRO
#5
nektarfl a dit:
1) qu'est-ce qu'une interface DRO?
Les DRO (pour Digital ReadOut) sont sont des afficheurs digitaux, principalement pour les coordonnées d'une machine outil.
Le but est d'utiliser des pieds à coulisse électroniques, qui possèdent une sortie série de la position mesurée, et d'afficher les différentes coordonnées X,Y et Z (et même l'angle d'un axe A si on veut) sur un ordi ou un écran LCD plus grand et lisible que les afficheurs LCD des règles elles-même.

nektarfl a dit:
2) qu'est-ce qu'un dsPIC? ou un PIC?
une famille de microcontrôleurs vendu par Microchip, très performante et facile à programmer, en langage C (C30 est le compilo de Microchip)

nektarfl a dit:
BCD : Binaire Codé Décimal?
si je me souviens bien, oui :meganne:

nektarfl a dit:
Ensuite, tu codes ... quel langage pour quel processeur/machine?
en C (C30) sur un PC et pour un microcontrôleur (petite bébête à 28-40+ pattes qu'on soude sur un circuit imprimé)

nektarfl a dit:
Comme tu le vois, je te soutiens moralement dans ton projet, mais j'avoue que là, mon neurone a vraiment du mal! :lol:
hmm, oui je comprends, je vais essayer de faire le ménage dans tout ça demain (enfin ce midi)
ah, et fait bien gaffe à ton neurone, il est important celui-là^^

Max
 
17 Décembre 2006
11 920
F-54560 / Lorraine
- dsDRO
#6
Super Max-MoD,

C'est bien les gens qui tiennent leurs promesses :wink:

Comme mes prédécesseurs, je ne peu t'aider dans ce domaine... :???: ... mais je te soutien de toute mes forces pour que tu ailles au bout de ce projet....:wink:
... et que je puisse en profiter pour l'installer sur ma fraiseuse. :lol: :lol: :lol:

Je suis en train d'installer 3 PàC montés en règles sur les 3 axes et je prévois déjà le câblage pour alimenter les PàC et rappatrier les infos... :roll:

D'avance merci pour cette réalisation que tu vas partager. :smt038

Pourrais-tu déjà faire une liste du matériel qu'il faudra pour réaliser cet interface DRO afin que je commence à chercher le matos... :wink:
 
19 Novembre 2007
904
POMMEUSE (77)
- dsDRO
#8
Merci pour ces explications Max-Mod, je comprends maintenant bien mieux l'idée du projet, c'est de réaliser une visu 3D sur une machine. Je me sens désormais moins inutile car ayant, dans le passé programmé en objective C (NeXT et mac osX)
La programmation devant alors traduire une valeur en une série de bits pour que l'afficheur allume les diodes correspondant à la valeur affichée (voire même autre chose en cas de besoin)

Il est vrai que je n'ai jamais tenté de lire les valeurs qui étaient envoyées à partir d'un pied à coulisse numérique (est-ce un format numérique, ou une suite de caractères ASCII?)

wika58 a dit:
Serait-il possible que cet interface puisse aussi faire la vitesse de broche? 8-)
A priori, si un système de comptage permet de récupérer le passage de la broche en une position (par interruptions ?) Le calcul d'une vitesse de rotation doit pouvoir être faisable (si une horloge est aussi intégrée au système) mais peut-être cela complique-t-il l'idée initiale.
 
17 Décembre 2006
11 920
F-54560 / Lorraine
- dsDRO
#9
nektarfl a dit:
...
wika58 a dit:
Serait-il possible que cet interface puisse aussi faire la vitesse de broche? 8-)
A priori, si un système de comptage permet de récupérer le passage de la broche en une position (par interruptions ?) Le calcul d'une vitesse de rotation doit pouvoir être faisable (si une horloge est aussi intégrée au système) mais peut-être cela complique-t-il l'idée initiale.
La détection de rotation broche est très simple à faire avec un capteur opto... 8-)

Le microcontrôleur a une horloge interne. Peut-être pas hyperprécise, mais la précision que l'on recherche sur la vitesse de broche... :roll:
Si on fait un développement autour d'un PIC, pour la vitesse de broche, il faut juste une entrée supplémentaire et un bout de soft (que je suis incapable d'écrire ...) mais toute la gestion de l'afficheur ou de la liason vers le PC est déjà faite.

C'est pour cela que je "suggérais" cette option supplémentaire (qui pourrait être faite dans une phase II du projet mais qui serait prévue dès le début au niveau du HW...) :roll:
 
17 Avril 2007
2 306
Annecy (74)
- dsDRO
#10
alors les règles ont des protocoles de transmission série synchrone (comprendre une pin d'horloge et une pin de donnée) particulière.
Elles sont décrites sur Yadro.de

La liste du matériel requis est assez sommaire:
-Un PC :P
-Un pic programmé.
-un quartz (4 à 7.37MHZ)
-un MAX232 et ses condensateurs associés
-une prise DB9
-Des optocoupleurs seront peut-être à prévoir dans certains car car la masse des PAC est reliée au + de leur pile
-de quoi faire un alim -1.5V (ou 1.5V dans le cas ou la masse de la machine est isolée de la masse du PIC)
-De quoi monter la sortie à 1.5V à 5V (transistors/chip dédié?)
-Des condensateurs au tantale (entre 1 et 10µF devraient suffire) pour se passer des piles dans les PAC
-une source de courant 5V (à vue de nez, moins de 500mA), comme par exemple récupérée d'un port USB d'un PC


La vitesse de la broche (je l'avais oubliée celle-la) aura son entrée dédiée.
et en ce qui concerne l'horloge d'un PIC, avec un Quartz elle est hyper précise!
La partie soft est simple, je vais peut-être même commencer par ça, car je serais en mesure de ne tester que ça, j'ai pas (encore) de PAC digital...

Bien sur les suggestions sont bienvenues :wink:

Je publierais le code actuel dans quelques temps, je dois d'abord commenter, nettoyer tout ça, etc.
Mais je vous préviens de suite, la programmation sera très proche du silicone! (comprendre, il faut pas mal connaître l'HW du PIC)
Je m'efforce de faire un code qui fasse le plus abstraction possible des manipulations de registres du PIC, pour avoir une évolutivité plus simple.

A+
Max
 
17 Décembre 2006
11 920
F-54560 / Lorraine
- dsDRO
#13
Génial Max-MoD,

Je vais commencer à rassembler tout ça. :roll:
Dommage qu'on ne soit pas du même coin car des PAC j'en ai quelques'un (installés ou en attente de montage...).
Et là, j'aurais pu t'aider et participer au projet...

Pour le PIC, qu'elle référence ?

Une question complémentaire:
Le PC que je compte installer près de mes machines est un petit portable (HP Omnibook 6000) que mon amis est en train de me préparer sous Linux.
Dans ton projet, qu'as-tu prévu du côté PC?
Une aplication Windows (en C) ?
C'est normalement portable sur Linux... :?:

Je sais que certains sur ce forum sont intéressés par les applications de CNC sous Linux... :roll:
 
17 Avril 2007
2 306
Annecy (74)
- dsDRO
#14
oui on est quant même assez loin l'un de l'autre :lol:

pour le PIC, c'est à peu près comme tu veux dans la famille des pic 16bits...
il faut pas mal de mémoire, aussi le 30F4012 me semble bien proportionné.
j'en vois déjà qui soureint à la lecture de cette dernière ligne, mais je connais bien plus sur les 30F et C30 que les usuels 16F87x :)

coté PC, il faut juste un terminal série (même les MAC doivent en avoir un :P ), sinon je ferais une appli GTK linux portable sur win mac etc, vu qu'il y a apparemment des libs. RS232 itou itou :-D
mais pour l'appli PC, je suis un gros noob alors ça risque de prendre du temps :wink:
Je conaissais mieux Visual Basic mais c'est windaube uniquement (c'est caca tout plein et pas geek dutout)

A+
Max
 
20 Avril 2007
3 915
- dsDRO
#15
hello

je suis ton popost de pret

pour moi si tu peu faire un truc autonome donc avec 3 axe et 3ecran lcd par axe , avec option habituelle pour remise a zero de l'axe , cotation en pouçe/millimetre , paver numerique pour rajouter une valeur sur un des axe ,ect

voila le miminum a faire pour interesser tout le monde et moi en premier :lol:

avec si possible entree pour regle chinoise et encodeur a quadrature !! commutable !!

se serais le top

(ps je suis occuper a router les pcb pour les carte servo , normalement la semaine prochaine je devrais commençer les tests ^^