Перейти к содержанию
Авторизация  
Tamtek

Расчёт перемещения каретки

Рекомендуемые сообщения

Доброго всем времени суток.

Вопрос скорее по геометрии/тригонометрии, помогите, мозги уже плавятся :dash1:

Условие: имеется прямоугольный треугольник, по оси Y двигается каретка на ШВП и ШД.

001.thumb.JPG.cf9f1b5690169702a70ba6509abbe9ae.JPG

При первоначальной калибровке:

Угол C известен - измеряется датчиком перед стартом перемещения.

Каретка опускается на определённое количество шагов.

Угол A известен - измеряется датчиком после финиша перемещения.

Угол B вычисляется = 180° - A - C

 

Задача: в рабочем режиме нужно высчитать сторону b при перемещении например на 10° по стартовому углу C.

 

Проблемы начинаются в том, что при разных стартовых углах C получаются разные углы B при одинаковом перемещении каретки.

002.thumb.JPG.42b8c013a3fd1a945f799ba5ac5a9acd.JPG

Плюс при изменении длины стороны c' углы снова меняются.

Вот график значения финишного угла A(X) в зависимости от стартового угла C(Y) при одинаковом перемещении каретки + при разных длинах стороны c' (20 точек)

300-320.thumb.jpg.6e5be50120aae490e2bb80c55b227370.jpg

Если использовать длину стороны c', в данном случае это 320мм, то всё просто:

Все углы известны, по длине стороны c' можно подсчитать длину стороны c = с' / sin(C')

Далее b = c * (sin(B) / sin(A))

 

А вопрос в том: можно ли сделать это вычисление не используя длины сторон c и c'?

Как высчитать закономерность (коэффициент) изменения значения финишного угла A при разных стартовых углах C.

Замеров при калибровке можно производить несколько, с разными стартовыми углами C.

 

Может сумбурно объяснил, задавайте наводящие вопросы.

Поделиться сообщением


Ссылка на сообщение

Непонятно, где какие узлы, но вообще геометрические задачи лучше решать не тригонометрией (где нужно ещё и пространственное воображение, которое может подвести), а методами аналитической геометрии (где оно не нужно). Открываете справочник по высшей математике - и там есть масса готовых формул на все случаи . Например, там есть разнообразные формулы для составления уравнений прямых (проходящих через две точки или проходящих через одну точку в заданном направлении и т.п.). Если есть уравнения двух прямых, то там же даны готовые формулы для определения величины угла (пересечения или скрещивания) между ними. Полистайте десяток страниц справочника - и быстро поймёте  "как всё расчитывается?", не задаваясь при этом ненужными вопросами "почему расчитывается именно так, а не иначе ?"

Поделиться сообщением


Ссылка на сообщение

Спасибо конечно, но в моём возрасте высшая математика плохо усваивается, может это только у меня (

Единственное в чём пока разобрался, то это подходит или квадратичная аппроксимация или кубическая аппроксимация.

Точность квадратичной 0,06%, кубической 0,02%

320.thumb.jpg.25ff01861ee8ac86fba88294720bc51d.jpg

Это калибровочное перемещение на одинаковое и известное расстояние каретки при стартовом угле Y и финишном X (20 точек)

Но вот вычислить эти формулы что ниже и получить формулы что на графике мне не по силам (

Поэтому и прошу помощи объяснить как это сделать.

004.thumb.jpg.351ebb8387170e5addb5e168adb41c63.jpg

Поделиться сообщением


Ссылка на сообщение

Tamtek, не очень понимаю, о чём речь, но вычислениями в аналогичных случаях не пользуюсь давно. Вычерчиваю нужное в программе КОМПАС (просто с другими не работаю), замеряю нужный элемент, в данном случае"b". Точность приличная.

Поделиться сообщением


Ссылка на сообщение
В 25.05.2020 в 00:19, Tamtek сказал:

А вопрос в том: можно ли сделать это вычисление не используя длины сторон c и c'?

Надо понять , что является константой  и ввести в формулу, а потом реализовать в программе и тогда по углу можно определять все параметры по углу , но понятно стороны будут присутствовать незримо. 

Поделиться сообщением


Ссылка на сообщение
5 часов назад, МИТАЛНИК сказал:

Вычерчиваю нужное в программе КОМПАС (просто с другими не работаю), замеряю нужный элемент, в данном случае"b". Точность приличная.

Ну так и я то же самое сделал в Солиде, беспроблем ))

А считать то нужно процессором, для управления ШД.

В STM32, я Компас или Солид не запихну :unknw:

Поделиться сообщением


Ссылка на сообщение
В 24.05.2020 в 17:19, Tamtek сказал:

Проблемы начинаются в том, что при разных стартовых углах C получаются разные углы B при одинаковом перемещении каретки.

002.thumb.JPG.42b8c013a3fd1a945f799ba5ac5a9acd.JPG

Чтобы Вам чем-то помочь, понятнее изложите условия задачи, а именно:  на этом чертеже обозначьте все точки какими-то буквами (заглавными), а в текстовой части условия обозначьте упоминаемые отрезки двумя буквами каждый, а упоминаемые углы обозначьте тремя буквами (средняя из которых обозначает вершину угла). Начало координат обозначьте буквой "О". Так как на чертеже есть только углы и отрезки прямых, то сообщите, какие именно отрезки и углы нужно вычислить.

Поделиться сообщением


Ссылка на сообщение
7 минут назад, arcady сказал:

Чтобы Вам чем-то помочь, понятнее изложите условия задачи, а именно:  на этом чертеже обозначьте все точки какими-то буквами (заглавными)....

Вам первого рисунка недостаточно?

Поделиться сообщением


Ссылка на сообщение

Увы! Именно так. Особенно непонятно, где какие углы.

Поделиться сообщением


Ссылка на сообщение

Только по углам не получится же определить - тогда непонятен масштаб системы, и посчитать размеры звеньев невозможно. Какая нибудь привязка нужна же.

Цитата

Каретка опускается на определённое количество шагов.

А почему просто нельзя через шаги, раз уж их определенное количество, и шаг винта считать линейное перемещение? 

Поделиться сообщением


Ссылка на сообщение
11 минут назад, galactoz сказал:

А почему просто нельзя через шаги, раз уж их определенное количество, и шаг винта считать линейное перемещение? 

А зачем мне линейное перемещение?

Вы задачу читали?

Мне нужно перемещение на угол.

А при перемещении на например 1000 шагов с угла например 30° перемещение будет на один угол.

С угла 25° перемещение будет на те же 1000 шагов и мм те же, но угол перемещения уже будет другой.

Поделиться сообщением


Ссылка на сообщение
1 минуту назад, Tamtek сказал:

Мне нужно перемещение на угол.

 

Цитата

Задача: в рабочем режиме нужно высчитать сторону b при перемещении например на 10° по стартовому углу C. 

"сторона b" - это  угловая величина? Тогда ничего не понимаю... 

Поделиться сообщением


Ссылка на сообщение
Дата: (изменено)
25 минут назад, galactoz сказал:

Какая нибудь привязка нужна же.

Чтож, поясню ещё раз.

При калибровке:

Стартовый угол С измеряется, известен.

Финишный угол С' измеряется, известен.

Длина перемещения известна, пусть те же 1000 шагов или 1000/200шагов на оборот * 4мм шаг = 20мм

Как на основе нескольких замеров с разных стартовых углов высчитать коэффициент изменения угла.

8 минут назад, galactoz сказал:
11 минут назад, Tamtek сказал:

Мне нужно перемещение на угол.

 

Цитата

Задача: в рабочем режиме нужно высчитать сторону b при перемещении например на 10° по стартовому углу C. 

"сторона b" - это  угловая величина? Тогда ничего не понимаю... 

Вы серьёзно?

Стартовый угол например 30°, премещение на 10°, высчитать длину стороны b, так понятнее?

Изменено пользователем Tamtek

Поделиться сообщением


Ссылка на сообщение
7 минут назад, Tamtek сказал:

Стартовый угол например 30°, премещение на 10°, высчитать длину стороны b, так понятнее?

На основе только двух углов это невозможно. Нет масштаба. Что то еще должно участвовать - Y, или с'

Поделиться сообщением


Ссылка на сообщение
Дата: (изменено)
24 минуты назад, galactoz сказал:

На основе только двух углов это невозможно. Нет масштаба. Что то еще должно участвовать - Y, или с'

Вы наконец то прочитаете тему с самого начала?

Внимательно.

В 25.05.2020 в 00:19, Tamtek сказал:

Если использовать длину стороны c', в данном случае это 320мм, то всё просто:

Если без использования стороны с' произвести несколько замеров, с разными стартовыми углами С, то полученные точки прекрасно вписываются в формулу кубической регрессии, с погрешностью 0.02%

С, на графике X; С', на графике Y, точки получены на модели в Солиде

40.0;12.23
39.0;12.56
38.0;12.88
37.0;13.20
36.0;13.51
35.0;13.81
34.0;14.10
33.0;14.38
32.0;14.65
31.0;14.91
30.0;15.17
29.0;15.41
28.0;15.64
27.0;15.85
26.0;16.06
25.0;16.26
24.0;16.44
23.0;16.61
22.0;16.77
21.0;16.92
20.0;17.05

320.thumb.jpg.21816bf42238cd8d6316d33cde018a9a.jpg

А вот формулы этой кубической регрессии я и не понимаю ((

Изменено пользователем Tamtek

Поделиться сообщением


Ссылка на сообщение

Tamtek, судя по формулировке задачи, b=320(arctg(B*+B)-arctgB*). 

Поделиться сообщением


Ссылка на сообщение
Дата: (изменено)
7 минут назад, МИТАЛНИК сказал:

320

Опять 25 (((

Да блин, вы читаете вообще или нет?

НЕТ проблем, всё я понимаю и спокойно высчитываю если вводить в расчеты сторону с'

 

В процессе работы эта сторона меняется и мне хочется избежать каждый раз замерять ее рулеткой и вручную забивать в окно настроек.

А так изменилась сторона с'- снова нажал кнопку калибровки, каретка поелозила вверх/вниз несколько раз и готов новый коэффициент.

Изменено пользователем Tamtek

Поделиться сообщением


Ссылка на сообщение
4 минуты назад, Tamtek сказал:

Да блин, вы читаете вообще или нет?

А можно без психов? Перечитал 20 раз.

 

В 25.05.2020 в 00:19, Tamtek сказал:

нужно высчитать сторону b при перемещении например на 10° по стартовому углу C

Стартовый, финишный... Я написал связь перемещения и угла, что увидел в вопросе и как его понял. Или нужно задавать вопросы по геометрии, чтоб было понятно без кареток и калибровок.

Поделиться сообщением


Ссылка на сообщение
2 минуты назад, Tamtek сказал:

В процессе работы эта сторона меняется и мне хочется избежать каждый раз замерять ее рулеткой и вручную забивать в окно настроек.

Ну так сами же пишите, про b: 

Цитата

Длина перемещения известна, пусть те же 1000 шагов или 1000/200шагов на оборот * 4мм шаг = 20мм

Почему на основе этих данных не вычислять длины c и с' при каждом изменении, что бы рулеткой не мерить?

И далее просто использовать в расчетах " при перемещении например на 10° по стартовому углу C."  

Поделиться сообщением


Ссылка на сообщение
2 минуты назад, galactoz сказал:

Почему на основе этих данных не вычислять длины c и с' при каждом изменении, что бы рулеткой не мерить?

И далее просто использовать в расчетах " при перемещении например на 10° по стартовому углу C."  

Гдеж вы раньше были?

Спасибо, ушёл думать )

Поделиться сообщением


Ссылка на сообщение
4 минуты назад, Tamtek сказал:
8 минут назад, galactoz сказал:

Почему на основе этих данных не вычислять длины c и с' при каждом изменении, что бы рулеткой не мерить?

И далее просто использовать в расчетах " при перемещении например на 10° по стартовому углу C."  

Гдеж вы раньше были?

Спасибо, ушёл думать )

Что тут думать. Теорема косинусов. 

с=b(известное, 20мм)*(sinC/sin(180° - A - C))

 

Поделиться сообщением


Ссылка на сообщение
Дата: (изменено)
50 минут назад, galactoz сказал:

с=b(известное, 20мм)*(sinC/sin(180° - A - C))

Не выходит что-то (

b=100мм

С=40°

B=12,23° -> A=127,77°

с=100 * (0.64 / 0.79) = 81 :shok:

320_40_1.thumb.jpg.66f9666ec3df38767ec882db45e03354.jpg

Изменено пользователем Tamtek

Поделиться сообщением


Ссылка на сообщение
48 минут назад, Tamtek сказал:

С=40°

 

Вот тут уже ошибка... Судя по чертежу, С=50°(ведь 180-(90+40)) и тогда A=117,77° .

с=100 * (sin50/ sin180-117.77-50) = 100*(sin50/sin12.23)=100*(0.766/0.212)=100*3,616=361,6мм.

Поделиться сообщением


Ссылка на сообщение
6 минут назад, galactoz сказал:

Вот тут уже ошибка... Судя по чертежу, С=50°(ведь 180-(90+40)) и тогда A=117,77° .

А вот слона то я и не заметил :dash1:

Поделиться сообщением


Ссылка на сообщение
1 минуту назад, Tamtek сказал:

А вот слона то я и не заметил :dash1:

Ну вот, дальше всё просто))) с'=с*cos(B'), Y=c*sin(B') 

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу


×
×
  • Создать...

Важная информация

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