portage Aversive sur dspic

sylv1
Messages : 280
Inscription : Mer Juin 11, 2008 9:44 pm

portage Aversive sur dspic

Messagepar sylv1 » Mar Mai 25, 2010 7:29 pm

Bonjour,

J'ouvre ce post pour expliquer le portage d'aversive sur dspic. Le portage est présenté sur le wiki.

Le portage peut se décomposer en deux parties :

  • la première, générique, qui comporte par exemple la définition des types de base et des fonctions comme sbi, cli...,
  • la seconde, spécifique à chaque projet, qui se rapporte à la configuration hard spécifique comme la définition du schelduler, des pwm et des codeurs.

En conséquences, si vous voulez utiliser Aversive sur dspic, il faut reprendre le code générique disponible sur le svn (vous pouvez aussi reprendre la définition du schelduler si vous souhaitez utiliser le timer 0). Ensuite, vous devez implémenter les fonctions qui permettent d'accéder aux modules hard :

  • encoder_manage, encoder_get,
  • pwm_manage, pwm_set.

voilà bonne lecture. Si vous avez d'autres questions...
Sylvain
Dernière édition par sylv1 le Mar Mai 25, 2010 9:22 pm, édité 1 fois.

Avatar de l’utilisateur
Simon
Site Admin
Messages : 1151
Inscription : Dim Juin 08, 2008 12:55 am
Contact :

Re: portage Aversive sur dspic

Messagepar Simon » Mar Mai 25, 2010 8:24 pm

Histoire de faire plus simple j'ajouterais qu'il suffit, pour commencer:

- De récupérer le code source avec svn :

Code : Tout sélectionner

svn checkout http://svn2.assembla.com/svn/paranoid_android/trunk/Info/2010/aversive

- De modifier encoders_igrebot_config.h pour donner la listes des pattes reliees aux codeurs en quadrature
- De modifier VIRTUAL_TRACK_CM, LEFT_GAIN, DIAM_R, IMPS dans init.h pour ajuster les paramètres de l'odometrie
- De modifier pwm_config.h dans pwm_igrebot/config pour donner la liste des pattes reliees aux ponts en H

Ensuite la majeure partie des réglages est a effectuer dans init_asserv().

Après pour faire bouger le robot, voir du cote des fonctions décrites dans trajectory_manager.h.

Attention dans notre code la puissance et l'asservissement sont désactivés par défaut, il faut les activer en faisant par exemple set_power(1); set_asserv(1);


Revenir vers « Bavardage »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité