roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 21 июн 2014, 10:15 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Я так кстати и сделал (купил за 120 руб. тестер), а т.к. никакими ардуинами не пользуюсь, то для меня ценность информации "от 0 до 14", "от 16 до 23" и "от 25 до 179" - нулевая. :D
Нужно было описывать относительно уровней сигналов (импульс/задержки/количество)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 21 июн 2014, 14:28 
Не в сети

Зарегистрирован: 08 май 2014, 22:54
Сообщения: 12
Dmitry__ писал(а):
Я с вас угораю, молодой человек. За это время можно было купить сервотестер за 300 рэ и во всем давно разобраться.
Madf писал(а):
Я так кстати и сделал (купил за 120 руб. тестер)

Отвечаю " Madf" и " Dmitry__" относительно сервотестеров. Да сервотестер - это здорово и не дорого, но у меня задача в будущем немного другая. Как я сервотестер в роботизированной системе использовать буду? Отвечаю сам, ни как. Поэтому я и пытаюсь управлять ESC с помощью контроллера, в данном случае ARDUINO.
Madf писал(а):
информации "от 0 до 14", "от 16 до 23" и "от 25 до 179" - нулевая.

Относительно нулевой пользы значений "от 0 до 14", "от 16 до 23" и "от 25 до 179". Пользы там нет только для тех кому она не нужна, а длинну импульсов можно легко вычислить из пропорции: значение "0" - с сервобиблиотеки ARDUINO - 1 микросекунда, значение "179" - 2 микросекунды (это по умолчанию, при желании можно изменить программно), а далее при использовании простой математики можно получить, например, что значение "100" соответствует длинне импульса 1,5555... микросекунды.

Добавлено спустя 2 часа 13 минут 52 секунды:
Re: Как запрограммировать ESC регулятор HOBBYWING при помощи ARD
Хочу сказать "Madf" - спасибо! Вы сказали про " импульс/задержки/количество" и я начал более подробно копаться в Arduinoвской Servo библиотеке.

И что нашел:

1) Команда "attach" с дополнительными параметрами: Servo.attach(ESC_Motor_Pin, 1000, 2000) - где при по помощи значений 1000 и 2000 можно задать уровни минимального (0%) и максимального (100%) уровня PWM сигнала в микросекундах.

2) Команда "writeMicroseconds" с помощь которой можно задать уровень сигнала в микросекундах.

По этому действительно можно отойти от относительных значений "от 0 до 14", "от 16 до 23" и "от 25 до 179" и перейти к значениям выраженным в микросекундах. В нашем случае от 1000 до 2000.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 21 июн 2014, 15:09 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
SoS писал(а):
Да сервотестер - это здорово и не дорого, но у меня задача в будущем немного другая. Как я сервотестер в роботизированной системе использовать буду? Отвечаю сам, ни как.

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

Добавлено спустя 6 минут 25 секунд:
Re: Как запрограммировать ESC регулятор HOBBYWING при помощи ARD
Покури rcdesign:
http://www.rcdesign.ru/articles/radio/tx_intro
Цитата:
Значения среднего положения ручки у разных производителей может немного отличаться: 1,52 мс - у Futaba, 1,5мс - у Hitec и JR, 1,6 - у Multiplex. Диапазон изменения у некоторых видов компьютерных передатчиков может быть шире, и достигать от 0,8 мс до 2,2 мс. Однако такие вариации допускают смешанное использование компонентов аппаратуры от разных производителей, работающих в режиме РРМ кодирования.


Все статьи:
http://www.rcdesign.ru/articles/radio


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 21 июн 2014, 15:27 
Не в сети

Зарегистрирован: 08 май 2014, 22:54
Сообщения: 12
Ну что, при работе с микросекундами все встало на свои места.

Новую прошивку для микроконтроллера прикладываю:

1) Зона нуля, как я ее назвал ранее, оказалась сигналом отсутствия PWM сигнала
2) Тормоз - импульс от 1000 до 1040 микросекунд
3) Газ - импульс от 1050 до 2000 (100% мощности) микросекунд

Но HOBBYWING все равно не работает, кто знает, как можно инверсировать PWM сигнал с ARDUINO???


Вложения:
Комментарий к файлу: Обновленная прошивка (команда 101 плавно разгоняет мотор до 100% а потом плавно его останавливает)
ESC_Motor_Control.ino [2.25 КиБ]
Скачиваний: 360
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 21 июн 2014, 15:57 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
SoS писал(а):
1) Зона нуля, как я ее назвал ранее, оказалась сигналом отсутствия PWM сигнала

Нет :)
Отсутствие PWM сигнала означает потерю сигнала приемником. Для радиомодели (где и применяются драйверы) означает - "полундра", мы падаем/идем ко дну. Алгоритм работы драйвера в таком режиме зависит от настроек вертолетный/самолетный/автомобильный. Но в любом случае это нештатная ситуация. Выход из него не обязан быть быстрым...
КУПИ СЕРВОТЕСТЕР!!! :)

Добавлено спустя 2 минуты 14 секунд:
Re: Как запрограммировать ESC регулятор HOBBYWING при помощи ARD
SoS писал(а):
2) Тормоз - импульс от 1000 до 1040 микросекунд

Вот это и есть зона нуля. Если в данный момент двигатель крутится, то он начнет тормозить :)
SoS писал(а):
Но HOBBYWING все равно не работает, кто знает, как можно инверсировать PWM сигнал с ARDUINO???

Ответ был выше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 21 июн 2014, 18:08 
Не в сети

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

Нет, не совсем так, зона нуля это N число микросекунд ниже определенного уровня/порога.

SoS писал(а):
Но HOBBYWING все равно не работает, кто знает, как можно инверсировать PWM сигнал с ARDUINO???

Никак нельзя! Чтобы ротор пошел в обратную сторону, нужно менять фазу одной из обмоток.

Я точно сейчас оперировать цифрами не могу, т.к. не разбирался, но когда пришел тестер с ESC и мотором, чуток поигрался.
Вообще меня убил на повал этот контроллер (ESC) тем, что он через чур умный!
Контролируется всё:

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

В общем сейчас мне эта вся штука нужна не для квадракоптера, а CNC станка и хар-ки в любом случае будут удовлетворяться, но вот как люди на этой хрени летают - диву даюсь. Так как скажем, если лопасть заклинит в ветке дерева, то вырулить уже будет не возможно, контроллер просто выключит нагрузку. Хотя тут всё сложно, ведь токи/мощность такие сумасшедшие, что обычно либо ветку срезает, либо лопасть разлетается на куски. :D

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 21 июн 2014, 22:08 
Не в сети

Зарегистрирован: 08 май 2014, 22:54
Сообщения: 12
SoS писал(а):
Но HOBBYWING все равно не работает, кто знает, как можно инвертировать PWM сигнал с ARDUINO???

Никак нельзя! Чтобы ротор пошел в обратную сторону, нужно менять фазу одной из обмоток.

По поводу инвертировать сигнал.
Вы меня не так поняли, просто я где то читал что некоторые PWM контроллеры воспринимают инвертированный сигнал, То есть:

Классический PWM выглядит так: 1-2 миллисекунды -HIGHT (5 вольт), 19-18 миллисекунд LOW (0 вольт).

Инвертированный выглядит обратно: 1-2 миллисекунды -LOW (0 вольт), 19-18 миллисекунд HIGHT (5 вольт).

По этому, как мне кажется, HOBBYWING просто не воспринимает мой PWM сигнал и как раз своими бипами сообщает, сигнала нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 22 июн 2014, 09:31 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Я не совсем понимаю, зачем он вам нужен (инвертированный сигнал), но в чем проблема, если он вам так нужен, то поставьте логический элемент "инвертор" и будет всё работать.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 27 июн 2014, 05:45 
Не в сети

Зарегистрирован: 08 май 2014, 22:54
Сообщения: 12
Madf писал(а):
зы: ну и как из вашего опыта, начинаю понимать, что режим программирования осуществляется при определенных условиях входного, управляющего сигнала.

Да. Для перехода в режим программирования нужно сначала подать максимальный уровень PWM сигнала - 2000 микросекунд, после чего подключить питание к ESC и контроллер переходит в режим программирования.
Madf писал(а):
Я не совсем понимаю, зачем он вам нужен (инвертированный сигнал), но в чем проблема, если он вам так нужен, то поставьте логический элемент "инвертор" и будет всё работать.)

Подскажите пожалуйста схему логического инвертора, подходящего к моей задаче?
Можно еще, наверное, залезть в стандартную сервобиблиотеку ARDUINO и подправить в ней пару строк, или добавить дополнительную процедуру, но я пока в этом не разобрался, сможет кто нибудь помочь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 27 июн 2014, 12:04 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
SoS писал(а):
Подскажите пожалуйста схему логического инвертора, подходящего к моей задаче?

какое у вас железо?
если управляете через драйвер (ESC) при помощи ардуино, то в ардуине, в коде меняете хар-ки PWM (просто математически вычитаете из байта 255, если 8-бит)

зы: сразу предупреждаю, что ардуинами не пользуюсь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 31 авг 2014, 00:23 
Не в сети

Зарегистрирован: 08 май 2014, 22:54
Сообщения: 12
Всех приветствую, решил написать, как заработал HOBYWING.
Как оказалось дело в схемотехнике регулятора HOBYWING. Обычно для управления ESC контролером достаточно подключить к ARDUINO только 2 контакта (земля и управляющий пин PWM сигнала), таких схем достаточно много в интернете. Но с HOBYWING оказалось что пин 5V нужно тоже подключить к контроллеру ARDUINO - вот и все - все заработало!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 06 сен 2014, 14:29 
Не в сети
Аватара пользователя

Зарегистрирован: 26 янв 2012, 03:59
Сообщения: 1344
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин
хм ларчик то просто открывался. а мне ведь как-то намекали на существование регуляторов с внешним питанием логики 5В, а я не верил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 06 сен 2014, 19:24 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
я пока не держал в руках контроллеров требующих такое питание
обычно с них выходит 5В, его и используем


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как запрограммировать ESC регулятор HOBBYWING при помощи
СообщениеДобавлено: 24 сен 2014, 23:44 
Не в сети

Зарегистрирован: 08 май 2014, 22:54
Сообщения: 12
В регуляторе HOBBYWING 5V 100% процентов не используется для питания. Без пина 5В он пищит и бибикает. Возможно у него просто появление на входе 5В оценивается как сигнал, что разъем подключен и только после этого он уже воспринимает PWM сигнал.


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

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


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

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


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

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