Partage
  • Partager sur Facebook
  • Partager sur Twitter

Programmation Servomoteur

PIC 18F2520

6 février 2013 à 19:09:00

Bonjour tout le monde,

j'aimerais savoir si quelqu'un possède un code "tout fait" de programmation d'un servo moteur, ou bien savoir s'il y a un site sur lequel je peux trouver ça, parce que pour l'instant nada.

Je m'explique, il ne s'agit pas d'une application particulière, mais juste d'un test pour comprendre et faire tourner un servo moteur en gérant la largeur de l'impulsion et donc l'angle de rotation, et mes connaissances en programmation PIC sont faibles (malheureusement).

Je précise que le servo moteur utilisé est le C2081 de chez Graupner et le pic est un 18f2520 idéalement.

Merci pour votre aide !

  • Partager sur Facebook
  • Partager sur Twitter
7 février 2013 à 1:38:38

J'ai écrit un code fait maison pour un atmega il y a pas longtemps pour tester. Tu dois créer un signal pwm de 50 Hz, avec des impulsions allant de 1 à 2 ms. Pour ça, il te faudrait un timer 16 bits, et que tu imposes à ton timer un "TOP" pour que ton signal aie une période de 20 ms (50 Hz). Après tu ajustes ton registre de comparaison pour que l'impulsion varie de 1 à 2 ms. A toi de coder ça ensuite pour le PIC. C'est le principe de base pour commander un servo moteur.



  • Partager sur Facebook
  • Partager sur Twitter
7 février 2013 à 8:24:12

http://ww1.microchip.com/downloads/en/DeviceDoc/39631E.pdf

Tu vas au chapitre "15.4 PWM Mode" et tu regardes les pages qui suivent, tu peux arrêter au chapitre 16.4.8. Normalement tu devrais avoir compris comment fonctionne le pwm de ton pic.

Après te cracher le code tout fait cela ressemble à faire tes devoirs et cela n'est pas la bute. On fait de l’électronique ou on n'en fait pas. Si c'est un soucis de compréhension, je ne dis pas mais alors pose tes questions.

Bonne journée 

  • Partager sur Facebook
  • Partager sur Twitter
7 février 2013 à 14:01:55

Bonjour et merci pour vos deux réponses.

@sydzero : le principe comme tu l'explique, je le comprends bien et le connais, mais le problème justement, c'est de le programmer.

@fabienmeyer : même principe, je ne sais pas comment écrire le code à partir de la description de la PWM de la datasheet.

Cette application n'est pas du tout un devoir, un examen ou autre chose de noté. Seulement dans le cadre d'un projet de classe "libre", je suis amené à commander ce servomoteur. Et le hic, c'est que j'en aurais besoin maintenant alors que j'ai les cours correspondants seulement plus tard dans l'année...

Tout ça est lié d'ailleurs. J'ai déjà du étudier une carte électronique plus ou moins complexe avec son code et son "implémentation" PIC. Je n'y ai pas tout compris, et sans avoir les bases du PIC, j'ai l'impression que ça ma juste embrouiller. Comment comprendre les réglages du PIC, le programmer...?

Bonne journée

-
Edité par jd2310 7 février 2013 à 14:04:10

  • Partager sur Facebook
  • Partager sur Twitter
7 février 2013 à 14:12:54

Sais tu dans un premier temps comment faire fonctionner un timer et une interruption sur ce dernier ?
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

7 février 2013 à 14:41:05

Sais-tu configurer les registres de uC?

Tu utilises quel compilateur?

Regarde les liens, ils expliquent de manière claire comment faire pour un autre pic. Il te faut maintenant adapter ces informations pour ton pic.

http://www.best-microcontroller-projects.com/pwm-pic.html

http://www.best-microcontroller-projects.com/servo-controller.html

  • Partager sur Facebook
  • Partager sur Twitter
7 février 2013 à 19:30:16

Pour configurer les registres, moyen moyen, et pour le timer et interruption, je dirais carrément non. Le compilateur est le C18 (MPLab).

Je vais voir les liens, merci à vous.

  • Partager sur Facebook
  • Partager sur Twitter
8 février 2013 à 8:58:42

Je te passe encore un petit lien 

http://ww1.microchip.com/downloads/en/devicedoc/mplab_c18_libraries_51297f.pdf Regarde sous pwm et timer 2

J'ai pris quelque minute pour chercher sur le site de microchip et voila un petit exemple de code... Le code n'est pas fait pour ton pic mais cela peut te donner donner des idées!

http://ww1.microchip.com/downloads/en/DeviceDoc/CCP_PWM.zip

Fais nous pars de ton avancée :)

  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2024 à 6:50:56

bonjour j'ai vraiment besoins d'aide concernant le fonctionnement d'un PIC16F887 pour :

Calculer les valeurs à mettre dans les différents registres du micro-contrôleur PIC pour obtenir un signal de fréquence 20 kHz.

Quelle sera alors la plage de variation du registre CCPRxL (c'est à dire quelles sont les valeurs minimale et maximale pour faire varier le rapport cyclique de 0 % à 100 %) ?

svp !!!

  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2024 à 10:27:21

@Sidikh-04 Bonjour, merci de ne pas squatter le sujet des autres pour une nouvelle question, celui-ci date de 2013!!  Créer votre propre  sujet dans le respect des règles du forum.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Liens conseillés

Je ferme ici.

-
Edité par AbcAbc6 18 mars 2024 à 10:31:22

  • Partager sur Facebook
  • Partager sur Twitter