Modulo 8 relè problema alimentazione

Ciao a tutti ho collegato il modulo relè a un alimentatore esterno da computer questo mi dovrebbe erogare 10 A sulla 5 V.
Ho un problema però collegando l'amperometro vedo che eroga solo 200mA che non sono in grado di alimentare tutto il modulo.
Questo problema capita solo con il modulo relè come posso risolvere questo?

Intendevo dire che alimentando alla tensione di 5V (espressa nel datasheet) mi riesce ad eccitare solo 3 relè e gli altri no.
Inoltre se alzo leggermente la tensione riesco ad eccitare tutte le bobine ma dopo non si diseccitano più anche se richiamate dal codice

Ho un regolatore di tensione che mi permette di regolarla appunto.
Si a 5V riesco ad eccitare sempre quei tre relè

Allora il regolatore di tensione è questo (http://www.ebay.it/itm/like/201593910408)

Ti incollo delle foto dei circuito.
Descritto brevemente nella breadboard bianca c'è il driver A4988 dell'allegro che mi permette di controllare il motore passo passo.

Nella morsettiera in alto sono collegate le varie pompe alimentate a 12V che sono controllate dal modulo relè.

Arduino dispone di un ethernet shield.

Immagine

CODICE ARDUINO (non si sa mai)

#include <SPI.h>
#include <Ethernet.h> 
boolean reading = false;
int dirPin = 2;
int stepperPin = 3;
int pompa_1 = 5;
int pompa_2 = 6;
int pompa_3 = 7;

int tastiera = 0;
int tastiera_2 = 0;
int tastiera_3 = 0;

int i=0; 

String HTTPget = "";

//configurazione in internet
byte ip[] = { 192, 168, 1, 177 };   // IP Address
byte subnet[] = { 255, 255, 255, 0 }; // Subnet Mask
byte gateway[] = { 192, 168, 1, 1 }; // Gateway
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MAC Address
EthernetServer server = EthernetServer(80); // Port 80

void setup()
{
  Serial.begin(9600);
  // pin 10, 11, 12 and 13 are used by the ethernet shield
  Ethernet.begin(mac, ip, gateway, subnet); // setup ethernet with params from above
  server.begin();
  pinMode(dirPin, OUTPUT);
  pinMode(stepperPin, OUTPUT);
  pinMode(pompa_1, OUTPUT);
  pinMode(pompa_2, OUTPUT);
  pinMode(pompa_3, OUTPUT);
}

void step(boolean dir,int steps){
    digitalWrite(dirPin,dir);
    delay(50);
   for(int i=0;i<steps;i++){
    digitalWrite(stepperPin, HIGH);
    delayMicroseconds(800);
    digitalWrite(stepperPin, LOW);
    delayMicroseconds(800);
 }
}
void loop()
{
  // listen for incoming clients
  EthernetClient client = server.available();
  Serial.println("Connesso");
  
  if (client) 
  {
    boolean lineIsBlank = true;
    while (client.connected())
  {
    if (client.available())
    {
      char c = client.read();
      
      if(reading && c == ' ') reading = false;
      if(c == '?') reading = true; // ? in GET request was found, start reading the info
 
      //check that we are reading, and ignore the '?' in the URL, then append the get parameter into a single string
      if(reading && c != '?') HTTPget += c;
 
      if (c == '\n' && lineIsBlank) {
      client.println("HTTP/1.1 200 OK");
      client.println("Content-Type: text/html");
      client.println("Connection: close");
      client.println();
      break;
      }
      if (c == '\n')
      {
        lineIsBlank = true;
        
      }
      else if (c != '\r')
      {
        lineIsBlank = false;
      } 
    }
  }
  if(i==0){
    //creo la variabile tempo dalla stringa url
    String var_1 = HTTPget.substring(4,6);
    int tastiera = var_1.toInt();
    //creo la variabile tempo_2 dalla stringa url
    String var_2 = HTTPget.substring(13,15);
    int tastiera_2 = var_2.toInt();
    //creo varialbile tempo_3 dalla stringa url
    String var_3 = HTTPget.substring(22,24);
    int tastiera_3 = var_3.toInt();
    //
    if(tastiera != 0){
    Serial.println("Acceso");
    step(true,200);
    Serial.println("Blocco_1");
    delay(500);
    //andrà messo il relè 1 con la pompa 1
    digitalWrite(pompa_1, HIGH);
     //resta acceso fino a quando non raggiunge la capacità definita
    delay(tastiera*100);
    //spegne il relè
    digitalWrite(pompa_1, LOW);
    delay(100);
    }else{
      Serial.println("Spento");
      step(true,200);
      Serial.println("Blocco_1");
      digitalWrite(pompa_1, LOW);
      Serial.println("Tempo=0");
    }
    //blocco2
    if(tastiera_2 != 0){
    Serial.println("Acceso");
    step(true,200*2);
    Serial.println("Blocco_2");
    delay(500);
    //andrà messo il relè 1 con la pompa 1
    digitalWrite(pompa_2, HIGH);
     //resta acceso fino a quando non raggiunge la capacità definita
    delay(tastiera_2*100);
    //spegne il relè
    digitalWrite(pompa_2, LOW);
    delay(100);
    }else{
      Serial.println("Spento");
      step(true,200*2);
      Serial.println("Blocco_2");
      digitalWrite(pompa_2, LOW);
      Serial.println("Tempo=0");
    }
    //blocco1
    if(tastiera_3 != 0){
    Serial.println("Acceso");
    step(true,200*3);
    Serial.println("Blocco_3");
    delay(500);
    //andrà messo il relè 1 con la pompa 1
    digitalWrite(pompa_3, HIGH);
     //resta acceso fino a quando non raggiunge la capacità definita
    delay(tastiera_3*100);
    //spegne il relè
    digitalWrite(pompa_3, LOW);
    delay(100);
    }else{
      Serial.println("Spento");
      step(true,200*3);
      Serial.println("Blocco_3");
      digitalWrite(pompa_3, LOW);
      Serial.println("Tempo=0");
    }

    step(false,-200*6);
    Serial.println("Ritorno");
    delay(500);
    /**/
    Serial.println("Disconnesso");
    i++;
    
    }else{
      HTTPget = "";
      i=0;
      tastiera = 0;
      tastiera_2 =0;
      tastiera_3 = 0;
    }
  }
    delay(1); // give the web browser a moment to recieve
    client.stop(); // close connection
  }

Infatti non lo vedo neanche io.
Dalla morsettiera, dov'è collegato il cavetto bianco che và al GND della scheda relè, collegaci un'altro cavo che collegherai al GND di Arduino

Poi un'altra cosa che noto in un sacco di circuiti... i cavetti Dupont che hai usato per le alimentazioni, cosi' come quelli saldati all'uscita dello StepDown, sono troppo piccoli come sezione