Уже не первый пост мой с подобным вопросом, так что сначала предыстория.
Во времена короны меня сократили и я решил попробовать себя в работе с микроконтроллерами. Я был полный 0 в этой области, а про с/с++ знал только, что это языки программирования и что 1с не из их серии. За пол года немного подружился с esp32, понял главные моменты с масштабированием кода и используя чужие библиотеки мог собрать что угодно, что укладывалось в функционал библиотек. Даже начал ковырять freertos, разобрался с mitt app inventor, что бы делать примитивные приложения под андроид. Ну и нашел заказчика на такие не высокие требования, потому что я умел всего по чуть-чуть, мог и корпус замоделить и плату развести (посмотрев один ролик гайвера по EasyEDA) ну и какой то код составить из экзамплов, который на удивление еще и работал. На покушать хватало. Но будучи самоучкой дальше я столкнулся со стеной нехватки доступной инфы, так как это уже не популярно в массах, а интересует только профессионалов. И тут мне предложили помонтажить РЭА. Монтаж не сложный, но много и деньги платили не плохие... и все... на 2 года я забыл про программирование, по сути опять просрал 2 года. И вот после этого нового года у меня начало резко ухудшаться здоровье, сначала спина, что уже не мог сидеть паять, потом еще несколько неприятных недугов подтянулись, в общем пока работать вообще не могу и на восстановление наверное уйдет несколько месяцев, благо я отложил денюжку и мне хватит на пол года жизни или на год, если урезаться по максимум.
И вот тут у меня встал вопрос что делать дальше. Это место с монтажом я уже 100% потерял, потому что сам сказал, что выбыл на долго и пусть ищут замену. Я прошерстил вакансии на hh и даже на самые низкооплачиваемы в этой области я пришел к выводу что я должен овладеть следующими навыками:
- Знание языка С/С++ на высоком уровне (я же, если брать классический учебник, только первые главы освоил С++, С вообще не касался)
- Работа с STM32 - и тут самое веселое, даже если я разберусь с инструментарием GСС в VS Code + Cube MX, еще надо разобрать особенности типовых видов архитектуры этого семейства МК, при том не просто блок-схемы разобрать, а глубоко понимать, что бы я мог все это настраивать правильно и понимать как оно взаимодействует, потом разобрать работу всех видов периферии МК, а тут не как в arduino ide, не выйдет, просто, например для i2c написать Wire.begin(); и дальше даже не думать что оно делает, тут надо на низком уровне взаимодействовать, а я попытался разобраться в том же i2c, тайминги в нем это просто жесть, а это еще все и кодить надо, а я до битовых операций даже не добирался. Есть вроде либа hal от самих ST для упрощения работы, но как я понял там тоже не все так прекрасно.
- Знание основ схемотехники и теории цепей. Я только закон Ома на практики применял. Начал их читать, 3 закона Кирхгофа самое легкое, дальше начинается жуть с морем высшей математики, а я даже не помню как интегрировать, не то что как сигнал разложить в ряд Фурье для фильтрации гармонических составляющих. Это все фактически надо учить по новой. Плюс физика. Я на практике убедился как важно понимание взаимодействия электромагнитных полей при проектирование печатной платы, что бы у тебя сигнал не превращался в кашу только от того, что ты землю не правильно развел.
- Работа в Altium Designer - саму программу освоить не проблема, но вот я начал читать про проектирование помехоустойчивых систем и понял, что просто так на плату накидать по схеме элементов, что бы просто не пересекались дорожки не выйдет. Во-первых надо хорошо знать элементную базу и понимать как работает каждый из этих элементов, про ОТЦ и физику писал выше. Я нашел серию ГОСТ 61188, надо хорошо их знать и понимать.
-Английский язык... что у меня с ним всегда так не клеится, сейчас можно перевести все гугл переводчиком, но в профессиональной деятельности это явно не пойдет, так как может быть утерян какой то ключевой момент при переводе документации.
Это только самые часто встречаемые требования для людей с опытом от года, при этом почти всегда требуют, что бы это была твоя не первая работа в этой области. А я описал, только то, что я понимаю, что нужно, при этом я на stm32 смог пока только помигать светодиодом а в познании С++ мне еще предстоит долгий путь.
И вот я думаю, у меня есть несколько месяцев свободного времени, а успею ли освоить хоть какой то минимум, что бы меня взяли джуном? Или не имея только что законченного универа в этой области со свежими знаниями или уже не поработав в этой области, не имеет смысл вообще в нее суваться и попробовать себя в чем-то попроще? Я бы через пару месяцев, когда самочувствие будет получше, хотел бы найти какую то удаленную работу (но только не на обзвонах), тут тоже бы принял пару советов, в городе у меня больше не осталось вариантов, потом работу скорее всего придется искать в Ростове\Москве, но с учетом съёма жилья это все так грустно становится.
Я единственное что за последние 2 года не бесполезно потратил, это я с каждой получки что-то покупал. У меня есть макетки Nucleo-64 STM32F446, Discovery STM32F407, несколько F103, куча esp32, недавно купил несколько esp32-S3, ардуинки и малинки, осциллограф Hantec DSO02D15 (и еще USBишный), мультиметр uni-t UT61E+, лог анализатор DSLogic Plus, JTAG отладчик, ЛБП, 3D принтер 5й медведь, все для пайки, куча всевозможных датчиков, экранов, двигателей и драйверов для них. В общем для учебы у меня есть не плохая элементная база.
Добрый вечер.Прошу помощи у силы Пикабу. Имеется следующая проблема:
Не так давно, в рамках затопления квартиры, была залита водой микроволновая печь Samsung MS22M8054AK. После просушки данная микроволновая печь не включалась и не подавала признаков жизни. На досуге решил заняться ее ремонтом. В рамках ее диагностики были обнаружены подтеки воды на плате управления.
Внешний вид поврежденной платы управления
Плата управления была заменена на аналогичную плату.
Фото вновь установленной платы
После этого микроволновая печь начала подавать хоть какие то признаки жизни: начала гореть лампа в микроволновой печи при открывании дверцы, при включении начала появляться индикация на дисплее, но через 5 секунд после самодиагностики она сменяется на код ошибки C-F2.
Стал изучать, что это за ошибка такая C-F2, как понял она говорит о проблеме в обмене данными между платой управления и клавиатурой (панелью управления) микроволновой печи. В данной микроволновой печи установлена не обычная пленочная клавиатура, а действительно полностью сенсорная ёмкостная панель управления. Для преобразования сигналов с данной сенсорной панели в сигналы понятные плате управления стоит noname плата драйвера на базе контроллера Infineon CY8C4124AZI-S433.
Фото платы драйвера. Промежуточное звено между платой управления и сенсорной панелью.
Визуальна данная плата драйвера целая, следов повреждений и подтеков на ней. Шлейфа визуально целые. Подозреваю что проблема в контроллере Infineon, возможно он был поврежден в процессе залития водой, или уже вторично от КЗ на плате управления.
Я так понимаю просто его замена никакой пользы не несет, так как еще нужна программа записанная в его память.
Пробовал относить в "официальный сервисный центр Samsung" - вынесли великий вердикт, что неисправна сенсорная панель (Хотя всю историю выше я им и так озвучил при сдаче в ремонт микроволновой печи).
Отдельно плату драйвера или сенсорную панель в продаже найти не удалось.
Может кто то сможет подсказать куда копать дальше?
Может кто то имел дело с такими контроллерами и сможет за разумную плату попробовать считать программную часть со старого контроллера, записать на новый и заменить его на плате?
Друзья! Многие ли из вас помнят такой телефон, как Nokia N-Gage? В начале нулевых финская компания сделала смелую попытку ворваться на рынок игровых консолей, создав устройство, которое сочетало в себе сразу две функции: полноценный смартфон на базе аппаратной платформы WD2 с Symbian на борту и игровая консоль с собственными картриджами! Год назад читатель подарил мне N-Gage QD с некоторыми аппаратными проблемами, которую я успешно оживил и подготовил подробную статью, в которой мы: узнаем историю появления N-Gage на свет и на чём он работал «под капотом», отремонтируем устройство и узнаем о самых частых аппаратных «болячках» смартфонов Nokia на платформе WD2, а также посмотрим на местную игровую библиотеку подробнее и выясним особенности разработки игр под Symbian! Интересно? Тогда добро пожаловать под кат!
❯ Что за N-Gage и как он появился?
Пожалуй, в истории мобильного подразделения Nokia, N-Gage один из самых желанных и неоднозначных устройств, когда либо разработанных компанией. Девайс прошёл долгий путь от смартфона, который ругали чуть ли не все, до легендарного устройства, которое ценится некоторыми людьми и сейчас.
По сути, N-Gage является уникальным смартфоном. За всё время существования мобильного рынка, по настоящему игровых телефонов почти и не выходило: можно вспомнить телефоны Sony Ericsson с геймпадом EGB-30,Xperia Play, японские и корейские телефоны, о которых мало кто слышал, да и китайские реплики Nokia с эмулятором NES на борту.
Я писал материал о Xperia Play год назад
В начале нулевых, рынок мобильных игр начинал активно развиваться. С ростом мощностей мобильных девайсов и появлением цветных дисплеев, стали появляться самые разные платформы для запуска мобильных приложений и продажи игр через операторские сети. Например, довольно большим успехом пользовалась перспективная платформа Mophun (Sony Ericsson T310, T610), которая использовала собственный платформо-независимый байткод. Помимо этого, в платформе были уже готовые библиотеки для упрощения разработки игр: вывод 2D спрайтов, 3D графики (программный рендеринг), звука и обработка ввода. Нельзя также не вспомнить о Qualcomm BREW — который использовался во многих CDMA-телефонах в США и была по настоящему нативной, позволяя использовать все ресурсы телефона. Но самой популярной стала, конечно же, J2ME, которая предустанавливалась на большинство телефонов до ~2014 года.
Sony Ericsson T610 - один из девайсов, поддерживающих Mophun
Само собой Nokia не могли упустить момент и не попытаться занять нишу на мобильном рынке игр. У Nokia было две основные платформы: S40, используемая в кнопочных телефонах и S60, платформа основанная на Symbian, которая использовалась в смартфонах компании. Уже в 2003 году, в платформах S40 и S60 была полноценная поддержка J2ME игр и Java показывала себя как достаточно перспективная платформа. Nokia даже реализовали свои собственные расширения для J2ME, дабы игры могли использовать больше возможностей устройства, чем предоставляет MIDP. В целом, телефоны Nokia были очень популярными, благодаря чему почти все J2ME игры имели собственную версию под S40 (а иногда и более навороченные под S60). N-Gage, который должен был объединить телефон и игровую консоль, был анонсирован ещё в ноябре 2002 года, однако вышел в свет 7 октября 2003 года.
Первая версия N-Gage
Однако N-Gage был отнюдь не первым устройством в подобном дизайне. Его предком принято считать Nokia 3300 — смартфон, который в первую очередь был ориентирован для использования в качестве мультимедийного устройства и прослушивания музыки. Тем не менее, устройство тоже поддерживало J2ME и на нём вполне можно было проходить Symbian-годноту из нулевых.
N-Gage был встречен весьма неоднозначно. В устройстве было достаточно много как аппаратных, так и программных недоработок, которые вызывали недовольство среди пользователей. Первая и пожалуй самая главная для игровой консоли — отсутствие возможности горячей смены картриджей с играми. Сами игровые картриджи были реализованы в виде обычных MMC-карт памяти, однако, судя по всему в S60 не было поддержки «горячей» замены карт памяти как таковой, из-за чего для смены игры необходимо было сначала достать аккумулятор, заменить флэшку с игрой, установить аккумулятор, включить устройство и дождаться его загрузки (секунд 15) и только потом уже начинать играть. А учитывая, что это был телефон, то довольно длительное пребывание вне сети устраивало далеко не всех пользователей.
Картриджи были проблемой и для жителей отдаленных регионов. В России, насколько мне известно, картриджи можно было купить только в Москве и СПБ, хотя возможно и ещё в каких-то больших городах. Но вот, например, у меня, жителя Ейска, едва ли была возможность купить картридж «физически» — разве что только под заказ. Другое дело Java игры, которые весили по 50-100 килобайт в те годы и без проблем скачивались даже через мобильный интернет. Впрочем, судя по всему, никакого особого DRM в N-Gage играх не было и после того, как энтузиасты научились сливать игры с MMC-карточек — на N-Gage начало процветать пиратство.
Даже с точки зрения звонков у девайса были свои нарекания. Конструктивно инженеры Nokia решили расположить слуховой динамик не с лицевой части, а с боковой. Из-за этого для разговоров приходилось переворачивать телефон боком. Выглядело это весьма необычно для прохожих, незнакомых с N-Gage. :) Тем не менее, в устройстве были и революционные решения: вспомнить хотя-бы N-Gage Arena, который объединял мобильных игроков в одну сеть с друзьями, таблицами рекордов и т. д.
Чуть меньше чем через год, в мае 2004 года вышла N-Gage QD: исправленная и доработанная версия N-Gage, в которой заметно изменили дизайн, добавили поддержку замены картриджей без выключения девайса и добавили слуховой динамик на переднюю часть корпуса. Именно эта версия N-Gage стала популярной и её чаще всего можно найти на онлайн-барахолках. И хотя N-Gage ругали за недоработки, мобильным игрокам она полюбилась за высокий уровень игр для телефонов тех лет: графика была гораздо лучше чем на GBA и была близка по уровню к PS1, геймплей разнообразнее, чем в Java-версиях, да и сами игры имели довольно большой полноценный сюжет. Это был действительно замах на уровень таких мастодонтов, как Nintendo! Приятным бонусом была полноценная поддержка Java-игр, благодаря чему на телефоне можно было гораздо удобнее проходить уже вышедшие игры для MIDP 1.0, даже если вся библиотека игр N-Gage уже была пройдена!
Не менее интересно девайс устроен и «под капотом». Как я уже говорил выше, N-Gage был построен на базе зарекомендовавшей себя платформы Nokia WD2, которая использовалась в смартфонах 3650, 3300, 3230, 6600 и.т.д. Многие годы смартфоны Nokia работали на базе чипсетов OMAP, в случае WD2 это скорее всего (не точно, есть вероятность что UPP собственной разработки — как и в случае с S40) были специализированные версии OMAP с «перевернутыми» регистрами для предотвращения портирования Linux на устройства Nokia, поскольку OMAP были доступны рядовым энтузиастам.
Характеристики N-Gage были следующими:
Процессор: ARMv4 ядро на частоте 104МГц, что было стандартом для многих телефонов в те годы (например Siemens на платформе S-Gold работали на той же частоте, а E-Gold — вдвое меньшей). Скорее всего, процессор собственной разработки Nokia.
Память: 16Мб SDRAM ОЗУ и 16Мб ПЗУ, раздельно. Иногда флэш-память изнашивалась и в СЦ её нередко меняли. Мои читатели, которые в нулевых работали в СЦ наверняка вспомнят о "бутербродах" на некоторых телефонах :)
Дисплей: 2.1" матрица с разрешением 176x208 и глубиной цвета 12-бит (4096 цветов), выполненная по технологии CSTN (хотя возможно и TN). Для тех лет, диагональ дисплея и его разрешение были оптимальными, круче были только коммуникаторы с 2.4" дисплеями 240x320. Фактически все (или почти все) смартфоны Nokia на Symbian тех лет использовали одну и ту же матрицу, с чуть разной длинной шлейфа (просто где-то её переворачивали вверх-тормашками, как на N70).
ОС: Symbian 6.1
Аудиовыход: 2.5мм джек (моно)
Как видите, ни о каком GPU и речи не шло. Вся отрисовка полагалась исключительно на процессор и результат того, что даже такие крутые 3D-игры как Tony Hawks и Tomb Raider идут на N-Gage — заслуга программистов, которые оптимизировали свои рендереры для работы на 104МГц ядре! А ведь некоторые телефоны тех лет (например, Motorola) использовали отдельные 2D GPU для ускорения отрисовки интерфейса и работы с камерой — ATI Imageon! Благодаря тому, что девайс строился на смартфонной платформе, на нем можно было не только играть, но и слушать музыку, а также смотреть видео и серфить интернет. Весьма и весьма для тех лет!
Даже спустя несколько лет после выхода телефон N-Gage, сам бренд и платформа N-Gage Arena продолжила существование на флагманских смартфонах Symbian, которые уже не имели такой игровой дизайн. Одним из N-Gage 2.0 девайсов была легендарная Nokia N95, которая в плане игровой направленности была гораздо круче, поскольку в устройстве использовался GPU PowerVR MBX Lite. Да, точно такой же, как и в iPhone 2G!
❯ Как он ко мне попал?
Конечно же, рано или поздно я и сам хотел обзавестись собственной N-Gage, с чем мне помог мой читатель, причём всё как я люблю: девайс был полурабочим и требовал некоторого ремонта. Более года назад мне написал подписчик на DTF с никнеймом «Improved white bonkle» и предложил заслать N-Gage QD и ещё одну плату под ремонт с некоторыми аппаратными проблемами: первая плата висела на белом экране, а вторая просто висела на логотипе Nokia без подсветки экрана. Помимо N-Gage, читатель положил «толстую» зарядку и флэшку на 1Гб, за что ему огромное спасибо.
Читатель рассказывал, что девайс он покупал у некого коллекционера «гаг» в России и довольно много играл на ней в эксклюзивные игры для данной платформы. После поломки устройства, девайс лежал у него какое-то время, пока он не заметил мои статьи и не решил заслать устройство под ремонт в хорошие руки. :) Ну что-ж, давайте оживим девайс!
❯ Ремонтируем устройство
Я не зря отметил то, что девайс подарили мне более года назад. Мне удалось сразу продиагностировать N-Gage и обнаружить неисправности, однако фактически отремонтировать устройство у меня не вышло: в то время я откровенно «бомжевал» и у меня даже более-менее адекватной паяльной станции не было. Дабы было понятно: тогда я перепаял коннектор АКБ, сейчас я восстановил BTEMP. На данный момент мне материально активно помогаете вы, мои читатели, поэтому за год я смог обустроить небольшое рабочее место, пригодное для проведения большинства ремонтных работ.
Разбирается девайс очень просто, как и большинство телефонов Nokia тех лет: снимается передняя часть корпуса (панелька), откручиваются винты, снимается пластиковая часть с клавиатурой, дисплей и затем плата из задней части корпуса. Кстати, панельки очень часто любили менять для придания свежего вида устройству: эдакие скины тех лет. :)
Обратите внимание на то, что некоторые детские болячки пользователь и сам мог отремонтировать. Не работает разъём ЗУ, наушники, вибромотор или динамик? Пошёл, купил за 10 рублей на ближайшем радиорынке и сам поменял! Вот уж настоящий right to repair. :)
Визуально осмотрев плату, я пришёл к выводу, что плата скорее всего не копанная китайцами: компаунд UPP'а (процессор) и Mjoelner (радиотракт) был не тронут, флэша с виду тоже в норме, все элементы стояли ровно. Однако около коннектора аккумулятора, я обнаружил следы канифоли: кто-то явно вручную перепаивал коннектор АКБ. Спросив у читателя, я получил утвердительный ответ: он действительно пытался перепаять коннектор аккумулятора с помощью советского паяльника.
Но почему же тогда устройство виснет на заставке Nokia без подсветки? Давайте взглянем на схему:
У коннектора АКБ три контакта: плюс питания, масса и BSI, который уходит напрямую в UEM (контроллер питания). Смартфоны Nokia на платформе WD2 были очень капризны к сопротивлению на BSI и UEM отказывался давать разрешение на старт при установке несовместимого аккумулятора. Казалось бы, BL-4C, BL-5C и BL-5CB по размерам почти одинаковые, но имеют разное сопротивление на BSI.
Однако даже при установке совместимого АКБ, устройство отказывалось включаться. Вывод простой: линия BSI находится в обрыве. Первым делом я сдул коннектор АКБ, перепаял его и девайс наконец-то нормально включился… ненадолго. Произошло падение в «белый экран», как и вторая плата. Причиной этому стала «стекляшка» рядом — токовый датчик LM3820: вероятно, в ходе ремонта коннектора, читатель умудрился неравномерно поплавить шары под стекляхой, из-за чего контакт нарушился. Стекляха среагировала на прогрев с флюсом и девайс снова включился…
Коннектор АКБ уже был, в скажем так, не идеальном состоянии, поэтому для точного исключения влияния коннектора я залудил контакты. Я люблю, когда платы не уколхожены, а весь ремонт близок к заводскому - поэтому коннектор "за кадром" будет заменен на норм.
Но не заряжался. :( При попытке зарядить девайс, система показывала сообщение «не заряжается» и потребление падало в ноль. Ремонт я проводил ещё тогда, когда у меня и станции нормальной не было, из-за чего я умудрился сколоть NTC-термистор прямо под коннектором аккумулятора (обычно он расположен либо с обратной стороны коннектора АКБ, либо с обратной стороны платы), прямо с пятачками.
Я знаю, что иногда меня читают опытные мастера с многолетним опытом, которые уже тянутся написать «Рукожоп! Мы в нулевых в ещё более тяжелых условиях умудрялись мобилки ремонтировать, а ты вон люкей себе не смог купить!». Но я лично считаю, что если косяк нормально исправлен, даже через год — то это не косяк. :) Поэтому лезем в схему и смотрим, куда у нас уходит BTEMP:
BTEMP идёт в UEM через обвязку в виде конденсатора C230, который расположен с обратной стороны платы, около КП. Найти его можно в Component finder'e, который можно найти в самом конце почти любой схемы на телефоны Nokia:
Подпаиваемся, включаем и девайс и… всё снова работает, в том числе и зарядка. :) На этом ремонт устройства закончен.
Отдельное слово хотелось бы сказать о дисплеях: для N-Gage обычно их принято считать достаточно редкими. Однако есть нюанс: практически все смартфоны Nokia на платформе WD2 (и пару на BB5 — например, N70) использовали одну и ту же матрицу с параллельным интерфейсом. Различия были лишь в форме шлейфа. В N70, например, этот дисплей ставился «перевернутым», однако длины шлейфа не хватало для того, чтобы поставить дисплей в N-Gage. Тем не менее, теоретически можно попробовать поставить куда менее редкий дисплей от 6630.
В процессе подготовки материала и изучения схемы, я вывел небольшой мануал по базовой диагностике N-Gage и любого телефона Nokia на платформе WD2:
Белый экран, есть звук включения и реакция кнопок. Чаще всего виноват EMIF-фильтр COM01F2: хрупкая «стекляха», которая повреждается при попадании влаги или падении устройства. Реже — обрыв сигнальных линий дисплея до коннектора дисплея, а то и отвал омапа.
Белый экран, ноль реакции: из-за бага в первых версиях прошивки, при полном заполнении внутренней памяти девайс виснул на белом экране. Реже — проблемы с питанием на OMAP, отвал процессора. Из-за попадания воды может пострадать токовый датчик.
Нет подсветки, лого Nokia: обрыв BSI или неподходящий аккумулятор.
Нет реакции на кнопку включения: замерить напряжение на входе кнопки включения (должно быть близко к VBAT), дальше смотреть в сторону UEM и его обвязки. На некоторых смартфонах Nokia (уже чуть более поздней платформы — например N70) кнопка включения идёт через EMIF-фильтр вместе с клавиатурой, из-за чего убитая стекляха может стать причиной отсутствия напряжения на PWRON.
Нет подсветки, есть изображение: проверить напряжение на C130 — если там есть 13.3В, значит бустер работает нормально. Если напряжение более 13В, то нет фидбека (т. е. катода с подсветки на самом дисплее), необходимо проверить обрыв на коннекторе дисплея. Проверить драйвер подсветки D130, при необходимости заменить (подходит с многих Nokia тех лет, иногда кустарно заменяют на драйверы подсветки с других телефонов).
❯ Знакомимся с девайсом поближе
Как я уже говорил выше, читатель задарил мне ещё и флэшку, на которой было установлено куча игр: как портов игр с других платформ, так и нативных «дампов» с картриджей, а также эмуляторов. Было ли во что поиграть на N-Gage? Давайте узнаем:
Именно на платформу N-Gage вышло не так уж и много игр: всего около 50. Однако среди них всё равно найдется во что поиграть: многие известные издатели решили рискнуть и разработать игры по собственным вселенным для N-Gage. В каких-то случаях это были порты с других платформ (например, Asphalt 2 с PSP, хотя это не совсем верно, поскольку Asphalt изначально мобильная игра), в каких-то уникальные игры, дополняющие ЛОР той или иной вселенной (например, TES Travellers). Не забываем про игры для обычных Symbian-смартфонов, порты и J2ME игры: таким образом, библиотека получается весьма и весьма обширной!
Ну и не стоит забывать и о эмуляторах! С играми для NES и SMD, игровой потенциал N-Gage увеличивается в разы. Ещё бы дисплей был чуть-чуть побольше и хотя-бы классический TN, а не немного блеклый CSTN и было бы вообще идеально.
Помимо игр, на многих Symbian-смартфонах стояли некоторые приложения, которые были must-have для тех лет: например, файловый менеджер X-Plore с диспетчером задач, а также сторонний плеер LCG JukeBox (нормальный плеер с плейлистами появился только в Symbian 8). Иногда диспетчер задач не спасал и девайс приходилось перезагружать.
Давайте же глянем на игры подробнее. Как я уже говорил ранее, все 3D-игры были софтварными: т. е. вся трансформация, обработка освещения и растеризация треугольников с текстурированием и перспективной коррекцией (если была) происходила исключительно на ЦПУ. Поскольку FPU в процессоре не было, использовались fixed-point числа.
Переходим к гоночкам. Тут у нас аж две части Asphalt, ещё тогда, когда серия не стала донатным «фритуплеем». Asphalt 2 весьма занимательная игра с оптимальной производительностью, кое-где конечно бывают просадки, но в целом более чем играбельно. Как это игралось в нулевых? Сравните скриншоты с j2me-версией, которая напоминает гоночные 2.5D игры с SMD и NES (при этом, в ней есть 3D-элементы и игра использует M3G) и версию для Symbian/PSP/NDS, думаю тут всё итак будет понятно:
Однако большинство читателей наверняка интересуют игры в известных вселенных. Взять, например, полноценный порт первой Tomb Raider. Насколько я понимаю, оригинальная TR славилась тем, что изначально разрабатывалась с расчетом на легкое портирование между разными платформами (да чего уж там говорить, игру отреверсили и переписали с нуля как минимум два раза!). Первый Pentium неплохо тянул TR в софтваре, а N-Gage справляется явно не хуже:
Не забываем и про 2D! В некоторых телефонах Motorola, Siemens и Samsung использовались внешние 2D видеоускорители ATI Imageon. В их задачи входила обработка изображения с камеры, функции контроллера дисплея, а также аппаратное ускорение некоторых 2D-операцией: блиттинг, отрисовка линий, прямоугольников и возможно ещё каких-то примитивов. Однако N-Gage, даже без помощи аппаратного блиттинга был способен выдавать приемлемый FPS и уровень графики в 2D играх. Например, в Sonic, где у нас есть параллаксовые фоны с покадровой анимацией:
Ну и нельзя не вспомнить про уникальную игру на N-Gage: TES Travels Shadowkey, которая была разработана специально для N-Gage и поиграть в неё можно только на оригинальном N-Gage, пропатченном Symbian-девайсе или EKA2L1. Вообще, это полноценная RPG от первого лица, расширяющая лор игры в Хаммерфелле и как минимум из-за этого она достойна к ознакомлению. Игра стилистически заметно напоминает Morrowind, графика близка по уровню к PS2. FPS, конечно, колеблется в районе 10, из-за чего игру можно считать пошаговой… но тем не менее, полноценная FPS RPG на мобилках — это многого стоит!
Есть также примеры отличной графики и… очень низкой производительности. Если в TES ещё можно попробовать поиграть в пошаговой манере, то как насчет шутера от первого лица в 5-6 кадров? Речь, конечно же, о Call of Duty. Игра получилась очень красочной (с трушными полигональными ландшафтами и кучей пропов), но крайне медленно работало на желез N-Gage.
❯ А как насчёт хоумбрю?
С разработкой своих приложений под N-Gage дела обстоят сложно. С одной стороны, в Symbian 6.1 ещё не было сертификатов, необходимости делать джейлбрейк и менять дату в устройстве. С другой стороны, для разработки под N-Gage требуется установка оригинального SDK для S60: приложения скомпилированные с помощью более свежих версий SDK работать не будут! Ни о каком Qt и речи не идёт и даже Carbide окажется слишком свежим для нашего устройства. Оригинальный SDK можно скачать здесь.
Кроме того, SDK использует весьма своеобразную систему сборки, написанную на Perl, которая поддерживает только древнюю версию ActiveState Perl 5.6.1 аж от 2001 года и не работает на Windows 7/8/10! С отладкой на реальном устройстве тоже возникнут проблемы: для этого необходим относительно редкий FBus-кабель (который устанавливается вместо аккумулятора и подключается к ПК через RS232-преобразователь), либо использование программатора а-ля UFS HWK. Хотите отлаживать игру на ПК? Тут есть симулятор, прямо как при разработке под iOS: однако этих симуляторов целых два (для Visual C++ 98 и CodeWarrior) и с каждым возникают проблемы при сборке (то линкер крашнется, то разработчики забудут положить часть реализации системных либ для разных симуляторов в разные версии SDK). Хотите разрабатывать игры? С симулятором об этом можно забыть — отрисовка слишком медленная. Готовьтесь писать кроссплатформенный рантайм, который под Windows будет использовать GDI, а под Symbian нативное API для графики! Программа крашнулась на реальном устройстве и инструментов для отладки у вас нет? Ничего подробнее «приложение остановлено» вы не получите!
Ну а вишенкой на торте станет весьма своеобразный сабсет C++, который используется для написания приложений. Сама система полностью построена по принципам ООП, однако ради уменьшения размера выходного кода была полностью убрана поддержка исключений: предполагается, что программист будет вручную помещать объекты на стек (для Stack unwinding'а), полностью убран RAII как концепция с введением NewL и ConstructL, где L — означает Leave (т.е исключение может выбросить только функция-фабрика, а не фактический конструктор) и кодов ошибок, а также полное отсутствие поддержки глобальных переменных (но есть частичная поддержка констант — из преинициализированных данных, судя по всему, поддерживаются только строковые литералы). Да, никакого .data и .bss, что серьёзно усложняет портирование существующих приложений под Symbian. Спасибо что есть пакет для совместимости с POSIX и реализовали часть stdlib.
Почему нет глобальных переменных?
Приложения в Symbian — это, по сути, dll-библиотеки, с которыми общается UI-фреймворк. Ради сохранения памяти, в Symbian решили сделать все загружаемые библиотеки доступными для любых процессов в системе. Поэтому Symbian и не позволяет библиотекам иметь собственную статическую память, зато можно свободно использовать динамический аллокатор. У exe таких ограничений нет, однако там свои сложности при взаимодействии с системным API. Тем не менее, с Quake поступили своеобразным грязным хаком: Приложение в меню лишь «значок», который фактически запускает соответствующий exe-файл на флэшке!
Дело улучшает кастомный SDK для хоумбрю от энтузиаста из Германии. Он портировал SDL2, Lua и адаптировал тулчейн для работы в современных системах. Но лично для меня это не трушно — нужно использовать оригинальный SDK. :)
В целом — это одно из объяснений того, почему N-Gage стала относительно провальной как платформа для игр. Конечно в своё время был жив форум разработчиков Nokia, где были как официальные сэмплы от Nokia, так и мануалы от других разработчиков, однако базовые косяки при проектировании архитектуры платформы портили всю малину. Чего уж стоит обратная совместимость: для быстрой отрисовки графики предполагалось рисовать картинку в обход графического сервера, напрямую получая указатель на фреймбуфер. В начале фреймбуфера лежала структура с описанием разных пиксельформатов, которые были отнюдь нестандартными: 12-битный, 16-битный, 18-битный. Из-за этого, игры для старых версий Symbian могли давать артефакты на 9.x, например.
Написание полноценной, пусть и небольшой игры — материал для отдельной статьи. Есть идея написать кроссплатформенную игрушку, которая работала под разными платформами кнопочных девайсов: от Motorola ROKR на Linux и китайских клонах Nokia (E71 все помнят?), до эльфов на Siemens'ах и Motorola E398. Таким образом, мы рассмотрим особенности разработки под каждую платформу (например, на моторах был 2D-ускоритель ATI Imageon).
❯ Заключение
Вот таким был легендарный N-Gage. Девайс, конечно, действительно весьма своеобразный. С одной стороны это гениальное решение: взять смартфонную платформу и сделать на её базе игровую консоль. С другой стороны, с разработкой игр под N-Gage, или, например, прямыми функциями телефона были свои проблемы. Девайс получился немного сыроватым, но лично я считаю, что концепция имеет право на жизнь, но пока ни у кого не получилось сделать действительно массовый девайс. По моему мнению, нужно сохранить как можно больше N-Gage живыми. Сложно даже представить сколько потенциально оживляемых плат уехало в чермет…
А вам понравился N-Gage?
P. S.: Друзья! Время от времени я пишу пост о поиске различных китайских девайсов (подделок, реплик, закосов на айфоны, самсунги, сони, HTC и т. п.) для будущих статей. Однако очень часто читатели пишут «где ж ты был месяц назад, мешок таких выбросил!», поэтому я решил в заключение каждой статьи вставлять объявление о поиске девайсов для контента. Есть желание что-то выкинуть или отправить в чермет? Даже нерабочую «невключайку» или полурабочую? А может, у этих девайсов есть шанс на более интересное существование! Смотрите в соответствующем посте, что я делаю с китайскими подделками на айфоны, самсунги, макбуки и айпады!
Понравился материал?
Полезная информация относительно ремонта?
У вас был N-Gage?
Понравился материал? У меня есть канал в Телеге, куда я публикую бэкстейдж со статей, всякие мысли и советы касательно ремонта и программирования под различные девайсы, а также вовремя публикую ссылки на свои новые статьи. 1-2 поста в день, никакого мусора!
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!
По моему лучше это сделать в одном месте, чем раскидывать в ответах, да и наверняка кому-то это может оказаться полезным.
Чтобы была понятна моя квалификация, да и спор был в комментах небольшой по формулировкам: Начинал возню с электроникой еще в 6 или 7м классе, совместно с авиамоделизмом, увлекся радиолюбительской КВ и УКВ связью, кто в теме это поймет по нику. Учился по специальности 221.000 "Мехатроника и робототехника", потом аспирантура 05.13.06, "автоматизация технологический процессов и производств", работа в институте завлабом, выпуск последних в РФ инженеров и, отдав на этом долг альма-матер, вольные хлеба инженегром. В народе таких как я называют электронщиками, хотя в квалификационном справочнике такого нет, ближайшее инженер-электроник относится к обслуживанию техники и аппаратуры. Обычно в трудовой оставляют запись типа "инженер-конструктор РЭА" или просто "инженер-разработчик. Ну и судя по тому, что сейчас творится под эгидой борьбы с БПЛА, похоже я один из последних, кто что-то соображает в АФУ, как ни прискорбно.
Для понимания моего отношения к ардуино, я просто процитирую свой коммент:
К ардуино надо подходить весьма осторожно. Подумайте, надо ли вообще в это влезать вам конкретно? Если надо, то насколько?
Если хотите делать что-то серьезное, то забудьте об этом, осваивайте сразу нативную работу с микроконтроллерами нормально. Сейчас актуальны три типа архитектур:
1. Мейнстрим. это армы M0 M4 M7, до недавнего времени балом правила ST с их контроллерами STM32, сейчас много клонов пин ту пин появилось после полупроводникового кризиса: Gd32 серия от gigadevice, CH32 от WCH, мы сидим на APM32 от Geehy. Они все сходны.
2. Будущее. Есть тенденция ухода от потенциально санкционных (все помнят историю с huawei) ARM на Risk V. Я в отделе своих программистов все подпинываю к возможности плавного перехода на эту архитектуру. Неплохие варианты на ней есть у тех же WCH. Наш амур давно уже обещают по приемлемой цене, посмотрим.
3. Простейший дешман. Для бюджетных решений и азов ранее были популярны варианты PIC и AT от microchip и STM8 от ST, но после кризиса в них нет смысла, Китайцы используют массово модернизированную MSC-51 архитектуру, я бы из всей массы вариантов обратил внимание на CH552 и его братьев, шьется сразу по USB и недорого стоит.
А если Вам только потрогать, не особо вникая, для дома, издалека, тогда опять же есть варианты сильно интереснее и удобнее: к примеру raspberry pi pico (не спутайте с другими, тут именно микроконтроллер без операционки) с той же ценой практически и с урезанным питоном уже на борту. При этом там два ядра m0 и куча иных плюшек. В общем не вижу я ниши для ардуино сейчас.
По необходимому оборудованию:
Паяльник. На заре своего профессионального пути довелось попаять еще аналоговым веллером (кстати их паяльники по эргономике весьма хороши), ersa 2000, потом много чего подержал в руках и хако индукционные, в том числе. На предпоследней работе были станции PACE весьма и весьма приятные. Дома еще старенькая lukey 702. Что я могу сказать исходя из всего этого: сейчас на рабочем месте у меня штатный паяльник от станции просто отключен, а паяю я китайским паяльником бюджетным под жала типа T12 . Названия у него особого нет, но он весьма характерен: прозрачная рукоять и небольшой OLED экран в ней. Жала только если будете докупать у китайцев есть чуть по дороже, черненные, они ощутимо дольше служат и с меньшим разбросом по калибровке температуры.
Фен. Штука сейчас очень нужная, но вполне продаются достаточно бюджетные варианты станций чисто фен без паяльника, такого хватит за глаза.
Припой. Для начала забудьте о бессвинцовых вариантах. Они хуже всем, абсолютно по всем параметрам, а их склонность к росту дендритов это вообще проблема. Обычно с ними связываются только на производстве для европейского рынка, и то выделяют отдельную партию. По свинцовым припоям то же довелось попаять всякими понтовыми фирменными вариантами, и с 4 и с 8 каналами внутри под ароматизированную канифоль, да каких там только извращений не бывает. Но я в поведении особых отличий не увидел, потому беру обычный ПОС-60 самый тонкий, 0.5 мм с канифолью. Да, паяльная паста с одной стороны штука интересная, но живет весьма не долго. если я могу сходить на производство и взять для работы немного, то заказывать ее специально для дома ИМХО нет смысла, проще припоем распаять все.
Флюс. Они бывают трех типов: нейтральные, активированные и активные. Нейтральные собственно в нормальных условиях не проявляют окислительных свойств, они у них есть только при повышенных температурах. Это прежде всего канифоль и ее растворы и пасты. Любимый многими аспирин сюда же можно отнести. Это основные базовые флюсы для пайки. Если ими удается работать, то ничего другого использовать не стоит. К активированным относят флюсы, в которых содержатся органические кислоты, при прогреве они разлагаются, это может быть даже самостоятельная добавка той же лимонной кислоты в спиртовой раствор канифоли. знаменитый ЛТИ-120 то же из этой серии. В принципе на платах паять этим можно, но с обязательной отмывкой после, особенно они удобны когда плата не свежая и уже окисел есть на лужении, или радиодетали окисленные. Но не дай бог вам попробовать им распаять провода. Такой флюс легко затекает под изоляцию, где не прогревается и очень быстро превращает медь в зеленую труху.
Ну и активные флюсы собственно содержат сильные, чаще всего неорганические кислоты или кислые соли.
Сейчас я паяю интересным флюсом который опять же таскаю с производства и честно не знаю его названия, просто жидкий прозрачный, на спиртовой основе без запаха, он действительно безотмывочный, но воняет при испарении сильно.
Для простых людей я бы предложил иметь такой набор:
а) просто канифоль, удобно облудить жало после очистки, паять же по старинке переносом канифоли паяльником практически не приходится.
б) Флюс СКФ или спирто-канифольный нейтральный флюс. Это самая ходовая штука при пайке, нейтральный, хорошо растекается и пропаивает нормально, липкий, потому те же корпуса с мелким шагом выводов можно сначала "подклеить", чтобы не сдвинулся при пайке феном, легко смывается. Минус: при попадании на руки липкий. Удобно в общем пользоваться.
в) Какая-нибудь нейтральная паста, судя по всему они на парафино-подобной основе, но не уверен до конца, я брал очень давно люкеевскую еще с паяльной станцией банку граммов 150, до сих пор не кончилась. Такую пасту просто на платах использовать чуть муторнее чем просто капнуть СКФ, но с теми же проводами - ткнул просто в пасту и облудил, удобно. кроме того при попадании на руки нет липкости. В общем хоть не самая нужная штука но иногда удобно иметь. г) Из активированных флюсов тот же ЛТИ-120 вполне себе неплох, но повторю, только там, где он прогревается, провода и прочее подобное не вздумайте им паять.
д) Из активных флюсов я держу обычно ФИМ, не самый агрессивный, но достаточный ну и флюс для алюминия, пригодится не только по прямому назначению, но и для той же нержавейки неплох.
Отмывка. Хоть и есть флюсы позволяющие не мыть плату, но правила хорошего тона никто не отменял. Лучшим средством для отмывки я считаю спирто-бензиновую смесь, но это вновь нужно иметь доступ к производству. Как-то столкнулся с проблемой, что любой купленный изопропиловый спирт оставлял налет на платах, а доступ к оптическому изопропиловому спирту то же штука не повседневная, потому перешел на обычный ацетон, да для рук не очень полезен, сушит, зато и отмывает лучше спирта и высыхает без следов.
Прочее оборудование и инструмент. Особое внимание нужно обратить на пинцет, это второй инструмент после паяльника по важности. лучше иметь даже два, современный тонкий без насечек для smd деталей, желательно еще и немагнитный и старый советский хирургический, для более грубых работ. Очень важно брать пинцеты качественные, сведенные, и подбирать их под свою руку. Удобным бывает использование хиругических зажимов, но это уже не столь обязательно и может быть заменено узкими плоскогубцами и подобным инструментом. Важно иметь и оптические приборы для увеличения. Раньше удобно было использовать линзу с подсветкой по окружности, сейчас мне нравится использовать отдельно подсветку и отдельно китайский микроскоп на базе видеокамеры и экрана, цена в общем сопоставима. Крайне не рекомендую брать очки увеличительные - посадите зрение очень быстро, много примеров у коллег. Бокорезы и кусачки, Я предпочитаю первое, лучше иметь две пары, просто хорошие и с напайками твердосплавными для тонкой работы с медными проводами и выводами.
Модный сейчас подогревочный стол я особо не использую, он актуален при постоянной работе с алюминиевыми платами, и в ремонте китайской бытовой техники на бессвинцовых припоях.
Ну с отвертками и остальным уже и сами разберетесь что нужно будет.
разработка печатных плат, CAD системы.
По хорошему это очень длинный и дискуссионный разговор.
Я начинал и долгое время работал в PCAD 2006, очень продуманная и удобная среда, жаль, что эти глупцы убили программу. Но все устаревает. Потом перешел на другую работу, где использовался DipTrace хохлятский. Весьма приятная программа по мотивам PCAD, но по проще. Ценник был у нее весьма приятный, можно даже для дома купить. Поддержка хорошая. Родная документация в виде учебника по структуре построена, очень быстро осваивается. По большому счету мне не хватало в нем только аналога интерактивного режима в PCAD, когда при прокладке дорожки мешающие могут пододвинутся автоматически. Но с началом СВО команда разработчиков перестала продавать софт В РФ, однако интересовался у бывших коллег, старые версии полностью работоспособны.
Сейчас 2 года сижу как все, в Altium, матерюсь и плююсь, перетяжеленная система, переусложненная идеологически. Работает нестабильно. Много глюков. Например если переносим компонент на другой слой через инспектора, то временами получаем отсутствие мостиков маски между выводами. Документация разрозненная и неудобная, но работать надо. Сука, вот прямо сейчас рисую разводку и меня бесит: ну почему для того, чтобы проложить проводник надо нажать две горячие клавиши, зачем каждый раз нажимать две кнопки? Да и с лицензиями с началом СВО опять же плохо. не говоря о ценнике.
В общем сейчас я начинаю готовится к миграции на свободный KiCAD. Но в рамках предприятия это достаточно сложный процесс с кучей головняков. Еще задолбали аскон, вчера вон дважды звонили. Впаривают свой Delta Design. Эти кадры наивно пытаются втюхать софт уровня DipTrace по цене альтиума и обижаются: чего это мы его не покупаем?
Про CADence и прочий софт не упоминаю, у нас он редок, опыта у меня с ним немного, да и с покупкой теперь проблемы.
Я бы сейчас обратил внимание, повторюсь, на KiCAD. Для серьезной работы стоит настраиваться именно на него ИМХО. Diptrace да, ушел, но появился подозрительно похожий на него как идеологически так и по цене Lithium CAD, небольшим конторам можно на него посмотреть, там поддержка будет, да и не обременительно по цене.
Еще одним вариантом, скорее уже для простых домашних вещей, будет свободный проект LibrePCB. Что-то так же похожее на литиум и диптрейс, активно развивается, но плоховато пока с документацией. Я проверил, для радиолюбительских вещей более чем достаточно. Ну и упаси бог садится на sprintlayout, это неправильны и устаревший подход к разработке.
И да, сразу дам совет: неважно на какой софт вы подсядете, не используйте стандартные или открытые библиотеки. Всегда рисуйте полностью свою. Если накосячите, то хоть не на кого будет приходить, да и будет удобно технологические вещи сразу в библиотеке учитывать, ну и прочие приятные вещи возможны.
7. Ну и собственно SPICE моделирование.
Что я только не использовал, еще с workbench начинал, соответственно мультисим. Потом было время LTSpice, долго на нем сидел. Пробовал и без оболочки работать с spice движками. В итоге несколько последних лет я сижу на открытом софте Qucs-S. Его разработчиком кстати является весьма приятный в общении русский автор. Возможностей у программы более чем достаточно. Если раньше для моделирования s параметров приходилось уходить в старый Qucs, то теперь все есть внутри Qucs-S
Есть в нем моделирование во временной и в частотной областях, и как уже написал выше моделировании S параметров, и возможность оценки динамических качеств схемы.
Вот тут я полностью рассчитал малосигнальный тракт трансивера, можно ознакомиться с возможностями софта:
Есть онлайн конструктор tinkercad и аналоги. Можно без покупки железок освоить первоначальные навыки по обучалке Алекса Гайвера (см. его сайт) и книжечек от наборов Амперки, что бы потом с реальным железом с ребенком это все опробовать.
Из того что реально сделано на ардуино - 3Д принтеры начального уровня.
Из минимального набора знаний вам нужно научиться пользоваться законом Ома, это реально спасает кошелек :)
Язык программирования (синтаксис) используется Си/С++ в оригинале. Все остальное - надстройки, в т.ч. блоковое программирование.
Тут одно время ооооочень активно пиарили ардублок... мне как профессиональному электронщику инженеру электронику электронного отдела - вообще этот подход не заходит, и в целом лучше сразу учиться программировать текстом...
Из книг:
По программированию:
Дэн Гукин Си для чайников
Стефан Р. Дэвис С++ для чайников. Там есть диск, на котором есть "среда разработки" которая поможет выполнить примеры из 1й и 2й книги.
Керниган Ритчи Язык Си - библия по языку Си.
По электронике:
Эйвинд Н. Даль - электроника для детей, как начало.
Для взрослого:
Гордон Мак-Комб Радиоэлектроника для чайников (балавство, но можно ознакомиться с базой)
Хоровиц Хилл Искусство схемотехники (библия)
Тицце Шенк Полупроводниковая схемотехника (библия в 2х томах)
Харрис Харрис Цифровая схемотехника и архитектура компьютера (новый завет)
Еще школьные учебники физики.
Если затянет то вам потребуется приобрести некоторые измерительные приборы и инструменты.
Паяльник - разговор для холиваров... но:
"Слабенький" ватт 20-40 - типа ТS100 и обычный "советский/китайский" ватт на 60-80.
[UPD]: в комментах упомянули реально народное hakko t12.
Если жаба не задушит - паяльную станцию типа luckey 702 или ее аналог. Я попробовал на работе Ersa и теперь хочу что-то подобное, но это уже оверпрайс для дома :)
Набор кусачек пасатижей и бокорезов. Начать можно с простых, один фиг потом появляются "профессиональные" типа pro-skit или "для ремонта сотовых".
Пинцеты - лучше "медицинских 160" я не пробовал.
Оловоотсос - хорошо когда есть, особенно по началу.
Измерительная аппаратура:
Мультиметр, он же тестер
Я бы обзавелся сразу парой. Один простой и желательно стрелочный, а второй и основной я использую mastech MY-64. Именно эта модель умеет измерять практически все. Очень полезный и удачный показометр :)
Лаболаторный источник питания
Про него все почему-то забывают, а штука реально нужная и полезная. Как минимум позволит сэкономить на батарейках и портах USB персонального компьютера/ноутбука.
Самого устройства для начала достаточно на регулировку выходного напряжения до 15 вольт и установки ограничения тока до 2 ампер.
Принцип его работы заключается в том, что бы до установленного порога тока потребления выдавать требуемое напряжение, а при его превышении - отключаться. Посмотреть что за зверь - можно на каналах ремонтеров.
В качестве сферического коня в вакууме можно порекомендовать аппараты типа mastech HY1502. В свое время китайские образцы стоили ну очень прям дешево и по цене сопоставимой с большой пачкой пальчиковых батареек.
Осциллограф
Рано или поздно любой радиогубитель приходит к необходимости иметь в арсенале этот мощнейший измерительный прибор.
Многие начинают с набора DSO138 с алиэкспресса, но практически сразу перерастают его.
Лучше не жмотиться и приобретать болеменее "взрослый". Из последнего достойного что я видел это hantek DSO2D10. Нормальный настольный прибор, умеет показывать сигналы как в непрерывном режиме так и по различным событиям, например сам декодирует некоторые цифровые протоколы передачи данных. А кроме всего прочего имеет встроееный генератор сигналов. Это бывает полезным.
Конечно можно и keysight или lecroy выписать, но это игрушки для больших и сурьезных дядей :( но эти хантеки - хотя бы дают ощущение "взрослого" в отличие от FNIRSI и осциллографов-приставок типа DSO6022BE от того же хантека.
А что еще?
Кроме всего прочего прийдется осваивать кучу различного инженерного ПО.
Начиная от программ для рисования рисунка печатных плат:
SprintLayout
Онлайн-сервис EasyEDA, через который можно было раньше сразу плату заказать в китае
Для следующего этапа можно освоить и системы позволяющие уже на более серьезном уровне моделировать свои схемотехнические решения. Наиболее дружелюбным на мой взгляд является Proteus, но и освоить OrCad никто не запрещает.
А потом на арене появляются проблемы с корпусами...
Инженерное ПО и корпуса
Корпус смоделировать можно много в чем, но лучше ориентироваться например на Компас-3Д (для обучения - бесплатный, для хобби - дешевый) или какой нибудь Solidworks или завязаный на облачное хранилище и учетную запись и возможно уже недоступный Fusion360. А еще люди умудряются в blender'e запчасти для дронов проектировать...
Для изготовления корпуса понадобится 3Д принтер. Для начала достаточно того, что печатет прутком (FDM) и простого по конструкции, такого как классический Ender-3. Но и его можно перерасти очень быстро. Когда потребуется например более "точное" и "мелкое" то добро пожаловать в "ароматный" мир фотополимерной печати.
Привет, Пакабу! Меня зовут Тимур и я с переменным успехом разрабатываю свой робототехнический программируемый конструктор.
Да-да, знаю, у меня руки из жопы, я нихрена не умею и все сделал неправильно, сейчас из пыльных нор вылезет куча людей, кто мог бы сделать лучше, качественнее, красивее и так далее. Да, знаю: все неоправданно дорого, я конченый капиталист и пытаюсь содрать деньги с нищего населения. Я же не первый год на пикабе и прекрасно помню, как носилось по трубам говно в тредах про умные столы, например. Там авторов проекта не обвиняли, пожалуй, только в том, что они убили Христа. Я к чему все это: обоснованный, конструктивный хейт - это даже хорошо. А вот просто поливание говном плохо. Короче, говорите хорошо, а плохо не говорите. Или говорите, мне насрать, потому что любой резонанс для проекта пойдет на пользу.
"Аврора" - это линейка современных технологичных образовательных конструкторов, участвующих в обучении таким дисциплинам как: физика, механика, программирование и робототехника.
Комплексом этот проект называется потому, что состоит из 4 наборов:
Аврора. Механика и физика.
Аврора. Программируемые модели.
Аврора. Манипуляционные роботы.
Аврора. Техническое зрение.
Каждый из этих наборов дополняет предыдущий или выводит ранее полученные знания на качественно новый уровень. Робототехнический комплекс "Аврора" - это не просто конструктор, это наш российский ответ современным тенденциями в образовании и науке. Основная суть концепции "Аврора", ее смысл - это увлекательное и интересное объяснение сложных вопросов путем наглядной демонстрации. Абсолютно все модели, собираемые из деталей конструктора - это не просто статичные макеты, а настоящие действующие модели устройств и механизмов. Внося изменения в конструкцию или программный код, обучающийся мгновенно видит результат своих действий на примере изменения функционала модели.
Конструирование
В конструкторских наборах "Аврора. Механика и физика" и "Аврора. Программируемые модели", используется специально разработанный тип разъемного соединения "шип-паз". Отличие данного способа в том, что "шип" имеет подпружиненную структуру, поэтому детали при соединении не стачиваются и не заминаются. Тысячный стык будет таким же надежным, как и первый. Соединение прочное, в меру жесткое. Кроме того, детали имеют крупный размер и правильную форму. Они изготовлены из АБС - пластика, поэтому случайное падение или удар не станут причиной критических разрушений в собираемой конструкции. Концепция конструктора "Аврора" также предусматривает наличие подшипников в качестве составной части валов и осей. Они увеличивают ресурс аккумуляторной батареи, помогают избегать заклинивания и стачивания вращающихся элементов и их посадочных мест, минимизируют трение и вносят технологичность при сборке.
Подробнее о продукте
"Аврора. Механика и физика" - тут электроники нет вообще, все модели и механизмы приводятся в движение только мускульной силой, гравитацией или торсионом. В качестве примера приведу мою любимую модель - MarbleMachine.
"Аврора. Программируемые модели" - это тот же набор, что и предыдущий, только доукомплектован электромеханическими модулями. Двигатели, датчики и робототехнический контроллер помогут, буквально, оживить собираемые модели и заставят их ощущать окружающий мир и взаимодействовать с ним.
Робототехнический контроллер имеет 12 портов с физическим интерфейсом RJ12. На них выведены 5 аналоговых портов, 5 цифровых (в том числе 2 порта с интерфейсом I2C) и 2 силовых порта для моторов или иных мощных нагрузок. Коммутирует нагрузку драйвер L298, по 2А на канал. Имеется встроенный пьезодинамик на 8 КГц. Контроллер имеет программируемые кнопки в количестве 3 штук, а также отдельный разъемом DC для питания моторов и схемы (через стабилизатор) током 7-36 В. На борту имеется светодиодная матрица 8*8, разъем USB-B для программирования и модуль Bluetooth, который позволяет прошивать контроллер по воздуху, а также дистанционно управлять устройством по средствам смартфона через терминальные интерфейсы. Для переключения между режимами работы кабель/воздух имеется кнопка. Модуль Bluetooth имеет 2 стороннюю связь, так что команды на него можно не только подавать, но и читать данные из интерфейса Serial. Ядром базовой станции является микроконтроллер Atmega 328p с кварцем на 16 Мгц. Также имеется обозначение для определения назначения портов и кнопок.
"Аврора. Манипуляционные роботы" - это DIY набор, состоящий из комплекта активных и пассивных электронных компонентов, приводов различного типа, микросхем, дисплеев, датчиков и компонентов для сборки манипуляционного робота угловой кинематики с клешневым и пневмо захватом.
"Аврора. Техническое зрение" - это комплект устройств, компонентов и инструкций для сборки модуля технического зрения. Комплект позволит обучающимся самостоятельно написать нейросеть для работы устройства, которая наглядно продемонстрирует возможности машинного обучения. В процессе работы обучающимися будут реализованы алгоритмы распознавания текста, лиц, цвета, формы, размеров объектов, а также комбинаций этих признаков. Ученик научится использовать библиотеку OpenCV и сможет самостоятельно обучить нейросеть.
Цель краудфандинга.
Конструктор "Аврора" - это хобби, которое постепенно становится основным родом деятельности. Сейчас я планирую немного модернизировать комплект "Аврора. Программируемые модели" и для этих целей будет разрабатываться новая версия робототехнического контроллера. Его ядром станет ESP32. Это уже не микроконтроллер, а двухъядерный микропроцессор со всеми вытекающими. Частота — 240 МГц, что в 15 раз выше, чем в сейчас. Оперативной памяти — 520 Кб, что в 260 раз больше. Энергонезависимая программная память — 448 Кб. Еще на борту есть WiFi и Bluetooth с поддержкой BLE. Такие устройства смогут собираться в стаи и выступать в качестве серверов для умного дома, мобильных гаджетов, других роботов.
Дополнительная информация.
1). Это не прототипы. Это продающийся, точнее продававшийся и довольно успешно товар. Однако, продажи через непродолжительное время были прекращены в связи с рядом обстоятельств. Сейчас я хочу доработать товар и возобновить продажи.
2). Я ищу крупного инвестора для запуска товара в серийное производство. Нужно вложиться в пресс-формы для литья пластмасс и организацию производственных процессов. Если есть желающие, а главное реально имеющие такой интерес и ресурсы, готов обсуждать условия. Если решить проблему наличия пресс-форм, то есть все шансы выпустить на рынок робототехнический конструктор ценой менее 10 000 рублей.
Здесь к blue pill подключается радиомодуль, контроллер двигателя и две сервомашинки. Аккумулятор подключается к контроллеру управления двигателя, на нем стоит стабилизатор на 5 вольт, с которого берется питание для управляющей электроники. Сервомашинки также запитываются с этих 5 вольт. Радиомодуль питается от +3,3 вольт со стабилизатора blue pill. Здесь имеется делитель напряжения, который подключен к аккумулятору, для контроля его напряжения. Информация шлется на пульт управления.
Здесь чуть побольше компонентов. Аккумулятор подключается на порт +5 вольт blue pill. Для зарядки аккумулятора к нему подключен модуль зарядки. С blue pill при помощи 3,3 вольт запитывется экран, радиомодуль, джойстики. Потенциометры джойстиков подключены к каналам АЦП blue pill, их тактовые кнопки и остальные две подключены на остальные порты в режиме вход.
В меню пульта 4 строки: 1 строка - это режим полета, во 2 строке просто отображаются данные АЦП и т.д. в 3 строке настраиваются чувствительность рулей и субтример (начальное положение элевонов), в 4 строке ничего нет (можно добавить).
Нажатие правого джойстика - переход на одну строку вниз, левый - на одну строку вверх, нажатие одновременно двух джойстиков заходит в подменю выбранной строки, аналогично производится выход. Две другие кнопки используется для настройки чувствительности в меню строки Sensors, их одновременное длительное нажатие, в любом нахождении меню, включает подсветку. В режиме полета нажатие любого из джойстиков активирует работу двигателя или дективирует, чтобы при заходе в режим полета двигатель не работал сразу и случайно не отпилить себе пальцы винтом не поранил крутящим винтом.
При отключении пульта во время работы приемника, через 2 секунды отключается двигатель.
Расскомментировав эти строчки в main.c (до надпсиси END OF DEBUG_RC OUT):
пульт можно подключить по USB к ПК при помощи любой Terminal программы (я пользовался CoolTerm), в которой нужно выбрать COM порт и присоединится к blue pill:
и в окне получить информацию о подключении радиомодуля:
Считывая установочные данные, записанные в регистры радиомодуля, можно убедиться, что модуль работает и данные совпадают с установленными. В данном случае я получил статус работы радиомодуля, его мощность передачи (максимальная), номер канала (11), скорость передачи (1 Мбит в секунду), размер передаваемого пакета (32 байта - максимальный) и количество бит контрольной суммы (в моем случае 16 бит). Если модуль не подключен или неисправен в терминал выводит такое сообщение:
Зайдя сюда в подменю Settings:
в терминал посыпятся такие строчки:
Здесь данные в таком порядке: X1: значение c АЦП правого джойстика по вертикали, Y1: значение c АЦП правого джойстика по горизонтали, значение с АЦП левого джойстика, которым управляется двигатель, значения только по вертикали, далее напряжения аккумулятора пульта, напряжения аккумулятора на приемнике, значение кнопки правого джойстика, значение кнопки левого джойстика, значения кнопок что находятся справа на пульте, субтример, чувствительность 1 и 2 (2 не используется), а также статус связи с приемником.
Как видно сигнала нет, так как примник был отключен. Также я зажал кнопку правого джойстика и просто левую кнопку, они выдают "1".
Включаю приемник и перевожу правый джойстик в правый верхний угол:
получаю сообщение что сигнал есть, а данные джойстика показывают максимальные значения.
АЦП на Blue Pill имеет разрешение 12 бит, максимальное значение котрого 4095, но в терминале видно, что оно 255, все потому что я 12 бит перевел в 8 бит (1 байт), так как один элемент массива передоваемого пакета равен 1 байту, чтобы одним байтом можно было слать значения одной из осей джойстика.
Аналогичным образом можно подключить приемник к ПК, узнать статус радиомодуля и получаемые данные с пульта, в main.c расскомментировав эти строчки:
Использовать джойстики для управления в таких проектах, вместо нормальных стиков не очень хорошо. Во-первых, для управления газа стик должен сохранять свое положение, а не быть подпружиненным и возвращаться на середину, убрать эту пружинку в джойстика очень проблемно, но я думаю можно. Во-вторых, это должны быть стики, так сказать длинные палочки, для более плавного и точного управления за счёт отдаления пальца от центра потенциометра или увеличения радиуса, это можно решить, наколхозив что-то длинное на джойстики. Специальные стики заточены именно под это, что нельзя сказать про джойстики, но на них цена уже совсем другая, например: стик FlySky.
Крыло сложно в управлении (по-моему мнению) по сравнению с моделями, имеющими хвост со стабилизатором и килем.
И наконец, то, чего мы так долго ждали!!! Видео полетов. К сожалению, видео очень короткое, так как полет был недолгий.
В ВИДЕО ПРИСУТСТВУЕТ ПАРУ ПЛОХИХ СЛОВ!
В заключении хочу написать, что это был мой первый опыт постройки подобной игрушки.
Самолёт полетел вполне уверенно, но что-то пошло не так, если честно, я не понял в чем причина, может это из-за джойстиков или все-таки конструкция крыла. Я думаю, что на этом я не остановлюсь и попробую как-нибудь еще, пересмотрев ошибки.
Всем спасибо!
Ссылки на товары которые я использовал:
Отладочная плата Blue Pill
Радиомодуль
Программатор St-Link
Набор из контроллера, двигателя винта и сервомашинок