Arduino GRBL Companion - Автономный контроллер для GRBL

Контроллеры, драйверы, датчики, управляющие устройства.

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Ddimon » 18 янв 2019, 21:25

На русском языке.Только hex . прошивать через USBasp. Не ту прошивку вроде положил исправляю
Вложения
test.zip
русский язык, на выбор с подсчетом и без подсчёта с загрузчиком и без.
(114.62 Кб) Скачиваний: 108
Последний раз редактировалось Ddimon 18 янв 2019, 22:05, всего редактировалось 1 раз.
Ddimon
Новичок
 
Сообщения: 11
Зарегистрирован: 05 янв 2019, 13:42
Репутация: 0
Настоящее имя: Иванов Дмитрий Васильевич

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Ddimon » 18 янв 2019, 21:33

Там два файлика один с загрузчиком другой без, если прошить с загрузчиком то ваша ардуина должна стать Uno. С загрузчиком чуть больше размером можно посмотреть в свойствах файла.
Ddimon
Новичок
 
Сообщения: 11
Зарегистрирован: 05 янв 2019, 13:42
Репутация: 0
Настоящее имя: Иванов Дмитрий Васильевич

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение tecnocat » 22 янв 2019, 07:08

Для русского языка можно поковыряться в сторону Optiboot,
тогда для прошивки будет полных 32К,
ну и русский придется делать в однобайтной кодировке типа DOS или Win1251 чтобы сэкономить память,
что с переходом на среду Arduino 1.8.XX довольно проблематично.
tecnocat
Опытный
 
Сообщения: 100
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Ddimon » 22 янв 2019, 22:05

Здравствуйте , я не могу разобраться в части кода выполнения УП буфер заполняется одной строкой или несколько целых строк , можно попросить этот кусочек скетча с подробными комментариями. И работа со строками для меня тёмный лес а тоже хотелось бы понять как происходит подмена скорости и она не работает если строка начинается с F.
Ddimon
Новичок
 
Сообщения: 11
Зарегистрирован: 05 янв 2019, 13:42
Репутация: 0
Настоящее имя: Иванов Дмитрий Васильевич

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение tecnocat » 24 янв 2019, 07:43

Код: Выделить всёРазвернуть
void execute_file(String &fname) {
  current_line = skip = skip_page = 0;
  int8_t pos_start = 0;
  int8_t pos_end = 0;
  char feed[10];
  char temp[40];
  feed_dig = feed_safe;

  if (EEPROM.read(EEPROM_START) == 1) {
    exec_mode = EXEC_PLAY;
  } else if (EEPROM.read(EEPROM_START) == 0) {
    exec_mode = EXEC_PAUSE;
  }

  Serial.flush();
  pp_menu = 0;
  exec_screen();
  buttons_screen();
  process_keys();
  File text = SD.open(fname, O_READ); // открытие файла
  if (text) {
    while (text.available()) {
      process_keys();
      if (exec_mode == EXEC_EXIT) {
        text.close();
        exit;
      }
      current_line++;
      memset(buff, 0, sizeof(buff));
      readcnt = text.readBytesUntil(0x0A, buff, sizeof(buff));  // Читаем строку до перевода строки
      if (readcnt > 0) {
        buff[readcnt] = 0;
        pos_start = 0;
        for (int8_t pe = 0; pe < sizeof(buff); pe++) {  // Ищем букву F как начало команды FEED RATE
          if ((buff[pe] == 0x46)) {
            pos_start = pe;
            break;
          }
        }
        if (pos_start > 0) { // если нашли - ищем конец команды
          for (int8_t pe = pos_start + 1; pe < sizeof(buff); pe++) {
            if ((buff[pe] > 0x39) || (buff[pe] == 0)) {
              pos_end = pe;
              break;
            }
          }
          strncpy(feed, buff + pos_start + 1, pos_end - pos_start);  // выделяем значение FEED
          feed_dig = strtol(feed, 0, 0);   // конвертируем значение FEED в число
          if (feed_dig > feed_safe) feed_dig = feed_safe;   // сравниваем значение FEED с безопасным
          ltoa(feed_dig, feed, 10);
          for (int8_t pe = 0; pe < 10; pe++) {
            if (feed[pe] == 0) {
              pos_end = pe - 1;
              break;
            }
          }
          strncpy(buff + pos_start + 1, feed, pos_end);    // заменяем значение FEED безопасным
        }
        for (int8_t pe = 0; pe < sizeof(buff); pe++) {
          if (buff[pe] == 0x0D) {
            buff[pe] = 0x0A;
            buff[pe + 1] = 0x00;
            break;
          }
          if (buff[pe] == 0x0A) {
            buff[pe + 1] = 0x00;
            break;
          }

        }
        Serial.print(buff); // Выдаем строку в порт
        Serial.flush();
        memset(temp, 0, sizeof(temp));
        strncpy(temp, buff, sizeof(temp));
        for (int8_t pe = 0; pe < sizeof(temp); pe++) {
          if ((temp[pe] == 0x0D) || (temp[pe] == 0x0A)) {
            temp[pe] = 0x00;
            break;
          }
        }

        if (exec_mode == EXEC_STEP) { // если пошаговое исполнение печатаем команду на экран
          tft.setTextSize(1);
          tft.setCursor(0, (skip + 3)* CHAR_HEIGHT);
          printTFTString((char*)empty_line); tft.println();
          printTFTString((char*)empty_line); tft.println();
          tft.setCursor(0, (skip + 3)* CHAR_HEIGHT);
          tft.setTextColor(YELLOW, BLACK);
          tft.print(buff);
          skip++;
        }
        Serial.flush();
      }

      while (Serial.available() == 0) { // ждем ответа от GRBL
        encRead(); if ((encClick) && (exec_mode == EXEC_PLAY)) {
          pp_menu = 2;
          exec_mode = EXEC_PAUSE;
          process_keys();
        }
        if (exec_mode == EXEC_EXIT) break;
      }
      while (Serial.available() > 0) {  // если пришел ответ от GRBL
        memset(buff, 0, sizeof(buff));
        readcnt = Serial.readBytesUntil(0x0A, buff, sizeof(buff));
        if (readcnt > 0) {
          buff[readcnt] = 0;
          if (strncmp(buff, "error", 5) == 0) {   // смотрим ошибку и печатаем на экран
            delay(10);
            Serial.flush();
            tft.setTextSize(1);
            tft.setCursor(0, (skip + 3)* CHAR_HEIGHT);
            printTFTString((char*)empty_line);
            printTFTString((char*)empty_line);
            printTFTString((char*)empty_line);
            tft.setCursor(0, (skip + 3)* CHAR_HEIGHT);
            tft.setTextColor(RED, BLACK);
            tft.print(current_line);
            printTFTString((char*)trail);
            tft.println(temp);
            tft.print(buff);
            memset(temp, 0, sizeof(temp));
            if (EEPROM.read(EEPROM_PAUSE) == 1) exec_mode = EXEC_PAUSE;
            skip++;
          }
          if ((strncmp(buff, "ok", 2) == 0)) {    // от GRBL пришло сообщение о нормальном исполнении
            delay(10);
            Serial.flush();
          }
        }
        encRead();
        if ((encClick) && (exec_mode == EXEC_PLAY)) { // обработка клика энкодера
          pp_menu = 2;
          exec_mode = EXEC_PAUSE;
          OK_KEY = encClick = false;
          process_keys();
        }
        if (exec_mode == EXEC_EXIT) break;
      }
      exec_screen();
      if (skip > (MAX_DISPLAY_LINES - 5))skip = 0;
    }
  }
  text.close();
}
tecnocat
Опытный
 
Сообщения: 100
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение tecnocat » 30 янв 2019, 12:59

Ddimon писал(а):Здравствуйте , я не могу разобраться в части кода выполнения УП буфер заполняется одной строкой или несколько целых строк , можно попросить этот кусочек скетча с подробными комментариями. И работа со строками для меня тёмный лес а тоже хотелось бы понять как происходит подмена скорости и она не работает если строка начинается с F.

И никаких комментариев не последовало
tecnocat
Опытный
 
Сообщения: 100
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Lucyfire999 » 17 фев 2019, 11:52

druksel писал(а):уважаемый Технокот, вы данную разработку забросили?? попробовал повторить - но имеются вопросы.
при старте данного девайса не всегда удается получить одинаковые скорости обмена между ардуинками.
ардушка с вашей прошивкой похоже работает на 57600. а ардуха с ГРБЛ - на 115200.
есть ли в вашей прошивке возможность жестко установить скорость обмена между ардуинками?
с уважением, Андрей.

Добрый день. У меня такиеже проблемы ((( подскажи пожалуйста как их решить.
Lucyfire999
Новичок
 
Сообщения: 1
Зарегистрирован: 17 фев 2019, 11:39
Репутация: 0
Настоящее имя: Павел

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение maximius » 12 апр 2019, 10:05

Добрый день всем форумчанам. Давно наблюдаю за данной темой, и наконец-то получил все запчасти для реализации. Собрал по схеме. Дисплей работает, файлы с карты читает, но есть несколько ошибок:
1. В ручном режиме после того, как выбираю ось, при повороте энкодера появляется шаг от 1 до 5 и все, девайс на повороты энкодера не реагирует. Только на кнопку энкодера, по которому выходит в выбор оси. Так во всех прошивках, включая загрузку hex.
2. При запуске управляющей программы с карты перечень файлов читается, но при запуске файла экран белеет. Фото во вложении.
В терминале сообщения проходят, пробовал разные версии grbl и контроллера. Пробовал подключать внешнее питание. Результат тот же.
Вложения
Arduino GRBL Companion - Автономный контроллер для GRBL IMG_20190411_222406.jpg
Завис при ручном перемещении
Arduino GRBL Companion - Автономный контроллер для GRBL IMG_20190411_222433.jpg
Завис при запуске УП
maximius
Новичок
 
Сообщения: 7
Зарегистрирован: 16 авг 2016, 09:12
Репутация: 1
Настоящее имя: Максим

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение tecnocat » 15 апр 2019, 18:30

Почему белый экран не скажу, да и прошивку надо пересобирать под свежую версию Arduino Idea, может глюки уйдут
tecnocat
Опытный
 
Сообщения: 100
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение tecnocat » 15 апр 2019, 18:33

Lucyfire999 писал(а):
druksel писал(а):уважаемый Технокот, вы данную разработку забросили?? попробовал повторить - но имеются вопросы.
при старте данного девайса не всегда удается получить одинаковые скорости обмена между ардуинками.
ардушка с вашей прошивкой похоже работает на 57600. а ардуха с ГРБЛ - на 115200.
есть ли в вашей прошивке возможность жестко установить скорость обмена между ардуинками?
с уважением, Андрей.

Добрый день. У меня такиеже проблемы ((( подскажи пожалуйста как их решить.

Если посмотреть раздел Setup скетча - там инициализация 115200, либо неправильно выбрана модель ардуины при компиляции, либо с переходом на свежую версию ice есть глюк в библиотеках
tecnocat
Опытный
 
Сообщения: 100
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Yashcher » 04 май 2019, 01:56

maks9744 писал(а):контролер на grbl в качестве дисплея использовать сенсорный дисплей Nextion

Какой именно Nextion, и можно ли посмотреть что у Вас получилось?
Аватара пользователя
Yashcher
Новичок
 
Сообщения: 16
Зарегистрирован: 24 окт 2011, 23:26
Репутация: 0

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Yashcher » 17 май 2019, 21:35

Вопрос к уважаемому tecnocat.
Возможно ли добавить команду типа
M47 Repeat program from first line ?
Аватара пользователя
Yashcher
Новичок
 
Сообщения: 16
Зарегистрирован: 24 окт 2011, 23:26
Репутация: 0

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Alex261153 » 02 июн 2019, 20:31

Здравствуйте все. Наконец я все собрал и запустил. Но есть два вопроса. 1- мерцание экрана. 2- по команде M5S0 выдает error2.Просто M5 или M5S1000 работает без ошибок. Помогите.
Alex261153
Новичок
 
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение nevkon » 03 июн 2019, 08:42

Что делает этот код не пытались выяснить?
M5 - остановка шпинделя.
S1000 (S0) - задать частоту вращения в 1000 об/мин (0 об/мин) шпинделю.
А теперь скажите какой смысл задавать частоту вращения остановленному шпинделю?
nevkon
Мастер
 
Сообщения: 1547
Зарегистрирован: 17 июл 2015, 10:25
Откуда: Балаково (Саратовская обл.)
Репутация: 196
Настоящее имя: Константин

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Alex261153 » 03 июн 2019, 09:23

Сейчас точно не помню, но было по М5 лазер не выключился, надо было дописывать S0.
«Error: 2»: _ («Формат числового значения недопустим или отсутствует ожидаемое значение.»),
Alex261153
Новичок
 
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение udaff » 21 июн 2019, 22:21

tecnocat, Приветствую! Купил, собрал, полетело. Arduino Pro mini, энкодер ky-040, Дисплей на st7735 (по заявлению продавца)
Но есть проблема с отображением спец. символов:
Arduino GRBL Companion - Автономный контроллер для GRBL IMG_20190621_220119.jpg
Arduino GRBL Companion - Автономный контроллер для GRBL IMG_20190621_220149.jpg
Arduino GRBL Companion - Автономный контроллер для GRBL IMG_20190621_220217.jpg
Arduino GRBL Companion - Автономный контроллер для GRBL IMG_20190621_220255.jpg


Перепробовал оба скетча под разные библиотеки, пробовал заливать старой IDE 1.6.7 - безрезультатно.
Помогите пожалуйста
udaff
Новичок
 
Сообщения: 4
Зарегистрирован: 20 июн 2019, 22:35
Репутация: 0
Настоящее имя: Денис

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Alex261153 » 23 июн 2019, 11:35

Вот попробуй вот это, не обращай внимание на <TFT_ILI9163C.h>, они одинаковые похоже.
Не получается вставить картинку.
Вложения
autocont.rar
(40.19 Кб) Скачиваний: 44
Alex261153
Новичок
 
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Alex261153 » 23 июн 2019, 11:46

Вот и картинки.
Вложения
Arduino GRBL Companion - Автономный контроллер для GRBL DSC_0448.JPG
Arduino GRBL Companion - Автономный контроллер для GRBL DSC_0449.JPG
Arduino GRBL Companion - Автономный контроллер для GRBL DSC_0451.JPG
Alex261153
Новичок
 
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение udaff » 23 июн 2019, 14:27

Ничего не изменилось. Возможно мне нужны библиотеки как у Вас
udaff
Новичок
 
Сообщения: 4
Зарегистрирован: 20 июн 2019, 22:35
Репутация: 0
Настоящее имя: Денис

Re: Arduino GRBL Companion - Автономный контроллер для GRBL

Сообщение Alex261153 » 23 июн 2019, 15:13

Все библиотеки с 1-ой страницы "Обновление проекта - собрал все в кучу
Архив с исходниками и библиотеками:
full_pack_27_02_2017.zip"
Библиотеки не обновляй и все получится.
Alex261153
Новичок
 
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex

Пред.След.

Вернуться в Электроника

Кто сейчас на конференции

Зарегистрированные пользователи: AlexBoos, alkg, Belorez, Bing [Bot], Dimka, ESP, ex71, Евжений, FL@gMan, foto-boss, frezeryga, Gestap, Google [Bot], hazard_saint, hmnijp, Hugo, Lexxa, lkbyysq, PavelTch, sivolap36, Smlua, Umnik, vaha, xvovanx, Yandex [bot], Зерноед, Иван Карел, шпиндель

Reputation System ©'