Что делает конкретную платформу подходящей или непригодной для производственного использования? [закрыто]


9

Предположим, что стоимость товара является незначительным фактором. Если в компании не хватает команды для производства специальной платы для конкретного продукта, но у нее есть успех с готовой платформой разработки, такой как Arduino / Netduino / mbed, какие вещи следует рассмотреть, прежде чем идти вперед?

Если я не ошибаюсь, Arduino изначально предназначался для студентов университетов из-за своей низкой цены и простоты использования. Естественно, это стало популярной платформой для художников и производителей. Я рассматриваю Netduino как логическое расширение Arduino - оно позволяет людям использовать надежную и богатую среду IDE (Visual Studio 2010) и быстро выполнять задачи с помощью .NET Micro Framework. mbed - еще одна приятная платформа для любителей из-за простоты использования, бесплатных инструментов (онлайн-компилятор) и аппаратной периферии.

Поэтому мой вопрос: почему компании не должны использовать эти платформы разработки для производственного использования? Другими словами, является ли плохой идеей просто купить несколько плат у Sparkfun, запрограммировать каждую из них кодом и затем развернуть продукт для клиентов?

Меня особенно интересует Netduino, но аргументы за / против Arduino и mbed также приветствуются. С другой стороны, вы бы сделали это раньше?

Я лично смотрю на разработку Netduino как на «основной модуль», который другие производители процессоров продают для интеграции продуктов, но, возможно, я упускаю что-то важное здесь.

Ответы:


5

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


Поставка может быть проблемой, но по крайней мере проекты для * duino имеют открытый исходный код.
Дейв

@Dave - Ты упустил суть. Крис (я думаю) говорил в основном о проблемах с .NET, а не с оборудованием.
Кевин Вермеер

1
@reemrevnivek - хм ... конечно, для меня это было похоже на проблемы с оборудованием. Зачем поставлять вопросы, загрузка прошивки и mfg. качество имеет какое-либо отношение к .NET?
Дейв

1
Вы можете или не сможете получить лицензию для загрузки конкретной среды выполнения на альтернативной плате. Различные вопросы, которые я предлагал, - это ассортимент, не обязательно связанный друг с другом.
Крис Страттон

12

Хлоп! Либо вы полностью сбиты с толку, либо ваша идея производства отличается от моей. Я считаю, что производство означает продажу продукта широкой публике в тысячах и более, а затем поддержку и обновление дизайна. Продукты, не предназначенные для широкой публики, являются внутренней или контрактной работой, а продукты, которые продаются в меньших количествах, имеют специальное назначение или иным образом отличаются. «Несколько досок от Sparkfun» не удовлетворят потребности производства.

Во-первых, стоимость товара всегда является значимым фактором. Насколько это важно, может отличаться от продукта к продукту, и может быть менее значимым, если конкретный элемент является лишь небольшим компонентом более крупной системы, оптимизированной по стоимости. Тем не менее, в любой среде, где вы конкурируете с другими производителями (что должно быть, потому что, если вы находитесь в правительстве или у вас монополия, вы бы не задавали этот вопрос), стоимость будет фактором. 35 долларов за Netduino (только по стоимости) обычно можно снизить до 10 долларов или меньше для большинства приложений с индивидуальным дизайном. Если вы уверены, что стоимость не имеет значения, есть и другие причины против покупки такого дизайна.

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

Ваша близость к IDE и готовым решениям пугающая. На мой взгляд, вы слишком доверяете своим поставщикам инструментов. Если платы становятся более дорогими, если условия лицензии изменяются, если сервер выходит из строя, программное обеспечение объявляется устаревшим, производитель плат прекращает свою деятельность (и т. Д. И т. Д.), Ваша деятельность закрывается. Кроме того, вам не хватает понимания того, что происходит за кулисами. Если что-то не работает так, как указано в документации, каков ваш план? Например, в вашей идее купить несколько Arduinos, запрограммировать их и развернуть продукт нет плана защиты кода. Кто-то может скопировать ваш код из микроконтроллера, продублировать соответствующие части дизайна за треть цены и превзойти вас.
Опора на IDE и язык для вещей, которые вы не понимаете, - это путь к катастрофе.

Использование комплекта разработки в вашем дизайне сделает ваш продукт завышенным, хрупким, громоздким, энергоемким и неэффективным. Это также будет трудно отлаживать, боль поддержки, и вы будете в зависимости от ваших поставщиков. Это заставит вас выглядеть некомпетентным.

Однако еще не все потеряно. Если вы реализуете свой дизайн на плате для разработчиков, будет просто попросить кого-то (в вашей команде или вне ее) настроить его, чтобы устранить эти недостатки. Если вам не хватает команды, вы должны нанять ее, нанять подрядчика или сделать это в дизайнерской фирме.


1
Производство не должно означать тысячи. В узкоспециализированном оборудовании существует множество инженерных разработок, которые могут продаваться в количестве от нескольких десятков до нескольких сотен штук - и, очевидно, оно продается по достаточно высоким ценам, иначе никто бы не заработал на этом деньги. Такие отрасли ориентированы на быстрое удовлетворение потребностей, а не на то, чтобы тратить месяцы на то, чтобы выкинуть каждый последний доллар из спецификации.
Крис Страттон

2
@reemrevnivek - я думаю, что мы с тобой работаем в совершенно разных мирах. Когда я ссылаюсь на производственную часть, это все, что поступает в распоряжение клиента, и оно может быть в количестве от 1 до 20, а не десятков тысяч, тысяч или даже сотен. Мне было бы все равно, если бы я мог уменьшить часть с 50 до 5 долларов, если это означает, что мне придется потратить дополнительные 3 месяца на разработку. Я также не против, если кто-то копирует код.
Дейв

1
Вы подняли действительно хорошие моменты, и я ценю ваш вклад. Я думаю, что ваш ответ был немного экстремальным, и вы четко высказались по этому вопросу, но я могу выделить из этого ключевые моменты.
Дейв

2
@ Дэйв - Извините, я сознательно пытался сделать это не самоуверенным или экстремальным. Вот как это выглядит после нескольких перечитываний и правок: P. Тем не менее, я придерживаюсь своего утверждения о том, что слово «производство» означает (в каждом контексте, в котором я работал, в основном в качестве поставщика автомобильных комплектующих) тысячи деталей. Можете ли вы представить, как вы открыли капот и увидели, как Arduino взломал ваш контроллер вентилятора? Нет, и не зря. Я попытался привести несколько таких причин.
Кевин Вермеер

1
@reemrevinek - ха-ха! без обид. Я надеялся получить много точек зрения с этим вопросом. Мое окружение совершенно другое. Мы продаем несколько специализированных продуктов, которые стоят довольно дорого, поэтому такая деталь, как встроенная плата, будет в порядке, если она будет стоить дороже, и смещает время разработки. Я сейчас использую Netduino только для прототипирования концепций, но потом мне пришло в голову, что мы, вероятно, могли бы поместить его в продукт, так как он все равно используется с контроллером дисплея. Я, конечно, согласен, что лучше / более профессионально иметь собственную доску, но хотел услышать мнения.
Дейв

4

Я использовал плату Arduino в продукте (не в крупном производстве), и я бы не стал делать это снова. Платы Arduino ориентированы на очень замкнутую экосистему (в слове «не с открытым исходным кодом»). Например, если вы «выходите» из экосистемы Arduino, нуждаясь в использовании булавки, которая не выводится в заголовок на плате разработки, вы сразу теряете все преимущества Arduino. Вы должны изменить доску, чтобы привести булавку к существующему заголовку или каким-либо образом добавить новый заголовок. Это, вероятно, означает, что вы не сможете использовать какие-либо существующие щиты или даже библиотеки программного обеспечения для Arduino. Это большая часть пользы от платы исчезла. Я должен был сделать это с Arduino Mega.

Кроме того, платы огромны, и их нелегко интегрировать с другими печатными платами. Я сделал основную плату для своего приложения эквивалентной экрану для Arduino Mega, в котором были отверстия для крепления для выбранного мной корпуса. Поэтому я просто подключил Arduino Mega к заголовкам, которые я установил на свою доску. Тем не менее, это был большой размер для размещения, и было много потерянного пространства из-за размера платы разработки. Мне не нужна была половина того, что там было, и это заняло только место. Это потребовало от меня иметь большую печатную плату и корпус, чем в противном случае. Это потраченные впустую деньги.


1
Конструкции Arduino (и даже с питанием от руки) достаточно просты, поэтому, если вы собираетесь делать печатную плату, подходящую для цифровой логики, чтобы дополнить их аксессуарами, вы также можете просто включить процессор. Они были бы более соблазнительными, если бы вы вообще не собирались делать печатную плату, или делали это односторонне, или по специальной аналоговой или радиочастотной технологии, где вы не хотели, чтобы на этой плате были цифровые детали, и вам приходилось делать плата контроллера тоже будет стоить дороже, чем покупать (и даже переделывать) их.
Крис Страттон

1
Chris-определенно. Каждый должен знать, что если вы делаете PCB самостоятельно, то нет смысла добавлять плату Arduino, а просто воссоздать ее на вашей плате.
AngryEE

Если среда Arduino становится ограничивающим фактором, вы всегда можете использовать любой другой AVR-компилятор, такой как GCC, BASCOM, AvrCo, и создавать прошивки, которые будут жить на той же плате Arduino ...
avra

4

Arduinos & co являются платформами для прототипирования и оценки . Как таковые, они просто не являются экономически жизнеспособными в качестве основы даже для относительно небольших производственных циклов. Они отлично подходят для обучения и макетирования идей, но продукт очень быстро утонул бы, если бы стоил готовой сборки, которая не была оптимальной для конечного использования.

Было бы гораздо лучше создать новую плату, включающую необходимые элементы 'duino и любые вспомогательные схемы, чем иметь стоимость двух плат и риск разрыва соединения.

Что касается Visual Studio и всего остального .net, я бы не стал их трогать с чужим. Перейти на что-то платформенное и независимое от производителя - в духе самого проекта Arduino.


1
Я до сих пор считаю, что все зависит от стоимости вашего продукта. Допустим, можно создать что-то действительно привлекательное с * duino, и это небольшая часть проекта стоимостью 1 млн. Долларов, и вы продадите только 3 из них. Почему это не было бы экономически целесообразно? Вы бы предпочли потратить тысячи на разработку чего-то, что будет использоваться дважды?
Дейв

2
Что касается комментариев .NET, я часто сталкиваюсь с людьми, которые не любят использовать Visual Studio и / или .NET только потому, что. Я лично не понимаю. Visual Studio - безусловно, одна из лучших IDE, которые я когда-либо использовал. По общему признанию, я склонен к инструментам Microsoft, потому что они позволяют мне быстро выполнять свою работу, и в 99% случаев они просто работают. Хотя я действительно должен научиться использовать платы разработки с ICE, я определенно ценю простоту использования знакомой среды, которая позволяет мне устанавливать контрольные точки во время отладки. AFAIK вы не можете сделать это с Arduino.
Дейв

WRT ваш первый комментарий, я сказал относительно небольшие пробеги. Я бы увидел три крупных проекта в качестве прототипов. Я полагаю, что клиент тоже. В этой ситуации я бы с радостью использовал Arduino.
Лев

1
В основе MS / .net лежит личный опыт. За последние двадцать или около того лет я использовал почти все платформы. Самые большие головные боли неизменно происходят от продуктов MS. MS, кажется, предполагают, что их путь - единственный правильный путь. В настоящее время я использую OS X, Ubuntu и Windows 7, все в среде разработки. Угадай, какую мне нужно перезагрузить (вообще)?
Лев

4
ATMegas, используемый в Arduino, поддерживает отладку с помощью debugwire - не уверен, совместимо ли аппаратное обеспечение выводов сброса Arduino, но если нет, то для взлома не понадобится много, так как это всего лишь один вывод. Еще одна потенциально серьезная проблема, связанная с использованием плат других людей, - это если вы заботитесь о таких вещах, как EMC, FCC и др.
mikeselectricstuff

3

Вообще говоря, нет ничего плохого в использовании готовых продуктов. Мы все делаем это на каком-то уровне, я думаю, что ненавистники Arduino не проектируют свои собственные чипы, даже жесткие на каком-то более высоком уровне громкости, что имело бы экономический смысл.

Это всегда сводится к стоимости, графику и качеству (и, возможно, долгосрочной доступности тоже). Если Arduino отвечает этим критериям лучше, чем обычная доска, выбор не составляет никакого труда.

Трудная часть состоит в том, чтобы получить правильные цифры, особенно для вашего объема. Но использование правильных цифр и небольшая математика даст вам объем безубыточности для выбора между использованием, скажем, Arduino против пользовательской доски. Если это намного больше, чем вы ожидаете, или намного ниже, выбор прост. Поэтому забудьте обо всех советах, в которых говорится, что «во что бы то ни стало используйте Arduino» или «всегда выбирайте специальную доску», они оба привязаны к мышлению, которое относится к определенному уровню громкости. Делайте свои собственные расчеты.

Обратите внимание, что у меня нет конкретных знаний об Arduino. Вы должны решить для себя, отвечает ли он, например, вашим требованиям к качеству.


2

Изготовленные на заказ доски хороши, если у вас есть для этого бюджет и достаточно большое производство, чтобы оправдать работу. В противном случае вы придерживаетесь продуктов полки, таких как Arduino, Netduino, Fez Domino и SBC. (как в PC104 и различных форматах ITX). Создание кастомной платы AVR / Arduino не так уж сложно, но серьезные модификации Netduino или даже разработка (и последующая поддержка) какой-либо платы linux (например, Gumstix) требуют специалиста и стоят десятки тысяч долларов и более. Если вы хотите, чтобы большая часть тяжелой работы была сделана кем-то другим, и вы хотите настроить только некоторые ее части, тогда модуль - волшебное слово для вас.


Я определенно согласен с вами, но в какой-то момент вам все еще нужна печатная плата. У меня достаточно навыков, чтобы сделать один для * duino и других, чтобы создать простую печатную плату для отключения сигналов и питания, так что, по крайней мере, это все еще довольно дешево.
Дейв

Это дешево, если вам не нужны тысячи, и если вам нужно больше энергии, тогда и модули, подобные приведенному выше, тоже подойдут. Имейте в виду, что вам, вероятно, придется столкнуться с обнаружением отключения электроэнергии, перебоями в питании при записи в eeprom, надежным источником питания и многими другими вещами, которые зависят от вашего конкретного применения.
Авр
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.