roboforum.ru

Технический форум по робототехнике.
Текущее время: 05 апр 2025, 22:27

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Что купить для Hexapod'а?
СообщениеДобавлено: 08 май 2014, 07:30 
Не в сети

Зарегистрирован: 04 апр 2014, 12:14
Сообщения: 31
Догадка с нехваткой питания оказалась верна.
Сегодня подключил от компьютерного блока питания, теперь сервы шевелятся как надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что купить для Hexapod'а?
СообщениеДобавлено: 19 май 2014, 12:22 
Не в сети

Зарегистрирован: 04 апр 2014, 12:14
Сообщения: 31
Странно... Собрал некий "тестер" для серв, что бы попробовать определить на глаз разницу между MG-995 и MG-996.
Использовалось:
1. Arduino Mega 2560
2. Mega Sensor Shield v2 (для удобной коммутации)
3. Питание - от USB напрямую в Ардуино + дополнительное питание от 5В блока питания компа.
4. Ну и ещё по мелочи - 3 кнопки для управления углом + экранчик для отображения текущих параметров сервы.

В итоге заметил такую вещь: если в скетче объявить 2-3 сервы, так:
Servo myservo1;
Servo myservo2;
Servo myservo3;

Потом прявязать к ним пины:
myservo1.attach(22);
myservo2.attach(46);
myservo3.attach(47);

и потом попробовать управлять одной из серв, например:
myservo1.writeMicroseconds(1700);

То оставшиеся 2 сервы тоже чуть-чуть дёргаются, буквально на 1-2 градуса, но глазу заметно. Такое ощущение что они дёргаются в одну сторону, и сразу же возвращаются в начальную позицию.

Что это может быть? Просадка питания? Неужели надо на каждую серву использовать конденсатор? Кто как обходит проблему подключения множества серв к одной плате? (или эта проблема только у меня?)

Добавлено спустя 4 минуты 34 секунды:
ЗЫ Если объявить только одну серву, но при этом оставить остальные 2 воткнутыми в плату - то никаких дёрганий не наблюдается, т.е. похоже что проблема софтовая.
Может я неправильно несколько серв объявляю?

Добавлено спустя 4 минуты 23 секунды:
ЗЗЫ Пробовал на разных пинах, результат примерно одинаковый.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что купить для Hexapod'а?
СообщениеДобавлено: 19 май 2014, 14:10 
Не в сети
Аватара пользователя

Зарегистрирован: 01 сен 2009, 14:58
Сообщения: 1142
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python
Ет нада смотреть осцилографом. Подозрение что скетч криво реализован.
Хотя - как передается команда? мож ет радости коммуникация + работа скетча - попробуй поднять скорость UART если он используется
Или по кнопкам идет управление?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что купить для Hexapod'а?
СообщениеДобавлено: 19 май 2014, 22:35 
Не в сети

Зарегистрирован: 04 апр 2014, 12:14
Сообщения: 31
Убрал всё лишнее, оставил только код, управляющий сервой:

Код:
#include <Servo.h>

int del = 700;

Servo myservo1;
Servo myservo2;
Servo myservo3;

void setup(){
  myservo1.attach(22);
  myservo2.attach(46);
  myservo3.attach(50);
}

void loop(){
  moveservo(myservo1);
}

void moveservo(Servo cservo){
  cservo.writeMicroseconds(1500);
  delay(del);
  cservo.writeMicroseconds(2300);
  delay(del);
  cservo.writeMicroseconds(1500);
  delay(del);
  cservo.writeMicroseconds(700);
  delay(del);
}


Пока не "подключаю" в коде вторую и третью серву - они не двигаются, как только прописываю вот это:
Код:
  myservo2.attach(46);
  myservo3.attach(50);

начинают дёргаться. Причём похоже они дёргаются в конце движения основной сервы.

Попробовал подключить DC-DC преобразователь, взяв с компа 12В, и сделав на выходе 5.95В (практически 6) - результат тот же.
Думал может опять питания не хватает... Похоже не подтвердилось.

Добавлено спустя 12 минут 3 секунды:
Попробовал заменить writeMicroseconds на write:
Код:
cservo.write(90);
  delay(del);
  cservo.write(170);
  delay(del);
  cservo.write(90);
  delay(del);
  cservo.write(10);
  delay(del);

Результат тот же - подёргиваются...

Добавлено спустя 26 минут 50 секунд:
Ещё заметил, если вращать второй сервой:
moveservo(myservo2);
то дёргается только третья серва, а первая не дёргается!

Как такое может быть? Кривая библиотека Servo.h или я что-то не так делаю?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что купить для Hexapod'а?
СообщениеДобавлено: 19 май 2014, 23:05 
Не в сети
Аватара пользователя

Зарегистрирован: 01 сен 2009, 14:58
Сообщения: 1142
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python
Похоже библиотека не айс.
Попробуй писать одновременно все три сервы.

Добавлено спустя 4 минуты 58 секунд:
Код:
  myservo1.writeMicroseconds(1500);
  myservo2.writeMicroseconds(s2pos);
  myservo3.writeMicroseconds(s3pos);
  delay(del);
  myservo1.writeMicroseconds(2300);
  myservo2.writeMicroseconds(s2pos);
  myservo3.writeMicroseconds(s3pos);
...


Мож оно криво перещитывает длительности при изменении ток одной сервы. Но ет так, пальцем в небо.. как библиотека в адруине работает я незнаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что купить для Hexapod'а?
СообщениеДобавлено: 19 май 2014, 23:27 
Не в сети

Зарегистрирован: 04 апр 2014, 12:14
Сообщения: 31
Похоже всё-таки была проблема с питанием...
Убрал лишние клеммы, китайские проводки папа-папа, взял провода потолще, подключил напрямую СенсорШилд <=> блок питания - теперь всё хорошо, ничего не дёргается (во всяком случае не заметно).

Вот как оно бывает...

Добавлено спустя 1 минуту 13 секунд:
Но блин, все 3 сервы были подключены одинаково!
Почему дёргалась только объявленная второй при перемещении первой,а не наоборот...
Загадка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что купить для Hexapod'а?
СообщениеДобавлено: 14 сен 2016, 21:13 
Не в сети

Зарегистрирован: 12 сен 2016, 13:24
Сообщения: 4
Подниму ещё раз эту тему.Собираю шестилапого хекса на 18шт sg995 серв с управлением по тороботовскому шилду на 32 канала вопрос по питанию, хватит ли мне одного липо 30с на 11.1в чтобы записать всю схему сразу,причем питать сервы собираюсь через UBEC ну примерно такой https://ru.aliexpress.com/item/ZTW-6A-B ... .66.pxI6tF а шилд наверное тоже от этой липо через регулятор например такой https://ru.aliexpress.com/item/DC-DC-St ... .80.HD9sAy потому что не известно ,что с ним будет при перезаряженном липо.а теперь сам вопрос хватит ли такого липо на эту схему если 995 жрут до 0.3 А ?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO