PLOTTER CON ARDUINO Y CHIP A4988

BUENAS A TODOS.
LES QUERÍA MOSTRAR MI PROYECTO
se trata de una maquina para dibujar pcb directamente en la placa de cobre, cosa bastante útil porque soy un asco dibujando las pistas sobretodo cuando instalo chips de mas de 8 patas XD
quisiera aprender con este proyecto para hacer pcb de forma casera despues agrandar la maquina y hacer una fresadora y finalizar con una impresora 3d.
pero para eso debo esforzarme en aprender n.n
aquí algunas fotos de los avances

en la primera foto se puede ver el eje X y el eje Y los construí con 2 impresoras en desuso no es lo mas preciso pero funcionara para hacer las pruebas

y la segunda foto es uno de los motores paso a paso que girara la varilla roscada para mover el eje correspondiente aun me estoy cabeceando como hacer el código para que pueda girar con fuerza y sin dañar el chip pololu a4988

en el vídeo explica que no importa el voltaje que se aplique al motor paso a paso PERO según la ley de ohm si le aplico 12v al motor y su bobina es de 3ohm la corriente seria de 4A y eso es fatal para el pequeño chip que soporta 1.5A maximo si alguien me puede explicar como solucionar eso seria genial

en la tercera foto se ven los chips a4988 están conectados como muestra en este vídeo:

pero con una modificación las entradas MS1, MS2 y MS3 están conectadas a +5v . porque nose y eso me molesta, quiero saber porque =.=

iré publicando los avances en este post gracias

existe para arduino el L298N Stepper Motor Driver, pero es de 2A, seguro es tanta la corriente que consume, esta bien la bobina de ese motor...?

sino tendrás que hacer un pushpull en transistores

gjouvk1346988097419.jpg

según la ley de ohm eso debería consumir el motor y si el motor esta bueno y las bobinas miden 3ohm cada una la hoja tecnica que encontré dice que las bobinas soportan 75mA
http://www.ndatasheet.com/datasheet-pdf/642992/Minebea/17PM-H005-P2VA-pdf.html

seré ciego ahí mismo dice 3.7V
aun me queda solucionar el problema del codigo

algo no cuadraba... los motores de 12v consumen 350mA en general con bobinas de 22 o 26 ohm..., por eso pensé que estaba mal la bobina.

3,75 v y 750 mA ...je

aun no se si el limitador que tiene el chip a4988 es de corriente o es un limitador de voltaje
gracias

Internal synchronous rectification control circuitry is provided to improve power dissipation during PWM operation. Internal circuit protection includes: thermal shutdown with hysteresis, undervoltage lockout (UVLO), and crossover-current protection. Special power-on sequencing is not required...

me refiero al potenciometro si regula el voltaje o regula la corriente

según esto regula la corriente


Simple step and direction control interface
Five different step resolutions: full-step, half-step, quarter-step, eighth-step, and sixteenth-step
Adjustable current control lets you set the maximum current output with a potentiometer, which lets you use voltages above your stepper motor’s rated voltage to achieve higher step rates
Intelligent chopping control that automatically selects the correct current decay mode (fast decay or slow decay)
Over-temperature thermal shutdown, under-voltage lockout, and crossover-current protection
Short-to-ground and shorted-load protection

o sea puedes bajar la corriente para aumentar el voltaje de salida... igual disipación supongo.

no tengo disipadores
pero el vendedor me dijo que normal soportan hasta 1A
y con disipador soportan hasta 2A

le dije que si no tenia disipador le podría poner un ventilador de cpu?
me dijo que eso seria perfecto
el ventilador solo o con el disipador grande que tape todos los pololu

y pude hacer funcionar el motor, pero se calienta un poco creo que tendré que bajarle mas con el potenciometro del pololu
ahora subo un vídeo y les mando el link

acá esta el código que utilice
despues de ver los videotutoriales entendí un poco los comando y los pude modificar
se que no es algo tan difícil pero enserio me cuesta ).

#define VELOCIDAD 1000 //entre mas bajo mas rápido girara el motor

int steps = 2;
int direccion = 3;
int reset = 9;
int pasos = 3500;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(steps, OUTPUT);
pinMode(direccion, OUTPUT);
pinMode(reset, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(reset, LOW); //Mientras reset este en LOW el motor permanecerá apagado y no sufrirá. El chip apagará todos los puertos y no leerá comandos.
delay(100);
digitalWrite(reset, HIGH); //Cuando reset se encuentre en HIGH el motor arrancará y leerá los comandos enviados.
digitalWrite(direccion, HIGH);

for (int i = 200; i<pasos; i++) //Equivale al numero de vueltas (200 es 360º grados) o micropasos
{
digitalWrite(steps, HIGH); // This LOW to HIGH change is what creates the
digitalWrite(steps, LOW); // al A4988 de avanzar una vez por cada pulso de energia.
delayMicroseconds(VELOCIDAD); // Regula la velocidad, cuanto mas bajo mas velocidad.

}

digitalWrite(reset, LOW); //Mientras reset este en LOW el motor permanecerá apagado y no sufrirá. El chip apagará todos los puertos y no leerá comandos.
delay(100);
digitalWrite(reset, HIGH); //Cuando reset se encuentre en HIGH el motor arrancará y leerá los comandos enviados.
digitalWrite(direccion, LOW);

for (int i = 200; i<pasos; i++) //Equivale al numero de vueltas (200 es 360º grados) o micropasos
{

digitalWrite(steps, LOW); // LOW to HIGH hace que el motor avance ya que da la orden
digitalWrite(steps, HIGH); // al A4988 de avanzar una vez por cada pulso de energia.
delayMicroseconds(VELOCIDAD); // Regula la velocidad, cuanto mas bajo mas velocidad.
}
}

que ocurre si modifico esta entrada?
for (int i = 200; i<pasos; i++) //Equivale al numero de vueltas (200 es 360º grados) o micropasos

no encontré la hoja de datos del motor pero encontré las características básicas del motor
otra cosa que note
el motor se calienta, pero el chip a4988 no se calienta ninguno tiene ventilación todavia
eso es normal o estoy haciendo algo mal?

según el tutorial tenia que hallar la x con una ecuación simple
este motor necesita 1 Ampere para funcionar
y la ecuación es así:

1=2,5*X
=0.4

así que moví el potenciometro del chip a4988 hasta obtener el valor 0.4

y funciona todo normal
pero eso,
el motor se calienta

y según lei tenia q poner el MS1 a +5v y el MS2 yMS3 a GND para activar el micropaso eso es así o no?
porque no siento diferencia en el movimiento del motor.

gracias a todos

Nueva imagen de mapa de bits (2).bmp (288 KB)

17PM-K.pdf (203 KB)

buenas a todos
mientras descanso un poco del codigo para controlarelmotor avance en el eje Y
aca les dejo unas fotos

buenas a todos
hoy avance otro poco con el control de motores
encontre un sketch para poder controlar el motor paso a paso e invertir el sentido de giro al pulsar un botón
lo que quisiera realizar es que:

-.el motor este en la posición que esté sea cual sea llegue a un final de carrera de la izquierda (limit swicht 1) haciendo una especie de ''homing''
-. al pulsa un botón que gire en una dirección y así llegue al final de carrera de la derecha (limit switch 2) y se detenga

esto lo necesito para hacer las pruebas con el sistema mecánico armado completo y de paso seguir estudiando los sketch
si alguien me pudiera ayudar con esto por favor n.n

acá esta el que conseguí de la web:

http://www.electroensaimada.com/motor-paso-a-paso.html

y el sketch

/*
----------- www.electroensaimada.com ------------
------ Tutoriales Arduino y Raspberry Pi --------
------ Proyectos Electrónica y Robótica ---------

------ Tutorial Motor Paso a Paso ---------------
*/

#define STEP 11
#define DIR 12
#define BUT 10

void setup(){

pinMode(DIR,OUTPUT); //Indicamos que los pines son de salida
pinMode(STEP,OUTPUT);
pinMode(BUT,INPUT);

digitalWrite(BUT,HIGH);//Ponemos pull-up al pin del boton

digitalWrite(DIR,LOW); //Fijamos una direción

delay(3000);

}

void loop(){

digitalWrite(DIR,digitalRead(BUT));//Con el boton elejimos la direccion de giro

delayMicroseconds(100);
digitalWrite(STEP,HIGH);
delayMicroseconds(100); //Con este delay va un poco lento, se puede poner a 100
digitalWrite(STEP,LOW);
delayMicroseconds(100);
}

y por ultimo el vídeo de la prueba:

e visto que este post tiene muchas visitas espero que con estos aportes ayude a alguien mas

gracias

HOLA A TODOS

el plotter ya va tomando forma qui les dejo 2 vídeos de las pruebas y el funcionamiento de los 2 ejes

prueba del eje superior Y

prueba del eje inferior X

coloque 2 motores para probar el torque del motor obviamente no pondré tanto peso a lo mas una placa de cobre para los pcb's

eso es todo que estén bien

PD: alguien que me ayude con el sketch para ponerle finales de carrera porfavor

siguiendo con la construcción del plotter estuve haciendo un carrito con knex para equilibrar el peso del eje Y así no se quiebra el plástico del eje X de la impresora antigua

y también estaba pensando en ponerle como superficie de trabajo una tapa de escaner volteada como es pareja y tiene una espuma que dará mas equilibrio a la placa de cobre pensé que seria lo mejor por el momento

estaré publicando nuevos avances pronto

Hola josekbezas que genial proyecto estas llevando a cabo, yo estoy en uno similar y tambien soy de chile :D.

La diferencia del mio es que realizare la transmision de movimiento con correas dentadas, algo asi como las impresoras 3D, tambien utilizare motores paso a paso de impresoras, ahora en las vacaciones construi el eje Z, el que llevara el lapiz para rutear :).

Saludos y esperamos mas avances :slight_smile:

gracias por el apoyo skratch
ahora subo un avance mas el eje Z
deberé ingeniármelas para montarlo ya que por el diseño tan deforme debo dejarlo fijo XD
estoy pensando seriamente en desarmarlo y hacerlo igual que las cnc que e visto en Internet total ya e avanzado en el control de motores

lo complicado fue conseguir la ''tuerca larga'' mas que nada pura suerte asi que fui a santiago a comprarla
y eso a continuación las fotos

buenas a todos
e estado ocupado con trabajo así que no he avanzado mucho con la maquina
ademas e revisado y el diseño es poco eficiente :frowning: pero ya empece esto así que debo terminarlo y que falle con ganas XD
hoy le hice el soporte al eje z se me hizo muy difícil poder hacer un soporte para cualquier plumón así que opte por ponerle perros de ropa mas adelante lo cambio por otro mejor
pero por ahora este debiera funcionar

buenas a todos
e avanzado y casi termino el primer modelo del plotter espero funcione
acá les dejo unas fotos de los chip a4988 y el arduino uno montado en lo que antes era una fuente de impresora

use los conectores de discos duros y los de una placa madre que tenia por ahí y los fije con silicona para que quedaran mas ''firmes''

publicare a medida que este avanzando

buenas a todos
finalizando la maquina porfin!
e instalado el cnc control 2.2.4 en windows 7 nose pero solamente funciona en mi notebook
hice la configuracion y subi el scketch manualmente a arduino
aca les dejo un video con la prueba

realice un movimiento de 100 paso a los 3 ejes y luego presione el boton homing y automaticamente volieron a su posicion original

ahora me queda dibujar y probar como es enviando los codigos G

nos vemos

buenas a todos
por fin!!
e dibujado la primera letra, bueno la verdad fueron como 10 para calibrar las alturas y aprender a dibujar en inkscape
pero cada vez falta menos
tendré que buscar una solución al carrito de knex las ruedas parecen ''dentadas'' así que el movimiento produce saltos en el dibujo
y por la posición de la letra me parece q tengo la posición de la maquina al revés
perdón por la mala calidad de los vídeos espero pronto hacerme un soporte para el celular y con una resolución decente

me e quedado con el software cnc control

http://cnccontrol.byethost13.com/index.html

la verdad esta muy fácil de usar aunque sea un misterio porque no funciona en otros pc
de momento me quedo en el notebook

vídeo de la primera letra, acá esta mas ancha de lo que debería porque faltaba calibrar los pasos x mm del eje x

y el vídeo de la 10 letra despues de modificar el eje Z para que tuviera mas firmeza aunque debo eliminar los ''perros de ropa'' por otro sistema universal para sostener el plumón
ademas fije la tapa de scanner para tener una mejor superficie para hacer las pruebas

eso es todo por ahora
gracias y hasta pronto