byte_shifter
80 subscribers
177 photos
20 videos
23 links
hardware developer notes by @kishovRasul
Download Telegram
Уже почти два года прошло с тех пор, как я закончил разработку умной выдачи для кофеен DrinkIT. С тех пор её серийно производят в Китае уже без моего участия, но время от времени ко мне всё равно возвращаются с разными просьбами.

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

Хотя не совсем первый.

Для начала небольшое техническое отступление. В этой системе все модули соединяются последовательно, «паровозиком». Чтобы упростить монтаж, используется всего один кабель, по которому одновременно передаются и питание, и данные. Чтобы снизить требования к кабелю и уменьшить потери на длинных линиях, я предложил использовать питание 48 В. Под такую задачу отлично подходит обычный Ethernet-кабель или готовый патч-корд. По похожей логике построен и PoE. И по тем же парам проводов, которые обычно используются для питания в PoE, мы передаём 48 В, а по сигнальным парам работает общая шина CAN.

И вот такой вариант — на втором фото — благополучно использовался без каких-либо нареканий. Система работала стабильно и не требовала обслуживания.

Но потом настал момент, когда команда решила передать производство в Китай. А раз система теперь должна была поставляться полностью «под ключ», появилась идея заменить Ethernet-кабель на обычный, дешёвый и простой JST-кабель (третье фото).

И тут меня спросили, а можно ли заменить разъём и сразу пустить в производство выдачу без тестов? Как меня научил мой опыт, такой вопрос — один из самых опасных, на которые приходится отвечать инженеру.

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

Опыт, конечно, в какой-то степени помогает предвидеть проблемы. Тут даже хорошо ложится эффект Даннинга — Крюгера.

Мой личный совет: если область требует сложной экспертизы, а молодой неопытный специалист уверенно говорит вам, что «всё будет хорошо», это почти наверняка значит, что "хорошо" не будет. Это тот самый "пик глупости".

Бывалый инженер в такой ситуации, наоборот, шарахнется и скажет, что ничего менять категорически нельзя. Он находится в "долине отчаяния".

А более опытный специалист постарается не просто запретить изменение, а расписать риски, предложить рискменеджмент. Это уже "склон просветления".

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

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

Диагностика показала, что в ячейках сгорали CAN-трансиверы. Сам по себе интерфейс очень надёжный и помехоустойчивый, но у любого трансивера есть пределы по допустимому напряжению на линиях и по common-mode диапазону. Если их регулярно превышать, пусть даже короткими импульсами, трансивер может деградировать и в итоге сгореть.

Тогда передо мной встала задача найти максимально бескровное решение: по цене, по срокам и по объёму доработки. Выбрасывать установочную партию было бы неприятно и дорого. Переделывать всю схему — тоже долго.

CAN-трансиверы бывают очень разные. Технически они делают одну и ту же работу, но рассчитаны на совершенно разные условия эксплуатации. Есть дорогие, крутые, которые обладают огромным запасом по защите. А есть совсем бюджетные варианты
Мне нужно было найти компромисс: чтобы не был очень дорогим, был pin-to-pin совместим и был существенно лучше. И я нашел тогда такую замену.

Сейчас у DrinkIT уже 216 кофеен, прошло 2 года и вот одна система всё-таки вышла из строя. Эту систему я починил, а дополнительные меры по защите уже согласовал. Теперь запас должен быть ещё больше — и, надеюсь, такие отказы больше не повторятся.
👍6🔥3
https://cepr.org/publications/dp21577
https://markokovic.substack.com/p/ki-ruiniert-bildung

Случайно наткнулся на пост про это исследование и полез читать. Не по теме канала, но очень интересно.

Это масштабное исследование, изучающее влияние использования чатботов на более чем 26 000 студентов в Китае в течение 30 месяцев. В исследовании не тестировались специально настроенные ИИ-репетиторы, а скорее эффект общей доступности чат-ботов.

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

Около 80% учеников сокращали время на домашки и добивались высоких баллов.
А те кто продолжал тратить на задания столько же времени, как и раньше, почти не пострадали в учёбе.
❤4👍2
DrinkIT в Лос Анжелесе открыли, оказывается. И мой девайс теперь и там.
География расширяется)
🔥10⚡3👍1😁1
byte_shifter
Несколько постов назад я писал про тестовый стенд. Собственно вот и он. Чтобы сэкономить время, я тут срезал углы как мог. Не стал его интегрировать в корпус, по максимуму использовал готовую электронику. Ну и навайбкодил все что можно было навайбкодить.…
Media is too big
VIEW IN TELEGRAM
Я выше показывал стенд для автоматического тестирования.
За последний месяц поработал над ним немного, привел в порядок и, главное, добавил автотесты.

Раньше я всматривался в графики и определял состояние платы вручную. А сейчас, нажимаешь одну кнопку и все.

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

Следующее что мне хочется сделать, это увеличить размеры площадок для тестовых сигналов. Очень уж раздражает, когда иголки в них не попадают.
🔥6❤2
Я тут недавно впервые заметил в документации на кнопку странную характеристику — минимальный ток. Максимальный ток для кнопки — это понятно, а почему должен быть минимальный ток?

Расскажу немного для контекста. Зачастую для нормальной работы кнопки достаточно нескольких сотен микроампер, которые формируются через встроенную в микроконтроллер подтяжку к питанию. И я ни разу не сталкивался с тем, чтобы этого тока не хватало. А тут — крутая кнопка KMR621NG LFS, отличные характеристики и минимальный ток в 1 мА.

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

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

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

В общем, встроенная подтяжка микроконтроллера действительно позволяет сэкономить компонент. Но в серийном устройстве стоит проверить не только пороги логического входа, но и минимальный ток, указанный в документации на саму кнопку.
👍5
Мужик управляющий точкой ремонта рефрижераторов для тягачей снова заказал платы управления створкой. Обновил для него дизайн немного и разместил заказ на производство
🔥3
А ещё он заказал новую партию УЗО. Предыдущая версия была первой ревизией, а в этой я многое переработал с учётом их обратной связи.

Все это прям небольшие партии, если что.
🔥4
Недавно столкнулся с одной проблемой. Плата в KiCad имела сложную форму, а поскольку проект был импортирован из Altium, в координатах внешнего контура оказалось несколько ошибок.

Внешний контур определяет форму, по которой плата вырезается на производстве. Небольшие погрешности в координатах обычно ни на что не влияют, но если две линии в углу не сходятся в одной точке с заданной точностью, KiCad выдаёт ошибку DRC, которая затем создаёт целый ряд проблем.

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

Но теперь ведь у нас есть Codex, а файл платы KiCad не зашифрован и читается как обычный текстовый документ — open source, ёпт!

В общем, скормил ему файл, попросил найти и исправить все разрывы контура — три минуты, и готово.

Блин, ну чем не революция?!
👍4
Нашел старые фотки внутрянки своего "3D дисплея". Я про него писал раньше.
Все залито канифолью. Саму матрицу я не собирал, но все под ней проектировал и собирал своими руками)
Это было где-то 11 лет назад.

А, да, блок питания тоже не мой. Его собрал и дал мне шеф, умышленно очень тяжелый, чтобы быть еще и центром тяжести.
👍7🔥4❤1👀1
https://openai.com/index/gpt-6-astra/?video=1223245030

Видео как astra от OpenAI делает компоновку и разводку платы.

Причем именно в KiCAD. Ещё там у них были заявления про Blender.

Вот и за мной пришли 😁
Думаю популярность KiCAD теперь серьезно вырастет)
❤1😁1
Спешу отчитаться о работе Astra. Оказывается она уже доступна в приложении из Microsoft Store.
Тут матрица из светодиодов, 6 групп и светодиодные драйвера для каждой.

У меня были подписаны net labels только для одной. Попросил Astra закончить по образцу и, пока я чистил зубы, он все сделал)

Нет ошибок (на первый взгляд). В самом KiCAD есть только полуавтоматические способы это сделать. Сидел бы и пыхтел 30-60 минут и наверняка бы где-нибудь ошибся и еще какое-то время потратил на проверку и исправление ошибок.

Оч прикольно)

P.S. Забыл ещё момент, там ещё токоограничивающие резисторы на каждую горизонтальную линию ставятся. Он их тоже как надо расставил
🔥6❤4