я почитал код, по сути он обьеденяет в себе, как бы оптимизирует то что уже было реализовано, в более удобную форму.
но по сути точно так же дает серве задание двигаться на определенный угол и затем стоп. и если угол не достигнут то стопа, как ни крути, не будет, так ведь?
я почитал код, по сути он обьеденяет в себе, как бы оптимизирует то что уже было реализовано, в более удобную форму.
но по сути точно так же дает серве задание двигаться на определенный угол и затем стоп. и если угол не достигнут то стопа, как ни крути, не будет, так ведь?
Что то подсказывает, что без обратной связи это работать не будет. Не хотите токоизмеритель, так кнопку на лапу приколхозте, что захват произошел. Тады и детишки дальше не сожмут.
напряжение проще измерять. питать через резистор от отдельного стабилизатора. при нагрузке напряжение просядет и легко можно будет увидеть это на аналоговом входе. даже делители не понадобятся
напряжение проще измерять. питать через резистор от отдельного стабилизатора. при нагрузке напряжение просядет и легко можно будет увидеть это на аналоговом входе. даже делители не понадобятся
может датчик тока и просто поставить, но его у меня нет, делать раздельное питание и прочие танцы с бубном тоже очень геморно.
на то ведт он и ардуино что все можно запрограмировать, тем более что в моем случае проблема не в питании и не в серве, а именно в мозгах!
ведь человек взяв предмет в руки не продолжает его лихорадочно со всей силы сжимать, он расслабляет руку но при этом контролирует чтобы она не разжалась, чтоб пальцы оставались в прежнем положении.
этого же эффекта и я хочу добиться.
клешня сожмет предмет и расслабит хватку, при этом серва будет удерживать текущее положение и не даст разжать захват.
так что все что мне нужно это делать очень короткий шаг в обратную сторону, для расслабления....
шаговый может как и серва уперется. но если оба остановить, то шаговый можно просто на шаг или больше вернуть назад. и будем точно знать что деталь держим достаточно крепко
но он тоже самое хочет на серве, а ей нужно указывать угол, а не на сколько вернутся назад. в том и проблема
шаговый может как и серва уперется. но если оба остановить, то шаговый можно просто на шаг или больше вернуть назад. и будем точно знать что деталь держим достаточно крепко
но он тоже самое хочет на серве, а ей нужно указывать угол, а не на сколько вернутся назад. в том и проблема
Я сам до сервы пока не добрался, но как понимаю по управленю - циклично увеличиваю угол поворота, получаю сигнал о остановке, уменьшил угол на один шаг. Или не прав?
неа. вообще. просто постоянно генерируется сигнал на какой угол установить а серва пытается в него установить вал, даже если не может
обратной связи никакой нет. не дается сигнал повернуть влево или вправо на 5 градусов. а дается всегда один сигнал, стаять в таком угле и все. хочешь другой угол даешь его и все. серва устанавливается в него, и пытается сделать, но будет пытаться пока не получится или пока не сдохнет
вот такой шаговик например подошел был. он бы просто остановился когда уперся бы, он слабый но с редуктором, и должен сюда подойдет
неа. вообще. просто постоянно генерируется сигнал на какой угол установить а серва пытается в него установить вал, даже если не может
обратной связи никакой нет. не дается сигнал повернуть влево или вправо на 5 градусов. а дается всегда один сигнал, стаять в таком угле и все. хочешь другой угол даешь его и все. серва устанавливается в него, и пытается сделать, но будет пытаться пока не получится или пока не сдохнет
вот такой шаговик например подошел был. он бы просто остановился когда уперся бы, он слабый но с редуктором, и должен сюда подойдет
У меня следующий проект, как ЛУТ победю, управление игольчатым краном на ректификационной колонне, хотел под это серву приколхозить. Вот не знаю, подойдет или нет. Угол там где то 90град.
тогда обьясните мне почему кнопками все получаеться?
зажал кнопку сжимать, серва сжала предмет на половине хвата, пошла перегрузка, серва грееться, выдергиваю предмет из клешни и клешня схлопываеться до самого конца, до предела.
но если я перед выдергиванием предмета, один раз нажал кнопку раскрыть. то серва почти не ослабив хвата, расслабилась. я выдергиваю предмет а клешня никуда не двигаеться.
почему нельзя этот принцып реализовать? ведь нажатия кнопок переводяться в команды, почему нельзя сделать как я говорю? зачем для этого обратная свзязь?
ладно, попробую пойти другим путем, возможно ли после отпускания кнопки полностью отключать серву. чтоб она вообще не работала, не отслеживала положение, чтоб ее можно было руками двигать и она не соопротивлялась. так можно?
хотя возможно ты хотел сделать следующее: повернуть серву пок ане упрется, а потом вернуть назад, то есть объект сам остановит серву, а в перегрузе она типа будет недолго. это имелось в виду?
но ты же не знаешь насколько вернутся назад. это не шаговый двигатель который крутился уперся и вернул на шаг. серве ты должен сказать не на сколько вернутся назад, она такого не понимает, а какой угол занять))
просто 1 шаг назад, и все, ей не нужно знать на сколько куда возвращаться. просто последним что прийдет на серву это задание которое она может выполнить, тогда она его выполняет и не жрет ток, не горит.
а захват предмета, это сейчас для нее задание которое она выполнить не может.
она же незнает что делает, это для нас это манипулятор и захват обьекта, а серве сказали двигайся на 100градусов она и поехала, а попути попался предмет, и ехать она не может, стои и грееться, человек уже кнопку отпустил и забыл, а серва все еще пытаеться стать на 100градусов. но неможет, и горит....
а если она при отпускании кнопки получает команду шаг назад и стоп, то она выполняет задание и замерает.
так понятно?
1 - угол касания предмета = 47 , серву загнали в положение 50 , шаг назад = 49 - ток норм., захват норм.
2 - угол касания предмета = 47 , серву загнали в положение 90 , шаг назад = 89 - ток БОЛЬШ., захват норм.
....и чем тут поможет шаг назад ?
придётся детей инструктировать.... сжали до касания и ещё одно кратковременное нажатие....
но всегда найдётся ребёнок-исследователь :) "А если сильнее сжать ?"
ния предмета = 47 , серву загнали в положение 50 , шаг назад = 49 - ток норм., захват норм.
2 - угол касания предмета = 47 , серву загнали в положение 90 , шаг назад = 89 - ток БОЛЬШ., захват норм.
....и чем тут поможет шаг назад ?
придётся детей инструктировать.... сжали до касания и ещё одно кратковременное нажатие....
но всегда найдётся ребёнок-исследователь :) "А если сильнее сжать ?"
сколькоб я долго не жал на "кнопку сжимать" клешню, после краткого нажатия "кнопки разжать" серва слегка, почти невидно, подергиваеться и успокаиваеться.
нет никакого отпимания углов.
команды не так работают. суммирование идет при нажатии одной кнопки, при нажатии другой кнопки, предыдущее действие как бы отменяеться и серва уже не стремиться наверстать упущеное и достичь того заветного угла поворота, который насумировался за время долгого удерживания кноки.
серва про это забывает и с нового, чистого листа делает короткий шаг назад на 0,012, и поскольку там преград нет, она достигает новой цели и успокаиваеться.
вот так понятно?
поэтому ненужны датчики если завершающим будет команда сделать короткий шаг обратно... он не будет вычитаться из предыдущего значения, он его стирает и задает свое, новое, которое легко выполнимо...
хотя возможно ты хотел сделать следующее: повернуть серву пок ане упрется, а потом вернуть назад, то есть объект сам остановит серву, а в перегрузе она типа будет недолго. это имелось в виду?
но ты же не знаешь насколько вернутся назад. это не шаговый двигатель который крутился уперся и вернул на шаг. серве ты должен сказать не на сколько вернутся назад, она такого не понимает, а какой угол занять))
просто 1 шаг назад, и все, ей не нужно знать на сколько куда возвращаться. просто последним что прийдет на серву это задание которое она может выполнить, тогда она его выполняет и не жрет ток, не горит.
а захват предмета, это сейчас для нее задание которое она выполнить не может.
она же незнает что делает, это для нас это манипулятор и захват обьекта, а серве сказали двигайся на 100градусов она и поехала, а попути попался предмет, и ехать она не может, стои и грееться, человек уже кнопку отпустил и забыл, а серва все еще пытаеться стать на 100градусов. но неможет, и горит....
а если она при отпускании кнопки получает команду шаг назад и стоп, то она выполняет задание и замерает.
так понятно?
1 - угол касания предмета = 47 , серву загнали в положение 50 , шаг назад = 49 - ток норм., захват норм.
2 - угол касания предмета = 47 , серву загнали в положение 90 , шаг назад = 89 - ток БОЛЬШ., захват норм.
....и чем тут поможет шаг назад ?
придётся детей инструктировать.... сжали до касания и ещё одно кратковременное нажатие....
но всегда найдётся ребёнок-исследователь :) "А если сильнее сжать ?"
в моем случае, при шаге назад, предыдущее значение, вот те 90 градусов, и стремнелие застрявшей на 47 сервы их достичь, обнуляються, и серва просто без вычита из предыдущего значения делает шаг назад.
аналогия с человеком.
вам крикнули команду беги на 100метров, на 40м у вас развязались шнурки, вы останавились, пока шурки завязывали вам уже крикнули сделай шаг назад.
ваши действия? бежать оставшиеся 60м и потом делать шаг назад? или просто шагнете назад и остановитесь?
извините но почемуто серва у меня ведет себя умнее чем сегодня отписавшиеся программисты )))
в моем случае, при шаге назад, предыдущее значение, вот те 90 градусов, и стремнелие застрявшей на 47 сервы их достичь, обнуляються, и серва просто без вычита из предыдущего значения делает шаг назад.
аналогия с человеком.
вам крикнули команду беги на 100метров, на 40м у вас развязались шнурки, вы останавились, пока шурки завязывали вам уже крикнули сделай шаг назад.
ваши действия? бежать оставшиеся 60м и потом делать шаг назад? или просто шагнете назад и остановитесь?
извините но почемуто серва у меня ведет себя умнее чем сегодня отписавшиеся программисты )))
так ардуина же не сама управляет манипулятором, им управляет человек! и человек решает когда жать а когда отпускать кнопки.
ардуине не нужно ничего знать кроме как команду выдавать при нажатии кнопки.
ну реально я ведь не жму на кнопку до того момента пока серва не достигнит тютелька в тютельку угла, где предмет...
я жму до упора, отпускаю кнопку, потом жму кратковременно назад и все в шоколаде.
непонимаю почему нельзя при отпускании кнопки вперед, как бы нажать кнопку назад и быстро отпустить? почему именно должен делать это лишнее тело движение, нахрена тогда микроконтролер если он не может выполнить эжлементарное!
короче как я понял ардуина-дубина на элементарные задачи неспособна и нужно тупо дедовским методом ставить кнопку размыкатель, ну так я чувствую дойду скоро до того чтобы выкинуть плату в топку, и поставить паравой движок с каким нибудь пневмо шарнирным управлением, нахрена электроника, если от нее проку нет )))
".... ов, на 40м у вас развязались шнурки, вы останавились, пока шурки зав ...."
и каким образом серва узнает - где я остановился шнурки подвязать ?
а можно подумать вы знаете где остановились? на асфальне ненаписано, у вас нет обратной связи, вот засада, что делать? )) достать из кармана лазерный дальномер? сбегать домой за рулеткой, может жипс по спутнику?
а зачем вам знать место положение? зачем ей знать, ей просто сказали сделай шаг назад!
все же просто. сделай шаг назад из текщего положения.
кстати, это ардуина незнает где серва, а серва очень хорошо знает где она сейчас находиться!
короче как я понял ардуина-дубина на элементарные задачи неспособна и нужно тупо дедовским методом ставить кнопку размыкатель, ну так я чувствую дойду скоро до того чтобы выкинуть плату в топку, и поставить паравой движок с каким нибудь пневмо шарнирным управлением, нахрена электроника, если от нее проку нет )))
правильно поняли... вам ардуина НЕ НУЖНА ! ....с ней тока гемор :)
//Функция управления сервоприводами (вызывается в теле loop на каждой итерации)
//Выполняет изменения положения серв на подобранный шаг согласно установленным флагам движения
//Флаги устанавливаются согласно поступившим символам управления сервами
void performServo()
{
//Установлен флаг движения вверх и текущий угол не максимальный
if (moveServoVUp && curVAngle + V_STEP <= V_U_ANGLE)
{
//К текущему верт. углу прибавляем шаг
curVAngle += V_STEP;
}
//Установлен флаг движения вниз и текущий угол не минимален
else if (moveServoVDown && curVAngle - V_STEP >= V_D_ANGLE)
{
//От текущего верт. угла отнимаем шаг
curVAngle -= V_STEP;
}
//Установлен флаг движения влево и текущий угол не максимален
if (moveServoHLeft && curHAngle + H_STEP <= H_L_ANGLE)
{
//К текущему гор. углу прибавляем гор. шаг
curHAngle += H_STEP;
}
//Установлен флаг движения вправо и текущий угол не минимален
else if (moveServoHRight && curHAngle - H_STEP >= H_R_ANGLE)
{
//От текущего угла отнимаем гор. шаг
curHAngle -= H_STEP;
}
//Если было движние по вертикали
if (moveServoVUp || moveServoVDown)
{
myservoV.write(curVAngle);
}
//Если было движение по горизонтали
if (moveServoHLeft || moveServoHRight)
{
myservoH.write(curHAngle);
}
}
а вот сами шаги
//Размер шага V_STEP и H_STEP побираем экспериментально для достижения нужной скорости поворота серв
const float V_STEP = 0.012; // Шаг - знаение отвечающее за скорость вращения по вертикали.
const float H_STEP = 0.012; // Шаг - знаение отвечающее за скорость вращения по горизонтали
float curVAngle = V_DEF_ANGLE; //Переменная текущего угла верт. сервы
float curHAngle = H_DEF_ANGLE; //Переменная текущего угла гор. сервы
bool moveServoVUp = false; //Флаг движения верт. сервы вверх
bool moveServoVDown = false; //Флаг движения верт. сервы вниз
bool moveServoHLeft = false; //Флаг движения гор. сервы влево
bool moveServoHRight = false; //Флаг движения гор. сервы вправо
а вот кнопки
//--------— Повороты серв при нажатии кнопок —-------------
if(btca2aLite.Button(KEYCODE_BUTTON_X)) // servoV вниз
{
moveServoVDown = true;
}
if(btca2aLite.Button(KEYCODE_BUTTON_A)) // servoH движется к 0
{
moveServoHRight = true;
}
if(btca2aLite.Button(KEYCODE_BUTTON_B)) // servoV вверх
{
moveServoVUp = true;
}
if(btca2aLite.Button(KEYCODE_BUTTON_Y)) // servoH движется к 180
{
moveServoHLeft = true;
}
//--------— чтобы сервы не продолжали движения при отжатых кнопках —-------------
if(btca2aLite.ButtonReleased(KEYCODE_BUTTON_X))
{
moveServoVDown = false;
}
if(btca2aLite.ButtonReleased(KEYCODE_BUTTON_B))
{
moveServoVUp = false;
}
if(btca2aLite.ButtonReleased(KEYCODE_BUTTON_A))
{
moveServoHRight = false;
}
if(btca2aLite.ButtonReleased(KEYCODE_BUTTON_Y))
{
moveServoHLeft = false;
}
кстати, это ардуина незнает где серва, а серва очень хорошо знает где она сейчас находиться!
чуть не так !
ардуина знает ГДЕ ДОЛЖНА находиться серва ! но - не знает где она щас !
а серва знает КУДА ей бежать ! но и она не знает ГДЕ щас находится !
тоесть резистор внутри сервы это не датчик положения, серва знает куда бежать но незнает где она сейчас? очень интересно а как она выберен направление?
зачем ей тогда внутри микро процессор? подавалиб сразу на мотор питание ))
кстати, это ардуина незнает где серва, а серва очень хорошо знает где она сейчас находиться!
чуть не так !
ардуина знает ГДЕ ДОЛЖНА находиться серва ! но - не знает где она щас !
а серва знает КУДА ей бежать ! но и она не знает ГДЕ щас находится !
тоесть резистор внутри сервы это не датчик положения, серва знает куда бежать но незнает где она сейчас? очень интересно а как она выберен направление?
зачем ей тогда внутри микро процессор? подавалиб сразу на мотор питание ))
нету у неё МК :( движок, редуктор, резистор, компаратор.... ВСЁ !
я почитал код, по сути он обьеденяет в себе, как бы оптимизирует то что уже было реализовано, в более удобную форму.
но по сути точно так же дает серве задание двигаться на определенный угол и затем стоп. и если угол не достигнут то стопа, как ни крути, не будет, так ведь?
я почитал код, по сути он обьеденяет в себе, как бы оптимизирует то что уже было реализовано, в более удобную форму.
но по сути точно так же дает серве задание двигаться на определенный угол и затем стоп. и если угол не достигнут то стопа, как ни крути, не будет, так ведь?
Что то подсказывает, что без обратной связи это работать не будет. Не хотите токоизмеритель, так кнопку на лапу приколхозте, что захват произошел. Тады и детишки дальше не сожмут.
напряжение проще измерять. питать через резистор от отдельного стабилизатора. при нагрузке напряжение просядет и легко можно будет увидеть это на аналоговом входе. даже делители не понадобятся
напряжение проще измерять. питать через резистор от отдельного стабилизатора. при нагрузке напряжение просядет и легко можно будет увидеть это на аналоговом входе. даже делители не понадобятся
Резюмирую, серве нужны тактильные ощущения)))
так это и будет оно самое. чем больше просадка тем больше сжал
можно и кнопкой. тогда несколько кнопок. как минимум 2
так это и будет оно самое. чем больше просадка тем больше сжал
можно и кнопкой. тогда несколько кнопок. как минимум 2
Я также пытаюсь довести до ТС, что нужна обратная связь, любым способом который нравится. Все остальное путь в никуда.
это бесполезно. он давно дал это знать))
может датчик тока и просто поставить, но его у меня нет, делать раздельное питание и прочие танцы с бубном тоже очень геморно.
на то ведт он и ардуино что все можно запрограмировать, тем более что в моем случае проблема не в питании и не в серве, а именно в мозгах!
ведь человек взяв предмет в руки не продолжает его лихорадочно со всей силы сжимать, он расслабляет руку но при этом контролирует чтобы она не разжалась, чтоб пальцы оставались в прежнем положении.
этого же эффекта и я хочу добиться.
клешня сожмет предмет и расслабит хватку, при этом серва будет удерживать текущее положение и не даст разжать захват.
так что все что мне нужно это делать очень короткий шаг в обратную сторону, для расслабления....
Ну иногда бывает и достучишся.
так он думает что можно как шаговому двигателю сказать один шаг назад когда упрется в деталь и все будет хорошо
так он думает что можно как шаговому двигателю сказать один шаг назад когда упрется в деталь и все будет хорошо
Ну так и шаговому нужно знать, что он уже уперся.
шаговый может как и серва уперется. но если оба остановить, то шаговый можно просто на шаг или больше вернуть назад. и будем точно знать что деталь держим достаточно крепко
но он тоже самое хочет на серве, а ей нужно указывать угол, а не на сколько вернутся назад. в том и проблема
шаговый может как и серва уперется. но если оба остановить, то шаговый можно просто на шаг или больше вернуть назад. и будем точно знать что деталь держим достаточно крепко
но он тоже самое хочет на серве, а ей нужно указывать угол, а не на сколько вернутся назад. в том и проблема
Я сам до сервы пока не добрался, но как понимаю по управленю - циклично увеличиваю угол поворота, получаю сигнал о остановке, уменьшил угол на один шаг. Или не прав?
неа. вообще. просто постоянно генерируется сигнал на какой угол установить а серва пытается в него установить вал, даже если не может
обратной связи никакой нет. не дается сигнал повернуть влево или вправо на 5 градусов. а дается всегда один сигнал, стаять в таком угле и все. хочешь другой угол даешь его и все. серва устанавливается в него, и пытается сделать, но будет пытаться пока не получится или пока не сдохнет
вот такой шаговик например подошел был. он бы просто остановился когда уперся бы, он слабый но с редуктором, и должен сюда подойдет
http://freeduino.ru/arduino/images/Stepper_ST28_small.jpg
неа. вообще. просто постоянно генерируется сигнал на какой угол установить а серва пытается в него установить вал, даже если не может
обратной связи никакой нет. не дается сигнал повернуть влево или вправо на 5 градусов. а дается всегда один сигнал, стаять в таком угле и все. хочешь другой угол даешь его и все. серва устанавливается в него, и пытается сделать, но будет пытаться пока не получится или пока не сдохнет
вот такой шаговик например подошел был. он бы просто остановился когда уперся бы, он слабый но с редуктором, и должен сюда подойдет
http://freeduino.ru/arduino/images/Stepper_ST28_small.jpg
У меня следующий проект, как ЛУТ победю, управление игольчатым краном на ректификационной колонне, хотел под это серву приколхозить. Вот не знаю, подойдет или нет. Угол там где то 90град.
ох развели демагогию.
тогда обьясните мне почему кнопками все получаеться?
зажал кнопку сжимать, серва сжала предмет на половине хвата, пошла перегрузка, серва грееться, выдергиваю предмет из клешни и клешня схлопываеться до самого конца, до предела.
но если я перед выдергиванием предмета, один раз нажал кнопку раскрыть. то серва почти не ослабив хвата, расслабилась. я выдергиваю предмет а клешня никуда не двигаеться.
почему нельзя этот принцып реализовать? ведь нажатия кнопок переводяться в команды, почему нельзя сделать как я говорю? зачем для этого обратная свзязь?
ладно, попробую пойти другим путем, возможно ли после отпускания кнопки полностью отключать серву. чтоб она вообще не работала, не отслеживала положение, чтоб ее можно было руками двигать и она не соопротивлялась. так можно?
да можно. но это странное только решение. тут же ведь добавляется транзистор или рэле чтобы отключать серву. ты сам себе проитворечишь
без добавлений, просто програмно можно?
что вообще ардуина может делать с сервами напрямую? без дополнительного...
только управлять положением. все. больше ничего программно не сделать
как применить функцию
myservo.detach(); ?
в мой код как ее всунуть?
по моему плохая идея. без сигнала серва может остаться в том же положении, а может перескочить в рандомное и больше не двигаться. поэкспериментируй
контроль усилия захвата - или по току потребления сервой , или тензодатчик на клешню....
без обратной связи - никак ! попробуйте прикусить язык... без ООС ( боль ) - вы останетесь без кочика языка :)
"... Не хотите токоизмеритель, так кнопку на лапу приколхозте, что захват произошел. ..."
а под кнопку - пружинку ! ей можно будет регулировать усилие захвата....
вот только 40 гр она захватит , а 120 гр - уронит , пока пружинку не поменяете...
хотя возможно ты хотел сделать следующее: повернуть серву пок ане упрется, а потом вернуть назад, то есть объект сам остановит серву, а в перегрузе она типа будет недолго. это имелось в виду?
но ты же не знаешь насколько вернутся назад. это не шаговый двигатель который крутился уперся и вернул на шаг. серве ты должен сказать не на сколько вернутся назад, она такого не понимает, а какой угол занять))
просто 1 шаг назад, и все, ей не нужно знать на сколько куда возвращаться. просто последним что прийдет на серву это задание которое она может выполнить, тогда она его выполняет и не жрет ток, не горит.
а захват предмета, это сейчас для нее задание которое она выполнить не может.
она же незнает что делает, это для нас это манипулятор и захват обьекта, а серве сказали двигайся на 100градусов она и поехала, а попути попался предмет, и ехать она не может, стои и грееться, человек уже кнопку отпустил и забыл, а серва все еще пытаеться стать на 100градусов. но неможет, и горит....
а если она при отпускании кнопки получает команду шаг назад и стоп, то она выполняет задание и замерает.
так понятно?
1 - угол касания предмета = 47 , серву загнали в положение 50 , шаг назад = 49 - ток норм., захват норм.
2 - угол касания предмета = 47 , серву загнали в положение 90 , шаг назад = 89 - ток БОЛЬШ., захват норм.
....и чем тут поможет шаг назад ?
придётся детей инструктировать.... сжали до касания и ещё одно кратковременное нажатие....
но всегда найдётся ребёнок-исследователь :) "А если сильнее сжать ?"
ния предмета = 47 , серву загнали в положение 50 , шаг назад = 49 - ток норм., захват норм.
2 - угол касания предмета = 47 , серву загнали в положение 90 , шаг назад = 89 - ток БОЛЬШ., захват норм.
....и чем тут поможет шаг назад ?
придётся детей инструктировать.... сжали до касания и ещё одно кратковременное нажатие....
но всегда найдётся ребёнок-исследователь :) "А если сильнее сжать ?"
сколькоб я долго не жал на "кнопку сжимать" клешню, после краткого нажатия "кнопки разжать" серва слегка, почти невидно, подергиваеться и успокаиваеться.
нет никакого отпимания углов.
команды не так работают. суммирование идет при нажатии одной кнопки, при нажатии другой кнопки, предыдущее действие как бы отменяеться и серва уже не стремиться наверстать упущеное и достичь того заветного угла поворота, который насумировался за время долгого удерживания кноки.
серва про это забывает и с нового, чистого листа делает короткий шаг назад на 0,012, и поскольку там преград нет, она достигает новой цели и успокаиваеться.
вот так понятно?
поэтому ненужны датчики если завершающим будет команда сделать короткий шаг обратно... он не будет вычитаться из предыдущего значения, он его стирает и задает свое, новое, которое легко выполнимо...
серва про это забывает и с нового, чистого листа делает короткий шаг назад на 0,012
НЕТУ у серв памяти ! не может она запоминать, тем более - забыть !
вам уже много написали.... Дерзайте... Потом нам расскажите....
почему тогда так происходит?
значит не серва а мозги забывают, неважно вобщем то, главное результат.
в ручную нажатием кнопок, работает же... почему програмно нельзя сделать?
вручную - элемент обратной связи ваша голова.... :)
программно - минус голова, поэтому и низя :(
хотя возможно ты хотел сделать следующее: повернуть серву пок ане упрется, а потом вернуть назад, то есть объект сам остановит серву, а в перегрузе она типа будет недолго. это имелось в виду?
но ты же не знаешь насколько вернутся назад. это не шаговый двигатель который крутился уперся и вернул на шаг. серве ты должен сказать не на сколько вернутся назад, она такого не понимает, а какой угол занять))
просто 1 шаг назад, и все, ей не нужно знать на сколько куда возвращаться. просто последним что прийдет на серву это задание которое она может выполнить, тогда она его выполняет и не жрет ток, не горит.
а захват предмета, это сейчас для нее задание которое она выполнить не может.
она же незнает что делает, это для нас это манипулятор и захват обьекта, а серве сказали двигайся на 100градусов она и поехала, а попути попался предмет, и ехать она не может, стои и грееться, человек уже кнопку отпустил и забыл, а серва все еще пытаеться стать на 100градусов. но неможет, и горит....
а если она при отпускании кнопки получает команду шаг назад и стоп, то она выполняет задание и замерает.
так понятно?
1 - угол касания предмета = 47 , серву загнали в положение 50 , шаг назад = 49 - ток норм., захват норм.
2 - угол касания предмета = 47 , серву загнали в положение 90 , шаг назад = 89 - ток БОЛЬШ., захват норм.
....и чем тут поможет шаг назад ?
придётся детей инструктировать.... сжали до касания и ещё одно кратковременное нажатие....
но всегда найдётся ребёнок-исследователь :) "А если сильнее сжать ?"
найдите ОДНО отличие в примерах 1 и 2 :(
вручную - элемент обратной связи ваша голова.... :)
программно - минус голова, поэтому и низя :(
а причем тут голова?
еще раз поясняю, сейчас я отпустив кнопку сжимать, вынуждин нажимать кнопку "разжимать" дабы ослабить хват и не греть серву.
почему нельзя сделать так чтобы при отпускании кнопки сжимать, действие ослабить хват автаматом происходило?
зачем для этого моя голова?
я думал что на то она и автоматизация, на то они и микро контролеры чтобы упращать работу человека.
а тут выходит все нельзя.... бред какойто!
найдите ОДНО отличие в примерах 1 и 2 :(
вы хорошо пишите, но плохо читаете.
еще раз поясняю.
в моем случае, при шаге назад, предыдущее значение, вот те 90 градусов, и стремнелие застрявшей на 47 сервы их достичь, обнуляються, и серва просто без вычита из предыдущего значения делает шаг назад.
аналогия с человеком.
вам крикнули команду беги на 100метров, на 40м у вас развязались шнурки, вы останавились, пока шурки завязывали вам уже крикнули сделай шаг назад.
ваши действия? бежать оставшиеся 60м и потом делать шаг назад? или просто шагнете назад и остановитесь?
извините но почемуто серва у меня ведет себя умнее чем сегодня отписавшиеся программисты )))
хорошо...
вы открываете кран и наполняете каструлку водой... полная ? - закрываете кран
типерь ардуина - открыла кран.... и когда она его закроет ? глазков нет, ушей нет.... ПОТОП !?
найдите ОДНО отличие в примерах 1 и 2 :(
вы хорошо пишите, но плохо читаете.
еще раз поясняю.
в моем случае, при шаге назад, предыдущее значение, вот те 90 градусов, и стремнелие застрявшей на 47 сервы их достичь, обнуляються, и серва просто без вычита из предыдущего значения делает шаг назад.
аналогия с человеком.
вам крикнули команду беги на 100метров, на 40м у вас развязались шнурки, вы останавились, пока шурки завязывали вам уже крикнули сделай шаг назад.
ваши действия? бежать оставшиеся 60м и потом делать шаг назад? или просто шагнете назад и остановитесь?
извините но почемуто серва у меня ведет себя умнее чем сегодня отписавшиеся программисты )))
и здесь ООС - голова ! ....которой у сервы нет :)
".... извините но почемуто серва у меня ведет себя умнее чем сегодня отписавшиеся программисты ))) ..."
дык, вот у неё и спрашивайте - чё, да как ? :)
вы хорошо пишите, но плохо читаете.
мне в детстве мама выколола глазки, чёбы я варенье не нашёл...
я не хожу в кино и не читаю сказки...
ЗАТО я нюхаю и слышу хорошо !
так ардуина же не сама управляет манипулятором, им управляет человек! и человек решает когда жать а когда отпускать кнопки.
ардуине не нужно ничего знать кроме как команду выдавать при нажатии кнопки.
ну реально я ведь не жму на кнопку до того момента пока серва не достигнит тютелька в тютельку угла, где предмет...
я жму до упора, отпускаю кнопку, потом жму кратковременно назад и все в шоколаде.
непонимаю почему нельзя при отпускании кнопки вперед, как бы нажать кнопку назад и быстро отпустить? почему именно должен делать это лишнее тело движение, нахрена тогда микроконтролер если он не может выполнить эжлементарное!
".... извините но почемуто серва у меня ведет себя умнее чем сегодня отписавшиеся программисты ))) ..."
дык, вот у неё и спрашивайте - чё, да как ? :)
видимо это большой сервет, одна даже под пытками предпочла сгореть, но не выдать тайну )
".... ов, на 40м у вас развязались шнурки, вы останавились, пока шурки зав ...."
и каким образом серва узнает - где я остановился шнурки подвязать ?
короче как я понял ардуина-дубина на элементарные задачи неспособна и нужно тупо дедовским методом ставить кнопку размыкатель, ну так я чувствую дойду скоро до того чтобы выкинуть плату в топку, и поставить паравой движок с каким нибудь пневмо шарнирным управлением, нахрена электроника, если от нее проку нет )))
"... не понимаю почему нельзя ..."
а перечитайте свою тему ! сверху до низу....
".... ов, на 40м у вас развязались шнурки, вы останавились, пока шурки зав ...."
и каким образом серва узнает - где я остановился шнурки подвязать ?
а можно подумать вы знаете где остановились? на асфальне ненаписано, у вас нет обратной связи, вот засада, что делать? )) достать из кармана лазерный дальномер? сбегать домой за рулеткой, может жипс по спутнику?
а зачем вам знать место положение? зачем ей знать, ей просто сказали сделай шаг назад!
все же просто. сделай шаг назад из текщего положения.
кстати, это ардуина незнает где серва, а серва очень хорошо знает где она сейчас находиться!
короче как я понял ардуина-дубина на элементарные задачи неспособна и нужно тупо дедовским методом ставить кнопку размыкатель, ну так я чувствую дойду скоро до того чтобы выкинуть плату в топку, и поставить паравой движок с каким нибудь пневмо шарнирным управлением, нахрена электроника, если от нее проку нет )))
правильно поняли... вам ардуина НЕ НУЖНА ! ....с ней тока гемор :)
вот алгоритм управления сервой, она ходит шагами
а вот сами шаги
а вот кнопки
и все это работает как я описал.
кстати, это ардуина незнает где серва, а серва очень хорошо знает где она сейчас находиться!
чуть не так !
ардуина знает ГДЕ ДОЛЖНА находиться серва ! но - не знает где она щас !
а серва знает КУДА ей бежать ! но и она не знает ГДЕ щас находится !
код здесь ни при чём ! даже и не смотрел.... без ООС - никакая программа не справится с вашей задачей :(
кстати, это ардуина незнает где серва, а серва очень хорошо знает где она сейчас находиться!
чуть не так !
ардуина знает ГДЕ ДОЛЖНА находиться серва ! но - не знает где она щас !
а серва знает КУДА ей бежать ! но и она не знает ГДЕ щас находится !
тоесть резистор внутри сервы это не датчик положения, серва знает куда бежать но незнает где она сейчас? очень интересно а как она выберен направление?
зачем ей тогда внутри микро процессор? подавалиб сразу на мотор питание ))
в левую руку - иголку , в правую - хвостик нитки...
подготовились ? типерь закройте глаза и попадите ниткой в ушко иголки !
не получилось 1000 раз из 1001 ? совершенствуйте-улучшайте программку продевания в вашей голове.....
кстати, это ардуина незнает где серва, а серва очень хорошо знает где она сейчас находиться!
чуть не так !
ардуина знает ГДЕ ДОЛЖНА находиться серва ! но - не знает где она щас !
а серва знает КУДА ей бежать ! но и она не знает ГДЕ щас находится !
тоесть резистор внутри сервы это не датчик положения, серва знает куда бежать но незнает где она сейчас? очень интересно а как она выберен направление?
зачем ей тогда внутри микро процессор? подавалиб сразу на мотор питание ))
нету у неё МК :( движок, редуктор, резистор, компаратор.... ВСЁ !
очень интересно а как она выберен направление? очень интересно а как она выберен направление?
компаратор ! это однобитовый мозг !
серва - это САУ , а не АСУ ! :)
вы всех программистов отвратили.... чего вы хотите ?