Нужен ли Arduino для управления двумя сервами?

SergAG
Offline
Зарегистрирован: 22.12.2012

Задача разовая и локальная: дистанционный поворот и наклон камеры сервами MG995 или SG90. Редкий, медленный.

Есть ли способ управления, более простой для человека, не имеющего никакого опыта в программировании,  чем с нуля поднимать тему и коннектить сервы с платой Arduino? Прилепленную тему посмотрел. Не помогла.

 

leshak
Offline
Зарегистрирован: 29.09.2011

Зависит от того вам нужно "автоматическое" или "ручное". Если ручное - то идем покупаем в любом магазине авто/авио-моделек пульт и приемник дистанционного управления для самолетика, лодки, авто. Они как раз и рулят сервами.

Если вы хотите какую-то "автоматичность", то либо пытатся на "рассыпухе" собрать схему генерирующую PWM меняющийся со временем по какому-то закону (сильно сомневаюсь что это будет проще, разве что у вас громадный опыт схемотехники, но все равно выйдет "монстр").

Либо все-таки "програмно".

Сделать что-то "програмно" можно тремя способами:

1. Учится, разбиратся и писать (возможно даже на время "отложить" и начинать с основ "мигать диодом", циклы, ветвления, типы переменных и т.п.) .

2. Гугл и искать до посинения в надежде что кто-то уже сделал "в точности такое же как вам нужно" и все детаельно выложил/расписал

3. Найти исполнителя которые сделает эту работу за вас.

SergAG
Offline
Зарегистрирован: 22.12.2012

Нет, автоматическое мне не нужно. Беру вот такой комплект, цепляю камеру. Камера на улице, от нее идут всякие проводочки (до 5м). Раз в день подстраиваю ее на определенное место, после чего положение должно зафиксироваться. Не напрягает совершенно использовать для этого 4 кнопочки - левее, правее, выше, ниже.

Как я понимаю, пульты используют ту же ШИМ, только беспроводным образом. Я посмотрел быстренько их в нете - здоровые они, для моего применения как из пушки по воробьям. Тогда уж Ардуино ))), что-то вроде этого. Но тогда нужен п.3, т.е. исполнитель задачи. Во всяких гуглах люди описывают всякие применения, например, серва медленно поворачивается с поворотом потенциометра. Очень юзабильно.

Наверняка чтобы просто подать сигнал ШИМ, сущестуют более простые способы, чем писать коды. Для чего здесь применяется Ардуино, для более сложных связей с внешними датчиками? Если на серву подасть сигал ШИМ, а потом снять его, она зафиксируется? Или на нее постоянно надо гнать сигнал соответствующей положению скважности?

leshak
Offline
Зарегистрирован: 29.09.2011

SergAG пишет:

Нет, автоматическое мне не нужно. Беру вот такой комплект, цепляю камеру. Камера на улице, от нее идут всякие проводочки (до 5м). Раз в день подстраиваю ее на определенное место, после чего положение должно зафиксироваться. Не напрягает совершенно использовать для этого 4 кнопочки - левее, правее, выше, ниже.

Я посмотрел быстренько их в нете - здоровые они, для моего применения как из пушки по воробьям.

Ну его можно разломать. Подключить блок питания (львиная доля в пульте это батрейки, плюс просто делается большим что-бы было удобно держать), сделать другой корпус поменьше.

SergAG пишет:

Как я понимаю, пульты используют ту же ШИМ, только беспроводным образом.

В большинстве. Могут быть какие-то уж совсем "сверх-экономные" китайские варианты где что-то свое придумали :) Но обычно именно так. Приемник принимает что-то от пульта и выдает ШИМ. Лучше продавцу ткнуть в лицо сервой и спросить (или даже попробовать) - вот эту серву крутить сможет?

SergAG пишет:

 Тогда уж Ардуино ))), что-то вроде этого. Но тогда нужен п.3, т.е. исполнитель задачи. Во всяких гуглах люди описывают всякие применения, например, серва медленно поворачивается с поворотом потенциометра. Очень юзабильно.

Можете попробовать написать мне на 

void setup(){
  Serial.begin(9600);

  Serial.print("alxarduino");Serial.println("@gmail.com"); // тут "зашифрована" почта :)

}
void loop(){}

Но сразу предупреждаю "дорого" :)  Бесплатно, принципиально, помогаю только тем кто "сам пытается".

Но вообщем-то тут все "примитивно". Возможно кто-то и дешевле найдется. Или бесплатно прямо на форуме сделает.

Да и, вообщем-то самому тут разбиратся не так уж и долго, зато удовольствие получите (если не горит "нужно было вчерась").

leshak
Offline
Зарегистрирован: 29.09.2011

leshak пишет:

Ну его можно разломать. Подключить блок питания (львиная доля в пульте это батрейки, плюс просто делается большим что-бы было удобно держать), сделать другой корпус поменьше.

Кстати можно сильно съкономить, если покупать не "нулевый из коробки", а спросить продавца "а у вас есть что-нить на запчасти"?

Я так прикупил разбитый вертолетик, уже списанный, за $7. Как потом выяснилось у него только "пластик для красоты" побился, одна пласмаска (заменяется обычной ниткой) и на плате одну ногу у транса подпаять нужно было. Зато получил полный комплект управления (отдельно такой $20-$30), пару движков, редукторов, литий полимерный аккум, ESC контроллер и т.п.

leshak
Offline
Зарегистрирован: 29.09.2011

И еще. Вопрос "нужен ли ардуино" - скорее всего нет. В итоге. :)

Но он удобен при разработке/отладке (как минимум может выступить в роли програматора). Особенно если до этого "не имели дела".

Если все хочется сделать "покомпактней", то после того как все написано, отлажено, ардуина может быть заменена ATMEGA8 микрушкой (или даже, возможно atiny копеечным) , плюс пара деталек "обвязки" (а если повезет, то даже без них). А дуина освободится для следующих подвигов :)

 

leshak
Offline
Зарегистрирован: 29.09.2011

SergAG пишет:

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

Ну так возмите тогда эти примеры, раз они вам подходят.  Даже в гугл ходить не нужно :)

http://arduino.ru/forum/programmirovanie/upravlenie-servoi-cherez-fotore...

Вместо фоторезистора ставите потенциометр (с точки зрения дуины это одно и тоже) и все :)

SergAG пишет:

Если на серву подасть сигал ШИМ, а потом снять его, она зафиксируется? Или на нее постоянно надо гнать сигнал соответствующей положению скважности?

Если снять сигнал - она не "зафиксируется". Но и не "начнет крутится в ноль". Останется "где была". Просто выключит свой движок, перестанет "удерживать" позиции. Дальше ее фиксация зависит от силы трения в ее редукторе и т.п. Вообщем зависит от самой сервы и того насколько большое внешние воздействие пытается ее "провернуть". По горизонтально оси - почти наверняка будет стоят (ну если у вас не штормовые ветра :), по вертикальной - если что-то тяжолое навесите, может и "понурить голову". Тут можно попытатся какой-то противовес грузу придумать (кстати это будет хорошо и в момент работы. меньше напрягаться серва будет).

SergAG
Offline
Зарегистрирован: 22.12.2012

Понял, спасибо. Жаль, вчера не заказал в китайщине: была надежда, что можно будет без нее обойтись. И пример интерсный, практически в мой случай.

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

leshak
Offline
Зарегистрирован: 29.09.2011

SergAG пишет:

Понял, спасибо. Жаль, вчера не заказал в китайщине: была надежда, что можно будет без нее обойтись. И пример интерсный, практически в мой случай.

На самом деле даже этот пример "переусложнен". Возможно вам будет достаточно и первого же базового примера идущего с библиотекой Servo.

Запускаете ArduinoIDE (среда разработки) идете в File/Examples/Servo/Knob

Ну сообственно, это и есть пример как переменником крутить серву. Простейший случай.

В инете, этот же пример можно найти тут: http://arduino.cc/en/Tutorial/Knob  - официальная ардуино документация :)

Там же и "как подключать" увидите.

Вообщем купите дуину, купите серву и потенциометр, поиграйтесь, подключите...  возможно не так страшен черт как его рисуют :) Очень вероятно что никакие "исполнители" вам и не понадобятся ;)

SergAG
Offline
Зарегистрирован: 22.12.2012

Наверное, так и сделаю. Вдруг еще пригодится. Планирую в доме управлять отоплением. Сигналы с датчиков и команды раздавать смэш сетью по ZigBee, а что должно раздавать команды, пока не углублялся. Может Ардуино такие задачи решать? Поддерживать температуру - наверняка, а вот алгоритмы посложнее для него возможны? Например, в доме отопление двухрежимное, т.е. температура ожидания (ночью и днем в будние дни) градусов 16, и рабочая 22. Время, за которое надо включить нагрев, чтобы дом успел прогреться, зависит от нескольких факторов. В основном, от внешней температуры.

Обязательно ли для управлением сервами брать оригинал, или сгодится китайский продукт. Они там от 13 до 15 долларов. Всякие Uno, R3, nano. Все равно оттуда сервы ждать.

leshak
Offline
Зарегистрирован: 29.09.2011

В принципе, для управления сервами вам хватит и одного камня AMTEL-ловского. Все остально - для удобства прототипирования, заливки скетчей и т.п. "Мозги" у них - у всех одинаковые. А качество сборки - тут уж как повезет. На то они и китайцы. Иногда на питании любят съекономить. Иногда платы плохо упакуют что все поцарапано-погнуто. Не угадаешь. Мое личное мнение - это скорее исключение. И брать китайцев можно. Но "гарантии" вам никто не даст. Сами решаете. Если хотите 100%, то ищите продавца в своем городе. Проверяйте при покупке, имейте куда вернуть. Но и цена будет в разы дороже :)

Функционально, как я уже говорил, подходит любая плата. У них нет какой "сервоспециализированности". Серве нужно две вещи. Питание и PWM. Питание можно брать напрямую от блока, PWM выдаст любая дуина (ну разве что 3-х вольтову экзотику типа Fio не брать). Все. 

Схемотехнично сами платы китайцы как правило делают "тупо один в один", вот с шилдами иногда проявляются "отсебятину" что еще разгадать нужно что куда они вывели (или не вывели и забыли).

Но вот вторая плата (за $15). Как раз похожа на "отсебятину". Кнопка Reset стоит раком (вертикально). Не уверен насколько это надежно. И будет ли мешать при надевании шилдов. Хотя, если не будет мешать, то возможно так даже удобней (на родной при нахлобученом шилде к ней уже не подлезешь).

На той где $12 - reset опять-таки "не на своем месте". Что говорит о том что китайцы сделали разводку сами. Но... стало ли от этого хуже - неизвестно (скорее всего - не стало).