Страница 18 из 85

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 07 дек 2015, 23:39
selenur
С осциллографом и контроллерами мк1, и мк2 тестировал телеграмму b2, и вот что получилось:
2015-12-08_013047.jpg (2479 просмотров) <a class='original' href='./download/file.php?id=65449&mode=view' target=_blank>Загрузить оригинал (240.36 КБ)</a>
2015-12-08_013100.jpg (2479 просмотров) <a class='original' href='./download/file.php?id=65450&mode=view' target=_blank>Загрузить оригинал (157.51 КБ)</a>
Вставляю как рисунок, т.к. вывод таблицы более сложная задачка
Так-же в программу добавил поддержку параметра "S", в результате чего при команде "S 1000" посылается значение 1000, в контроллер. И на выходе №2 получаем сигнал с определенной частотой (при условии что ранее была команда M3 - включить шпиндель), генерируемый сигнал имеет заполнение высокий/низкий уровень всегда 50/50
Уже недельки через 2 придет лазер на 2 ватта, нужно теперь только собрать преобразователь который из частоты будет генерировать PWM :-)

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 08 дек 2015, 10:02
Karbofos
расковырял формулу ускорения:
TelegramData = 3186.7 * 3600 / SQRT ( Accel * StepsUnit)

сегодня после работы доберусь до разъемов

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 08 дек 2015, 20:20
Karbofos
формула скорости:
TelegramData = 1.152e9 / (Speed * StepsUnit)

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 09 дек 2015, 00:21
Karbofos
Сергей, выводы подачи охлаждающей жидкости и тумана проверил, сигнал там появляется, шпиндель у меня включается сразу к релюшке, всё на плате сразу, релюха тоже переключается.
Единственное, что те контакты, которые у меня на плате, они идут уже после оптокоплеров. Может у тебя статикой пробит один канал, или еще какая оказия приключилась?

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 09 дек 2015, 04:44
selenur
Уже разобрался, вывод с микроконтроллера идет к транзистору который не работает. Так что все нормально :-)

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 09 дек 2015, 11:43
Karbofos
Это хорошо, что только транзистор вылетел.
Продолжаю декодировать. Какие максимальные значения могут принимать "шаги на мм", скорость и ускорение?

Не очень понятно, почему меняются байты в телеграмме A0 при изменении установки для оси "Х" шагов на мм с 200 на 400, меняется содержимое двух байт по смещению 42 с 0x60 0x09 на 0xB0 0x04
В программе есть еще какие-то установки, связанные с осью "Х"?

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 09 дек 2015, 11:59
selenur
Karbofos писал(а):Это хорошо, что только транзистор вылетел.
Продолжаю декодировать. Какие максимальные значения могут принимать "шаги на мм", скорость и ускорение?

Не очень понятно, почему меняются байты в телеграмме A0 при изменении установки для оси "Х" шагов на мм с 200 на 400, меняется содержимое двух байт по смещению 42 с 0x60 0x09 на 0xB0 0x04
В программе есть еще какие-то установки, связанные с осью "Х"?
У оси есть еще управление Enable, инвертирование step,dir, применение остановок при срабатывании концевиков по оси.

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 09 дек 2015, 12:12
Karbofos
selenur писал(а):У оси есть еще управление Enable, инвертирование step,dir, применение остановок при срабатывании концевиков по оси.
да, но эти байты не похожи на битовые маски, значение поменялось с 2400 на 1200

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 09 дек 2015, 23:21
selenur
Пока на коленке, по быстрому, сделал преобразователь сигнала управления скоростью шпинделя для контроллеров MK1, MK2.
Контроллер planet-cnc генерирует сигнал от 1 до 250 Гц, ардуина преобразовывает этот сигнал в PWM сигнал.
Вот код для arduino UNO:
(для просмотра содержимого нажмите на ссылку)

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

/*  10.12.2015 0:50  //G:\PROJECTS\0037_PlanetCNC_mk1
 * Преобразование сигнала от контроллера planet-cnc для управления шпинделем в PWM
 * Подключение пин №2 как вход от planet-cnc (INT0)
 *             пин №3 как выход PWM
 */

volatile unsigned long firstPulseTime;
volatile unsigned long lastPulseTime;
volatile unsigned long numPulses;

void isr()
{
  unsigned long now = micros();
  if (numPulses == 0)
  {
    firstPulseTime = now;
  }
  else
  {
    lastPulseTime = now;
  }
  ++numPulses;
}

void setup()
{
  pinMode(3, OUTPUT);
   
  TCCR2A = _BV(COM2A1) | _BV(COM2B1) | _BV(WGM21) | _BV(WGM20);
  TCCR2B = TCCR2B & 0b11111000 | 0x01;
  OCR2A = 180;
  OCR2B = 1;
}

unsigned int readFrequency(unsigned int sampleTime)
{
  numPulses = 0;                      
  attachInterrupt(0, isr, RISING);   
  delay(sampleTime);
  detachInterrupt(0);
  return (numPulses < 2) ? 0 : (1000000UL * (numPulses - 1))/(lastPulseTime - firstPulseTime);
}

void loop()
{
  unsigned int freq = readFrequency(1000);
  OCR2B = freq;
  delay(10); 
}

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 13 дек 2015, 23:16
Karbofos
привет всем. нашёл ещё кое-что.
телеграмма A0, смещение 42 - скорость Jog
телеграмма A0, смещение 62 - jog reverse, битовая маска.
телеграмма A0, смещение 5 - jog swap, битовая маска. в нормальном состоянии отправляется 0x12

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 14 дек 2015, 08:21
selenur
Вот небольшое обновление программы:
cnc.rar
(549.65 КБ) 341 скачивание
Конечно пока сыровато, но любые пожелания приветствуются :-)
Поддерживаются следующие коды: G0,G1,M3,M5,M7,M8,M9,F,X,Y,Z,A,G90,G91

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 14 дек 2015, 08:27
selenur
Для выполнения g-кода из файла, нужно дополнительно включить если ранее была выключена боковая панелька.
2015-12-14_102308.png (2314 просмотров) <a class='original' href='./download/file.php?id=66050&mode=view' target=_blank>Загрузить оригинал (293.28 КБ)</a>
Если в списке с G-кодом выделить одну строку кода, то выполнение начнется с неё (включительно), и до самой последней команды.
Если в списке выделить несколько строк, то выполняться будет лишь выделенный список команд.

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 15 дек 2015, 02:21
Karbofos
приветствую!
1. В программе для работы с OpenGL теперь делаю массивы координат и цветов только на QVector, так что без всяких проблем код можно переписать на дотнет.
2. Отрисовку таблицы оптимизировал, теперь вместо десяти минут на моём АМД процессоре тот файл на 8 мегабайт G-Code загружается за пять секунд, начиная с парсера, заканчивая таблицей
3. Выяснил, что поиск по регулярным выражениям QRegExp("([A-Z])") работают медленно, так что, если нуно ускорить, то нужно избавиться от подобного в программе
4. Исходники проактуализировал
5. Грустная новость: полноценная поддержка OpenGL для RasPi будет только в linux kernel 4.5. Пичалька

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 15 дек 2015, 14:04
Karbofos
у меня вопрос знатокам:
если прикрутить возможность управлять игровым геймпэд с возможностью переназначения клавиш, будет ли им удобно пользоваться? пока я таких, прикрученных к управлению фрезой, не видел
что-то вроде такого, через USB:

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 15 дек 2015, 14:47
AlexNikov
У к-флопа есть управление гейм-падом таким - по-мне не удобно, но там кнопки перезначать нельзя. А так эргономика отличная, можно и до ума довести.

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 15 дек 2015, 23:08
selenur
Добавил поддержку кодов: G92, G92.1, G92.2, G92.3
Правда что касается G92, пока нельзя указать "x,y,z, или a" в качестве параметров
Вот пример видео
https://www.youtube.com/watch?v=VgqyL5YKOAg
Вот только думаю как графически удобнее отобразить смещенное начало координат. Т.к. для контроллера ничего не меняется, только программно у меня происходит смещение....

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 16 дек 2015, 00:15
Karbofos
может пунктирной линией? цвета такие же, но прерывистой.

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 16 дек 2015, 04:46
selenur
Вот тоже думаю, пунктиром, или точками отображать смещенную ось. По идее должно быть интуитивно понятно...

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 16 дек 2015, 12:27
Karbofos
AlexNikov писал(а):У к-флопа есть управление гейм-падом таким - по-мне не удобно, но там кнопки перезначать нельзя. А так эргономика отличная, можно и до ума довести.
а можно описать, какие клавиши там как назначены и какими из них неудобно пользоваться? спасибо!

Re: Управление контроллером MK1 и MK2 (planet-cnc)

Добавлено: 16 дек 2015, 21:30
selenur
Последняя версия программы для тестирования
cnc.rar
(549.83 КБ) 404 скачивания