Çizim Yapan Mini Cnc Yapımı
Merhaba arkadaşlar, bu projemizde bozuk dvd ve cd-rom sürücüleri geri dönüşüme kazandırmak ve düşük maliyette cnc yapımını anlatacağım. Çizim yapan mini cnc projesinin yapımına başlayalım.
Malzemeler:
- Arduino ( nano , uno, mega olabilir)
- Bozuk dvd veya cd-rom (içindeki step motor çalışan olacak)
- 2 Adet l293d veya l293b motor sürücü ya da 1 adet Adafruit Motor Sürücü
- Servo motor ( Mg90 yeterli)
- 5v 2 amper batarya veya adaptör
- X eksenini sabitlemek için 20 x 16 cm ve kalınlığı 5 mm olan pleksi levha.
- Y eksenini sabitlemek için 15x 16 cm ve kalınlığı 5 mm olan pleksi levha
- Çizim tablası için 75×75 mm ve kalınlığı 5 mm olan pleksi levha kullanabilirsiniz.
- 1 Adet M5 cıvata somun ( Kalemi sabitlemek için)
- 14 Adet M4 cıvata somun
Mini cnc ‘nin ön ve arka genel görünüşü ve parçalarının açıklamaları:
Parçaların İsimleri
- X düzlemi Pleksi Plaka (200x150x3 mm)
- Y düzlemi Pleksi Plaka ( 200x150x3 mm)
- X ekseni hareket mekanizması ( dvd sürücü kızak mekanizması)
- Y ekseni hareket mekanizması ( dvd sürücü kızak mekanizması)
- Z düzlemi şase kısmı
- Servo motor
- Kalem tutamacı
- Kalem sabitleyici somun – vida düzeneği ( 1 Adet M5 cıvata somun)
- Kalem
- Çizim tablası ( 75x75x5 mm pleksi levha)
- Eksen destekleri ve vida yuvaları
- X ekseni hareketini sağlayan step motor
- Y ekseni hareketini sağlayan step motor
- Kağıdı sabitlemek için ataç
- 14 Adet M4 cıvata somun
- Kalem tutucu destek
- Z ekseni mili
- Kablolar
- 4 Adet Köşebent
- Kontrol ünitesi ( Arduino uno , 2 adet l239d, pertinaks( delikli plaket), enerji giriş jak)
- Bilgisayar bağlantısı için usb kablo
Ürünü Satın Al ( BÜYÜK VERSİYON
Mekanik Kısım:
Dvd veya Cd -R0m sürücünün içindeki raylı sistem olan kısmı kullanacağız. Bu kısımda step motor sonsuz vida miline bağlı ve mil döndükçe mile bağlı olan lazer okuyucu kısmı hareket eder. Bu kısma zarar vermeden çıkarıyoruz. Aynı şekilde diğer sürücüyü de söküp toplamda iki tane step motorlu raylı sistem çıkıyor. Dvd -Rom kullandıysanız onun lazer diyotları ile kendinize lazer kesici de yapabilirsiniz. Eksenlerin hareketini sağlayacak mekanik kısım bunlar .Diğer mekanik parçaları 3d yazıcıdan çıkaracağız.
Z ekseni şase parçası:
Kalem Tutucu Parça:
X ve Y Ekseni Plakalarını Birbirine Sabitleyecek Destek Parçası:
Kalemin Üst Kısmını Tutan Parça:
X ve Y Eksenlerinin yükselteç ve vida yatağı parçaları :
Parçaların stl dosyalarını buradan indirebilirsiniz >> mini cnc stl dosyaları
Elektronik Kısım:
Elektronik sistemimizde x ve y eksenini hareket ettirecek olan iki adet step motoru ve kalemi kaldırıp indirecek olan bir adet servo motorun bağlantılarını yapacağız.
Aşağıdaki devreden bağlantıları yapınız.
Adafruit Motor Shield için devre bağlantısı:
Yazılım Kısmı:
L293d veya L293b Motor Sürücüsü Kullananlar için Arduino Yazılımı:
#include <Servo.h> #include <Stepper.h> #define LINE_BUFFER_LENGTH 512 const int kalem_kaldir = 130; const int kalem_indir = 40; const int kalem_servo_pin = 12; const int adim_sayisi = 20; const int hareket_hizi = 250; Servo kalem_servo; Stepper y_ekseni(adim_sayisi, 2,3,4,5); Stepper x_ekseni(adim_sayisi, 6,7,8,9); float x_adim_mm = 6.0; float y_adim_mm = 6.0; struct point { float x; float y; float z; }; struct point actuatorPos; float StepInc = 1; int StepDelay = 0; int LineDelay = 50; int penDelay = 50; float Xmin = 0; float Xmax = 40; float Ymin = 0; float Ymax = 40; float Zmin = 0; float Zmax = 1; float Xpos = Xmin; float Ypos = Ymin; float Zpos = Zmax; boolean verbose = false; void setup() { // Setup Serial.begin( 9600 ); kalem_servo.attach(kalem_servo_pin); kalem_servo.write(kalem_kaldir); delay(200); x_ekseni.setSpeed(hareket_hizi); y_ekseni.setSpeed(hareket_hizi); Serial.println("Çizim Yapan Mini CNC!"); Serial.print("X min "); Serial.print(Xmin); Serial.print(" den "); Serial.print(Xmax); Serial.println(" mm."); Serial.print("Y min "); Serial.print(Ymin); Serial.print(" den "); Serial.print(Ymax); Serial.println(" mm."); } void loop() { delay(200); char line[ LINE_BUFFER_LENGTH ]; char c; int lineIndex; bool lineIsComment, lineSemiColon; lineIndex = 0; lineSemiColon = false; lineIsComment = false; while (1) { while ( Serial.available()>0 ) { c = Serial.read(); if (( c == '\n') || (c == '\r') ) { if ( lineIndex > 0 ) { line[ lineIndex ] = '\0'; if (verbose) { Serial.print( "Alıcı : "); Serial.println( line ); } processIncomingLine( line, lineIndex ); lineIndex = 0; } else { // Empty or comment line. Skip block. } lineIsComment = false; lineSemiColon = false; Serial.println("ok"); } else { if ( (lineIsComment) || (lineSemiColon) ) { if ( c == ')' ) lineIsComment = false; } else { if ( c <= ' ' ) { } else if ( c == '/' ) { } else if ( c == '(' ) { lineIsComment = true; } else if ( c == ';' ) { lineSemiColon = true; } else if ( lineIndex >= LINE_BUFFER_LENGTH-1 ) { Serial.println( "Yazma Hatası" ); lineIsComment = false; lineSemiColon = false; } else if ( c >= 'a' && c <= 'z' ) { line[ lineIndex++ ] = c-'a'+'A'; } else { line[ lineIndex++ ] = c; } } } } } } void processIncomingLine( char* line, int charNB ) { int currentIndex = 0; char buffer[ 64 ]; struct point newPos; newPos.x = 0.0; newPos.y = 0.0; while( currentIndex < charNB ) { switch ( line[ currentIndex++ ] ) { case 'U': penUp(); break; case 'D': penDown(); break; case 'G': buffer[0] = line[ currentIndex++ ]; buffer[1] = '\0'; switch ( atoi( buffer ) ){ case 0: case 1: char* indexX = strchr( line+currentIndex, 'X' ); char* indexY = strchr( line+currentIndex, 'Y' ); if ( indexY <= 0 ) { newPos.x = atof( indexX + 1); newPos.y = actuatorPos.y; } else if ( indexX <= 0 ) { newPos.y = atof( indexY + 1); newPos.x = actuatorPos.x; } else { newPos.y = atof( indexY + 1); indexY = '\0'; newPos.x = atof( indexX + 1); } drawLine(newPos.x, newPos.y ); // Serial.println("ok"); actuatorPos.x = newPos.x; actuatorPos.y = newPos.y; break; } break; case 'M': buffer[0] = line[ currentIndex++ ]; buffer[1] = line[ currentIndex++ ]; buffer[2] = line[ currentIndex++ ]; buffer[3] = '\0'; switch ( atoi( buffer ) ){ case 300: { char* indexS = strchr( line+currentIndex, 'S' ); float Spos = atof( indexS + 1); if (Spos == 30) { penDown(); } if (Spos == 50) { penUp(); } break; } case 114: Serial.print( "Tam Pozisyon : X = " ); Serial.print( actuatorPos.x ); Serial.print( " - Y = " ); Serial.println( actuatorPos.y ); break; default: Serial.print( "Komut Tanınmadı : M"); Serial.println( buffer ); } } } } void drawLine(float x1, float y1) { if (verbose) { Serial.print("fx1, fy1: "); Serial.print(x1); Serial.print(","); Serial.print(y1); Serial.println(""); } if (x1 >= Xmax) { x1 = Xmax; } if (x1 <= Xmin) { x1 = Xmin; } if (y1 >= Ymax) { y1 = Ymax; } if (y1 <= Ymin) { y1 = Ymin; } if (verbose) { Serial.print("Xpos, Ypos: "); Serial.print(Xpos); Serial.print(","); Serial.print(Ypos); Serial.println(""); } if (verbose) { Serial.print("x1, y1: "); Serial.print(x1); Serial.print(","); Serial.print(y1); Serial.println(""); } x1 = (int)(x1*x_adim_mm); y1 = (int)(y1*y_adim_mm); float x0 = Xpos; float y0 = Ypos; long dx = abs(x1-x0); long dy = abs(y1-y0); int sx = x0<x1 ? StepInc : -StepInc; int sy = y0<y1 ? StepInc : -StepInc; long i; long over = 0; if (dx > dy) { for (i=0; i<dx; ++i) { x_ekseni.step(sx); over+=dy; if (over>=dx) { over-=dx; y_ekseni.step(sy); } delay(StepDelay); } } else { for (i=0; i<dy; ++i) { y_ekseni.step(sy); over+=dx; if (over>=dy) { over-=dy; x_ekseni.step(sx); } delay(StepDelay); } } if (verbose) { Serial.print("dx, dy:"); Serial.print(dx); Serial.print(","); Serial.print(dy); Serial.println(""); } if (verbose) { Serial.print("Going to ("); Serial.print(x0); Serial.print(","); Serial.print(y0); Serial.println(")"); } delay(LineDelay); Xpos = x1; Ypos = y1; } void penUp() { kalem_servo.write(kalem_kaldir); delay(LineDelay); Zpos=Zmax; if (verbose) { Serial.println("Pen up!"); } } void penDown() { kalem_servo.write(kalem_indir); delay(LineDelay); Zpos=Zmin; if (verbose) { Serial.println("Pen down."); } }
Adafruit Motor Shield Kullananlar İçin Arduino Yazılımı :
<h4><span style="color: #ff0000;"><strong>Processing Yazılımı:</strong></span></h4> import java.awt.event.KeyEvent; import javax.swing.JOptionPane; import processing.serial.*; Serial port = null; // select and modify the appropriate line for your operating system // leave as null to use interactive port (press 'p' in the program) String portname = null; //String portname = Serial.list()[0]; // Mac OS X //String portname = "/dev/ttyUSB0"; // Linux //String portname = "COM6"; // Windows boolean streaming = false; float speed = 0.001; String[] gcode; int i = 0; void openSerialPort() { if (portname == null) return; if (port != null) port.stop(); port = new Serial(this, portname, 9600); port.bufferUntil('\n'); } void selectSerialPort() { String result = (String) JOptionPane.showInputDialog(frame, "Select the serial port that corresponds to your Arduino board.", "serial port seç", JOptionPane.QUESTION_MESSAGE, null, Serial.list(), 0); if (result != null) { portname = result; openSerialPort(); } } void setup() { size(500, 250); openSerialPort(); } void draw() { background(0); fill(255); int y = 24, dy = 12; text("Menuler", 12, y); y += dy; text("p: serial port seç", 12, y); y += dy; text("1: hız 0.001 inch", 12, y); y += dy; text("2: hız 0.010 inch", 12, y); y += dy; text("3: hız 0.100 inch", 12, y); y += dy; text("Yön Tuşları: x-y Düzlemi", 12, y); y += dy; text("Sayfa aşağı-yukarı: z eksen ", 12, y); y += dy; text("$: grbl ayarlar", 12, y); y+= dy; text("h: Başlangıç Konumu", 12, y); y += dy; text("0: Güncel Konum", 12, y); y += dy; text("g: g-code dosya seç ", 12, y); y += dy; text("x: Çizimi Durdur", 12, y); y += dy; y = height - dy; text("güncel hız: " + speed + " adım", 12, y); y -= dy; text("güncel serial port: " + portname, 12, y); y -= dy; } void keyPressed() { if (key == '1') speed = 0.001; if (key == '2') speed = 0.01; if (key == '3') speed = 0.1; if (!streaming) { if (keyCode == LEFT) port.write("G91\nG20\nG00 X-" + speed + " Y0.000 Z0.000\n"); if (keyCode == RIGHT) port.write("G91\nG20\nG00 X" + speed + " Y0.000 Z0.000\n"); if (keyCode == UP) port.write("G91\nG20\nG00 X0.000 Y" + speed + " Z0.000\n"); if (keyCode == DOWN) port.write("G91\nG20\nG00 X0.000 Y-" + speed + " Z0.000\n"); if (keyCode == KeyEvent.VK_PAGE_UP) port.write("G91\nG20\nG00 X0.000 Y0.000 Z" + speed + "\n"); if (keyCode == KeyEvent.VK_PAGE_DOWN) port.write("G91\nG20\nG00 X0.000 Y0.000 Z-" + speed + "\n"); if (key == 'h') port.write("G90\nG20\nG00 X0.000 Y0.000 Z0.000\n"); if (key == 'v') port.write("$0=75\n$1=74\n$2=75\n"); //if (key == 'v') port.write("$0=100\n$1=74\n$2=75\n"); if (key == 's') port.write("$3=10\n"); if (key == 'e') port.write("$16=1\n"); if (key == 'd') port.write("$16=0\n"); if (key == '0') openSerialPort(); if (key == 'p') selectSerialPort(); if (key == '$') port.write("$$\n"); } if (!streaming && key == 'g') { gcode = null; i = 0; File file = null; println("Loading file..."); selectInput("Select a file to process:", "fileSelected", file); } if (key == 'x') streaming = false; } void fileSelected(File selection) { if (selection == null) { println("Window was closed or the user hit cancel."); } else { println("User selected " + selection.getAbsolutePath()); gcode = loadStrings(selection.getAbsolutePath()); if (gcode == null) return; streaming = true; stream(); } } void stream() { if (!streaming) return; while (true) { if (i == gcode.length) { streaming = false; return; } if (gcode[i].trim().length() == 0) i++; else break; } println(gcode[i]); port.write(gcode[i]+ '\n'); i++; } void serialEvent(Serial p) { String s = p.readStringUntil('\n'); println(s.trim()); if (s.trim().startsWith("ok")) stream(); if (s.trim().startsWith("error")) stream(); // XXX: really? }
Projenin Bütün Dosyalarını Buradan İndirebilirsiniz. Arduino Mini Cnc
INKSCAPE AYARLARI
INKSCAPE ile gcode çıktısı almamız için öncelikle makerbot unicon G-code eklentisini buradan indirin >> İnkscape gcode eklentisi
Eklentiyi zipten çıkartın ve işletim sisteminize göre aşağıda gösterildiği klasöre kopyalayın.
OS X kullanıcıları – /Applications/Inkscape.app/Contents/Resources/extensions
Linux kullanıcıları – /usr/share/inkscape/extensions
Windows kullanıcıları – C:\Program Files\Inkscape\share\extensions
İnkscape ile Yazıyı Gcode Çıktısını Alma :
1.adım: İnkscape programını açın. Aşağıdaki resimde gösterildiği gibi sayfa ayarlarına girin sayfa boyutunu 80x80mm ve metrik sistemi mm seçerek ayarlayın.
2.adım: Sayfa boyutunu 80×80 mm yaptık . Fakat yazı alanı olarak sadece sayfanın dörtte biri olan sağ üst alanı kullanacağız. Yani kullanacağımız alan 40×40 mm boyutlarında olacak. Aşağıda çizim alanı gösterilmiştir. Bu alanı taşmayacak şekilde yazınızı yazınız.
3.adım: Yazıları seçin ve path menüsünden object to path ‘ tıklayın. Aşağıda gösterilmiştir.
4.adım: Aşağıdaki gibi farklı kaydet diyerek gcode uzantısını seçin.
5.adım: Kaydet e tıkladığınız karşınıza aşağıdaki gibi bir ekran çıkacaktır. Buradaki ayarları değiştirmeyin ve ok butonuna tıklayın.
Yazımızın gcode olarak çıktısını bu şekilde aldık. Şimdi bir resmin gcode olarak çıktısının alınmasın bakalım.
İnkscape ile Resmin Gcode Çıktısını Alma :
Yukarıda anlattığım gibi sayfa boyutlarını ve metrik sistemi ayarlayın. Çizim alanı da yine sayfanın dörtte biri olan sağ üst alanı olacak. Bu kısımları ayarladıktan sonra aşağıdaki adımları takip ediniz.
1.adım: File menüsünden import a tıklayın ve çizdirmek istediğiniz resmi seçin.
2.adım: Resmi çizim alanına sığacak şekilde boyutunu ayarlayın ve çizim alanına konumlandırın. Daha sonra resmi seçin ve aşağıdaki gibi path menüsünden Trace Bitmap e tıklayın.
3.adım: Karşımıza bir pencere çıkıyor. Aşağıdaki gibi Colors seçeneğini seçin ve Update butonuna tıklayın. Ardından ok butonuna tıklayın işlem bitene kadar bekleyin. İşlem bittiğinde pencereyi kapatın.
4.adım: Resmi farenin sol tuşuna basılı tutarak yana kaydırın.Aşağıdaki gibi iki tane resim oluştuğunu göreceksiniz. Bunlardan yana kaydırdığınız resim vektörel forma dönüşmüş olan resimdir. Diğer resmi silin ve yana kaydırmış olduğunuz resmi çizim alanına yerleştirin.
5.adım: Resmi seçin ve aşağıdaki gibi path menüsünden opject to path a tıklayın.
6.adım: Resmi vektörel yaptık fakat dış çerçeve kısmındaki kalıntıları silmemiz gerekiyor. Bunun için sol taraftaki araçlardan fare okunun altında olan Edit Paths by nodes aracını seçin ve aşağıdaki gibi resim üzerine tıklayın. Kesikli çizgi üzerine gelin ve farenin sağ tuşuna basarak delete yi seçin.
7.adım: File menüsünden farklı kaydet e tıklayın ve gcode u seçerek kaydedin.
Gcode’ u Cnc’ ye Göndererek Çizim Yaptırma İşlemleri:
Gcode çıktısını aldığımız çizimi cnc ye nasıl göndereceğimize bakalım. Öncelikle bütün bağlantıları tekrar kontrol ediniz ve doğru olduğundan emin olunuz. Daha sonra arduinoyu bilgisayara bağlayın. Processing programını açın ve processing kodunu ekrana aktararak programı çalıştırın. Karşımıza menülerin olduğu aşağıdaki şekildeki gibi bir ekran gelecektir.
İlk önce p tuşuna basın ve arduinonun bağlı olduğu serial portu seçin. Ardından G tuşuna basarak çizdirmek istediğiniz gcode dosyasını seçin. Dosyayı seçtiğinizde çizim başlayacaktır. Ayrıca cnc çizim yaparken X tuşuna basarsanız çizimi durdurabiliriz. ve H tuşuna basarak da kalemi başlangıç noktasına alırsınız. Diğer bir özellik ise çizim hızını 1, 2 veya 3 tuşlarına basarak hangi hızda olmasını istiyorsunuz ayarlayabilirsiniz.
Yazılımı arduinoya atıyorum sorun yok, mini_cnc uygulama dosyasını açıyorum, P tuşuna basmama rağmen port seçme seçeneği gelmiyor, java güncel, herşey normal gözüküyor, P yada G basınca hiç birşey olmuyor
Merhaba,
Her şeyi olması gibi gerektiği gibi yaptım ve motor titremeye başladı ve mili sürekli olarak çevirmedi. Sonrasında yavaşlattım ve her pine birer led ekledim bu şekilde hangi pinde voltaj olduğunu görebiliriyorum. İlk bir ve dördcü pinler daha sonra da 2 ve 3. pinler tetikleniyordu. Bu yüzden titrediğini fark ettim. Kendim pinleri sırasıyla tetikleyen bir kod yazdım ve bu şekilde çalıştırabildim. Şimdi sorum şu:
Nasıl stepper kütüphanesi ile de motorlaı-rımı sorunsuz çalıştırabilirim ya da ana arduino kodundan stepper kütüphanesi çıkartıp yazdığım kodun çalışmasını sağlayabilir miyim?
Teşekkür ederim
ınkscape ile yazarken no objects to convert path in the selection sorunu ile karşılaşıyorum yardımcı olur musunuz ?
merhaba klon arduino kullanıyorum kod atarken AFMotor.h: No such file or directory hatası veriyor ne yapmalıyım ?
merhaba bn kalem kısmını servo ile değilde bir elektronik valf ile yapmayı düşünüyom yani kalemi low hıgh gıbı bışey nasıl yapabılırım
processıng de alt kısımda kodlar ilerliyor servo calısıyor fakat x y eksenlerde hiçbir hareket yok nerede yanlış yapıyorum anlamadım
C:\Users\mustafa\AppData\Local\Temp\ink_ext_XXXXXX.svg9L0AXY @ 3500.00) hatası alıyorum sebebi nedir yardım lutfen
arkadaşlar başına bu hata wavgat arduino uno r3 klon larda kendi sürümünün ide uzantısı varmış onun yüklenmesi gerekiyormuş yükledikten sonra ide açtıktan sonra araçlardan arduıno uno degilde wavgat uno r3 seçiliyor
çok güzel çok faydalı bir çalışma-paylaşım olmuş emeğine sağlık
KAÇ VOLT VE KAÇ AMPER ADAPTÖR KULLANMALIYIM L293B İLE YAPIYORUM
Merhaba, projenizin aynen yaptım. Arduino uno ve adafruit sürücü kartı kullandım. Dosyaları web adresiniden indirip kurdum. Processing programını çalıştırdım. Y ekseni çalışıyor, servo ve x ekseni çalışmıyor. 3 Amper harici güç kaynağı kullanıyorum. Gerilim 5 V. Step motorları aynı devre üzerinde program yazarak test ettim.Hiçbir sorun yok. Servo motoru ise potasiyometreli devre üzerinde test ettim mükemmel çalışıyor. Aynı sistemi L293B entegrelerle kurduğum devrede tek eksen çalışıyor. diğer eksen çalışmıyor. Servo da arasıra küçük hareketler oluyor ama sonra hiçbir hareket olmuyor. Sizce sorun ne olabilir? Teşekkürler.
12 volt nereye bağlayacağız ?
Arkadaşlar shield e z eksenine sevro motor yerine dc motoru nasıl bağlanır
x EKSENİ calışıyor amaY ekseni çalışıyor ama titriyor güç mü yetmiyor ?
inkscape benim gcode mi kaydetmiyor neden acaba
48.5 sürümünü yükledim ben öyle oldu herhalde yeni sürümleri desteklemiyor
HOCAM İYİ AKSAMLAR işleme hızını düşürmek isti yorum ama bi bulamadım o deyişkeni yardımcı ola bilirmisiniz
afshield ile çalışan a4 scanner mekanizması ile birlikte bldc motor buldum 4 uçlu, aynı şekilde çalıştırdım. lakin 40mm alanda yazıyor, kodları a4 boyutunda nasıl değiştirebilirim yardımcı olurmusunuz ?
Hocam yaptım çok hızlı çalışıyor nasıl yavaşlatabiliriz?
L293d için penUp(); 136 satır hata veriyor neden
Kopyala yapıştır yaptığından tam çıkmıyor sanırım http://www.robimek.com/wp-content/uploads/Arduino-Mini-Cnc-1.rar buradan indirip dene oluyor.
Merhabalar, cnc plotter i yaptım servo motor hariç sorunsuz çalışıyor. Servo notorda hiçbir sıkıntı yok başka bir arkadaştan gcode aldım ondan aldığım çalışıyor ama benim yaptıklarımda servo çalışmıyor
SelamunAleyküm . Ben mini cnc plotter yapıcam. Çizimi attığımda programın çalıştığını proccesingden görüyorum. Servo çalışıyor ama step motorlar hareket etmiyor. Step motorları tek denediğimde sorunsuz çalışıyor. Step motorlara dışardan 12volt 1 amper verdiğim halde çalışmıyor sebebi nedir?
aynı söylediğin problem bende de var. siz çözüm buldunuz mu?
bende de aynı hata var çözümü bulan var mı geçerkten çok acil..???
Güzel proje yapılacak her şeyi yaptım ama Step motorlardan ( Stepper x_ekseni(adim_sayisi, 6,7,8,9 ) biri hareket etmiyor. 6,7,8,9 nolu Pinlere voltaj gelmiyor. Besleme gerilimini arttırdım yine olmadı. Kullandığım ardunio mega acaba ondan mı kaynaklanıyor.
Adafruit Motor Shield kullanarak nasıl programlanıyor yani arduino ile nasıl bağlantı kurulması gerekiyor?
Z eksenini servo motorla nasıl yapabilirim
servo motoru mg90 yerine sg90 kullansam bir sıkıntı olurmu çalışmasında
sorun olmaz kullanabilirsin
merhaba. paylaşımınız için teşekkürler
l293b motor sürücü kodlarını arduinoya atıp kontrol et dediğimde ‘penUp’ was not declared in this scope hatasını alıyorum. bunu nasıl düzeltebilirim?
http://www.robimek.com/wp-content/uploads/Arduino-Mini-Cnc-1.rar
dosyaları indirin içindeki Mini_cnc klasöründeki kod l293b ye göre yazılmıştır onu yükleyin.
siteden kopyaladığınız için kodun bazı bölümleri pasif olmuş .
Projeyi yaptım herşey yolunda teşekkür ediyorum. Ben sadece hızının yavaş olmasını istiyorum. Kalem çok hızlı… Bu ayarı arduinodanmı yoksa processing programındanmı yapmalıyız. Neresini değiştirmemiz lazım. Bu problemiçözen varmı acaba…
Usta ben yaptım çalışıyor ama çizimleri düzgün yapmıyor 2 tane dvd rom kızağı var ama motorun önündeki millerin arası aynı değil biri yakın yakın aralıkda değeri uzak aralıkda ondan mı acaba.
Sende çözemedin demi
bende de aynı sıkıntı var ne atsam karalama yapıyor cozum bulduysanız paylasırsanız sevinirim.
Microstep kısmını maviye çevirmek için ne yuklememiz gerek
Rica etsem inkscape programını paylaşabilir misiniz? Sanırım yok sayfada?
Merhaba paylaşım için çok teşekkürler. Paylaştığınız yazılımın lazer başlık için olanı var mı elinizde? Ben kalem yerine 2 watt’lık lazer başlık ve fan koyarak lazer oymacı yapmak istiyorum fakat kod bilgim zayıf. Yardımcı olur musunuz lütfen?
örnek g kod nerden indire bilirimaleti yaptım ama elimde gkod yok lütfen yardımcı olun
sezgin bey bu pırojedeki amaç nedır açiklayabilirmısın
sezgin bize cnc robotu ne amacla yaptıgınızı acıklarmısınız
2. step motor ne yaptıysam çalışmadı.
Buradaki anlatılanlara göre cihazı yaptım ve çalıştırdım. Çok teşekkür ediyorum. Birkaç püf nokta belki yapamayanlara yardımcı olur.
1. Kodlar sorunsuz çalışıyor. Processing yazılımı yazan kodu arduinoya değil processing diye bir yazılım var ona atıyoruz.
2. Kalem kaldırma ters işliyorsa, yani taktınız fakat kaldırması gerekirken indiriyorsa arduino kodu içindeki penzUp ve PenzDown değerlerini ters çevirin. Örneğin PenzUp 60, PenzDown 90 ise o sayı değerlerini silip 90 – 60 olacak şekilde değiştirin.
3. Her şey tamam fakat yazdırma aşamasında ne yazdığı belli olmuyor diyorsanız güç kaynağınız yetmiyor demektir. 5 v 700ma adaptör kullandım düzgün yazmadı. 12 V 800 miliamper kullandım canavar gibi yazdı. Ayrıca düzgün yazması için kalemin iyi sabitlenmesi gerek buna da dikkat etmelisiniz.
Kolay gelsin..
Merhaba usta ben yaptım çizimleri düzgün olmuyor daha doğrusu ne çizdiği belli değil.
1.5 12 v kadar ayarlı adaptör var cok sık kullanılan bi adaptör bilirsin belki ama kaç amper bilmiyorum sorun ondan mı kaynaklı acaba.
Bİ KOD ALDIK BAŞTAN SONA HATA VERİYOR BUNU YÜKLEYEN ARKADAŞLAR NASIL YÜKLEDİ
Merhabalar kolay gelsin ben bu proje için ugrasıyorum fakat mekanik acıdan hiç bir sıkıntım olmadı cd rom dan cıkardıgım step motorlarda da bir sıkıntı yok ama gel gelelim ki yazılım konusuna bir türlü geçemedim o konuyu baglantı damı sıkıntım var diye 4 kere tekrar bagladım ama ardüino ile bir türlü eksenleri kontrol edemedim bana yardımcı olurmusunuz l293d ye 12v 1a enerji vercem sizce sıkıntı olurmu
processing kısmını video çekip youtube linkini paylaşabilirmisin kardeş … yapamadım bi türlü ….. processing kodları derle deyince hata veriyor ….
Processing yazılımı derken ne oluyor
Merhabalar Sezgin bey
Oncelikle proje çok güzel anlatmisiniz en ince ayrıntısına kadar çok sagollun.
Ben de bu projeyi sizin anlattığınız gibi yaptık fakat inkscape programında yaptığım cizimlerde sadece x eksenindeki motor çalışıyor. Y eksenindeki motorda tepki yok ama internetten örnek gcode dosyası indirdigimde sistem düzgün bir şekilde çalışıyor . Benim yaptığım cizimlerde sıkıntı oluyor .Programlarin hiç birinden de hata mesajı yok bu konuda bana yardımcı olurmusunuz şimdiden teşekkür ler
aynı sorunu bende yaşıyorum çözüm buldunuz mu
adaptörü değiştirin. 12 v 1 a ile deneyin.
MERHABALAR HOCAM ben 28byj-48 tipi step motor kllandım bir sıkıntı olurmu acaba???
processIncomingLine’ was not declared in this scope hatası nedir acil yardım edebilecek varmı
processIncomingLine was not declared in this scope hatası alıyorum sorun nedir acaba
derlemeden direk yüklendiğinde sıkıntı olmuyor ama tekrar yüklerken sıkıntı oluyor
Kardeş ellerine sağlık çok güzel bir anlatım olmuş bu projeyi 3 step motor kullanarak nasıl yaparız bana yardımcı olursanız sevinirim
sezgin bey verdiğini stk dosyalarını hangi programda çizip koydunuz.
stl dosyası demek istedim
Mrb sezgin bey ilk önce bilgiletiniz için teşekür ederim benim elimde arduino uno r3 ve adafruit shield sürücü kartı var arduino ya adafruit shielt programıni yüklüycez sürücümden dolayı doğrumudur peki mini cnc pro.su ne işe yarıyor birde pc ye procesing prosunun versiyonu birde inkspace versiyonunu verirseniz sevinirim bunlar arası yükleme ve arduino gecisleri bilgilerini not düşer iseniz sevinirim teşekürler
abi processing de gcode yi seiyorum servo motor hareket ediyo hemen duruyo stepmotorlarda hiç hareket yok komut tanınamadı diyor
(Scribbled version of C:\Users\mustafa\AppData\Local\Temp\ink_ext_XXXXXX.svg9L0AXY @ 3500.00)
abi processing de bu hatayi aliyorum yardimci olurmusun ne step motorlarin kabloların ne oldugunu bilmiyorum yani step motorunun kablolarinin hangisinin ne olduğunu bilmiyorum
hazır yapılmışı varmı
step motorları bağlantısını yapamadım. Ne ysptıysam calısmadı? bi yardım lütfen..
step motorların uçlarını bulmalısınız. Birbirine bağlı ikili uçlar vardır. Bunu multimetre ile kısa devre pozisyonuna alıp bulabilirsiniz. Aynı uçları bulduktan sonra yapmanız gereken şu: Bir ucu motor sürücünün bir tarafına bağlayın. Bağladığınız taraftaki diğer motor girişine farklı ucu takın. Ardından sürücünün diğer tarafına ilk taktığınız ucun diğerini takın Son olarak da kalan uca diğerini takın. Yani kısaca mantığı şu: motor sürücüye takarken birinci taktığınız uçtan sonra farklı olan diğer ucu takmalısınız ve bunu sırayla tekrar ediniz. Motor sürücüye takarken datasheete göre sırası şu şekilde olmalı : OUTPUT 1 , OUTPUT 2 , OUTPUT 3, OUTPUT 4. . Burada OUTPUT 1 ile OUTPUT 3 aynı uç, kalan ikisi ise diğer aynı uçlardır.
ben bağlantıları yaptım nema17 kullanıyorum ancak çok az hareket ediyor ne yapmam gerek
g-code kısmını göremeyen arkadaşlar github.com/martymcguire/inkscape-unicorn zip. i indirip src klasörünün içindeki dosyaları istenilen uzantıya gönderip programı tekrar açarlarsa sıkıntıları hallolacaktır.
Merhaba sezgin bey tekrar rahatsız ediyorum kusuruma bakmayın , mekanik & programlar hepsi tamam yalnız çizimi & yazıyı gcode şekilde kaydetmek isteğimde g cod şekilde kaydet tamam dedikten sonra kaydetme işlemini gerçekleştirmiyor hiç bir şekilde bunu nasıl çözebiliriz ?
80 mm ayarını yptıktan sonra ölçü birimini px yap düzeliyo mm olarak kaydetmiyo px de kydeder
Inkscapete anlattıklarının hepsini birebir yaptım. Ama hala g code elde edemedim. G code uzantısı halinde kayıt ettikten sonra klasör boş gözüküyor nerde hata var yardımcı olur musun?
Inkscapete gösterdiklerinin hepsini birebir yaptım ama g code uzantılı kaydettikten sonra klasör boş çıkıyor. Hala sorunu bulamadım. Yardımcı olur musun?
Kalemin daha yavaş hareket etmesi için yazılımda ne yapmam gerekiyor? yardımcı olabilir misiniz
sezgin bey öncelikle çok teşekkür ediyorum proje için ;
Arduino ya kodu derlediğimde şöyle bir sorun ile karşılaşıyorum
Arduino:1.8.1 (Windows 10), Kart:”Arduino/Genuino Uno”
C:UsersbatuhanDocumentsArduinosketch_feb25bsketch_feb25b.ino:2:21: fatal error: AFMotor.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
merhaba batuhan, hatanın sebebi AFMotor.h kütüphanesini yüklemediğinden kaynaklanmış.
Kütüphaneyi buradan indirebilirsin http://www.robimek.com/wp-content/uploads/AFMOTOR-master.rar
ilginiz için çok teşekkür ediyorum 🙂
abi bütün yazilimi 1 sekmeyemi ekliyoruz
İndirdiğin eklentiyi aç.Klasör içine gir. 3 dosya bir klasör olacak. Onların hepsini yukarıda belirtiğim konuma ekle. Önceki eklediğini sil. Programı yeninden çalıştırınca uzantı görünecektir. Yine olmaz ise facebook tan iletişime geçerek teamviewer üzerinden bağlanıp bakayım.
abi yukarida paylaştıgın videodaki arduino çeşidini yazarmisin aynısından alacağimda
Arduino Uno
iyi günler ben inkspace 0.48,5 kurdum anacak içine linkini verdiğiniz gcode dosyasını belirrttiğiniz adrese atmama rağmen gcode dosyası olarak kaydedemiyorum.
farklı kaydet diyorum ancak gelmiyor gcode türünde kayıt.
Eklentiyi yanlış yere kurmuş olduğunuz için görünmüyor.Attığınız konumu tekrar kontrol edin.
Benim bi sorum olacaktı cevaplarsanız şimdiden teşekkürler.
Processing dediğiniz kısmı hangi program ile yazacağız exe oluşturacağız.Ben bunu proje olarak düşünüyorum yazılımını kendim yapmadığım süre kabul etmez hocam şimdiden teşekkürler
shieldı 5 volt 1 amper ile beslesek olurmu
Besleyebilirsiniz
Bu fritzing devresinde hata yok mu?Sağ alt köşedeki kırmızı ve siyah kablolar aynı yerden çıkış almış biri artı biri eksi olması gerekmiyor mu?
merhaba kullandigim inscape programinda “Maker bot unicom g code” eklentisi yok nasil ekleyebilirim.
te$ekkurler
İnkscape Ayarları başlığında eklentinin linki var. Yalnız inkscape 0.48.5 sürümünde çalışmaktadır.
inkscape de yaptığım çizimi veya yazıyı kaydederken şöyle bir sorun çıkıyor. Bu sorunu nasıl çözebilirim
Traceback (most recent call last):
File “unicorn.py”, line 108, in
e.affect()
File “C:\Program Files\Inkscape\share\extensions\inkex.py”, line 268, in affect
self.effect()
File “unicorn.py”, line 102, in effect
parser.parse()
File “C:\Program Files\Inkscape\share\extensions\unicorn\svg_parser.py”, line 230, in parse
self.svgWidth = self.getLength(‘width’, 354) * 0.28222
TypeError: unsupported operand type(s) for *: ‘NoneType’ and ‘float’
Merhaba Sezgin Bey, adafruit motor shield için Arduino da servo ve step bağlantı uçları hangileri.
Step motorlar için kullandığımız l293 motor sürücü ile arduino’nun bağlantıları hangi pinler
Kod kısmında step motor tanımında pinler belirtildi.
Stepper y_ekseni(adim_sayisi, 2,3,4,5);
Stepper x_ekseni(adim_sayisi, 6,7,8,9);
Motor shield arduino üzerine takıldığı için direk otomatik bağlantı sağlanıyor. Kod kısmında pin numaralarının belirtilmemesinin nedeni, pinlerin kütüphane dosyasında önceden tanıtılmış olmasıdır ve step motor tanımı yaparken bu pinler arka planda otomatik aktif edilir. Eğer hangi pinlerin atandığını öğrenmek istersen de motor shield kütüphanesine bakabilirsin. Servo motor pini kodda tanımlanmış ve dijital 10 pinidir.
Süpermiş oldu. Paylaşım için çok teşekkürler. Elektroniğin endüstriyel kısmında kalan bizim gibi insanlar için mikro denetleyicileri kullanmak yazılım yazmak zor. Ben bu sistemi çok yapmak istiyordum ama yazılımları doğru bir şekilde bulup kullanmak nasip olmamıştı. Sizin paylaşımınız ile olayı çözdüm çok Teşekkürler.
Yazılımı nasıl buldunuz üstte paylaşılan yazılım kopyala yapıştır yapınca hata veriyor. Doğrusunu atabilirmisiniz.
Güzel bir açıklama olmuş teşekkür ederim ben herşeyi yaptım ve çalıştırdım ama anlamadığım olay şu.o çıkarılacak olan parçayı çıkarmadım ama yinede çalıştı cikarmamizin sebebi nedir cikarmazsak bi zararı varmı tekrar teşekkür ediyorum
hocam kolay gelsin
prosessing programını yüklerken
“İMPORT DOES NOT NAME A TYPE” diye hata veriyor
yardımcı olursanız sevinirim
başarılarınızın devamını dilerim. İyi çalışmalar…
Processing arayüzünü açıp oraya processing kodunu atmanız gerekiyor. Projenin bütün dosyalarını buradan indirip processing program kodunu çalıştırabilirsiniz. http://www.robimek.com/wp-content/uploads/Arduino-Mini-Cnc.rar
hocam çok teşekkür ederim. Emeğine sağlık
Hocam ben processing programı kurulumu ve processing arayüzüne processing kodunu atmayı anlamadın lütfen yardımcı olun
hocam kolay gelsin
prossessing programını yüklerken arduino ya böyle bir mesaj geliyor
“import does not name a type”
kod la ilgili bir problem mi var
3 step motor ile yapmak isitıyorum bu projeyı.elınızde herhangı bı döküman var mı
Grbl olarak araştırın açık kaynak kodlarını bulursunuz.
herhangi bir kod bulamadım.baska bı sekılde aramam mı gerekıyor.3steple yapan herhangı bırıne rastlamadım henuz bı bılgınız var mı
inkspace de dosyayı kaydederken g gode uzantısı gözükmüyor neden olabilir
Eklentiyi yüklememiş veya yanlış yere yüklemiş olduğunuzdan kaynaklıdır.
dediğiniz her şeyi yaptım ama ginede g code uzantısı gözükmüyor başka bişe yapmam mı lazım tüm sistem hazır çalışıyor tek eksik g code kaldı yardımcı olsanız size zahmet bu gece halletmem lazım internette birşey bulamadım bununla alakalı
inkscape 0.48.5 sürümününde çalışıyor. Sizdeki son sürüm ise onda başka eklenti çalışıyor.
usta başka eklentiyi nereden bulacağız
inkscape 0.48.5 sürümünü yükleyin
Ustam öncelikle eline saglık güzel calışma olmuş. Benim sormak istedigim sey acaba 3 tane step motor kullansak olmaz mı?. Bildigimden degil bilakis bilgilenmek amaclı soruyorum, sevo motor cok karmasık diye söylendi acaba step motorlarla yapmak daha mı kolay oluyor?. İyi calışmalar..
L293 kullanarak yapmak istiyorum. Anlamadığım kısın Arduinonun için hem l293 kodlarını hemde processing kodlarını mı atacağız peşpeşe. G kodlarını işleyen kısım sanırım Processign programı??
Hocam, dosyayı program filestaki ınkspace dosyasına attım fakat farklı kaydette .gcode eklentisini göremiyorum?
Hocam ellerine sağlık cidden tek sıkıntım çizdiğim yada yazdığımı farklı kaydederken g code sekmesi yok onu nasıl halledebilrim yada sizin program sürümümü farklı bende 0.91 var . tek sıkıntım şuan bu sadece teşekkürler.
sezgin bey iyi akşamlar.
inkspace programında ara işlemleri hallettikten sonra kayıt işlemi yaparken böyle bir hata veriyor.
yardımcı olabilir misiniz.
Traceback (most recent call last):
File “unicorn.py”, line 108, in
e.affect()
File “C:\Program Files\Inkscape\share\extensions\inkex.py”, line 268, in affect
self.effect()
File “unicorn.py”, line 102, in effect
parser.parse()
File “C:\Program Files\Inkscape\share\extensions\unicorn\svg_parser.py”, line 230, in parse
self.svgWidth = self.getLength(‘width’, 354) * 0.28222
TypeError: unsupported operand type(s) for *: ‘NoneType’ and ‘float’
merhaba aynı sorun bende de oldu siz nasıl çözdünüz acaba
inkscape de yaptığım çizimi veya yazıyı kaydederken şöyle bir sorun çıkıyor. Bu sorunu nasıl çözebilirim
Traceback (most recent call last):
File “unicorn.py”, line 108, in
e.affect()
File “C:\Program Files\Inkscape\share\extensions\inkex.py”, line 268, in affect
self.effect()
File “unicorn.py”, line 102, in effect
parser.parse()
File “C:\Program Files\Inkscape\share\extensions\unicorn\svg_parser.py”, line 230, in parse
self.svgWidth = self.getLength(‘width’, 354) * 0.28222
TypeError: unsupported operand type(s) for *: ‘NoneType’ and ‘float’
merhaba aynı sorun bende de oldu siz nasıl çözdünüz acaba
selamlar sezgin bey çalışmanız çok güzel bende son aşamalara geldim fakat şu yazılım olayını aşamadım
Arduino:1.6.10 (Windows 10), Kart:”Arduino/Genuino Uno”
C:\Users\KANDİLLİ\Desktop\cnc\Arduino Mini Cnc\Mini_Cnc\Mini_Cnc.ino: In function ‘void loop()’:
Mini_Cnc:90: error: ‘process’ was not declared in this scope
C:\Users\KANDİLLİ\Desktop\cnc\Arduino Mini Cnc\Mini_Cnc\Mini_Cnc.ino: In function ‘void processIncomingLine(char*, int)’:
Mini_Cnc:143: error: ‘penUp’ was not declared in this scope
Mini_Cnc:146: error: ‘penDown’ was not declared in this scope
Mini_Cnc:170: error: ‘drawLine’ was not declared in this scope
exit status 1
‘process’ was not declared in this scope
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
hata mesajını alıyorum yardımcı olabilirmisiniz
Açıklama süper olmuş. Ben bu devreyi A4 boyutunda hazırlayabilir miyim ? Bunun için parçalarda ve kodlarda nasıl değişiklikler yapmam lazım. Cevabınız için de şimdiden teşekkürler.
Merhabalar hocam ilk başta emeğinize sağlık cok güzel proje olmuş . bir çok sitede mini cnc üzerine yazılar var fakat sizinki kadar açıklayıcı değil hiç birisi. arduino programına kodu yüklerken ” ‘penUp’ was not declared in this scope ” hatası veriyor nerden kaynaklı olabilir yardımcı oluranız cok severim projelreinizin devamı bekleriz . :))
teşekkürler Rıza bey. muhtemelen kodu kopyalayıp programa yapıştırdığınız için kod parçacığının bazı yerleri pasif duruma geliyor. Bu durum html karakter kodlarından kaynaklanabiliyor. Buradaki linkten projenin kodlarını indirebilirsiniz >> http://www.robimek.com/wp-content/uploads/Arduino-Mini-Cnc.rar
abicim elektriği nerden vricez bulamadım da
l293d veya l293b kullandıysan sürücünün 8. bacağı harici enerji girişidir. oradan motorlara enerji vereceksin. Eğer motor shield kullandıysan üzerinde enerji pinleri yazar oradan enerji verirsin. Motorların stabil hareket etmesi için yaklaşık 1500 – 2000 mah akımda 5v luk bir gerilim vermen gerekiyor.
hayrlı gnler bn proğramı arduinoya yüklerken ”( exit status 1
‘processIncomingLine’ was not declared in this scope )” böyle bir hata aldım çözümü için ne yapabilirim.
Sezgin bey çalışmanız için teşekkürler ”Adafruit Motor Shield İçin Arduino Yazılımı” derleme
esnasında aşağıdaki hatayı veriyor..
mini_cnc_af_motor:7: error: ‘MICROSTEP’ was not declared in this scope
mini_cnc_af_motor:14: error: ‘AF_Stepper’ does not name a type
mini_cnc_af_motor:15: error: ‘AF_Stepper’ does not name a type
mini_cnc_af_motor.ino: In function ‘void setup()’:
mini_cnc_af_motor:57: error: ‘myStepperX’ was not declared in this scope
mini_cnc_af_motor:59: error: ‘myStepperY’ was not declared in this scope
mini_cnc_af_motor.ino: In function ‘void drawLine(float, float)’:
mini_cnc_af_motor:281: error: ‘myStepperX’ was not declared in this scope
mini_cnc_af_motor:285: error: ‘myStepperY’ was not declared in this scope
mini_cnc_af_motor:292: error: ‘myStepperY’ was not declared in this scope
mini_cnc_af_motor:296: error: ‘myStepperX’ was not declared in this scope
Bu konuda yardımcı olursanız sevinirim,teşekkürler.
Afmotor kütüphanesini yüklemediğin için hata almışsınız.
Selamlar,Eski yazici parcalari ile bu projeyi Encoderli DC motor ile yapmamiz mumkun mu?
Eger mekanizma hakkinda farkli bir fikriniz var ise paylasirsaniz seviniriz.
Abi su rayları iki farklı markalardan soksek yani step motorlar standartmi hizlarind sıkınti cikarmi ben iki farklı marka pc cd rom dan soktum de
sıkıntı olmaz hepsi aynı modeldir genelde
Hocam resimi nasıl çizdireceğimizi anlamadım açıklarsanız çok sevinirim.
Merhaba Kadir. Yukarıda anlattım ancak yine de açıkça anlatayım. Öncelikle inkscape programında 80x80mm boyutlarında bir sayfa aç. Sayfanın dörtte biri olan sağ üst kısmı kullanacaksın. Yani 40×40 mm lik bir alanda resim veya çizimini yapabilirsin. Resim ve çizim ekleme adımlarını yukarıda anlattığım gibi yap ve g code olarak çıktı al. Daha sonra arduinoyu bilgisayara bağla. Processing programını aç ve vermiş olduğum processing kodunu program penceresine aktar. Sonra processing programını çalıştır. Karşına menüler çıkacak. Öncelikle arduinonun bağlı olduğu portu seçmek için p tuşuna bas ve portu seç. daha sonra g tuşuna basıp g code dosyasını seçtiğin an cnc çizime başlayacaktır. Hepsi bu kadar.
Çok teşekkürler elleriniz dert görmesin 🙂
Merhaba, arduinoya yeni başladım merak ettiğimden soruyorum ;
çizdirmek istediğimiz deseni veya herhangi bir şekli arduinoya kod olarak mı yükleyeceğiz ?
hocam çok özür dilerim ama bize vahi mi gelcek te öğrencez hiçbi açıklama yok kodların yanında
Hasan bi zahmet kodların açıklamasını bulamıyorsan, arduino ile uğraşma
hocam istediğim şey kopyala yapıştır deil sen bulduyssan yukardakilerin “her bir satırının” açıklasmasını helal olsun
Selam Sezgin bey.. bir çok kısmı anlatmamışsınız…mesela adafruit shield kartının alt kısmında ne takılı olması gerekiyor arduino uno mu?..takılacaksa da klon olanlar takılabilirmi…resimi yapmak yazdırmak için program gerekmiyormu hex dosyası grbl controller gibi..yeni başlayanlar için alınacak malzemeleri tek tek sıralayabilirmisiniz… bilgisayara yüklenecek programları yazabilirmisiniz…bu verdiğiniz kodları nereye atacağız.. kafam iyice karıştı. adafruit shield yerine cnc shield olurmu bu yazıcı için…neyse teşekkürler fena değildi..
2 tane arduino kodu verdim. motor sürücü olarak adafruit shield kullanacaksan adafruit yazan arduino kodunu arduinoya yüklemen gerekiyor. Diğer motor sürücüler örneğin l23b l293d l298n gibi sürücüler kullanacaksan diğer arduino kodunu yükle. adafruit shield kütüphane ile stabil çalıştığı için ona özel kod ekledim. Yani projedeki 2 arduino kodu da aynı aslında. sadece motor sürücüye özel ayrı kod verdim. arduino modeli farketmez ister klon ister orjinal o açıdan da sorun yok kullanabilirsin. arduino kodunu yükleyip bağlantıları da yaptıktan sonra processing programını aç . projede verdiğim processing kodunu al ve çalıştır. diğer yapman gereken adımları yukarıda anlatmıştım.
Hocam ben 5v 2 amper adaptör kullanıyorum yanlış yazma işlemine geçiyor karma karışık yazı yazıyor birtane bile harf düzgün yazmıyor yardımcı olursanız sevinirim step motor bağlantılarını sizin şema ile aynı bağladım
ben bu programları anlamadım 3 ayrı program var nasıl yukleyecegim
2 tane arduino kodu verdim. Eğer adafruit motor shield kullanacaksınız kütüphanesi ile çalıştığından dolayı adafruit shield olan kodu kullanmanız gerekir. Diğer arduino kodu ise l293 gibi diğer motor sürücüler için geçerlidir. Yani iki arduino kodundan elinizdeki sürücüye uygun olanını seçip kullanın.
S.a ben projeyi tamamladim bi tek kalemi servoya yukari assagi yapacak sekilde yerlestirmeyi beceremedim bunun icin yardimci olurmusunu
processingdeki programı çalıştırın p tuşuna basın ve arduinonun takılı olduğu serial portu seçin.portu seçtiğinizde servonun açısı kalemi kaldırma pozisyonuna gelir. Ardından g tuşuna basın ve g code dosyası seçip onaylayın. Şimdi çizime başlayacaktır. Çizim yaparken servo motor kalemi indirmiş olacağından bu pozisyonda çizimi durdurun veya enerjiyi kesin. Servo motorun açısını oynatmadan kalemin ucu kağıda değecek şekilde takın ve kalem vidasını sıkın. Daha sonra programı tekrar başlatın. Çizime hazırdır.
Merhabalar ben butun aşamaları geçtim ama processing uzerinden g ile p komutu calisiyor ama digerleri işlev görmüyor. Bu neden kaynaklanıyor ?
Tesekkurler
Öncelikle emekleriniz için teşekkür ederim.
m1 m2 uçlarına takılı step motor çalışıyor ancak m3 m4 uçlarına takılı step motor çalışmıyor. AFMOTOR-master kütüphanesindeki StepperTest ile test ettiğimde (sıra ile) motorlar çalışıyor. sıkıntı ne olabilir acaba. kolay gelsin
Doğru yazılımı bana atabilirmisiniz