基于Arduino的DIY梭芯绕线机器的制造过程

描述

您好,这篇文章是关于DIY基于Arduino的自动绕线机。

线轴是缝纫机中使用的小金属线轴,线轴上填充有针刺布。

该线轴经常变空,您需要一次又一次地用线程回绕。

因此,我使这台机器可以在一次运行中自动将线绕至最多12个梭芯。市场上已经有许多梭芯绕线机可用。

但是这里的价格超过500美元,但是我这台基于Arduino的DIY梭芯绕线机的价格可以低于100美元。

视频:

所需材料:

以下是我用来制造这台机器的项目清单,材料完全取决于您设计机器的方式。

Arduino Nano ——————— 1

L293D IC ————————- 1

A4988步进驱动器————– 2

Nema 17步进电机——– 2

775直流电动机——————– 1

电机夹钳———————— 1

SK8 8MM轴夹————- 5

SCL8UU轴承—————– 4

8mm光棒—————- 1mtr

T8导螺杆——————– 1mtr

T8螺母—————————— 2

20 x 20铝 简介—————— 2mtr

6mm亚克力板————– 8平方英尺

16×2液晶显示器————— 1

10k pot ————————- 1

按钮———————- 1

镍铬丝——————— 10cm

5V继电器—————————— 1

电路图:

直流电动机

Arduino 代码:

#include 《Wire.h》

#include “rgb_lcd.h”

rgb_lcd lcd;

#include 《Servo.h》

Servo myservo;

int pos = 0;

int height = 128;

#include 《Arduino.h》

#include “BasicStepperDriver.h”

#include “MultiDriver.h”

#include “SyncDriver.h”

#define MOTOR_STEPS 200

#define MOTOR_X_RPM 30

#define MOTOR_Y_RPM 30

// X motor

#define DIR_X A0

#define STEP_X A1

// Y motor

#define DIR_Y A2

#define STEP_Y A3

#define MICROSTEPS 16

BasicStepperDriver stepperX(MOTOR_STEPS, DIR_X, STEP_X);

BasicStepperDriver stepperY(MOTOR_STEPS, DIR_Y, STEP_Y);

//SyncDriver controller(stepperX, stepperY);

MultiDriver controller(stepperX, stepperY);

int Enable = 5;

int Mot = 4;

int pot = A7;

int val = 0;

int button = 2;

int state = 0;

int laststate = 0;

int relay = 6;

void setup() {

//Serial.begin(9600);

lcd.begin(16, 2);

lcd.setCursor(0, 0);

lcd.print (“BOBBIN WINDING”);

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();

}

void loop() {

val = analogRead(pot);

val = map(val, 0, 700, 0, 100);

analogWrite(Enable,val);

lcd.setCursor(0, 0);

lcd.print (“PRESS TO START”);

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 (“PRESS TO STOP”);

}

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);

}

}

void first(){

controller.rotate(-560, 0);

delay(1000);

controller.rotate(560, 0);

delay(1000);

}

void engage(){

controller.rotate(-365, -110);

}

void disengage(){

controller.rotate(365, 0);

}

void SupportIN(){

controller.rotate(0, -90);

}

void SupportOUT(){

controller.rotate(0, 750);

}

void servoUP(){

for (pos = 180; pos 》= height; pos -= 1) {

myservo.write(pos);

delay(30);

}

}

void servoDown(){

for (pos = height; pos 《= 180; pos += 1) {

myservo.write(pos);

delay(30);

}

}

void windingON(){

digitalWrite(Mot,HIGH);

}

void windingSTOP(){

digitalWrite(Mot,LOW);

}

void relayON(){

digitalWrite(relay,HIGH);

delay(1000);

digitalWrite(relay,LOW);

}
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分