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

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

09.06.2018, 22:18. Просмотров 254. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Серводвигатель (Arduino):

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


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

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

Решение

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

Добавлено через 1 минуту
Возможно дело в стартовом токе движка. Если подключаете ардуино через USB, он мог просто перегрузить систему, из-за чего логика могла работать некорректно.
1
Ромуальд_7
3 / 3 / 1
Регистрация: 11.04.2015
Сообщений: 222
10.06.2018, 17:15  [ТС] #3
Mirmik, большое спасибо, вы очень помогли!
Дело, действительно, было в том, что при любом движении двигателя контроллер перезагружался от перегрузки и программа сбивалась, не давая осуществить адекватный контроль.
0
marat_miaki
149 / 138 / 87
Регистрация: 08.04.2013
Сообщений: 554
11.06.2018, 16:24 #4
Стоит также наверное немного подправить предельные значения
C++
1
servo1.attach(5, 700, 2300);
1
Ромуальд_7
3 / 3 / 1
Регистрация: 11.04.2015
Сообщений: 222
12.06.2018, 02:56  [ТС] #5
marat_miaki, а что это значит? Первая цифра ясна, но что такое 700 и 2300?
0
marat_miaki
149 / 138 / 87
Регистрация: 08.04.2013
Сообщений: 554
12.06.2018, 22:18 #6
по умолчанию минимальное значение 540 а максимальное 2400 , часто когда стоит по умолчанию на крайних значениях, серво поварачивает на большее значение чем 180 или 0 и немного сдвинув ( выставив самостоятельно) серво начинает работать более адекватно, то есть вы сами указываете каким значениям соответствует 0 и 180 градусов, вроде так
1
Ромуальд_7
3 / 3 / 1
Регистрация: 11.04.2015
Сообщений: 222
14.06.2018, 16:00  [ТС] #7
marat_miaki, а что за цифры-то? Имеют ли они размерность?
0
marat_miaki
149 / 138 / 87
Регистрация: 08.04.2013
Сообщений: 554
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
Сообщений: 222
15.06.2018, 23:19  [ТС] #9
marat_miaki, вы, разумеется, правы, но подождите минуточку, это ВЫ написали цифры и это у ВАС же я спросил что они значат. Не у интернета я эти цифры вызнал, чтобы у него про них спрашивать, согласитесь.
0
marat_miaki
149 / 138 / 87
Регистрация: 08.04.2013
Сообщений: 554
16.06.2018, 07:31 #10
Цитата Сообщение от Ромуальд_7 Посмотреть сообщение
а что за цифры-то? Имеют ли они размерность?
Вот чтоб про размерность вам узнать надо еще и основы языка программирования с или с++ поизучать. В самом IDE Ардуино есть подробное описание каждой команды и каждой библиотеки, правда на английском.
1
Mirmik
techpriest
220 / 191 / 53
Регистрация: 27.02.2014
Сообщений: 1,018
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