valera2206 0 8 апреля, 2014 Опубликовано 8 апреля, 2014 (изменено) · Жалоба здравствуйте, помогите девушке, которая не особо разбирается в программировании :( :( надо запрограммировать в AVR сервомашинки. у нас есть 3сервопривода. на микроконтроллере АТМега необходима создать независимое управление ими. У нас должна быть отдельная подпрограмма, в которую мы вводим координаты в которые должна прийти машинка, они пересчитываются на углы, серваки поворачиваются и выдают из подпрограммы обратно координаты на которые повернулись Как это осуществить - не представляю...:( Изменено 8 апреля, 2014 пользователем Валероша Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 8 апреля, 2014 Опубликовано 8 апреля, 2014 · Жалоба Так в чем проблема? Как пересчитать координаты в углы? Или как передать их в сервомашинки и получить обратно результат? В первом случае нужно знать коэффициент между углом и координатой, который определяется Вашей механикой и должен быть Вам известен. Во втором - рассказывайте как подключены машинки, какого типа они и еще кучу информации. Не стесняйтесь писать много. А то у нас, как всегда, телепаты все в отпуске. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
garlands 0 8 апреля, 2014 Опубликовано 8 апреля, 2014 · Жалоба Вот. Да и вообще весь раздел к изучению раз Как это осуществить - не представляю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
valera2206 0 9 апреля, 2014 Опубликовано 9 апреля, 2014 · Жалоба Так в чем проблема? Как пересчитать координаты в углы? Или как передать их в сервомашинки и получить обратно результат? В первом случае нужно знать коэффициент между углом и координатой, который определяется Вашей механикой и должен быть Вам известен. Во втором - рассказывайте как подключены машинки, какого типа они и еще кучу информации. Не стесняйтесь писать много. А то у нас, как всегда, телепаты все в отпуске. Используем МК Atmega32a. надо сделать функцию(-ии) для работы с сервомашинками. Оформить ее надо как файл *.h или просто кусок кода для вставки в основную программу. С хорошими подробными комментариями и предваряющей инструкцией по использованию в пару строк. Эта функция должна решать задачу формирования сигналов на машинки. Для этого она может использовать один таймер. При этом она должна уметь управлять 4-5 пронумерованными сервомашинками. Работа с функцией должна быть удобной. Например, что бы обращаться к ней так servo_set(%номер_машинки%, %угол_в_градусах/радианах%) Так же нужно иметь возможность настраивать крайние положения машинок например так servo_min(%номер_машинки%, %значение_угла_в_градусах/радианах%, %соответствующая_длина_импульса_в_мкс%). Или аналогично через дефайны. Хорошо бы иметь возможность менять дискрету угла поворота (хотя бы два-три варианта: грубо/тонко/средне) и скорость поворота. пусть даже для всех машинок сразу. + Надо учесть, что раз функция пользуется таймером, в этот кусок программы надо впихнуть настройку таймера и функцию прерывания. Ну и естественно нужно иметь возможность задавать через дефайны пины, к которым подключены машинки. как-то так надо, как это осуществить - не поняла еще, пока читаю информацию в интернете, но ее много и написана громоздко Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба Для этого она может использовать один таймер. .... Ну и естественно нужно иметь возможность задавать через дефайны пины, к которым подключены машинки. Эти два требования несколько противоречивы. Либо вы используете по одному модулю сравнения (Output Compare) таймера на каждую сервомашинку и подключаете все сервомашинки к ногам, к которым этои модули прибиты гвоздями (вам потребуется минимум два таймера, ибо таймер 0 и 2 имеют по одному такому модулю), либо вы задаете любую ногу и управляете машинкой методом програмного ногодрыга, но при этом отказыватесь от точности позиционирования - сформированный программно сигнал обязательно будет дрожать и вслед за ним будут дрожать и сервомашинки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться