Welcome! Log In Create A New Profile

Advanced

Problema con i driver A4899

Posted by Anonymous User 
Anonymous User
Problema con i driver A4899
March 25, 2017 12:40PM
Salve, fino a un pario di giorni fa, non sono stato in grado di far funzionare la mia
stampante 3D con la scheda 1.4, perciò ho deciso di fare qualche test manualmente col mio
Arduino sui driver dei motori (i A4899).

Prima di tutto lo ho piazzato sulla breakbaord. Ho connesso VDD e GND ai 5V sull'Arduino,
VMO e GND a una batteria a 9V con un condensatore da 100μF, ho connesso le due bobine del
motore, i pin STEP e DIR a due pin digitali sull'Arduino e infine ho cortocircuitato i pin
RESET e SLEEP. Dopo tutto ciò il motore funzionava normalmente.
(In allegato la foto della breadboard )
Ecco il codice che ho usato

#define STEP 3
#define DIR 4

void setup()
{
  pinMode(STEP, OUTPUT);
  pinMode(DIR, OUTPUT);
}

void loop()
{
  digitalWrite(DIR, HIGH);
  for(int i = 0; i < 10; i++)
  {
    digitalWrite(STEP, HIGH);
    delayMicroseconds(250);
    digitalWrite(STEP, LOW);
    delayMicroseconds(250);
  }
  delay(100);
  digitalWrite(DIR, LOW);
}


Perciò ho messo un singolo stepper driver (e nient'altro) sulla Ramp board, e non ha
funzionato. Dopo un paio di test ho deciso che, invece di piazzare il driver direttamente
nel socket, lo avrei connesso con dei jumper wires (in allegato la foto ). Con un multimeter
ho trovato che il pin DIR sul socket E0 è connesso al pin 28 sul mio Arduino e il pin
STEP al pin 26, perciò è stato facile cambiare il codice basandomi su ciò.

Ovviamente non ha funzionato, perciò ho cominciato a disconnettere alcuni fili e bypassare
la scheda RepRap, prima di tutto ho connesso VMO e GND alla stessa batteria a 9V, ma non nulla
è cambiato. Poi ho provato a lasciare scollegati alcuni cavi e ho scoperto che senza il pin
ENABLE attaccato funzionava perfettamente e potevo controllare il motore.

Dopo un po' di ricerche nella datasheet, ho scoperto che se il pin ENABLE è impostato su HIGH
il driver non funziona, perciò ho investigato un po' con il multimeter e ho notato che il pin
ENABLE sul socket del driver è connesso ai 5V sull'Arduino, il che significa che il driver
non funzionerà mai.

La mia deduzione è corretta? Se sì, come lo posso aggiustare? La mia scheda è difettosa?
Re: Problema con i driver A4899
March 26, 2017 08:46AM
Quote
perciò ho investigato un po' con il multimeter e ho notato che il pin ENABLE sul socket del driver è connesso ai 5V sull'Arduino

i pin di enable hanno una resistenza di pullup, il che significa che se al suo ingresso non viene applicato un segnale basso (0V) lui sta "in automatico" alto, tenendo disabilitato il driver.
che sia connesso direttamente ai 5v mi pare prorpio impossibile. controlla meglio.
stacca la ramps dall'arduino e misura col tester tra 5V ed l'Enable sullo zoccolo del driver: dovresti leggere circa 10Kohm. se così è, è tutto ok, basta collegare l'enable a massa e il dirver è abilitato.
se invece misuri 0ohm la ramps è difettosa, ma lo escluderei al 99.999%

qui ce lo schema se ti può servire

ciao


Delta DIY
Arduino + Ramps 1.4 - driver A4988 - estrusore E3D V6 bowden - MarlinKimbra 4.2.9
Re: Problema con i driver A4899
March 26, 2017 09:01AM
aggiungo:

collegando l'enable ad esempio al pin 5 il tuo sketch dovrebbe essere:

#define STEP 3
#define DIR 4
#define ENABLE 5     // <------

void setup()
{
  pinMode(STEP, OUTPUT);
  pinMode(DIR, OUTPUT);
  pinMode(ENABLE, OUTPUT);        // <--------

 digitalWrite(ENABLE, LOW)           // <---------
}

void loop()
{
  digitalWrite(DIR, HIGH);
  for(int i = 0; i < 10; i++)
  {
    digitalWrite(STEP, HIGH);
    delayMicroseconds(250);
    digitalWrite(STEP, LOW);
    delayMicroseconds(250);
  }
  delay(100);
  digitalWrite(DIR, LOW);
}


Delta DIY
Arduino + Ramps 1.4 - driver A4988 - estrusore E3D V6 bowden - MarlinKimbra 4.2.9
Sorry, only registered users may post in this forum.

Click here to login