Продолжаю познавать различные киниматики. Вот вспомнил о такой вот, параллельной SCARA.
В принципе, как рассчитываются координаты в пересчете на углы, вроде все понятно. Подскажите поддерживают ли стандартные прошивки 3д принтеров типа Марлин, Реп -рап... данную кинематику. Хочу простейший прототип построить на МегаРампсе. Вроде, как просто SCARA поддерживают, а вот именно в такой кинематике... вопрос. Или пойти опять программным путем простого пересчета каждой координаты?
прототип параллельной SCARA
- artclonic
- Мастер
- Сообщения: 565
- Зарегистрирован: 07 июн 2014, 12:40
- Репутация: 36
- Контактная информация:
Re: прототип параллельной SCARA
Добрый день, углубился в кинематику...
В положительной зоне Y вроде все понятно...
А вот если точка (X.Y) будет ниже плечей L2? углы на которые поворачиваются ШД1 и ШД 2 будут одинаковые, у точка (X.Y) может быть в двух местах...
Как учесть (расчетно) этот момент? Или когда Y будет в минусовой зоне, как заставить всю конструкцию переориентироваться "вниз" (расчетно)?
В положительной зоне Y вроде все понятно...
А вот если точка (X.Y) будет ниже плечей L2? углы на которые поворачиваются ШД1 и ШД 2 будут одинаковые, у точка (X.Y) может быть в двух местах...
Как учесть (расчетно) этот момент? Или когда Y будет в минусовой зоне, как заставить всю конструкцию переориентироваться "вниз" (расчетно)?
Наверстываем... в электронике...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: прототип параллельной SCARA
А как механически перемещаться из положительной зоны в отрицательную и наоборот?
Например как изобразить вот такую траекторию:
X0 Y0
X100 Y0
X100 Y100
X0 Y100
X0 Y0
Например как изобразить вот такую траекторию:
X0 Y0
X100 Y0
X100 Y100
X0 Y100
X0 Y0
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- artclonic
- Мастер
- Сообщения: 565
- Зарегистрирован: 07 июн 2014, 12:40
- Репутация: 36
- Контактная информация:
Re: прототип параллельной SCARA
Вот я и спрашиваю.... Надо как то точку ниже плеч опустить... наверное
Наверстываем... в электронике...
- artclonic
- Мастер
- Сообщения: 565
- Зарегистрирован: 07 июн 2014, 12:40
- Репутация: 36
- Контактная информация:
Re: прототип параллельной SCARA
Длительное время разбирался с различными кинематиками... Понял, что освоить сложные пока не под силу, поэтому принял решение сделать манипулятор с двумя плечами на ардуино. Есть два пути (прошу подсказки по которому лучше пойти)
Управление каждым плечем ШД мотором
недостатки
Дискретность перемешения - шаг в 1,8 град на 300 мм плеча даст примерно - 9 мм, а мне надо два плеча по 350 мм где-то. (допустим передаточное отношение сделать 1 к 5 и микрошаг выставить 1/16), но что то подсказывает, что все равно в сумме на двух плечах 350 мм будет весомым.
Приемущества - ВСЕ ПО В НАЛИЧИЕ!!!
Управление двумя сервоприводами (даже модель сконструировал уже..)
вижу следующие недостатки - НЕ могу дискретность сервы выставить мене 1 градуса. (наверное можно както изменив саму библиотеку Servo.)Ощущаю некоторы люфт при вращении плеча, на шестерне вроде не заметно, а на окончании плеча, мм 6-8.
Соответсвенно самому придется писать скетч.. (но щаз даже градусы не могу дробными сделать)
Плюсы - простота конструкции - ВСЕ ОЧЕНЬ ПРОСТО!!
Управление каждым плечем ШД мотором
недостатки
Дискретность перемешения - шаг в 1,8 град на 300 мм плеча даст примерно - 9 мм, а мне надо два плеча по 350 мм где-то. (допустим передаточное отношение сделать 1 к 5 и микрошаг выставить 1/16), но что то подсказывает, что все равно в сумме на двух плечах 350 мм будет весомым.
Приемущества - ВСЕ ПО В НАЛИЧИЕ!!!
Управление двумя сервоприводами (даже модель сконструировал уже..)
вижу следующие недостатки - НЕ могу дискретность сервы выставить мене 1 градуса. (наверное можно както изменив саму библиотеку Servo.)Ощущаю некоторы люфт при вращении плеча, на шестерне вроде не заметно, а на окончании плеча, мм 6-8.
Соответсвенно самому придется писать скетч.. (но щаз даже градусы не могу дробными сделать)
Плюсы - простота конструкции - ВСЕ ОЧЕНЬ ПРОСТО!!
Наверстываем... в электронике...
-
- Кандидат
- Сообщения: 47
- Зарегистрирован: 30 янв 2014, 02:17
- Репутация: 11
- Настоящее имя: Антон
- Откуда: Москва
- Контактная информация:
Re: прототип параллельной SCARA
Это потому, что стандартная функция write() библиотеки Servo имеет такой вид:вижу следующие недостатки - НЕ могу дискретность сервы выставить мене 1 градуса. (наверное можно както изменив саму библиотеку Servo.)
Код: Выделить всё
void Servo::write(int value)
{
if(value < MIN_PULSE_WIDTH)
{ // treat values less than 544 as angles in degrees (valid values in microseconds are handled as microseconds)
if(value < 0) value = 0;
if(value > 180) value = 180;
value = map(value, 0, 180, SERVO_MIN(), SERVO_MAX());
}
this->writeMicroseconds(value);
}
Если хотите это исправить, можете прямо в ваш скетч поместить обновленную функцию write2():
Код: Выделить всё
#include <Servo.h>
Servo myservo;
#define MIN_PULSE_WIDTH 544 // the shortest pulse sent to a servo
#define MAX_PULSE_WIDTH 2400 // the longest pulse sent to a servo
void write2(float value)
{
if(value < 0) value = 0.0f;
if(value > 180) value = 180.0f;
myservo.writeMicroseconds(value * (MAX_PULSE_WIDTH - MIN_PULSE_WIDTH) / 180.0f + MIN_PULSE_WIDTH);
}
void setup()
{
myservo.attach(9);
write2(2.5f);
}
void loop() {}
Код: Выделить всё
write2(2.5f);
Или же можно напрямую использовать функцию writeMicroseconds(), но это менее удобно.