ПОЛЕЗНО GRBL Commander - автономный контроллер на ESP32

    Рекомендованный
  • #826
Дело не в перевороте. Обмусоливаю идею засветки ФР на лазернике (отдельном), там же можно и с маской поэкспериментить, а вот обрезка и сверление уже на фрезерном. Тут, как раз и встаёт вопрос о совмещении всей этой фигни - потеря 0 детали и потеря положения её в пространстве. В общем, просто надо проэкспериментить, я уже расширил диалог до такого состояния -
IMG_20250412_104235.jpg
со вводом по выбору п.3 координат точек, расчётом угла и разворотом G-кода.
теперь только "и опыт, сын ошибок трудных" :)
Я вот тоже, насмотрелся на взрослые станки, на днях набросал простенькую программку на pythone для пересчета координат.
Пока рассматриваю разные варианты... и с посчитанным углом и с измеренными точками, чтобы угол считался в программе, даже траектории рисуются...
А тут такая красота! нужно срочно обновлять прошивку пульта - есть ли?
 
нужно срочно обновлять прошивку пульта - есть ли?
Всё вышеописанное, с поста #800, будет в версии 1.5, я её ещё не выкладывал, вроде предварительно всё опробовал, осталось самое нелюбимое - писанина хэлпа, думаю, к концу месяца сподоблюсь закончить. А если нет, то выложу без хэлпа :)
Ещё сделал рисунок варианта платы на ESP32 Wroom 32U - она с внешней антенной, но чуть различается по распиновке - это для "дальнобойности" вафли, просто хотел попробовать, ибо она у меня есть.
Bilderman 2025.04.12 15-32-09.png
 
Обмусоливаю идею засветки ФР на лазернике (отдельном), там же можно и с маской поэкспериментить
Вот что растровая засветка ПП (HLDI) с изготовителями оборудования делает! :)
 
Вот что растровая засветка ПП (HLDI) с изготовителями оборудования делает!


Ну, тут неплохой вариант избавиться от плёнки для печати шаблонов, повышенного расхода тонера и спец. средств для увеличения контрастности (типа Density Toner). Плюс, хранящиеся шаблоны вечно у меня слипаются, дорожки с них отпадают, т.е. некоторые потом приходится один фиг заново изготавливать. И плат нужно как-то стремиться на полный лист плёнки набить - на небольших кусках плёнки потом проблематично печатать - отсюда и повышенный расход тонера, вкупе с макс. качеством печати.
Ну и двусторонние платы - плёнка всё равно имеет какую-то температурную усадку, когда два слоя в "конвертик" совмещаешь, отверстия не особо точно сходятся, приходится тщательно ловить положение.
Присмотрел раму без лазера (~5+ килоденежков) и лазерный модуль 0.5Вт/405nm (~2.5-3 тыр)
12.jpg13.jpg
Такие рамы бывают и с лазером 450nm/3-5Вт (+ ещё 3-4 тыр), можно попробовать поэкспериментить и с надписями на корпусах...

оффтоп
 


Ну, тут неплохой вариант избавиться от плёнки для печати шаблонов, повышенного расхода тонера и спец. средств для увеличения контрастности (типа Density Toner). Плюс, хранящиеся шаблоны вечно у меня слипаются, дорожки с них отпадают, т.е. некоторые потом приходится один фиг заново изготавливать. И плат нужно как-то стремиться на полный лист плёнки набить - на небольших кусках плёнки потом проблематично печатать - отсюда и повышенный расход тонера, вкупе с макс. качеством печати.
Ну и двусторонние платы - плёнка всё равно имеет какую-то температурную усадку, когда два слоя в "конвертик" совмещаешь, отверстия не особо точно сходятся, приходится тщательно ловить положение.
Присмотрел раму без лазера (~5+ килоденежков) и лазерный модуль 0.5Вт/405nm (~2.5-3 тыр)
12.jpg13.jpg
Такие рамы бывают и с лазером 450nm/3-5Вт (+ ещё 3-4 тыр), можно попробовать поэкспериментить и с надписями на корпусах...

оффтоп
Мне кажется, что такой лазер для HLDI не пойдёт, при тех скоростях, что захочется использовать для ускорения процесса, придётся его гвоздями к столу прибить. Хотя и стол начнёт двигаться, скорее всего.... Хотя если там каретку на Х для HLDI менять на махонький лазер, то можно корпус удержать струбцинами, наверное....
 
при тех скоростях, что захочется использовать для ускорения процесса, придётся его гвоздями к столу прибить.


Думаю, что скорости один фиг будут выше аппарата на валах-винтах, а лишние полчаса рояля не играют.
Вышепоказанную раму нетрудно закрепить на куске МДФ и к этой "платформе" прикрутить уголок для позиционирования.
Да и струбциной к столу всю эту конструкцию можно прихватить...
Такая рама понравилась тем, что она быстро разбирается-собирается, что актуально для хранения в моих условиях.
Понятно, что для лёгких лазерных модулей - ибо склонна "клевать носом".

оффтоп
 
Штуки полезные, но в данном случае без надобности.
Сделал простую УП, состоящую из пары пятаков D3мм, 4х реперных отверстий и пары отверстий в пятаках - все по 0.8мм.
Реперные отверстия смещены по периметру платы на 5 мм, а на левое нижнее отверстие назначил дом и 0 УП.
(совмещать их - это отдельная песня и все слова в ней будут нецензурными)
Bilderman 2025.04.12 14-32-04.png
Далее, закрепил огрызок стеклотекстолита и сперва нарезал пятаки, затем просверлил реперные отверстия.
IMG_20250412_135257.jpg
потом перевернул плату и по левому нижнему реперу на глаз выставил сверло, обнулил оси XY
IMG_20250412_142420.jpg
затем перегнал ко второму отверстию и записал его координаты. Выбрал УП сверления и запустил поворот G-кода по координатам [0.0, 0.0] и [0.298, 30.130], получил угол поворота (надо же, почти в 0 градусов попал на глаз :))
IMG_20250412_142841.jpg
Отсверлился
IMG_20250412_142945.jpg
Переворачиваем и смотрим
IMG_20250412_143030.jpg
Как бы, вот...
Олег, попробуй считать угол по методу наименьших квадратов, что позволяет существенно уменьшить ошибку его измерения. Минимальное количество точек измерений = 3.
C++:
void line_approximation(double x[], double y[], int np, double &a, double &b, double &rms, double &angDeg, double &angErr) {
//approximates y(x) data by line y=ax+b with minimum rms. Returns a, b, rms, angDeg, angErr
/*--------usage-----
 crdX[msrPoints], crdY[msrPoints], msrPoints;//input
 double a, b, rms, angDeg, angErr; //output
 line_approximation(crdX, crdY, msrPoints, a, b, rms, angDeg, angErr);
 angRad = angle * M_PI / 180.0;
*/
  double xi = 0, x2i = 0, xiyi = 0, yi = 0, y2i = 0, s2 = 0;
  int i;
 
  for (i = 0; i < np; ++i) {
    xi += x[i]; yi += y[i];
    x2i += x[i] * x[i]; y2i += y[i] * y[i];
    xiyi += x[i] * y[i];
  }
  b = (xiyi*xi - x2i * yi) / (xi*xi - (double)np * x2i);
  a = (yi - (double)np*b) / xi;
  for (i = 0; i < np; ++i) {
    s2 += (a*x[i] + b - y[i])*(a*x[i] + b - y[i]);
  }
  rms = sqrt(s2) / (double)np;
  if (a < 0.0 && abs(a)>1.0) angDeg = atan((long double)a)*180.0 / M_PI + 180.0; else angDeg = atan((long double)a)*180.0 / M_PI;  
}
 
Толи матом тута кроют
толи смеюцца, нипанятна... :)
по методу наименьших квадратов
Фигасе, ты меня грузанул...
IMG_20250204_015515_306.jpg
Минимальное количество точек измерений = 3
Где чего мерять? Две точки по X, одну по Y? Думаешь, тут расчёт угла хромает? КМК, позиционирование сверлом по дырке - вот слабое звено. Хотя, дырок - 4 штуки, можно все задействовать, наверное...
 
Думаю, что скорости один фиг будут выше аппарата на валах-винтах
Конечно, только на ремнях. Но в таком случае, так как тут важны микроны, то настройка GRBL или аналогичные должны быть такими: $1=255. Постоянное удержание шаговиков от инерционного или от вибрационного проворота.
 
Где чего мерять? Две точки по X, одну по Y? Думаешь, тут расчёт угла хромает? КМК, позиционирование сверлом по дырке - вот слабое звено. Хотя, дырок - 4 штуки, можно все задействовать, наверное...
Устанавливаешь ПП по реперным точкам. На одну из сторон ставишь калиброванную по плосткостности металлическую пластину. Используя G38, по этой пластине измеряешь координаты в нескольких точках. Вводишь эти координаты в программку и находишь угол.
 
Устанавливаешь ПП по реперным точкам. На одну из сторон ставишь калиброванную по плосткостности металлическую пластину. Используя G38, по этой пластине измеряешь координаты в нескольких точках. Вводишь эти координаты в программку и находишь угол.
Не забывай, какого рода девайс, тут всё упрощено, особенно по пользовательскому вводу и отображению.
Всё должно быть максимально просто и юзабельно.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать