Bonjour,
Je suis débutante en électronique et je n'ai pas encore programmé de PIC...
Je dois réaliser la commande d'un moteur pas à pas (qui doit avoir une précision angulaire de 0.5°) par une interface Matlab pour mai... Je travaille sur cette réalisation depuis février.
Mon moteur pas à pas à les caractéristiques suivantes:
- 400 pas/tour
- 4,25V
- 0,425A
J'ai utilisé le L297 et L298 pour faire la commande de mon moteur. Et pour la liaison au PC, je dois utiliser une liaison série DB9. J'ai donc opté pour un MAX233 et j'ai testé ma liaison avec des led et ça fonctionne très bien.
Pour faire cette liaison, j'ai utilisé:
- PIC 18f4580 (code C) et led
- max233
- COM1 (DB9) - baud rate : 19200
- hyperterminal
Mon problème est maintenant la programmation du PIC pour faire fonctionner mon moteur. En effet, je ne sais pas du tout comment déterminer:
1) la fréquence d'échantillonnage à laquelle je dois récupérer les informations. Ca doit être tout bête, mais je suis désolée, je ne vois pas bien quelles sont les données qui en dépendent et comment on la calcule. Et SURTOUT comment ça se programme pour un PIC en code C ?
2) Si je veux donner une vitesse ou une accéleration à laquelle mon moteur doit fonctionner. Je ne vois pas très bien comment je dois faire. J'ai vu que je peux faire une interpolation linéaire sur un site, est-ce correct ?
De plus, le moteur pas à pas est assez limité dans sa fréquence de démarrage, fréquence de fonctionnement etc... Mon moteur étant une récupération, je n'ai pas ces courbes de fréquences, mais d'après mes info, les moteurs pas à pas fonctionnent généralement dans la gamme 0-500Hz. Est-ce info ou intox ?
Sinon, une question qui me turlupine... Le L297 possède une entrée CLOCK. Quel est le meilleur moyen de la commander ? Au début, je pensais qu'il fallait juste alterner 0V-5V, pendant un certain délai choisi et que le L297 générait lui même une PWM. Mais apparement, il faut la faire cette PWM avec un circuit intégré supplémentaire ou alors j'ai rien compris... :-s Est-ce que vous pourriez m'éclairer ? Et surout comment ca se programme en C ?
Je vous remercie d'avance pour l'aide que vous pourrez m'apporter . Si vous avez des exemples de codes, ils sont évidemment les bienvenus. MERCI !
-----