ПОЛЕЗНО 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
 
Штуки полезные, но в данном случае без надобности.
Сделал простую УП, состоящую из пары пятаков 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 штуки, можно все задействовать, наверное...
 
Где чего мерять? Две точки по X, одну по Y? Думаешь, тут расчёт угла хромает? КМК, позиционирование сверлом по дырке - вот слабое звено. Хотя, дырок - 4 штуки, можно все задействовать, наверное...
Устанавливаешь ПП по реперным точкам. На одну из сторон ставишь калиброванную по плосткостности металлическую пластину. Используя G38, по этой пластине измеряешь координаты в нескольких точках. Вводишь эти координаты в программку и находишь угол.
 
Устанавливаешь ПП по реперным точкам. На одну из сторон ставишь калиброванную по плосткостности металлическую пластину. Используя G38, по этой пластине измеряешь координаты в нескольких точках. Вводишь эти координаты в программку и находишь угол.
Не забывай, какого рода девайс, тут всё упрощено, особенно по пользовательскому вводу и отображению.
Всё должно быть максимально просто и юзабельно.
 
Если в текущей ипостаси АК себя зарекомендует более-менее, я имею ввиду рабочесть/безглючность и т.д., то можно подумать насчёт реинкарнации его в "дисплей с тачскрином", что позволит обойтись с меньшим количеством кнопок, которые можно прицепить сразу к МК, без расширителей портов.
Но, думается, совсем без кнопок не обойтись, уверен, будет неудобно управлять, как минимум, значит, штук 6-9 кнопок придётся оставить.
Я за последние 5 лет сделал штук десять разных АК: полные, частичные, с проводами, с радиоуправлением, с кнопками, с сенсорными экранами. И оценил в реальной работе как их удобства, так и достоинства и недостатки. Для меня оптимальным и наиболее удобным оказался полный контроллер с сенсорным резистивным экраном и одной кнопкой: вкл/выкл. Недостатком, по началу, смотрелся только один момент: использование стилуса. Но после нескольких дней работы к стилусу я привык. А недостаток превратился в достоинство: грязные пальцы по экрану не тапают.
 
У меня аналогичный, но более примитивный способ - такое количество координат измерять и вносить на автономном девайсе - ещё тот изврат, поэтому только две координаты.
А если поставишь железную пластинку - АК будет измерять и вносить эти координаты автоматом.
 
Последнее редактирование:
А если поставишь железную пластинку
Валер, можно для балбесов (меня) поподробнее - какую пластинку и куды её прислонять?

ЗЫ
У автора той утилитки указано
ПРИМЕЧАНИЕ: старайтесь сверлить небольшие отверстия (менее 0,4 мм). Чем меньше отверстие, тем точнее калибровка на следующих этапах.
И он для позиционирования использовал конический гравёр. Я же юзал отверстия 0.8мм и этим же сверлом туда тыкался.
Попробовать с мЕньшими отверстиями и коническим гравером, что ли, вдруг шибче-лучше будет...
 
какую пластинку и куды её прислонять?
Как-то так. Чисто идея, может и не сработать, но подумать стоит. Я таким способом квадрировал 3018, используя вместо пластины калиброванный уголок.
1744496458746.png

P.S. Результаты чемпионата по к-ву кнопок среди моих квартирных АК. Спартак - чемпион! :D
1744496562570.png
 
Чисто идея, может и не сработать, но подумать стоит.
Это ты исходишь из расчёта, что торец ПП ровный, а если это просто кривой огрызок текстолита, которому когда-то потом, на крайнем этапе, будут приданы благородные формы?
 
Это ты исходишь из расчёта, что торец ПП ровный, а если это просто кривой огрызок текстолита, которому когда-то потом, на крайнем этапе, будут приданы благородные формы?
Так я говорил, что пока это только идея, а над реализацией надо думать. Там главное преимущество - существенное уменьшение ошибки измерения угла на основе "простого" метода средних квадратов. Который даже для кривого огрызка позволит определить более-менее реальный угол наклона.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

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

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

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

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