Проект выходного дня - микроАППА для микрокоптеров (и др. микромоделей)

rual
pilot258:

это внутренности пульта Найн Иглс

маркировка SE02 500 мне совершенно ничего не говорит, и гуглу тоже(

pilot258

вот и я про тоже, из чего китайцы собирают вообще не понятно.

rual
pilot258:

из чего китайцы собирают вообще не понятно

из своего ))

Sir_Alex
rual:

Пока радиомодуля у меня нет, пока не решился покупать FrSky DHT, т.к. в нем нет возможности работы с приёмышами X-серии.

Вроде как должен работать, вот из описания приемыша X8R: Compability: FrSky DFT/DJT/DHT/DHT-U in D_mode

P.S. У меня как раз стоит DHT в Turnigy 9X, и есть X8R, но еще не пробовал их сбиндить…

rual
Sir_Alex:

Проверил. Работает связка DHT + X8R

вот это здорово! Буду заказывать!

Andrey_Lopatko

Про стики и эргономику пультов:
в фпв ветке тусил (сейчас вроде забанен) товарисч ФМкит. Так он управляет своими леталками то нунчаками, то хедтрекерами, то автомобильными пультами… его спрашивают:
-а что так?
-да, у меня вроде все пальцы на месте нужном, но не даются мне ваши стики…

9 days later
rual
Sir_Alex:

Проверил. Работает связка DHT + X8R

А вот с X4RSB нет 😦

Compatibility: FrSky X-series Module (XJT etc. ) & Taranis X9D in D16 mode
(X4R / X4RSB is not work with D-series Module)

Этот приемник мне интересней чем тяжелые X8R и X6R…

Andrey_Lopatko:

Про стики и эргономику пультов:
в фпв ветке тусил (сейчас вроде забанен) товарисч ФМкит. Так он управляет своими леталками то нунчаками, то хедтрекерами, то автомобильными пультами… его спрашивают:
-а что так?
-да, у меня вроде все пальцы на месте нужном, но не даются мне ваши стики…

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

rual
Tahorg:

Посмотрите тут генерация PPM на атмеге с помощью таймера, а не пустым циклом.

Спасибо! Таймером это правильно, но вот для меня вся прелесть была в том, что за рамки арду-кодинга не выходить 😃
И ещё одна проблема, у меня нога выхода ППМ не зацеплена таймер 😦 хотя для стандартной наны выход можно поменять

Tahorg

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

rual
Tahorg:

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

Тоже склоняюсь к этому варианту, но пока лень )

Tahorg

При детальном рассмотрении - не надо на таймер. Потому что гавно этот АВР, простите. Я тут переделал один свой скетч старый, преобрзователь ппм -> каналы ПВМ. Сначала был простой - в лупе проверял пин и по мере изменения соотвественно менял каналы. Все работало. Но некрасиво же - повесил на прерывание, на falling edge, код упростился, стало все частенько и красивенько. Вот только одна беда - сервы начали нееееемножко подергиваться. Чуть-чуть. Долго бился - все правильно, а подериваются. Особенно на “дальних” каналах.

Вобщем, в отличии от стм, где все стоит как влитое, тут прерывания отрабатывают (таймерные тоже) не совсем “вовремя”. А при точности 1мкс и частоте 16МГц у нас выходит неободимая точность в 16 тактов. А чтоб посчитать время надо 16бит на 8битном процессоре. Что тоже жрет такты. Вобщем - нафиг прерывания с такими скоростями. Ну или нафиг Атмегу 8 битную.

Я купил несколько STM32F103 плат за 4 евро (да, четыре евро) штука. ПВМ на нормальных таймерах, нормально работающие прерывания, 1 такт на 32битную логику, 72МГц … и по цене дешевле ардуины. Да, немного сложнее писать “стартовый” код, но гугл помогает. Вобщем - нафиг ардуину.

rual
Tahorg:

При детальном рассмотрении - не надо на таймер. Потому что гавно этот АВР, простите. Я тут переделал один свой скетч старый, преобрзователь ппм -> каналы ПВМ. Сначала был простой - в лупе проверял пин и по мере изменения соотвественно менял каналы. Все работало. Но некрасиво же - повесил на прерывание, на falling edge, код упростился, стало все частенько и красивенько. Вот только одна беда - сервы начали нееееемножко подергиваться. Чуть-чуть. Долго бился - все правильно, а подериваются. Особенно на “дальних” каналах.

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

Tahorg:

А при точности 1мкс и частоте 16МГц у нас выходит неободимая точность в 16 тактов. А чтоб посчитать время надо 16бит на 8битном процессоре.

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

Tahorg:

Я купил несколько STM32F103 плат за 4 евро (да, четыре евро) штука. ПВМ на нормальных таймерах, нормально работающие прерывания, 1 такт на 32битную логику, 72МГц … и по цене дешевле ардуины. Да, немного сложнее писать “стартовый” код, но гугл помогает. Вобщем - нафиг ардуину.

Есть вот такая “Ардуина”, в части работы с ней не чем не отличается от оригинальной, но много быстрее и библиотеки работы с интерфейсам SPI и IIC обрабатываются в прерываниях.

Tahorg

неа, в формировании импулься проблем нет, тут как раз все хорошо. А вот с ЧТЕНИЕМ импульсов прерыванием все не очень хорошо. Пока войдет в прерывание, пока стек перенесет, и все это на 16МГц. А в прерывании надо еще считать показания таймера, которое 16бит, проверить, что оно не длинней синхропаузы … ну и т.д. И выходит что начинается гуляние туда-сюда на 20-30 микросекунд. И начинает дрожать серва.

Проблема не в вычислениях, проблема в точности времени захвата сигнала. Т.е. большую часть времени ничего не делаем, а потом пошел сигнал, и вот тут почему-то, если его ловить прерыванием получается проблема - оно не сразу туда входит. А если в цикле пин опрашивать - то все хорошо.

Аналогично с ШИМ. Если просто заливать в OCRx значиния - прекрасный ШИМ. А вот если на прерывание таймера повесится и по прерыванию самому в коде пин переворачивать - жопа, начинает гулять серва. Потому что прерывание вызывется с запаздыванием и это запаздывание не прогнозируемо. На кортексах это тоже, вероятно, есть. Но там из-за быстрого процессора и 32 битной архитектуры, когда большинство вещей выполняются за 1 такт, задежка, если и есть, выходит меньше 1 микросекунды, и на результат не влияет.

Ну вобщем, где-то так.

ПС: Ну и на стм32 аж 3 таймера по 4 канала на каждом. И делители любые. И топ настраиваемый. ШИМ генерировать - одно удовольствие. Делитель 72, топ 20000, только меняй значение канала в компараторе.

fpv_mutant

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

grafis
fpv_mutant:

Подскажите,есть в природе стики компактных размеров

В микро пультах используют такие такие от XBox

fpv_mutant
grafis:

В микро пультах используют такие такие от XBox

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

grafis
fpv_mutant:

У этого стика возможно самоцентровку “убрать”

я сделал микро пульт на базе nine eragle там стояли такие же у одного не было центровки.
стандартные то же можно попробовать переделать.

fpv_mutant
MxM:

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

Подскажите,о каких стиках шла речь?-не те,что в xbox?