В создании технологических устройств с разветвленной логикой, часто используются сложные вычислительные процессоры, позволяющие программировать окружение под создаваемую логику. За счет контроллеров, можно достигать высокого уровня управления, индикации и связи устройств. Контроллеры применяются в любой роботизированной структуре от стиральной машины, до смартфона.
В настоящее время существует более 200 различных видов микроконтроллеров, которые могут гибко подходить практически под любую прикладную задачу. Наиболее тонкий просчет при выборе контроллера, позволяет добиться максимального эффекта в скорости, энергопотреблении и функциональности.
Разработка программного обеспечения (кода) в некоторой степени отличается от привычного программирования под ПК. Большинство контроллеров позволяют разрабатывать микропограмму на языках C (Си) и Асемблер.
Разработка прототипов
Прежде чем создавать программно-аппаратный продукт, зачастую создают упрощенную копию (опытный образец или прототип). В настоящее время для подобного вида работ все чаще применяется универсальная конструкторская платформа Arduino. Создание корпусных деталей проектируется в 3D-модели и распечатывается на 3D-принтере. Такой подход далек от оптимального, но он достаточно прост и быстр, а соответственно дешевле, чем создавать конечный продукт.
Прототипы применяются для презентации, демонстрации и опытных испытаний. Созданный прототип (или мелкая серия прототипов) позволяет получить обратную связь о продукте:
- Готовность потребителя (спрос)
- Удобство
- Достаточность
- Уровень быстродействия и энергопотребления
- Выявить ошибки конструкции
Прототипы обычно служат только на первом этапе. Когда устройство представлено, и имеет положительную динамику, наступает этап создания конечного продукта.
Создание серийного устройства
Прототип уже создан, выполнил свою основную функцию – понравиться потребителю, работа над ошибками проведена. В результате этих предварительных мероприятий, будет сформирован рабочий конструкторский проект. Подготовленная техническая документация, позволяет перейти к созданию первой партии продукции.
Подход к производству в значительной степени зависит от размера создаваемой партии. Существуют устройства, объем которых вряд ли превысит 100 экземпляров, но так же существуют и продукты массового спроса, в этих случаях минимальная партия составляет 1 000 – 100 000 штук.
Если с мелкосерийным производством, обычно, все проще, т.к. цена продукта полагает высокую маржинальность, то в случае с массовым продуктом, зачастую имеется необходимость снижения издержек в счет снижения конечной стоимости для привлекательности потребителю.
Создание партии начинается с проектирования электронной схемы. Мы создаем опытный образец будущего устройства, оптимизируем разводку печатной платы, после чего составляется спецификация элементной базы. Эти материалы направляются на завод. В зависимости от требуемого объема и сроков, на заводе подбирается определенный производственный процесс. С момента передачи материалов, до получения партии электронных плат с распайкой, мы имеем только возможность контроля изготовления, не включаясь в рабочий процесс.
Настает день, когда устройства собраны и дело остается только за программной логикой. Наши программисты создают исполнительный код, и доводят до опытной эксплуатации конечное изделие.
Программирование микроконтроллеров отличается от создания прототипов на базе Arduino, с точки зрения кода, логика же, обычно остается без изменений.
Созданный код загружается (прошивается) в память микроконтроллера и устройство готово для корпусной сборки.
Этапы сборки, упаковки конечного продукта в меньшей степени являются для нас приоритетными. В большинстве случаев, этим занимаются другие организации (механической сборки). Мы можем выступить посредником, с привлечением подрядчика, если целью стоит “работа под ключ”.
Программный код, создаваемый нашими разработчиками, имеет определенную гарантийную поддержку. Если происходят сбои в логике, что не выявилось на этапах предварительных тестирований, а также является описанным в рамках базового ТЗ на продукт, то мы несем обязательство по исправлению ошибок. Ответственность за распространение обновленной микропрограммы до конечных устройств, мы не несем. Срок программной поддержки составляет от 3 до 6 месяцев