Контроллер для кордовых электричек

woodprop

Всем привет!

Все кто делал кордовые электрички сталкиваются с вопросом управления двигателем. Многие ставят сервотестер и летают до отсечки регулятора, что очень неудобно, т.к. время полёта непонятно и последние круги модель летит очень вяло и приходится активно бегать, сохраняя натяжку корд.

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

Итак, что мы имеем по функционалу:

  • плавный запуск мотора (можно задать нужный уровень “газа”)
  • полётный таймер
  • предупреждение об окончании времени -> за несколько секунд до отсечки мотор “гавкает” играя газом, после чего есть некоторое время на долёт (на случай если, например, самолёт на спине - будет время подготовиться к посадке)
  • первоначальная калибровка диапазона регулятора

Все временные интервалы настраиваются перед заливкой прошивки (да, это не всегда удобно, но пока так)

Для сборки нонадобится:

  • Arduino Nano (китайская с Али подойдёт)
  • обрезок удлиннителя сервомашинки с “розеткой” (или можно запаять провод от регулятора напрямую)
  • кусок двухжильного провода
  • кнопка без фиксации

По подключению всё просто - провод регулятора + на +5v, минус на GND, сигнал на D3
Кнопка между любой точкой массы и А0
Родную кнопку ардуинки я отпаиваю, чтобы в термоусадке не нажалась

Прошивку можно скачать с ГитХаба - github.com/woodprop/C-L-Controller (зелёная кнопка)

Как пользоваться:

  • сперва желательно откалибровать регулятор на наш диапазон. Для этого нужно при выключенном питании зажать кнопку и, удерживая её, подать питание на регулятор. Регулятор поиздаёт разные звуки и успокоится, а светодиод на ардуинке будет непрерывно мигать. Кнопку можно отпустить и выключить питание

  • для запуска нужно подать питание на регулятор, дождаться звукового сигнала готовности (см. инструкцию к регулятору) и зажать и держать кнопку до включения двигателя (3-4 сек)

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

Всего таких контроллеров сделано и эксплуатируется уже около десятка и я решил поделиться этим проектом с общественностью.

Надеюсь, кому-то это пригодится, если есть вопросы - с радостью отвечу!

Ну и немного картинок:

ZigZag_f2b
woodprop:

и я решил поделиться этим проектом с общественностью

Константин, дай Бог тебе здоровья! Спасибо за вклад в развитие нашего любимого хобби! Думаю многим будет полезен этот контроллер.

ДАВ

Круто как! Надо повнимательней изучить прошивку и испытать! Супер!

pv11
woodprop:

Родную кнопку ардуинки я отпаиваю, чтобы в термоусадке не нажалась

Я делал П-образную скобу с отверстием под “скрепку” и приклеивал ее на циакрине к плате, потом сверху термоусадка. Если нужно протыкаешь термоусадку и скрепкой нажимаешь кнопочку.
Но если она не нужна то можно конечно и отпаять…

Paladin

Я делал калибровку регуля встроенной. То есть, даём при подаче питания полный газ, потом скидываем в 0 - регуль калибруется при каждом старте сам по себе.
Ну и продолжительность полёта по кнопке - нажал раз - ждём 30с добежать до ручки, потом мотор плавно запускается и пашет минуту. Жмём 3 раза - 3 минуты.

RandomJ

Огромный Благодорям’с за ПО. будем пробовать. Есть схожий проект от Алексея Шаповалова (mrpix) github.com/MrPix/CLAAT
Я думаю с каждого по чуть-чуть и мы создадим изделие не хуже, а даже лучше чем у буржуев.

Paladin

Давно делал, исходники сразу найти не могу… чуть позже.
А внешне… да то же самое 😃

RandomJ

Paladin,
так “внутрянка” и есть самое интересное. Я в программировании(создании кода) не силён, по этому и собираю с миру по нитке…
ИМХО алгоритм работы контроллера должен быть такой:

  1. Подали питание

  2. калибруем ESC (полный газ, через три секунды “стоп”)

  3. ожидаем нажатия кнопки

  4. если [кнопка нажата (1-2 секунды)], то переходим к п.5, иначе п.3.

  5. запуск двигателя

  6. полётное время

  7. сигнал окончания полётного времени

  8. время на посадку

  9. остановка двигателя

  10. переход к п.3.

user11

Друзья, Всем привет! Я не шибкий электронщик… Попытался таки вчера залить в ардуинку скетч Кости. Не хочет заливаться. Программа ругается, что мол ошибка загрузки и гуляйвася!.. 😦 Действовал вроде как учёные дядьки из видюшек напутствовали… Если не затруднительно, поясните за жизнь, как грамотно сию процедуру сотворити! Все параметры выбрал верно вроде…

С уважением!!! 😃

johnnyZ
user11:

Друзья, Всем привет! Я не шибкий электронщик… Попытался таки вчера залить в ардуинку скетч Кости. Не хочет заливаться. Программа ругается, что мол ошибка загрузки и гуляйвася!.. 😦 Действовал вроде как учёные дядьки из видюшек напутствовали… Если не затруднительно, поясните за жизнь, как грамотно сию процедуру сотворити! Все параметры выбрал верно вроде…

С уважением!!! 😃

Может в закладке ИНСТРУМЕНТЫ->Процессор:ATmega328P(Old Bootloader)-> выбрать ATmega328P(Old Bootloader) вдруг поможет

RandomJ

На оборотной стороне платы должен быть установлен кварц
справа внизу блестящий прямоугольник. Если его нет (как у меня) то только через программатор. Или же в МЕГЕ отсутствует загрузчик, опять же нужен программатор USBASP. Вечером попробую более детально объяснить, если будет возможность в и-нет выбраться.

RandomJ

Попробуем чуток по оффтопить…
По умолчанию используем Arduino nano от братьев китайцев. подключаем платку к усб либо просто подаём питание на соответствующие выводы (+5v, GND).
Если при включении светодиод “L” несколько раз коротко мигает, а потом начинает мигать редко, то радуемся - плата работает, загрузчик присутствует (для нас важно), тестовая программа “Blink” загружена. Устанавливаем драйвера для CH340(341). Проверяем в диспетчере устройств наличие СОМ-порта от СН340, в параметрах порта устанавливаем скорость 115200. Запускаем ARDUINO IDE. заходим файл > настройки, ставим “галочки” на “компиляция”, “загрузка” и “показать номера строк” (сие на любителя, мне так удобнее), закрываем настройки. Заходим в “инструменты” выбираем нашу плату “Arduino Nano” с процессором ATmega328P (название читаем на корпусе микросхемы на верхней части платы). Выбираем наш СОМ-порт(номер порта в свойствах порта) Выбираем нужный скетч и загружаем его в ардуинку. если нам не повезло и загрузчика в ардуинке нет, то слегка материм китайцев и приобретаем программатор USBASP (благо он не так дорого стоит). Но это уже будет другая история.

user11

Рома, большое спасибо за науку!.. 😃 Придётся раздобыть программатор однако!.. 😦

Только один вопрос: какой версии?!

RandomJ

чем свежее, тем лучше выбирай вариант с переходником с 10 на 6 ног, у нано isp порт шестиногий(разъём 2*3 ноги)

как вариант aliexpress.ru/item/32670511994.html
бери сразу два программатора, можно будет обновить прошивку в одном программаторе при помощи другого.😛

по теме:
Собрал сию конструкцию, но на arduino pro mini. Не всё пошло гладко. Не хочет, имеющийся под руками, Turnigy TY-P1 25Amp HEXFET

проходить калибровку. Подключил вместо регулятора серву, серва отклоняется ,условно, от 0 до 180 градусов. Подключил серву к сервотестеру - серва отклоняется от 45 до 135 градусов… задумался: а в чём подвох? пойду почитаю Маркса… в смысле RTFM…

RandomJ

Ага, копнул чуть глубже, почитал описание библиотеки “SERVO” у неё оказывается 0 градусов это импульс длиной 544 мкс по выходу, 180 градусов это импульс длиной 2400 мкс. А регулятор понимает от 1000 до 2000 мкс. Как говорилось в одном фильме: “… учите матчасть, товарищи…”

user11

Ромка привет! Заказал эту гульку с алишки. Теперь ждём!..������������������☕☕

woodprop
RandomJ:

А регулятор понимает от 1000 до 2000 мкс.

Да, сталкивались с таким. Примерно 1 из 10 моделей регуляторов не подходила под диапазон по-умолчанию и нужно поиграться с этими переменными:
int idle = 10; // Нулевое значение газа
int fullPower = 150; // Максимальная мощность

Сами ардуинки я брал здесь: aliexpress.ru/item/4000587268145.html?spm=a2g0v.12…
и здесь:
aliexpress.ru/item/32341832857.html?spm=a2g0s.9042…

Для них нужен драйвер CH340 - windows 10 сама находит, для 7 надо искать
И, как уже подсказали - нужно в настройках указать корректный тип процессора и “Old bootloader”

15 days later
Марат
woodprop:

Все временные интервалы настраиваются перед заливкой прошивки

Т.е. в поле без компа изменить, например время полёта будет невозможно?

Paladin:

Я делал калибровку регуля встроенной.

Не нашли прошивку?😒