您好,这篇文章是关于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
全部0条评论
快来发表一下你的评论吧 !