Pull to refresh
3
-0.2
Александр@Sun-ami

Программист микроконтроллеров

Send message

Есть такая вероятность. Но в авиационной технике научились делать достаточно надёжные критические системы. Если вдруг нужной надёжности достичь не удастся - тогда можно ограничиться эвакуационными дверями.

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

А может им просто не предложили вариант, за который они были бы готовы заплатить? Вся эта кампания "парашюты бессмысленны" длится уже очень давно, люди могли просто привыкнуть к мысли о принципиальной неустранимости рисков в реактивной авиации. Инерция мышления вообще играет в развитии техники большую роль. Например, появление моноколёс и квадрокоптеров технически было возможно на пару десятилетий раньше, чем они появились в реальности. А тем более, когда речь идёт о такой консервативной сфере, как пассажирская авиация.

Некоторые аргументы явно не выдерживают критики. Возить лишние 15 кг системы спасения, когда авиакомпании экономят каждую копейку? А кто сказал, что этими системами спасения нужно оснащать все пассажирские места, и все самолёты? Достаточно того, что есть люди, которые готовы заплатить и за эти 15 кг, и за техобслуживание систем спасения, и за их разработку. И не важно, сколько этих людей - их достаточно, чтобы оплатить разработку. Катастрофы, в которых такие системы спасения могут помочь, происходят редко? Да, но зато сейчас в таких катастрофах шанса выжить почти нет, и в результате количество жертв таких катастроф примерно такое же, как у гораздо более частых аварий на взлёте и посадке, когда могу помочь существующие системы спасения.

В комментариях к подобной статье на Хабре 2018 года я предлагал автоматическую систему спасения пассажиров при потере управления или разрушении самолёта на эшелоне. Вкратце, суть в том, что пассажирское кресло оборудуется автоматическим парашютом-крылом с автономной системой управления, и автоматически надуваемыми подушками безопасности, автономной кислородной системой на несколько минут спуска, и устанавливается на рельсы, проложенные вдоль салона самолёта. При разрушении фюзеляжа кресла автономно покидают его по эти рельсам. Если самолёт полностью потерял управление, но не разрушился сам, то кресла могут покидать фюзеляж либо через специальные люки в хвосте, либо через искусственный разлом фюзеляжа, автоматически сделанный специальной системой на высоте 2-3 км после её активации пилотами и выравнивания давления. Вариант покидания салона зависит от процента пассажирских кресел, оборудованных такой системой. Спускающиеся на парашютах кресла могут быть направлены в безопасные зоны посадки дистанционно, опытными парашютистами, дежурящими в кризисном центре, посредством видеосвязи через Старлинк и специальные ретрансляторы, которые также спускаются на парашютах. Такая система могла бы позволить спасать в катастрофах на эшелоне 30..95% пассажиров, что для периода 2010-2016 годов составило бы до 300..1000 человек, если бы такой системой были оборудованы все пассажирские места. Конечно, в начале применения такой системы 100% оборудование пассажирских мест ею нереально, тут скорее можно говорить о 10% мест. Но через несколько десятилетий с удешевлением и отработкой оборудования можно прийти к оборудованию более половины всех мест, что на мой взгляд стоит того, чтобы этим заниматься, особенно учитывая увеличение мирового пассажиропотока.

Гусеницам, наверное, так можно быстрее сбежать от подлетевшей птицы, съехав по листу. А черепашатам быстрее добраться до моря, чтобы их не успели съесть чайки.

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

В данном случае задача совсем не такая сложная, чтобы нужно было месяц-другой разбираться с даташитом, даже если писать на регистрах без библиотек. Это легко можно написать за день, пользуясь только даташитом и референс мануалом, и ещё быстрее - используя LLM, и тот же HAL как пример проверенного кода при неоднозначности документации. А с библиотеками на С++ это вообще несколько строк кода, к тому же обычно переносимого в рамках по крайней мере одной серии микроконтроллеров. С HAL может быть и ещё быстрее, но в чём тогда смысл статьи на Хабре - ведь здесь гораздо более уместны статьи, разбирающие сложные темы, а не то, что любой, кто в теме, может сам сделать за полчаса.

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

Смысл в том, что HAL использует в разы больше ресурсов, чем программа, написанная на прямом обращении к регистрам - флэша, RAM, и процессорного времени, в том числе и в прерываниях. При этом существуют и эффективные библиотеки на шаблонах C++, которые делают пользовательский код даже проще, чем с использованием HAL, и он при этом сохраняет максимальную эффективность. Это может быть важно, если микроконтроллер имеет мало памяти, и занят ещё какими-то ресурсоёмкими или критичными по времени отклика задачами. В статье ведь ничего не говорится о том, сколько всего будет светодиодов в ленте - 8, 200, или 1000, с какой частотой предполагается обновлять видеоинформацию, что это вообще за устройство, основная ли его функция управление светодиодами или побочная, и макет ли это, или конечный вариант электроники, и если макет, то какой контроллер будет использоваться в конечном варианте. Но HAL имеет преимущество по сравнению с библиотеками C++ и тем более по сравнению с ручным кодированием управления регистрами в переносимости. С HAL пользовательский код можно переносить с минимальными изменениями между вообще всеми микроконтроллерами STM32, включая самые новые, которые постоянно появляются десятками в год, и использовать в проектах с RTOS и без неё.

С HAL переносимость лучше. Это ведь макет, и скорее всего на другом контроллере, чем в целевом устройстве. Потом если надо можно оптимизировать.

Там ещё много недопереведенного. Например:

  • " CPOL имеет низкий уровень, а CPHA — 1 ребро ". Edge ошибочно переведено как "ребро" вместо "по фронту"

  • "сигнал сброса подается путем снижения уровня сети передачи данных более чем на 50 мкс" вместо "установки низкого уровня на линии данных на 50мкс".

В статье по ссылке в конце поста есть видео с оригинальным английским текстом.

STM32 использовать удобно, потому что для того, чтобы микроконтроллер мог делать что-то ещё, очень желательно иметь DMA, иначе понадобятся прерывания с частотой 312,5кГц и максимальной задержкой около 6 мкс, а реализовать это - нетривиальная задача, и такой подход даёт большую загрузку микроконтроллера обработкой этих прерываний. Или нужно запрещать прерывания на время обновления данных в ленте, а это далеко не всегда приемлемо. Другое дело, что STM32F411RE для такой задачи избыточен, вполне подойдёт любой самый мелкий и дешевый STM32 серий C0, G0, L0 или F0 стоимостью от $0,21/шт, но это больше зависит от того, что ещё должен делать этот микроконтроллер.

FPGA в микроконтроллерах реально сильно не хватает. Маленьких, простых и понятных, которые можно запрограммировать, набросав схему в схемотехническом редакторе. Чтобы не приходилось извращаться, реализовывая программно интерфейсы, которых не хватает. Особенно, если они понадобились в далеко не первой версии устройства, тогда, когда свободных ног к контроллера осталось мало. Микроконтроллеры с программируемой логикой существуют, но их совсем мало. А жаль.

Про 8-бит AVR стоило забыть ещё лет 10 назад. Более того, большинству стоило забыть вообще про все 8-битные микроконтроллеры, они нужны только для очень больших партий электроники, где экономят каждую копейку. Если использовать в STM32 такой же функционал, как в AVR, а остальное не трогать - они практически не сложнее AVR, а наоборот, удобнее и логичнее. Например, регистры у периферии с похожей функциональностью однотипные, потому что разработчики МК не занимались увлекательными квестами "куда впихнуть ещё один бит конфигурации", в результате чего конфигурационные биты оказывались в самых неожиданных местах, и для каждого из однотипных устройств приходилось писать отдельную версию драйвера, даже если используемый функционал был полностью идентичным.

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

А при чём тут вайфай и другие диапазоны? Я имею в виду использование LTE-радиотракта в штатном частотном диапазоне и со штатной мощностью передатчика. Существует обычно заблокированный режим связи LTE Direct, дальность связи в котором может достигать десятков километров в условиях отсутствия радиопомех (а их у нас нет из-за региональной катастрофы и отсутствия электричества на большой территории), и физических препятствий распространению сигнала.

Не удивлюсь, если это уже давно встроено в смартфоны на случай, если все базовые станции прекратят работать. Разговоры о переводе мобильных телефонов в такой режим в случае масштабных стихийных бедствий вроде наводнений и ураганов были более 10 лет назад. Но вот только доступ к этой сети есть далеко не у всех, а только у кого надо. А с доступом для всех такая сеть наверное и не сможет нормально работать из-за большого трафика через каждый узел, не говоря уже о том, что Самсунгу это совсем не нужно.

Это не современная плата микроконтроллера, это контроллер устройства с низкоуровневой и высокоуровневой частью. Он нужен там, где низкоуровневое управление не примитивно, и включает управление какими-то двигателями, которое требует применения ПО жесткого реального времени и RTOS, и одновременно нужна высокоуровневая часть для интерфейса с пользователями и/или интеллектуальных функций, таких, как машинное зрение и нейросети, которые могут управлять устройством на его базе. Использование малопотребляющего микроконтроллера, CPU с широкими возможностями энергосбережения и интегрированный Wi-Fi намекает на мобильное использование. Думаю, эта плата подходит для создания на её базе не слишком сложных и быстрых мобильных роботов, такого класса, как робот-пылесос. Её ниша - обеспечить максимально простой старт в подобных разработках за счёт скрытия большей части сложности. Это может позволить использовать её для обучения школьников и любительских проектов такого плана.

Тащить лишних 2 кг на человека в лыжный поход, взяв по 4 повербанка на человека вместо одного, вместо того, чтобы взять один генератор весом 0,5 кг на группу на маловероятный случай, что больше недели будет очень плохая погода, и солнечные батареи нельзя будет использовать? По-моему это не лучшая идея. Существующие генераторы действительно весят 1,8 кг и выдают 20 Вт. Но если сам генератор как электрическая машина весит 90 г, то можно сделать всю конструкцию с ним весом даже 300г, не то что 500г. Нужно только хорошо продумать конструкцию, без шаблонных подходов.

Вы невнимательно прочитали статью - 10 кг надо поднять всего лишь на 1,8м, и делать во второй версии GravityLight это легко, за счёт системы блоков, доступно даже ребёнку. Постоянно крутить педали - точно не вариант. Если поднимать груз на 10м, то делать это в принципе можно раз в 2 часа, нужно только доработать девайс для нужного запаса верёвки с шариками. Другое дело, что для тех же беднейших стран уже много лет назад разработана и экономичная печка с термоэлектрическим генератором и вентилятором, к ней и осветительный светодиод подключается. И самое главное - с 2013 года солнечные панели и литиевые аккумуляторы сильно подешевели. Крупные солнечные панели - в 10 раз, литиевые аккумуляторы - в 3 раза. И на подходе ещё более дешевые и надёжные натриевые аккумуляторы, с в 10 раз большим ресурсом. Так что это, возможно, имело смысл в 2013 году, но с тех пор сильно устарело. Сейчас более актуально организовать производство мелких солнечных источников электроэнергии с батареями по удельной стоимости не сильно отличающихся от крупных. К примеру, солнечные панели в Китае в этом году продавали по 8 центов за ватт, в данном случае достаточно 0,2Вт, то есть кусочек панели за 2 цента. Но за 2 цента её не купить. Аналогично, минимальная стоимость литий-ионных аккумуляторов в Китае - 10 центов/Вт*ч, здесь минимально-достаточно 1,6 Вт*ч, но за 16 центов их не купить.

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

Это не так. Типичный повербанк имеет ёмкость 110 Вт*ч при весе 650г. Его хватит, чтобы зарядить iPhone 15 7 раз. Бесщёточный мотор на 60Вт весит 90г. Человек может, используя его как генератор, зарядить такой повербанк за час на 50%. Такое может понадобиться в аварийном случае, например если группа отправилась в зимой в лыжный поход, и оказалась заблокирована на стоянке из-за плохой погоды, которая длится долго. Продуктов может хватить на 2 недели, а для того, чтобы хватило электроэнергии, нужно либо брать много повербанков на каждого, либо серьёзно экономить. Генератор может быть один на группу, его наличие сильно уменьшает требования по экономии электроэнергии в такой ситуации. То, что сейчас на рынке нет мускульных генераторов, которые достаточно мощные и лёгкие для такой задачи, не означает, что их невозможно разработать.

Information

Rating
Does not participate
Location
Potsdam, Brandenburg, Германия
Date of birth
Registered
Activity

Specialization

Инженер встраиваемых систем
Ведущий
C++
Объектно-ориентированное проектирование
Программирование микроконтроллеров
Операционная система реального времени
C
STM32
Схемотехника
Разработка печатных плат
Atmel AVR
Управление разработкой