Мы в Wiren Board разрабатываем и производим устройства для автоматизации и мониторинга, которые работают на тысячах объектах: жилых комплексах, частных домах и квартирах, сетевых магазинах и ресторанах, складах, нефтяных предприятиях и т.п.
В основном это устройства со сложной прошивкой, которая или выполняет какие-то математические вычисления (например, в датчиках), или позволяет настраивать внутреннюю логику работы устройства: реле, диммеры и т.п.
А иногда мы делаем что-то простое, но по-своему — например, преобразователь интерфейсов WB-USB485. Вы узнаете о недостатках существующих адаптеров, как мы искали идеальное решение и про весь процесс: от идеи до запуска серийного производства.
- Прототип и неожиданная проблема
- Запрос прайс-листа
- Первый блин
- Формулируем задание на разработку
- А где гальваническая развязка?
- Поиск идеального USB-коннектора
- Защищаем вход компьютера
- Задача
- Работа над ошибками
- Оформить заказ
- Корпус
- Первые серийные экземпляры
- Схема и плата
- Запуск производства
- Вторая попытка
- Поиск решения
- Ваш регион
- Цена от ₽
- Документы
- Заказать звонок
- Что в итоге
Прототип и неожиданная проблема
Проверка работы WB-USB485 на ноутбуке от Apple
Даниил долго ищет проблему: проверяет схему, разводку плат и монтаж и номиналы деталей, изучает сигналы с осциллографом и, с подачи коллеги, приходит к выводу — проблема в чипах CH343, которые мы купили для пробы в далёком 2020 году.
Чтобы подтвердить гипотезу, надо было поставить чип из другой партии, а взять негде — от производителя чипы приедут только через два месяца, а в продуктах на рынке их ещё толком не было.
Но нам удалось найти какое-то устройство на ESP32 и с чипом CH343, которое мы и купили для опытов. Это помогло — после пересадки чипа с донора всё заработало.
Получается, что в тестовой партии чипов не работал целый кусок функциональности, который WCH два года допиливала перед запуском чипа в серию.
Плата WB-USB485 и плата-донор чипа
Преобразователь интерфейсов USB/RS-485 «USB-RS485» предназначен для преобразования сигналов интерфейса USB в сигналы двухпроводного магистрального интерфейса RS-485 с гальванической изоляцией.
Электропитание ПИ осуществляется от USB-порта персонального компьютера (ПК). Работает в среде ОС Windows 2000, XP, Server 2003, Vista, Server 2008, Windows 7, Server 2008 R2, Windows 8 (x86 и x64), образуя виртуальный COM-порт.
Преобразователь рассчитан на непрерывную круглосуточную работу
– питание от USB-порта компьютера;
– работает в среде ОС Windows 2000, 2003, XP, Vista, 7, Server 2008, Server 2008 R2, Windows 8 (x86 и х64), 8.1, 10;
– индикация приема/передачи данных.
– от компьютера, не более
Скорость передачи данных, Бод
110; 300; 1200; 2400; 4800; 9600; 19200; 38400; 57600; 115200
Диапазон рабочих температур, °С
Габаритные размеры, мм
Масса, не более, кг
Запрос прайс-листа
Новое устройство показали на общей инженерной планёрке, где и решили, что будет удобно, если положить в комплект пару кабелей, с помощью которых можно подключить к преобразователю все наши устройства.
Решение казалось очевидным: взять кусок витой пары, обжать концы в НШВИ и закрутить их в ответные части клеммников. Получилось удобно и функционально: USB-свисток и пара кабелей в комплекте. В таком виде их и получили первые покупатели.
С кабелями тут мы здорово ошиблись, но об этом чуть ниже.
Первый вариант комплектации WB-USB485 v.2.2
Первый блин
Трансиверы RS-485 у нас используются примерно везде, а вот хорошие преобразователи USB-UART пришлось долго и муторно искать.
В 2020 году WCH (WinChipHead) анонсировал новые чипы CH342 и CH343. Мы на всякий случай купили все образцы, какие смогли. Покупали не напрямую в WCH, так как они тогда шугались англоязычных клиентов, а через случайного китайского агента.
Когда проектировали наше устройство в первый раз, оказалось, что чипов CH342 и CH343 ещё нет в массовом производстве, поэтому в проект заложили другой чип от WCH. Но до производства дело так и не дошло — нагрянул кризис компонентов и стало не до новинок.
Формулируем задание на разработку
Кроме стабильной работы на всех настройках подключения, нам хотелось удобства, например, сразу запитывать наши устройства от преобразователя.
Modbus-устройства Wiren Board работают в диапазоне напряжений от 9 до 28 В, а пиковая потребляемая мощность — 4 Вт. Поэтому в требованиях прописали выход 12.5 В с током до 400 мА.
Если есть питание, то хочется дать пользователю индикатор с простой логикой: горит — питание есть, не горит — что-то пошло не так, например, короткое замыкание на линии.
Устройство должно быть компактным и удобным в использовании, идеальный форм-фактор — флешка с клеммником под шину RS-485.
Обязательна работа без вендорских драйверов в Windows, Linux, MacOS и Android — для этого микросхема USB-UART должна относиться к классу CDC ACM (Communication Device, Abstract Control Model).
В итоге ТЗ на разработку выглядело так:
Задача есть — делаем.
А где гальваническая развязка?
У нас были бурные дискуссии внутри разработки, были сторонники её добавить несмотря ни на что, а были и противники. И у каждого были свои аргументы от «А если на шине будет сетевое напряжение?» до «А если шина будет на сотни метров да между разными зданиями?».
Но основное назначение WB-USB485 — настройка устройств на столе. Поэтому сетевое напряжение на шине может оказаться только при питании modbus-устройства от неизолированного блока питания 230 В. В этом случае на A/B шины окажется 110 В сетевого напряжения, попавшие туда через среднюю точку конденсаторов.
Тогда возможно два сценария развития событий:
И непонятно, что хуже — вероятность спалить технику или подвергнуть опасности человека. Конечно, люди важнее, чем техника.
Ещё довольно дорого сделать гальванически изолированный БП на 5 Ватт, и он точно не уместится в компактном корпусе.
В итоге мы решили гальваническую развязку не делать и в документации явно про это сказать, а ещё предупредить, чтобы не подключали к длинным линиям и к странным китайским устройствам с питанием от 230 В.
Поиск идеального USB-коннектора
Изначально хотели поставить ТНТ USB-коннектор — это когда ножки впаиваются в отверстия на плате, так прочнее. Выбрали самый низкий и узкий, но он оказался чуть-чуть выше, чем надо и корпус собирался с трудом.
В итоге нашли то, что нужно. Купили, проверили — собирается в корпус. На радостях заказали 300 штук, а позже выяснилось, что эти коннекторы плохо контачат с потертыми USB-портами компьютера.
USB-коннекторы слева направо: ТНТ, дешёвый SMD, Molex и финальный вариант
Предположили, что так себя ведут дешевые коннекторы, поэтому купили самые дорогие в Компэле от Molex — работают идеально, но стоят недешево.
Продолжили поиски: долго ковыряли LCSC в поисках коннектора с подходящими габаритами, нормальными материалами, известным производителем и не подозрительно маленькой ценой. Нашли, купили образцы, проверили, заказали много штук на склад.
Защищаем вход компьютера
У нас так устроены процессы, что над задачей разработчик работает сам и привлекает коллег в двух случаях: если ему нужна помощь или хочет что-то показать.
Как только мы получили первый рабочий экземпляр, пришло время показать его всем. Обычно в такие моменты выясняются неожиданные детали, о которых разработчик не подумал.
Так случилось и в этот раз — кто-то из коллег сразу заметил, что в устройстве есть вероятность сломать компьютер, к которому подключен преобразователь интерфейсов, если подключить устройство к действующей шине RS-485, где устройства питаются от 24 В.
Решили сделать защиту. Максимальное напряжение питания наших устройств 28 В постоянного тока, поэтому сделали защиту до 30 В.
Так появилась версия 2.2. На этом этапе был уже рабочий преобразователь интерфейсов, который умел питать наши устройства напряжением 12 В постоянного тока с индикатором и имел защиту от случайного подключения к действующей шине.
Кусочек схемы с защитой
Задача
Периферийные устройства Wiren Board работают по протоколу Modbus RTU, а значит, их можно использовать с любым контроллером или SCADA, если они поддерживают Modbus.
Но особенность в том, что наши устройства многое могут, поэтому перед использованием их надо как-то настроить. Например, в модуле WB-MR6C v.2 можно назначить управление любым выходом от любого входа — и всё это в разрезе четырёх типов нажатий. Ещё есть безопасные режимы и разные типы выключателей, подключаемых к входам.
При использовании контроллера Wiren Board устройства настраиваются через его веб-интерфейс, а если контроллера нет — настраивать надо с компьютера.
Настройка реле WB-MR6C v.2 из веб-интерфейса контроллера Wiren Board 7
Настройка реле WB-MR6C v.2 через Rilheva Modbus Poll на компьютере с Windows
И если с софтом всё более или менее понятно, есть та же Rilheva Modbus Poll для Windows или консольный modbus_client для Linux, то с преобразователями не всё так хорошо.
Например, мы регулярно получали от пользователей сообщения, что купленный на Алиэкспресс преобразователь за 200-500 рублей почему-то не хотел работать или на нужной скорости, или с двумя стоповыми битами, которые по умолчанию использовались в наших устройствах до 2022 года.
Работа над ошибками
Даниил перерисовывает схему и плату, где меняет цвет светодиода питания на зелёный и добавляет ещё два: оранжевый TX и синий RX.
Инженерные образцы, сверху вниз: v2.0, v2.2 с напаянными на трансивер индикаторами RX/TX, v2.3
Пока едет новая плата, думаем, что делать с комплектными кабелями.
В первом варианте мы использовали кабель ParLan Patch U/UTP Cat5e PVC 2х2х0.35 мм кв., у которого всего 2 витых пары, но довольно упругая изоляция и пластиковая жилка внутри.
Решили, что станет лучше, если мы удалим изоляцию и всё лишнее, оставив только провода. А чтобы они не разваливались, мы их скрутим в жгут.
Попытка сделать гибкий кабель без изоляции
Вышло, честно сказать, плохо. Решили заказать обычный тоненький четырёхпроводной кабель без витых пар 26awg Black 4 Cores — кабели короткие, поэтому в витой паре нет совершенно никакой необходимости. Зато результат получится классным: тоненький гибкий проводок чёрного цвета.
Слева — первая версия кабеля, справа — вторая
Во всех устройствах на складе из пробной партии кабели мы тоже поменяли, заменили и коробку на более компактную и крепкую. Таким образом первые пользователи получили устройства с нормальными кабелями и одним красным индикатором, вместо трёх разных цветов.
К моменту прихода большой партии WB-USB485 v2.3, модули v2.2 уже разлетелась и следующие пользователи получили уже по-настоящему классные устройства: в комплекте с удобными кабелями, индикаторами обмена на шине и питания, а также в компактной коробке.
Две версии WB-USB485: слева v2.2, справа — v2.3
Оформить заказ
Нейминг моделей у нас нехитрый:
Это устройство мы назвали также просто — WB-USB485, он лишь преобразователь интерфейсов и не ограничен только Modbus.
Типография у нас своя — это позволяет оперативно печатать нужное количество наклеек и оперативно вносить изменения, если сменилась версия устройства, появилась новая функция или закралась ошибка.
Первые образцы наклеек с ошибкой — это преобразователь интерфейсов, а не Modbus-адаптер
Плоттер Graphtec CE7000-40
Корпус
С корпусом определились быстро — мы как раз в прошлом году запустили производство сетевых адаптеров для холодильных контроллеров и там использовали корпус, похожий на флешку. Его и решили использовать в проекте, после небольшой доработки на фрезерном станке.
Будущий корпус устройства
Первые серийные экземпляры
Пока шла подготовка к серийному производству, мы заказали пробную партию плат в 100 штук, чтобы положить немного на склад для изучения спроса и сбора обратной связи.
Партия не настолько большая, чтобы отправлять её на контрактный монтаж, поэтому мы смонтировали SMD компоненты у себя на производстве с помощью установщика SMD-Taxi. Выводные компоненты паяли, как обычно, вручную.
Установщик компонентов SMD-Taxi, используем для небольших партий плат до 30 000 точек пайки
Панель с платами WB-USB485 v2.2, партия A
WB-USB485 v.2.2 в сборе
Схема и плата
Прошли те времена, когда мы прототипы устройств собирали на самодельных платах — сейчас платы сразу заказываются на заводе небольшими партиями.
Обычно процесс выглядит так: инженер рисует схему в Eagle, обсуждает с коллегами, потом там же разводит плату и размещает заказ на 10-20 штук в Резонит.
Если устройство небольшое, как в нашем случае, то детали на первые пару образцов паяем вручную.
Создание схемы в EAGLE
Запуск производства
Как только появляется рабочий прототип и мы принимаем решение запускать устройство в серию, начинается самое интересное — запуск серийного производства.
Страница устройства в интернет-магазине
Техписатели пишут документацию, отдел продаж готовит страницу в интернет-магазине с описанием и фотографиями, разработчики устройства пишут инструкции для производства, а отдел выходного тестирования разрабатывает и изготавливает стенд функционального тестирования.
Почему нельзя просто собрать устройство и потом менять по гарантии, если оно не работает? На это есть сразу несколько причин:
Сообщение на портале поддержки с описанием процедуры замены неработающего устройства
Поэтому у нас каждое выпускаемое с конвейера устройство проходит функциональное тестирование на специальных стендах, а результаты заносятся в базу данных с привязкой к серийному номеру. Подробнее о проблеме надёжности и как мы боремся с вероятным браком, читайте в статье Про надёжность устройств.
Стенд тестирования WB-USB485 проверяет:
Монтажнику на производстве достаточно воткнуть устройство в USB-порт стенда, подключить клеммник RS-485 и нажать большую красную кнопку — остальное происходит автоматически.
Стенд выходного тестирования WB-USB485 на производстве
Вторая попытка
И вот мы неожиданно обнаружили, что чипы CH343G стали свободно доступны, есть у всех поставщиков и стоят недорого — мы реанимировали проект.
Дело было в апреле 2022 года, когда измотанный пандемией рынок электронных компонентов накрыла волна логистического ужаса и отмены поставок. Поэтому мы всей компанией пытались не допустить остановки производства: делали новые ревизии устройств с ещё доступными в продаже компонентами, подбирали аналоги, закупали компоненты впрок и т.п. Подробнее про то, как всё это происходило, читайте в нашем докладе Новости Wiren Board. Как мы теперь покупаем компоненты.
В этот период избежать простоя конвейера нам очень помогло то, что компоненты закупаем мы сами, у нас на складе всегда есть запасы на несколько месяцев, а само производство находится в России.
Наш склад компонентов
Но нам удалось найти человека, который смог взяться за проект преобразователя интерфейсов и довести его до конца!
Проект поручили молодому инженеру-электронщику Даниилу Баркову, который на тот момент уже работал в компании пару месяцев и успел за это время разработать и собрать пару стендов для проверки реле на пусковые токи.
Один из стендов, собранных Даниилом для тестирования реле
Поиск решения
Сперва мы хотели решить задачу просто: привезти кучу хороших преобразователей интерфейса, растаможить, заплатить налоги и продавать с минимальной наценкой и гарантией, указав «Сделано в Китае».
Но оказалось всё не так просто: где-то нет выхода GND, где-то и правда проблемы со стоповыми битами, какие-то требовали установки драйверов вендора.
Ещё для стабильной работы преобразователя на любых скоростях, трансивер должен явно переключаться на передачу и приём. Для этого микросхема USB-UART должна иметь специальную ножку, которая будет сигнализировать об окончании передачи.
Но таких микросхем мало, да и чаще всего производители просто ставят RC–цепочку и инвертор, а потом пытаются угадать направление по напряжению на TX. В итоге оно зависит от скорости передачи: может слишком поздно переключиться на приём и терять начало ответа, либо наоборот — включать приём в середине передачи пакета.
Осциллограммы передачи пакета без явного переключения направления передачи и с явным (в нормальном размере)
Преобразователи интерфейсов USB-RS485 с Алиэкспресса
Поэтому мы вспомнили старую пословицу «Если хочешь, чтобы что-то было хорошо — сделай всё сам». Так началась работа над «Адаптером USB-RS485», который впоследствии получил имя WB-USB485, но обо всём по порядку.
Ваш регион
Цена от ₽
Скидка предоставляется на оптовые партии при указании
адреса объекта
Конвертеры RS-485/USB предназначены для подключения устройств с интерфейсом USB к локальной сети
RS485.
Основная задача преобразователя — адаптирование типа данных с различающимися протоколами, передающихся в системе. Это нужно для удачной расшифровки и принятия данных элементом, имеющим другой протокол. Такой конвертер интерфейсов определяет тип протокола, выбирает алгоритм согласования и непосредственно меняет структуру передаваемых данных.
Документы
https://www.youtube.com/embed/
Заказать звонок
Инженеры-электронщики работают у нас на производстве, а вот большая часть команды — удалённо. Поэтому до старта продаж устройства у нас проверяли сами разработчики и техписатель при написании документации.
Красный индикатор питания в версии 2.2 и жёсткий кабель для подключения устройств
После того, как устройство стало доступно в интернет-магазине, инженеры заказали их себе и дали обратную связь:
Обсудили замечания на общей планёрке и решили поправить, а на будущее внесли в инструкцию по выпуску новых устройств пункт, который предписывает отправлять удалённым сотрудникам образцы из тестовой партии. Здесь логика проста: чем больше человек, не вовлечённых в процесс разработки устройства, его пощупает — тем лучше.
Что в итоге
В результате мы получили то, что хотели, — компактный преобразователь интерфейса с настоящим RS-485 в удобном форм-факторе с выходом питания на 12 В постоянного тока. В нём есть защита от случайной подачи напряжения до 30 В, индикатор питания и перегрузки по току и два индикатора обмена данными.
В комплекте с устройствами два кабеля, подходящие ко всем нашим устройствам. Не нужно ставить драйвера на Windows, Linux, MacOS и Android.
Судя по отзывам и продажам, пользователям тоже понравилось.
Настройка реле с измерением мощности WB-MRWM2 через WB-USB485
Но впереди ещё много работы. Например, сейчас для настройки устройств с компьютера люди используют неудобный софт, где надо регистры прописывать вручную по табличкам.
Мы немного облегчили их труд шаблонами под Rilheva Modbus Poll, но это всё не то. Однажды мы сделаем удобный конфигуратор наших устройств, который будет использовать шаблоны от нашего драйвера.
Так сейчас выглядит настройка диммера Wiren Board в Rilheva Modbus Poll с использованием наших шаблонов
На этом всё, пишите в комментариях, чтобы вы сделали так же, как мы или по-другому. А лучше приходите к нам работать, будем делать интересные штуки вместе — мы как раз ищем инженера-электронщика в отдел выходного тестирования.
Если вы просто интересуетесь автоматизацией, производством электроники и чем-то таким — приходите 21 и 22 апреля 2023 г. на нашу конференцию и выставку WBCE 2023. Там мы с партнёрами покажем новинки, расскажем много интересного и обязательно организуем для вас живую экскурсию по нашему офису и производству.