Покритикуйте идею

Probelzaelo

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

GSL
Probelzaelo:

Вот еще вариация той же затеи.

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

Probelzaelo
GSL:

Как то все просто у них, пришел, увидел, победил.

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

RedSun
netvis:

… и пришла мне мысль, что почему бы и не реализовать все это модульно…

А… зачем ? При таком подходе получается, что в КАЖДОЙ фиговинке обязательно должен быть свой процессор. Понятно, что микроконтроллеры стоят по три копейки, но ставить трехкопеечный процессор к каждому копеечному датчику - дороговато выйдет. Это раз.
Дальше, есть минимально необходимая функциональность отдельных узлов, дробить которые - бессмысленно. Так, инерциалка ДОЛЖНА состоять из акселерометров, гироскопов, АЦП и думалки. Разносить эти элементы - бессмысленно. Возможность моделисту выбрать другое сочетание гир и акселей не стоит необходимости выставлять измерительные оси, экранировать провода и изрядно лопатить код. То есть основа любого приличного автопилота - инерциалка - должна быть единым блоком. Это два.
Кроме инерциалки, что еще нужно ?
GPS приемник, радиомодем. И у того, и у другого вполне себе стандартный последовательный интерфейс. Стоит ли менять шило на мыло ?
Дополнительные датчики вроде барометра и датчика тока. Недорогие и, по большей части, аналоговые, не требующие частого опроса. С их опросом вполне справится основной процессор автопилота. Хотя, есть датчики и с цифровыходом, только он не обязательно I2C…
Основной процессор, занятый навигацией, взаимодействием с инерциалкой, датчиками, наземкой, приемником, сервами и т.д. Имеет массу всех и всяких интерфейсов, может взаимодействовать с любым. При достаточной мощности может быть выполнять и функции процессора инерциалки. Что уменьшит габариты, вес, количество соплей и т.д…
То есть получается, что перейти на I2C имеет смысл только на стыке инерциалки и ЦП, если они не совмещены в одном блоке, да для замены аналоговых сигналов с датчиков. Во всех остальных местах используются другие стандартные цифровые протоколы.

blade
netvis:

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

Ну, автопилоты уже давно, по большому счёту- модульные: ИМУ, ОСД, ЦП- всё делается на разных платах, что значительно облегчает настройку, ремонт и апгрейт.
А дробление на ещё более мелкие блоки: не нужно и более того- снижает надежность ( платы надо между собой соединять, а каждый разъём- лишний фактор ненадежности) и усложняет ПО- датчики, (иногда даже у одного производителя)- имеют разный интерфейс, питание и т.д.)- так при замене каждого датчика- ПО переписывать?

Probelzaelo
RedSun:

При таком подходе получается, что в КАЖДОЙ фиговинке обязательно должен быть свой процессор.

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

RedSun:

Так, инерциалка ДОЛЖНА состоять из акселерометров, гироскопов, АЦП и думалки. Разносить эти элементы - бессмысленно. Возможность моделисту выбрать другое сочетание гир и акселей не стоит необходимости выставлять измерительные оси, экранировать провода и изрядно лопатить код. То есть основа любого приличного автопилота - инерциалка - должна быть единым блоком. Это два. Кроме инерциалки, что еще нужно ? GPS приемник, радиомодем. И у того, и у другого вполне себе стандартный последовательный интерфейс. Стоит ли менять шило на мыло ?

Для обработки 3 осей гироскопа и Акселя нужно 6 аналоговых входов. или один I2C интерфейс. в любом случае эта часть просится быть обработанной единым мозгом, ГПС будет плохо дружить с модемом если их повесить на один сериал. но зачем их месить в один чип? В идеале местные задачи, такие как балансировка и устойчивость полета модели и стабилизация камеры по горизонтам, эти задачи мало связаны с основной навигацией, но могут быть завязаны друг с другом. датчиков ГПС, компаса, высота скорость так же могут обрабатываться этим чипом который не особенно то и занят, главному чипу достаточно получать от него уже вычисленные значения, пространственные координаты, текущий курс и скорость. Задача главного чипа, связь с пилотом и управление движением, высота, направление, скорость в соответствии с получаемой задачей ну возможно еще и задание нового направления обзора и фокусировки для камеры.
Те мухи и котлеты должны быть в разных местах. Один чип обрабатывает большую кучу мелких, но частых вспомогательных задач управления бортовыми системами, а второй типа мастер, его задача выполнить саму миссию, не отвлекаясь по мелочам. Хотя современные чипы вполне в состоянии справиться со всем этим и самостоятельно, но надежнее иметь два или даже более. можно учесть что модем имеет собственнный чип, гпс модуль тоже, в регулях и сервах стоит по собственному, мелкому но процессору…

RedSun:

Что уменьшит габариты, вес, количество соплей и т.д…

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

Я что то не очень понял, в каком месте мы рассуждаем вдоль, а в каком поперек?

blade:

при замене каждого датчика- ПО переписывать?

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

blade
Probelzaelo:

Но вот это аппаратная доработка, для наших случаев излишество

Понимаете, тяжело обсуждать разработку электронных устройств, не зная Вашего уровня компетенции и практического опыта по данной теме?
Я- занимаюсь производством всяческих электронных приборов очень давно, и именно производством собственных разработок (ну, вот к примеру, мои недавние занятия -не реклама, поскольку на этом рынке я уже семь лет не рабртаю- cosrem.narod.ru)
Или вот это-посвежее.
Автопилот- тут тоже имеется.😃
Работающий.

Probelzaelo
blade:

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

Я не претендую на верхние уровни компетенции. Утешаю себя мыслью о том, что кое что какбэ смыслю, и некоторый опыт еще не весь прОпит, меряться толщинами удостоверений не буду, ибо придут гурЫ и начнут всех отвлекать от темы. Если в процессе обсуждений сможете обнаружить что то для себя или для дела полезное, не обижусь. Если нет, сами не обижайтесь 😉.
ЗЫ. Насчет работающего автопилота, было бы совсем забавно если бы он вдруг оказался неработающим, типа для красоты и внутренней гармонии 😁