Çizim Yapan Mini Cnc Yapımı

146 96.847

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:

  1. Arduino ( nano , uno, mega olabilir)
  2. Bozuk dvd veya cd-rom (içindeki step motor çalışan olacak)
  3. 2 Adet l293d veya l293b motor sürücü ya da 1 adet Adafruit Motor Sürücü
  4. Servo motor ( Mg90 yeterli)
  5. 5v  2 amper batarya veya adaptör
  6. X eksenini sabitlemek için 20 x 16 cm ve kalınlığı 5 mm olan pleksi levha.
  7. Y eksenini sabitlemek için 15x 16 cm ve kalınlığı 5 mm olan pleksi levha
  8. Çizim tablası için 75×75 mm ve kalınlığı 5 mm olan pleksi levha kullanabilirsiniz.
  9. 1 Adet M5 cıvata somun ( Kalemi sabitlemek için)
  10. 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

  1. X düzlemi Pleksi Plaka (200x150x3 mm)
  2. Y düzlemi Pleksi Plaka ( 200x150x3 mm)
  3. X ekseni hareket mekanizması ( dvd sürücü kızak mekanizması)
  4. Y ekseni hareket mekanizması ( dvd sürücü kızak mekanizması)
  5. Z düzlemi şase kısmı
  6. Servo motor
  7. Kalem tutamacı
  8. Kalem sabitleyici somun – vida düzeneği ( 1 Adet M5 cıvata somun)
  9. Kalem
  10. Çizim tablası ( 75x75x5 mm pleksi levha)
  11. Eksen destekleri ve vida yuvaları
  12. X ekseni hareketini sağlayan step motor
  13. Y ekseni hareketini sağlayan step motor
  14. Kağıdı sabitlemek için ataç
  15. 14 Adet M4 cıvata somun
  16. Kalem tutucu destek
  17. Z ekseni mili
  18. Kablolar
  19. 4 Adet Köşebent
  20. Kontrol ünitesi ( Arduino uno , 2 adet l239d, pertinaks( delikli plaket), enerji giriş jak)
  21. 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ı

3d Baskı Parçalarını Satın Al

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.

Bunlar da İlgini Çekebilir
Cevap bırakın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

146 Yorum
  1. Murat Göksun KIRLI

    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

  2. kerem

    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

  3. mehmet ali

    ınkscape ile yazarken no objects to convert path in the selection sorunu ile karşılaşıyorum yardımcı olur musunuz ?

  4. mehmet ali

    merhaba klon arduino kullanıyorum kod atarken AFMotor.h: No such file or directory hatası veriyor ne yapmalıyım ?

  5. kemal

    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

  6. rıdvan

    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

  7. Ridvan

    C:\Users\mustafa\AppData\Local\Temp\ink_ext_XXXXXX.svg9L0AXY @ 3500.00) hatası alıyorum sebebi nedir yardım lutfen

    1. rıdvan

      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

  8. zeynep

    çok güzel çok faydalı bir çalışma-paylaşım olmuş emeğine sağlık

  9. CEMİL

    KAÇ VOLT VE KAÇ AMPER ADAPTÖR KULLANMALIYIM L293B İLE YAPIYORUM

  10. Bayram Kopuz

    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.

  11. Emre

    12 volt nereye bağlayacağız ?

  12. Fatih

    Arkadaşlar shield e z eksenine sevro motor yerine dc motoru nasıl bağlanır

  13. Emre

    x EKSENİ calışıyor amaY ekseni çalışıyor ama titriyor güç mü yetmiyor ?

  14. ali

    inkscape benim gcode mi kaydetmiyor neden acaba

    1. no name

      48.5 sürümünü yükledim ben öyle oldu herhalde yeni sürümleri desteklemiyor

  15. izzet

    HOCAM İYİ AKSAMLAR işleme hızını düşürmek isti yorum ama bi bulamadım o deyişkeni yardımcı ola bilirmisiniz

  16. mehmet mumtaz

    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 ?

  17. Halil İbrahim

    Hocam yaptım çok hızlı çalışıyor nasıl yavaşlatabiliriz?

  18. eren

    L293d için penUp(); 136 satır hata veriyor neden

    1. Hüseyin

      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.

  19. Furkan

    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

  20. Enes

    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?

    1. mesut

      aynı söylediğin problem bende de var. siz çözüm buldunuz mu?

    2. Gökhan KARAKUŞ

      bende de aynı hata var çözümü bulan var mı geçerkten çok acil..???

  21. Hüseyin

    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.

  22. sefa

    Adafruit Motor Shield kullanarak nasıl programlanıyor yani arduino ile nasıl bağlantı kurulması gerekiyor?

  23. Yakup

    Z eksenini servo motorla nasıl yapabilirim

  24. sefa

    servo motoru mg90 yerine sg90 kullansam bir sıkıntı olurmu çalışmasında

    1. Sezgin GÜL

      sorun olmaz kullanabilirsin

  25. ergin

    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?

    1. Sezgin GÜL

      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ş .

  26. Emre Safa

    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…

  27. Mehmet

    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.

    1. Mehmet

      Sende çözemedin demi

    2. mahsun

      bende de aynı sıkıntı var ne atsam karalama yapıyor cozum bulduysanız paylasırsanız sevinirim.

  28. Salih beyaz

    Microstep kısmını maviye çevirmek için ne yuklememiz gerek

  29. Abdullah Davut YAVİ

    Rica etsem inkscape programını paylaşabilir misiniz? Sanırım yok sayfada?

  30. Abdullah Davut YAVİ

    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?

  31. mehmet

    örnek g kod nerden indire bilirimaleti yaptım ama elimde gkod yok lütfen yardımcı olun

  32. memet

    sezgin bey bu pırojedeki amaç nedır açiklayabilirmısın

  33. mehmet

    sezgin bize cnc robotu ne amacla yaptıgınızı acıklarmısınız

  34. önder

    2. step motor ne yaptıysam çalışmadı.

  35. İbrahim Nadi

    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..

    1. Mehmey

      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.

  36. ALİ

    Bİ KOD ALDIK BAŞTAN SONA HATA VERİYOR BUNU YÜKLEYEN ARKADAŞLAR NASIL YÜKLEDİ

  37. Ahmet KAFA

    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

  38. fatih

    processing kısmını video çekip youtube linkini paylaşabilirmisin kardeş … yapamadım bi türlü ….. processing kodları derle deyince hata veriyor ….

  39. Mustafa

    Processing yazılımı derken ne oluyor

  40. Faik can Aktaş

    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

    1. Emin

      aynı sorunu bende yaşıyorum çözüm buldunuz mu

      1. İbrahim Nadi

        adaptörü değiştirin. 12 v 1 a ile deneyin.

  41. Mehmet

    MERHABALAR HOCAM ben 28byj-48 tipi step motor kllandım bir sıkıntı olurmu acaba???

  42. fatih altıntaş

    processIncomingLine’ was not declared in this scope hatası nedir acil yardım edebilecek varmı

  43. Emin

    processIncomingLine was not declared in this scope hatası alıyorum sorun nedir acaba

    1. emin

      derlemeden direk yüklendiğinde sıkıntı olmuyor ama tekrar yüklerken sıkıntı oluyor

  44. Ökkeş

    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

  45. enver

    sezgin bey verdiğini stk dosyalarını hangi programda çizip koydunuz.

    1. enver

      stl dosyası demek istedim

  46. Mesut

    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

  47. ömer

    abi processing de gcode yi seiyorum servo motor hareket ediyo hemen duruyo stepmotorlarda hiç hareket yok komut tanınamadı diyor

  48. MEHMET

    (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

  49. smhcn

    hazır yapılmışı varmı

  50. murat

    step motorları bağlantısını yapamadım. Ne ysptıysam calısmadı? bi yardım lütfen..

    1. Sezgin GÜL

      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.

      1. doğukan

        ben bağlantıları yaptım nema17 kullanıyorum ancak çok az hareket ediyor ne yapmam gerek

  51. hüseyin

    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.

  52. Batuhan

    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 ?

    1. ramoo

      80 mm ayarını yptıktan sonra ölçü birimini px yap düzeliyo mm olarak kaydetmiyo px de kydeder

  53. muhammet ali

    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?

  54. muhammet ali

    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?

  55. Bilal Yıldırım

    Kalemin daha yavaş hareket etmesi için yazılımda ne yapmam gerekiyor? yardımcı olabilir misiniz

  56. batuhan

    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.

    1. Sezgin GÜL

      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

      1. batuhan

        ilginiz için çok teşekkür ediyorum 🙂

  57. mustafa

    abi bütün yazilimi 1 sekmeyemi ekliyoruz

    1. Sezgin GÜL

      İ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.

      1. mustafa

        abi yukarida paylaştıgın videodaki arduino çeşidini yazarmisin aynısından alacağimda

        1. Sezgin GÜL

          Arduino Uno

  58. enver

    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.

    1. Sezgin GÜL

      Eklentiyi yanlış yere kurmuş olduğunuz için görünmüyor.Attığınız konumu tekrar kontrol edin.

  59. Fqtih

    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

  60. muhammed

    shieldı 5 volt 1 amper ile beslesek olurmu

    1. Sezgin GÜL

      Besleyebilirsiniz

  61. mert

    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?

  62. cemal

    merhaba kullandigim inscape programinda “Maker bot unicom g code” eklentisi yok nasil ekleyebilirim.
    te$ekkurler

    1. Sezgin GÜL

      İnkscape Ayarları başlığında eklentinin linki var. Yalnız inkscape 0.48.5 sürümünde çalışmaktadır.

  63. yusuf

    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’

  64. Mustafa

    Merhaba Sezgin Bey, adafruit motor shield için Arduino da servo ve step bağlantı uçları hangileri.

    1. Mustafa

      Step motorlar için kullandığımız l293 motor sürücü ile arduino’nun bağlantıları hangi pinler

      1. Sezgin GÜL

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

    2. Sezgin GÜL

      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.

  65. FenciFd

    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.

    1. Eren

      Yazılımı nasıl buldunuz üstte paylaşılan yazılım kopyala yapıştır yapınca hata veriyor. Doğrusunu atabilirmisiniz.

  66. Orhan

    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

  67. okan köroğlu

    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…

    1. Sezgin GÜL

      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

      1. okan köroğlu

        hocam çok teşekkür ederim. Emeğine sağlık

      2. Bilal

        Hocam ben processing programı kurulumu ve processing arayüzüne processing kodunu atmayı anlamadın lütfen yardımcı olun

  68. okan köroğlu

    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

  69. ömer faruk

    3 step motor ile yapmak isitıyorum bu projeyı.elınızde herhangı bı döküman var mı

    1. Sezgin GÜL

      Grbl olarak araştırın açık kaynak kodlarını bulursunuz.

      1. ömer faruk

        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ı

  70. faruk

    inkspace de dosyayı kaydederken g gode uzantısı gözükmüyor neden olabilir

    1. Sezgin GÜL

      Eklentiyi yüklememiş veya yanlış yere yüklemiş olduğunuzdan kaynaklıdır.

      1. faruk

        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ı

        1. Sezgin GÜL

          inkscape 0.48.5 sürümününde çalışıyor. Sizdeki son sürüm ise onda başka eklenti çalışıyor.

          1. ahmet

            usta başka eklentiyi nereden bulacağız

          2. Sezgin GÜL

            inkscape 0.48.5 sürümünü yükleyin

  71. Ahmet Olmuştur

    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..

  72. Hakan

    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ı??

  73. Berkay

    Hocam, dosyayı program filestaki ınkspace dosyasına attım fakat farklı kaydette .gcode eklentisini göremiyorum?

  74. can arslan

    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.

  75. enver tilbe

    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’

    1. yusuf

      merhaba aynı sorun bende de oldu siz nasıl çözdünüz acaba

  76. Orhun

    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’

    1. yusuf

      merhaba aynı sorun bende de oldu siz nasıl çözdünüz acaba

  77. ahmet kandilli

    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

  78. yunus

    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.

  79. rıza barış çakı

    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 . :))

    1. Sezgin GÜL

      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

      1. ömür

        abicim elektriği nerden vricez bulamadım da

        1. Sezgin GÜL

          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.

  80. abdulsamed öztoprak

    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.

  81. Osman ERDOĞAN

    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.

    1. Sezgin GÜL

      Afmotor kütüphanesini yüklemediğin için hata almışsınız.

  82. Mert

    Selamlar,Eski yazici parcalari ile bu projeyi Encoderli DC motor ile yapmamiz mumkun mu?
    Eger mekanizma hakkinda farkli bir fikriniz var ise paylasirsaniz seviniriz.

  83. Baha

    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

    1. Sezgin GÜL

      sıkıntı olmaz hepsi aynı modeldir genelde

  84. Kadir

    Hocam resimi nasıl çizdireceğimizi anlamadım açıklarsanız çok sevinirim.

    1. Sezgin GÜL

      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.

      1. Kadir

        Çok teşekkürler elleriniz dert görmesin 🙂

  85. Kemal Ozkan

    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 ?

  86. hasan

    hocam çok özür dilerim ama bize vahi mi gelcek te öğrencez hiçbi açıklama yok kodların yanında

    1. raimen

      Hasan bi zahmet kodların açıklamasını bulamıyorsan, arduino ile uğraşma

      1. hasan

        hocam istediğim şey kopyala yapıştır deil sen bulduyssan yukardakilerin “her bir satırının” açıklasmasını helal olsun

  87. ceesur

    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..

    1. Sezgin GÜL

      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.

      1. Murat

        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

  88. abdullah

    ben bu programları anlamadım 3 ayrı program var nasıl yukleyecegim

    1. Sezgin GÜL

      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.

  89. Sertan nokay

    S.a ben projeyi tamamladim bi tek kalemi servoya yukari assagi yapacak sekilde yerlestirmeyi beceremedim bunun icin yardimci olurmusunu

    1. Sezgin GÜL

      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.

      1. Ahmet

        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

      2. Kazım

        Ö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

    2. Eren

      Doğru yazılımı bana atabilirmisiniz