19,3
рейтинг
12 января в 09:01

Путь от макета до серийного изделия

Приветствую читатель!

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

Я хочу вам рассказать свой опыт создания серийного устройства (пока <1000 шт).

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

Устройство
Идея устройства была проста и хороша. Когда я занимался майнингом, мои фермы (на базе ПК) частенько зависали, это толкнуло меня на поиски аппаратного сторожевого таймера (Watchdog). Меня удивила большая стоимость таких изделий (на начало 2014 года самое дешевое решение стоило 800р), а также устаревшая схемотехника (soft usb, atmel/pic, миллион компонентов). Решил сделать свой велосипед… Накидав макет я сделал и заказал платы.

Первая версия V1.0 USBWatchDog выглядела так

Связка CP2102 + младший STM32F0 (на момент разработки в сумме в розницу 70р), оптопары, транзисторы, разъемы, рассыпуха. Платы были заказаны на общей заготовке (по 20шт) неразделенные на seeedstudio.com. Тогда ради пары тысяч экономии я был готов разделять платы дремелем (теперь ни за что!!!).
Оглядываясь сейчас на первую версию могу сказать, что она была сделана крайне не оптимально — связка CP2102 + МК, много компонентов для перестраховки, много точек пайки, ошибки в схемотехнике. Первая версия содержала 32 компонента (с 2х сторон) и 140 точек пайки.

Основные выводы, которые я сделал после изготовления вручную 150 плат первой версии:
— платы должны быть либо отдельно, либо в панели (разделенные на перемычках). Разделить вручную можно 2-10, но не 150.
— компоненты подбирать так, чтобы можно было паять либо только паяльником, либо только феном. Для ручной пайки QFN — зло. Опять же можно поставить 10-20 микросхем, но не 150.
— схемотехнических ошибок допускать нельзя (нужно макетировать и на 100 раз все перепроверять). Припаять 150 перемычек это боль, да и вид изделия уже не торт, можно ошибиться так, что платы в мусор.
— 10ти кратный запас по компонентам излишен. Подбирать элементы с умом. Лишний транзистор при партии 150 штук это 150 транзисторов. А в стоимость конденсатора входят 2 точки пайки, которые на порядок дороже его самого.
— обязательно нужен стенд + ПО для прошивки/проверки. Очень много времени теряется на неподготовленное тестирование.
— провода подключения — это отдельная боль. Нужно искать либо готовые, либо конторы, которые их делают.

Версия V1.1 тираж 100 плат.

Были решены некоторые проблемы:
— платы стали отдельными.
— подправил схемотехнику — стала легче сборка.
— убрал некоторые «лишние» компоненты.
В итоге 21 компонент (с 2х сторон) и 110 точек пайки.
На этой партии у меня появился монтажник — замечательная девушка, паяющая без косяков, быстро и красиво (Катюха привет!!!). И я немного расслабился ведь тиражирование теперь ее проблема, но потом она уехала и пришлось опять оптимизировать и включать голову… так появилась v2.0.

Версия V2.0 тираж 150 плат.

Основные изменения:
— ушел от связки CP2102 + МК в пользу STM32F042 в копусе LQFP32 с интегрированным usb. Такой МК ставится паяльником, что ускоряет монтаж и сводит брак к нулю.
— добавилась система питания 5->3,3В.
— добавили дублирование выходных каналов для подключения внешних кнопок.
— сократили номенклатуру устройств — склад стал оптимальнее.
— нашли производителя проводов для подключения. Как гора с плеч.
Итог 22 компонента (с 2х сторон) и 105 точек пайки.
Продолжало беспокоить сложное подключение устройства для реализации главной «фишки» нашего устройства — функции ВЫКЛ/ВКЛ для материнских плат, которые при зависании не перезапускаются кнопкой RESET. Необходимо было подключение внешнего источника (например дежурных +5В).

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

Lite и Pro тираж 500 плат.

Идея была в разделении устройств на минимально функциональное и полнофаршное.
Главные изменения:
— панелизация по 10 шт — облегчило монтаж.
— переход на 20 ногий STM32F042 + изменение схемотехники.
— у Lite односторонний монтаж.
— у Pro резервный источник на борту. Теперь нет проблем с подключением.

Итого Lite 12 компонентов (с одной стороны) и 50 точек пайки.
Pro 23 компонента (с 2х сторон) и 90 точек пайки.

Если обобщить проблемы, возникающие при большом тиражировании, то получится следующий список:
  • Комплектующие Быстро достать большую партию микросхем за вменяемые деньги не так то просто (особенно для частника). Сейчас мы пользуемся услугами Элитана, ЧипДипа (кто бы мог подумать), Платана(пассивка) и Китаем (если позволяют сроки, и поставщик проверен).
  • Производство плат Сначала заказывали в Китае (seeedstudio.com), но при текущем курсе рубля Резонит выгоднее. Самый простой пункт.
  • Монтаж Самый оптимальный путь по моему мнению — сначала паять самому(понять все косяки и исправить их), затем отдать стороннему монтажнику (сейчас цены порядка 0,7-2р за точку). Далее можно отдать на автоматический монтаж (например в тот же Резонит). Довольно дорогая подготовка (на момент публикации статьи 11000р) и точка пайки до 0,5р. При монтаже на автомате (и у некоторых монтажников) 2х сторонний монтаж стоит денег (у Резонита 2000р), поэтому монтаж платы, у которой все элементы на одной стороне, дешевле.
  • Настройка/проверка/упаковка На начальном этапе хорошо, когда этим занимается сам разработчик — он начинает понимать все проблемы своего изделия и может их исправить. По написанной инструкции и на настроечном стенде эту работу может делать специально обученный человек.

Вот такой большой путь маленького устройства! Хочется отметить, что описан пример из личного опыта, довольно простого устройства одноплатного и бескорпусного — идеальный вариант для обучения.
Владимир @vladimir_open-dev
карма
31,0
рейтинг 19,3
Инженер
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (79)

  • 0
    Как пользователь, постоянно работающий с платежными терминалами скажу:
    В Вашем устройстве не хватает управления питанием модема, т.к. самая частая проблема, решаемая сторожевиком — зависание GSM модема.
    А в идеале возможность управлять питанием пары произвольных устройств (220В до 6А).
    • +1
      В pro версии эта возможность есть при использовании приставки.
    • +1
      Это от 4 (минимальная схема) до примерно 10 деталей на 2 канала. Оптосимистор типа MOC302x и силовой ключ типа BTAxxxxx.
      • 0
        да, что-то похожее, только на реле.
        • 0
          Принципиально на реле (а не симисторах) или так сложилось исторически и что первое под руку попалось?

          У MOC3026 (если не ошибаюсь), есть преимущество: они включаются при переходе через ноль.
          • +1
            реле более универсально — это просто контакты причем могут быть на размыкание и на замыкание, семисторы/транзисторы сложнее
            • 0
              Размыкание я не учёл :)
              • 0
                а еще реле работает и на переменном токе и на постоянном.
  • –13
    Очень сухое изложение, без каких-либо деталей и пояснений. Больше похоже на рекламу.
    • +9
      Как раз об этом я и спорил со своим партнером при редактировании статьи: он настаивал на том, что детали никому не интересны, я на обратном. Но изначальная статья была очень большой. А где вы здесь рекламу нашли? Разве что упоминается seeedstudio, резонит и магазины электроники, но это как раз и есть конкретика.
      • –14
        У Вас на картинках написан сайт и название изделия.
        • +19
          Не видел до этого комментария.
    • +10
      Даже если это и реклама, то это очень целевая реклама для айтишников — без пафоса и битья в грудь пяткой. Да, можно было бы добавить схемотехники и кода устройства, но если продукт коммерческий, то достаточно рассказать о его возможностях. А вот описания возможностей не хватает. Хотелось бы видеть: комплектация вот такая. Подключаем провода power и reset вот сюда и забываем о глюках.
      Мне вот такой watchdog крайне нужен на один из серверов — до сих пор не отловил все глюки, которые приводят к крашу сервака, а поднимается он автоматом после перезагрузки.
      Где купить?
      • –5
        Так для этого существуют корпоративные блоги. А здесь не хватает исходников на github, раскрытого рассказа о проблемах которые были в процессе изготовления.
        • 0
          Так давайте автора попросим добавить, тем более он говорит, что все это было, но решили сократить. Автор, просим исходников.
          Сайт с продуктом нашел, буду заказывать. А до корпоративного блога никогда бы не дошел, ибо просто не хватит времени перелопатить первые несколько страниц поисковика по выдаче «watchdog». А тут можно прямо пообщаться с разработчиком. Тем более отечественным.
          • +5
            Исходники не в рамках этой статьи. Суть этой статьи описать проблемы тиражирования на примере маленького устройства.
        • +2
          Вы что-то попутали. Исходники — это уже на Хабр…
  • +3
    > довольно простого устройства одноплатного и бескорпусного

    Для USB-устройств корпус всё же нужен. Тем более что устройство предлагается в противовес к «сляпанным за вечер поделкам из arduino и проводков».
    • +3
      Такие штуки обычно суют в прозрачную широкую термоусадку и обдувают. Вполне приемлемо и крайне просто.
      Увидел как-то на китайском преобразователе USB<-->RS-232 и засунул также всякие JTAG-и и программаторы.

    • +2
      теоретически, если заменить разъём USB, то можно прямо в порт матери внутри корпуса втыкать :)
      • 0
        и такое есть:) это как раз внутренняя версия.
  • –1
    Да, у меня тоже была такая идея ×
  • +3
    Корпус бы вам не помешал, тем более в вашем случае — никаких дополнительных обработок и сверлений под кнопки и т.п.

    Посмотрите из готовых
    1) Для лайт http://ru.aliexpress.com/store/product/20-pieces-a-lot-small-plastic-USB-enclosure-40-17-10-mm-1-57-0-67/1006252_1623217148.html
    2) Для про http://ru.aliexpress.com/store/product/20-pieces-a-lot-plastic-enclosure-80-26-16mm3-15-1-18-0-63inch-plastic-junction/1006252_1917173839.html
    • +1
      Спасибо за корпуса — они до сих пор остаются моим детским страхом, будем пробовать. В свою защиту скажу, что обычно наши устройства ставят в терминалы, и заказчикам корпус не важен.
      • +1
        корпус это не только эстетика, но и защита цепей от пыли, влаги :)
  • 0
    Железка интересная но все таки не совсем понятно что она делает. Ватчдог для чего и как? Как бывший майнер я тоже помню эти вечные проблемы с тем что фермы висли, но висли они обычно или наглухо, или почти наглухо и решение было простым до идиотизма на ком порт вешали простенькую аврку, которая слушала порт, а на компьютере кидали програмку которая раз в минуту кидала буковку «А» на порт, и если буквы перестали приходить то аврка ребутала систему. Собирали на коленке и быстро, и точную реализацию уже не помню. Но помню что этот ватчдог в итоге выкинули, а столкнулись с тем что нужно было отслеживать отвалившиеся видеокарты на фермах и их каким то образом ребутать, с этим уже не стали заморачиваться… Ферм было не много, и проще было вживую глянуть через тим вьювер.
    P.S. А цены тогда рисовались не от стоимости комплектующих, а от спроса потребителей, а как известно чем популярнее товар, и чем больше на него спрос тем выше маржу хочет производитель. Да и майнеры особо не напрягались и спокойно платили эти сверхвысокие цены :) Часы простоя были обычно в разы дороже.
  • +1
    Скажите, а девайсина именно для майнеров или покупают для произвольных целей? Интересна экономическая и маркетинговая сторона Вашего проекта.
    • +1
      Для произвольных целей. Сейчас покупают для терминалов, майнеров, серверов и даже для своих поделок. Воодушевлялись майнерами.
  • +1
    Не явный посыл всей статьи: «Если собрано на STM, то — это уже не „поделка из говна и палок“».
    • +3
      Отнюдь. Если скажете мне сравнимый по стоимости МК отличный от STM с аппаратным USB я переделаю устройство под него.
      • +1
        Чем аппаратный в данном применении лучше софтового? А вот от LDO вы смогли бы избавиться :)
        • 0
          тем, что софтовый зависнет вместе с компьютером :)
          • 0
            Вы о чем?

            Я имел ввиду софтовую реализацию USB на стороне микроконтроллера, почему она должна зависнуть?
            У МК есть свой watchdog, который следит за работой контроллера и при необходимости сбрасывает его.
            • 0
              А зачем? Какова разница в цене между чипом с аппаратным USB и без? Оправданна ли копеечная экономия?
              • 0
                На вскидку без внимательного поиска сильно дешевого камня:

                STM32F042 — в ЧиД от 40 шт. — 189.19
                ATtiny45 — в ЧиД от 44 шт. — 80.90р

                И разница в 8 точек пайки вместо 20.

                + стоимость XC6206, по efind 20 c копейками и поставка от 4 недель

                Итого разница более чем в 2 раза.

                Вот тут описано подключение:
                electronics.stackexchange.com/questions/84663/firmware-circuit-of-attiny45-direct-usb-2-0-connection
                • 0
                  посмотрел на AVR с USB… Минимум 32 ноги…
                  • –2
                    Посмотрел погоду, сегодня -2 в Москве.
                    • +1
                      Остроумно. Мне, собственно, было любопытно: а сгодятся ли атмеловские чипы с аппаратным USB на борту для этой схемы. Беглый поиск показал, что AVR с аппаратным USB имеет 32 ноги — т.е. 32 точки пайки. Против указанных выше 8 либо 20 использовать такое неразумно, на мой взгляд. Замена не удалась.
                      • 0
                        Мы ведь говорили про сравнение цены устройства с софт USB и железным. Речи о AVR с аппаратным USB вообще не шло. Я не понял к чему вы о нем упомянули.

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

                        Если мы перешли на поиск контроллера с аппаратным USB и наименьшим числом ног, посмотрите на ATSAMD11C14, там 14 ног против 20, только какая разница, если в итоге используется только 2 GPIO порта.

                        www.atmel.com/devices/ATSAMD11C14.aspx
                        • 0
                          Почему вдруг чип на старом техпроцессе выходит дороже нового?

                          А что до старых процессов — промышленные системы управления и военные работают только на них: высоких требований к производительности нет, а надёжность выше.
                          • +1
                            Я же написал: потому, что кристалл больше по площади.
        • +1
          Тем, что аппаратный USB — это аппаратный USB…
          Наш программист бы вам оду написал о том, как программный USB устроил аварию на подстанции в Чебах из-за набежавшего бита за месяц.
          • 0
            Я не спорю что аппаратный USB это красиво с инженерной точки зрения и правильно, а софтовый это моветон.
            Но причем тут подстанция в Чебоксарах и что за бит там набежал?

            Какие он дает преимущества за эти деньги?
            Насколько я понимаю, вы реализуете простейший CDC класс и по получению пары байт от ПК сбрасываете таймер на МК. Если на МК таймер переполняется, то вы поедете сигнал сброса через GPIO. Я так понимаю что после пересброса ПК, контроллер тоже перезагружается из-за сброса питания на USB порту.

            Итого самое страшное, что может случиться — неоправданный ресет ПК/терминала и тд.
            • +3
              Я это все к тому, что нужно стараться делать хорошо, а плохо оно само получится.
              • 0
                Тут спору нет, такой подход вызывает уважение, и на мой взгляд он единственно верный.
      • +2
        Но, я не об избыточности или стоимости.

        Я о том, что вчерашние ардуинщики, переходят на STM, при этом многие проекты так и остаются «поделками из говна и палок». (предыдущие посты читал, речь не о вас естественно ).
        • 0
          Спорить не буду — действительно так бывает.
      • 0
        ATmega есть со встроенным USB, но насколько они отличаются по цене — судить не берусь.
  • 0
    а какая конечная цена для потребителя Lite и Pro версии?
  • +1
    добавилась система питания 5->3,3В.

    на чём делали, если не секрет
    • +1
      не секрет: сначала на lp2980, теперь на XC6206.
      • 0
        Посмотрите так же MCP1700T-33[XXX/XX]
        Через тот же ЧиД дешевле.
  • +4
    Делал подобное устройство в далеком 2003 году по заказу одной компании для терминалов оплаты и банкоматов. Разошлось общим тиражом более 10 тысяч штук. Устройство отслеживало и устраняло зависания компьютера, GPRS модема, плюс функционал по удаленной блокировке, перезагрузке терминала, отображению сообщений. Думал тема умерла уже, ан нет — жива.
    • 0
      А чего ей умирать то — ПК то никуда не делись из терминалов. Проблема по-прежнему существует, а вот решения как раз остались с 2003 года.
      • +1
        В том устройстве 2003 года использовалась связка МК+USB мост. Вы используете МК c встроенным USB. VID/PID получали?
  • +1
    Меня удивила большая стоимость таких изделий (на начало 2014 года самое дешевое решение стоило 800р),

    Однако, судя по сайту, и ваши стоят 750-850 рублей. Т.е. цена конкурентов оправдана и снизить больше не получилось?
    А в чём тогда ваша фишка?
    • +4
      Ключевое слово «на начало 2014 года» тогда все было дешевле и сейчас это не 800, а 1500.
  • 0
    Пост интересный, но не совсем понятны перечисленные ошибки — это что-то самоочевидное из серии «не надо паять микросхемы грязным старым 120ваттным нерегулируемым паяльником»

    Практически любой «энтузиаст», делавший самоделки хоть с помощью ЛУТ знает, что много точек пайки — это плохо, потому как вообще-то SMD-компоненты типа резисторов 603 серии паять довольно сложно. И потому порой не ставят даже то, что поставить стоило бы, какая уж тут избыточность компонентов…
    Что лучше посидеть подольше за макетом, чем потом исправлять плату с помощью проводков и пайки на весу.
    Что перед любой серией (хоть из 5 штук) придется сделать хотя бы один прототип, а если схема сложная — то и не один.

    Непонятный для меня момент — что вы делали с девайсами дальше. Как и кому их вообще можно продать если вы их продавали?
    Как, примерно, соотносятся в конечной стоимости девайса: компоненты, сборка, упаковка, прочие расходы?
    • +5
      То, что вы описали как очевидное понимают 10% тех людей, что занимаются электроникой. Получается, что пост не для вас.
      • +5
        Для тех, у кого не было опыта массового производства, пост невероятно интересен: масса конекретики, деталей, цены. Автору огромное спасибо.
      • 0
        Вы изначально только спроектировали девайс и отдали на сборку, а не собрали его сами вручную?

        И, если это возможно, расскажите, что вы сделали в итоге с партией девайсов.
        • 0
          В статье написано, что я сам собрал первую партию, что как раз и дало некоторое понимание проблем тиражирования. Устройства были работоспособны и разошлись как для внутренних нужд, так и внешним заказчикам.
  • +1
    Пара вопросов про стенд:

    — какой тираж
    — как осмысленно изготавливать (в том же Резоните или спаять на коленке)
    — есть ли специфика условий работы (корпус для неубиваемости, поддержка USB итп.)
    — необходима ли связь с компом или без этого можно обойтись
    • +1
      Про стенд: сейчас он сделан в количестве 2х штук, изготовлен нормально (он должен быть исправен 100%), пока без корпуса и связывается с компом.

      Сейчас он явно не оптимален (это тема отдельной статьи) и будет переделываться.
      В планах сделать разъемы сразу под панель, чтобы подключать оптом и не разделяя. Добавить простенький корпус от gainta, USB HUB + скрипт на ПК.
      • +1
        А какими способами можно увеличить его надежность? Дублирование, минимум умных компонентов, что-то еще?
        • +1
          да вроде все. Понятно, что через какую-то наработку разъемы расшатаются, что будет приводить к сбоям, поэтому придется их обновить. Но по мне так вы все правильно говорите — стенд должен быть дубовым.
  • +1
    На этой партии у меня появился монтажник — замечательная девушка, паяющая без косяков, быстро и красиво (Катюха привет!!!). И я немного расслабился ведь тиражирование теперь ее проблема, но потом она уехала и пришлось опять оптимизировать и включать голову… так появилась v2.0.

    А не уехала бы — тогда кому нужна эта оптимизация?
    • +1
      Вот это очень хороший комментарий!!!
      На самом деле проблема очень часто встречающаяся и очень глубокая, когда разработчик изделия либо видел его только в САПРе, либо собрал пару макетов. В итоге получается, что он ничего не знает о проблемах сборки/настройки или, в лучшем случае, узнает об этом через пол года от задолбавшегося монтажника/настройщика. И я был таким когда-то.
      Поэтому считаю, что разработчик должен сам настроить значимое количество своих изделий — это поможет оптимизировать время производственного цикла, а следовательно и себестоимость(конечную стоимость изделия).
      • 0
        Так монтажнику всё равно — платят за точки, а не за изделия. И шефу было всё равно — паяет монтажник, а не он. Шеф отдыхает и получает за это деньги, только монтажников меняет по мере выхода из строя.
        • +2
          А в итоге изделие как говно и стоит как самолет… и в интернете крики про то, что в России ничего делать не умеют…
          • +1
            Первое «как» надо заменить на дефис :)
  • –1
    более двух итераций подобной платы — роскошно;) Не до конца понятна идеология проекта — что гарантирует отсутствие перезагрузки в случае зависаний usb интерфейса, которые не такая уж и редкость? И как фиксируется собственно само «зависание» пк? не представляю как последнее определить гарантированно, тем более кросплатформенно.
    При первом включении не подключайте сигнальные контакты устройства к контактам «Reset» и «Power», так как требуется предварительная установка программного обеспечения.
    с оф.сайта — это что типа если ваше устройство выйдет из строя оно блокирует пк вплоть до своего тотального выпиливания из?..
    И чем хуже попрекаемый arduinо nano в контексте данного проекта? Или usbasp? Или даже dtr/rts ftdi… Они во всяком случае дешевле.
    И так ли уж далеко ваше изделие от «поделок из...»?
    • 0
      Была бы одна итерация — статьи бы не было.

      При первом включении не подключайте сигнальные контакты устройства к контактам «Reset» и «Power», так как требуется предварительная установка программного обеспечения.

      Это нужно для того, чтобы Watchdog не перезагрузил ПК пока вы его настраиваете. Спасибо, что посетили наш сайт.
      • 0
        а что разве прошивка контроллера не имеет функции отключения срабатывания WD? это как-то странно.
    • 0
      Или даже dtr/rts ftdi…

      Кто эти сигналы подаст, если комп завис?
      • 0
        никто не подаст. А вот исполнительная схема на нескольких транзисторах или каком-нибудь 555 таймере — подаст. Уже не говоря о том, что существуют специализированные микросхемы типа DS1232, MAX6323 и тп.
        И если говорить о производстве, то прошивка контроллера обычно обходится дороже использования спец микросхемы или пайки пинов транзисторного моновибратора.

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