Мы в Wiren Board разрабатываем и производим устройства для автоматизации и мониторинга, которые работают на тысячах объектах: жилых комплексах, частных домах и квартирах, сетевых магазинах и ресторанах, складах, нефтяных предприятиях и т.п.
В основном это устройства со сложной прошивкой, которая или выполняет какие-то математические вычисления (например, в датчиках), или позволяет настраивать внутреннюю логику работы устройства: реле, диммеры и т.п.
А иногда мы делаем что-то простое, но по-своему — например, преобразователь интерфейсов WB-USB485. Вы узнаете о недостатках существующих адаптеров, как мы искали идеальное решение и про весь процесс: от идеи до запуска серийного производства.
Задача
Периферийные устройства Wiren Board работают по протоколу Modbus RTU, а значит, их можно использовать с любым контроллером или SCADA, если они поддерживают Modbus.
Но особенность в том, что наши устройства многое могут, поэтому перед использованием их надо как-то настроить. Например, в модуле WB-MR6C v.2 можно назначить управление любым выходом от любого входа — и всё это в разрезе четырёх типов нажатий. Ещё есть безопасные режимы и разные типы выключателей, подключаемых к входам.
При использовании контроллера Wiren Board устройства настраиваются через его веб-интерфейс, а если контроллера нет — настраивать надо с компьютера.
Обычно настройка с компьютера делается через софт, эмулирующий modbus-мастер и преобразователь интерфейса USB <> RS485.
И если с софтом всё более или менее понятно, есть та же Rilheva Modbus Poll для Windows или консольный modbus_client для Linux, то с преобразователями не всё так хорошо.
Например, мы регулярно получали от пользователей сообщения, что купленный на Алиэкспресс преобразователь за 200-500 рублей почему-то не хотел работать или на нужной скорости, или с двумя стоповыми битами, которые по умолчанию использовались в наших устройствах до 2022 года.
Поиск решения
Сперва мы хотели решить задачу просто: привезти кучу хороших преобразователей интерфейса, растаможить, заплатить налоги и продавать с минимальной наценкой и гарантией, указав «Сделано в Китае».
Но оказалось всё не так просто: где-то нет выхода GND, где-то и правда проблемы со стоповыми битами, какие-то требовали установки драйверов вендора.
Ещё для стабильной работы преобразователя на любых скоростях, трансивер должен явно переключаться на передачу и приём. Для этого микросхема USB-UART должна иметь специальную ножку, которая будет сигнализировать об окончании передачи.
Но таких микросхем мало, да и чаще всего производители просто ставят RC–цепочку и инвертор, а потом пытаются угадать направление по напряжению на TX. В итоге оно зависит от скорости передачи: может слишком поздно переключиться на приём и терять начало ответа, либо наоборот — включать приём в середине передачи пакета.
Преобразователи интерфейсов USB-RS485 с Алиэкспресса
Поэтому мы вспомнили старую пословицу «Если хочешь, чтобы что-то было хорошо — сделай всё сам». Так началась работа над «Адаптером USB-RS485», который впоследствии получил имя WB-USB485, но обо всём по порядку.
Формулируем задание на разработку
Кроме стабильной работы на всех настройках подключения, нам хотелось удобства, например, сразу запитывать наши устройства от преобразователя.
Modbus-устройства Wiren Board работают в диапазоне напряжений от 9 до 28 В, а пиковая потребляемая мощность — 4 Вт. Поэтому в требованиях прописали выход 12.5 В с током до 400 мА.
Если есть питание, то хочется дать пользователю индикатор с простой логикой: горит — питание есть, не горит — что-то пошло не так, например, короткое замыкание на линии.
Устройство должно быть компактным и удобным в использовании, идеальный форм-фактор — флешка с клеммником под шину RS-485.
Обязательна работа без вендорских драйверов в Windows, Linux, MacOS и Android — для этого микросхема USB-UART должна относиться к классу CDC ACM (Communication Device, Abstract Control Model).
В итоге ТЗ на разработку выглядело так:
Сделать USB-RS485 переходник со степ-апом на 12 В / 400 мА, чтобы можно было подключать наши modbus-устройства без внешнего блока питания.
Индикатор питания на шине, он же индикатор короткого замыкания.
Работа в популярных ОС без установки дополнительных драйверов.
Стабильная работа при любых настройках во всём диапазоне скоростей вплоть до 115200 бит/с.
Умещаться устройство должно в компактный корпус, похожий на флешку.
Задача есть — делаем.
А где гальваническая развязка?
У нас были бурные дискуссии внутри разработки, были сторонники её
добавить несмотря ни на что, а были и противники. И у каждого были свои
аргументы от «А если на шине будет сетевое напряжение?» до «А если шина
будет на сотни метров да между разными зданиями?».
Но основное назначение WB-USB485 — настройка устройств на столе. Поэтому
сетевое напряжение на шине может оказаться только при питании
modbus-устройства от неизолированного блока питания 230 В. В этом случае
на A/B шины окажется 110 В сетевого напряжения, попавшие туда через
среднюю точку конденсаторов.
Тогда возможно два сценария развития событий:
с гальваноразвязкой — под сетевым напряжением останутся провода и клемма RS-485;
без гальваноразвязки — USB-разъём ноутбука обеспечит выравнивание земель через защитные диоды, но в теории может сгореть ноут.
И непонятно, что хуже — вероятность спалить технику или подвергнуть опасности человека. Конечно, люди важнее, чем техника.
Ещё довольно дорого сделать гальванически изолированный БП на 5 Ватт, и он точно не уместится в компактном корпусе.
В итоге мы решили гальваническую развязку не делать и в документации явно про это сказать, а ещё предупредить, чтобы не подключали к длинным линиям и к странным китайским устройствам с питанием от 230 В.
Первый блин
Трансиверы RS-485 у нас используются примерно везде, а вот хорошие преобразователи USB-UART пришлось долго и муторно искать.
В 2020 году WCH (WinChipHead) анонсировал новые чипы CH342 и CH343. Мы на всякий случай купили все образцы, какие смогли. Покупали не напрямую в WCH, так как они тогда шугались англоязычных клиентов, а через случайного китайского агента.
Когда проектировали наше устройство в первый раз, оказалось, что чипов CH342 и CH343 ещё нет в массовом производстве, поэтому в проект заложили другой чип от WCH. Но до производства дело так и не дошло — нагрянул кризис компонентов и стало не до новинок.
Вторая попытка
И вот мы неожиданно обнаружили, что чипы CH343G стали свободно доступны, есть у всех поставщиков и стоят недорого — мы реанимировали проект.
Дело было в апреле 2022 года, когда измотанный пандемией рынок электронных компонентов накрыла волна логистического ужаса и отмены поставок. Поэтому мы всей компанией пытались не допустить остановки производства: делали новые ревизии устройств с ещё доступными в продаже компонентами, подбирали аналоги, закупали компоненты впрок и т.п. Подробнее про то, как всё это происходило, читайте в нашем докладе Новости Wiren Board. Как мы теперь покупаем компоненты.
В этот период избежать простоя конвейера нам очень помогло то, что компоненты закупаем мы сами, у нас на складе всегда есть запасы на несколько месяцев, а само производство находится в России.
Но нам удалось найти человека, который смог взяться за проект преобразователя интерфейсов и довести его до конца!
Проект поручили молодому инженеру-электронщику Даниилу Баркову, который на тот момент уже работал в компании пару месяцев и успел за это время разработать и собрать пару стендов для проверки реле на пусковые токи.
Корпус
С корпусом определились быстро — мы как раз в прошлом году запустили производство сетевых адаптеров для холодильных контроллеров и там использовали корпус, похожий на флешку. Его и решили использовать в проекте, после небольшой доработки на фрезерном станке.
Схема и плата
Прошли те времена, когда мы прототипы устройств собирали на самодельных платах — сейчас платы сразу заказываются на заводе небольшими партиями.
Обычно процесс выглядит так: инженер рисует схему в Eagle, обсуждает с коллегами, потом там же разводит плату и размещает заказ на 10-20 штук в Резонит.
Если устройство небольшое, как в нашем случае, то детали на первые пару образцов паяем вручную.
Прототип и неожиданная проблема
Через несколько дней мы получаем плату v2.0 (v1.0 была нарисована в 2020 году, но в производство не пошла), припаиваем компоненты и… у нас не работает управление полудуплексом. Да ещё и на двух образцах.
Даниил долго ищет проблему: проверяет схему, разводку плат и монтаж и номиналы деталей, изучает сигналы с осциллографом и, с подачи коллеги, приходит к выводу — проблема в чипах CH343, которые мы купили для пробы в далёком 2020 году.
Чтобы подтвердить гипотезу, надо было поставить чип из другой партии, а взять негде — от производителя чипы приедут только через два месяца, а в продуктах на рынке их ещё толком не было.
Но нам удалось найти какое-то устройство на ESP32 и с чипом CH343, которое мы и купили для опытов. Это помогло — после пересадки чипа с донора всё заработало.
Получается, что в тестовой партии чипов не работал целый кусок функциональности, который WCH два года допиливала перед запуском чипа в серию.
Поиск идеального USB-коннектора
Изначально хотели поставить ТНТ USB-коннектор — это когда ножки впаиваются в отверстия на плате, так прочнее. Выбрали самый низкий и узкий, но он оказался чуть-чуть выше, чем надо и корпус собирался с трудом.
Решили поставить SMD, но искать оказалось непросто: большой выбор типоразмеров, а на некоторых чертежах не указан размер. Приходилось угадывать по фото: считать по клеткам миллиметровки или высчитывать размер в графическом редакторе.
В итоге нашли то, что нужно. Купили, проверили — собирается в корпус. На радостях заказали 300 штук, а позже выяснилось, что эти коннекторы плохо контачат с потертыми USB-портами компьютера.
Предположили, что так себя ведут дешевые коннекторы, поэтому купили самые дорогие в Компэле от Molex — работают идеально, но стоят недешево.
Продолжили поиски: долго ковыряли LCSC в поисках коннектора с подходящими габаритами, нормальными материалами, известным производителем и не подозрительно маленькой ценой. Нашли, купили образцы, проверили, заказали много штук на склад.
Защищаем вход компьютера
У нас так устроены процессы, что над задачей разработчик работает сам и привлекает коллег в двух случаях: если ему нужна помощь или хочет что-то показать.
Как только мы получили первый рабочий экземпляр, пришло время показать его всем. Обычно в такие моменты выясняются неожиданные детали, о которых разработчик не подумал.
Так случилось и в этот раз — кто-то из коллег сразу заметил, что в устройстве есть вероятность сломать компьютер, к которому подключен преобразователь интерфейсов, если подключить устройство к действующей шине RS-485, где устройства питаются от 24 В.
Решили сделать защиту. Максимальное напряжение питания наших устройств 28 В постоянного тока, поэтому сделали защиту до 30 В.
Так появилась версия 2.2. На этом этапе был уже рабочий преобразователь интерфейсов, который умел питать наши устройства напряжением 12 В постоянного тока с индикатором и имел защиту от случайного подключения к действующей шине.
Запуск производства
Как только появляется рабочий прототип и мы принимаем решение запускать устройство в серию, начинается самое интересное — запуск серийного производства.
Техписатели пишут документацию, отдел продаж готовит страницу в интернет-магазине с описанием и фотографиями, разработчики устройства пишут инструкции для производства, а отдел выходного тестирования разрабатывает и изготавливает стенд функционального тестирования.
Почему нельзя просто собрать устройство и потом менять по гарантии, если оно не работает? На это есть сразу несколько причин:
Менять по гарантии для нас очень дорого — это доставка курьером в обе стороны, работа техподдержки и недовольные пользователи.
Проходит много времени с момента выпуска устройства до реальной эксплуатации, что несёт риски поздно заметить критическую ошибку и получить много негатива, а ещё убытки от сотен неработающих устройств на складе.
Мы постоянно выпускаем новые ревизии устройств: улучшаем их, исправляем незначительные ошибки или просто меняем компоненты, потому, что старые больше нельзя купить.
Прошивка устройства именно на этой аппаратной ревизии может вести себя немного не так, как ожидалось.
Компоненты из новой партии могут оказаться бракованными.
Поэтому у нас каждое выпускаемое с конвейера устройство проходит функциональное тестирование на специальных стендах, а результаты заносятся в базу данных с привязкой к серийному номеру. Подробнее о проблеме надёжности и как мы боремся с вероятным браком, читайте в статье Про надёжность устройств.
Стенд тестирования WB-USB485 проверяет:
Тракт приема-передачи: передаём пакет на скорости 115200 бит/с, принимаем его контроллером и отправляем назад.
Степ-ап преобразователь: к выходу 12 В подключаем резистивную нагрузку и следим, чтобы выходное напряжение было не ниже заданного порога.
Монтажнику на производстве достаточно воткнуть устройство в USB-порт стенда, подключить клеммник RS-485 и нажать большую красную кнопку — остальное происходит автоматически.
Нейминг и наклейки
Нейминг моделей у нас нехитрый:
префикс WB — это сокращение от Wiren Board;
Буквы MB в modbus-устройствах — это сокращение от MODBUS;
а дальше уже идёт какая-то характеристика устройства: количество выходов, протокол, тип сигнала и т.п.
Это устройство мы назвали также просто — WB-USB485, он лишь преобразователь интерфейсов и не ограничен только Modbus.
Типография у нас своя — это позволяет оперативно печатать нужное количество наклеек и оперативно вносить изменения, если сменилась версия устройства, появилась новая функция или закралась ошибка.
Первые серийные экземпляры
Пока шла подготовка к серийному производству, мы заказали пробную партию плат в 100 штук, чтобы положить немного на склад для изучения спроса и сбора обратной связи.
Партия не настолько большая, чтобы отправлять её на контрактный монтаж, поэтому мы смонтировали SMD компоненты у себя на производстве с помощью установщика SMD-Taxi. Выводные компоненты паяли, как обычно, вручную.
А комплект?
Новое устройство показали на общей инженерной планёрке, где и решили, что будет удобно, если положить в комплект пару кабелей, с помощью которых можно подключить к преобразователю все наши устройства.
Решение казалось очевидным: взять кусок витой пары, обжать концы в НШВИ и закрутить их в ответные части клеммников. Получилось удобно и функционально: USB-свисток и пара кабелей в комплекте. В таком виде их и получили первые покупатели.
С кабелями тут мы здорово ошиблись, но об этом чуть ниже.
Фидбэк
Инженеры-электронщики работают у нас на производстве, а вот большая часть команды — удалённо. Поэтому до старта продаж устройства у нас проверяли сами разработчики и техписатель при написании документации.
После того, как устройство стало доступно в интернет-магазине, инженеры заказали их себе и дали обратную связь:
красный статусный индикатор пугает пользователя;
комплектные кабели получились жёсткие и некрасивые;
не хватает индикаторов RX/TX — нельзя понять, есть ли обмен на шине;
клеммная колодка шины RS485 сделана такой же, как в устройствах WB-M1W2/WB-MSW, что не позволяет откинуть в инсталляции от шины контроллер и подключить вместо него WB-USB485;
колпачок оказался жутко неудобным и его тяжело снимать;
на разъёме RS-485 не хватает цветовой маркировки — надо всматриваться в буквы на плате при использовании кабелей не из комплекта.
Обсудили замечания на общей планёрке и решили поправить, а на будущее внесли в инструкцию по выпуску новых устройств пункт, который предписывает отправлять удалённым сотрудникам образцы из тестовой партии. Здесь логика проста: чем больше человек, не вовлечённых в процесс разработки устройства, его пощупает — тем лучше.
Работа над ошибками
Даниил перерисовывает схему и плату, где меняет цвет светодиода питания на зелёный и добавляет ещё два: оранжевый TX и синий RX.
Пока едет новая плата, думаем, что делать с комплектными кабелями.
В первом варианте мы использовали кабель ParLan Patch U/UTP Cat5e PVC 2х2х0.35 мм кв., у которого всего 2 витых пары, но довольно упругая изоляция и пластиковая жилка внутри.
Решили, что станет лучше, если мы удалим изоляцию и всё лишнее, оставив только провода. А чтобы они не разваливались, мы их скрутим в жгут.
Вышло, честно сказать, плохо. Решили заказать обычный тоненький четырёхпроводной кабель без витых пар 26awg Black 4 Cores — кабели короткие, поэтому в витой паре нет совершенно никакой необходимости. Зато результат получится классным: тоненький гибкий проводок чёрного цвета.
Во всех устройствах на складе из пробной партии кабели мы тоже поменяли, заменили и коробку на более компактную и крепкую. Таким образом первые пользователи получили устройства с нормальными кабелями и одним красным индикатором, вместо трёх разных цветов.
К моменту прихода большой партии WB-USB485 v2.3, модули v2.2 уже разлетелась и следующие пользователи получили уже по-настоящему классные устройства: в комплекте с удобными кабелями, индикаторами обмена на шине и питания, а также в компактной коробке.
Что в итоге
В результате мы получили то, что хотели, — компактный преобразователь интерфейса с настоящим RS-485 в удобном форм-факторе с выходом питания на 12 В постоянного тока. В нём есть защита от случайной подачи напряжения до 30 В, индикатор питания и перегрузки по току и два индикатора обмена данными.
В комплекте с устройствами два кабеля, подходящие ко всем нашим устройствам. Не нужно ставить драйвера на Windows, Linux, MacOS и Android.
Судя по отзывам и продажам, пользователям тоже понравилось.
Но впереди ещё много работы. Например, сейчас для настройки устройств с компьютера люди используют неудобный софт, где надо регистры прописывать вручную по табличкам.
Мы немного облегчили их труд шаблонами под Rilheva Modbus Poll, но это всё не то. Однажды мы сделаем удобный конфигуратор наших устройств, который будет использовать шаблоны от нашего драйвера.
На этом всё, пишите в комментариях, чтобы вы сделали так же, как мы или по-другому. А лучше приходите к нам работать, будем делать интересные штуки вместе — мы как раз ищем инженера-электронщика в отдел выходного тестирования.
Если вы просто интересуетесь автоматизацией, производством электроники и чем-то таким — приходите 21 и 22 апреля 2023 г. на нашу конференцию и выставку WBCE 2023. Там мы с партнёрами покажем новинки, расскажем много интересного и обязательно организуем для вас живую экскурсию по нашему офису и производству.
Комментарии (55)
wofs Автор
12.04.2023 07:11+2Для настройки устройств с компьютера через Modbus Master откуда нужно взять алиасы для регистров Modbus?
Для каждого нашего устройства в документации есть ссылка на таблицу регистров и там на русском написано назначение. Например, описание выходов реле:
Китайцы иногда вкладывают листок с описанием, а иногда приходится трясти с продавца фотографию таблицы.
MTom
12.04.2023 07:11+3Классная статья получилась! Не столько интересен велосипед, сколько процесс его рождения и нюансы внутренней кухни Wiren Board :)
LAutour
12.04.2023 07:11А гальваническую развязку для полного "счастья"?
wofs Автор
12.04.2023 07:11+2А гальваническую развязку для полного "счастья"?
В разделе про техзадание есть кусочек про гальваническую развязку, вкратце: сделать изолированный источник питания на 5 Вт и уместить его в корпус флешки не получилось. Поэтому с гальваноразвязкой когда-нибудь будет уже другое устройство со своими задачами.
zurabob
12.04.2023 07:11+1Зачем, если задумывалось только для настройки на столе? А если на объекте решат настроить и вышибет порт случайно, то сами виноваты. Тем более, что кроме кривых китайцев с али за 100р есть и полно других преобразователей, в т.ч и с развязкой, о которых разумеется скромно умолчали. Вот их и стоит использовать уже на объектах.
developer7
12.04.2023 07:11+1А если на объекте решат настроить и вышибет порт случайно, то сами виноваты.
100% будут использовать.
Я когда то давно не хотел ставить защитный диод от переполюсовки в устройство, а коллега спорил мол надо. Я отвечал — зачем, когда жирными буквами написано где +, где -.
В результате поставили. И сколько же нервных клеток было спасено. А репутация? Стоит произойти пару случаев, и поднимется такой хейт, что никто уже не захочет связываться, и не будет разбираться почему.
Krysnik
12.04.2023 07:11+6Зря не добавили гальваническую развязку по RS-485. Вот ее реально не хватает для промышленного применения. В остальном - лайк.
wofs Автор
12.04.2023 07:11+2Когда мы делали устройство, то в голове у нас был сценарий использования «на столе», поэтому компактность была в приоритете.
evgeny_boger
12.04.2023 07:11+2Нельзя сделать с развязкой, но с выходом питания, компактно и недорого. Думаю, что выберем что-то одно и сделаем ещё одну версию с изоляцией.
nafikovr
12.04.2023 07:11+1развязка нужна когда не используется питание от адаптера. так что достаточно обеспечить развязку интерфейса чтоб обезопасить себя и комп при работе с запитанными устройствами
Astroscope
12.04.2023 07:11+1Поддерживаю. Но это означает разработку еще одного устройства - платы, корпуса, да даже розничной упаковки. С другой стороны, это может быть и новая статья на Хабр - как имея положительный опыт разработки одного адаптера, разумно использовать его, опыт, для разработки немного похожего другого. :)
xanto
12.04.2023 07:11пишите в комментариях, чтобы вы сделали так же, как мы или по-другому.
Добавил бы USB в каком-либо виде (mini/type-C) на сам модуль, тогда бы необходимость в преобразователе отпала. И написал программу для настройки модуля через этот самый USB, чтобы не шариться в поисках необходимых регистров.
evgeny_boger
12.04.2023 07:11+4В одной инсталляции обычно от 5 до 40 устройств, а большинство инсталляторов обслуживают больше одной инсталляции. То есть это просто сильно экономически выгоднее.
Ещё у нас уже есть 50+ разных устройств, поэтому сделать один преобразователь - это дать сразу возможность работать со всеми. А добавлять USB в устройства - это процесс, который займёт годы.
Ну и там технические сложности есть, навскидку:
МК c USB дороже, т.е. надо ставить USB-UART на каждое устройство
лишнего уарта в МК под такое не завезли, т.е. подключаться встроенным преобразователем надо к тому же уарту. При этом надо не слать байтики в общую шину RS-485 и не принимать одновременно байтики с шины и преобразователя. То есть надо делать какую-то хитрую схему переключения.
Что делать с питанием и землёй, если подключен и USB-кабель и RS-485 с внешним питанием?
Во многих устройствах МК или гальванически изолирован от датчиков, или от RS-485. Или вообще сидит на потенциале 220В. От USB его надо будет изолировать дополнительно, а изоляция дорогая и занимает много места.
Mr_KDV
12.04.2023 07:11Спасибо за подробную статью!
У WB есть в планах разработка своего приложения вроде Modbus Poll ?
wofs Автор
12.04.2023 07:11+1У WB есть в планах разработка своего приложения вроде Modbus Poll ?
В планах есть приложение для простой настройки наших устройств. Там внутри будет поддержка JSON-шаблонов, поэтому ничто не помешает использовать его с любыми другими устройствами.
По срокам пока сказать сложно — мы сейчас сосредоточились на улучшении веб-интерфейса нашего контроллера и свободных ресурсов пока нет.
Sergey78
12.04.2023 07:11+4>Modbus-устройства Wiren Board работают в диапазоне напряжений от 9 до 28 В, а пиковая потребляемая мощность — 4 Вт. Поэтому в требованиях прописали выход 12.5 В с током до 400 мА.
А USB порт компьютера способен столько питания отдать? 12.5в на 0.4А это 5вт. Без учета потерь в dc/dc это 1А по 5В линии. Стандарт, насколько помню, 0.5А
wofs Автор
12.04.2023 07:11+3Стандарт, насколько помню, 0.5А
Вы всё пишете верно, но есть нюанс. 4 Вт — это пиковая потребляемая мощность наших шестиканальных реле в момент включения всех четырёх реле разом и длится этот момент не более 20 мс. То есть при настройке устройства, подключённому к USB-порту ноутбука такая ситуация маловероятна. Почти всегда потребление будет от 0.1 (реле) до 1.6 Вт (датчик CO2).
Ещё мы заметили, что современные компьютеры и ноутбуки вполне способны обеспечить ток до 1А ток на USB. Возможно, это связано с засильем смартфонов, которые надо как-то питать от USB при подключении в качестве модема.
Поэтому решили сделать запас по мощности. Если компьютер по каким-то причинам не сможет обеспечить нужный ток, то просто сработает встроенная защита и питание USB-порта отключится — это будет видно по индикатору питания.
evgeny_boger
12.04.2023 07:11+1Сложный вопрос на самом деле. USB-порт обычно способен, но стандарт действительно обязывает устройства ограничивать потребление строго на 0.5А.
При во всех компьютерах на порту стоит ограничитель тока в диапазоне 0.6-1А, и этот же 1А выдерживают дорожки в разъёмах, и этот же 1А максимально теоретически может потребить наш преобразователь.
То есть ограничивать ток дополнительно со стороны преобразователя нет смысла: ни в какой ситуации им нельзя испортить порт, а ограничение ухудшало бы характеристики. Но да, теоретически может попастся компьютер, с которым нельзя будет подключить к преобразователю устройство, потребляющее больше 2.5Вт.
LAutour
12.04.2023 07:11Про современные материнки ПК не знаю, а на более старых были перемычки выбора питания от дежрных 5В или основных. А так как для дежурное питание ограничено по мощности, а USB портов несколько - то для защиты от дурака ограничение в 0.5А логически было оправдано.
developer7
12.04.2023 07:11Как правило ставят полимерный само восстанавливающийся предохранитель. Минусы работы которого надо учитывать.
evgeny_boger
12.04.2023 07:11+2А это точно правда? Я про такое последний раз слышал применительно к какой-то древней версии R-Pi. Специальные ключи с ограничением тока для USB, типа SY6280 какого-нибудь, стоят по $0.03 в мелком опте, по-моему они стоят везде уже очень много лет.
developer7
12.04.2023 07:11Я лично видел (правда давно). Я имею ввиду материнскую плату. Там схемотехника максимально простая была — один предохранитель (SMD вида) в разрез шины питания.
И конечно я не буду утверждать что не существует куча других вариантов. Например как вы предложили.
И да согласен, слово как правило было лишнее.
104u
12.04.2023 07:11во всех компьютерах на порту стоит ограничитель тока в диапазоне 0.6-1А
Всё-таки не во всех. Я втыкал в юсб порт компа устройство, которое жрало 3А. Ничего не сгорало, всё работало как будто так и должно быть. Но по памяти не скажу, был 775 или уже АМ4
В ноутбуках чаще всего ограничение как раз 1А или где-то около того
zurabob
12.04.2023 07:11+1Забег по граблям конечно эпичный, но можно было просто взять проверенный рабочий FT232, который стоит чуть дороже, но с ним нет проблем, как с сырыми китайскими чипами..
wofs Автор
12.04.2023 07:11+2просто взять проверенный рабочий FT232
Так мы же хотели, чтобы без установки сторонних драйверов — воткнул и работает. Для FT232 вроде как до сих пор нужно качать драйвера с оффсайта FTDIChip и ставить.
Paskin
12.04.2023 07:11+2Это если хочется дополнительных функций (у последних моделей есть I/O пины и прочие "вкусности"). А USB-UART на них опознается автоматически - если, конечно, USB ID не менять...
Paskin
12.04.2023 07:11С FT232 проблемы в количестве подделок - нужен надежный поставщик.
zurabob
12.04.2023 07:11+2За долгие годы использования FT232 только один раз нарвались на подделку, это было во время ковидно-силиконового кризиса. Чип работал полностью нормально, но не отрабатывал установку линии в Idle, но 99% пользователей это и не надо.
Просто не стоит покупать комплектующие для серийного производства на али и помойных стоках.
wofs Автор
12.04.2023 07:11+3Просто не стоит покупать комплектующие для серийного производства на али и помойных стоках.
Увы, это не панацея, на вскидку пара примеров:
- В 2016 году мы закупили в Элитане большую партию трансиверов MAX485, которые оказались подделкой под известный бренд и в них не выдерживался параметр «ток короткого замыкания линий A B».
- В этом году нам весьма надёжный поставщик с которым мы работаем много лет, неожиданно прислал вместо DS18B20 «аналог» 7Q18B20. Если бы не входной контроль, то оно бы ушло пользователям — мы берём датчики в гильзах и прочитать маркировку микросхемы не можем. Скоро будет статья, как мы их носили в лаболаторию на проверку заявленных в даташите характеристик.
zurabob
12.04.2023 07:11+1Элитан нередко берет со "странных" стоков, мы стараемся с ним не работать. Да, иногда нормальные поставщики еще на этапе заказа предупреждают, что товар из сомнительного места и мы или отказываемся, или тщательно проверяем и в случае подделки отдаем обратно.
Разумеется это не панацея, а просто разумные меры предосторожности, проколы тоже всякие бывали. Китайские чипы тоже подделывают другие китайцы или просто отгружают брак.
IliaIT
12.04.2023 07:11Тут искали конвертер c rs485. проблема была в том что нет полноценных 9 битных пакетов. приходилось делать 8 бит слово +бит чётности принудительный, а потом менять этот бит, что часто приводило к отвалу устройства по таймауту.
evgeny_boger
12.04.2023 07:11А где вы 9 бит в живой природе встретили кстати? Постоянно про такое читаю в даташитах и первый раз слышу, что кто-то пользовался.
MiraclePtr
12.04.2023 07:11+1Например, есть такой адовый отечественный теплоэнергоконтроллер ИМ2300, у него в протоколе 9-ый бит используется не как бит четности, а как маркер начала пакета (у первого байта пакета должен быть единицей, дальше всегда ноль). На кой черт - не понятно, по-моему за такое руки надо отрывать. Где-то были упоминания, что в каких-то древних микроконтроллерах на такое можно было повесить прерывание, если это действительно так, то честь и хвала таким конструкторам и программистам - себе жизнь облегчили, зато сотням других людей усложнили.
placidity_master
12.04.2023 07:11мнение ленивого начинающего инженера:
Плата WB-USB485 и плата-донор чипа
на зелёной плате сразу после юсб
порта нет предохранителя
а на синей плате есть. ошибка.причём в статье даже упоминается КЗ:
Индикатор питания на шине,
он же индикатор короткого замыканияпоясняю: некоторые материнки
имеют крайне низкоимпедансный выход на
питании юсб, в итоге при проблемах
пока инженер ходил на обед пол офиса сгорело.ИМС SY7200 от статики может уйти в КЗ
и приплыли на "новый офис"
хотя линии А и В как раз сделаны правильно
первым делом через предохранитель.И непонятно, что хуже — вероятность спалить
технику или подвергнуть опасности человекаочень даже понятно,
если БП опасен для человека,
то его просто не надо ставить там где есть человек.
я даже не представляю в чём проблема купить
нормальный БП и заземлить его,
к тому же вся игрушка постоянно лежит на столе
а не таскается по не понятным чердакам.
и такой подход "не понятно, грохнем человека"
уже намекает на то что разрабатывать устройства
Вам КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО.с гальваноразвязкой — под сетевым напряжением
останутся провода и клемма RS-485;религия запрещает отдельно заземление
подключить к оборудованию на момент настройки ?Ещё довольно дорого сделать гальванически
изолированный БП на 5 Ватт, и он точно не
уместится в компактном корпусеготовый DC-DC и плевать на габариты когда
есть вопрос безопасности человека и пожара.В итоге мы решили гальваническую развязку
не делать и в документации явно про это сказать,
а ещё предупредить, чтобы не подключали к длинным
линиям и к странным китайским устройствам
с питанием от 230 В.как обычно, сначала включат , грохнут человека
а потом начнут читать документацию.Проект поручили молодому инженеру-электронщику
Даниилу Баркову, который на тот момент уже
работал в компании пару месяцевстановится понятно откуда такие ошибки
Решили сделать защиту.
Максимальное напряжение питания наших
устройств 28 В постоянного тока,
поэтому сделали защиту до 30 В.Так появилась версия 2.2.
На этом этапе был уже рабочий
преобразователь интерфейсов,
который умел питать наши устройства
напряжением 12 В постоянного тока с
индикатором и имел защиту от случайного
подключения к действующей шинепросто офигеть ....
правильно спроектированный модуль
просто "следит" за линией питания,
и начинает "накачивать" туда напряжение
если оно просело ниже 12В,
а если подключили внешний источник на 28В
то ИМС просто должна встать на паузу
и не уходить ни в какие ошибки,
ведь для оборудования "гуляние" питания
от 12 до 28В НЕ является ОШИБКОЙ.
а "защита" подразумевает "ошибку", "аварию".у Вас даже есть статья "Про надёжность устройств"
но толку от неё если Вы всему миру показываете
прямым текстом "мы проектируем опасное ! НЕ ПОКУПАЙТЕ! "Стенд тестирования WB-USB485 проверяет:
Степ-ап преобразователь: к выходу 12 В
подключаем резистивную нагрузку и следим,
чтобы выходное напряжение было не
ниже заданного порога.а Выше ? а уровень пульсаций ?
а спектральный анализ ?
т.е. если там "шумелка" вы даже не поймёте
почему другое оборудование "резонирует"
и сходит с ума.
кошмар.
а поведение при повышении до 30В ?
а тест статическими разрядами от тёплых кофт
на инженерах ?
кстати 99% инженеров работают без
антистатического браслета.
и для меня это первый признак недоучек.на стенде нагрузочные резисторы обтянуты стяжкой.
контакты открыты. здравствуй статика и скрытый брак.
ужас.красный статусный индикатор пугает пользователя;
естественно, ведь есть "ожидаемое поведение"
красный ошибка, зелёный норм, и т.д.Даниил перерисовывает схему и плату
и в очередной раз забывает об элементарном
предохранителе в питании.мы как раз ищем инженера-электронщика
от 80 000 до 130 000 руб. на рукис такой ЗП долго искать будете.
минимум 160к в современных ценах.некоторые водители самосвалов зарабатывают 250к.
я в глубоком шоке от того что такие
компании с таким подходом набирают
на хабре рейтинг больше 470 !!!про остальные схемотехнические ошибки я промолчу,
бесплатно я больше не разгребаю ошибки студентов.evgeny_boger
12.04.2023 07:11+5некоторые материнки
имеют крайне низкоимпедансный выход на
питании юсбПруф или не было. Я везде видел ключи с защитой, благо они стоят 3 цента.
порта нет предохранителя
вы наверное предохранителем здесь называете полифьюз. Он есть в схеме в цепи степ-апа.
а Выше ? а уровень пульсаций ?
кошмар.
ужас.первый признак недоучек.
Серьёзный ответ: ни один производитель не тестирует в производственном конвейере каждый экземпляр устройства так же, как при разработке. Ну потому что тест должен занимать минуту, а не две недели и не разрушать устройства при тестировании. И нет никакого смысла тестировать каждый экземпляр устройства на поведение при превышении напряжения выше 30В. Ну они все себя одинаково будут вести с одикаковой-то схемотехникой! Автоматизировано тестируют на случай проблем с пайкой, печатной платой, характеристиками компонентов.
А при разработке естественно разработчик и про пульсации, и про перенапряжение подумает, номиналы подберёт, и потом в настояющую железку потыкает осциллографом.
на стенде нагрузочные резисторы обтянуты стяжкой.
контакты открыты. здравствуй статика и скрытый брак.И вам доброго дня! На производстве все в браслетах. Если бы их не было, то на всех цепях устройства всё равно стоят ТВС-ы. Да и если бы их не было, то скрытый брак от статики на производстве в таком устройстве - это что-то из области городских легенд
placidity_master
12.04.2023 07:11Пруф или не было. Я везде видел ключи с защитой, благо они стоят 3 цента
забавно, в реальной жизни я много чего повидал, но вот не ожидал что в нужный момент простые вещи найти в виде картинок довольно сложно.
в последние годы только начало входить в моду делать юсб по уму, возьмите материнки 5-10 летней давности и посмотрите как там выход питания сделан. все материнки которые прошли через мои руки (штук 50), нормальная защита была в лучшем случае у 10%, остальные юсб на 5В линию подключают через перемычку. для экономии.
и правильно замечено, защита стоит центы, но большинство производителей экономят каждый цент, в итоге большинство материнок до примерно 2015-2018 годов имели не вполне подходящие конденсаторы в цепи питания ЦПУ, которые частенько вздувались. хотя сделать по уму , вопрос пары баксов, танталовые или полимерные кондёры например.
вы наверное предохранителем здесь называете полифьюз. Он есть в схеме в цепи степ-апа
сам степ ап и есть точка отказа и КЗ, или он волшебный ?
у вас только ПОСЛЕ step-up есть пред. а до ?
ни один производитель не тестирует в производственном конвейере каждый экземпляр устройства
если я правильно помню историю становления компании "кингстон", они добились успеха 100% тестом всей продукции на нагрузочных стендах.
как раз таки ответственные компании всю продукцию прогоняют через нагрузочное тестирование.
Ну потому что тест должен занимать минуту, а не две недели и не разрушать устройства при тестировании
тест на "спектральную составляющую" занимает пару минут, и даже автоматизируется, и уж точно ничего не разрушает при тесте.
просто проверяется что конкретный экземпляр "не словил" не удачную конфигурацию компонентов, или бракованных компонентов, и не начал фонить в эфир. некоторые керамические конденсаторы после пайки от механического напряжения могут уйти в КЗ или обрыв. поэтому перед упаковкой делают нагрузочное тестирование.
совсем богатые фирмы даже гоняют оборудование в климатических камерах.И нет никакого смысла тестировать каждый экземпляр устройства на поведение при превышении напряжения выше 30В
однозначно есть, ведь это делается за считанные секунды и гарантирует что в цепи нет пробитого диода или конденсатора.
Ну они все себя одинаково будут вести с одикаковой-то схемотехникой!
Автоматизировано тестируют на случай проблем с пайкой, печатной платой,
характеристиками компонентов.дак ведь тест то нужен после сборки как раз для проверки пайки и компонентов.
в настояющую железку потыкает осциллографом.
ослики часто не показывают спектр , разве что дорогие модели, надо смотреть именно спектр-анализатором, что там нет иголок на ВЧ.
На производстве все в браслетах
человеческий фактор. человек забыл и привет.
а ещё чаще бывает: зайдёт какой нить "эффективный манагер" ничего не понимающий, и начинает лезть куда не просят без спроса.
сам лично видел как на производстве мед. оборудования какой то курьер пришёл с посылкой, и начал лапать платы которые ему вообще нельзя трогать. когда я поднял этот вопрос, был большой скандал, потому что даже местные работники считают "ничё страшного, чё ты тут умничаешь", а потом по новостям : "взорвался ИВЛ, погибли люди".
Если бы их не было, то на всех цепях устройства всё равно стоят ТВС-ы.
Да и если бы их не было, то скрытый брак от статики на производстве в
таком устройстве - это что-то из области городских легенда зачем вообще создавать дополнительные проблемы, если достаточно просто сделать отдельный блок резисторов в металлическом заземлённом корпусе ? например от сдохшего БП ПК, коих обычно навалом в офисах.
evgeny_boger
12.04.2023 07:11+3если я правильно помню историю становления компании "кингстон", они добились успеха 100% тестом всей продукции на нагрузочных стендах.
ну так и у нас 100% тест всей продукции на функциональных стендах. Вы просто почему-то считаете, что стенды на производстве обязаны тестировать вообще всё. Это не так, любой производитель поддерживает баланс между сложностью стенда, процентом ложных положительных и отрицательных срабатываний, временем тестирования.
Готов поспорить, что буквально никто не тестирует спектр встроенного 12В источника в функциональном тестировании в конвейере.
сам степ ап и есть точка отказа и КЗ, или он волшебный ?
Ну он конечно точка отказа, как и любой другой компонент. Но защита от КЗ точно должна быть (и есть) у хоста. Пойду спеку перечитаю, но по-моему для peripheral полифьюз на входе не нужен.
однозначно есть, ведь это делается за считанные секунды и гарантирует что в цепи нет пробитого диода или конденсатора
Диод там в степ-апе, он тестируется. Конденсатор параллельно схеме в степ-апе, он тоже тестируется.
а зачем вообще создавать дополнительные проблемы, если достаточно просто сделать отдельный блок резисторов в металлическом заземлённом корпусе ? например от сдохшего БП ПК, коих обычно навалом в офисах.
потому что отдельный блок резисторов в металлическом заземлённом корпусе не создаёт ценности. Ещё раз: монтажники в браслетах, курьеры на производстве не ходят, зимой на производстве работают увлажнители, в схеме везде TVS-ы и на схеме нет компонентов чувствительных к статике. Ну какие блин заземлённые резисторы, о чём вы вообще?
placidity_master
12.04.2023 07:11+1Ну он конечно точка отказа, как и любой другой компонент. Но защита от КЗ точно должна быть (и есть) у хоста. Пойду спеку перечитаю, но по-моему для peripheral полифьюз на входе не нужен.
нормальные производители на юсб порты ставят нормальную защиту от КЗ. в 90% дешёвых материнок я вижу перемычку параллельно защите. просто резистор на 0 Ом.
ещё не забываем что люди могут использовать
копеечные китайские юсб хабы,
у меня 4 штуки и НИ В ОДНОМ нет и намёка на предохранитель !
зато они бывают со своим внешним БП питающимся от 220В и обычно на 2-3 А. а платы расширения будут питаться от БП ПК, который может давать 100А на 12В, он как сварочный аппарат, мелкие КЗ, медленно прогревающие изоляцию, даже не почувствует.
https://i.imgur.com/iNX4WER.jpg
https://review.s1.citilink.ru/rev69492_513e3595e8e7c54acb829be6063c7a8a.jpg
https://www.hartware.de/wp-content/uploads/2012/04/225.jpg
вот пример расширителя у которого полифюзы не поставили, хотя место под них есть: https://i.ebayimg.com/images/g/z-4AAOSwSjpcfJkq/s-l1600.jpg
и этот же расширитель на других картинках бывает с правильным фюзами: https://i.pinimg.com/736x/78/40/54/78405436e3e942298e62982e8db5e5d0.jpg
ещё одна мысль которую я хочу донести: не все соблюдают спецификации на юсб оборудование. есть китайские поделки которые частенько опасны.
Вы просто почему-то считаете, что стенды на производстве обязаны тестировать вообще всё
да нет же, я про Ваши платки когда их после пайки ставят в корпуса.
Ну какие блин заземлённые резисторы, о чём вы вообще?
не резисторы а оборудование и корпуса, а резисторы просто надо прикрыть, чтоб случайно упавший пинцет или отвёртка не устроили КЗ.
всё ведь началось с фразы "И непонятно, что хуже — вероятность спалить технику или подвергнуть опасности человека".
и я пытаюсь объяснить простую мысль : "человек не должен быть подвергнут никакой опасности, в любом месте, в любом случае",
ещё проще "безопасность людей на первом месте".откуда у Вас появилась мысль "подвергнуть опасности человека" я не понимаю. её быть не должно. оборудование надо правильно заземлять, ОСОБЕННО в лабораториях тестирования и наладки.
и когда всё заземлено, а контакты не напрашиваются на упавшие отвёртки , Вы автоматически получаете и безопасность людей,
и безопасность оборудования.wofs Автор
12.04.2023 07:11и я пытаюсь объяснить простую мысль: "человек не должен быть подвергнут никакой опасности, в любом месте, в любом случае",
Кажется, никто не спорит с этим тезисом. А вырванная вами из контекста фраза несёт единственную мысль: гальваническая развязка не панацея от всех бед и в ряде случаев может усугубить ситуацию.
Раз из фразы это непонятно, то зачеркнул/написал рядом конкретнее.
оборудование надо правильно заземлять,
Речь про пользователей, у которых к условному ноутбуку может быть подключен китайский термостат с питанием от 230 В, у которого запросто может оказаться потенциал на шине. Никто там ничего не будет заземлять. Поэтому и явно запрещаем подключать наш адаптер к таким устройствам.
placidity_master
12.04.2023 07:11а с предохранителями у хостов на
шине юсб теперь согласны?подключен китайский термостат с питанием от 230 В, у которого запросто может оказаться потенциал на шине
по уму, опасную технику нельзя допускать к эксплуатации,
и ответственность за трупики должен нести
тот человек который ввёл в экспл. опасную технику.wofs Автор
12.04.2023 07:11по уму, опасную технику нельзя допускать к эксплуатации, и ответственность за трупики должен нести тот человек который ввёл в экспл. опасную технику.
Увы, пользователи берут что-то на алиэкспресс и используют и никакие нормы и правила им не указ.
Про предохранители пусть разработчики отвечают, я не один из них.
placidity_master
12.04.2023 07:11правка: БП ПК, на 5В может давать 30-40 А.
причём 40А даёт мой старый БП 2003 года выпуска.
тогда мощные 12В линии ещё не в моде были.
впрочем и 30А достаточно чтоб медленно прогреть
слабое место и вспыхнуть.
maisvendoo
12.04.2023 07:11+6Представителям Wiren Board давно хотел написать, вот набрел на очередную вашу статью, пользуюсь случаем.
Вот наконец я увидел российскую компанию "здорового человека", работающую современно и качественно. Пусть всякие астралинуксы и этерсофты берут пример с Wiren Board.
Недавно заказал у вас модуль аналогового ввода WBMAI6. Посылку получил за шесть дней в СДЭКе. Что сразу порадовало:
- аккуратная упаковка
- договор-счет в коробке, даже в файлик положили)
- четкие сроки доставки
Что порадовало, когда с полученной железкой начал работать:
- аккуратно изготовленное устройство
- подробнейшая документация в вики-формате
Разобрался со всем, устройство полностью протестировал, планируем уже на юрлицо заказать 6 таких устройств и кое-что еще.
Увидев контроллер автоматизации Wiren Board 7 заказал и его, и о чудо - WB не зажимает модифицированные исходники линукса, весь софт для контроллера автоматизации на гитхабе.... Я аж расувствовался. Правда у вас на складе контроллера не оказалось, вот жду месяц с оплаченным заказом - когда привезете)
Резюме - желаю успехов вашей фирме во всем, обязательно с вами посотрудничаем. Вот таким и должен быть российский разработчик, как мне кажется. Успехов и развития вам, уверен, с таким подходом вы добьетесь многого.
P.S.: С нетерпением жду WB7, будет тест и будет статья на ресурсе о тесте и о решаемой задачеТестовая система опроса датчиков давления
wofs Автор
12.04.2023 07:11Вот наконец я увидел российскую компанию "здорового человека", работающую современно и качественно.
Спасибо, мы стараемся.
Wiren Board 7 заказал и его, и о чудо — WB не зажимает модифицированные исходники линукса
На самом деле у нас самый стандартный Debian Linux, мы только отправляли свои патчи в оригинальное ядро. Поэтому на контроллере будет работать любой софт под arm архитектуру из родных репозиториев Debian.
А на Гитхабе лежит наш софт, который делает использование контроллера удобным: драйвера, веб-интерфейс и т.п.
igor_carenko
12.04.2023 07:11колпачок оказался жутко неудобным и его тяжело снимать;
А с этим пунктом в версии 2.3 что-то изменилось?
serafims
12.04.2023 07:11Ох, как не охватает утилиты для настройки реле и прочего с GUI…
Очень ждём. А это устройство очень понравилось для первоначальной настройки железок, и отладки некоторого софта на ПК, когда устройство не в системе.
aesname
12.04.2023 07:11пишите в комментариях, чтобы вы сделали так же, как мы или по-другому
Добавьте к WB-MGE и WB-MIO-E функцию PoE. Можно отдельными партномерами. Питание PoE конечно должно выдаваться и наружу на все доступные интерфейсы подключения
aumi13
12.04.2023 07:11не вижу ничего плохого в обозначении питания красным, но и зеленым тожэ нормально.
вот синий на rx/tx раздражает
индикаторы бы хорошо смотрелись на пустой стороне платы, там и места для подписи достаточно, хотя это тянет за собой двусторонний монтаж.
Atxmega
12.04.2023 07:118 лет в пусконаладке промышленных объектов дали понять что:
- Клемники выглядят красиво первый год, потом они крутятся чем попало, вставляются провода что есть на объекте. Винтовые клеммы позволяют зажать любой провод.
- Переключатель смены полярности А-В. В 30% случаев А и Б не совпадают, либо маркируются как D-/D+. Что бы подключиться к новому устройству переключатель вещь не заменимая.
- Адаптер на USB проводе. Ноутбук на коленке, в нем адаптер, от адаптера провод 1,5мм2. Разъём в ноуте и адаптере живет недолго. USB-B как самый дубовый и надежный. И позволяет взять кабель 5 метров и дотянуться куда угодно.
- Индикатор Rx/Tx удобен, но лично мне не особо нужен. Привык смотреть обмен софтово.
Результат на фото ниже. Донор болидовский с гальванической развязкой. Остальное китай.
2mik
Казалось бы, такое банальное устройство USB-RS485, а сколько нюансов! Спасибо за подробную статью.
Для настройки устройств с компьютера через Modbus Master откуда нужно взять алиасы для регистров Modbus?
AlexanderS
При разработке любой электроники будут эти нюансы и будет несколько этапов. Тут дело не в самом конверторе, а в процессе получения готового устройства.