Пока у меня нет времени подробно описывать мой стенд и текущую работу.
Но тут мне напомнили, чем я занимался 10 лет назад, и я полез пересматривать фотографии тех времен. Это был игровой вендинговый автомат. На фото видно, из чего я собрал первый прототип, как проводил первые тесты, и там даже есть моя первая выручка.
Помню, что у этих машинок уже через неделю начинали выходить из строя драйверы моторов, а сами моторы редко жили дольше пары месяцев. Но игрушка была очень прикольная.
Автомат запускался от монетоприемника, после чего давал управлять машинками несколько минут и вел счет игры. Если машинка переворачивалась, сопернику засчитывался балл. На столе были трамплины и кнопка (по-моему они были напечатаны на 3D принтере и затем покрашены), которая на время отключала управление у оппонента.
Проблему с драйвером я тогда, кстати, решил. Помню, как обращался в поддержку Texas Instruments, но там мне не смогли помочь. В итоге я сам догадался поставить TVS-диоды (супрессоры) на выходы драйвера, и это сработало. А вот с моторами все оказалось сложнее: чтобы они служили дольше, приходилось снижать скорость.
На его основе я потом сделал еще две версии, но именно эта была мне милее других, более навороченных. Скорость и отзывчивость управления решали.
Возможно, именно на это тогда и стоило делать основной упор, но мы уже это никогда не узнаем))
P.S. Кстати, там стоял радио трансивер CC1011, который позже будут использовать в Flipper Zero. Ну это так, просто)
Но тут мне напомнили, чем я занимался 10 лет назад, и я полез пересматривать фотографии тех времен. Это был игровой вендинговый автомат. На фото видно, из чего я собрал первый прототип, как проводил первые тесты, и там даже есть моя первая выручка.
Помню, что у этих машинок уже через неделю начинали выходить из строя драйверы моторов, а сами моторы редко жили дольше пары месяцев. Но игрушка была очень прикольная.
Автомат запускался от монетоприемника, после чего давал управлять машинками несколько минут и вел счет игры. Если машинка переворачивалась, сопернику засчитывался балл. На столе были трамплины и кнопка (по-моему они были напечатаны на 3D принтере и затем покрашены), которая на время отключала управление у оппонента.
Проблему с драйвером я тогда, кстати, решил. Помню, как обращался в поддержку Texas Instruments, но там мне не смогли помочь. В итоге я сам догадался поставить TVS-диоды (супрессоры) на выходы драйвера, и это сработало. А вот с моторами все оказалось сложнее: чтобы они служили дольше, приходилось снижать скорость.
На его основе я потом сделал еще две версии, но именно эта была мне милее других, более навороченных. Скорость и отзывчивость управления решали.
Возможно, именно на это тогда и стоило делать основной упор, но мы уже это никогда не узнаем))
P.S. Кстати, там стоял радио трансивер CC1011, который позже будут использовать в Flipper Zero. Ну это так, просто)
❤6🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Тут сравнение в скорости сборки относительно сложного проекта, где собираются два образа для двухядерного микроконтроллера nRF5340 с использованием RTOS Zephyr. Тут сборка идёт через west+cmake+ninja, а для конфигурации используются kconfig и device tree.
В общем тут внутри все немного более запутано, чем это обычно бывает когда собираешь под bare metal)
К чему видео, зачем я так заморочился?
Слева ноут от Asus на Ryzen AI 9 365, справа MacBook Air на M4. Они примерно одинаковой цены и собирают тут проект (идёт именно чистая сборка) примерно с одинаковой скоростью. Но ноут Asus работает на Linux, а сборка на винде отнимала полторы минуты - в три раза дольше. Это и послужило причиной покупки макбука - я просто психанул и купил его, чтобы можно было нормально работать вне дома. Какое-то время я честно пытался пересесть на мак, но блин... Он невероятно крут в некоторых вещах и просто ужасен в других. С ним я перестал получать удовольствие от работы.
Спустя несколько недель мучений мне пришла идея попробовать Linux и, да, там тоже есть свои приколы и проблемы. Но там есть ответ или решение на более или менее любой твой запрос. Поковырялся с ним несколько дней и вот - очень даже ничего, все работает и можно в винду через dual boot загружаться, если нужен Altium. И нет всего этого bloatware, который тебе пихает винда, хочешь ты этого или нет.
Если их сравнивать между собой, получается примерно так:
Asus + Linux:
- можно настроить все под себя и взять лучшее из UX винды и мака
- больше ОЗУ и SSD за те же деньги
- лучше клава и есть numpad, что для меня очень важно (хотя это дело привычки и workflow, знаю, что многие предпочитают клаву MacBook)
- лучше набор портов, обычно тебе не нужны донглы для их расширения
MacBook:
- лучше держит батарейку (не настолько лучше, как обычно люди себе представляют)
- гораздо лучше тачпад (который я довольно редко использую)
- мак ощущается гораздо приятнее в руках, как премиальный продукт и лучше сохраняется.
Остальное все примерно сопоставимо.
Теперь я продаю свой Mac.
У них есть ещё одно отличное качество - это хорошая цена на вторичном рынке)
Думаю поставить ли Linux на мой десктоп. На нем винда меня меня пока не так сильно раздражает, но если подумать, насколько он может работать быстрее с нормальной ОС...
Посмотрим)
В общем тут внутри все немного более запутано, чем это обычно бывает когда собираешь под bare metal)
К чему видео, зачем я так заморочился?
Слева ноут от Asus на Ryzen AI 9 365, справа MacBook Air на M4. Они примерно одинаковой цены и собирают тут проект (идёт именно чистая сборка) примерно с одинаковой скоростью. Но ноут Asus работает на Linux, а сборка на винде отнимала полторы минуты - в три раза дольше. Это и послужило причиной покупки макбука - я просто психанул и купил его, чтобы можно было нормально работать вне дома. Какое-то время я честно пытался пересесть на мак, но блин... Он невероятно крут в некоторых вещах и просто ужасен в других. С ним я перестал получать удовольствие от работы.
Спустя несколько недель мучений мне пришла идея попробовать Linux и, да, там тоже есть свои приколы и проблемы. Но там есть ответ или решение на более или менее любой твой запрос. Поковырялся с ним несколько дней и вот - очень даже ничего, все работает и можно в винду через dual boot загружаться, если нужен Altium. И нет всего этого bloatware, который тебе пихает винда, хочешь ты этого или нет.
Если их сравнивать между собой, получается примерно так:
Asus + Linux:
- можно настроить все под себя и взять лучшее из UX винды и мака
- больше ОЗУ и SSD за те же деньги
- лучше клава и есть numpad, что для меня очень важно (хотя это дело привычки и workflow, знаю, что многие предпочитают клаву MacBook)
- лучше набор портов, обычно тебе не нужны донглы для их расширения
MacBook:
- лучше держит батарейку (не настолько лучше, как обычно люди себе представляют)
- гораздо лучше тачпад (который я довольно редко использую)
- мак ощущается гораздо приятнее в руках, как премиальный продукт и лучше сохраняется.
Остальное все примерно сопоставимо.
Теперь я продаю свой Mac.
У них есть ещё одно отличное качество - это хорошая цена на вторичном рынке)
Думаю поставить ли Linux на мой десктоп. На нем винда меня меня пока не так сильно раздражает, но если подумать, насколько он может работать быстрее с нормальной ОС...
Посмотрим)
❤4👍2🔥2
Наконец отгрузил одному из своих заказчиков эти платы.
Он заказал по 1000 шт каждого вида.
Большая плата, это контроллер аккумулятора, с индикацией процента заряда, режима работы, а ещё он показывает логотип, что немаловажно для его продукта.
Маленькие платы это специальные драйвера светодиодов на 300 и 500 мА с регулировкой яркости нажатием кнопки. Один для работы напрямую от li-ion аккумулятора, а другая от этой платы аккумулятора.
Особое внимание уделено потреблению. Пришлось заморочиться, чтобы плата аккумулятора детектировала работу светодиодного драйвера и включала повышающий DC-DC преобразователь.
Они разработаны и изготовлены специально для налобных осветителей
https://nomlamp.ru/
Раньше он ставил туда ШИМ контроллер с LC фильтром, который управлял ими напряжением и у светильников плавали характеристики во время работы. Сейчас работают как надо)
Где-то год назад показывал первые версии на этом канале. Это третья итерация, насколько я помню
Он заказал по 1000 шт каждого вида.
Большая плата, это контроллер аккумулятора, с индикацией процента заряда, режима работы, а ещё он показывает логотип, что немаловажно для его продукта.
Маленькие платы это специальные драйвера светодиодов на 300 и 500 мА с регулировкой яркости нажатием кнопки. Один для работы напрямую от li-ion аккумулятора, а другая от этой платы аккумулятора.
Особое внимание уделено потреблению. Пришлось заморочиться, чтобы плата аккумулятора детектировала работу светодиодного драйвера и включала повышающий DC-DC преобразователь.
Они разработаны и изготовлены специально для налобных осветителей
https://nomlamp.ru/
Раньше он ставил туда ШИМ контроллер с LC фильтром, который управлял ими напряжением и у светильников плавали характеристики во время работы. Сейчас работают как надо)
Где-то год назад показывал первые версии на этом канале. Это третья итерация, насколько я помню
👍6🔥4❤3
Одна из самых больших проблем, когда сам проектируешь электронику, это ошибка "замыленного глаза", когда ты тупо что-то забыл.
В крупных компаниях дизайн перед отправкой в производство обычно перепроверяют коллеги. Каждая итерация отнимает время и деньги, поэтому правило "семь раз отмерь, один раз отрежь" здесь очень актуальное.
Но когда ты один, тебе показать это все просто некому.
Вот уж не думал, что GPT может быть тут помощником. Для интереса скинул ему схему интерфейса 1,8В - 3,3В для SD карты на перепроверку и он действительно нашел мою (глупую) ошибку, где я забыл соединение SDMMC_DET_L на линии хоста с SD_DET карточки.
Правда он нашел еще одну ошибку, которая ошибкой не является, но и на том спасибо!
В крупных компаниях дизайн перед отправкой в производство обычно перепроверяют коллеги. Каждая итерация отнимает время и деньги, поэтому правило "семь раз отмерь, один раз отрежь" здесь очень актуальное.
Но когда ты один, тебе показать это все просто некому.
Вот уж не думал, что GPT может быть тут помощником. Для интереса скинул ему схему интерфейса 1,8В - 3,3В для SD карты на перепроверку и он действительно нашел мою (глупую) ошибку, где я забыл соединение SDMMC_DET_L на линии хоста с SD_DET карточки.
Правда он нашел еще одну ошибку, которая ошибкой не является, но и на том спасибо!
👍4🔥2✍1❤1😱1
Сделал плату под OrangePi CM5 для небольшого стартапа. Взялся за этот проект в порядке исключения - все-таки это не совсем мой обычный профиль. Но задача была интересная, а ребятам это было действительно нужно.
К плате подключаются тач AMOLED-дисплей высокого разрешения, почти как у небольшого планшета, SD-карта, 3.5 мм аудиоджек для вывода звука, разные кнопки, контроллер заряда аккумулятора, схема питания, RTC-модуль и еще всякое по мелочи.
Работать с OrangePi - удовольствие сомнительное, конечно. Поддержка слабая, документация местами очень сырая и даже с явными ошибками (в смысле не просто опечатка, а прям ошибка и непонятно, что там в итоге должно быть), коммьюнити почти нет. В целом с ними, наверное, можно работать, если ты уже в теме и понимаешь, как устроены SoC от Rockchip. В противном случае, как было у меня, приходится собирать по кускам всю доступную документацию, читать даташиты и сопоставлять их между собой. И даже после этого нет полной уверенности, что все будет работать как надо.
P.S. Модельки в новой версии KiCad выглядят как-то странно и блекло. Пока не разобрался, почему так
К плате подключаются тач AMOLED-дисплей высокого разрешения, почти как у небольшого планшета, SD-карта, 3.5 мм аудиоджек для вывода звука, разные кнопки, контроллер заряда аккумулятора, схема питания, RTC-модуль и еще всякое по мелочи.
Работать с OrangePi - удовольствие сомнительное, конечно. Поддержка слабая, документация местами очень сырая и даже с явными ошибками (в смысле не просто опечатка, а прям ошибка и непонятно, что там в итоге должно быть), коммьюнити почти нет. В целом с ними, наверное, можно работать, если ты уже в теме и понимаешь, как устроены SoC от Rockchip. В противном случае, как было у меня, приходится собирать по кускам всю доступную документацию, читать даташиты и сопоставлять их между собой. И даже после этого нет полной уверенности, что все будет работать как надо.
P.S. Модельки в новой версии KiCad выглядят как-то странно и блекло. Пока не разобрался, почему так
👍6❤2🔥1
Несколько постов назад я писал про тестовый стенд. Собственно вот и он.
Чтобы сэкономить время, я тут срезал углы как мог. Не стал его интегрировать в корпус, по максимуму использовал готовую электронику.
Ну и навайбкодил все что можно было навайбкодить. Получилось дешево и быстро.
Стенд тестирует две разные половинки одного устройства.
Одна половинка вставляется и прижимается к иголкам (pogo pins) в этом оранжевом блоке, а они шлейфом подключаются к моей собранной плате. Вторая половинка зажимается прищепкой и к ней подключается разъем.
Для тестируемых плат формируются питающие напряжения, управляющие сигналы, происходит прошивка и снимаются сигналы с помощью этой синей платы, которую я собрал.
Ну и всем этим процессом руководит комп. На скриншоте можно увидеть измеряемые напряжения, интерфейс управления. Тут у меня нет полной автоматизации, но есть сценарии, которые подают разные комбинации сигналов. Например сценарий "зарядка аккумулятора", в этом варианте подается 5В на USB вход и можно увидеть токи зарядки и соответствующие напряжения. Или сценарий "кручу мотор" при котором подается питание от аккумулятора (на самом деле от лабораторника), контроллер этой синей платы имитирует переключение датчиков Холла при вращении двигателя и контроллер на тестируемой плате думает, что он на самом деле им управляет (а на самом деле он нагружает мощные резисторы), а я в это время вижу, что контроллер действительно ведет себя как должен, что он формирует сигнал вращения двигателя (FQ на графике), вижу соответствующие напряжения питания на графиках и потребление у лабораторного блока питания.
Все это позволяет мне не собирать изделие из дефектных плат и в большинстве случаев сразу понимать, что с платой не так и экономить тучу времени на последующей диагностике, разборке/сборке. Учитывая, насколько проблемными были платы от некоторых поставщиков, потраченное на него время окупилось многократно
Чтобы сэкономить время, я тут срезал углы как мог. Не стал его интегрировать в корпус, по максимуму использовал готовую электронику.
Ну и навайбкодил все что можно было навайбкодить. Получилось дешево и быстро.
Стенд тестирует две разные половинки одного устройства.
Одна половинка вставляется и прижимается к иголкам (pogo pins) в этом оранжевом блоке, а они шлейфом подключаются к моей собранной плате. Вторая половинка зажимается прищепкой и к ней подключается разъем.
Для тестируемых плат формируются питающие напряжения, управляющие сигналы, происходит прошивка и снимаются сигналы с помощью этой синей платы, которую я собрал.
Ну и всем этим процессом руководит комп. На скриншоте можно увидеть измеряемые напряжения, интерфейс управления. Тут у меня нет полной автоматизации, но есть сценарии, которые подают разные комбинации сигналов. Например сценарий "зарядка аккумулятора", в этом варианте подается 5В на USB вход и можно увидеть токи зарядки и соответствующие напряжения. Или сценарий "кручу мотор" при котором подается питание от аккумулятора (на самом деле от лабораторника), контроллер этой синей платы имитирует переключение датчиков Холла при вращении двигателя и контроллер на тестируемой плате думает, что он на самом деле им управляет (а на самом деле он нагружает мощные резисторы), а я в это время вижу, что контроллер действительно ведет себя как должен, что он формирует сигнал вращения двигателя (FQ на графике), вижу соответствующие напряжения питания на графиках и потребление у лабораторного блока питания.
Все это позволяет мне не собирать изделие из дефектных плат и в большинстве случаев сразу понимать, что с платой не так и экономить тучу времени на последующей диагностике, разборке/сборке. Учитывая, насколько проблемными были платы от некоторых поставщиков, потраченное на него время окупилось многократно
👍3🔥3❤🔥1
Я помню, как еще студентом смотрел вакансии по интересующим меня специальностям. Там часто, помимо разработки электроники, был пункт про разработку софта для компьютера.
В целом это логично: железка часто подключается к компьютеру или вообще должна работать вместе с ним. Поэтому важно уметь писать софт, чтобы с ней общаться.
Но писать код для компьютера, как по мне, всегда было очень скучно. Всё какое-то слишком отполированное, слишком понятное и простое. Нет вот этого: «блин, мне не хватает 100 байт, чтобы сделать эту анимацию» или «какой прикольный регистр специального назначения, смотри, как интересно он обрабатывает данные от датчика».
Я всеми силами старался использовать готовые инструменты, иногда даже не очень подходящие, и писал своё только тогда, когда уже совсем без этого было никак.
И вот тут вайбкодинг, конечно, стал для меня настоящей революцией. Для меня самый большой кайф от него в том, что теперь можно быстро сделать для себя простой инструмент: построить графики именно так, как тебе нужно, написать за пару часов генератор шрифта под конкретную задачу, собрать данные с устройства, сделать прошивальщик — и еще 100500 разных вариантов.
Вот, например, скрин «прошивальщика» для производства nomlamp.ru.
Этот софт обращается к утилитам STMicroelectronics, чтобы стереть, настроить и запрограммировать контроллер нужной прошивкой под конкретное устройство. Интерфейс специально сделан максимально простым, чтобы не очень квалифицированный персонал ничего не перепутал.
Я сделал это в 3–4 итерации, суммарно за 3–4 часа. Причем большая часть времени ушла не на код, а на работу с обратной связью, понимание того, как всё должно выглядеть, и создание вот этих картинок для интерфейса.
Раньше я бы потратил на такую задачу пару дней и вообще не получил бы от этой работы удовольствия. А я привык кайфовать от работы — и для меня это, честно говоря, важный критерий
P.S. Электроника на картинках на скрине моей разработки
В целом это логично: железка часто подключается к компьютеру или вообще должна работать вместе с ним. Поэтому важно уметь писать софт, чтобы с ней общаться.
Но писать код для компьютера, как по мне, всегда было очень скучно. Всё какое-то слишком отполированное, слишком понятное и простое. Нет вот этого: «блин, мне не хватает 100 байт, чтобы сделать эту анимацию» или «какой прикольный регистр специального назначения, смотри, как интересно он обрабатывает данные от датчика».
Я всеми силами старался использовать готовые инструменты, иногда даже не очень подходящие, и писал своё только тогда, когда уже совсем без этого было никак.
И вот тут вайбкодинг, конечно, стал для меня настоящей революцией. Для меня самый большой кайф от него в том, что теперь можно быстро сделать для себя простой инструмент: построить графики именно так, как тебе нужно, написать за пару часов генератор шрифта под конкретную задачу, собрать данные с устройства, сделать прошивальщик — и еще 100500 разных вариантов.
Вот, например, скрин «прошивальщика» для производства nomlamp.ru.
Этот софт обращается к утилитам STMicroelectronics, чтобы стереть, настроить и запрограммировать контроллер нужной прошивкой под конкретное устройство. Интерфейс специально сделан максимально простым, чтобы не очень квалифицированный персонал ничего не перепутал.
Я сделал это в 3–4 итерации, суммарно за 3–4 часа. Причем большая часть времени ушла не на код, а на работу с обратной связью, понимание того, как всё должно выглядеть, и создание вот этих картинок для интерфейса.
Раньше я бы потратил на такую задачу пару дней и вообще не получил бы от этой работы удовольствия. А я привык кайфовать от работы — и для меня это, честно говоря, важный критерий
P.S. Электроника на картинках на скрине моей разработки
👍4🔥2👏1
byte_shifter
Сделал плату под OrangePi CM5 для небольшого стартапа. Взялся за этот проект в порядке исключения - все-таки это не совсем мой обычный профиль. Но задача была интересная, а ребятам это было действительно нужно. К плате подключаются тач AMOLED-дисплей высокого…
Эта плата, модельку которой прикладывал выше, уже на стадии завершения производства.
Прикольно рассматривать ее рентген снимок. Если есть BGA на плате, то такой снимок делают обязательно
Прикольно рассматривать ее рентген снимок. Если есть BGA на плате, то такой снимок делают обязательно
❤5