Как отключить постояный серво?

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Максимус, 10 дек 2012.

  1. Включается и крутится, пытаешься выключить он продолжает крутиться, но с другой скоростью.
     
  2. Mactep8

    Mactep8 Нерд

    servo.write(90)
     
  3. Это очень просто, но мотор продолжает работу, только медленей.
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    Вариант номер 1:

    servo.detach() — отключит питание, мотор не будет сопротивляться

    Вариант номер 2:

    servo.write(some_number_about_1500) — мотор будет на тормозе, т.е. пытаться стоять

    some_number_about_1500 — индивидуальное число для каждой сервы. Попробуйте разные значения в диапазоне ±50 единиц пока не увидите, что ваша серва стоит.
     
  5. _Mickey_

    _Mickey_ Нуб

    Привод постоянного вращения, тип FS5113R останавливаться не желает, продолжает вращаться с заданной скоростью.

    При значении 1500, серва останавливается, но по разному: при вращении против часовой, останавливается плавно. При вращении против часовой резко. Другие значения приводят к некорректному поведению сервы.

    Правильней делать как описано здесь: http://arduino.ru/Reference/Library/Servo/write
    для FS5113R, в моем случае, корректное значение 92.
     
    Последнее редактирование: 31 окт 2015
  6. _Mickey_

    _Mickey_ Нуб

    незначительная инерционность в ту или другую сторону, при остановке, свидетельствует о том, что корректное значение для servo.write() подобрано не совсем точно, и есть риск, что привод через некоторое время после остановки начнет самопроизвольно разгоняться даже при отсутствии управляющего ШИМ сигнала.

    В итоге добился надежной остановки сервомотора следующей последовательностью команд:

    // Остановка мотора, важно: не должно быть инерционности в ту или другую сторону
    srv.write(93);
    // Ждем остановки мотора
    delay(2000);
    // Отключаемся от сервомотора
    srv.detach();

    все, наслаждаемся...