Was macht eine bestimmte Plattform für den Produktionseinsatz geeignet oder ungeeignet? [geschlossen]

9

Nehmen wir an, dass die Kosten der Waren ein unbedeutender Faktor sind. Wenn einem Unternehmen ein Team fehlt, um ein kundenspezifisches Board für ein bestimmtes Produkt herzustellen, es jedoch mit einer Standardentwicklungsplattform wie Arduino / Netduino / mbed erfolgreich ist, welche Art von Dingen sollten in Betracht gezogen werden, bevor es weitergeht?

Wenn ich mich nicht irre, war Arduino ursprünglich wegen seines niedrigen Preises und seiner einfachen Bedienung auf Studenten ausgerichtet. Es wurde natürlich eine beliebte Plattform für Künstler und Macher. Ich sehe das Netduino als eine logische Erweiterung von Arduino - es ermöglicht Menschen, eine robuste und reichhaltige IDE (Visual Studio 2010) zu verwenden und Dinge schnell über .NET Micro Framework zu erledigen. mbed ist aufgrund seiner Benutzerfreundlichkeit, der kostenlosen Tools (Online-Compiler) und der Hardware-Peripheriegeräte eine weitere nette Hobby-Plattform.

Meine Frage ist also, warum Unternehmen diese Entwicklungsplattformen nicht für die Produktion nutzen sollten. Mit anderen Worten, ist es eine schlechte Idee, nur mehrere Boards von Sparkfun zu kaufen, jedes mit dem Code zu programmieren und das Produkt dann für Kunden bereitzustellen?

Ich interessiere mich speziell für Netduino, aber auch Argumente für / gegen Arduino und mbed sind willkommen. Auf der anderen Seite, würden Sie oder haben Sie das schon einmal gemacht?

Ich persönlich betrachte die Netduino-Entwicklung als ein "Kernmodul", das andere Prozessorhersteller für Produktintegrationen verkaufen, aber vielleicht fehlt mir hier etwas Wichtiges.

Dave
quelle

Antworten:

5

Einige der Dinge, die Sie bei der Beschaffung eines Controller-Moduls beachten könnten, sind Probleme wie die Versorgungssicherheit im Laufe der Zeit, Lizenzprobleme, Ineffizienzen beim Laden der Firmware für die Produktion, Probleme mit der Codesicherheit sowie Bedenken hinsichtlich der Fertigungsqualität oder der Einhaltung gesetzlicher Vorschriften. Einige davon sind eher ein Problem für ein proprietäres Modul als für ein relativ offenes Modul, bei dem jemand anderes eine Entsprechung zu anderen Funktionen in Ihrem Produkt herstellen oder diese schließlich mit diesen zusammenführen könnte.

Chris Stratton
quelle
Die Lieferung könnte ein Problem sein, aber zumindest die Designs für * duino sind Open Source.
Dave
@ Dave - Du hast den Punkt verpasst. Chris (glaube ich) sprach hauptsächlich über Probleme mit .NET, nicht mit der Hardware.
Kevin Vermeer
1
@reemrevnivek - hmm ... klang für mich sicher nach Hardwareproblemen. Warum sollten Probleme, Firmware-Laden und MFG liefern. Qualität hat etwas mit .NET zu tun?
Dave
1
Möglicherweise können Sie eine Lizenz zum Laden einer bestimmten Laufzeit auf ein Board mit alternativen Quellen erhalten oder nicht. Die verschiedenen Themen, die ich vorgeschlagen habe, sind ein Sortiment, das nicht unbedingt miteinander zusammenhängt.
Chris Stratton
12

Huch! Entweder sind Sie völlig verwirrt oder Ihre Vorstellung von Produktion unterscheidet sich von meiner. Unter Produktion verstehe ich den Verkauf eines Produkts an die breite Öffentlichkeit in Mengen von Tausenden oder mehr, um das Design zu unterstützen und zu aktualisieren. Produkte, die nicht an die breite Öffentlichkeit gehen, sind entweder interne oder vertragliche Arbeiten, und Produkte, die in kleineren Mengen verkauft werden, sind zweckgebunden oder auf andere Weise anders. 'Mehrere Boards von Sparkfun' würden einen Produktionsbedarf nicht erfüllen.

Erstens sind die Kosten der Waren immer ein wesentlicher Faktor. Wie wichtig es ist, kann von Produkt zu Produkt unterschiedlich sein, und es kann weniger wichtig sein, wenn der bestimmte Artikel nur eine kleine Komponente eines größeren Systems ist, das hinsichtlich der Kosten optimiert wurde. In jedem Umfeld, in dem Sie im Wettbewerb mit anderen Herstellern stehen (was Sie sein müssen, weil Sie diese Frage nicht stellen würden, wenn Sie in der Regierung sind oder ein Monopol haben), sind die Kosten ein Faktor. Die 35 US-Dollar für das Netduino (allein aus Kostengründen) können für die meisten Anwendungen mit benutzerdefiniertem Design normalerweise auf 10 US-Dollar oder weniger gesenkt werden. Wenn Sie davon überzeugt sind, dass die Kosten keine Rolle spielen, gibt es weitere Gründe gegen den Kauf eines solchen Designs.

Ja, alle drei Boards wurden für Studenten, Designer und Bastler entwickelt. Sie sind so konzipiert, dass sie zuverlässig genug für ein Entwicklungskit sind, das auf einem Schreibtisch steht. Dieser Schüler sollte einige Dinge über sichere Handhabungsverfahren wissen, die die allgemeine Bevölkerung nicht kennt oder nicht praktiziert. Probleme wie ESD, langfristige Verlustleistung und Leistungsreduzierung wurden wahrscheinlich unter Dinge herabgestuft, die für die Produktion weniger wichtig sind, wie Lötbarkeit und Einfachheit.

Ihre Affinität zu IDEs und vorgefertigten Lösungen ist erschreckend. Meiner Meinung nach vertrauen Sie Ihren Werkzeuganbietern viel zu sehr. Wenn die Karten teurer werden, wenn die Lizenzbedingungen geändert werden, wenn der Server ausfällt, die Software für veraltet erklärt wird, der Hersteller der Karte aus dem Geschäft geht (usw. usw. usw.), wird Ihr Geschäft abgespritzt. Außerdem fehlt Ihnen ein Verständnis dafür, was sich hinter den Kulissen abspielt. Wenn etwas nicht so funktioniert, wie es in der Dokumentation angegeben ist, was ist Ihr Plan? Ihrer Idee, ein paar Arduinos zu kaufen, zu programmieren und das Produkt bereitzustellen, fehlt beispielsweise ein Plan für den Codeschutz. Jemand anderes könnte Ihren Code aus dem Mikrocontroller kopieren, die relevanten Teile des Designs für ein Drittel des Preises duplizieren und Sie überbieten.
Sich auf eine IDE und eine Sprache für die Dinge zu verlassen, die Sie nicht verstehen, ist ein Rezept für eine Katastrophe.

Die Verwendung eines Entwicklungskits in Ihrem Design macht Ihr Produkt überteuert, zerbrechlich, sperrig, stromhungrig und ineffizient. Es wird auch schwer zu debuggen sein, ein Schmerz zu unterstützen, und Sie werden Ihren Lieferanten ausgeliefert sein. Sie werden inkompetent aussehen.

Es ist jedoch nicht alles verloren. Wenn Sie Ihr Design auf einem Entwicklungsboard implementieren, ist es unkompliziert, wenn jemand (entweder in Ihrem Team oder außerhalb Ihres Teams) es anpasst, um diese Mängel zu beheben. Wenn Ihnen ein Team fehlt, sollten Sie eines einstellen, einen Auftragnehmer hinzuziehen oder es von einer Designfirma durchführen lassen.

Kevin Vermeer
quelle
1
Produktion muss nicht Tausende bedeuten. Es gibt eine Menge Technik in hochspezialisierten Geräten, die in Bestellungen von ein paar Dutzend bis ein paar hundert Stück verkauft werden können - und offensichtlich verkauft es sich zu ziemlich hohen Preisen, oder niemand würde damit Geld verdienen. Solche Branchen konzentrieren sich darauf, den Bedarf schnell zu decken, und nicht darauf, Monate damit zu verbringen, jeden letzten Dollar aus der Stückliste herauszuholen.
Chris Stratton
2
@reemrevnivek - Ich denke, Sie und ich arbeiten in völlig unterschiedlichen Welten. Wenn ich mich auf ein Produktionsteil beziehe, wird alles an einen Kunden freigegeben, und es kann in Mengen von 1 bis 20 vorliegen, nicht in Zehntausenden, Tausenden oder sogar Hunderten. Es könnte mich weniger interessieren, wenn ich einen Teil von 50 auf 5 Dollar reduzieren könnte, wenn das bedeutet, dass ich zusätzliche 3 Monate für die Entwicklung aufwenden muss. Es macht mir auch nichts aus, wenn jemand den Code kopiert.
Dave
1
Sie haben jedoch wirklich gute Punkte angesprochen, und ich schätze Ihren Beitrag. Ich denke, Ihre Antwort war ein wenig extrem und Sie haben eine klare Meinung zu diesem Thema, aber ich kann die wichtigsten Punkte daraus herausarbeiten.
Dave
2
@ Dave - Entschuldigung, ich habe bewusst versucht, es nicht eigensinnig oder extrem zu machen. So sieht es nach einigen erneuten Lesungen und Änderungen aus: P. Ich stehe jedoch zu meiner Aussage, dass das Wort "Produktion" (in jedem Kontext, in dem ich tätig bin, hauptsächlich als Automobilhersteller) Tausende von Teilen bedeutet. Können Sie sich vorstellen, Ihre Motorhaube zu öffnen und zu sehen, wie ein Arduino in Ihren Lüfter-Controller gehackt wird? Nein, und das aus gutem Grund. Ich habe versucht, einige dieser Gründe anzugeben.
Kevin Vermeer
1
@reemrevinek - haha! keine Beleidigung genommen. Ich hatte gehofft, mit dieser Frage viele Standpunkte zu bekommen. Meine Umgebung ist völlig anders. Wir verkaufen einige kundenspezifische Produkte, die ziemlich teuer sind. Ein Teil wie ein Embedded Board ist also in Ordnung, wenn es mehr kostet und die Entwicklungszeit kompensiert. Ich verwende das Netduino derzeit nur für Prototyping-Konzepte, aber dann kam mir der Gedanke, dass wir es wahrscheinlich in das Produkt integrieren könnten, da es sowieso nur mit einem Display-Controller verwendet wird. Ich stimme sicherlich zu, dass es besser / professioneller ist, ein benutzerdefiniertes Board zu haben, wollte aber Meinungen hören.
Dave
4

Ich habe ein Arduino-Board in einem Produkt verwendet (keine Produktion in großem Maßstab) und würde es nicht wieder tun. Die Arduino-Boards sind auf ein sehr geschlossenes Ökosystem ausgerichtet (im Sinne von Nicht-Open-Source-Software). Wenn Sie beispielsweise das Arduino-Ökosystem verlassen, indem Sie einen Pin verwenden müssen, der nicht in einem Header auf dem Entwicklungsboard angezeigt wird, verlieren Sie sofort alle Vorteile des Arduino. Sie müssen die Karte ändern, um den Pin zu einem vorhandenen Header zu bringen, oder irgendwie einen neuen Header hinzufügen. Dies bedeutet wahrscheinlich, dass Sie keine vorhandenen Schutzschilde oder möglicherweise sogar die Softwarebibliotheken für das Arduino verwenden können. Das ist der größte Vorteil des weggegangenen Boards. Ich musste das mit einem Arduino Mega machen.

Außerdem sind die Platinen riesig und nicht einfach in andere Leiterplatten zu integrieren. Ich habe die Hauptplatine für meine Anwendung so hergestellt, dass sie einer Abschirmung für den Arduino Mega entspricht, die Befestigungslöcher für das von mir ausgewählte Gehäuse hatte. Also habe ich den Arduino Mega einfach in die Header gesteckt, die ich auf mein Board gesetzt habe. Dies war jedoch eine große Auf- und Ab-Größe, und aufgrund der Größe des Entwicklungsboards wurde viel Platz verschwendet. Ich brauchte nicht die Hälfte von dem, was dort war, und es nahm nur Platz ein. Dies erforderte eine größere Leiterplatte und ein größeres Gehäuse, als ich es sonst benötigt hätte. Das ist Geldverschwendung.

AngryEE
quelle
1
Die Arduino-Designs (und sogar die armgesteuerten Designs) sind so einfach, dass Sie, wenn Sie eine Leiterplatte herstellen möchten, die für die digitale Logik geeignet ist, um sie auszustatten, auch den Prozessor einbeziehen können. Sie wären verlockender, wenn Sie überhaupt keine Leiterplatte herstellen würden oder wenn Sie dies einseitig oder in einer speziellen Analog- oder HF-Technologie tun würden, bei der Sie keine digitalen Teile auf dieser Platine haben wollten und eine Auch die Controller-Karte wäre teurer als der Kauf (und sogar die Überarbeitung).
Chris Stratton
1
Chris - auf jeden Fall. Jeder sollte wissen, dass es wenig Sinn macht, eine Arduino-Platine hinzuzufügen, wenn Sie selbst eine Leiterplatte herstellen, anstatt nur eine auf Ihrer Leiterplatte neu zu erstellen.
AngryEE
Wenn die Arduino-Umgebung zu einem einschränkenden Faktor wird, können Sie jederzeit einen anderen AVR-Compiler wie GCC, BASCOM, AvrCo verwenden und Firmware erstellen, die auf demselben Arduino-Board ausgeführt wird ...
avra
4

Arduinos & Co sind Prototyping- und Evaluierungsplattformen . Als solche sind sie als Grundlage für selbst relativ kleine Produktionsläufe einfach nicht wirtschaftlich. Sie eignen sich hervorragend für Schulungen und zum Verspotten von Ideen, aber ein Produkt würde sehr schnell sinken, wenn es die Kosten für eine fertige Unterbaugruppe tragen müsste, die in ihrer endgültigen Verwendung nicht optimal war.

Es wäre weitaus besser, eine neue Karte mit den erforderlichen Elementen des Duinos und allen zusätzlichen Schaltkreisen zu erstellen, als die Kosten für zwei Karten und das Risiko von Verbindungsfehlern zu tragen.

In Bezug auf Visual Studio und irgendetwas .net würde ich sie nicht mit denen anderer anfassen. Entscheiden Sie sich für etwas Plattform- und Herstellerunabhängiges - im Geiste des Arduino-Projekts.

Löwe
quelle
1
Ich glaube immer noch, dass alles von den Kosten Ihres Produkts abhängt. Nehmen wir an, es ist möglich, mit dem * duino etwas wirklich Überzeugendes zu schaffen, und es ist ein kleiner Teil eines 1-Millionen-USD-Projekts, und Sie werden immer nur 3 davon verkaufen. Warum wäre das nicht wirtschaftlich? Möchten Sie lieber Tausende für die Entwicklung von etwas ausgeben, das zweimal verwendet wird?
Dave
2
In Bezug auf den .NET-Kommentar stoße ich häufig auf Leute, die Visual Studio und / oder .NET nicht nur deshalb verwenden möchten. Ich persönlich verstehe es nicht. Visual Studio ist bei weitem eine der besten IDEs, die ich je verwendet habe. Ich bin zugegebenermaßen voreingenommen gegenüber Microsoft-Tools, weil sie es mir ermöglichen, meine Arbeit schnell zu erledigen, und in 99% der Fälle funktionieren sie einfach. Obwohl ich wirklich lernen sollte, Entwicklungsboards mit einem ICE zu verwenden, schätze ich auf jeden Fall die einfache Verwendung einer vertrauten Umgebung, in der ich beim Debuggen Haltepunkte setzen kann. AFAIK das kannst du mit Arduino nicht machen.
Dave
WRT dein erster Kommentar, ich habe relativ kleine Auflagen gesagt. Ich würde eine Reihe von drei großen Budgetentwicklungen als fortlaufende Prototypen sehen. Ich kann mir vorstellen, dass der Kunde das auch tun würde. In dieser Situation würde ich gerne einen Arduino verwenden.
Leo
1
Die MS / .net-Sache basiert auf persönlichen Erfahrungen. In den letzten zwanzig Jahren habe ich fast jede Plattform da draußen benutzt. Die größten Kopfschmerzen sind ausnahmslos auf MS-Produkte zurückzuführen. MS scheinen anzunehmen, dass ihr Weg der einzig richtige ist. Derzeit verwende ich OS X, Ubuntu und Windows 7 in einer Entwicklungsumgebung. Ratet mal, welches ich (überhaupt) neu starten muss?
Leo
4
Die auf Arduino verwendeten ATMegas unterstützen das Debuggen über Debugwire - nicht sicher, ob die Arduino-Reset-Pin-Hardware kompatibel ist, aber wenn nicht, würde das Hacken nicht viel kosten, da es nur ein Pin ist. Ein weiteres potenziell großes Problem bei der Verwendung von Boards anderer Leute ist, wenn Sie sich für Dinge
interessieren,
3

Generell ist nichts falsch daran, Produkte von der Stange zu verwenden. Wir alle tun dies auf einer bestimmten Ebene. Ich denke, die Arduino-Hasser entwerfen keine eigenen Chips, selbst wenn sie auf einer höheren Lautstärke schwierig sind , was wirtschaftlich sinnvoll wäre.

Es läuft immer auf Kosten, Zeitplan und Qualität (und möglicherweise auch auf langfristige Verfügbarkeit) hinaus. Wenn ein Arduino diese Kriterien besser erfüllt als ein benutzerdefiniertes Board, ist die Wahl ein Kinderspiel.

Der schwierige Teil ist es, die richtigen Zahlen zu finden, insbesondere für Ihr Volumen. Wenn Sie jedoch die richtigen Zahlen und wenig Mathematik verwenden, erhalten Sie die Gewinnschwelle für die Wahl zwischen Uising, beispielsweise dem Arduino, und einem benutzerdefinierten Board. Wenn dies weit über Ihren Erwartungen liegt oder weit darunter liegt, ist die Wahl einfach. Vergessen Sie also alle Ratschläge, die entweder "auf jeden Fall ein Arduino verwenden" oder "immer ein benutzerdefiniertes Board verwenden" lauten. Beide sind an eine Denkweise gebunden, die zu einer bestimmten Lautstärke gehört. Mach deine eigenen Berechnungen.

Beachten Sie, dass ich keine spezifischen Kenntnisse des Arduino habe. Sie müssen selbst entscheiden, ob es beispielsweise Ihren Qualitätsanforderungen entspricht.

Wouter van Ooijen
quelle
2

Maßgefertigte Bretter sind schön, wenn Sie ein Budget dafür haben und die Produktion groß genug ist, um die Arbeit zu rechtfertigen. Ansonsten bleiben Sie bei Produkten des Regals wie Arduino-, Netduino-, Fez Domino- und SBC- Karten (wie in PC104 und verschiedenen ITX-Formaten). Das Erstellen von benutzerdefinierten AVR / Arduino-Boards ist nicht allzu komplex, aber umfangreiche Änderungen an Netduino oder sogar das Entwerfen (und spätere Unterstützen) einiger Linux-Boards (wie Gumstix) erfordern Spezialisten und kosten Zehntausende von Dollar und mehr. Wenn Sie von jemand die meisten der harten Arbeit haben wollen andere, und Sie wollen einfach nur einige Teile davon anzufertigen, dann Modul ist das Zauberwort für Sie.

avra
quelle
Ich stimme Ihnen definitiv zu, aber irgendwann brauchen Sie noch eine Leiterplatte. Ich habe genug Geschick, um eine für * duino und andere zu erstellen, um eine einfache Leiterplatte zum Ausschalten von Signalen und Strom zu erstellen. Zumindest ist das immer noch ziemlich billig.
Dave
Es ist billig, wenn Sie nicht Tausende benötigen, und wenn Sie mehr Strom benötigen, sind Module wie das von oben auch schön. Beachten Sie, dass Sie sich wahrscheinlich mit Brown-Out-Erkennung, Stromstörungen beim Schreiben auf eeprom, zuverlässiger Stromversorgung und vielen anderen Dingen befassen müssen, die von Ihrer spezifischen Anwendung abhängen.
Avra