Управление сервой с компа.

Тема в разделе "Глядите, что я сделал", создана пользователем Staticvoid, 5 май 2014.

  1. Staticvoid

    Staticvoid Нерд

  2. Mitrandir

    Mitrandir Гуру

    А что конкретно не получается?
     
  3. Mitrandir

    Mitrandir Гуру

    Объявляете два объекта сервы, подвешиваете на разные пины и обеим делаете врайт
     
  4. Staticvoid

    Staticvoid Нерд

    Данные для управления передаются с компа, последовательно...Один пакет данных на один сервопривод.А мне нужно чтоб сервы работали одновременно...
     
  5. Mitrandir

    Mitrandir Гуру

    Каков угол поворота серв нужен? Если меньше 127 градусов, то в однлм байте можно закодировать два угла
     
  6. Mitrandir

    Mitrandir Гуру

    Нет, затупил. Так не выйдет.
     
  7. Mitrandir

    Mitrandir Гуру

    Через сериал можно только последовательно передавать. Как вариант увеличить скорость в два раза, посылать 2 байта и как ардуино соберет оба байта начать крутить две сервы.
    Или начать копать в сторону параллельного порта
     
  8. Mactep8

    Mactep8 Нерд

    стандартная аналоговая серва управляется при помощи ШИМ с частотой 50Гц импульсами от 1000 до 2000мкс. Т.е. в один такт свободно влезают импульсы для 8 серв. Если через порт передать подряд 2 пакета (по одному для каждой сервы), то будет Вам счастье. Пусть каждый пакет будет в 2 байта. 11бит пакета будут задавать угол отклонения сервы, а в остальных 5 битах передавайте номер сервы. На ардуинке разбираете его и пишете соответствующей серве заданное время импульса.
    Ну как-то так...
     
  9. Mitrandir

    Mitrandir Гуру

    А порт успеет передать?
     
  10. Mactep8

    Mactep8 Нерд

    115200 бит/с = 14400 байт/с = 7200 пакетов/с. Это 144 пакета на такт сервы. Даже учитывая, что это грубый приблизительный расчет и я ошибся в 10 раз, хватит за глаза серв на 10 точно. А учитывая, что скорость поворота условно 0.1сек / 60 градусов, то и на 20 сервоприводах вы не заметите последовательного управления ими. Вот характеристики некоторых, которые я использую.
    Так же к примеру: протокол Futaba sBus использует последовательный порт на скорости 100000. Размер пакета 25 байт. Пакеты идут каждые 14мс. По этому протоколу управление происходит 16-ю сервоприводами.
     
    Mitrandir нравится это.