Aller au contenu


Photo
- - - - -

Projet de robotique


  • Veuillez vous connecter pour répondre
10 réponses à ce sujet

#1 Douglas71

Douglas71

    Nouveau membre

  • Membres
  • 5 messages

Posté 11 septembre 2014 - 03:15

Bonjour à tous ! Je suis nouveau ici, mais bref, rentrons dans le vif du sujet :

Je dois réaliser un robot trieur de résistances, et je me heurte à un gros problème :
J'aimerai que mon robot connaisse sa position ( au dessus de quel bac de réception se trouve-t-il ), et pour cela, j'ai imaginé un système de code barre ( sur les bacs ), et d'un lecteur optique ( du style lecteur de code barre ;) ). Le problème : pas beaucoup d'infos sur le net, et je ne vois pas comment faire.

L'idéal serait un lecteur optique qui me renvoi mon code barre codé sur 8bits à chaque scan, mais cela existe-t-il ?

Avez vous des idées ?

En vous remerciant d'avance, Douglas71 :)

#2 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 11 septembre 2014 - 04:52

Salut !

Si c'est toi qui construit les codes barre, tu dois pouvoir gérer la lecture simplement avec des photodiodes : si tu viens poser le capteur sur le code barre, que tous tes codes barres font max 8 bit. tu peux avoir une ligne de 8 photodiodes qui mesurent la lumière, chaque diode étant 1bit.
Après, sans connaître ton système, il est difficile de te donner une solution qui marche à 100%.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#3 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 11 septembre 2014 - 07:12

En sachant également qu'il faudra après un logiciel pour décrypter et interpréter ce qui est lu. Je pense que pour cette partie tu gagnerai plus de temps si tu optais pour un système existant ce qui te permettrai de creuser plus sur la partie du tri par la suite.

cela dit regarde quand même par là éventuellement : lien

R1D1 a raison quand il dit

Après, sans connaître ton système, il est difficile de te donner une solution qui marche à 100%

. Tu devrai présenter ton projet plus en détails si tu veux plus d'aide.

#4 ChristianR

ChristianR

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Male
  • Location:Isère (38)

Posté 11 septembre 2014 - 10:22

S'il s'agit simplement de ranger des objets dans des cases, un plateau tournant avec des casiers disposés en "parts de tarte" fait l'affaire, on impose sa position angulaire avec un moteur pas à pas et on fait tomber les objets un par un dans la bonne boite.
Christian

#5 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 18 septembre 2014 - 01:12

Bonjour à tous ! Je suis nouveau ici, mais bref, rentrons dans le vif du sujet :

Je dois réaliser un robot trieur de résistances, et je me heurte à un gros problème :
J'aimerai que mon robot connaisse sa position ( au dessus de quel bac de réception se trouve-t-il )
Avez vous des idées ?

En vous remerciant d'avance, Douglas71 smile.gif

J'ai pas tous les détails de ton projet mais moi comme ça je proposerais des puces RFID passive sur chacun de tes bac et les lecteur actif est capable de lire les info, de plus tu peux mettre à jour les info délivrée par les puces ... ( quantitée de résistance etc... ) 

Bon courage pour la suite ! 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#6 Douglas71

Douglas71

    Nouveau membre

  • Membres
  • 5 messages

Posté 06 novembre 2014 - 03:47

Et bien merci à vous tous ! Mais malheureusement, ne disposant que de 96h pour réaliser ce projet avec un collègue, on oubliera la partie optique, le µc stockera en mémoire les coordonnées des casiers ^^

 

En revanche, je reviens à vous pour une question qui me tracasse :

 

Je travaille avec un PIC16F886 ( datasheet page 5 ), et j'ai un soucis avec mon port A que je met en lecture analogique ( TRISA et ANSEL sont configurés et je met le PORTA à 0 ), le problème, c'est quand je veux lire une tension par exemple de 2.5V, mon µc "force" le 0V et du coup la mesure disparaît.

 

J'ai eu une idée, mettre le bit du port A avec lequel je lis à 1 (5V), mais soucis ! La mesure de 2.5V passe alors à 5V !

 

Comment faire ? Créer un montage électronique en amont de ma mesure ? Configurer le µc autrement ?

 

PS : quand j'utilise une alim stabilisée de mon IUT ( elles sont toutes neuves ), la lecture n'est pas faussée, c'est bien mon alim stab. qui force le niveau de tension alors que le µc est configuré de la même manière. Donc le problème survient seulement quand j'utilise un montage du style pont diviseur de tension, ou résistance en série avec une source de Howland.

 

J'espère avoir été clair, et j'espère aussi que vous pourrez m'éclairer :)

Merci d'avance !



#7 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 07 novembre 2014 - 01:01

Et bien merci à vous tous ! Mais malheureusement, ne disposant que de 96h pour réaliser ce projet avec un collègue, on oubliera la partie optique, le µc stockera en mémoire les coordonnées des casiers ^^

 

En revanche, je reviens à vous pour une question qui me tracasse :

 

Je travaille avec un PIC16F886 ( datasheet page 5 ), et j'ai un soucis avec mon port A que je met en lecture analogique ( TRISA et ANSEL sont configurés et je met le PORTA à 0 ), le problème, c'est quand je veux lire une tension par exemple de 2.5V, mon µc "force" le 0V et du coup la mesure disparaît.

 

J'ai eu une idée, mettre le bit du port A avec lequel je lis à 1 (5V), mais soucis ! La mesure de 2.5V passe alors à 5V !

 

Comment faire ? Créer un montage électronique en amont de ma mesure ? Configurer le µc autrement ?

 

PS : quand j'utilise une alim stabilisée de mon IUT ( elles sont toutes neuves ), la lecture n'est pas faussée, c'est bien mon alim stab. qui force le niveau de tension alors que le µc est configuré de la même manière. Donc le problème survient seulement quand j'utilise un montage du style pont diviseur de tension, ou résistance en série avec une source de Howland.

 

J'espère avoir été clair, et j'espère aussi que vous pourrez m'éclairer :)

Merci d'avance !

 

TRISA est configuré correctement et tu obtiens quand même le fait que ton µc " force un état en sortie " ? 

En changeant d'alim ça marche ? 

Hum comme ça sans autre données, je dirais que pour une raison encore obscure puisque je ne connais pas ton montage, tu arrive à reset ton microcontrôleur via une chute de tension sur l'alimentation de ton pic ... et lors du reset le pic force l'etat des ces pattes comme tu le vois ...

Ou sinon un problème de code combiné à une erreur d'observation ... ( genre pas les même codes observé à l'iut et ailleurs ou mauvaise observation ... ) 

Bref pour plus de détail je veux bien jeter un oeil à ton code et à ton montage ... Mais elle est un peu bizarre ton histoire...

 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#8 Douglas71

Douglas71

    Nouveau membre

  • Membres
  • 5 messages

Posté 08 novembre 2014 - 01:48

Alors voici mon montage :

 

9_convertisseurTC.gif

En sachant que la patte de mon µc qui vient lire la tension se situe au niveau du nœud au dessus de r .

 

Toutes les résistances ont la même valeur, sauf r qui est la résistance à tester.

 

Toutes les masses sont communes, y compris celle de mon µc.

 

 

Voici le code de mon programme :

    TRISB=0; 				// Port B en sortie
    TRISA=1;                            // Port A en entree
    PORTA = 0;                          // Mise à 0 du port A
    ADCON1 = (ADCON1&0b11001111); 	// Mettre la référence V+ à Vdd et V- à Vss
    ANSEL  = 0b11111111;                // Configuration du registre ANSEL

Et je crois que je viens de me rendre compte que ça fonctionnerait mieux avec un "TRISA = 0b11111111;" non ?



#9 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 09 novembre 2014 - 04:11

Alors voici mon montage :

 

9_convertisseurTC.gif

En sachant que la patte de mon µc qui vient lire la tension se situe au niveau du nœud au dessus de r .

 

Toutes les résistances ont la même valeur, sauf r qui est la résistance à tester.

 

Toutes les masses sont communes, y compris celle de mon µc.

 

 

Voici le code de mon programme :

    TRISB=0; 				// Port B en sortie
    TRISA=1;                            // Port A en entree
    PORTA = 0;                          // Mise à 0 du port A
    ADCON1 = (ADCON1&0b11001111); 	// Mettre la référence V+ à Vdd et V- à Vss
    ANSEL  = 0b11111111;                // Configuration du registre ANSEL

Et je crois que je viens de me rendre compte que ça fonctionnerait mieux avec un "TRISA = 0b11111111;" non ?

 

"TRISA=1 ; "
ça équivaut à :  "TRISA=0b0000001; "

Le problème c'est que tu n'indique nulle part l'info essentielle : sur quelle Broche du pic tu connecte ton montage ! Si tu branche ça sur RA0, que tu fasse TRISA=1; ou TRISA=0b00000001; ça change pas grand chose ^^ Mais si tu est sur une autre broche que RA0 alors ça change tout en effet ;) 

Du coup on retombe sur le cas du problème de code lié au problème d'observation  ( genre pas les même codes observé à l'iut et ailleurs ou mauvaise observation ... )  ! 

Dans tous les cas mettre TRISA à 0b11111111 peut en effet résoudre le problème ;) ainsi tu mettra toutes les broches A en entrée et pas seulement RA0 ! 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#10 Douglas71

Douglas71

    Nouveau membre

  • Membres
  • 5 messages

Posté 09 novembre 2014 - 09:12

Il me semble que je lis sur RA1, donc en effet, ça change tout ^^ Je test ça mercredi, et je vous tiens au jus :)

 

Merci ! 



#11 Douglas71

Douglas71

    Nouveau membre

  • Membres
  • 5 messages

Posté 13 novembre 2014 - 11:27

Il semblerait donc que ça se passe mieux avec un TRISA bien configuré ;)

 

Je vous tiens au jus par la suite, si vous souhaitez en savoir plus ou quoi que ce soit, je passe par là de temps à autre :)






0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users