-
- Блин, заблудился в рассуждениях. Ни разу еще подобное не делал. Не могу формулы вывести. Есть, скажем 4 аналоговых датчика. Обзовем их для простоты, по сторонам света. СВ северо-восток, ЮВ юго-восток, ЮЗ юго-запад, СЗ северо-запад. Есть показания, mazur(289 знак., 05.07.2012 23:38 - 23:41)
- По суть все эти СВ, ЮВ, СЗ и ЮЗ -- прямоугольная система координат. X=СВ-ЮЗ, Y=СЗ-ЮВ. Далее угол куда повернуться в микрошагах: A=(atan2(Y,X)+M_PI)*96/2. А на какой уже повёрнут -- заранее знать нужен. Число шагов S1=abs(A-B), S2=abs(B-A), MIN(S1, fk0(127 знак., 06.07.2012 00:13)
- А не для вас ли Леонид Иванович сей трактат писал? Ну и на всякий случай ссылка на вики про полярные координаты. rezident(05.07.2012 23:49 - 23:52, ссылка)
- В этом трактате только управление шаговиком. А я спрашиваю, как мне рассчитать вектор на основании показаний датчиков. Если показания СВ и ЮВ равны, то двинуться на восток. Если показания ЮВ выше, то двинуться на N шагов в сторону ЮВ. И это как mazur(129 знак., 06.07.2012 00:00 - 00:04)
- Про полярные координаты ссылку вы видимо проигнорировали? Ну и правильно! Люди явно херней маялись, когда их придумывали. Там же синусы/косинусы/арктангенсы, которые на АСМе фиг знает как считать. - rezident(06.07.2012 00:13)
- Очевидно как: кордиком. Синус/косинус одновременно, и atan2 считается в ~12 битах кое-как за ~12 итераций. - fk0(06.07.2012 00:17)
- Я теперь за вас еще и
конфеты естьссылки давать должен? :) - rezident(06.07.2012 00:20, ссылка)
- Я теперь за вас еще и
- Очевидно как: кордиком. Синус/косинус одновременно, и atan2 считается в ~12 битах кое-как за ~12 итераций. - fk0(06.07.2012 00:17)
- Про полярные координаты ссылку вы видимо проигнорировали? Ну и правильно! Люди явно херней маялись, когда их придумывали. Там же синусы/косинусы/арктангенсы, которые на АСМе фиг знает как считать. - rezident(06.07.2012 00:13)
- В этом трактате только управление шаговиком. А я спрашиваю, как мне рассчитать вектор на основании показаний датчиков. Если показания СВ и ЮВ равны, то двинуться на восток. Если показания ЮВ выше, то двинуться на N шагов в сторону ЮВ. И это как mazur(129 знак., 06.07.2012 00:00 - 00:04)
- Сударь, а может проще у Альтоникса купить драйвер шагового двигателя? Коробочку такую... Pawel(24 знак., 04.07.2012 18:18)
- :) Ух ты... Ну здравствуй в виртуале! :) - mazur(04.07.2012 18:29)
- Элементарно. Вычисляется расстояние (угол, число шагов) поворота при вращении по часовой стрелке, и расстояние при вращениии против часовой стрелки. Выбирается наименьшее. Это если формально. А практически путём нехитрых алгебраических вычислений fk0(37 знак., 04.07.2012 14:56)
- к двум строчкам это если на Си и с запятыми. а у автора асм... - Snaky(04.07.2012 14:59)
- Да, за программирование с запятыми здесь пожизненный эцих с гвоздями гарантирован... - fk0(04.07.2012 15:54)
- к двум строчкам это если на Си и с запятыми. а у автора асм... - Snaky(04.07.2012 14:59)
- Заказчика случайно не Царь Дадон зовут? :) vmp(897 знак., 04.07.2012 14:48)
- лучше антикомаринную лазерную турель повтори) - lexxx-lexxx(04.07.2012 14:42)
- Не забудь, что к той фуйне, которую ты будешь крутить, с вероятностью 99.9% прикручены какие-нить провода. Вырвешь с корнем ;) - Гудвин(04.07.2012 14:40)
- Медные кольца на изоляторах и щетки еще никто не отменял. - mazur(04.07.2012 14:48)
- Нужто пулемет с электроспуском? =) - Гудвин(04.07.2012 14:58)
- Медные кольца на изоляторах и щетки еще никто не отменял. - mazur(04.07.2012 14:48)
- типа такого ? MegaJohn(1263 знак., 04.07.2012 14:37)
- Сначала скажите, в каком виде представлены векторы. Тогда можно будет сказать, как вычислять углы между ними и прочее. - SciFi(04.07.2012 14:34)
- А вообще, спасибо за ваш вопрос. Вроде подтолкнули в нужном направлении. :) - mazur(04.07.2012 17:57)
- Блин, как бы это написать... У шаговика определенное количество шагов на оборот. И эти шаги как градусы. Сигнал сработавших датчиков обрабатывается, получается направление сигнала. Потом направление перерабатывается в число шагов относительно mazur(128 знак., 04.07.2012 17:46)
- выше дал расчет. Один шаг у шаговика это 1,8 или 0,9 градуса (и т.п.)в зависимости от режима работы драйвера - MegaJohn(04.07.2012 18:16)
- Блин, заблудился в рассуждениях. Ни разу еще подобное не делал. Не могу формулы вывести. Есть, скажем 4 аналоговых датчика. Обзовем их для простоты, по сторонам света. СВ северо-восток, ЮВ юго-восток, ЮЗ юго-запад, СЗ северо-запад. Есть показания, mazur(289 знак., 05.07.2012 23:38 - 23:41)