Estoy trabajando en un proyecto de motor paso a paso con un PCB personalizado donde necesito girar dos motores paso a paso simultáneamente, estoy usando dos drv 8825 y un relé de 8 canales, donde 4 relés están conectados a un motor paso a paso y cuatro restantes están conectados a otro.
El motor paso a paso gira durante el estado NC (es decir, cuando los relés están activados). El problema al que me enfrento es que uno de los motores del conector J9 no pisa, ni siquiera vibra cuando se activan los relés. No estoy enfrentando este problema que el motor cuando está conectado al conector J10.
Drv8825 está en condiciones de funcionamiento ya que, he probado ambos, el motor funciona cuando lo coloco en el conector J10 pero no en el conector J9.
He adjuntado el esquema. Los conectores J-10 y J-9 son donde se conectan los motores paso a paso
Estoy utilizando NEMA 17, motores paso a paso de 200 pasos, y el DRV8825 está en modo de micropaso 1/32
Estoy usando una fuente de alimentación de 12 V, 12.5 A. Esta tarjeta se usa para cambiar los controles de mi tarjeta de impresora 3D a mi tarjeta PCB personalizada, ambas tarjetas usan dos motores paso a paso comunes.
El sistema funciona solo si los motores están conectados al conector, después de encender la fuente de alimentación.
¿Por qué el DRV8825 no produce un voltaje de salida?
#include <AccelStepper.h>
AccelStepper stepper1(1, 9, 8);
AccelStepper stepper(1, 7, 6);
const int stepPin1 = 9;
const int dirPin1 = 8;
const int stepPin = 7;
const int dirPin = 6 ;
const int Motor1 = A0;
const int Motor2 = A1;
const int Motor3= A2;
const int Motor4 = A3;
const int Motor5 = A4;
const int Motor6 = A5;
const int Motor7= 3;
const int Motor8 = 2;
void setup() {
pinMode(dirPin1, OUTPUT);
pinMode(stepPin1, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(stepPin, OUTPUT);
pinMode(Motor1,OUTPUT);
pinMode(Motor2,OUTPUT);
pinMode(Motor3,OUTPUT);
pinMode(Motor4, OUTPUT);
pinMode(Motor5,OUTPUT);
pinMode(Motor6,OUTPUT);
pinMode(Motor7,OUTPUT);
pinMode(Motor8, OUTPUT);
stepper1.setMaxSpeed(500);
stepper1.setSpeed(500);
stepper.setMaxSpeed(500);
stepper.setSpeed(500);
}
void loop()
{
digitalWrite(Motor1, HIGH);
digitalWrite(Motor2, HIGH);
digitalWrite(Motor3, HIGH);
digitalWrite(Motor4, HIGH);
digitalWrite(Motor5, HIGH);
digitalWrite(Motor6, HIGH);
digitalWrite(Motor7, HIGH);
digitalWrite(Motor8, HIGH);
stepper1.runSpeed();
stepper.runSpeed();
}