Дегенератехника
1.55K subscribers
179 photos
30 videos
4 files
136 links
https://s3f.ru

Реверсю железяки, пилю железяки, делаю медиаискусство

пишите в @coreglitch
Download Telegram
Про модуль питания

Продолжу посты по-хардкору со схемотехники (опять микрорек, да).

У нас есть модуль питания, задача которого — забрать питание или с type-c или с обычного DC jack, по возможности договориться на 9/12 вольт. Дальше это напряжение от 5 до 12 вольт превращается в питание для модулей, у нас три шины: +12, +5, -12.

Если с +12 и +5 все понятно — ставим повышайку и понижайку, то с -12 я какое-то время тупил в поисках инвертора, и оказалось, что доступных инверторов на большой ток со встроенным транзистором очень мало.
Однако, в какой-то момент я наткнулся на упоротую схему, где берут понижайку, подключают её выходом на землю, а с земли забирают минус. В целом, логично — для понижайки это выглядит как будто на нее подают Vout + Vin, она отдает Vout. Оказалось, что такая схема даже описана в даташите на один из преобразователей.
Что ж, отлично — найти мощную компактную понижайку вообще не проблема, тем более одна уже стоит на шине +5!

В итоге получилась схема из третьей картинки, и все заработало! Полная схема и описание модуля тут: https://modules.microrack.org/mod-pwr/

Отдельная история, как я сделал три итерации платы, прежде чем перерисовать разводку всех преобразователей по референсу из даташита, после чего из модулей перестал выходить столь ценный белый дым. Всем рекомендую — если делаете дисишку, посмотрите на референсную разводку, и аккуратнее с FB, SW цепями и землей!

P.S. Еще пару слов хочу рассказать про микросхему CH224K от WCH (какие-то китайцы). Это PD-триггер и fast charge в одном soic-8, с нормальной документацией. Просто заводите D+/D-/CC в неё, указываете подтяжками таргет — и дальше она там добазарится. Я в какой-то момент столкнулся с ситуацией, что не могу найти адаптер или powerbank, которые выдают на модуль 5 вольт, везде получалось или 9 или 12)

(картинки в следующем посте)
👍238🔥5
👍156🔥2👏2
Наконец-то — U-boot в браузере!

Все дальше от бога…
😁10🙏6👏3🤯1🤩1💯1
В жизни каждого инженера однажды случается поездка в Шенжень

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

Как я уже говорил, весь прошлый год я был человеком, который скоро поедет в китай. «Йоу, поехали в апреле в горы? — Да, круто, если я в китай не уеду…» «Йоу, у нас фестиваль в июле, будешь выступать? — Да, наверное, если не уеду в китай…»

Я сейчас пытался вспомнить, почему так получилось, и снова офигел от сроков. В ноябре 24го мы начали договариваться в фабрикой, а первые семплы (буквально пару плат, чтобы оценить качество производства) получили только в конце апреля 25го. В этом процессе, кажется, тупили все — и фабрика, и наш менеджер, и мы сами.
На самом деле, к моменту начала переговоров у нас еще не было финальных дизайнов и мы сильно не торопились. Ну то есть я прям смотрел на эту вялую переписку, дебажил платы и внутренне радовался тому, что фабрика пока не трясет с нас финальные гербера.
А вот почему не торопилась фабрика — мне до сих пор непонятно. Возможно, нужно было на старте поехать к ним и попить пива с их директором. В итоге мы уже доделали дизайны, а семплы все еще были на этапе каких-то согласований, тут уже у нас начало пригорать.

В итоге, мы получили семплы, выбрали фабрику, поехали на выставку. Отправим сейчас оставшиеся гербера, инженеры посмотрят, запустят производство, через месяц можно будет ехать тестить — думал я, привыкший к срокам JLCPCB, PCBway, и даже Резонита — и радостно рассказывал всем об этом на выставке. Sweet summer child, буквально (дело было летом). Оказалось, что согласовать 21 плату является какой-то непосильной задачей для небольшого китайского завода.

В итоге trial run (маленькую первую партию) мы получили только в октябре: до середины августа согласовывали, потом месяц производили (да-да, 100 плат). Отдельное спасибо FedEx, которые на месяц задержали нашу посылку.

Ну а дальше события развивались с утомительной неизбежностью — проверили пробную партию, подтвердили производство. К счастью, сам процесс производства после подготовки занимает у фабрики не так много времени, так что в конце ноября я уже брал билеты в Шенжень и со второй попытки улетел в китай. Но это уже совсем другая история.
❤‍🔥13🔥10👏32👍1
😎2315🔥6🥰1
Media is too big
VIEW IN TELEGRAM
У моего товарища вышла классная заметка про фракталы, я решил вспомнить, что умею в шейдеры и залип на полночи)

(сделано в https://shawnlawson.github.io/The_Force/)
#define I 100
#define E 100.7
float calc(vec2 z, vec2 c, float t, float param1) {
int result = 0;
for (int i = 1; i <= I; i++) {
float r=length(z);
float r2=r*r;
float r3=r2*r;
float denom=(1.+r3)*(sin(t*0.32)*0.2+1.0+r3);
float f_r=r*(cos(t*0.1)*0.8+2.0*r+r2)*(r2-1.0)/denom;
float g_r=r*(sin(t*0.12)*0.8-2.0*r+r2)*(r2-1.0)/denom;
float real2=z.x*z.x-z.y*z.y;
float imag2=param1*z.x*z.y;
z=vec2(real2+f_r,imag2+g_r)+c;
if(dot(z,z)>=E){result = i;break;}
}
return float(result)/float(I);
}
void main() {
vec2 offset = vec2(-2.8, -1.6);
float scale = 3.0;///(time * 0.1);
vec2 coord = uvN();
vec2 c = vec2(coord.x*(resolution.x/resolution.y),coord.y)*scale+offset;
gl_FragColor = vec4(vec3(calc(vec2(-0.50, 0.041), c, time, 2.0), calc(vec2(-0.52, 0.1), c, time, 2.02), calc(vec2(-0.55, 0.0), c, time, 2.01)), 1.0);
}
👍83🔥21
Под одним из прошлых постов были вопросы про отсылку к HL в схеме питания.

На прошлой выставке мы обнаружили крайне неприятный баг: линии +12 и +5 расположены рядом. Иногда, в спешке вставляя модуль рядом с другим, можно случайно замкнуть эти линии. И компоненты, которые висят на линии +5 очень не рады тому, что на них прилетает 12 вольт.
Первая идея была — поставить стабилитрон или супрессор. В модуле питания уже есть предохранители, которые отключат/ограничат ток при срабатывании защиты. Однако посмотрев на характеристики компонентов я понял, что вольтамперная характеристика стабилитрона слишком пологая — если держит 5 В, то под большим током напряжение будет около 6-7 В, что уже много для компонентов.
И тут я наткнулся на изящную схему-монтировку. Идея в том, что на пороговом напряжении открывается тиристор и замыкает шину питания накоротко до тех пор пока ток не прекратится.

Вообще это был первый раз, когда я в здравом уме использовал тиристоры в своих схемах, но схема рабочая, рекомендую.
🔥21👍61
Рабочие проекты на сегодня отложены, пришло время взять в руки перфоратор.

Хорошо, когда дома есть микрофон, можно по звуку найти протечку в трубе, которая замурована в стену!
👀13😁4😱4🎉2
Поездка в SZ, часть 1

Итак, в октябре мы успешно проверили все сэмплы с trial run'а, дали отмашку производству, и к середине ноября стало понятно, что пора брать билеты.
План был простой: приехать, познакомиться с производством, протестировать модули, разобраться с упаковкой, скататься в соседний город до fullfilment-центра, который будет заниматься сборкой заказов и доставкой.

Протестировать модули…

В сумме у нас набралось порядка 10000 плат, 21 дизайн. Вообще количество плат и их разнообразие — основная проблема микрорека. С одной стороны, у нас нет корпуса и не нужно решать вопросы механики, литья, фрезеровки или печати. С другой стороны, обычно в вашем продукте не больше 5 разных плат, а тут 21. И под каждую нужен тестовый стенд и своя программа тестов. Ну и количество плат такое, как будто мы делаем очень массовый продукт, а бюджеты совсем не массовые — так что заложить много параллельных стендов и сотрудников мы не могли, нужно было хардкорно оптимизировать время на один тест.

Над тестовыми стендами я, конечно же, подумал заранее и примерно полгода периодически подходил к этой задаче. Основная идея была такая: сделать материнскую плату, в которую будут вставляться адаптеры с pogo-пинами. Пины упираются прямо в ножки THD компонентов (IO-пинов, потенциометров и кнопок) снизу, так что не нужно делать тестовые площадки. Ну и мы отказались от тестового JIG-а, платы решили прижимать просто руками сверху — это сильно сокращает время на установку модуля. Тесты занимают 1-2 секунды, это время модуль можно удерживать руками.

Ну и сейчас будет абзац с не самым красивым, но рабочим решением, к которому мы пришли:

Главной ошибкой была попытка сделать материнскую плату на ESP32: при тестировании нужно формировать и обрабатывать кучу аналоговых сигналов, и писать весь это ЦОС на еспшке — задача не самая приятная. Еще одна проблема в том, что все модули немного разные (привет аналоговая схемотехника!)
В итоге софт получился нестабильный и на фоне надвигающейся поездки стало понятно, что пора искать альтернативный путь.
В целом мы всегда делали функциональные проверки руками и на слух: нейронка в моей голове может проанализировать работу модуля лучше чем формальный алгоритм (по-крайней мере, тот алгоритм который я успел написать). Так что родилось радикальное решение: сигналы подавать с матплаты, подавать в наушники и анализировать в моей голове. Припаял к адаптерам пины-выходы, собрался и поехал в китай!

В следующем посте будут фоточки с фабрики и видосы от вашего QC-тестировщика.
11🤩2👍1