Форум программистов, компьютерный форум, киберфорум
Наши страницы
Arduino
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Ромуальд_7
3 / 3 / 1
Регистрация: 11.04.2015
Сообщений: 236
1

Серводвигатель

09.06.2018, 22:18. Просмотров 905. Ответов 10
Метки нет (Все метки)

Всем доброго времени суток!
Я не очень хорошо знаком с серводвигателями, поэтому мне сложно сказать в чём проблема - в моём непонимании или в самом двигателе. Проблема вот в чём - подключаю я серводвигатель (Tower Pro SG-5010) к ардуине (UNO) и заливаю на неё программу (представлена ниже). В результате этого действа наблюдаю неадекватное поведение: поворачивается на 180 по часовой стрелке, затем на 90 против часовой, затем на 45 по часовой, затем на 45 против часовой, затем опять на 45 по часовой, после этого поворот на ~130 против часовой и начинает "дрыгаться" почти на месте секунды 2-3, после чего встаёт в этом же положении и просто гудит секунд 10. Вот што ета? В интернетах ничего подобного не нашлось.
Для справки - подключил я двигатель так: красный провод - к +5В, коричневый - к земле (GND), оранжевый - к цифровому ШИМ-входу(выходу) №5.
Большое спасибо за вашу помощь!
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Servo servo1;
 
void setup() {
servo1.attach(5); //указание ШИМ-разъёма работы
}
 
void loop() {
  servo1.write(0); //угол поворота - 0 град.
  delay(5000);
  servo1.write(180); //угол поворота - 180 град.
  delay(5000);
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2018, 22:18
Ответы с готовыми решениями:

Найти серводвигатель.
При гуглении на тему серводвигателя выдают или огромные двиглы для станков или мелкие пиписки для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Mirmik
techpriest
623 / 204 / 55
Регистрация: 27.02.2014
Сообщений: 1,081
10.06.2018, 10:07 2
Лучший ответ Сообщение было отмечено Ромуальд_7 как решение

Решение

.... Можно поробовать изменить целевые углы на 40 и 60. И посмотреть, что будет.

Добавлено через 1 минуту
Возможно дело в стартовом токе движка. Если подключаете ардуино через USB, он мог просто перегрузить систему, из-за чего логика могла работать некорректно.
1
Ромуальд_7
3 / 3 / 1
Регистрация: 11.04.2015
Сообщений: 236
10.06.2018, 17:15  [ТС] 3
Mirmik, большое спасибо, вы очень помогли!
Дело, действительно, было в том, что при любом движении двигателя контроллер перезагружался от перегрузки и программа сбивалась, не давая осуществить адекватный контроль.
0
marat_miaki
163 / 149 / 89
Регистрация: 08.04.2013
Сообщений: 610
11.06.2018, 16:24 4
Стоит также наверное немного подправить предельные значения
C++
1
servo1.attach(5, 700, 2300);
1
Ромуальд_7
3 / 3 / 1
Регистрация: 11.04.2015
Сообщений: 236
12.06.2018, 02:56  [ТС] 5
marat_miaki, а что это значит? Первая цифра ясна, но что такое 700 и 2300?
0
marat_miaki
163 / 149 / 89
Регистрация: 08.04.2013
Сообщений: 610
12.06.2018, 22:18 6
по умолчанию минимальное значение 540 а максимальное 2400 , часто когда стоит по умолчанию на крайних значениях, серво поварачивает на большее значение чем 180 или 0 и немного сдвинув ( выставив самостоятельно) серво начинает работать более адекватно, то есть вы сами указываете каким значениям соответствует 0 и 180 градусов, вроде так
1
Ромуальд_7
3 / 3 / 1
Регистрация: 11.04.2015
Сообщений: 236
14.06.2018, 16:00  [ТС] 7
marat_miaki, а что за цифры-то? Имеют ли они размерность?
0
marat_miaki
163 / 149 / 89
Регистрация: 08.04.2013
Сообщений: 610
14.06.2018, 19:09 8
Вроде интернетом пользуешься, а искать ответы на свои вопросы не хочешь( или не умеешь?) . Прежде чем с каким то оборудованием работать надо кучу документации прочитать. Хотя бы вот тут для начала http://wiki.amperka.ru/%D1%80%D0%BE%...BE%D0%B4%D1%8B
1
Ромуальд_7
3 / 3 / 1
Регистрация: 11.04.2015
Сообщений: 236
15.06.2018, 23:19  [ТС] 9
marat_miaki, вы, разумеется, правы, но подождите минуточку, это ВЫ написали цифры и это у ВАС же я спросил что они значат. Не у интернета я эти цифры вызнал, чтобы у него про них спрашивать, согласитесь.
0
marat_miaki
163 / 149 / 89
Регистрация: 08.04.2013
Сообщений: 610
16.06.2018, 07:31 10
Цитата Сообщение от Ромуальд_7 Посмотреть сообщение
а что за цифры-то? Имеют ли они размерность?
Вот чтоб про размерность вам узнать надо еще и основы языка программирования с или с++ поизучать. В самом IDE Ардуино есть подробное описание каждой команды и каждой библиотеки, правда на английском.
1
Mirmik
techpriest
623 / 204 / 55
Регистрация: 27.02.2014
Сообщений: 1,081
16.06.2018, 08:52 11
А вот сейчас непонятно было...

Размерность у них известная - микросекунды.
1
16.06.2018, 08:52
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru