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

Маркс

"задним умом все крепки"©
надо было просто перекусить ножки под гироскопом, а не пытаться его отпаять ((

VitalikV
Маркс:

понять бы как они интерпретируют данные с акселя.

Так там файл с программой на гитхабе лежит, code.py. В блокноте можно посмотреть.

Маркс
VitalikV:

Так там файл с программой на гитхабе лежит, code.py. В блокноте можно посмотреть.

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

повесил волосок на пин питания, прицепил гироскоп на “соплях” к Ардуинке.

и о чудо, оказывается кроме дорожки ничего не сломал.

Провел эксперимент с акселерометром, который на борту,
углы считает быстрее и точнее, даже без библиотеки Кальмана.

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

Собственно говоря, сейчас глянул шапку, а там

// изменения v2:
// - добавлена функция boolean Engine_Proc (int, int)
// параметры 
// - требуемое положение газа
// - условная задержка (в циклах программы)
// возвращает
// true - при достижении требуемого значения
// изменения v3
// - убрал процедуру таймера, вся обработка в одном цикле.
// изменения v4
// - расчет углов только на основании данных акселерометра
// изменения v5
// - добавляем программатор черех ГФК с помощью Arduino Uno + LCD Key shield
// - попробую другую библиотеку для MPU6050
// изменения v6
// - пробую добавлен гувернер
// - гироскоп пока отключил
// изменения v6.2
// - добавлена обработка данных с гироскопа MPU6050, пока с выводом результатов в SoftSerial без влияния на обороты мотора 

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

Но товарищ Гайвер, который реально сильно умный, все таки считает,
что DPM дает наиболее точный результат, так как учитывает в том числе и ускорения.

и резком возникновении ошибки при ускорении модуля вдоль измеряемой оси, то есть угол покоящегося модуля он покажет, но стоит начать его двигать – угол изменится.

Почитать можно тут

Собственно говоря, нет никаких противопоказаний к использованию разных вариантов,
схема конечного устройства от этого вообще не поменяется

Маркс

спалил usb-uart и испортил кросс-плату, завтра буду травить новую, сегодня уже нет желания.
и надо думать, как прошивать Pro-Mini другого usb-uart у меня нет ((

RandomJ

Через другую ардуино, уно или нано. Или через дата-кабель от старого телефона.

Маркс

не все так просто ), я это уже проходил.
или подключение в варианте Arduino as ISP,
или снимать с платы микро контроллер
если как советуют RESET на землю, то все равно нужна кнопка ресет на прошке ))
при этом пин DTR использовать не получится,
а кроме того, на прошках достаточно часто пин DTR на ногу RESET заведен без кондера,
а тогда RESET на массу на нанке или унке автоматом сбрасывает прошку)

Маркс

Но все не так страшно как казалось,
на USB-UART умер порт дергающий DTR, прошка тоже не пострадала,.
А с ручным ресетом не получалось потому как DTR на массе сидел )
В общем завтра все соберу, кнопку ресет вытащу наружу,
дорожки на кросс-плате отремонтирую “соплями”,
опыт уже есть ))
И все у меня получится, по крайней мере на столе все по отдельности работает,
правда при прошивке приходится нажимать RESET на прошке.

Маркс

Прошка пострадала сильнее чем казалось
Решил проверить с внешним питанием, не от USB-UART,
а прошка не заводится и с/д не светится, взял лупу и стал смотреть.
дорожка от ноги RAW на стабилизатор 5В сгорела
Итого, результат "семь раз отрежь, а потом подумай"©
четыре дорожки на плате таймера, две дорожки на прошке,
со второй проще, временно перекину сигнал с ноги D4 на D6.

Да и по Ардуинке на данный момент решение есть,
на таймере поставлю перемычку RAW -> 5V, благо регулятор выдает 4,8В, а не 6В.

14 days later
Маркс

две недели бился над таймером, не хочет зараза прошиваться и работать с Pro Mini
и только сегодня додумался проверить напряжение питания процессора,
я был в полной уверенности, что получил из Китая 5В/16МГц, в итоге имею 3,3В/8МГц.
измерил напряжение питания процессора и был сильно удивлен, там 3,3В.
я всю голову сломал, циклы рвутся, программа дурит, а всего на всего тактовая в два раза ниже.

Маркс

завтра заберу кучка про мини на 5В и 16МГц и буду в очередной раз собирать прототип.
кста, поставил в частоту 8МГц в настройках IDE и выяснил,
что USB-UART тоже в добром здравии.
вот такие дела, доверяй Китайцам, но проверяй.

Маркс

Забрал “Прошки”, опять оказались 3,3В/8Мгц, у меня просто нет слов.
Сделал очередной заказ, теперь уже на Авито в Омске, продавец клялся, что они у него на 5В,
посылка уже приехала на Казанский вокзал, так что еще пару дней ожидания.

А пока, по просьбе ребят из авиамодельного клуба, доработал двух канальный,
дискретный пульт управления китайской машинкой, до трех канального,
в котором один из каналов пропорциональный.
Как выяснилось, в этом пульте присутствует слайдер, который китайцы используют, как две кнопки ).
По сути сам вывод скользящего контакта даже не был задействован.

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

Канал радио реализован на NRF24L01.

Сама ардуина разместилась в батарейном отсеке.

Очень удобно при необходимости прошить ).
Ну и "взгляд внутрь"©

Индикатор заряда можно наблюдать через отверстие в ручке ) (очень бюджетное решение)

Приемник пока в варианте

завтра планирую его довести до ума.

А что самое удивительное, все прекрасно работает.

Маркс

Так же пользуясь случаем и наличием “лишних” Прошек3,3,
довел до ума “долгострой”

Восемь пропорциональных каналов

  • одна хатка полностью
  • вторая хатка два канала (не получается припаяться к двум выводам)
  • два курка под пальцами
    и ЕМНИП шесть или восемь дискретных (надо посчитать, но шесть есть точно со второго по седьмой)
    У проши всего 14 цифровых выводов
  • два UART их я не трогал
  • пять нужны для NRF24L01
  • ЕМНИП один использую для индикации (но могу ошибаться)
VitalikV

Такой пульт можно приспособить к кордовым копиям, только сигнал надо передавать по двум проводам (один в изоляции, второй один из кордов).

Маркс

Со времен увлечения симулятором Су-25Т стоит дома такая “приблуда” ))

Точнее приблуд в комплекте две,
это РУС (рычаг управления самолетом), есть еще РУД (рычаг управления двигателем),
только уже лет десять как симулятор не запускал )

Вот бы такую “шляпу” прикрутить к кордовой ручке.
там каждую хатку можно заменить на пропорциональную ))

Это так, в порядке “бреда”, разговор поддержать.

Маркс

Кста, попробовал акселерометр от GY85 (из закромов),
интересно может получится, но вопрос как оно будет работать при ускорениях
В принципе, прошек 5В приедет четыре штуки, можно будет второй вариант сделать с акселерометром
ADXL345 приехал вместе с прошками три дня назад

Маркс

А вот и приемник реализован

В данном варианте он одноканальный, с выходом только на регулятор оборотов.

Осталось “закрасить” и спаять между собой верх и низ.
Размеры получились весьма демократичные 45х20х15 мм, при весе 7,7 грамм

3 months later
Маркс

Так до сих пор не получилось протестировать таймер.

Но с другой стороны есть первые результаты скрещивания Ежа и Ужа,
а именно MPU6050 и ESP8266.

На данном этапе на смартфон через WiFi выводятся углы крена и тангажа.
Т.е. каждые 12мс ESP8266 получает от гироскопа данные о его положении
и выводит результат измерения в поля Pitch (тангаж) и Roll (крен),
на WEB страничке данные обновляются десять раз в секунду.

Значение PWM в канале регулятора тоже будет отображаться.

Второй этап управление оборотами мотора на основании данных о положении модели.

Кстати, вернулся к вопросу.

Маркс:

но вопрос как оно будет работать при ускорениях

это про использование акселерометра в качестве источника данных о углах крена и тангажа.

оно не работает “совсем никак”, то есть видимость работы оно создает и даже обороты меняет,
но надо понимать, что аксель без гиро, какой бы он не был навороченный, реагирует на любое сотрясение,
в том числе и на вибрацию модели от процесса полета и не только.

21 days later
Маркс

Продолжение банкета
По причине блокировки YouTube в России и абсолютного отсутствия желания выкладывать на Ru,
пока в виде ссылки на Ya.Диск
WEB интерфейс настройки параметров
Калибровка гироскопа
Последняя операция необходима в случае изменения геолокации на север или юг,
что вызывает изменение гравитационной постоянной )),
так же изменение геолокации влияет на работу акселерометра
как результат страдает точность измерения углов крена и тангажа

Настройки сохраняются в EEPROM, в том числе и калибровочные данные для гироскопа

vittek

Так что там в конечном итоге контролёр готов к использованию в пилотаже? Или все же ожидать танцы с бубном?

VitalikV

Виктор, спаяйте, облетайте, и скажите нам,готов он или нет, хотя бы те скетчи, что Геннадий выкладывал ранее.

А то все ждут, пока кто то сделает и облетает.

У меня в этом сезоне аврал , даже за ручку не держался, нет времени собрать и облетать таймер.

Если хотите готовый продукт, то берите Бургеровский и летайте, там все работает.

RandomJ

У бургеровского комплекта есть один косяк- самопроизвольный запуск мотора после окончания комплекса. Вызвано это перезагрузкой таймера. Пропадание питания или глюк софта пока не выявили. Плохой контакт в разъëмах исключён.