Problemi con Motor Shield R3 [RISOLTO]

Ciao a tutti!
Mi è da poco arrivata la Motor Shield r3 comprata su Robot Italy insieme a 2 motori DC. Ho fatto i relativi collegamenti, quindi collegando una batteria da 9v per l’alimentazione dello shield ed infine ad esso ho collegato anche i 2 motori.
Scrivo il programma…collego la batteria allo shield, collego arduino al pc con la usb ma riscontro dei problemi. Il motore B sembra funzionare correttamente, il motore A invece, prima di caricare il programma sembrava funzionare adesso funziona solamente se tocco la scheda. Toccando arduino sotto sulle saldature o vicino i pin il motore funziona altrimenti a malapena si accendono i led. Vi allego lo sketch e lo schema elettrico.
Grazie.

Gian

int pinDirA = 12;
int pinDirB = 13;
int pinPwmA = 9;
int pinPwmB = 11;


void setup() 
{
  pinMode(pinDirA, OUTPUT);
  pinMode(pinPwmA, OUTPUT);
  pinMode(pinDirB, OUTPUT);
  pinMode(pinPwmB, OUTPUT);
}

void loop()
{
  //Test 1: Rotazione motori: M1 ed M2 -> Avanti; Velocità: M1 ed M2 -> Max
  digitalWrite(pinDirA, HIGH);  //Dichiaro la direzione dei motori
  digitalWrite(pinDirB, HIGH);
  analogWrite(pinPwmA, 100);    //Dichiaro la velocità dei motori
  analogWrite(pinPwmB, 100);
  
  delay(2500);
  
  //Test 2: Rotazione motori: Mi ed M2-> Indietro; Velocità: M1 ed M2 -> Max
  digitalWrite(pinDirA, LOW);
  digitalWrite(pinDirB, LOW);
  analogWrite(pinPwmA, 100);
  analogWrite(pinPwmB, 100);
  
  delay(2500);
  
  //Test 3: Rotzione motori: M1-> Avanti; M2-> Indietro; Velocità: M1 ed M2 -> Max
  digitalWrite(pinDirA, HIGH);
  digitalWrite(pinDirB, LOW);
  analogWrite(pinPwmA, 100);
  analogWrite(pinPwmB, 100);
  
  delay(2500);
  
  // Test 4: Rotazione motori: M1 -> Indietro; M2 -> Avanti; Velocità: M1 ed M2 ->Max
  digitalWrite(pinDirA, LOW);
  digitalWrite(pinDirB, HIGH);
  analogWrite(pinPwmA, 100);
  analogWrite(pinPwmB, 100);
 
  delay(2500);
 
  // Test 5: Stop Motori
  digitalWrite(pinDirA, HIGH);
  digitalWrite(pinDirB, HIGH);
  analogWrite(pinPwmA, 0);
  analogWrite(pinPwmB, 0);
 
  delay(2500); 
}

Ho fatto delle prove provandone prima uno e poi un altro. I motori funzionano correttamente credo sia proprio il collegamento per il motore A ad avere, apparentemente qualche problema. Ho semplificato lo sketch allegato prima facendo funzionare solo il motore A e presenta gli stessi problemi di cui vi ho parlato sopra. Pensate si sia bruciato? O era difettoso? Perchè in caso penserei di contattare quelli di Robot Italy.

Ciao ragazzi, so che non dovrei rompervi le scatole, ma purtroppo non riesco a risolvere questa situazione. Il rivenditore mi ha consigliato, prima di avvalermi della garanzia, di contattare il supporto arduino perchè potrebbe essere una cosa risolvibile da loro. Nonostante le mie due e-mail e quella di sollecito da parte del rivenditore il supporto arduino non si fa vivo. Volevo sapere se qualcuno di voi avesse anche una minima idea di come poter risolvere questo problema, anche un input per partire e capire se è una cosa risolvibile come dice il rivenditore oppure non c'è nulla da fare. Vi ringrazio e mi scuso per questo ennesimo messaggio.

Gian

Perdona la domanda ... è marcata Arduino.cc oppure è marcata Arduino.org ? ... perché quella Arduino.cc mi sembra esaurita già da un bel po ... ::)

Guglielmo

La scheda è marcata Arduino.org se preferisci allego una foto Gian

Non serve ... se è marcata Arduino.org allora ... NON è un prodotto di "Arduino.cc/Genuino" ... [u]hai sbagliato forum[/u] ... devi andare sul forum diArduino.org che è il produttore di quella scheda. :confused:

Considera che c'è in corso una causa legale ... QUI trovi tutte le informazioni riguardanti la cosa.

Guglielmo

Ci mancava solo questa :'( Quantomeno ho contatto il supporto giusto. Ho mandato le e-mail a suppor@arduino.org. Ti ringrazio per la disponibilità, vedo cosa mi dicono nell'altro forum. Sarà una storia infinita!!

GianInter25: ... Toccando arduino sotto sulle saldature o vicino i pin il motore funziona altrimenti a malapena si accendono i led.

... comunque, da quanto dici, sembrerebbe o un falso contatto o una saldatura mal fatta sulla scheda ::)

Guglielmo

Prima di caricare il software ho collegato la shield all’alimentazione e sembrava che funzionassero entrambi. Appena ho caricato il softaware ha cominciato a dare tutti i problemi che ho descritto sopra. Quello che ho pensato è che sicuramente non possono essere problemi di collegamenti perchè sono troppo semplici (almeno spero di non peccare di presunzione :smiley: ). E non mi sembra un problema dovuto al software. Ma il motivo per il quale appena sfioro i contatti sembra funzionare quale potrebbe essere? Basta anche sfiorare la scheda che si illuminano i led. Cosa che non accade con la scheda Arduino dove, si c’è un piccolo assorbimento di corrente, ma nulla di eclatante.

GianInter25: Prima di caricare il software ho collegato la shield all'alimentazione e sembrava che funzionassero entrambi. Appena ho caricato il softaware ha cominciato a dare tutti i problemi che ho descritto sopra.

Sei sicuro dei pin utilizzati ? Sulla motor shield r3 originale, quella marcata arduino.cc, i pin utilizzati sono diversi da quelli che hai assegnato. In teoria la schema della motor shield r3 di arduino.org dovrebbe essere identico a quello della motor shield marcata arduino.cc.

Vi allego la foto della Motor Shield.

Dir B = 13 Dir A = 12

Pwm B = 11 Pwm A = 3

Ci sono anche dei pin di Break, che però non ho dichiarato. Potrebbe essere questo il problema? Non li ho dichiarati perchè negli esempi che ho reperito su internet non ho trovato nulla a riguardo.

Break A = 9 Berak b = 8

Mi sa che sono un pirla!!!!! -.- Forse ho trovato l'errore...ho sbagliato il pin PWMA. Ora provo e vi dico.

Confermo di essere un pirla! :D :D :D Funziona! Avevo sbagliato il pin della Pwm del motore A. Non mi ero concentrato molto sul software perchè mi sembrava un problema della shield. Scusatemi ^^ Grazie per la disponibilità!!

edita il topic come [Risolto] ;)