Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 15 sur 21

Parasites sur carte moteur à base de l298N

  1. Dwigo

    Date d'inscription
    janvier 2009
    Âge
    30
    Messages
    10

    Parasites sur carte moteur à base de l298N

    Bonjour à tous,

    Voila j'ai un petit problème que je n'arrive pas à résoudre. J'ai réalisé un robot avec une carte moteur à base de l298N et je ne comprend pas pourquoi mon pic rentre de manière aléatoire dans la routine d'interruption.

    Je soupçon fortement un problème de perturbations électromagnétiques car tout fonctionne correctement lorsque je test le soft sur une carte de développement.

    Le plus étrange c'est que le phenomène survient lorsque un des moteurs tourne dans un sens particulier. Dans les autres cas, tout fonctionne correctement.

    J'ai pas trop d'idée pour corriger le problème, j'ai relié la carcasse des moteurs à la masse, j'ai supprimer les interruptions rs232 pour voir (le problème est toujours présent dans ce cas.)

    Voila si quelqu'un à une idée je suis preneur.
    Ci-joint le schéma et le soft.

    Damien

    Je viens de penser qu'il pourrait être intéressant que je tente de voir si le pic ne reset pas.


    Bonsoir Dwigo et tout le groupe

    Pour être en conformité avec l'épinglé

    http://forums.futura-sciences.com/el...ointes-pj.html

    les fichiers pdf ont été supprimés.

    Les schéma monopage doivent être en jpg, gif ou png.

    Les programmes, des txt, peuvent être en txt, ou délimités par une balise CODE (# dans les outils).

    Ils doivent donc être présentés à nouveau.


    .
    Dernière modification par gienas ; 17/01/2009 à 18h43. Motif: Suppression de fichiers pdf
     


    • Publicité



  2. gienas

    Date d'inscription
    janvier 2005
    Messages
    19 336

    Re : Parasites sur carte moteur à base de l298N

    Citation Envoyé par Dwigo Voir le message
    ... Voila j'ai un petit problème que je n'arrive pas à résoudre ...
    Je ne me réponds pas à moi même, mais le document que tu as présenté, ne comporte aucun découplage des alimentations du contrôleur, pas plus qu'il ne comporte de filtres de déparasitage sur les entrées. Ne sachant pas comment se présente la réalisation pratique, je crains le pire.

    Pourrais-tu joindre une photo, pour voir un peu comment "cohabitent" les fils de puissance et des entrées?
     

  3. Dwigo

    Date d'inscription
    janvier 2009
    Âge
    30
    Messages
    10

    Re : Parasites sur carte moteur à base de l298N

    Bonjour,

    En fait je n'est que très peu de connaissances en électronique et je dois avouer que je ne sais pas ce qu'est un découplage d'alim. Celle-ci est à base de 7805 et deux condensateurs. Il y a aussi un condensateur (d'origine, je connais pas ca valeur) sur les deux moteurs.

    Ceci dit, le câblage est un vrai fouillis (voir image), mais vu le peu de différence entre la tension logique et puissance, je pensais pas que ça ne pouvais influencée le pic (enfin pas à ce point) surtout que tout est en tension continu.

    Ci joint le schéma, le soft et l'image du montage dans le format adéquate
    Code:
    /*
     * Copyright:
         (c) Zaremba damien
     * Description:
                   Controle du l298n sur le port b
                            b0 Moteur 1-1
                            b1 Moteur 1-2
                            b2 Moteur 2-1
                            b3 Moteur 2-2
                            b4 Capteur Front Right
                            b5 Capteur Front Left
                            b6 Capteur Back Right
                            b7 Capteur Back Left
    			Controle de la charge baterie moteur port a
    			Scan sharp sur port a
    			Communication Rs232 via modem xbee (port c)
     * Configuration:
         MCU:             PIC16F876a
         Oscillator:      HS, 20.0000 MHz
    */
    
    #define myAdr           0x1
    #define destAdr         0x2
    
    #define Mot11         PORTB.F0
    #define Mot12         PORTB.F1
    #define Mot21         PORTB.F2
    #define Mot22         PORTB.F3
    
    #define GoForwar      Mot11=0;Mot12=1;Mot21=0;Mot22=1
    #define GoBackwar     Mot11=1;Mot12=0;Mot21=1;Mot22=0
    #define GoLeft        Mot11=0;Mot12=1;Mot21=1;Mot22=0
    #define GoRight       Mot11=1;Mot12=0;Mot21=0;Mot22=1
    #define Break         Mot11=1;Mot12=1;Mot21=1;Mot22=1
    
    #define FRight        PORTB.F4
    #define FLeft         PORTB.F5
    #define BRight        PORTB.F6
    #define BLeft         PORTB.F7
    
    #define mvtFront   	0b00000000
    #define mvtBack    	0b00000001
    #define mvtRight   	0b00000010
    #define mvtLeft   	0b00000011
    #define mvtBreak   	0b00000100
    #define mvtDlyRot    	0b00000101
    #define mvtDlyFront    	0b00000110
    #define mvtDlyBack    0b00000111
    
    #define lgmvtOnFRight		0b1001111011101000
    #define lgmvtOnFLeft		0b1001111010101000
    #define lgmvtOnBRight		0b1000110011101000
    #define lgmvtOnBLeft		0b1000110010101000
    
    #define pop(val) stackCpt-=3;val=(mvtStack>>stackCpt)&0b111;
    #define push(val)  mvtStack|=(val<<stackCpt);stackCpt+=3;
    #define longPush(a,b) mvtStack = a; stackCpt=b;
    #define clearStack  stackCpt=0
    
    unsigned int mvtStack;    	//pile de mouvements LIFO:
    							//b15 			: Non utilisé
    							//b14b13b12     : Debut de la pile
    							//b11b10b9
    							//b8b7b6
    							//b5b4b3
    							//b2b1b0        : fin de la pile
    unsigned short stackCpt=0,t;
    unsigned int delCpt=0;
    unsigned short mvt=0,Rxdata=0;
    void delayMs(unsigned int ms);
    
    void interrupt(void){
    	if(PIR1.RCIF){
    		Rxdata=Usart_Read();
    		longPush(Rxdata,3);
    		delCpt=1;
        }
    	if (INTCON.RBIF) {
    		if(FRight){
    		    longPush(lgmvtOnFRight,15);delCpt=1;}
    		else if(FLeft){
    		    longPush(lgmvtOnFLeft,15);delCpt=1;}
    		else if(BRight){
    		    longPush(lgmvtOnBRight,15);delCpt=1;}
    		else if(BLeft){
    		    longPush(lgmvtOnBLeft,15);delCpt=1;}
    		INTCON.RBIF=0;
    	}
    	PORTC.F5=~PORTC.F5;
    }
    
    void main() {
    	OPTION_REG=0b10000000;
    	PORTB=0;
    	PORTC=0;
    	PORTA=0;
    	TRISC=0b11011111;
    	TRISA=255;
    	TRISB=0b11110000;
    
    	PWM1_Init(40000);
    	PWM2_Init(40000);
    	PWM1_Change_Duty(204);
    	PWM2_Change_Duty(255);
    	PWM1_Start();
    	PWM2_Start();
    	
    	Usart_Init(9600);
    
    	INTCON.RBIE=1;
    	PIE1.RCIE=0;
    	INTCON.PEIE=0;
    
        mvtStack=0;
    	push(mvtFront);
    
    	INTCON.RBIF=0;
    	INTCON.GIE=1;
    	
      while(1){
    	if(stackCpt!=0){
    	  pop(mvt);
    	  switch (mvt){
    		case mvtFront:		GoForwar;break;
    		case mvtBack:		GoBackwar;break;
    		case mvtRight:		GoRight;break;
    		case mvtLeft:		GoLeft;break;
    		case mvtBreak:		Break;break;
    		case mvtDlyRot:		delayMs(1000);break;
    		case mvtDlyFront:	delayMs(1000);break;
    		case mvtDlyBack:	delayMs(2000);break;
      	  }
    	}
      }
    }
    void delayMs(unsigned int ms){
        delCpt=ms;
    	while(delCpt--!=0){Delay_ms(1);}
    }
    Images attachées
     

  4. gcortex

    Date d'inscription
    juin 2006
    Localisation
    59
    Âge
    36
    Messages
    12 063

    Re : Parasites sur carte moteur à base de l298N

    j'ai pas bien vu, mais si tu pouvais alimenter le L298 en 9V,
    avec une capa de 2200µF 16V pour absorber les retours de courant
    des ponts en H

    si besoin fais une régulation de courant par découpage

     

  5. DAUDET78

    Date d'inscription
    septembre 2006
    Localisation
    Ile de France
    Âge
    70
    Messages
    38 778

    Re : Parasites sur carte moteur à base de l298N

    1/ Je ne vois pas de PullDown sur les entrées de bouton poussoir (c'est encore des sorties à "0" qu'on force à "1" .... pôvre PIC)
    2/ Je ne vois aucun découplage sur le 5V (220µF +100nF au minimum !)
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !
     


    • Publicité



  6. Dwigo

    Date d'inscription
    janvier 2009
    Âge
    30
    Messages
    10

    Re : Parasites sur carte moteur à base de l298N

    Daudet78v-> oui effectivement j'ai oublié de mettre sur les schéma les résistances de pull down mais sur le montage elles sont bien la, on peut les apercevoir sur la photo à droite.

    Si le découplage c'est mettre des condensateurs en parallèle de l'alim, alors ils sont aussi sur le montage mais pas sur le schéma. Leur valeur est de 100µf et 100nf pour l'alim 5v.

    gcortex-> je vais essayer, mais hier j'ai tout décâblé pour tout refaire de façon plus organisé en séparant la puissance de la logique. La capa je l'a met bien en // de l'alim ?
    Dernière modification par Dwigo ; 18/01/2009 à 13h34. Motif: orthographe
     

  7. verdifre

    Date d'inscription
    mai 2006
    Localisation
    thiembronne 62560
    Âge
    51
    Messages
    7 964

    Re : Parasites sur carte moteur à base de l298N

    Bonjour,
    avec un L298, les diodes en sortie doivent etre des diodes rapides et pas des 1n4...., j'ai déja donné en croyant economiser quelques centimes...
    Donc dans le cas ou tu aurais monté des diodes de base, il faut les changer pour des modeles de course
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !
     

  8. Dwigo

    Date d'inscription
    janvier 2009
    Âge
    30
    Messages
    10

    Re : Parasites sur carte moteur à base de l298N

    Citation Envoyé par verdifre Voir le message
    Bonjour,
    avec un L298, les diodes en sortie doivent etre des diodes rapides et pas des 1n4....
    C'est des 1n4007. Aurais tu une référence de diode utilisable ? (7,2 v, 1A nominal par moteur)
     

  9. Dwigo

    Date d'inscription
    janvier 2009
    Âge
    30
    Messages
    10

    Re : Parasites sur carte moteur à base de l298N

    Voila en image l'alim et les résistances de pull down. Plus tard, il y aura une carte d'alime c'est pour ça que le +5v arrive sur un connecteur.

    ...c'est encore des sorties à "0" qu'on force à "1" .... pôvre PIC...
    Ce n'est pas comme ça qu'il faut faire ? Mieux vaut il faire des pullup ?
    Images attachées
    Dernière modification par Dwigo ; 18/01/2009 à 14h28. Motif: oubli images
     

  10. MorpheusPic

    Date d'inscription
    août 2008
    Âge
    29
    Messages
    756

    Re : Parasites sur carte moteur à base de l298N

    salut quelle sont les valeur des resistances R1 et R2 car au moment que ton moteur demare jais bien peur que RA0 et RA1 se prenent une tension supperieure a 5 V

    il te faudrait metre 1 resistance entre RA0 et R1 et une entre RA1 et R2 pour limiter les eventuel pic de courant
     

  11. Dwigo

    Date d'inscription
    janvier 2009
    Âge
    30
    Messages
    10

    Re : Parasites sur carte moteur à base de l298N

    Citation Envoyé par MorpheusPic Voir le message
    salut quelle sont les valeur des resistances R1 et R2 car au moment que ton moteur demare jais bien peur que RA0 et RA1 se prenent une tension supperieure a 5 V

    il te faudrait metre 1 resistance entre RA0 et R1 et une entre RA1 et R2 pour limiter les eventuel pic de courant
    R1 et R2 sont des résistances de 10ohm. Je vais mettre les résistances que tu me conseil, 1k devrai suffire ?
     

  12. verdifre

    Date d'inscription
    mai 2006
    Localisation
    thiembronne 62560
    Âge
    51
    Messages
    7 964

    Re : Parasites sur carte moteur à base de l298N

    bonsoir,
    C'est des 1n4007. Aurais tu une référence de diode utilisable ? (7,2 v, 1A nominal par moteur)
    je n'ai pas de reference sous la main, il y en a dans le datasheet du 298. Mais ces diodes sont trés mauvaises et pour les parasites et pour le 298, elles sont beaucoup trop lentes
    il faudrait prendre dans les gammes BY...
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !
     

  13. Dwigo

    Date d'inscription
    janvier 2009
    Âge
    30
    Messages
    10

    Re : Parasites sur carte moteur à base de l298N

    Ok merci j'en ai trouvé chez Gotronic
     

  14. Zig38

    Date d'inscription
    juin 2007
    Âge
    53
    Messages
    835

    Re : Parasites sur carte moteur à base de l298N

    Bonsoir,

    Et sur le cablage, tu ne pense pas qu'il laisse à désirer aussi?

    Les plaques de tests sont en grandes paeties sources de pannes je pense.
     

  15. verdifre

    Date d'inscription
    mai 2006
    Localisation
    thiembronne 62560
    Âge
    51
    Messages
    7 964

    Re : Parasites sur carte moteur à base de l298N

    bonjour,
    c'est sur qu'un tel cablage laisse à désirer, j'ai déja été attrapé par l'utilisation de diodes trops lentes sur un circuit imprimé "propre" alors la j'ose pas imaginer.
    des antennes partout et des emmeteurs puissants à coté , c'est fait pour marcher ensemble.
    Cependant je crois que de réduire les emissions est le premier pas (qui ne peu qu'etre amelioré par un routage corret)
    fred
    On ne vient pas de nulle part et il serait souhaitable qu'on n'aille pas n'importe où !
     


    • Publicité




Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. Parasites PIC, moteur et relais
    Par The Viking dans le forum Électronique
    Réponses: 16
    Dernier message: 04/07/2007, 08h32
  2. pc portable / parasites sur carte son externe
    Par LTHOMAS dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 04/05/2007, 09h18
  3. interface moteur anti parasites
    Par astrofan dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 22/04/2007, 15h26
  4. interface moteur anti parasites
    Par astrofan dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 22/04/2007, 14h57
  5. Interference / Parasites - Moteur - iPod
    Par Yonosai dans le forum Électronique
    Réponses: 10
    Dernier message: 05/03/2007, 11h13