
PPE recharge autonome
#101
Posté 05 mai 2012 - 04:39
Peripheral Features:
• Capture, Compare, PWM (CCP) module:
- Capture is 16-bit, max. resolution is 12.5 ns
- Compare is 16-bit, max. resolution is 200 ns
- PWM max. resolution is 10-bit
Pour la fréquence opto il suffit de modifier un peu le code en retirant quelques cycles,je ne pense pas que, dans la mesure où le PIC ne fait rien d'autre, l'utilisation du PWM t'apporte grand chose.
pour le détecteur de ligne de Lextronic (Sparkfun en fait) il est intéressant de noter que la résistance (10K) est dans le collecteur (ce que j'aurai plutôt préféré au montage dans l'émetteur) alors avant d'acheter, vérifies bien l'état de ceux que tu as
http://hmnrobots.blogspot.fr/
#102
Posté 05 mai 2012 - 04:50
Pour la fréquence opto il suffit de modifier un peu le code en retirant quelques cycles,je ne pense pas que, dans la mesure où le PIC ne fait rien d'autre, l'utilisation du PWM t'apporte grand chose.
En fait j'ai utilisé des delay_microsecond pour faire ma fréquence et lorsque je met un délai de 10µs j'ai a peu près 36.5kHz et avec 9µs environ 39kHz alors qu'en utilisant le PWM je peux avoir un signal précis à presque exactement 38kHz avec un code moins compliqué...
pour le détecteur de ligne de Lextronic (Sparkfun en fait) il est intéressant de noter que la résistance (10K) est dans le collecteur (ce que j'aurai plutôt préféré au montage dans l'émetteur) alors avant d'acheter, vérifies bien l'état de ceux que tu as
j'ai vérifié l'état des optocoupleurs et apparemment ils marchent, je vais faire encore un ou deux essais avant d'acheter mais je perds tellement de temps qu'au bout d'un moment je préfère avoir quelque chose de fonctionnel que de home-made, même si c'est moins drôle

#103
Posté 05 mai 2012 - 05:21
http://hmnrobots.blogspot.fr/
#104
Posté 05 mai 2012 - 05:31
je crois me rappeler que c'est pour être plus précis que j'avais utilisé des délais en cycle au lieu des ms, une autre solution est d'insérer des NOP en assembleur
Tu penses qu'avec le PWM ce ne sera pas assez précis? (mon quartz fait 20mHz)
#105
Posté 05 mai 2012 - 06:13
Tu penses qu'avec le PWM ce ne sera pas assez précis? (mon quartz fait 20mHz)
comme ça je ne suis pas en mesure de répondre, je voulais juste te donner une méthode plus précise que l'utilisation de la fonction delay_us
http://hmnrobots.blogspot.fr/
#106
Posté 05 mai 2012 - 06:21
comme ça je ne suis pas en mesure de répondre, je voulais juste te donner une méthode plus précise que l'utilisation de la fonction delay_us
Ah ok merci! je ne connais pas l'assembleur donc je ne sais pas si j'y serai arrivé mais c'est toujours bon à savoir

#107
Posté 06 mai 2012 - 12:28

Je ne sais pas si c'est dû à Flowcode, à mon programme ou à ISIS mais y'en a marre

#108
Posté 06 mai 2012 - 07:03
moi c'est Flowcode que je ne connais pasBon y'a un problème (pour changer...). J'ai chargé le nouveau programme utilisant le PWM dans ma simulation ISIS pour tester, en branchant l'oscilllo sur les sorties RB0 et RB3 mais il n'y a rien... le programme marche pourtant bien puisque la LED indiquant l'absence du robot est allumée
Je ne sais pas si c'est dû à Flowcode, à mon programme ou à ISIS mais y'en a marre
http://hmnrobots.blogspot.fr/
#110
Posté 06 mai 2012 - 02:34
pas de problèmeDésolé de ne pas pouvoir t'aider swolf mais je te souhaite quand même bon courage !

#111
Posté 07 mai 2012 - 05:23
http://robroller.free.fr/capteurligne.htm
"http://ancrobot.free.fr/fiches/pdf/index(6).pdf"
à+

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!
#112
Posté 08 mai 2012 - 11:18

#113
Posté 09 mai 2012 - 08:41
donc voilà le graphique auquel il aurait fallu que je fasse attention:

On y voit que si j'avais laissé le nombre de périodes par salves à 200, j'aurais eu un rapport cyclique max de 30% alors que j'en avais un de 50%: ça ne risquait pas de marcher --'
Du coup j'ai changé ce nombre de périodes à 77, ce qui me donne un rap. cyclique max de 72% environ.
Vu que 77>70, mon temps de pause doit être de 4*(77*1/38E-3) ~= 4*2 = 8ms (voir ici)
Autre petite modif: j'ai remarqué que comme il était difficile d'arriver à un nombre entier de µs pour un salve tout en respectant le graphique et en ayant un nombre entier de périodes, le PWM était parfois désactivé au milieu d'un Th donc du coup parfois la pause se faisait à 5V (j'ai pas d'illustration sous la main désolé). J'ai donc rajouté une case qui met la sortie correspondant à la patte CCP1 (PWM) à 0 pour "forcer" le 0V...
voici l'algo mis à jours et testé:

Comme ça ça devrait marcher

#114
Posté 10 mai 2012 - 03:18
http://hmnrobots.blogspot.fr/
#115
Posté 10 mai 2012 - 06:01
Je n étais pas autour d' une quarantaine dans mon source ?
effectivement, avec un rapport de 70% et 50ms de pause par salve
#116
Posté 11 mai 2012 - 07:17
rapport (faible c'est vrai) de 2% (comme tu l'avais précédemment calculé). merci de revenir sur ce point;j'avais conclu que ça fonctionnait mais il y a peut être moyen d'améliorer encore la détection. pourquoi pas se rapprocher du max (sans le dépasser) vers 70 bursts,Duty 0.7 ?effectivement, avec un rapport de 70% et 50ms de pause par salve
Il te faudra adapter le monostable à moins que tu ne le fasses par soft
http://hmnrobots.blogspot.fr/
#117
Posté 11 mai 2012 - 01:38

Si vous avez une meilleur idée, n'hésitez pas à la partager

Ps : Si vous ne me connaissez pas encore : Présentation sebbb02
#118
Posté 12 mai 2012 - 09:11
Voici à quoi ressemblera a peu près notre contact entre le robot et la station :
![]()
Si vous avez une meilleur idée, n'hésitez pas à la partager. (La forme rectangulaire de la station ne pourra pas être changer)
Ps : Si vous ne me connaissez pas encore : Présentation sebbb02
ça à l'air pas mal

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!
#119
Posté 13 mai 2012 - 06:49
Encore un souci mysterieux:
j'ai programmé le PIC avec le programme v2 (PWM) et quand je fais les tests sur la prototype board de microchip tout marche (j'ai adapté mon programme pour un quartz de 4mHz au lieu de 20): j'ai bien mes salves de 77 impulsions à 38kHz avec 8ms de pause entre chaque salve; mais dès que je sors le PIC et que je le met sur ma breadboard, seule la LED témoin fonctionne: pas de PWM...
y'a-t-il quelque chose que j'aurais mal fait dans mon circuit? ou une mauvaise configuration dans mon code? (mode débug ou un truc du genre...)
voici le circuit sur breadboard:

et le schéma:

Je peux aussi vous passer des photos, le code C et assembleur, ainsi que de nombreuses captures d'écran de Flowcode

#120
Posté 13 mai 2012 - 07:10
Salut!
Encore un souci mysterieux:
j'ai programmé le PIC avec le programme v2 (PWM) et quand je fais les tests sur la prototype board de microchip tout marche (j'ai adapté mon programme pour un quartz de 4mHz au lieu de 20): j'ai bien mes salves de 77 impulsions à 38kHz avec 8ms de pause entre chaque salve; mais dès que je sors le PIC et que je le met sur ma breadboard, seule la LED témoin fonctionne: pas de PWM...
y'a-t-il quelque chose que j'aurais mal fait dans mon circuit? ou une mauvaise configuration dans mon code? (mode débug ou un truc du genre...)
voici le circuit sur breadboard:![]()
et le schéma:![]()
Je peux aussi vous passer des photos, le code C et assembleur, ainsi que de nombreuses captures d'écran de Flowcode
tu faisais comment pour voir que tu avais la bonne chose avant de mettre ton pic sur ta bred board ? tu ne peux pas visualiser la chose de la même façon en gardant ton pic sur ta bread board ? comment tu fais pour voir que ça ne marche pas sur ta bread board ?
PS : Tu as fais des impulsions ou du PWM ? si tu as fais que des impulsion et pas un vrai "temps haut" c'est normale que ta del ne s'allume pas ...
Sinon une autre solution : si tu as un voltmètre met le en détection de contact ( il emet un bip quand tu touche le même fil avec les 2 connecteurs du voltmètre ) et vérifie que ta patte 19 est bien connecté avec ta bread board : un fil sur la partie de la patte qui dépasse l'autre fil dans un des trous sur la même ligne que la patte.
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!
Répondre à ce sujet

1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users