Skip to content
ryannining edited this page Jun 14, 2018 · 6 revisions

KaryaController

Gcode

Gcode yang diproses:

  • G0 Xnn Ynn Znn Enn Fast move

  • G1 Xnn Ynn Znn Enn Svv Feed move S=laser intensity 0-255

  • G2 Arc CC move

  • G3 Arc CW move

  • G4 Dwell / wait move buffer empty

  • G7 Sdatalen [data encoded] Store raster data

  • G28 Homing

  • G90 Absolute

  • G91 Relative

  • G92 Set position, if no mentioned all be 0

  • M2 Hard stop

  • M3 Snn Ptt Set laser intensity nn 0..255 , 255= full cutting , <254 = constant burn per step for engraving. If tt defined, then pulse laser immediately after wait movebuffer empty.

  • M5 turn off laser intensity =0

  • M25 Pause machine, call again to resume.

  • M84 Motor Off

  • M104 Stt Set Temp to tt

  • M105 Get Temp

  • M106 Stt Set Fan

  • M107 Fan Off

  • M109 Stt Wait Temp to tt temperature

  • M112 Hard stop

  • M114 Get position

  • M115 Show firmware

  • M119 Get Endstop status

  • M300 Snn Ptt Servo set to nn, and wait for tt milliseconds

EPROM

  • M205 Get all Eprom (repetier style)
  • M206 Set Eprom see result of M205
  • M220 Set F_Multiplier
  • M221 Set E_Multiplier
  • M502 Reset Eprom to firmware default
  • M503 Show Eprom
  • M290 Xnn Ynn Znn Enn Baby stepping, not immediately, need wait until buffer executed
  • M600 Change filament

WIFI

  • M504 Show WIFI setting
  • M505 Show IP address
  • M206 Pnnn [value] Set wifi setting, nnn check result of M504, example M206 P400 [wifi ssid]

Apabila ada Gcode yang dibutuhkan silahkan hubungi kami, akan kami tambahkan.

Kebutuhan sistem:

  • Arduino IDE
  • USB to TTL kalau memakai STM32
  • Arduino compatible board

Install library yang dibutuhkan

Pada Arduino IDE, buka menu library manager, install :

  • PID By Brett B
  • SDFAT by Bill G

Untuk Nano 328, mega2560

Tidak perlu install apa-apa.

Untuk MCU ESP8266

Masukkan pada board manager URL di menu file-preferences: http://arduino.esp8266.com/stable/package_esp8266com_index.json

Kemudian masuk Board manager dan Istall ESP8266

Untuk MCU 128Au, dll (megacore)

Masukkan di board manager URL: https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json

Untuk STM32

Install ZERO pada board manager. Kemudian download zip dari https://github.com/rogerclarkmelbourne/Arduino_STM32/ dan ekstrak ke folder MyDocuments/Arduino/hardware (buat folder hardware kalo perlu)

Boards.h

Update 21-4-2018 Untuk Limitswitch ada perubahan, dimana arah homing ditentukan nilai eeprom xhome,yhome dan zhome. Apabila nilainya 0, maka tanpa homing di axis ini, apabila 1, maka homing ke arah 0 (minimum), apabila nilai lebih besar dari 1, maka homing ke arah max (misal kalo z naik).

Dan yg awalnya ada xmin_pin , dan teman2nya diganti 1 saja limit_pin, dimana 1 pin dishare untuk semua limit switch.

File ini berisi definisi board-board yang bisa digunakan. Kalau board anda baru/ tidak ada, bisa membuat definisi board sendiri dengan menambahkan:

/*
  ============================================================================================
     BOARD_NANONANO
  ============================================================================================
*/
#elif defined(BOARD_NANONANO)

#define xenable 2
#define xdirection 6
#define xstep 4

#define yenable 7
#define ydirection 9
#define ystep 8

#define zenable 10
#define zdirection A5
#define zstep A4

#define e0enable 5
#define e0direction A2
#define e0step A3


#define limit_pin A1

#define temp_pin A6 
#define heater_pin 3

//#define fan_pin 5
#define SDCARD_CS 10
#define INVERTENDSTOP // uncomment for normally open

Konfigurasi config_pins.h

Aktifkan board yang akan dipakai di sini:

//Known board in boards.h

//#define BOARD_CHCSHIELDV3
//#define BOARD_TARANTHOLE
//#define BOARD_SEMEDIYNANO
//#define BOARD_NANONANO
#define BOARD_NANONANO_SDCARD
//#define BOARD_NANONANO_STM32
//#define BOARD_NANONANO_WEMOS
//#define BOARD_GEN7
//#define BOARD_RAMP13
//#define BOARD_RAMP13_3DPLEX
//#define BOARD_SEMEDIY128AU
//#define BOARD_ESP01CNC_V1

Kalo boardnya sudah ada, bisa ilangi aja centang // pada board yang dipakai. Kemudian dibawahnya ada settingan sesuaikan dengan mesin anda.

compile dan flash

Setelah itu coba dicompile. kalau sukses bisa diupload ke mcu.

debugging

Apabila sudah sukses compile, bisa aktifkan di common.h ada baris ini diilangi aja \\ nya.

//#define output_enable

Kemudian flash mcu anda. Aktifkan serial monitor di arduino dan bisa dicoba mengirimkan kode gcode, misalnya G0 X10 dan lihat log nya.

KontrolBox

Kontrolbox memakai 1 pin analog untuk digunakan lebih dari 1 tombol. Susunan rangkaiannya adalah sejumlah resistor diseri. Sebelum digunakan harus dikalibrasi dulu dan merubah kode di karyacontroller.ino, pertama hilangkan \\ di

//zprintf(PSTR("Key:%d\n"), fi(key));

Kemudian flash dan test hasil masing2 tombol, dan masukkan ke program. Angka2 misal 686 ... 688 adalah range nilai ketika tombol tersebut ditekan :

      case 686 ... 688:
        lkey = 3;
        kdl = 500;
        break;
      case 356 ... 358:
        lkey = 2;
        kdl = 500;
        break;
      case 0 ... 2:
        lkey = 1;
        kdl = 500;
        break;

Aksi yang dilakukan masing2 tombol ada di baris2 berikutnya:

        if (lkey) {
          zprintf(PSTR("LKey:%d\n"), fi(lkey));
          switch (lkey) {
            case 1:
              homing();
              zprintf(PSTR("HOMING\n"));
              break;
            case 2:
              set_temp(180);
              zprintf(PSTR("HEATING\n"));
              break;

Development

Masih banyak yang bisa dikembangkan, saya berterima kasih apabila ada yang bisa mbantu .