|
titmimi84
3 messages
 De passage
|
13-04-2007 20:12
Bonjour, Je suis débutante en électronique et c'est la première fois que je programme un PIC... Je dois réaliser la commande d'un moteur pas à pas en position (qui doit avoir une précision angulaire de 0.5°) et en vitesse par une interface Matlab. C'est assez urgent... Mon moteur pas à pas à les caractéristiques suivantes: - 400 pas/tour - 4,25V - 0,425A J'opte donc pour travailler en demi-pas. 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) quartz 4Mhz et led - max233 - COM1 (DB9) - baud rate : 19200 - hyperterminal La commande en positionnement de mon moteur est finie. Maintenant, je voudrais réaliser la commande en vitesse. Je voudrais commander mon entrée CLOCK du L297 par l'ordi, alors j'ai penser à générer un signal PWM sur la CLOCK du L297 pour faire avancer mon moteur. Je sais que mon PIC peut générer ce signal PWM. Mais je ne sais pas très bien s'il est possible et surtout comment faire pour activer et désactiver le signal PWM au bon moment pour arriver à la position ou à la vitesse choisi par l'utilisateur ??? De plus, j'ai vu sur certain site qu'ils utilisent un circuit externe N555 pour générer une oscillation. Je ne sais pas si c'est plus facile...mais étant dans des délais très court, je ne préfère pas commander d'autres pièces. Est-ce vous pourriez m'aider s'il vous plait ? Et si quelqu'un est un pro de la programmation PWM pour les pic, je veux bien des explication pour la configuration et l'utilisation à l'aide de la librairie pwm.h (compilateur C18). MERCI beaucoup, ca me sauverait car je suis callée depuis 1 semaine et tout est brouillon dans ma tête... Si vous avez encore des info ou des exemples de codes sous la main, ils sont également les bienvenus. MERCI BEAUCOUP !
|
|
iso14000
1132 messages
 Expert
|
13-04-2007 20:42
Yves GéGé.... pour les PIc je pense que les quesions sont pour vous. En effet tout cela me semble brouillon. Défrichons! Le l297 est un séquenceur qui recoit les infos clock et direction de votre..... PIC qui lui reçoit les infos de position de votre .... PC (par la ligne RS232) qui lui même fait tourner ... Matlab! J'ai bon là!?! bon ben pour faire une rampe d'accélération ou de décélaration il faut par faire du PWM sur la clock du l297 mais simplement augmenter doucement la fréquence de clock (rampe d'accéleration) ou bien la diminuer (rampe de décélération) C tout... Vous avez tout ce qu'il faut! il faut maintenant faire un organigramme pour mettre votre pensée au clair et coder cet organigramme ... Au fait... cela n'est pas de l'électronique .... c'est de l'informatique industrielle avec un brin de fantaisie... Florent
|
|
YMasquel
2501 messages
 Expert
|
13-04-2007 20:49
Bonjour "titmimi84", Je ne comprends pas ce que vient faire du PWM généré par un pic pour jouer sur la vitesse de rotation de ton moteur pas à pas. Je crois que ton but est de lui fournir des "rampes" d'accélération et de décèlération ??? Si tel est le cas la modulation de la largeur des impulsions est totalement inutile (tout au plus cette largeur d'impulsion pourrait éviter de rater des impulsions) mais il est nécessaire de moduler la fréquence d'envoi des impulsions donc les valeurs de PR2 et de PRESCALE. Mais si tu modifies PR2 tu devras aussi intervenir sur CCPR1 si tu ne veux pas que le DUTY CYCLE du PWM ne finisse à 0% ou à 100% ce qui annulerait la belle onde rectangulaire souhaitée. Amicalement, Yves.
|
|
YMasquel
2501 messages
 Expert
|
13-04-2007 20:53
Bonjour Florent, On cause en même temps et par chance on a le même discours!!!!!!!!! Pas touche au duty cycle mais à la fréquence d'envoi des impulsions. Amicalement, Yves.
|
|
iso14000
1132 messages
 Expert
|
13-04-2007 21:26
salut Yves! il est vrai que cela fait longtemps que je n'ai pas jouer avec les moteurs PAP. J'avais dans mon jeune temps fait un systeme de gestion modulaire de micro moteur PAP avec des ALtera avec gestion de rampe accélératio décélération complexe. Je ne connais pas bien ces CI ... et pour cause : en automobile on ne s'n sert pas (c'est le micro qui gère le moteur en direct par soft!) A+ Florent
|
|
Stellun
3 messages
 De passage
|
09-06-2011 09:52
Bonjour Florent,
je suis actuellement entrain de travailler sur la commande par FPGA du moteur pas a pas % phases, et j'ai quelques soucis pour la gestion de la vitesse notamment et la gestion des modes, pourrait tu me donner l'organisation du shemas bloc qui t'avais permis de controler le moteur pap sur altera ?
|
|
jeanpierre
107 messages
 Visiteur régulier
|
09-06-2011 10:40
ah la la, vous vous embêtez bien !
les circuits de la société Trinamic font tous cela en I2C en µPas en 1/8, en 1/4 ou en 1/2 pas et sans résistances de protection pour un coût dérisoire.
J'avais fait un article passionnant dans Elektor sur le TMC222 il y a 2 ou 3 ans.
en plus Contrôles en nb de pas, en vitesse, en accélération en limitation de courant. Alertes en température, perte de pas,
Etc...
JP
PS J'ai réalisé des automates avec, un plaisir !
|
|
Stellun
3 messages
 De passage
|
09-06-2011 11:13
Oui mais le TMC222 sert a contrôler un moteur 2 phases, moi j'aimerai contrôler le moteur 5 phases de ma LPKF ! Actuellement j’étudie le L6470 de chez ST, et j'aimerai retranscrire toutes ses fonctionnalités en VHDL mais pour un moteur 5 pas !
Je tente donc de gérer contrôles en nb de pas, en vitesse, en accélération en limitation de courant, mais ca reste assez tendu !
Y a t'il possibilité de retrouver votre article ?
|
|
Stellun
3 messages
 De passage
|
09-06-2011 11:15
j'oubliais, j'ai opte pour une interface SPI, et non I2C !
|
|
jeanpierre
107 messages
 Visiteur régulier
|
09-06-2011 13:09
Désolé le N° je ne m'en souviens pas mais c'était en avril 2008.
Dans cet article je présente aussi les TMC428 sur bus SPI
mais je ne m'en sert pas
Cordialement.
JP
|