Problème servo et moteurs CC contrôlés depuis la même carte

Toutes les discussions sur l'Arduino !

Modérateur : MOD

UrsaBlack
Messages : 23
Enregistré le : lun. 18 sept. 2017, 10:21
Echelle pratiquée : HO
Prénom : Fabien
Club : Personnel

Problème servo et moteurs CC contrôlés depuis la même carte

Message par UrsaBlack » dim. 19 mai 2019, 22:53

Bonjour,

J'ai un petit soucis avec une carte arduino nano. Je souhaite avec cette carte contrôler 4 servomoteurs sg90 ainsi qu'une loco sur une voie à l'aide d'un module L298N. L'arduino et le L298N sont alimentés avec une alim 12V pouvant aller jusqu'à 6A. Les servo sont quant à eux alimentés avec le L298N qui me permet de sortir du 5V.

Les servo me permettent d'aiguiller le train sur 3 voies différentes en fonction de la valeur de BP dans le code qui est géré par un jeu de boutons poussoirs et de résistances. La loco, elle, ne va que dans un sens et sa vitesse est définie par la valeur d'un potentiomètre.

Voici le code :

Code : Tout sélectionner

#include <Servo.h>

Servo ServoAig1;
Servo ServoAig2;
Servo ServoAig3;
Servo ServoAig4;
const int angleMin=75;
const int angleMax=100;
int Vit;
int BP;

void setup(){
  pinMode(3, OUTPUT);
  pinMode(A0, INPUT);
  pinMode(A1, INPUT);
  ServoAig1.attach(6);
  ServoAig2.attach(9);
  ServoAig3.attach(10);
  ServoAig4.attach(11);
  ServoAig1.write(angleMin);// Initialisation des servo
  ServoAig2.write(angleMin);
  ServoAig3.write(angleMin);
  ServoAig4.write(angleMin);
  TCCR2B = (TCCR2B & 0b11111000) | 0x07; // Modification de la fréquence de la PWM
}

void loop(){
  Vit = map(analogRead(A0), 0, 1023, 0, 255);
  BP = analogRead(A1);

// Aiguillé sur Voie 1
    if (BP > 250 && BP < 500){
      ServoAig1.write(angleMin);
      ServoAig3.write(angleMax);
      ServoAig4.write(angleMax);
    }
// Aiguillé sur Voie 2
    if (BP > 500 && BP < 750){
      ServoAig1.write(angleMax);
      ServoAig2.write(angleMin);
      ServoAig3.write(angleMin);
      ServoAig4.write(angleMax);
    }
// Aiguillé sur Voie 3
    if (BP > 750){
      ServoAig1.write(angleMax);
      ServoAig2.write(angleMax);
      ServoAig4.write(angleMin);
    }

// Vitesse train
  analogWrite(3,Vit);
  delay(10);
}
Voici mon problème:
Lorsque le potentiomètre est à 0 (train à l'arrêt), les servo marchent très bien et aiguillent correctement la voie. Cependant, lorsque je fais avancer le train, les servo deviennent "fous", c'est-à-dire qu'ils n’arrêtent pas de bouger légèrement comme s'il y avait des interférences. J'avais remarqué le même phénomène lorsqu'on essaye de les positionner à 0°, or ici je les fais aller de 75° à 100°. Le train, lui, fonctionne quand même.

Voici mes questions:
Quelqu'un a-t-il déjà rencontré ce problème ou sait-il comment le résoudre?
Est-ce un problème de timer ou autre?
Est-ce c'est dû au fait que je modifie la fréquence de la PWM pour ne plus entendre le bruit du moteur de la loco?

Merci d'avance pour vos réponses.
Cordialement

Avatar du membre
lgperrin
Papotier
Messages : 180
Enregistré le : dim. 04 mars 2012, 13:36
Echelle pratiquée : N-HO
Site Internet : http://www.ligea-modélisme.fr
Localisation : Pontoise
Âge : 58

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par lgperrin » lun. 20 mai 2019, 13:05

si tu as des fils assez longs, il est possible que la traction qui doit être en PWM influe sur les servos.

Essaie de torsader les fils qui vont au servos ainsi que les fils qui vont à la voie.

Tu résoudras peut être ton problème.

UrsaBlack
Messages : 23
Enregistré le : lun. 18 sept. 2017, 10:21
Echelle pratiquée : HO
Prénom : Fabien
Club : Personnel

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par UrsaBlack » lun. 20 mai 2019, 21:08

Merci de ta réponse, je vais essayer.

J'ai aussi remarqué que mon problème persiste même si je n'ai qu'un seul servo de branché.
J'ai fait un schéma papier de mon circuit avec un seul servo (voir photo).
20190520_200449.jpg
J'ai aussi mesuré le courant à la borne 5V du servo. Lorsque le train était à l'arrêt, le servo consomme 3.67 mA et lorsque le train roule, il en consomme plus de 2A... Il semble qu'il y ai du pompage quelque part mais je ne vois pas d'où.

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par jlb » mar. 21 mai 2019, 08:17

Que le servo consomme lorsqu’il frétille c’est normal

Frétille-il si le train est à fond (PWM à 100% c’est à dire pas de PWM)

Avatar du membre
jmich1955
Bavard
Messages : 61
Enregistré le : jeu. 17 oct. 2013, 13:46
Echelle pratiquée : TT (1/120)
Localisation : Ittre (Belgique)
Âge : 63

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par jmich1955 » mar. 21 mai 2019, 08:55

Bonjour,

L'origine du problème est très probablement le changement de fréquence pour le contrôle du moteur de la loco.

Je soupçonne un parasitage de l'alimentation 5V vers les servos.
Solutions :
- torsader les fils vers les servos est la 1ère approche (comme suggéré par lgperrin),
- la 2ème est de rajouter un filtre RC passe-bas sur l'alim 5V, au plus près des servos pour supprimer tous ces parasites

Si tu as un oscillo, vérifie la propreté du signal sur l'alim et les servos...
Cordialement,
Jean-Michel

UrsaBlack
Messages : 23
Enregistré le : lun. 18 sept. 2017, 10:21
Echelle pratiquée : HO
Prénom : Fabien
Club : Personnel

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par UrsaBlack » mar. 21 mai 2019, 10:16

Merci pour vos réponses.

jlb : Oui le servo continu de frétiller. En fait, plus la loco va vite plus il frétille.

jmich1955 : J'ai enlevé la commande du changement de fréquence, le problème persiste et bien sûr la loco fait du bruit.

Je n'utilise pas d'alim 5V à proprement parler, je me sers du L298N qui a une sortie 5V. Mais je viens de voir que cette sortie ne fournis que 500 mA max. Pensez-vous que cela puisse venir de là?

Avatar du membre
jmich1955
Bavard
Messages : 61
Enregistré le : jeu. 17 oct. 2013, 13:46
Echelle pratiquée : TT (1/120)
Localisation : Ittre (Belgique)
Âge : 63

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par jmich1955 » mar. 21 mai 2019, 12:30

J'ai jeté un oeil à la doc du L298N, la sortie 5V n'est quasi pas filtrée, en tout cas pas au niveau hautes fréquences.
Je pense qu'il n'y aura plus de problème avec une alimentation séparée pour les servos... à essayer
Cordialement,
Jean-Michel

UrsaBlack
Messages : 23
Enregistré le : lun. 18 sept. 2017, 10:21
Echelle pratiquée : HO
Prénom : Fabien
Club : Personnel

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par UrsaBlack » mar. 21 mai 2019, 16:14

J'ai essayé avec une alim 5V, le problème persiste...

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par jlb » mar. 21 mai 2019, 16:21

Quelle est la longueur des fils des servos ? Sur quelle distance cette alimentation 5V est-elle distribuée ?

belledone
Fécond
Messages : 533
Enregistré le : mer. 28 avr. 2010, 16:56
Localisation : ALPES

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par belledone » mar. 21 mai 2019, 16:26

UrsaBlack a écrit :
mar. 21 mai 2019, 10:16
...
Je n'utilise pas d'alim 5V à proprement parler, je me sers du L298N qui a une sortie 5V. Mais je viens de voir que cette sortie ne fournis que 500 mA max.
jmich1955 a écrit :
mar. 21 mai 2019, 12:30
J'ai jeté un oeil à la doc du L298N, la sortie 5V n'est quasi pas filtrée, en tout cas pas au niveau hautes fréquences.
...
De quelle doc parlez-vous?
Le 5V n'est pas une sortie mais une entrée. :mdr2:
Autrement dit, il faut FOURNIR du 5V. :mort:
Cordialement,

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par jlb » mar. 21 mai 2019, 16:47

Il est probable qu'il s'agisse de la doc d'un module de ce genre :

Image

qui embarque un régulateur 5V.

belledone
Fécond
Messages : 533
Enregistré le : mer. 28 avr. 2010, 16:56
Localisation : ALPES

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par belledone » mar. 21 mai 2019, 16:59

jlb a écrit :
mar. 21 mai 2019, 16:47
Il est probable qu'il s'agisse de la doc d'un module de ce genre :

qui embarque un régulateur 5V.
OK. Merci!
Cordialement,

UrsaBlack
Messages : 23
Enregistré le : lun. 18 sept. 2017, 10:21
Echelle pratiquée : HO
Prénom : Fabien
Club : Personnel

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par UrsaBlack » mar. 21 mai 2019, 17:06

J'ai à peu près 1m - 1m50 de câble .
Pour le 5V aussi j'ai pas mal de longueur puisqu'il va jusqu'au potentiomètre qui est 1m50 de la carte rouge et il alimente aussi le servo.

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par jlb » mar. 21 mai 2019, 17:08

ah

C'est mal parti. Tout est trop long.

UrsaBlack
Messages : 23
Enregistré le : lun. 18 sept. 2017, 10:21
Echelle pratiquée : HO
Prénom : Fabien
Club : Personnel

Re: Problème servo et moteurs CC contrôlés depuis la même carte

Message par UrsaBlack » mar. 21 mai 2019, 17:19

je dois faire combien de long?

Pourquoi ça marche très bien tant que le train ne roule pas?

Répondre