Управление сервой постоянного вращения SM-4303R

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Wisefox, 20 апр 2015.

  1. Wisefox

    Wisefox Нуб

    Делаю тест с сервой постоянного вращения SM-4303R.
    Пытаюсь выяснить за сколько миллисекунд она сделает 1 полный оборот.
    Чтобы потом указанием времени в мс поворачивать на разные углы.

    Есть:
    -Блок питания от PC, использую 5вольт
    - Ардуино Мега2560
    -Использую пин 27

    Управляю так:
    // Включим по часовой стрелки
    pos = 180;
    MyServo_360.write(pos);
    delay(myDelayTime360); // int myDelayTime360 = 1208

    // СТОП
    pos = 90;
    MyServo_360.write(pos);
    delay(myDelayTime360); // int myDelayTime360 = 1208

    delay(2000);

    // Включим против часовой стрелки
    pos = 0;
    MyServo_360.write(pos);
    delay(myDelayTime360); // int myDelayTime360 = 1208

    // СТОП
    pos = 90;
    MyServo_360.write(pos);
    delay(myDelayTime360); // int myDelayTime360 = 1208

    delay(2000);


    -----
    Все крутиться в нужном направлении и останавливается по команде.

    Вопросы такие :

    1. Смущает, что при вкл блока питания серва прокручивается на некоторый угол (примерно 20 градусов) без команды. Можно ли это как-то устранить или избежать?
    2. Может я в принципе не тем путем иду, т.е. управлять сервой с постоянным вращением при помощи времени включения сервы?
    3. Ставит в тупик выполнение поворота по часовой и против часовой стрелки на разные углы и при одном и томже времени включения сервы в миллисекундах. В чем тут дело? Китай или мои руки?
     
  2. Kopilov

    Kopilov Гик

    В даташите написано:
    Интересно только, относительно чего он выбирает ориентацию, если это действтельно серва постоянного вращения, а не обычная с диапазоном 360. Судя по указанию:
    -- всё-таки, обычная. Управляй выставлением угла, как положено.

    Или экспериментально удалось повернуть на несколько оборотов? Если да -- почему вообще возникла необходимость использовать серву постоянного вращения для регулировки угла? Если нужны и контроль угла, и постоянное вращение на несколько оборотов -- выручит шаговый двигатель.
     
  3. Wisefox

    Wisefox Нуб

    1. Поворачивается на любое количество оборотов и в любом направлении, в зависимости от времени.
    2. В моей конструкции нужно поворачивать детали на разные углы, >360 град
     
  4. Kopilov

    Kopilov Гик

    Тогда лучше шаговый двигатель (как в ЧПУ-станках и 3D-принтерах).
    А по исходным вопросам:
    1 -- ответ в первой цитате из даташита, наверно.
    3 -- ну, чуть разная скорость, а обратной связи по положению нет. Представьте, что Вы сделали шаг влево и шаг вправо -- вернулись в исходную точку. А если сделать 10 шагов влево и 10 вправо с закрытыми глазами -- можно сильно промахнуться.