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

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

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

Сообщение Ddimon »

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

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

Сообщение Ddimon »

Там два файлика один с загрузчиком другой без, если прошить с загрузчиком то ваша ардуина должна стать Uno. С загрузчиком чуть больше размером можно посмотреть в свойствах файла.
tecnocat
Опытный
Сообщения: 101
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39
Контактная информация:

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

Сообщение tecnocat »

Для русского языка можно поковыряться в сторону Optiboot,
тогда для прошивки будет полных 32К,
ну и русский придется делать в однобайтной кодировке типа DOS или Win1251 чтобы сэкономить память,
что с переходом на среду Arduino 1.8.XX довольно проблематично.
Ddimon
Новичок
Сообщения: 11
Зарегистрирован: 05 янв 2019, 13:42
Репутация: 0
Настоящее имя: Иванов Дмитрий Васильевич
Контактная информация:

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

Сообщение Ddimon »

Здравствуйте , я не могу разобраться в части кода выполнения УП буфер заполняется одной строкой или несколько целых строк , можно попросить этот кусочек скетча с подробными комментариями. И работа со строками для меня тёмный лес а тоже хотелось бы понять как происходит подмена скорости и она не работает если строка начинается с F.
tecnocat
Опытный
Сообщения: 101
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39
Контактная информация:

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

Сообщение tecnocat »

Код: Выделить всё

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
Опытный
Сообщения: 101
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39
Контактная информация:

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

Сообщение tecnocat »

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

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

Сообщение Lucyfire999 »

druksel писал(а):уважаемый Технокот, вы данную разработку забросили?? попробовал повторить - но имеются вопросы.
при старте данного девайса не всегда удается получить одинаковые скорости обмена между ардуинками.
ардушка с вашей прошивкой похоже работает на 57600. а ардуха с ГРБЛ - на 115200.
есть ли в вашей прошивке возможность жестко установить скорость обмена между ардуинками?
с уважением, Андрей.
Добрый день. У меня такиеже проблемы ((( подскажи пожалуйста как их решить.
maximius
Новичок
Сообщения: 7
Зарегистрирован: 16 авг 2016, 09:12
Репутация: 1
Настоящее имя: Максим
Контактная информация:

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

Сообщение maximius »

Добрый день всем форумчанам. Давно наблюдаю за данной темой, и наконец-то получил все запчасти для реализации. Собрал по схеме. Дисплей работает, файлы с карты читает, но есть несколько ошибок:
1. В ручном режиме после того, как выбираю ось, при повороте энкодера появляется шаг от 1 до 5 и все, девайс на повороты энкодера не реагирует. Только на кнопку энкодера, по которому выходит в выбор оси. Так во всех прошивках, включая загрузку hex.
2. При запуске управляющей программы с карты перечень файлов читается, но при запуске файла экран белеет. Фото во вложении.
В терминале сообщения проходят, пробовал разные версии grbl и контроллера. Пробовал подключать внешнее питание. Результат тот же.
Вложения
Завис при ручном перемещении (6436 просмотров) <a class='original' href='./download/file.php?id=160817&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (4.52 МБ)</a>
Завис при ручном перемещении
Завис при запуске УП (6436 просмотров) <a class='original' href='./download/file.php?id=160818&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (3.47 МБ)</a>
Завис при запуске УП
tecnocat
Опытный
Сообщения: 101
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39
Контактная информация:

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

Сообщение tecnocat »

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

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

Сообщение tecnocat »

Lucyfire999 писал(а):
druksel писал(а):уважаемый Технокот, вы данную разработку забросили?? попробовал повторить - но имеются вопросы.
при старте данного девайса не всегда удается получить одинаковые скорости обмена между ардуинками.
ардушка с вашей прошивкой похоже работает на 57600. а ардуха с ГРБЛ - на 115200.
есть ли в вашей прошивке возможность жестко установить скорость обмена между ардуинками?
с уважением, Андрей.
Добрый день. У меня такиеже проблемы ((( подскажи пожалуйста как их решить.
Если посмотреть раздел Setup скетча - там инициализация 115200, либо неправильно выбрана модель ардуины при компиляции, либо с переходом на свежую версию ice есть глюк в библиотеках
Аватара пользователя
Yashcher
Новичок
Сообщения: 18
Зарегистрирован: 24 окт 2011, 23:26
Репутация: 0
Контактная информация:

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

Сообщение Yashcher »

maks9744 писал(а):контролер на grbl в качестве дисплея использовать сенсорный дисплей Nextion
Какой именно Nextion, и можно ли посмотреть что у Вас получилось?
_Всё решают мелочи...
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
Аватара пользователя
Yashcher
Новичок
Сообщения: 18
Зарегистрирован: 24 окт 2011, 23:26
Репутация: 0
Контактная информация:

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

Сообщение Yashcher »

Вопрос к уважаемому tecnocat.
Возможно ли добавить команду типа
M47 Repeat program from first line ?
_Всё решают мелочи...
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
Alex261153
Новичок
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex
Контактная информация:

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

Сообщение Alex261153 »

Здравствуйте все. Наконец я все собрал и запустил. Но есть два вопроса. 1- мерцание экрана. 2- по команде M5S0 выдает error2.Просто M5 или M5S1000 работает без ошибок. Помогите.
nevkon
Почётный участник
Почётный участник
Сообщения: 2390
Зарегистрирован: 17 июл 2015, 10:25
Репутация: 302
Настоящее имя: Константин
Откуда: Балаково (Саратовская обл.)
Контактная информация:

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

Сообщение nevkon »

Что делает этот код не пытались выяснить?
M5 - остановка шпинделя.
S1000 (S0) - задать частоту вращения в 1000 об/мин (0 об/мин) шпинделю.
А теперь скажите какой смысл задавать частоту вращения остановленному шпинделю?
Alex261153
Новичок
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex
Контактная информация:

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

Сообщение Alex261153 »

Сейчас точно не помню, но было по М5 лазер не выключился, надо было дописывать S0.
«Error: 2»: _ («Формат числового значения недопустим или отсутствует ожидаемое значение.»),
udaff
Новичок
Сообщения: 4
Зарегистрирован: 20 июн 2019, 22:35
Репутация: 0
Настоящее имя: Денис
Контактная информация:

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

Сообщение udaff »

tecnocat, Приветствую! Купил, собрал, полетело. Arduino Pro mini, энкодер ky-040, Дисплей на st7735 (по заявлению продавца)
Но есть проблема с отображением спец. символов:
IMG_20190621_220119.jpg (5366 просмотров) <a class='original' href='./download/file.php?id=164983&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (658.54 КБ)</a>
IMG_20190621_220149.jpg (5366 просмотров) <a class='original' href='./download/file.php?id=164984&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (294.29 КБ)</a>
IMG_20190621_220217.jpg (5366 просмотров) <a class='original' href='./download/file.php?id=164985&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (820.85 КБ)</a>
IMG_20190621_220255.jpg (5366 просмотров) <a class='original' href='./download/file.php?id=164986&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (892.61 КБ)</a>
Перепробовал оба скетча под разные библиотеки, пробовал заливать старой IDE 1.6.7 - безрезультатно.
Помогите пожалуйста
Alex261153
Новичок
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex
Контактная информация:

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

Сообщение Alex261153 »

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

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

Сообщение Alex261153 »

Вот и картинки.
Вложения
DSC_0448.JPG (5294 просмотра) <a class='original' href='./download/file.php?id=165077&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (3 МБ)</a>
DSC_0449.JPG (5294 просмотра) <a class='original' href='./download/file.php?id=165078&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (3.27 МБ)</a>
DSC_0451.JPG (5294 просмотра) <a class='original' href='./download/file.php?id=165079&sid=8d7acdca36159877088da6858bf35697&mode=view' target=_blank>Загрузить оригинал (2.7 МБ)</a>
udaff
Новичок
Сообщения: 4
Зарегистрирован: 20 июн 2019, 22:35
Репутация: 0
Настоящее имя: Денис
Контактная информация:

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

Сообщение udaff »

Ничего не изменилось. Возможно мне нужны библиотеки как у Вас
Alex261153
Новичок
Сообщения: 7
Зарегистрирован: 14 апр 2019, 13:28
Репутация: 0
Настоящее имя: Alex
Контактная информация:

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

Сообщение Alex261153 »

Все библиотеки с 1-ой страницы "Обновление проекта - собрал все в кучу
Архив с исходниками и библиотеками:
full_pack_27_02_2017.zip"
Библиотеки не обновляй и все получится.
Ответить

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