AC/DC Преобразователь LS05-13BxxR3 от Mornsun

Шарясь по каталогам, увидел у Mornsun любопытные питальнички. Написал в Компэл и попросил подогнать несколько штук на тестирование. Глядишь что пригодится в будущем. А так уже буду знать что это и стоит ли оно того.

Итак, первым будет AC/DC преобразователь LS05-13B05R3. Позволяет с 220 вольт получить 5Вт низковольтного стабилизированного питания. Бывает на разные напряжения (3.3, 5, 9, 12, 15, 24).

Я попросил 5 вольтовый, как самый ходовой. На своих пяти ваттах он может отдать 1000мА тока. Обычно этого хватает для небольшого устройства с МК и немного обвязки.

Рассмотрим его поближе.

Сразу радует очень ширкой диапазон входных напряжений от 85 до 305 по переменке и от 70 до 430(!) вольт по постоянке. А также индустриальный температурный диапазон , от -40 до 85 градусов. Собственное потребление, без нагрузки, около 0.1Вт. Есть защита от КЗ или перегрузки по току.

Уровень шумов обещают не выше 150мВ и выходное напряжение с точностью до 5% на рабочей нагрузке от 10 до 100 процентов. Весьма неплохо для такой козявки, с минимумом элементов на борту.

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

Но у такого момента есть и маленький плюс. Мы можем менять габариты преобразователя под наши нужды, втискивая все в корпус. Часто кирпич блочного преобразователя просто не влазить никуда. А тут есть возможность поюлить на местности, выбрать лучшую раскладку по элементам.

Размеры же самого модуля не велики: Длина 28мм, ширина 10мм, а высота 15мм, если считать от точки впайки.

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

Сразу в глаза бросается выпрямительный мост, а потом идет микросхемка генератора. Маркировка спилена. Генератор качает обмотку трансформатора, а на вторичке стоит выпрямительный диод и немного конденсаторов. А также нагрузочный резистор, чтобы не оставлять обмотку висеть в воздухе, иначе на ней может высокий потенциал накачать. Топология преобразователя Flyback, а обратная связь, судя по всему, осуществляется по отдельной обмотке.

На плате между горячей и холодной частью есть ощутимый зазор. Миллиметров 5, не меньше. А также вырез в плате, исключающий контакт, например, через пленку водного конденсата на плате.

Ладно, хватит глазеть на внешку, пора бы узнать его внутренний мир. Надо протестить.

Так как модуль требует кучи обвязки я решил травануть маленькую плату. Заодно будет служить потом блочком питания под разные нужды. Навесными соплями решил не делать.

Итак, включаем и смотрим пульсации и, что мне особенно интересно, переходные процессы.

Старт на холостом ходу:

А так под полной нагрузкой в 1А на резистор:

Есть небольшие колебания перед выходом на штатное напряжение, но потом все ровно. Причем время старта не отличается практически.

На холостом ходу, ну точнее с нагрузкой в один светодиод на выходе пульсации до 200мВ с явной такой пилой:

Даем нагрузку в 100мА. 10% от номинальной. Судя по даташиту только отсюда у нас рабочий режим только начинается:

Пульсации в пределах заявленных.

Нагрузка в 380мА

Нагрузка в 890мА

Нагрузка в 1200мА, немного перегрузил. Выше уже срабатывает защита по току:

Пульсации выросли, но и только. Нагревается еле еле. Проработал так минут десять, трансформатор еле теплый. В помещение градусов 30 наверное.

И переходный процесс выключения:


На холостом ходу.

И под нагрузкой:

Даташит на модуль

Такая вот крохотулька. У меня спорные ощущения от него. С одной стороны нормальная мощность в крохотных размерах, но вот наличие допкомпонентов сильно омрачают картину. Вроде бы и дешевый он, около полутора баксов, но добавишь туда дроссель, кондер, диодик… и вот уже все три вышло. А за три можно посмотреть еще варианты.

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

Найти преобразователь LS05-13BxxR3 из обзора и другие, можно на сайте Компэл или на сайте их онлайн-магазина ДКО Электронщик, который работает как с юридическими, так и с физическими лицами.

З.Ы.
А мне тут еще один пришел, помощней. Надо тоже его потестить.

Read More »

Защита линий данных

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

Итак, стратегия защиты линии строится на трех принципах.

  1. Отвести перенапряжение в землю.
  2. Рассеять перенапряжение на живучий элемент.
  3. Отрезать цепь на время перенапряжения.

▌Отвод в землю
Тут речь идет о том, чтобы поставить некий элемент, который бы в обычных условиях не проявлял себя никак, а вот при появлении превышения резко пробивался и практически накоротко замыкал линию на землю до тех пор, пока враг не сольется. Как только слив засчитан все возвращается на круги своя.

Тут используются два вида устройств. Тиристорные элементы и газоразрядные трубки.

Тиристоры, в данном случае обычно динисторы, хотя бывают и исключения, до определенного порога не пропускают ток вообще (ну кроме неизбежного тока утечки, но он так мал, что это почти не считается), а после достижения напряжения пробоя их полупроводниковая структура пробивается и самозащелкивается, обеспечивая очень низкое сопротивление, практически кз, на уровне распахнутого настежь транзистора. И удерживается в таком состоянии пока ток через нее не станет меньше тока удержания. Обычно ток удержания это десяток-другой миллиампер. Типичная характеристика такой системы, на примере спец штуковины TISP8250D от Bourns выглядит так:

VBO — то самое напряжение пробоя. После которого график резко перепрыгивает на свою верхнюю часть, а ток устремляется в небеса. И пока он не снизится ниже IH так и будет изображать из себя почти КЗ.
(далее…)

Read More »

Система удаления пыли на ЧПУ фрезер

▌Фрезер
Вообще его я купил давным давно, году так в 2016 или 15, уже точно не помню. Чуть раньше чем 3D принтер. Просто внезапно возникли деньги и он мне попался на авито. И все никак не доходили руки написать про сам станок. Хотя несколько раз он уже мелькал в статьях и в видео.

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

Валы 12мм диаметром, на подшипниках скольжения. Вращается все через трапецивидный винт с латунной гайкой, самой дешманской, моторы NEMA16.

Стоит шпиндель постоянного тока, ватт на 300, 15000 оборотов, чтоль. Управление оборотами ручное, было. Пока я плату не разобрал, очень уж нужен был транзистор из него :))) Да так новую не поставил. Включил напрямую.

Управляет все примитивная плата опторазвязок на LPT через MACH3

Но она отлично работает, не глючит и меня вполне устраивает. (далее…)

Read More »

Офигенный калькулятор SpeedCrunch

Очень давно я искал подобную прогу. Постоянно нужен калькулятор для быстрых расчетов. Обычно у меня на столе жил Citizen SRP145, а в лабе обитало пол десятка CITIZEN SR-135, по одному на стол, но все равно. Не то. Особенно когда надо посчитать какую-нибудь формулу, вроде расчета резистивного делителя для питальника или что-то подобное. Приходилось вдумчиво жать кнопки, чтобы не сделать ошибку.

Ну и имея комп плодить еще лишние сущности в виде настольного калькулятора так себе идея. Долго время у меня жил клевый калькулятор который умел выскакивать по NumLock и почти справлялся, т.к. имел историю вычислений и вообще был весьма продвинут, но после перехода на Win7+ он отказался работать, а новую версию не подвезли. Пользовался штатным виндовым, боль и страдания. Ну или настольным. Короче, калькуляторов всяких много, а удобных как то не наблюдается….

И вот, оно…

Зовут сие чудо SpeedCrunch и это такой матлаб на минималках. Калькулятор консольного типа. Можно просто бомбить в строку формулы, щедро пересыпая их скобочками. Можно заводить переменные, можно создавать свои функции, можно вести вычисления смешивая системы счисления, например десятичную и шестнадцатеричную. Просто указывая в каком виде вводим. Хоткеи, история, логи… Причем все это настолько удобно, нативно и интуитивно. Что в эту прогу я влюбился с первой же минуты.

Судите сами. Надо посчтитать 1+2 так и пишем, 1+2 и Enter. Если напишем еще какой-нибудь знак, например, +, то он сам подставит перед ним ans т.е. предыдущий ответ. Как в калькуляторах Casio FX***.

Можно написать R1=10 и вот у нас появилась переменная R1, которую можно использовать везде.

R1=10
R2=20
R3=R1+R2

Тоже работает! Удобно.

UD(V;Rt;Rb)=(V/(Rt+Rb))*Rb

И вот у нас уже появилась функция, которую можно вызывать как:

UD(3;1;2)

Функция остается в программе пока мы ее не удалим вручную. Есть разные физические константы, куча встроенных функций вроде синусов, косинусов, логарифмов.

Ну все как в любом инженерном калькуляторе. Логические операции с битами. В общем, удобнейшая вещь. Настоятельно рекомендую. Она еще и кроссплатформенная и портабельная. Живет тут

Read More »

Он не хотел выключаться

В продолжение старой темы Выключить выключить Поделились тут со мной одним любопытным багом. В общем, некое батарейное устройство, имеет схему включения и выключения примерно следующего типа:

При нажатии кнопки питание от BATT_PWR идет на ON_PWR контроллер запитывается, очухивается и подает на POW_CTRL высокий уровень, который открывает Q1 + Q2, что вызывает шунтирование кнопки и схема встает на самопитание. Диод D1 отрезает питание от кнопки и вывод SW_OFF через резистор R4 прижимается к земле. А когда мы кнопку жмем снова, там появляется высокий уровень, который через SW_OFF интерпретируется как команда на выключение. Процессор опускает POW_CTRL и вся схема выключается.

Собрали, протестили, все работает зашибись. Сделали первую партию устройств, все зашибись, вторую, нормально… А потом устройства, через одно, перестали выключаться. Жмешь выключить, а оно перезагружается. Очевидно что-то идет не так, раз контроллер запускается снова.
Воткнулись осциллографом в линию питания и линию контроля транзистором и была там следующая картина:

У нормальных устройств все было штатно. Питание пропадает и напряжение падает по экспоненте, по мере разряда емкостей.
А у глючащих на определенном этапе был запуск снова. Без видимых причин. То есть что-то будило контроллер и он запускался и поднимал линию самопитания.

Это у меня тут, в нарисованном от руки графике, видно, что там есть небольшое повышение напряжения. На деле же оно было ничтожным, на уровне шумов на экране осциллографа. Вот, если приблизить:

В общем, предположение было такое, что по мере просадки напряжения происходило обесточивание блоков устройства, что где-то вызывало колебательный процесс, а может гальванический эффект где сработал. В общем, какая то мелкая фигня, зависящая от случайных факторов в параметрах элементной базы, вызывала повышение напряжения на сотые доли вольта, но его хватило, чтобы система Brown-out detector’a сначала заглушила проц, а потом напряжение чуток поднялось и этого хватило для перезапуска системы Power On Reset’a, а дальше проц запустился и снова поднял питание.

Решилось все дополнительной проверкой, а не нажата ли кнопка питания при включении.

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

Read More »

Поиск КЗ на плате

Когда делаешь печатную плату сам, например утюгом или фоторезистом, да еще и с тонюсенькми плотными дорожками, то легко можно получить незаметное и очень подлое КЗ на плате. Где то не протравилась дорожка, где то припой соплю кинул, где то ворсинка от мгтф попала, да еще и припаялась (держите рабочее место в чистоте и такого будет меньше :). В общем, знакомая проблема. Ладно бы КЗ можно было найти визуально, но уже собранная плата заслоняет деталями большую часть разводки.

А иногда бывает еще веселей, например, если КЗ изначально заложено в проекте, т.к. забыли провести DRC тест после очередной «небольшой правки» :) Такое тоже бывало. Либо приколы с очередностью заливок в Eagle CAD/KiCAD могут о себе дать знать, если их неправильно выполнить. В общем, у нас есть КЗ на плате и его надо найти.

Понятно, что вначале это делается глазками, просто пыримся в плату на просвет пока слезы не потекут. Если слезами дело не решается, то все надо сжечь нахрен :) Берем лабораторный блок питания. Такой чтобы мог стабильно держать 0.2-0.3 вольта и имел ограничение по току, миллиампер так в 300.

▌Суть метода
Обычно считается, что дорожка имеет малое сопротивление и им пренебрегают. У нас тут на плате сотни и десятки килоом натыканы, на их фоне какие то миллиомы сопротивления дороги не выглядят чем то заслуживающим внимания, а зря. И если мы воткнём блок питания между цепями А и Б, где у нас возникло КЗ, то там потечёт ток. Ток будет ограничен блоком питания сотнями миллиампер, если у нас дорожки толстые, то можно сделать и побольше, легче искать будет, скажем 400-500мА. А малое напряжение, не выше 0.3 вольта не пожгёт там ничего лишнего, даже если пойдет «не туда». На всякий случай загляните в даташите на свои микросхемы и поглядите предельно допустимое напряжение переполюсовки питания и входов. В таблице Absolut Maximum Ratings. Вот что у меня в первой попавшейся pdfке с винта:

Примерно так.

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

Подключаем наш блок питания между теми цепями, где мы обнаружили КЗ, подаем ток и начинаем по росту напряжения ощупывать окружающие цепи, двигаясь «вверх по течению». Вот покажу на примере:

Если двигаться от точки нулевого потенциала, от минуса блока питания, то потенциал будет нарастать только по пути следования тока. На схеме отмечены более крупными цифрами. Можете поиграть в детскую игру — лабиринт :) Все слепые же ветки будут иметь потенциал равный точке входа. Т.к. ток там не течет. Отмечено циферками помельче.

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

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

Read More »

Надежность концевых выключателей или дорогие ошибки :)

Сделали мы тут один вендинговый автомат (пока не буду говорить какой). Весьма и весьма навороченный. Навороченный в плане совершенно всратой механики. В общем, эта штука была переусложненная, потому как в ТЗ со всех сторон были сплошные вилы и ограничения. Надо было вписаться в размер тумбы, и обеспечить быструю перезарядку аппарата товаром, и шоб ассортимент товара был широк. В итоге, все равно тумба получилась монструозная и зря заказчик выносил мозг конструктору, пытаясь снизить габариты. В заданные размеры все равно не лезет… Но это все лирика.

А я вот о чем. Положение механики там определялось концевыми выключателями. Оптическими, щелевыми. Каретка выдвигала рога, брала из кассеты единицу товара и кидала на ленту, задвигала рога и ехала на следующую ячейку товара. Так вот, чтобы она не могла поехать с выдвинутыми рогами и нужны были концевые выключатели. Как минимум два, первый на начальное положение рогов, второй на конечное. Это было критически важно, т.к. если ехать с выдвинутыми рогами, то эти самые рога ломает о конструкцию.

Но конструктор не сумел. В тесной компоновке даже крохотные омроновские оптопары удалось распихать только в начальном положении. В задвинутом. Схема выглядит примерно так:

Т.е. на рогах был небольшой лепесток ,который в парковочном положении входил в щель оптического датчика.

И да ,все это на подвижной каретке, то есть шлейф проводов, кабель канал подвижный.

Кто сразу видит проблему? Не буду играть в угадайку, скажу сразу.

  • Отпал провод светодиода — засвет пропал.
  • Отпал провод земли — подтяжка не сработала, не к чему тянуть.
  • Отпал провод подтяжки — опять же подтяжка не сработала.

Отказ любого из проводов концевого выключателя приводит к ситуации, что «мозги» думают о том, что рога припаркованы в безопасном режиме. А значит можно ехать. И они поехали, отломав рога на одном из аппаратов. Из-за криво обжатого разъема, который со временем расшатался и потерял контакт.

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

Немного попытался исправить ситуацию. Добавив проверку датчиков, механическую. Т.е. вначале, проверяем датчики — если все окей, чуток сдвигаем рога ,проверяем, что стало не окей. Задвигаем обратно. Впрочем, это нифига не панацея. Т.к. в моем случае провод не контачил в конкретном положении механики. Т.е. в положении Home все работало отлично, а вот если поднять каретку на 10см, да задвинуть бошку вправо на 30см, вот тут то всю конструкцию так чуток изгибало, что где то на доли миллиметра что-то сдвигалось и контакт пропадал. Временно. В общем, жепь полная. Происходила на одном из аппаратов раз в неделю. Нашел буквально случайно. Перелопатил весь код в поисках софтверной ошибки. А оказался контакт :)

Короче, проектируя что-то, сразу представляйте заранее как это будет ломаться там где может сломаться и заранее делайте так, чтобы эта поломка не усугублялась.

А у вас какие были тупые косяки в проектировании?

Read More »

Решение проблемы подключения драйвера HBS860H и мотора 86HB250-156B

Есть у меня тут друзья друзей. Владеют парком ЧПУшек, вот решили они сделать плановый апгрейд и заменить свои привода на шаговых двигателях без обратной по положению связи, приводами с обратной связью. Благо китайцы такое делают и стоит оно весьма недорого. Купили комплект из драйвера HBS860H

И шагового движка 86HB250-156B

Движок со встроенным энкодером, энкодер оптический, даташит обещает 1000 импульсов на оборот. Я не пересчитывал, но судя по гребенке, на которой риски видно разве что под лупой — похоже.

Сам драйвер ведет себя как обычный шаговый драйвер. Управляется через STEP/DIR/ENABLE сигналы, как большинство подобных ему. Но, помимо этого, имеет выводы сигнализирующие о потере координат.

Подключается элементарно, подать фазы движка, подцепить энкодер и… ничего не работает. Движок либо молчит, либо рычит и трясется. Собственно с этой проблемой пришли ко мне.

Проверил, подключено верно. Разобрал энкодер — припаяно верно. Совпадает с шелкухой досконально. Прочитал мануал на несколько раз, все настройки верны. Должно работать сразу. А не работает.

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

Несколько лет назад я разбирал уже такой движок, и там был энкодер HEDS-9730, а тут увидел какой то похожий аналог N36 N30 KE-2N23F-36 плюс схема логики, для сопряжения (в HEDS логика была вся внутри). И, судя по всему, в результате переделки китайцы попутали каналы А и В у энкодера. Оставив при этом шелкографию на плате как было.

Взял поменял у энкодера каналы А на В и все заработало.

В общем, если вы пытаетесь подключить связку HBS86H и двигатель 86HB250-156B, но у вас ничего не работает, двигатель дрожит, уходить в защиту, то поменяйте каналы энкодера. EA+ на EB+ и EA- на EB-. Просто переставив провода на клеммнике. И все должно заработать.

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

Read More »

Saturn PCB Toolkit

Проектируя главную деталь электронного устройства — печатную плату периодически приходится делать разные расчеты. Обычно у меня это толщины переходных отверстий и дорожек, чтобы прошли по току. Иногда надо рассчитать импенсданс дифференциальной линии или, банально, прикинуть делитель напряжения. Для таких задач под рукой болтается Saturn PCB Toolkit. У меня версия 7.05, старенькая, еще 18 года, но более новую я не нашел. А с официального сайта почему-то нельзя уже скачать. Поэтому выкладываю дитрибутив у себя.

Бегло опишу что умеет. (далее…)

Read More »

Интерфейс RS-485

Интерфейс RS-485

Последнее время я делаю по большей части промышленные устройства и все чаще там используется именно RS-485. Потому как он используется как физический для множества протоколов, принятых в проме, таких, например, как MODBUS или ProfiBUS.

▌Принцип работы
Интерфейс RS485 хорош тем, что он, по сути дела, является дифференциальным вариантом RS-232 и его можно вешать на банальный USART любого микроконтроллера.

Физически он состоит из двух линий связи. А и B. Наличие земли желательно, но вовсе не обязательно. Отсутствие земли чаще всего чревато тем, что входящие данные будут иногда начинаться с нуля. Т.е. шлешь строку 0xBA 0xDF 0xF0 0x0D, а приходит 0х00 0xBA 0xDF 0xF0 0x0D, а дальше все нормально.

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

По линии А идет прямой UART, как он есть, а по линии В его зеркальная копия. А в приемнике, на дифференциальном операционном усилителе, одно вычитается из другого и получается исходный сигнал.


(далее…)

Read More »

Контроллер дверей

Для решения одной локальной проблемы с дверями, таблом и освещением автомойки запилил подобие небольшого ПЛК, или, скорее, умного реле. Проект выходного дня, так сказать. Ничего особо выдающегося собой не представляет, но все равно выложу, мало ли кому понадобится что-то похожее, а тут все уже готовое. Заказывай в китае платы, да делай. А там только свой код написать, но это же не сложно, да? ;) Тем более я покажу как все работает.

Сама задача была простой, по сигналу контроллера от робомойки надо было переключить табло с «Занято» на «Свободно», включить свет в рабочей зоне, и, главное, разделить двери. У оригинальной мойки дверь одна. В какую заехал из той и выехал. А тут нужна была проходная система с двумя дверями. Поэтому входной импульс надо было первый подать на одни двери, второй на другие. Импульс открывает привод дверей, закрываются они сами, по своим концевикам, когда машина выедет.

Пляшем от корпуса. Нам нужен корпус на DIN рейку. Я взял Gainta D2MG

Чтобы сразу попасть во все размеры, была нагуглена и скачана 3D модель этого корпуса в step формате. Импортировал все в Fusion360 и снял размеры платы. Решено было делать два этажа, соединенных проводом. Внизу будут располагаться релюшки и модуль питания, а вверху мозги.
(далее…)

Read More »

Реанимация засохшей паяльной пасты

Обычно smd монтаж я делаю просто паяльником, ручками. Даже если устройств надо с десяток. При том, что в JLCPCB или PCBWAY трафарет для пасты делается одной галочкой и стоит баксов 7. И да, я их тоже часто заказываю, но паяю все равно ручками… Дело в том, что устройства требуются внезапно. И редко, но метко. А у паяльной пасты есть одно мерзкое свойство — эта падла моментально сохнет. Вскрыл баночку, израсходовал ну процентов 30.. Через пол года открыл, а она уже засохла. Хоть как храни, хоть в холодильнике. Как ни закрывай, а засыхает. Мелкие же банки, чтобы использовать на один раз, стоят неадекватно. Меня жаба давит.

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

А тут досталась мне большая банка пасты. На килограмм почти. Нахаляву. Старая, усохшая до состояния замерзшего пластилина, с комками жесткими как засохшая грязь… Выкинуть бы ее, но нахаляву и уксус сладкий :)))) В общем, давай я тут развлекаться и ставить эксперименты.

Не буду перечислять все способы ее развести, но успешным признан следующий метод:

Берем небольшое количество пасты, примерно 30мл (баночка от соевого соуса, что шел к роллам) и пару пшиков туда из пульверизатора спирта этилового. Просто у меня спирт в пшикалке, сколько там в одном пшике? 0.2мл? Примерно так. И размешиваем, прям от души. Потом еще пару пшиков, опять размешиваем. Закрываем, убираем на сутки. Это надо, чтобы спирт дифундировал в остальной объем. А не был там локальными каплями жидкой фракции. На следующий день повторяем. И так до нужной консистенции. Еще я туда бахнул 0,1 кубика FluxPlus от Nordson. Он еще добавил тягучести и как бы сделал всю эту хрень более «сухой». Размешал тщательно. Выдержал еще сутки.

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

Так что если у вас завлялась банка пасты, которую применить уже нельзя, а выкинуть жалко, то можно попробовать ее реанимировать. Для не ответственных случаев вполне рабочий вариант.

Read More »

Контроллеры от GigaDevice GD32F103xxxx. Попытка миграции с STM32F103xxxx

В связи с тем. что последнее время цена на контроллеры растет быстрей чем стоимость битков, а, например, наш основной STM32F103VGT6 стал стоить вместо 500р аж 5000+, да еще с непонятными сроками ожидания от года и более, то мы начали вынужденную миграцию на аналоги. И взгляд пал на GD32, как на наиболее вменяемого и адекватного представителя китайпрома. А главная задача стала сделать универсальную прошивку которая бы одинаково работала как на STM32 так и на GD32. Чтобы можно было не глядя лить в наши машины смерти, не обращая внимания на то на какой архитектуре там мозги.

Купили мы небольшую партию этих чипов на Алиэкспрессе :))) Уже звучит жутко, но вариантов особо не было :)

Итак, на смену STM32F103VGT6 идет GD32F103VGT6 — китайцы не заморачивались вообще с названиями. И то правда. Чего нам париться? Совместимость у него по ногам полная, так что впаиваем его как есть.

А вот дальше начинаются различия. Во первых, памяти у него может быть больше. Аж до трех мегабайт флеша, против мегабайта у STM. Что, впрочем, не более чем потенциальная возможность, в моем случае, т.к. GD32F103VGT6 по объему памяти идентичен STM овскому камню. А еще у китайца тактовая частота выше, 108Мгц против 72Мгц у STM. Подозреваю Errata там тоже исправлена. Но, не факт что это к лучшему :)
(далее…)

Read More »

Аккумуляторная бормашина Dremel 8220

Купил я ее несколько лет назад, активно пользуюсь. Раз в неделю то точно. Что могу сказать — чего же я не купил ее раньше то!!! :) Не, гравер у меня был. Похожей мощности, размера и веса. Только проводной. Какой то Bort…. чето там. Вполне себе приятная зуделка была, единственное почему я ей редко пользовался — провод, мать его. Этож надо взять, размотать, найти розетку, потом смотать. Да ну нахрен, проще надфилем поддрочить и все делов. В итоге, пользовался я ей редко. А потом как наткнулся на аккумуляторный вариант, так сразу и купил. И с тех пор это один из самых юзаемых девайсов на рабочем столе. Сравнимый с шуруповертом. Подточить, подрезать, отпилить, просверлить в неудобном месте.

▌Внешний вид
Обычный гравер. Ухватистый, тяжеленький. Сзади втыкается аккумулятор, полностью совместимый с бошевской домашней, «зеленой», серией.

Что было прекрасно, т.к. у меня и зарядников таких несколько штук и батарей штук пять наберется. Спереди стандартная дремелевская резьба для насадок:
(далее…)

Read More »

Гальваническая развязка аналогового сигнала

Порой приходится делать гальваническое разделение аналогового сигнала. Например, чтобы отделить АЦП контроллера от высоковольтной части. И если с передачей дискретных сигналов все более менее понятно, там можно обойтись обычным оптроном, работающим в режиме вкл-выкл, то что делать с аналоговым сигналом?

Первое что приходит на ум, так это взять какую-нибудь оптопару и попробовать питать ее светодиод не номинальным напряжением, а нашим аналоговым сигналом. Ведь если напряжение на входе меньше, то светодиод горит тусклее и у фотодиода или фототранзистора на выходе будет совсем другое открытие. Если посмотреть даташит на какую-нибудь оптрон, вроде дешевого и популярного LTV817, то да, можно увидеть вполне характерную зависимость тока выхода (IC от тока входящего в светодиод (IF):

И даже можно попробовать на нем что-то изобразить. Но возникает несколько проблем. И главная даже не в нелинейности. В конце концов, в большинстве случаев, у нас сигнал все равно идет на АЦП какое-нибудь. А там нелинейность можно бы и программно исправить — бомбануть табличку или по формулам с кусочно-линейной аппроксимацией. Нет, главная проблема тут в разбросе параметров самих оптронов от штуки к штуке, даже в пределах одной партии, более того, они еще и с температурой очень сильно изменяют свои характеристики. Получится система которую сложно повторить и откалибровать. Скорей получится сделать всратый термометр чем линию связи :)
(далее…)

Read More »

Простая работа с биполярным сигналом датчика

Работая с разными аналоговыми датчиками часто натыкаешься на то, что у датчика сигнал биполярный. Ну то есть он не 0…5 вольт, а, например, -2.5…+2.5. И вот ради такой фигни городить двуполярное питание ну совсем не хочется, добавлять ОУ, чтобы сместить уровень до съедобного для АЦП тоже. Если точность позволяет, то есть такое вот простое и ультрадешевое решение:

Да да, берем и вешаем наш биполярный сигнал и через делитель бросаем его на плюс питания. Делителем масштабируем его как нам угодно и все :)

Ну, а считается он элементарно. Скажем, минимальное напряжение сигнала -2 вольта. Ток в АЦП не течет, значит весь ток идет только по ветке In — R2 — R1 — 5V При -2 вольтах на входе, разница потенциалов с питанием будет 7 вольт. По закону Ома 7V / 20kOhm = 0.00035A. Падение на резисторе R1 будет 3.5 вольта. А значит на средней точке делителя будет 5-3,5 = 1.5 вольта.

Если же на входе 2 вольта, то точно также: Разница напряжений 3V, ток в ветви 3V / 20kOhm = 0.00015A. Падение на резисторе R1 будет 1.5 вольта, а значит на средней точке делителя будет 5-1.5 = 3.5 вольта.

Понятно, что у данного решения хватает минусов. Например то, что плаванье питания непременно скажется на амплитуде выходного сигнал нашего датчика. Можно, конечно, застабилизировать его каким-нибудь LOW-DROP стабилизатором, выведя на отдельную ветку от основного. Но тут надо смотреть, чтобы стабилизатор не стал дороже нормального решения на ОУ :) Также мы теряем в размахе сигнала. На входе был размах в 4 вольта (-2…2), а на выходе получили всего 2 (1.5…3.5) вольта.

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

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

Read More »

Торцовочная пила Proxxon KGS-80

▌Прецезионна пальцерезка
Я последнее время частенько мастерю разную умную и, порой, всратую механику для вендинговых автоматов, которые делают странное. Например, убивают людей кучей разных изощренных способов :) А под это дело постоянно приходится отпиливать разные валы, конструкционный профиль, отпиливать кусочки от кругляка с последующей токаркой. И делать это с достаточной точностью. Ну чтобы попасть хотя бы в треть миллиметра.

Второй, решающий для меня, критерий — это минимальный вес и размер. Т.к. места под все это добро у меня ограничено, несмотря на мастерскую, а пригождается она не очень часто, чтобы выделять под нее отдельную рабочую зону. Отпилил и убрал в шкаф. Поэтому Proxxon тут оказался единственным вариантом, хотя решение довольно спорное, по ряду критериев.
(далее…)

Read More »

Объединение JLCPCB и EasyEDA

Недавно две дружественные конторы JLCPCB и EasyEDA слились в одну. Теперь это единая экосистема из облачного САПРа и производителя плат. Собственно оно уже давно так, видать теперь это как то юридически произошло. Ждем когда в эту же когорту окончательно войдет еще и LCSC, чтобы уже официально. И тогда можно будет в один тык отправлять сразу на производство готового изделия.

Но на всю эту корпоративную возню как бы наплевать, если бы они под этот повод не выдавали купоны на 10 баксов под новый заказ. Выдают их тут. Я правда не понял можно ли им оплатить сразу весь заказ или только часть. А если часть, то какую. Кто попробует — напишите в комментах. Если не получится, то тоже напишите :)

Read More »

Гальваническое разделение. Часть 1

▌А зачем?
Порой приходится работать с системами где крайне нежелательно, чтобы была электрическая связь между блоками устройства. Скажем между блоком датчиков, линиями ввода-вывода и блоком управления. Обычно это связано с тем, что линии IO находятся на горячей стороне с высоким напряжением, а цепи управления мало того, что работают на низком напряжении, так еще до них может дотянуться своими шаловливыми ручонками человек и убиться об них если что-то пойдет не так. Разделение часто делают, чтобы отрезать крайне шумную часть от нежных мозгов сложной логики, вроде контроллера, чтобы ему не прилетело в голову какой-нибудь высоковольтной помехой. Также гальваническую развязку делают в том случае если есть проблема с объединением земель между блоками из-за блуждающих токов, наводок и прочих бед.

При этом информация, а часто и питание передаются между блоками каким-нибудь не электрическим способом. Например, через свет или электромагнитные волны. А исходный сигнал вначале преобразуется из электрической величины в удобную для передачи, скажем из напряжения в частоту, этот частотный сигнал подается на светодиод, который моргает в глаз фотодиоду, а на обратной стороне происходит обратное преобразование, из частоты в напряжение. Вместо оптопары в некоторых случаях может использоваться трансформатор, т.к. через него свободно протекает переменный ток и можно гальванически развязать сигналы через магнитную индукцию. Так, например, сделано в Ethernet где трансформатор стоит либо прям в разъеме, либо в виде отдельного блока прям рядом с ним.

▌Гальваническое разделение питания
Обычно гальванически разделяют информационную составляющую сигнала связи, а питание каждый блок берет из своего источника. Но иногда надо выделить изолированную часть в одном приборе, а чем ее питать? Тут то на помощь и приходят изолированные преобразователи питания.

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

Я обычно использую три типа преобразователей в своей практике и держу их в запасе.

MeanWell NSD15-12S5

Это преобразователь 12 в 5 вольт. Но у MeanWell есть и другие номиналы похожего питальника. Ток у него до 3А. Я про него писал уже как то раз отдельную статью, несколько лет назад. Отличная штука. Надежная, дубовая. Работает как часы. Громоздкая только немного.

Aimtec AM1D-Z
Для меньшей мощности применяю блок от Aimtec AM1D-Z. Линейка преобразователей у Аймтека довольно большая, я обычно использую и держу в наличии всегда AM1D-0505SZ. Он принимает на входе 5 вольт и отдает 5 вольт, но уже гальванически отвязанные. И ток около 200мА, чего достаточно, чтобы запитать интерфейсные микросхемы, да микроконтроллер какой. КПД порядка 80%

По ссылке на картинке находится даташитик, точнее перечень вариантов этого преобрзователя. Там страницы две мелким шрифтом :)

Габариты у него совсем небольшие. А цена около 150-200р, не текущий момент.

(далее…)

Read More »

STM32. Контроллер внешней параллельной памяти FSMC

У микроконтроллеров собственной памяти мало, даже если говорить о каком-нибудь жирном прежирном Corteх, все равно: как волка ни корми, а у медведя, т.е. полноценного компьютера, толще. Поэтому практически все микроконтроллеры, в своем жирном исполнении так или иначе позволяют подцеплять к себе внешнюю параллельную память. Даже древний, как говно мамонта, АТ89С51 это умел. Что уж говорить про AVR и STM32.

▌Параллельная память

Для такой памяти характерны две черты: наличие двух шин: адреса и данных, и разных там стробов. На чтение, запись, тактовых и прочих. А вся суть работы с ними предельно простая. Чтение — мы выставляем на ногах адресной шины (коих обычно от 16 до 32) адрес нужной ячейки, отдельной ногой указываем, что у нас чтение, дергаем стробом и на шине данных (8 или 16 бит, обычно) появляется желанные байты. Запись похожим образом, только тут на шину данных мы выкладываем то, что хотим записать, на адресную шину кладем адрес куда надо записать, расставляем контрольную линию в режим записи и дергаем стробом. Опа, данные в памяти. Поскольку тут не требуется совершать сложных логических действий, то это все работает очень быстро, а реализовать можно даже на логике рассыпной. Естественно, что в разных МК такие интерфейсы были всегда.
(далее…)

Read More »