Supongamos que el costo de los bienes es un factor insignificante. Si una empresa carece de un equipo para producir una placa personalizada para un producto en particular, pero tiene éxito con una plataforma de desarrollo lista para usar como Arduino / Netduino / mbed, ¿qué tipo de cosas se deben considerar antes de seguir adelante?
Si no me equivoco, Arduino originalmente estaba dirigido a estudiantes universitarios debido a su bajo precio y facilidad de uso. Naturalmente, se convirtió en una plataforma popular para artistas y creadores. Veo Netduino como una extensión lógica de Arduino: permite a las personas usar un IDE robusto y rico (Visual Studio 2010) y hacer las cosas rápidamente a través de .NET Micro Framework. mbed es otra buena plataforma para aficionados debido a su facilidad de uso, herramientas gratuitas (compilador en línea) y periféricos de hardware.
Entonces mi pregunta es, ¿por qué las empresas no deberían adoptar estas plataformas de desarrollo para su uso en producción? En otras palabras, ¿es una mala idea comprar varias placas de Sparkfun, programar cada una de ellas con el código y luego distribuir el producto a los clientes?
Estoy específicamente interesado en Netduino, pero los argumentos a favor o en contra de Arduino y mbed también son bienvenidos. Por otro lado, ¿lo harías o lo has hecho antes?
Personalmente, veo el desarrollo de Netduino como un "módulo central" que otros fabricantes de procesadores venden para integraciones de productos, pero tal vez me estoy perdiendo algo importante aquí.
Algunas de las cosas que puede considerar al obtener un módulo de controlador son problemas como la seguridad del suministro a lo largo del tiempo, cualquier problema de licencia, cualquier ineficiencia en el proceso de carga de firmware para la producción, cualquier problema de seguridad del código y cualquier problema de calidad de fabricación o cumplimiento normativo. Algunos de ellos serán más preocupantes para un módulo propietario que para uno relativamente abierto que podría hacer que otra persona haga un equivalente o eventualmente se fusione con otra funcionalidad en su producto.
¡Ay! O estás completamente confundido o tu idea de producción es diferente a la mía. Considero que la producción significa vender un producto al público en general en cantidades de miles o más, y luego respaldar y actualizar el diseño. Los productos que no van al público en general son trabajos internos o por contrato, y los productos que se venden en cantidades más pequeñas son para fines especiales o diferentes. 'Varias placas de Sparkfun' no satisfarían una necesidad de producción.
Primero, el costo de los bienes es siempre un factor significativo. Su importancia puede diferir de un producto a otro, y puede ser menos significativa si el artículo en particular es solo un pequeño componente de un sistema más grande que ha sido optimizado por costo. Sin embargo, en cualquier entorno en el que esté en competencia con otros productores (lo que debe ser porque si está en el gobierno o tiene un monopolio no estaría haciendo esta pregunta), el costo será un factor. Los $ 35 para Netduino (solo en costo) generalmente podrían reducirse a $ 10 o menos para la mayoría de las aplicaciones con un diseño personalizado. Si está convencido de que el costo no importa, hay otras razones en contra de comprar un diseño de este tipo.
Sí, las tres placas fueron diseñadas para estudiantes, diseñadores y aficionados. Están diseñados para ser lo suficientemente confiables para un kit de desarrollo que se encuentra en un escritorio. Ese estudiante debe saber algunas cosas sobre los procedimientos de manejo seguro que la población general no conoce o practica. Problemas como ESD, disipación de energía a largo plazo y reducción de componentes probablemente se degradaron por debajo de cosas que son menos importantes para la producción, como la soldabilidad y la simplicidad.
Su afinidad por los IDE y las soluciones preempaquetadas es aterradora. En mi opinión, confías demasiado en tus proveedores de herramientas. Si las placas se vuelven más caras, si se modifican los términos de la licencia, si el servidor se cae, el software se declara obsoleto, el fabricante de la placa cierra (etc., etc., etc.), su negocio está arruinado. Además, carece de comprensión de lo que sucede detrás de escena. Si algo no funciona como dice la documentación, ¿cuál es su plan? Su idea de comprar algunos Arduinos, programarlos e implementar el producto, por ejemplo, carece de un plan para la protección del código. Alguien más podría copiar su código del microcontrolador, duplicar las partes relevantes del diseño por un tercio del precio y vender más que usted.
Confiar en un IDE y un lenguaje para las cosas que no entiendes es una receta para el desastre.
El uso de un kit de desarrollo en su diseño hará que su producto sea demasiado caro, frágil, voluminoso, hambriento de energía e ineficiente. También será difícil de depurar, complicado de mantener y estará a merced de sus proveedores. Te hará parecer un incompetente.
Sin embargo, no todo está perdido. Si implementa su diseño en una placa de desarrollo, será fácil que alguien (ya sea dentro o fuera de su equipo) lo personalice para eliminar estas deficiencias. Si no tiene un equipo, debe contratar uno, traer un contratista o hacer que lo haga una empresa de diseño.
He usado una placa Arduino en un producto (no en producción a gran escala) y no lo volvería a hacer. Las placas Arduino están orientadas a un ecosistema muy cerrado (en el sentido de la palabra que no es software de código abierto). Por ejemplo, si 'sale' del ecosistema Arduino al necesitar usar un pin que no está en un encabezado en la placa de desarrollo, inmediatamente perderá todos los beneficios del Arduino. Debe modificar el tablero para llevar el pin a un encabezado existente o agregar un nuevo encabezado de alguna manera. Esto probablemente significa que no podrá usar ningún escudo existente o posiblemente incluso las bibliotecas de software para Arduino. Esa es la mayor parte del beneficio de la junta. He tenido que hacer esto con un Arduino Mega.
Además, las placas son enormes y no son fáciles de integrar con otras PCB. Hice la placa principal para mi aplicación equivalente a un escudo para el Arduino Mega que tenía orificios de montaje para la carcasa que elegí. Así que conecté el Arduino Mega a los encabezados que puse en mi tablero. Sin embargo, este era un gran tamaño para acomodar, y había mucho espacio desperdiciado debido al tamaño de la placa de desarrollo. No necesitaba la mitad de lo que había allí y solo ocupaba espacio. Esto me obligaba a tener una placa de circuito impreso y una carcasa más grandes de lo que hubiera necesitado de otro modo. Eso es dinero desperdiciado.
Arduinos &co son plataformas de prototipado y evaluación . Como tales, simplemente no son económicamente viables como base para series de producción relativamente pequeñas. Son excelentes para la educación y la simulación de ideas, pero un producto se hundiría muy rápidamente si tuviera que soportar el costo de un subensamblaje listo para usar que no era óptimo para su uso final.
Sería mucho mejor crear una nueva placa que incluya los elementos necesarios del 'duino y cualquier circuito auxiliar que tener el costo de dos placas y el riesgo de fallas en las conexiones.
Con respecto a Visual Studio y cualquier cosa .net, no los tocaría con los de otra persona. Elija algo independiente de la plataforma y el fabricante, algo así como el espíritu del propio proyecto Arduino.
En términos generales, no hay nada de malo en usar productos listos para usar. Todos hacemos esto en algún nivel, supongo que los que odian Arduino no diseñan sus propios chips, incluso a un nivel de volumen más alto que tendría sentido económico.
Siempre se reduce al costo, el cronograma y la calidad (y tal vez también a la disponibilidad a largo plazo). Si un Arduino cumple estos criterios mejor que una placa personalizada, la elección es obvia.
La parte difícil es obtener las cifras correctas, especialmente para su volumen. Pero el uso de las cifras correctas y un poco de matemática le dará el volumen de equilibrio para la elección entre usar, digamos, Arduino versus una placa personalizada. Si eso está mucho más allá de lo que espera, o muy por debajo, la elección es fácil. Así que olvídese de todos los consejos que dicen "por todos los medios, use un Arduino" o "siempre busque una placa personalizada", ambos están bloqueados en una mentalidad que pertenece a un nivel de volumen específico. Haz tus propios cálculos.
Tenga en cuenta que no tengo ningún conocimiento específico del Arduino. Tendrá que decidir por sí mismo si cumple, por ejemplo, con sus requisitos de calidad.
Los tableros personalizados son buenos si tiene un presupuesto para esto y una producción lo suficientemente grande como para justificar el trabajo. De lo contrario, se queda con los productos del estante, como placas Arduino, Netduino, Fez Domino y SBC (como en PC104 y varios formatos ITX). Hacer una placa AVR/Arduino personalizada no es demasiado complejo, pero las modificaciones importantes a Netduino o incluso el diseño (y posterior soporte) de algunas placas Linux (como Gumstix) necesitan especialistas y cuestan decenas de miles de dólares y más. Si desea que otra persona realice la mayor parte del trabajo duro y desea personalizar solo algunas partes, entonces el módulo es la palabra mágica para usted.
dave
kevin vermeer
dave
chris stratton