Programación de microcontroladores autónomos vs Arduino

5

Arduino es genial para programar y usar. Pero si necesito producir un microcontrolador independiente (por ejemplo, en el caso de la fabricación de un dispositivo), creo que necesito conocer la programación PIC, el lenguaje C, el kit del programador, etc.

1) Arduino no está utilizando C.

2) Usando la placa Arduino no puedo programar ningún microcontrolador PIC

Mi pregunta es que si hago un dispositivo y no puedo usar Arduino para el objetivo final, ¿significa que también tengo que aprender programación PIC y muchos otros aspectos? ¿Es Arduino solo para probar sus ideas en lugar de implementarlas para un uso independiente?

    
pregunta user16307

7 respuestas

15

Puede usar un microcontrolador AVR en su producto para ejecutar el código que desarrolla en una placa de desarrollo Arduino.

Arduino es una buena plataforma de desarrollo y creación de prototipos porque viene con muchas instalaciones de hardware listas para usar, pero eso es lo que hace que sea demasiado caro para un producto. Puede utilizar el mismo tipo de chip de microcontrolador, o un similar, sin la placa Arduino completa a su alrededor.

Esta página del sitio web de Arduino describe cómo realizar el empapelado de un chip y un cristal del controlador AVR sin carga, y cargar su Programa Arduino en él.

    
respondido por el JRobert
10

Los periféricos de hardware reales necesarios para hacer un arduino son bastante mínimos. Diablos, incluso pueden soldarse directamente al chip si desea:

La diferencia real radica en el software. Al programar directamente en C o incluso en Ensamblaje, puede lograr un mejor rendimiento en menos espacio de programa, lo que le permitiría utilizar un AVR más pequeño en producción.

    
respondido por el Stefan Paul Noack
7

Cuando estás programando el Arduino, en realidad estás programando en un subconjunto de C ++. AVR-GCC es el compilador incluido con la aplicación Arduino para compilar su código. Lo que proporciona el entorno Arduino es una capa de abstracción de hardware agradable para facilitar el trabajo de tratar con las complejidades de la programación del microcontrolador. Puedes enfocarte en la funcionalidad de tu código y las bibliotecas de Arduino manejan las cosas de bajo nivel.

Esto viene en el costo de rendimiento. La capa de abstracción de Arduino puede demorar 10-20 veces más en algunas cosas que solo tratar directamente con los registros de microcontroladores. Sin embargo, esto no es una preocupación para la mayoría de las personas, a menos que estén tratando de hacer proyectos muy complejos e intensivos en procesadores.

    
respondido por el ducksauz
5

No es necesario que conozca la programación de PIC, a menos que desee utilizar un microcontrolador PIC. Los microcontroladores AVR de Atmel que utilizan las placas Arduino son muy similares a los PIC en cuanto a su idoneidad para el uso en un dispositivo fabricado real.

Un microcontrolador AVR programado con un boceto Arduino se puede usar en un 'dispositivo fabricado'. Este microcontrolador no tiene que vivir en una placa Arduino, simplemente puede ser parte de su dispositivo.

    
respondido por el Tom Davies
2

Depende. Ciertamente puedes usar un Arduino en un dispositivo comercial. Es especialmente útil si solo va a producir uno o dos dispositivos de este tipo, y al cliente no le importa el costo y el tamaño del Arduino.

Sin embargo, si tiene la intención de producir miles o millones de dispositivos, entonces probablemente encontrará que los está vendiendo a un precio que descarta el costo de Arduino. En ese caso, es casi seguro que necesitará cambiar a un microcontrolador adecuado.

Aprender a usar un microcontrolador realmente vale la pena si tiene la intención de ganarse la vida en este campo. Sin embargo, no necesita saltar directamente a C. Por qué no probar el sistema PICAXE . Puede usar un microcontrolador PIC, pero programarlo en BÁSICO.

    
respondido por el Rocketmagnet
1

Si desea fabricar un dispositivo de microcontrolador, puede hacerlo en el microcontrolador AVR, en el microcontrolador PIC o en los de ARM.

Por lo general, los microcontroladores AVR no vienen con capacidades de conexión USB, necesitará un dispositivo especial para programarlo, pero hay algunos dispositivos ARM (NXP LPC1343 o LPC17 **) que vienen con USB y Ethernet integrados. Solo se necesitan un conector USB y un par de resistencias.

Tendrás que aprender programación en C para programar eso, pero ya hay bibliotecas que lo hacen casi tan simple como arduino para ti - enlace y enlace tienen tableros de desarrollo basados en ARM y pilas de software. Realmente te recomiendo que busques ejemplos de cerebro anterior.

    
respondido por el miceuz
1

Teniendo en cuenta algunos factores, los tableros de desarrollo LPC1343 (Olimex LPC P1343) y LPC1769 (NXP OM13000) son algo que debería considerar.

  • Se basan en la arquitectura principal de ARM. (En el sentido de que ARM es una de las dos arquitecturas RISC estándar / principales: MIPS y ARM).
  • Utilizan el conjunto de herramientas C estándar de 32 bits.
  • LPC17xx tiene una MPU incorporada, por lo que puede cargarla con uCLinux u otro sistema operativo basado en protección. Eso significa una aplicación de software más complicada que puede incorporar a su producto.
  • Debido a las razones anteriores, será más fácil encontrar ingenieros calificados y encontrar diseños de referencia de calidad industrial.

Esto es solo mi 2c. Después de todo, es su decisión considerar no solo el costo inicial, sino también la facilidad posterior para diseñar, desarrollar, implementar / vender su producto, a un volumen que usted prevea, y a una velocidad que hace que su producto sea rentable.

    
respondido por el minghua

Lea otras preguntas en las etiquetas