Опыт производства партии Wiren Board Smart Home
Краткая предыстория
На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home, к которому можно подключить кучу проводных и беспроводных устройств от разных систем и производителей. В устройстве есть ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2 реле, ASK/FSK радиомодуль 433MHz, NRF24L01 — полное описание здесь.
В конце февраля мы представили опытный образец и открыли предзаказ на контроллер. Как прошёл предзаказ, как мы изготовили партию устройств и что будем делать дальше — читайте под катом.
Предзаказ
Начать продавать устройства по предзаказу было для нас очень непростым решением. Пользователям приходится покупать устройство, не видя его вживую, нам — очень сильно стараться, чтобы оправдать огромное доверие. Чтобы убедить будущих покупателей в возможностях устройства, мы даже сняли видео про его работу.
Вторым вариантом запуска устройства, который мы рассматривали, был предзаказ без оплаты — один раз мы уже проводили его, когда запускали обычную Wiren Board. В теории, этот способ позволяет оценить спрос и требуемый объём партии. Но очень уж этот метод не точен — в прошлый раз количество реальных покупателей составило меньше трети, поэтому в этот раз мы решили проверить реальный спрос.
В общем, волновались мы сильно, но результат получился неплохой — мы собрали больше сотни оплаченных (!) предзаказов, и решили готовить партию из 200 устройств.
Запуск партии
Организовывали производство партии мы не впервые — раньше мы уже собирали 55 штук Wiren Board rev. 2.8. Но тогда задача была гораздо проще: платы хоть и собирались на заводе, но ручным монтажом; процессорные модули мы вообще закупали готовые. В этот раз мы собирали всё устройство сами, с автоматическим монтажом.
Компоненты
Первое, что нужно было сделать — закупить компоненты и заказать печатные платы.
Закупку большинства компонентов делали в Элитане, чуточку в Китае, чипы памяти и модемы в МТ-Систем. Процессоры пришлось закупать из-за рубежа. И вот с ними случился наш самый большой просчёт — менеджеры обычно идеально работавшей компании Farnell сначала не смогли сформировать заказ на процессоры, подпадающие под минимальные экспортные ограничения, а во время согласования всех разрешающих бумаг то уходили в отпуск, то просто не отвечали. Промучавшись с ними лишний месяц, мы сделали заказ на Digikey, за день подписали все бумаги, и на третий день наш заказ уже летел из Штатов в Россию.
Именно неприятная история с процессорами послужила главной причиной срыва нами сроков отгрузки — во время предзаказа мы обещали разослать первые устройства в начале мая, но смогли это сделать только в конце месяца.
Платы
Печатные платы заказывали в HQEW. До этого у них не заказывали, но товарищи COOLRF отписывались о них хорошо. Судя по статусу заказов на их сайте, они изготовили их быстро, а потом довольно беспричинно затянули отправку. Пришлось писать гневные письма менеджерам и на почту, и в скайп, которые они дружно игнорировали (надо отметить, что до того, как мы заплатили им деньги, отвечали они мгновенно).
В конце концов они всё-таки ответили, извинились и отправили заказ.
Качество плат
На сайте заявлена очень высокая точность изготовления. Но по факту они зачем-то убрали маску между контактными площадками с шагом 0,5 мм (мостик маски 0,15мм) — хотя те же Резонит и Seeed Studio их делали. Больших проблем с монтажом это не вызвало, но осадочек остался.
Слева — плата из Резонита, справа — из Китая. Обратите внимание на убранную паяльную маску вокруг площадок на втором фото.
Монтаж
Автоматический монтаж делали в Туле — фирма МТ-электро. Попросили смонтировать побыстрее — сделали очень быстро, хотя на стоимости это сказалось.
Выводной монтаж сначала делали силами своего сотрудника — уходило всего по 20 минут на плату. Но ему это дело быстро надоело, и пришлось нанять стороннего монтажника.
Корпус
Десяток корпусов в настольном варианте сделали из двух пластин оргстекла на стойках (первое фото в статье). Воспользовались услугами лазерной резки на Seeed Studio.
Пластиковый корпус на DIN-рейку покупали стандартный — Gainta D6MG. Он требовал небольшой доработки — нужны были прорези под SIM- и microSD-карту, кнопку, и чуть подрезать под USB разъем. Можно было заказать доработку, но зачем? Если в углу пылится чпу станочек :). Ставим горизонтально шпиндель, делаем упоры для корпуса — и фрезеруем аккуратные отверстия.
Тестирование
Для тестирования собранных устройств написали скрипт, который опрашивал чипы, щелкал релюшками, проверял передачу данных по RS-485 и т.д. Оказалось, что в партии трансиверов RS-485 до 20% брака (а таких трансиверов на плате две штуки). Повезло, что бракованные чипы были в корпусе SOIC-8 и менять их было просто и быстро.
Эти трансиверы мы покупали в Платане, на наше гневное письмо они так и не ответили. С остальными компонентами таких проблем не было.
Этапы производства со сроками
- 1 марта заказали платы
- 20 марта платы прибыли посреднику на границу
- 5 мая доставлены нам
- 7 мая отправили на монтаж
- 17 мая получены собранные платы.
- 25 мая начата отправка устройств
- 15 июня закончена рассылка по предзаказу
До производства
Еще в процессе тестирования образцов были обнаружены пара серьезных багов:
- Процессорные модули иногда не проходили тест памяти.
Проблема решилась правильным выставлением таймингов для памяти. Проблему искали очень долго (больше недели) и из-за этого задержали заказ плат. Усугублялось всё тем, что ошибки в тесте появлялись иногда после десятков минут тестирования и на эти ошибки влияло вообще всё, поэтому изначально мы грешили на какие-нибудь наводки. Оказалось, что новая модель чипов памяти имеет немного другие тайминги, и надо поправить их в коде. - Контроллер перезагружался каждые 7 часов.
Чип питания LTC4002 для удешевления мы заменили на его почти полный китайский аналог EUP8207, который работает точно также, но выключается каждые 7 часов :).По документации LTC4002 тоже выключается каждые три часа (цикл зарядки аккумулятора), но эти выключения на работу не влияют (чип выключается, напряжение на выходе падает до 4.0 В и чип заново запускает цикл). Китайский клон выключался совсем, и тормозил с включением (чуть ли не на сотни миллисекунд). Танцы с бубном и конденсаторами не помогли, пришлось вернуться к прежнему варианту.
- И уже после получения партии обнаружили очень «замечательный» баг: При включении контроллера с помощью кнопки с некоторой вероятностью (от 10 до 95% для разных плат) процессор намертво зависал.
Причём такое никогда не наблюдалось, если включать втыкая штекер питания.
Тут проявилась известная проблема процессора IMX233 — капризность к питанию.
При включении кнопкой возникала небольшая помеха на линии 5В, которая вызывала его зависание. Проблема легко решилась заменой в нужном месте конденсатора с 10 мкФ на 1 мкФ, но, как говорится, осадок остался.
Сейчас
Первые покупатели уже успели поработать с контроллерами — можно сказать, что с железной частью получилось более-менее хорошо.
С ПО пока всё хуже: пока не готова поддержка “из коробки” для внеших устройств на Modbus, из устройств по радио на 433 MHz поддерживаются разные датчики Oregon Scientific и устройства Noolite. На контроллере есть нативный простой веб-интерфейс, где можно управлять подключенными устройствами и смотреть показания датчиков. Кроме этого работает гейт в облачную систему Ninja Blocks, где можно создавать сценарии и правила, смотреть историю и т.д.
Поддержку локальной (не облачной) системы с правилами и историей собираемся скоро доделать, в первую очередь будет реализована работа с Domoticz.
Что дальше
Мы получаем неоценимую помощь от наших пользователей на форуме, которые тестируют обновления, и помогали нам с поддержкой устройств дампами радиообмена.
Но, к сожалению, хотя весь софт у нас и открытый, в разработке ПО пока никто из пользователей не поучаствовал.
Сейчас у нас есть некоторая проблема в том, чтобы самим реализовать и протестировать работу устройства со всевозможной периферией. Мы постоянно над этим работаем, но надеемся на помощь со стороны хабрасообщества.