Bobinadora con arduino

By Joan Duatis

36
2
Free
It's free to download

Information

Bobinadora con arduino

Necesitaba realizar un par de bobinas de miles de vueltas de alambre magneto muy fino para otro proyecto que tengo entre manos. Hacer el bobinado a mano es una locura. Así que aprovechando que tengo un motor paso a paso como recambio de la impresora 3D y un arduino nano me dispuse a realizar esta bobinadora. De momento tengo el arduino y el driver del motor puestos en una protoboard. Mas adelante tengo pensado imprimir una caja donde pueda esconder toda la electrónica y que tenga un display que muestre el nº de vueltas y el potenciométro para graduar la velocidad de giro. En esta versión el nº de vueltas se puede conocer si el arduino se conecta al PC a traves del puerto serie y el IDE de arduino. Para mover el motor NEMA 17 he seguido el tutorial de A.García en: http://diymakers.es/mover-motores-paso-paso-con-arduino/ y el esquema conexiones de yomaker: http://yomaker.com/control-de-motor-paso-a-paso/ He eliminado el interruptor para cambiar de sentido porque no tenia espacio en la protoboard por eso hay dos línieas comentadas que hay que descomentar si se pone dicho botón. El código de arduino que he usado és el siguiente: #include <Stepper.h> //Importamos la librería para controlar motores paso a paso #define STEPS 800 //Ponemos el número de pasos que necesita para dar una vuelta. 800 en mi caso int PIN_STEP = 3; // pin step del pololu int PIN_DIRECTION = 9; // pin direccion del pololu int potenciometro; // lectura del potenciometro int boton = 7; //pin boton para cambiar sentido int direccion =1; //sentido de giro int contador =0; // contador del nº de vueltas // Ponemos nombre al motor, el número de pasos y los pins de control Stepper stepper(STEPS, PIN_DIRECTION, PIN_STEP); //Stepper nombre motor (número de pasos por vuelta, pins de control) void setup() { // Velocidad del motor en RPM stepper.setSpeed(100); //Establece la velocidad del motor en rotaciones por minuto ( RPM ) pinMode(boton, INPUT); Serial.begin(9600); } void loop() { // int sentido = digitalRead(boton); // miramos si está pulsado el boton // if(sentido==1) direccion *=-1; // si está pulsado cambiamos de dirección potenciometro = analogRead(A0); // leemos el potenciometro potenciometro = map(potenciometro,0,1024,10,300); // adaptamos el valor leido a un retardo stepper.setSpeed(potenciometro); //Establece la velocidad del motor en rotaciones por minuto ( RPM ) //Girar una vuelta entera en un sentido stepper.step(STEPS*direccion); contador++; Serial.println (contador); }
171 objects 69 Followers 10557 Downloads
Joined over 7 years ago Barcelona. Catalonia. Spain
Enjoy a 10% sitewide
Discount at checkout
Get a 10% Discount