您好,这篇文章是关于DIY基于Arduino的自动绕线机。线轴是缝纫机中使用的小金属线轴,线轴上填充有针刺布。该线轴经常变空,您需要一次又一次地用线程回绕。因此,我使这台机器可以在一次运行中自动将线绕至最多12个梭芯。市场上已经有许多梭芯绕线机可用。但是这里的价格超过500美元,但是我这台基于Arduino的DIY梭芯绕线机的价格可以低于100美元。视频:所需材料:以下是我用来制造这台机器的项目清单,材料完全取决于您设计机器的方式。ArduinoNano———————1L293DIC————————-1A4988步进驱动器————–2Nema17步进电机——–2775直流电动机——————–1电机夹钳————————1SK88MM轴夹————-5SCL8UU轴承—————–48mm光棒—————-1mtrT8导螺杆——————–1mtrT8螺母——————————220x20铝简介——————2mtr6mm亚克力板————–8平方英尺16×2液晶显示器—————110kpot————————-1按钮———————-1镍铬丝———————10cm5V继电器——————————1电路图:Arduino代码:#include#include"rgb_lcd.h"rgb_lcdlcd;#includeServomyservo;intpos=0;intheight=128;#include#include"BasicStepperDriver.h"#include"MultiDriver.h"#include"SyncDriver.h"#defineMOTOR_STEPS200#defineMOTOR_X_RPM30#defineMOTOR_Y_RPM30//Xmotor#defineDIR_XA0#defineSTEP_XA1//Ymotor#defineDIR_YA2#defineSTEP_YA3#defineMICROSTEPS16BasicStepperDriverstepperX(MOTOR_STEPS,DIR_X,STEP_X);BasicStepperDriverstepperY(MOTOR_STEPS,DIR_Y,STEP_Y);//SyncDrivercontroller(stepperX,stepperY);MultiDrivercontroller(stepperX,stepperY);intEnable=5;intMot=4;intpot=A7;intval=0;intbutton=2;intstate=0;intlaststate=0;intrelay=6;voidsetup(){//Serial.begin(9600);lcd.begin(16,2);lcd.setCursor(0,0);lcd.print("BOBBINWINDING");lcd.setCursor(0,1);lcd.print("MACHINE");pinMode(Mot,OUTPUT);pinMode(relay,OUTPUT);pinMode(button,INPUT_PULLUP);myservo.attach(11);stepperX.begin(MOTOR_X_RPM,MICROSTEPS);stepperY.begin(MOTOR_Y_RPM,MICROSTEPS);myservo.write(180);delay(2000);controller.rotate(0,-600);lcd.clear();}voidloop(){val=analogRead(pot);val=map(val,0,700,0,100);analogWrite(Enable,val);lcd.setCursor(0,0);lcd.print("PRESSTOSTART");lcd.setCursor(0,1);lcd.print("SPEED");lcd.setCursor(8,1);lcd.print(val);lcd.setCursor(12,1);lcd.print("%");if(!digitalRead(button)){state=1;lcd.clear();lcd.setCursor(0,0);lcd.print("RUNNING....");lcd.setCursor(0,1);lcd.print("PRESSTOSTOP");}if(state==1){controller.rotate(-750,0);controller.rotate(0,100);delay(200);controller.rotate(750,0);servoUP();delay(1000);controller.rotate(-350,-250);delay(1000);servoDown();delay(2000);controller.rotate(-200,-50);delay(500);relayON();delay(500);windingON();delay(75600);windingSTOP();delay(1000);controller.rotate(550,100);controller.rotate(0,100);delay(1000);}}voidfirst(){controller.rotate(-560,0);delay(1000);controller.rotate(560,0);delay(1000);}voidengage(){controller.rotate(-365,-110);}voiddisengage(){controller.rotate(365,0);}voidSupportIN(){controller.rotate(0,-90);}voidSupportOUT(){controller.rotate(0,750);}voidservoUP(){for(pos=180;pos>=height;pos-=1){myservo.write(pos);delay(30);}}voidservoDown(){for(pos=height;posmyservo.write(pos);delay(30);}}voidwindingON(){digitalWrite(Mot,HIGH);}voidwindingSTOP(){digitalWrite(Mot,LOW);}voidrelayON(){digitalWrite(relay,HIGH);delay(1000);digitalWrite(relay,LOW);}