roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 дек 2024, 11:39

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 14:05 
Не в сети

Зарегистрирован: 12 фев 2013, 13:47
Сообщения: 8
Ребят, подскажите новичку. В момент подачи питания ардуино переводит серваки в нулевое положение при том еще и рывками. подскажите как с этим бороться и почему это происходит. P.S. ардуино мега.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 14:50 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Ответ на ваш вопрос содержится в вашем вопросе:
1. Серво переводится в 0 положение вероятно потому что вы сами говорите перевести их в нулевое положение :)
2. Как с этим бороться - не говорить переводить в нулевое положение :)

А если серьезно - вы в момент включения знаете в каком положении серва или нет?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 15:12 
Не в сети

Зарегистрирован: 12 фев 2013, 13:47
Сообщения: 8
"Серво переводится в 0 положение вероятно потому что вы сами говорите перевести их в нулевое положение "

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

#include <Servo.h>

Servo servo1l, servo2l, servo3l, servo1r, servo2r, servo3r;

void setup()
{
servo1l.attach(52);
servo2l.attach(53);
servo3l.attach(23);

servo1r.attach(25);
servo2r.attach(24);
servo3r.attach(51);
}

void loop()
{
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 15:18 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
И? Что вы хотите то? Как хотите чтобы ваша конструкция себя вела?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 15:28 
Не в сети

Зарегистрирован: 12 фев 2013, 13:47
Сообщения: 8
Хм, нашел, при подключении ЮСБ к ноутбуку прроисходит эта проблема, когда же подключил к зарядке от телефона - все нормально работало. мб это из за недостатка питания?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 16:01 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Скорее из-за архитектуры аурдины. )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 16:09 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
demon112, так как вы хотите чтобы ваша конструкция себя вела?

Сервы не передают наружу информацию о своем текущем положении + дергаются некоторые при подаче питания независимо от того, как ими управляют - арудиной, чем-то еще или вообще никак.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 16:18 
Не в сети

Зарегистрирован: 12 фев 2013, 13:47
Сообщения: 8
Ну в коде который я написал выше - я хотел чтоб сервы просто стояли на месте, вместо этого (при подключении через юсб к пк) они себя вели довольно странно - переводили свое состояние в положение «ноль». Когда писал в loop() некий код типо s1.write(90); delay(500): s1.write(180); и т.п. то при подключении питания от пк они сначало думали потом переводились в состояние 0 и потом только начинался выполняются цыкл loop. Щас вот подключил к зарядке - таких проблем не стало...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 12 фев 2013, 16:55 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
1. перед выключением всего, запоминаем положение сервы.
2. включаем ардуину и выдаем команду на запомненное положение сервы
3. включаем питание на серву.

Добавлено спустя 1 минуту 33 секунды:
demon112 писал(а):
Ну в коде который я написал выше - я хотел чтоб сервы просто стояли на месте, вместо этого (при подключении через юсб к пк) они себя вели довольно странно

:ROFL: :ROFL:
ну естественно.
им тупо нехватает анпряжения и у тебя всё глучит и перезапускается при пуске.
USB выдаёт мизерный ток

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 13 фев 2013, 00:53 
Не в сети
Аватара пользователя

Зарегистрирован: 27 дек 2010, 02:50
Сообщения: 45
Откуда: Санкт-Петербург
Сталкивался с похожей проблемой: при подаче напряжения серва, подключенная к ардуине начинала дёргаться в течении нескольких секунд, стремясь выйти за пределы рабочей зоны, так, что трещали шестерни. В программе, при этом, была жёстко прописана команда выйти в середину. Думаю, это происходило из-за работы загрузчика. Питание на серву подаётся сразу, а программа начинает работать только после отработки загрузчика. В течении времени работы загрузчика серва не получает управляющего сигнала и ведёт себя неадекватно. В таком случае, решением может быть включение питания серве после запуска программы с другого выхода ардуины через транзистор или реле, например.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 13 фев 2013, 01:26 
Не в сети
Аватара пользователя

Зарегистрирован: 02 фев 2013, 12:50
Сообщения: 319
Откуда: Москва
Скорее всего это происходит по тому, что пин контроллера во время работы загрузчика находится в Z состоянии
Попробуйте подтянуть управляющий пин сервы резистором 1к к GND

_________________
Мои проекты


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 13 фев 2013, 01:29 
Не в сети
Аватара пользователя

Зарегистрирован: 30 мар 2012, 16:39
Сообщения: 343
Откуда: Москва
прог. языки: C#, Си, php
ФИО: Влад
Andrei_SPb писал(а):
...серва не получает управляющего сигнала и ведёт себя неадекватно.

Прочел и напомнилось... при наличии питания в движение серву может привезти любая помеха и наводка, достаточно дотронуться рукой до сигнального провода или подцепить к нему проводок-удленитель, даже "висение" сигнального провода в воздухе может вызывать конвульсии. Так вот может полный бред предложу, а что если притянуть сигнальный провод к земле через 100к?
:P

_________________
Лучше переесть, чем недоспать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить поворот servo при инициализации в Ардуино
СообщениеДобавлено: 13 фев 2013, 21:31 
Не в сети
Аватара пользователя

Зарегистрирован: 27 дек 2010, 02:50
Сообщения: 45
Откуда: Санкт-Петербург
CyberLab писал(а):
Скорее всего это происходит по тому, что пин контроллера во время работы загрузчика находится в Z состоянии
Попробуйте подтянуть управляющий пин сервы резистором 1к к GND

Kitam1n писал(а):
а что если притянуть сигнальный провод к земле через 100к?
:P

Хорошая идея, нужно будет попробовать...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

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


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

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


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

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