Contrôle moteur DC avec driver haute puissance

Bonjour, je voudrais controler un moteur 24V avec arduino et ce driver

http://www.hessmer.org/blog/2013/12/28/ibt-2-h-bridge-with-arduino/

J'ai implanté le code exemple avec un potentiomètre et ca marche niquel en suivant le même schéma que l'exemple (sans brancher le - de l'alim au ground de l'arduino).

Maintenant je voulais le piloter pour qu'il tourne dans un sens pendant 30s et dans l'autre 30s.

J'ai donc implémenté ce code :

/*
IBT-2 Motor Control Board driven by Arduino.

Speed and direction controlled by a potentiometer attached to analog input 0.
One side pin of the potentiometer (either one) to ground; the other side pin to +5V

Connection to the IBT-2 board:
IBT-2 pin 1 (RPWM) to Arduino pin 5(PWM)
IBT-2 pin 2 (LPWM) to Arduino pin 6(PWM)
IBT-2 pins 3 (R_EN), 4 (L_EN), 7 (VCC) to Arduino 5V pin
IBT-2 pin 8 (GND) to Arduino GND
IBT-2 pins 5 (R_IS) and 6 (L_IS) not connected
*/



int RPWM_Output = 5; // Arduino PWM output pin 5; connect to IBT-2 pin 1 (RPWM)
int LPWM_Output = 6; // Arduino PWM output pin 6; connect to IBT-2 pin 2 (LPWM)
int nbCycles =0;
void setup()
{
 pinMode(RPWM_Output, OUTPUT);
 pinMode(LPWM_Output, OUTPUT);
}

void loop()
{
 for (int i=0;i<nbCycles;i=i+1){
   digitalWrite(LPWM_Output, HIGH);
   digitalWrite(RPWM_Output, LOW);
   delay(30000);
   digitalWrite(LPWM_Output, LOW);
   digitalWrite(RPWM_Output, HIGH);
   delay(30000);
 }
}

Mais voila le moteur fait un peu n'importe quoi, il bloque, puis de temps en temps tourne dans un sens mais quelques secondes seulement.

Vous voyez une incohérence dans mon code ?

Vous pensez qu'il faut que je lie le ground de n'arduino au moins de l'alim (qui est un transfo) ?

Merci beaucoup

juste une petite erreur dans la recopie la variable nbCycles n'est pas initialisée à 0 mais 10