Projet de robotique
#1
Posté 11 septembre 2014 - 03:15
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
Posté 11 septembre 2014 - 04:52
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%.
#3
Posté 11 septembre 2014 - 07:12
cela dit regarde quand même par là éventuellement : lien
R1D1 a raison quand il dit
. Tu devrai présenter ton projet plus en détails si tu veux plus d'aide.Après, sans connaître ton système, il est difficile de te donner une solution qui marche à 100%
#4
Posté 11 septembre 2014 - 10:22
#5
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
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 !
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!
#6
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
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 !
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!
#8
Posté 08 novembre 2014 - 01:48
Alors voici mon montage :
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
Posté 09 novembre 2014 - 04:11
Alors voici mon montage :
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 ANSELEt 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 !
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!
#10
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
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