Прибавить к предидущему углу новый и повернуть ранее рассчитанный радиусsidor094 писал(а):Да следующая позиция будет рассчитываться легко.
Мини токарный станок с ЧПУ
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Мини токарный станок с ЧПУ
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Извините.Был не прав.Ваша формула работает.Проверил.Спасибо.Я вычислял синус по таблице ,с последующей интерполяцией для увеличения точности.Ваша формула работает быстрее.
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Здравствуйте.sidor094 писал(а):Извините.Был не прав.Ваша формула работает.Проверил.Спасибо.Я вычислял синус по таблице ,с последующей интерполяцией для увеличения точности.Ваша формула работает быстрее.
Формула взята из интернета(не помню откуда ) просто я переделал ее под себя.
Спасибо что проверили.
Тут вот как раз думаю как мне вводить в свой станок параметры круговой проточки,
в связи с тем, что ввод происходит на месте решил вводить радиус и две точки на окружности.
Будет подразумеваться, что отрезок между точками перпендикулярен лучу проходящему из центра через середину отрезка.
Может другое что-то подскажете буду признателен.
Спасибо.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Мини токарный станок с ЧПУ
наверно таки радиус + координаты одной точки. Координаты исходной точки зачем вбивать то)))АндрейА писал(а):вводить радиус и две точки на окружности.
нікому нічого не нав'язую.
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
А как узнать тогда как располагается окружность проходящая через точку, в системе координат ?aegis писал(а):наверно таки радиус + координаты одной точки. Координаты исходной точки зачем вбивать то)))АндрейА писал(а):вводить радиус и две точки на окружности.
Имеется ввиду где будет центр ?
Последний раз редактировалось АндрейА 07 дек 2017, 16:31, всего редактировалось 1 раз.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Мини токарный станок с ЧПУ
АндрейА, направлением обхода. по или против часовой
нікому нічого не нав'язую.
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Тогда надо вводить координаты центра, а в моем случае это сложно.aegis писал(а):АндрейА, направлением обхода. по или против часовой
Да и проточку нужно обозначить начало-конец.
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Андрей,а чего тут думать.Делайте сразу как в жкодах координаты конечной точки(подразумевается что начальную мы знаем и в ней находимся),координаты центра относительно начальной точки или вместо координат центра - радиус.Ну и направление обхода.Находите угол начальной точки ,угол конечной,делите на заданный угол,получаете число углов.ну а затем шагаете по формуле.
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Направление обхода задаю когда ввожу начало и конец обработки, просто надо будет устанавливать положение центра по перпендикуляру к хорде,sidor094 писал(а):Андрей,а чего тут думать.Делайте сразу как в жкодах координаты конечной точки(подразумевается что начальную мы знаем и в ней находимся),координаты центра относительно начальной точки или вместо координат центра - радиус.Ну и направление обхода.Находите угол начальной точки ,угол конечной,делите на заданный угол,получаете число углов.ну а затем шагаете по формуле.
в принципе это то-же что и вы имели в виду, но с другого подхода.
Координаты центра надо считать, вроде нашел как, здесь решили эту задачу:
http://mathhelpplanet.com/viewtopic.php ... c&start=10
Теперь все собираю в рабочую функцию, как соберу выложу.
Спасибо.
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Как это.При задании дуги с помощью центра дуга через две точки может быть как по большому так и по малому кругу.А при задании с помощью радиуса дуга всегда должна быть меньше 180градусов ,но и в этом случае центр может находиться как справа,так и слева от дуги(в зависимости от направления обхода.Так ,что направление обхода задавать обязательно.АндрейА писал(а):Направление обхода задаю когда ввожу начало и конец обработки,
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Андрей,почитайте про gcode g2 и g3.Там все описано.
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Вы правы,sidor094 писал(а):Как это.При задании дуги с помощью центра дуга через две точки может быть как по большому так и по малому кругу.А при задании с помощью радиуса дуга всегда должна быть меньше 180градусов ,но и в этом случае центр может находиться как справа,так и слева от дуги(в зависимости от направления обхода.Так ,что направление обхода задавать обязательно.АндрейА писал(а):Направление обхода задаю когда ввожу начало и конец обработки,
просто в моем случае(вращающаяся деталь)дуга 180 гр это шар,поэтому подразумевается < 180,
кроме того центр вращения не обязательно центр шара, например ролик для трубогиба.
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Смотрел, искал, но реализации формулы для микроконтроллера не нашел.sidor094 писал(а):Андрей,почитайте про gcode g2 и g3.Там все описано.
-
sas_75
- Мастер
- Сообщения: 463
- Зарегистрирован: 10 мар 2015, 11:03
- Репутация: 115
- Настоящее имя: Сергей
- Откуда: Владивосток
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Направление обхода от начальной к конечной точке (по часовой или против часовой стрелки) можно задать как +R и -R.
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Это не формула,а описание стандартных команд задания дуг для станка чпу через две точки и радиус или центр .АндрейА писал(а):Смотрел, искал, но реализации формулы для микроконтроллера не нашел.
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Все верно, но у меня нет пока поддержки g кодов.sidor094 писал(а):Это не формула,а описание стандартных команд задания дуг для станка чпу через две точки и радиус или центр .АндрейА писал(а):Смотрел, искал, но реализации формулы для микроконтроллера не нашел.
Я пишу программу под микроконтроллер.
Мне требуется программное решение задачи круговой интерполяции с учетом особенностей моей системы управления и ввода параметров.
Спасибо.
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Так в чем проблема?Формула правильная и достаточно простая.Что надо вычислить?
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Проблема была найти координаты центра окружности, но она уже решена(смотрите выше).sidor094 писал(а):Так в чем проблема?Формула правильная и достаточно простая.Что надо вычислить?
Теперь делаю алгоритм обработки, думаю как удалить холостые проходы при заглублении в деталь.
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Обычно предварительно делают продольные проточки(лесенку),приблизительно повторяющую контур обработки.И уже затем чистовой проход по контуру.Это рассчитывает либо CАМ программа,либо сам оператор.И только в серьезных системах чпу есть возможность задать продольную проточку до контура.АндрейА писал(а):Теперь делаю алгоритм обработки, думаю как удалить холостые проходы при заглублении в деталь.
-
АндрейА
- Кандидат
- Сообщения: 86
- Зарегистрирован: 10 апр 2016, 23:01
- Репутация: 11
- Настоящее имя: Андрей
- Контактная информация:
Re: Мини токарный станок с ЧПУ
Лесенка хорошо, но я думаю находить точки пересечения окружности с хордой, и делать обработку между этими точками,sidor094 писал(а):Обычно предварительно делают продольные проточки(лесенку),приблизительно повторяющую контур обработки.И уже затем чистовой проход по контуру.Это рассчитывает либо CАМ программа,либо сам оператор.И только в серьезных системах чпу есть возможность задать продольную проточку до контура.АндрейА писал(а):Теперь делаю алгоритм обработки, думаю как удалить холостые проходы при заглублении в деталь.
затем сдвигать центр окружности на установленный шаг глубины реза,снова находить точки пересечения, снова работать по ним,ну когда центр
будет на месте проходить последний проход с установленной глубиной последнего прохода(типа чистовой проход, у меня так в циклах резьбы и проточки
сделано).
Кстати во что получается с вычислением координат центра:
//находим координаты центра окружности
float posCx,posCy;
void calcCenterCircle(bool internal,float posX1,float posY1,float posX2,float posY2,float R)
{
float x,x1,x2,y,y1,y2,j;
j=sqrtf(square (x2-x1)+square(y2-y1));
if(internal)
{
posCx=(x1+x2)*2-(y2-y1)*sqrtf(square(R)/square(j)-0.25);
posCy=(y1+y2)*2+(x2-x1)*sqrtf(square(R)/square(j)-0.25);
}
else
{
posCx=(x1+x2)*2+(y2-y1)*sqrtf(square(R)/square(j)-0.25);
posCy=(y1+y2)*2-(x2-x1)*sqrtf(square(R)/square(j)-0.25);
}
}