您好,這篇文章是關(guān)于DIY基于Arduino的自動(dòng)繞線機(jī)。
線軸是縫紉機(jī)中使用的小金屬線軸,線軸上填充有針刺布。
該線軸經(jīng)常變空,您需要一次又一次地用線程回繞。
因此,我使這臺(tái)機(jī)器可以在一次運(yùn)行中自動(dòng)將線繞至最多12個(gè)梭芯。市場上已經(jīng)有許多梭芯繞線機(jī)可用。
但是這里的價(jià)格超過500美元,但是我這臺(tái)基于Arduino的DIY梭芯繞線機(jī)的價(jià)格可以低于100美元。
視頻:
所需材料:
以下是我用來制造這臺(tái)機(jī)器的項(xiàng)目清單,材料完全取決于您設(shè)計(jì)機(jī)器的方式。
Arduino Nano ——————— 1
L293D IC ————————- 1
A4988步進(jìn)驅(qū)動(dòng)器————– 2
Nema 17步進(jìn)電機(jī)——– 2
775直流電動(dòng)機(jī)——————– 1
電機(jī)夾鉗———————— 1
SK8 8MM軸夾————- 5
SCL8UU軸承—————– 4
8mm光棒—————- 1mtr
T8導(dǎo)螺桿——————– 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.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 = 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);
}
責(zé)任編輯:pj
-
直流電動(dòng)機(jī)
+關(guān)注
關(guān)注
7文章
196瀏覽量
22841 -
繞線機(jī)
+關(guān)注
關(guān)注
1文章
38瀏覽量
11274 -
步進(jìn)驅(qū)動(dòng)器
+關(guān)注
關(guān)注
7文章
81瀏覽量
58173
發(fā)布評論請先 登錄
相關(guān)推薦
評論