Aller au contenu


Photo
- - - - -

PPE recharge autonome


194 réponses à ce sujet

#41 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 19 avril 2012 - 06:41

Merci beaucoup, je regarde ça!
Ton site est vraiment super; j'avais déjà regardé mais je m'étais un peu découragé par la logique floue... Image IPB
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#42 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 19 avril 2012 - 07:10

j'avais déjà regardé mais je m'étais un peu découragé par la logique floue... Image IPB


Faut pas se décourager ! La plupart des articles de mon site (pour le moment) parlent de choses qui ne sont abordés qu'en bac+4 ou bac+5 !
J'ai pas mal d'idées en réserve pour faire des articles un peu plus pratique ! J'espère pouvoir en écrire dans pas très longtemps :)

++
Black Templar

Mon site internet : http://ferdinandpiette.com/


#43 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 19 avril 2012 - 08:38

Salut!
@Black Templar: J'attendrai d'avoir le niveau suffisant alors ;)

J'ai fait le schéma-bloc de la station (j'appelle ça un schéma-bloc mais c'est un truc fait à l'instinct, je ne connais rien à l'analyse fonctionnelle):
schéma bloc station.jpg
je sais, c'est particulièrement moche, j'essaierai de faire un truc un peu plus propre plus tard ^^

Tout est conçu virtuellement pour cette partie, on verra à l'essai si il faut encore qu'on change complètement des trucs mais à priori ça devrait marcher -je l'espère Image IPB-)

Il faut aussi que je fasse celui du robot... Pour l'instant j'ai grave la flemme! Image IPB
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#44 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 20 avril 2012 - 08:31

On a reçu toutes les pièces manquantes sauf la ball-caster, c'est-à-dire:
  • régulateurs de tension *2 (pour le circuit d'alim du robot)
  • carte relais optocouplé (pour la station de recharge)
  • carte de prototypage à pastilles (pour la station)
  • LDR (pour la détection jour/nuit)
J'ai donc pu réaliser le circuit de puissance (batterie==>régulateur1==>moteurs==>régulateur2==>Arduino). Ça a l'air de marcher parfaitement!
Il faut qu'on achète la ball-caster manquante pour pouvoir (enfin) faire rouler le robot, une personne de l'équipe doit faire le "cône" de réception et l'autre doit s'occuper de la structure de la balise et des contacts (ou électrodes) de rechargement.

Je met pas de vidéos/photos pour le moment parce que ça vaut pas encore le coup.
Je m'attaque au code dès que possible!
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#45 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 21 avril 2012 - 01:50

Voilà le schéma après rectification:

c'est bien 36.5 ohm la valeur de la résistance ? si oui ça me parait peu; tes diodes peuvent supporter quelle intensité? à moins que te ne vises la portée max de 45m(ou 35m selon le détecteur)
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#46 bennurre

bennurre

    Habitué

  • Membres
  • PipPip
  • 160 messages
  • Gender:Male

Posté 21 avril 2012 - 02:37

Salut, as tu trouvé les infos que tu cherchais pour la réalisation de circuit imprimé?

...................................................

Mon premier projet arduino...

Blog de ma Tondeuse RC...

...................................................


#47 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 21 avril 2012 - 02:37

Les LEDs consomment 100mA pour 1.60 volts environ (d'après la datasheet) mais vu que ce seront des résistances variables, je pense que je ne mettrai jamais l'intensité maxi! (voir #26 / #27)
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#48 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 21 avril 2012 - 02:39

Pour la conception, Black Templar m'a donné un lien vers son site pour apprendre à les faire sous Kicad, sinon vu que j'utilise non-plus des 555 mais un PIC, je pense pouvoir rester sur Labdec ou plaque à pastille sans gros risque de perturbations...
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#49 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 22 avril 2012 - 06:02

Bonjour
je sais pas si je dois poser mes questions ici ou dans un nouveau sujet mais je vais la poser ici et si je n'ai pas de réponse je la poserai ailleurs (maintenant les choses sont claires ;))
Alors voilà ce que je recherche:
J'ai en sortie de mes capteurs infrarouges (enfin plutôt du filtre qui est lui même en sortie des capteurs) un "mot" de 2 bits:
00 si la balise n'est pas détectée
01 si elle est détectée à droite
10 si elle est détectée à gauche
11 si elle se trouve en face du robot.

Je voudrais traiter ce mot soit analogiquement soit numériquement afin d'avoir une variable "direction" qui prenne une valeur différente selon ce mot, sans avoir à alourdir mon code avec quelque chose du type:
si bit1 = 0 {
	si bit2 = 0 {
		direction = "null"
	}
	sinon si bit2 = 1 {
		direction = "droite"
	}
}
sinon si bit1 = 1 {
	si bit2 = 0 {
		direction = "gauche"
	}
	sinon si bit2 = 1 {
		direction = "face"
	}
}


Je sais que je suis vraiment radin en code mais je cherche une grande rapidité de traitement et un code relativement simple.
Une solution de ce type existe-t-elle?
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#50 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 22 avril 2012 - 09:39

Bonjour
je sais pas si je dois poser mes questions ici ou dans un nouveau sujet mais je vais la poser ici et si je n'ai pas de réponse je la poserai ailleurs (maintenant les choses sont claires ;))
Alors voilà ce que je recherche:
J'ai en sortie de mes capteurs infrarouges (enfin plutôt du filtre qui est lui même en sortie des capteurs) un "mot" de 2 bits:
00 si la balise n'est pas détectée
01 si elle est détectée à droite
10 si elle est détectée à gauche
11 si elle se trouve en face du robot.

Je voudrais traiter ce mot soit analogiquement soit numériquement afin d'avoir une variable "direction" qui prenne une valeur différente selon ce mot, sans avoir à alourdir mon code avec quelque chose du type:

si bit1 = 0 {
	si bit2 = 0 {
		direction = "null"
	}
	sinon si bit2 = 1 {
		direction = "droite"
	}
}
sinon si bit1 = 1 {
	si bit2 = 0 {
		direction = "gauche"
	}
	sinon si bit2 = 1 {
		direction = "face"
	}
}


Je sais que je suis vraiment radin en code mais je cherche une grande rapidité de traitement et un code relativement simple.
Une solution de ce type existe-t-elle?




une autre idée :les 2 bits représentent une variable binaire qui vaut en décimal : 0,1,2,3
on dispose alors d'un choix multiple (switch) avec 4 cas à gérer (case):
switch (var)
case 0:pas de balise
case 1:droite
case 2:gauche
case 3:en face
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#51 Mike118

Mike118

    Staff Robot Maker

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

Posté 22 avril 2012 - 09:55

Bonjour
je sais pas si je dois poser mes questions ici ou dans un nouveau sujet mais je vais la poser ici et si je n'ai pas de réponse je la poserai ailleurs (maintenant les choses sont claires ;))
Alors voilà ce que je recherche:
J'ai en sortie de mes capteurs infrarouges (enfin plutôt du filtre qui est lui même en sortie des capteurs) un "mot" de 2 bits:
00 si la balise n'est pas détectée
01 si elle est détectée à droite
10 si elle est détectée à gauche
11 si elle se trouve en face du robot.

Je voudrais traiter ce mot soit analogiquement soit numériquement afin d'avoir une variable "direction" qui prenne une valeur différente selon ce mot, sans avoir à alourdir mon code avec quelque chose du type:

si bit1 = 0 {
	si bit2 = 0 {
		direction = "null"
	}
	sinon si bit2 = 1 {
		direction = "droite"
	}
}
sinon si bit1 = 1 {
	si bit2 = 0 {
		direction = "gauche"
	}
	sinon si bit2 = 1 {
		direction = "face"
	}
}


Je sais que je suis vraiment radin en code mais je cherche une grande rapidité de traitement et un code relativement simple.
Une solution de ce type existe-t-elle?



hum mais qu'est ce que tu veux en sortie ? l'info elle va où ? c'est pour "informer un driver " c'est pour commander un pont en H? quelle valeur à ta sortie dans chacun des cas ou si tu préfère : par quoi cela se traduit ?

un exemple : si tu as 00 et 11 tu continue d'aller tout droit si tu as 01 tu vas à droite et si tu as 10 tu vas à gauche ?
Ps :Désolé si j'ai raté un schémas ou autre dans lequel cela était expliqué =s

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  

 

 

 


#52 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 22 avril 2012 - 10:16

@hmnrobots: oui ça c'est parfait mais comment convertir ce mot binaire en décimal? tu as une référence de composant? (ou un fonction arduino au pire)

@mike118:

si tu as 00 et 11 tu continue d'aller tout droit si tu as 01 tu vas à droite et si tu as 10 tu vas à gauche ?

c'est exactement ça sauf que j'aimerais (pour plusieurs raisons) gérer les déplacements de mon robot non pas analogiquement mais avec mon microcontrôleur. Il me faudrait donc une sortie unique pouvant prendre 4 états (quels qu'ils soient: analogiques ou numériques), laquelle irait dans une des entrées de ma Arduino... Comme dit hmnrobots, l'idéal serait de convertir ce mot en décimal mais je ne sais pas comment! je vais faire quelques recherches, si vous avez une référence de composant ou un montage je suis preneur!


EDIT: je peux aussi faire une conversion parallèle série et gérer le mot dans le programme, mais à la limite autant utiliser le code lourdaud de plus haut, c'est moins compliqué
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#53 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 22 avril 2012 - 10:56

Bon, pour me remettre à la logique booléenne, j'ai fait un petit montage à base de portes "et" et "non" ; vraiment pas pratique mais c'était pour le fun :P

Situation 1: 00
essai1.JPG

==>la sortie de IC1B est à 1

Situation 2: 01
essai2.JPG

==>la sortie de IC1C est à 1

Situation 3: 10
essai2.JPG

==>la sortie de IC1D est à 1

Situation 4: 11
essai4.JPG

==>la sortie de IC1A est à 1

C'est vraiment juste par défi hein, rien d'utile là-dedans!

Image(s) jointe(s)

  • essai3.JPG

Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#54 Mike118

Mike118

    Staff Robot Maker

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

Posté 23 avril 2012 - 12:56

J'ai une solution pour toi à tester !

entrée arduino
l
l
l---R1--|>|---- signal 1
l
l---R2--|>|---- signal 2
l
R3
l
5V
entrée analogique arduino

en prenant signal 1 =1 pour 5V et signal 1=0 pour 0V de même pour le signal 2


on a pour : signal 1 signal 2 entrée arduino
1 1 5V // diode 1 et 2 bloquée
0 1 0,7 +4,3*R1/(R1+R3)= X1 // diode 2 bloqué
1 0 0,7 +4,3*R2/(R2+R3)= X2 // diode 1 bloqué
0 0 (X1+X2)/2 // diode 1 et 2 passante

en prenant 0,7 la tension au borne de la diode lorsqu'elle est passante et avec 4,3 car 5-0,7 ...

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  

 

 

 


#55 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 23 avril 2012 - 01:16

j'ai fait le schéma ici peux-tu me dire s'il est bon? (ce site m'a été passé par hmnrobots, tu peux directement modifier et simuler les schémas (en cliquant sur "open in editor") ;))
Je teste ça sur Yenka tout de suite
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#56 Mike118

Mike118

    Staff Robot Maker

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

Posté 23 avril 2012 - 01:53

Oui il est presque bon mais il faut avoir au moins R1 et R2 différent pour avoir des états X1 et X2 différents ! sinon ta pauvre arduino sera incapable de te dire si c'est à droit ou à gauche qu'il faut tourner et en plus le mieux c'est d'avoir X1 le plus différent possible de X2 sachant que les deux doivent être assez loin de 5V genre si tu fais en sorte d'avoir X1 = 2V et X2 = 4V c'est pas mal comme ça tu aura (X1+X2)/2 = 3V ^^
Et par contre il ne faut pas reboucler le moins de l'alim 5V comme tu l'as fais sur la résistance noté R4 de ton montage , "le moins" doit être lié à la masse qui n'était pas réprésenté sur mon espèce de schémas. et n'oublie pas de mettre la sortie qui rentre dans ton arduino.

PS : il est super ce site !!! ;)

Hum après reflexion je crois que je me suis peut être planté sur la positon des diodes par rapport aux résistance R1 et R2 il faudrait intervertir les position tout en gardant l'orientation des diodes tel quel si le montage ne marche pas comme prévu !

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  

 

 

 


#57 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 23 avril 2012 - 07:01

je voyais ça plus simple: les 2 signaux rentrent dans le microcontroller disons par exemple les pin 0 et 1 du port A, tu lis le port A et tu fais un AND(ET) entre cette valeur lue et un masque 0000 0011 (en binaire) il en ressort alors la variable recherchée
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#58 Mike118

Mike118

    Staff Robot Maker

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

Posté 23 avril 2012 - 08:44

Il me faudrait donc une sortie unique pouvant prendre 4 états (quels qu'ils soient: analogiques ou numériques), laquelle irait dans une des entrées de ma Arduino...


Ba j'ai juste essayé de répondre à ce qu'il souhaitait. Il me semble que l'utilité ici était d'économiser les pins de la arduino en en utilisant qu'un seul... ( c'est une supposition)
Et puis si le montage que j'ai proposé suffit, ce qui reste encore à vérifier, je trouve qu'il répond plutôt simplement au problème ... sans utiliser plusieurs portes logiques au autre, sans demander un bout de code supplémentaire à écrire sur la arduino. avec seulement 3 résistance et 2 diode ...

Cependant, c'est sur que ceci peut être fait différement avec une petite prog et les 2 signaux rentrant chacun sur une entrée de la arduino.

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  

 

 

 


#59 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 23 avril 2012 - 10:02

Ba j'ai juste essayé de répondre à ce qu'il souhaitait. Il me semble que l'utilité ici était d'économiser les pins de la arduino en en utilisant qu'un seul... ( c'est une supposition)
Et puis si le montage que j'ai proposé suffit, ce qui reste encore à vérifier, je trouve qu'il répond plutôt simplement au problème ... sans utiliser plusieurs portes logiques au autre, sans demander un bout de code supplémentaire à écrire sur la arduino. avec seulement 3 résistance et 2 diode ...

Cependant, c'est sur que ceci peut être fait différement avec une petite prog et les 2 signaux rentrant chacun sur une entrée de la arduino.

Pardon je n'avais même pas vu que tu proposais une mesure analogique, bien aussi et économe en pin!
pour finir sur la solution (moins économe en pins) un signal par pin disons I0 et I1 (dont la valeur est 0 ou 1) alors la variable (disons v) du switch devient simplement v = 2*I1 +I0 (qui prendra bien la valeur 0 à 3) qu'il suffit alors d'utiliser dans le switch
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#60 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 23 avril 2012 - 01:52

@hmnrobots:

les 2 signaux rentrent dans le microcontroller disons par exemple les pin 0 et 1 du port A, tu lis le port A et tu fais un AND(ET) entre cette valeur lue et un masque 0000 0011 (en binaire) il en ressort alors la variable recherchée


Avec un PIC je pourrais mais je ne sais pas si on peut faire ça avec une arduino... (lire tout un port)

pour finir sur la solution (moins économe en pins) un signal par pin disons I0 et I1 (dont la valeur est 0 ou 1) alors la variable (disons v) du switch devient simplement v = 2*I1 +I0 (qui prendra bien la valeur 0 à 3) qu'il suffit alors d'utiliser dans le switch


Je ne comprends pas vraiment... quel switch? tu pourrais m'expliquer stp :-S

@mike118: j'ai édité le schéma (même lien normalement), mais il y a un problème je crois: le 0 qui correspond à la sortie d'une monostable n'est peut-être pas la même que la masse du crcuit (celle de l'arduino normalement). est-ce que ça marchera si j'utilise la même masse pour alimenter le monostable et le circuit?

Finalement c'est peut-être un peu trop se casser la tête à force de vouloir optimiser au max; il vaut peut-être mieux que je le code à la barbare!
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/



Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users