Hola a todos, pues antes que nada me presento.
Me llamo Juan Antonio soy de un pueblo de Sevilla y tengo un hobby hacer mis propias maquinas de trabajo para mi tallercito hechas por mi jajajaj. Pero vamos al grano haber si alguien que controle un poco el tema puede orientarme porque en esto soy principiante. El hecho es el siguiente hace unos días por hobby compre unos motores step motor 28byj-48 muy pequeñitos y lentos pero para lo que quiero hacer me sirve muy bien. Ahora el tema es el siguiente los tengo conectado a arduino uso los pines digitales 4,5,6,7 para conectar un driver y 8,9,10,11 para el otro. Después tengo un joystick analógico para controlarlo todo como si fuesen dos ejes independientes eje x conectado a pin analógico 0 y eje z conectado a pin analógico 1. Hasta ahi todo funciona bien o aparentemente bien, eso creo debido a que no se mucho de electrónica solo lo tengo por hobby y tengo conocimientos muy limitados. El problema viene que aun estando los motores parados cogen demasiada temperatura. No han llegado a quemarse pero se calientan bastante. los motores y los driver los alimento con una fuente regulable lm317 a 5.2v y se lo meto a la placa arduino uno por su correspondiente pin vin. HE probado a subir el voltaje y siguen igual he probado desde 12v a 5.2 pero la temperatura sigue igual. también e probado a alimentarlo todo desde el arduino aunque sin éxito.... ¿Alguien puede orientarme un poco sobre el tema de la temperatura de estos motores?.
He de decir que este proyecto lo quiero hacer para una maquina de corte manual pequeña que quiero hacerme.Tengo en mi taller una cnc a medias que también me estoy haciendo para adaptarle un cortador de plasma para trabajar con acero. Para mover estos ejes uso motores nema y los famosos drivers toshiba y aquí no tengo esos problemas con los motores y su temperatura. ...
-------------------------------------------------------------------------------------------
Se me olvido mostraros el codigo que le cargo a arduino, lo pille por la red y lo modifique hasta que conseguì hacer girar los motores cuando lo indicaba con el joystick
// Controlar dos motores step motor 28byj-48 5v dc con sus respectivos drivers con un joystick analogico.
#include <Stepper.h>
int pasos=180;
int pasosPorLectura=13;
int leer;
int rotacion;
Stepper stepper1(pasos, 8,9,10,11); //Declaracion de pines digitales de Arduino para controlar el driver del eje z
Stepper stepper2(pasos, 4,5,6,7); //Declaracion de pines digitales de Arduino para controlar el driver del eje x
int velocidadMotor1;
int velocidadMotor2;
void setup(){
pinMode (A0, INPUT); // Pin analogico de arduino donde va conectado el la señal del eje z del joystick
pinMode (A1, INPUT); // Pin analogico de arduino donde va conectado el la señal del eje x del joystick
stepper1.setSpeed(200);
stepper2.setSpeed(200);
}
void loop(){{
leer=analogRead(A0);
velocidadMotor1=abs(map(leer, 0, 801, -10, 10))*10;
if (velocidadMotor1>10){
rotacion = leer>400?1:-1;
stepper1.setSpeed(velocidadMotor1);
stepper1.step(rotacion*5);
}
}
leer=analogRead(A1);
velocidadMotor2=abs(map(leer, 0, 1023, -10, 10))*10;
if (velocidadMotor2>10){
rotacion = leer>511?1:-1;
stepper2.setSpeed(velocidadMotor2);
stepper2.step(rotacion*5);
}
}
Me llamo Juan Antonio soy de un pueblo de Sevilla y tengo un hobby hacer mis propias maquinas de trabajo para mi tallercito hechas por mi jajajaj. Pero vamos al grano haber si alguien que controle un poco el tema puede orientarme porque en esto soy principiante. El hecho es el siguiente hace unos días por hobby compre unos motores step motor 28byj-48 muy pequeñitos y lentos pero para lo que quiero hacer me sirve muy bien. Ahora el tema es el siguiente los tengo conectado a arduino uso los pines digitales 4,5,6,7 para conectar un driver y 8,9,10,11 para el otro. Después tengo un joystick analógico para controlarlo todo como si fuesen dos ejes independientes eje x conectado a pin analógico 0 y eje z conectado a pin analógico 1. Hasta ahi todo funciona bien o aparentemente bien, eso creo debido a que no se mucho de electrónica solo lo tengo por hobby y tengo conocimientos muy limitados. El problema viene que aun estando los motores parados cogen demasiada temperatura. No han llegado a quemarse pero se calientan bastante. los motores y los driver los alimento con una fuente regulable lm317 a 5.2v y se lo meto a la placa arduino uno por su correspondiente pin vin. HE probado a subir el voltaje y siguen igual he probado desde 12v a 5.2 pero la temperatura sigue igual. también e probado a alimentarlo todo desde el arduino aunque sin éxito.... ¿Alguien puede orientarme un poco sobre el tema de la temperatura de estos motores?.
He de decir que este proyecto lo quiero hacer para una maquina de corte manual pequeña que quiero hacerme.Tengo en mi taller una cnc a medias que también me estoy haciendo para adaptarle un cortador de plasma para trabajar con acero. Para mover estos ejes uso motores nema y los famosos drivers toshiba y aquí no tengo esos problemas con los motores y su temperatura. ...
-------------------------------------------------------------------------------------------
Se me olvido mostraros el codigo que le cargo a arduino, lo pille por la red y lo modifique hasta que conseguì hacer girar los motores cuando lo indicaba con el joystick
// Controlar dos motores step motor 28byj-48 5v dc con sus respectivos drivers con un joystick analogico.
#include <Stepper.h>
int pasos=180;
int pasosPorLectura=13;
int leer;
int rotacion;
Stepper stepper1(pasos, 8,9,10,11); //Declaracion de pines digitales de Arduino para controlar el driver del eje z
Stepper stepper2(pasos, 4,5,6,7); //Declaracion de pines digitales de Arduino para controlar el driver del eje x
int velocidadMotor1;
int velocidadMotor2;
void setup(){
pinMode (A0, INPUT); // Pin analogico de arduino donde va conectado el la señal del eje z del joystick
pinMode (A1, INPUT); // Pin analogico de arduino donde va conectado el la señal del eje x del joystick
stepper1.setSpeed(200);
stepper2.setSpeed(200);
}
void loop(){{
leer=analogRead(A0);
velocidadMotor1=abs(map(leer, 0, 801, -10, 10))*10;
if (velocidadMotor1>10){
rotacion = leer>400?1:-1;
stepper1.setSpeed(velocidadMotor1);
stepper1.step(rotacion*5);
}
}
leer=analogRead(A1);
velocidadMotor2=abs(map(leer, 0, 1023, -10, 10))*10;
if (velocidadMotor2>10){
rotacion = leer>511?1:-1;
stepper2.setSpeed(velocidadMotor2);
stepper2.step(rotacion*5);
}
}
Última edición: