Неадекватный я или серво
- Войдите на сайт для отправки комментариев
Чт, 05/09/2013 - 08:27
Сервы ведут себя как то не адекватно. Когда их подключено 8 штучек, то вроде как все ОК, а подключаешь больше оих начинает колбасить. Подаскажите пожалуйста. Девайс Arduino DUE #include <Servo.h> Servo r_f_1; Servo r_f_2; Servo r_f_3; Servo r_m_1; Servo r_m_2; Servo r_m_3; Servo r_r_1; Servo r_r_2; Servo r_r_3; Servo l_f_1; Servo l_f_2; Servo l_f_3; Servo l_m_1; Servo l_m_2; Servo l_m_3; Servo l_r_1; Servo l_r_2; Servo l_r_3; int servoPosSafeStart = 90; int minpos = 700; int maxpos = 2200; void initServos() { int i; for (i=53; i != 36; i -= 1) { pinMode(i, OUTPUT); } r_f_1.attach(53, minpos, maxpos); r_f_2.attach(52, minpos, maxpos); r_f_3.attach(51, minpos, maxpos); r_m_1.attach(50, minpos, maxpos); r_m_2.attach(49, minpos, maxpos); r_m_3.attach(48, minpos, maxpos); r_r_1.attach(47, minpos, maxpos); r_r_2.attach(46, minpos, maxpos); r_r_3.attach(45, minpos, maxpos); l_f_1.attach(44, minpos, maxpos); l_f_2.attach(43, minpos, maxpos); l_f_3.attach(42, minpos, maxpos); l_m_1.attach(41, minpos, maxpos); l_m_2.attach(40, minpos, maxpos); l_m_3.attach(39, minpos, maxpos); l_r_1.attach(38, minpos, maxpos); l_r_2.attach(37, minpos, maxpos); l_r_3.attach(36, minpos, maxpos); r_f_1.write(servoPosSafeStart ); r_f_2.write(servoPosSafeStart ); r_f_3.write(servoPosSafeStart ); r_m_1.write(servoPosSafeStart ); r_m_2.write(servoPosSafeStart ); r_m_3.write(servoPosSafeStart ); r_r_1.write(servoPosSafeStart ); r_r_2.write(servoPosSafeStart ); r_r_3.write(servoPosSafeStart ); l_f_1.write(servoPosSafeStart ); l_f_2.write(servoPosSafeStart ); l_f_3.write(servoPosSafeStart ); l_m_1.write(servoPosSafeStart ); l_m_2.write(servoPosSafeStart ); l_m_3.write(servoPosSafeStart ); l_r_1.write(servoPosSafeStart ); l_r_2.write(servoPosSafeStart ); l_r_3.write(servoPosSafeStart ); } void setup() { Serial.begin(9600); initServos(); } void loop() { int i; for (i=45; i != 120; i += 1) { r_f_1.write(i); r_f_2.write(i ); r_f_3.write(i ); r_m_1.write(i ); r_m_2.write(i ); r_m_3.write(i ); r_r_1.write(i ); r_r_2.write(i ); r_r_3.write(i ); l_f_1.write(i ); l_f_2.write(i ); l_f_3.write(i ); l_m_1.write(i ); l_m_2.write(i ); l_m_3.write(i ); l_r_1.write(i ); l_r_2.write(i ); l_r_3.write(i ); delay(250); } for (i=120; i != 45; i -= 1) { r_f_1.write(i ); r_f_2.write(i ); r_f_3.write(i ); r_m_1.write(i ); r_m_2.write(i ); r_m_3.write(i ); r_r_1.write(i ); r_r_2.write(i ); r_r_3.write(i ); l_f_1.write(i ); l_f_2.write(i ); l_f_3.write(i ); l_m_1.write(i ); l_m_2.write(i ); l_m_3.write(i ); l_r_1.write(i ); l_r_2.write(i ); l_r_3.write(i ); delay(250); } Serial.println(s, DEC); delay(250); }
а питаете вы откуда? а то может их с голоду колбасит?
От двух аккумов литийонных вот таких
http://dx.com/p/ultrafire-3-7v-2500mah-lithium-18650-batteries-blue-blac...
Землю пуская через дуинку, а дуинка питается от юзб.
Думаете надо больше аккумов добавить?
думаю нужно померять напряжение... а то вы такими темпами скоро квартиру будете пытатся запитать от 2 акамуляторов из телефона
Аккумы вадают по 3.7 вольта, я их последовательно подключил, счас должно быть 7.4, а потом стабилизатор стоит на 5 вольтов.
Или там силы тока может не хватать :(. Во дурилка. Вечером проверять буду :)
Или там силы тока может не хватать :(. Во дурилка. Вечером проверять буду :)
Это хорошо что вы сами смогли ответить на свой вопрос в топике кто из вас двоих неадекватный :) продолжайте испытания :)
Да я просто далек от электрики, подумал аккумам пофигу, отдадут сколько возьмут.
Данные аккумы в пике дают около 1,5 ампер что крайне мало для такого количества серв. Вам нужны силовые литий-полимерные аккумы.
Так это мало очень, я насчитал надо 12 ампер для 18 машинок. А сама плата ардуино не испортится, земля то в неё подключается?
А не подскажите конкретные цена/качество можели или фирмы таких аккумов на 18 микросерво MG90s.
З.Ы. Пока пойду БП покупать. А то долго ждать их.
Если вы сервы питаете с 5v пина, то есть весь ток еще проходит через хилый регулятор питания самой дуины, то 12 ампер могут превратить его в неплохой обогреватель на зиму. правда - очень не на долго. Если при этом у вас еще USB кабель подключен, то после того как сядет аккум или сдохнет регулятор - эти 12-ти ампер попытаются взятся с USB компа. Если повезет - сработает защита. Если не повезет - выгорит USB на мамке. Если "совсем не повезет" - мамка.
Вообщем для такого количества серв нужен - отдельный блок питания. И питать сервы - напрямую от него (если его вольтаж подходит). Если не подходит - между ними нужен еще, опять-таки отдельный регулятор напряжения. С хорошим радиатором. Или учитывая акум не резиновый - искать импульсный регулятор. КПД выше, меньше греется. Меньше энергии в пустую. Но дороже (существенно) и больше.
Было так.
2 аккума 18650 li-ion
Подключено след образом.
Плата питается от ЮЗБ. Земля от платы идет на сервы и вот на эту хрень не помню как оно называется, помоему это и есть импульсный регулятор http://www.hobbyking.com/hobbyking/store/__6233__turnigy_8_15a_ubec_for_...
От него и идет питание на все сервы.
Счас попробывал добавить еще 2 аккума. Ничего не поменялось даже после параллельного подключения еще двух. Как плющило после подключения 8 сервы, так и плющит.
Ну с регулятором вроде все грамотно выглядит. Только неизвестно сколько у вас жрет каждая серва. Не вышло найти их потребление в гугле. Можете попробовать замерить сколько одна серва кушает, а потом умножить. Регулятор тоже "не резиновый". Он на 8A, если сервы жрут 12A, то....
А еще можете попробоват такой "финт ушами". Физически подключите 3-4 сервы, а в коде 16-ть. Если эти 3-4 начнут дурить - значит проблема в коде, а не железе.
А еще - почитайте про массив (array) и for - больно смотреть на эти простыни однотипного кода.
Да у меня так и был код с массивами сделан, я просто его раза 4 переписывал, думал в коде где то проблема, последний раз вообще к примитиву пошел :)
Я так то не сразу все сервы подключаю, по три штучки за раз. т.е. по одной ноге. Две ноги нормально, подключаешь третью, все капец. Все дергается как попало.
Сами сервы мелкие
вот нагуглил
"Мой потребляет до 6А в пике, но он тяжелее и приводы MG90" Это должно быть 18 штук столько жрут, у меня проблемы начинают с 8.
>, по три штучки за раз. т.е. по одной ноге. Две ноги нормально, подключаешь третью, все капец
нифига не понял. Вот у вас есть код в стартовом посте. Там видно пыпытку рулить 18-тью сервами. Вот если взять этот код, залить в дуину, но подключить только 4-ре сервы. Все остальные - сложить в коробку и спрятать за шкаф. Эти четыре нормально работают или "дергаются"?
Если нормально, то нормально на любых выходах от 36 до 53 или "на одних работает, а на других дергается"? Можете даже одну серву взять и поочереди потыкать ее в выходы.
>Мой потребляет до 6А в пике
Тоже не фига не понял. Возмите тестер и померте сколько У ВАС жрет одна серва.
> нифига не понял. Вот у вас есть код в стартовом посте. Там видно пыпытку рулить 18-тью сервами. Вот если взять этот код, залить в дуину, но подключить только 4-ре сервы. Все остальные - сложить в коробку и спрятать за шкаф. Эти четыре нормально работают или "дергаются"?
4 работают нормально, даже 7 работают нормально, а вот больше 7 фих. Все выходы проверял, на всех нормально. Это первое что я сделал. Думал сами сервы глучат, проверял разными, эффект не изменился.
> Тоже не фига не понял. Возмите тестер и померте сколько У ВАС жрет одна серва.
Тестера нету. Седня к знакомым пойду, будем мерять.
Седня еще попробую от компутерского БП запитать, через 12 вольтовую ветку, там 30 ампер нагрузки можно дать, 100% хватит :)
Можете еще попробовать такой вариант:
8-мь запитать через ваш регулятор, а 9-тую с 5v пина дуины. По идее у USB должно хватить сил одну серву пропитать (но "наверняка" это можно сказать, конечно только после промера тестером апетитов. На 95% - безопасно, но 5% - остается).
Если в таком режиме все 9-ть будут нормально работать, то... искать более мощный регулятор (или два). И лучше тогда вешать по 6-ть серв на регулятор. Что-бы был запас. Потому как потребление "без нагрузки" (когда сервы в воздухе крутятся) и "под нагрузкой" (когда им какую то работу выполнять нужно) - может отличатся. Да в любом случае - лучше не работать в "предельных режимах".
>через 12 вольтовую ветку
Так сервы же у вас - 5-ти вольтовые. В спецификациях говорится что и 6-ть покатит, но народ говорит что "лучше не нужно 6-ть вольт". Не долго живут на них.
>Тестера нету. Седня к знакомым пойду, будем мерять.
Не понимай как можно что-то электронное делать не имея своего тестера. Тем более что он копейки стоит на любом углу. А подойдет любой самый простой. Прозвонить дорожку, померять напряжение - проф. тестера за $1500 - не нужен. За $5-$10 вполне справится с этим. Так что лучше не "к знакомым", а "в магазин".
Спасибо. Вроде как действительно не хватало силы тока. Взял вместо батарей компьютерный БП и его 12 вольт, все сразу завелось.