PDA

Просмотр полной версии : Постройка Большой Полётный Контроллер



LEVSHA_
11.06.2015, 21:33
В этом сообщении - последняя, самая актуальная версия Инструкции к Большому Полётному Контроллеру.
В следующих сообщениях - история создания и обсуждение.

LEVSHA_
19.06.2015, 20:57
Нужна помощь.

Начал разработку полноценного полетного контроллера.
Просьба высказать соображения чего не хватает.

Плата будет рассчитана на установку в один из самых популярных миделей ракеты – ширина платы 35мм.
Питание от одной ячейки ЛиПо. Встроенная зарядка с подключением через USB разъем.
На мой взгляд, главная изюминка это наличие Bluetooth который постараюсь «привязать» к Android для возможности настраивать и считывать данные с телефонов и планшетов.
В составе ЦПУ 32бита, память 2-8 мегабайт ~ запись логов 5-20 полетов.
Трехосевой датчик ускорения 16G, трехосевой гироскоп, одноосевой датчик ускорения 100G, барометр.
Три ключа с защитой от случайного импульса и тестом целостности цепи – выброс основного, вспомогательного парашюта и включения второй ступени.
Два простых ключа – пищалка, любая другая нагрузка.
Электронный ключ вкл-выкл питания. Контроль напряжения АКБ.
Модем 433мГц 0.1ватт с возможностью впаять антенну прямо в плату(штырь или спираль) или вывести через разъем и кабель.
Интерфейс для подключения GPS модуля.
USB интерфейс.
Два светодиода индикации.

Serge77
19.06.2015, 21:38
А какой будет интерфейс для подключения GPS модуля?
Если я захочу подключить GPS, нужно будет дорабатывать прошивку?
По моим ощущениям, GPS - это вообще первое, что должно быть в таком контроллере, даже раньше, чем гироскопы и акселерометры. Потому что без него серьёзную ракету не найдёшь. А на несерьёзную ракету ставить такой контроллер можно только для отработки самого контроллера.

Зачем Bluetooth совсем неясно, ведь без обычного приёмника всё равно не обойтись. Если у тебя есть приёмник, через который ты и настраиваешь всё, и снимаешь всё, зачем снимать ещё и с Bluetooth ?

LEVSHA_
19.06.2015, 22:37
А какой будет интерфейс для подключения GPS модуля?
Если я захочу подключить GPS, нужно будет дорабатывать прошивку?
По моим ощущениям, GPS - это вообще первое, что должно быть в таком контроллере, даже раньше, чем гироскопы и акселерометры. Потому что без него серьёзную ракету не найдёшь. А на несерьёзную ракету ставить такой контроллер можно только для отработки самого контроллера.

Зачем Bluetooth совсем неясно, ведь без обычного приёмника всё равно не обойтись. Если у тебя есть приёмник, через который ты и настраиваешь всё, и снимаешь всё, зачем снимать ещё и с Bluetooth ?

UART. У большинства модулей он такой.
Думаю, протокол и система команд у разных модулей будет разная.
GPS сделан выносной сознательно, чтобы можно было поставить в правильном месте. Кстати по поводу, что GPS нужнее датчиков не согласен.

Зайду немного с далека. Серьезность или не серьезность контролера определяется не полной комплектацией, а той, которую запаяли. А общаться нужно с любым.
Теперь проецируем на реальную ситуацию.
Мы в поле, чтобы настроить или считать данные нужно или дорогой специализированный пульт или громоздкий ноут. К ноуту нужен или радио «свисток»(уже заказан) или шнур – есть исключительное зло в полевых условиях.
Еще год два и смартфоны под управлением Android будет у каждого.
Подходим к ракете на пару метров, запускаем прогу на телефоне и все.

Serge77
19.06.2015, 23:28
А чем искать ракету?
Зачем тогда вообще передатчик на плате?

LEVSHA_
20.06.2015, 14:15
А чем искать ракету?
Зачем тогда вообще передатчик на плате?

Передатчик можно впаивать или не впаять.
Сейчас у граждан не самая лучшая экономическая ситуация. Если энтузиаст не стремится к высотным полетам ему достаточно взять «обрезанный» контроллер без модема и еще половины комплектующих, потратив ~400гривен. И летай себе на здоровье с хорошей системой спасения и изучай графики полета на досуге. Правда нужен смартфон, но он уже и так почти у всех имеется.
А вот если мы говорим о системе поиска тут еще нужен пульт с направленной антенной и не считая затрат на контроллер нужно еще выложить ~3000гривен.
В общем, я пытаюсь сделать устройство многофункциональным и при этом доступным.

LEVSHA_
25.09.2015, 21:54
233008233007
Представляю новый полетный контроллер.
Пока только «железо» - программа в процессе.

LEVSHA_
19.09.2016, 21:40
Изготовил новый полетный контроллер.
За основу был взят предыдущий большой контроллер.

264493
264492

LEVSHA_
23.11.2016, 18:54
Выкладываю окно настроек для большого полетного контроллера.
Для вопросов, замечаний и предложений.
Потихоньку буду выкладывать описание логики работы блоков.

269810

1.Активный участок полета.
а. Определение старта ракеты.
На старте контроллер следит за данными с датчика ускорения. Если появляется ускорение выше заданного и продолжается дольше заданного времени контроллер определяет старт ракеты.
После этого может быть активирован таймер имитации апогея.
Включается дублирующий таймер имитации приземления.
Также в данном блоке настраивается пиковый фильтр барометра.
б. Аварийная разборка ракеты.
Если данный блок активировать, то если ракета отклонится больше чем на заданный угол, произойдет аварийная разборка ракеты.
В том случае если разборка не предусмотрена конструкцией произойдет выброс тормозного или при отсутствии такого основного парашюта.

- - - Добавлено - - -


И понятно, что надежнее наклон ракеты словит датчик наклона, но в случае нештатного полета какой выигрыш он нам дает?

Самый главный – повышение безопасности.

LEVSHA_
23.11.2016, 20:26
поэтому лучше пиши постепенно подробное описание каждого блока
иначе какое-то обсуждение нереально

Так как блоки почти не влияют друг на друга и в основном выполняются последовательно предлагаю обсуждать по блочно с оговорками. А то я как все опишу энтузиасты задолбаются читать. :)

Serge77
23.11.2016, 21:09
да, лучше поблочно
может быть для устройства завести отдельную тему?
будет компактно - обсуждение, реализация, примеры использования

LEVSHA_
23.11.2016, 22:28
может быть для устройства завести отдельную тему?


Ну, это тебе решать. А еще можно послушать мнение энтузиастов, которые после скриншота разбежались по угла и отмалчиваются. :pilot:

2. Пассивный участок полета.
а. Определение окончания работы двигателя
Если после определения старта ракеты появляется отрицательное ускорение выше заданного и продолжается дольше заданного времени контроллер определяет окончание работы двигателя.
И контроллер переходит в раздел полета – «пассивный режим полета».
После этого отчитывается таймаут блокировки барометра и только потом данные барометра начинают использоваться для поиска апогея.
б. Включение двигателя второй ступени.
Если вдруг случайно у нас двухступенчатая ракета мы можем с программированной задержкой запустить двигатель второй ступени.
И для этого выбрать один из трех защищенных ключей.

Serge77
23.11.2016, 22:38
ты не торопись с описанием блоков, давай хоть с первым разберёмся




1.Активный участок полета.
а. Определение старта ракеты.
На старте контроллер следит за данными с датчика ускорения. Если появляется ускорение выше заданного и продолжается дольше заданного времени контроллер определяет старт ракеты.

ясно

"После этого может быть активирован таймер имитации апогея.
Включается дублирующий таймер имитации приземления.
Также в данном блоке настраивается пиковый фильтр барометра."

неясно, совсем!
нужно объяснение

LEVSHA_
23.11.2016, 23:12
"После этого может быть активирован таймер имитации апогея.
Включается дублирующий таймер имитации приземления.
Также в данном блоке настраивается пиковый фильтр барометра."

неясно, совсем!
нужно объяснение

Таймеры имитации апогея и приземления дублируют штатные системы.
То есть по истечении заданного времени активируются соответствующие события, если они небыли активированы до того штатно.
Например, мы знаем из предыдущего опыта, что ракета достигнет апогея за ~10сек. Тогда устанавливаем таймер апогея на 15сек. и если, например, откажет барометр, а определение апогея по углу будет выключено, то система спасения все равно отработает. Конечно, с опозданием и на приличной скорости, но отработает.
Таймер приземления заботится об экономии заряда батареи, если штатная система не справилась.
Пиковый фильтр барометра улучшает режим фильтрации.
Предположим что максимальная расчетная скорость ракеты ~150м/сек.
Тогда в окне настройки ставим 200м/сек.
Программа контроллера делит это число на количество выборок за одну секунду в данном случае на 50. Потом при очередной выборке данных их размерность сравнивается с предыдущим фильтрованным значением и если текущее значение больше предыдущего на 4метра излишек «отрезается».
То есть если у нас проскочил случайный пик на 100метров больше чем предыдущее значение, оно обрезается до 4.

Serge77
23.11.2016, 23:18
таймеры отсчитываются от старта?
слово "имитация" как-то не идёт, может быть назвать страховочный таймер
пиковый фильтр кажется более логичным переставить в блок апогея, ко всем остальным цифрам, относящимся к алгоритму барометра

- - - Добавлено - - -

предыдущее фильтрованное значение показывает высоту не на шаг раньше, а на половину времени усреднения раньше
поэтому нельзя его сравнивать с новым значением и отрезать, если больше 4, т.е. 200 нужно делить не на 50, а на меньшую величину

gmurvs
24.11.2016, 10:49
Если вдруг случайно у нас двухступенчатая ракета мы можем с программированной задержкой запустить двигатель второй ступени. И для этого выбрать один из трех защищенных ключей.

(Q1) Что такое защищенный ключ?
(Q2) Можно на тормозной парашют и на запуск второй ступени назначить один и тот же ключ?
(Q3) Можно запуск второй ступени привязать к другому событию (более раннему - определение старта), а не к определению начала пассивного участка отработки первой?
(Q4) Нет настроек для передатчика/взаимодействия - это в концепт не вписывается?
(Q5) GPS в системе - эта опция/идет в комплекте?

Serge77
24.11.2016, 12:38
собрал все сообщения в одну тему
LEVSHA, проверь, не перенёс ли я чего лишнего
если есть предложение поменять название темы, пиши

LEVSHA_
24.11.2016, 16:54
таймеры отсчитываются от старта?

Да – от момента определения старта.


может быть назвать страховочный таймер
Пока думаю.


пиковый фильтр кажется более логичным переставить в блок апогея

Уже перенес. И потом перенес обратно, так как данная настройка относится не к конкретному блоку, а ко всему полету – меньше путаницы.


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

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


.
а если эта фраза касается меня...
я сразу говорил, что для точности расчетов нужно отсекать время работы двигателей.
.
Ты наверно пропустил вот это.
Окно настроек для большого полетного контроллера – ДОПОЛНЕННОЕ.

269843


(Q1) Что такое защищенный ключ?

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


(Q2) Можно на тормозной парашют и на запуск второй ступени назначить один и тот же ключ?


Нет, программа контролирует, чтобы на каждое действие был выбран свой «уникальный» ключ. Но можно повесить на один разъем два воспламенителя.
Хотя это варварство и не совсем понятно, зачем это нужно?


(Q3) Можно запуск второй ступени привязать к другому событию (более раннему - определение старта), а не к определению начала пассивного участка отработки первой?


«Нужно не кровати менять, а девочек»
Если двигатель второй ступени запустится раньше чем отработал двигатель первой ступени может создаться нештатная ситуация или взорвется двигатель второй ступени.
Пример.
Струя выхлопа второй ступени отталкивает еще работающую первую ступень, которая с разгона налетает на стабилизатор или планер второй ступени и изменяет курс ракеты.
В общем, включать вторую ступень не убедившись, что отработала первая неправильно!
И непонятно зачем?


(Q4) Нет настроек для передатчика/взаимодействия - это в концепт не вписывается?


Будут.


(Q5) GPS в системе - эта опция/идет в комплекте?[/

Вопрос не понял!
Отвечаю, как понял, на данном контролере есть разъем подключения GPS и если он подключен в окне настроек нужно поставить галочку.

Serge77
24.11.2016, 17:54
было бы очень хорошо, если бы в результате обсуждения получилась полная инструкция, собранная в одном месте, а не распылённая по сообщениям
поэтому я добавил спецсообщение в начало темы, выложи там описание железа и программы
по мере обсуждения обновляй и дополняй там описание
если конечно не против)

gmurvs
24.11.2016, 18:09
Нет, программа контролирует, чтобы на каждое действие был выбран свой «уникальный» ключ.

Ок, мне это было важно, что есть защита.


данном контролере есть разъем подключения GPS и если он подключен в окне настроек нужно поставить галочку.
Ок, ясно, спасибо.



В общем, включать вторую ступень не убедившись, что отработала первая неправильно!
И непонятно зачем?


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

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

- - - Добавлено - - -


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

А в чем смысл именно ШИМ-а? Чем логический уровень не подходит?

Serge77
24.11.2016, 18:25
По моим наблюдениям, с используемой системой воспламенения для БС нужно две секунды для выхода на режим с момента подачи сигнала на ключ. Возможно, это не совсем хорошо, но пока не научился мгновенному выводу БС на режим, может, кто даст совет, как это делать правильно?


ответил здесь
http://forum.modelka.com.ua/threads/79559-%D0%91%D0%B5%D1%81%D1%81%D0%BE%D0%BF%D0%BB%D0%BE%D 0%B2%D1%8B%D0%B5-%D0%B4%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D 0%B8?p=725232&viewfull=1#post725232

LEVSHA_
24.11.2016, 18:27
было бы очень хорошо

Нуу… я это – буду стараться.

- - - Добавлено - - -





А в чем смысл именно ШИМ-а? Чем логический уровень не подходит?

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

Serge77
24.11.2016, 23:27
Окно настроек для большого полетного контроллера – ДОПОЛНЕННОЕ.


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

LEVSHA_
25.11.2016, 00:31
почему программа позволяет в четырёх местах выставить один и тот же защищённый ключ?

Как видно из скрина ключи подсвечиваются красным.
И мало того красным подсвечено слово «Включить» так как ключа три а выбрано четыре блока.
Но это не все.
Программа не даст сохранить настройки и выдаст сообщение.
Можно конечно не давать сразу выбирать то, что занято но это ухудшает взаимодействие пользователя с программой.



больше придраться не к чему))

Не отлынивай! :)

RDL_Rider
25.11.2016, 09:49
Это ключ, который нельзя включить просто логическим уровнем. Для включения нужно подать ШИМ и только тогда через схему «накачки» затвора, ключ включится.

Простите что вмешиваюсь, а можно-ли посмотреть на принципиальную схему такого защищённого ключа?

LEVSHA_
25.11.2016, 10:56
Простите что вмешиваюсь, а можно-ли посмотреть на принципиальную схему такого защищённого ключа?

Да конечно.
Вот.
Будут вопросы по схеме – задавай.


269864