Rotoshield pour la commande d'un sous-marin

Un shield de pilotage pour 4 moteurs à courant continu ou 2 moteurs pas à pas, qui permet une alimentation sur 12V et qui n'utilise que 4 sorties Pwm (sur 6) et 2 entrées analogiques (sur 6) de l'Arduino

Rotoshield pour la commande d'un sous-marin

Message non lude Fanch » Sam 10 Mai 2014 14:05

Bonjour,

Je me suis lancé dans un petit projet de sous-marin filoguidé et pour ça j'ai besoin de commander 3 petits moteurs CC 12V (0.18A sans charge). C'est la raison pour laquelle je me suis équipé du Rotoshield (acheté en kit ). Je l'ai monté en respectant scrupuleusement la notice, j'ai bien mis les 2 circuits intégrés dans le bon sens. Je l'ai ensuite connecté sur ma carte arduino UNO pour faire les premiers tests. Pour l'alimentation je me sers d'une petite alim 12V que je branche sur le bornier Ext. Power.
J'ai câblé 2 moteurs CC sur les bornes M1 et M2 et j'ai utilisé le programme "basic_DC_motor" que j'ai issue de la dernière version de la librairie snootor téléchargée sur Github.
Lorsque je compile, il n'y a pas de problème et il n'y en a pas non plus lorsque je téléverse mais par contre il ne se passe rien, les moteurs ne tournent pas.
Code: Tout sélectionner
#include <Wire.h>
#include <snootor.h>

SnootorDC Motor_1;
SnootorDC Motor_2;
int i;

void setup(){
int i=0;
Serial.begin(115200);
Serial.println("lulu");
Wire.begin();
Serial.println("lili");
Motor_1.init(1);
Serial.println("lala");
Motor_2.init(2);
Serial.println("init ok");
}

void loop(){
//affichage du compteur
Serial.println(i++);

Motor_1.setSpeed(255);
Motor_2.setSpeed(255);

// run Motor_1 forward at maximal speed, the Motor_2 is stopped
Motor_1.run(BACKWARD);
Motor_2.run(RELEASE);
delay(2000);

// stop for 2 seconds
Motor_1.run(RELEASE);
Motor_2.run(RELEASE);
delay(2000);
}


Comme vous pouvez le voir, j'ai essayé 2-3 trucs avec le code, histoire de voir dans le moniteur d'où pouvait venir le problème : dans le setup, j'ai intercalé des Serial.print("blablabla") entre les différentes lignes du code initial.
Lorsque je lance le programme, je m’aperçois sur le moniteur que les chaines de caractères que j'affiche avant d'attaquer l'initialisation des moteurs apparaissent mais ça s’arrête là. Ça veut donc dire que je n'arrive pas à initialiser mes moteurs, le programme se bloque au niveau du setup.
Je ne sais pas quelles conclusions en tirer, j'ai vérifié mes soudures mais ça me semble tout à fait correct.

C'est en faisant cette inspection au dos du shield avec un collègue d'atelier que je me suis aperçu d'un court-circuit sur deux des pattes du MAX7313. Une petite bouse de soudure relie 2 pattes. Comme c'est moi qui ai monté cette carte, il est difficile de dire si je suis responsable de ce défaut ou si je l'ai reçu comme ça.
J'ai regardé à quoi correspondent les 2 pattes en question (numérotées 2 et 3) sur la doc du MAX7313. Il s'agirait de deux pattes reliées à la masse, ce qui voudrait dire que le court-circuit constaté n'a pas d'impact sur le fonctionnement de la carte.

Du coup, je me retrouve un peu à court d'idées et je cracherais pas sur un petit coup de main ! Si jamais ça vous inspire hésitez pas !

Merci d'avance
Dernière édition par Fanch le Lun 12 Mai 2014 21:56, édité 1 fois.
Fanch
 
Messages: 3
Inscription: Sam 10 Mai 2014 12:33

Re: Rotoshield pour la commande d'un sous-marin

Message non lude Laetitia » Lun 12 Mai 2014 11:10

Bonjour,

Fanch a écrit:Lorsque je lance le programme, je m’aperçois sur le moniteur que les chaines de caractères que j'affiche avant d'attaquer l'initialisation des moteurs apparaissent mais ça s’arrête là. Ça veut donc dire que je n'arrive pas à initialiser mes moteurs, le programme se bloque au niveau du setup.

J'ai testé votre code dans nos locaux sur un Rotoshield neuf, tout a l'air de fonctionner correctement.
Pourriez-vous poster un schéma de votre montage ou une photo avec les branchements bien visibles ?

Fanch a écrit:C'est en faisant cette inspection au dos du shield avec un collègue d'atelier que je me suis aperçu d'un court-circuit sur deux des pattes du MAX7313. Une petite bouse de soudure relie 2 pattes. Comme c'est moi qui ai monté cette carte, il est difficile de dire si je suis responsable de ce défaut ou si je l'ai reçu comme ça.

Un pont de soudure est effectivement présent entre deux des pattes du MAX7313, sous le "w" de "open hardware", c'est normal. La photo ci-dessous montre un PCB avec les CMS implantés, prêt à être mis dans un kit Rotoshield.

Pont_soudure_Rotoshield.JPG
Pont_soudure_Rotoshield.JPG (106.17 Kio) Vu 1757 fois
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: Rotoshield pour la commande d'un sous-marin

Message non lude Fanch » Lun 12 Mai 2014 21:51

OK merci pour cette réponse !
Comme je pensais que c'était une "bouse de soudure" accidentelle sur le MAX7313, je l'ai grattée pour la dégager...
Bref, voici les photos de mon montage, c'est très simple : l'alim 12V qui arrive sur la borne Ext.Power. J'ai vérifié au voltmètre et il n'y a pas de faux contacts, je retrouve bien mes 12V sur le bornier. Les deux moteurs sont fichés sur les borniers M1 et M2
Image
Image
Fanch
 
Messages: 3
Inscription: Sam 10 Mai 2014 12:33

Re: Rotoshield pour la commande d'un sous-marin

Message non lude Laetitia » Jeu 15 Mai 2014 09:16

Bonjour,

En allant reparcourir la FAQ du Rotoshield je me suis souvenue d'un bug :

Un petit défaut est apparu sur le Rotoshield. Il peut contrôler jusqu'à 4 moteurs en courant continu. On peut donc en faire fonctionner un seul si on le souhaite ou seulement 2, ainsi jusque 4 moteurs... Mais il semblerait que certaines combinaisons ne fonctionneraient pas sur certains shields.
Pour parer à ceci, il suffit de déclarer les 4 moteurs et de tous les initialiser dans votre code. Ensuite, il suffit de continuer votre code comme vous le souhaiter. Cette parade n'affectera pas la suite de votre programme, ne fera pas démarrer les moteurs que vous n'utilisez pas et ne consommera pas la moindre puissance dans votre montage.

Faites le test et dites-nous si ça a marché :)
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: Rotoshield pour la commande d'un sous-marin

Message non lude Fanch » Mar 20 Mai 2014 18:45

Bonjour,
J'ai ré-essayé en déclarant les 4 moteurs mais je retrouve le même problème : le programme ne parvient pas a initialiser les moteurs...
Fanch
 
Messages: 3
Inscription: Sam 10 Mai 2014 12:33


Retourner vers Rotoshield

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron