Recomendación para Arduino [cerrado]

7

Bien, aquí hay información de antecedentes que lleva a la pregunta [obvia] con más detalles: He estado usando un PICAXE de 28 pines para pequeños proyectos aquí y allá durante los últimos años y estoy listo para avanzar. Mi proyecto actual es el PICAXE como un módulo de adquisición de datos. Simplemente monté la placa dentro de un gabinete y ejecuto las entradas y salidas a [un montón] de terminales de tornillo en el exterior para un intercambio de componentes rápido e indoloro. (Y para una mayor visualización, también incorporé un regulador de 5V y un conector de CC para poder conectar una verruga universal de pared y conecté la conexión USB a un mini-usb que se puede conectar desde el exterior). Bueno, la interfaz con la computadora es un gran problema con el PICAXE, y solo se puede programar con su programa oficial.

Por lo tanto, voy a actualizar a Arduino. Estaba pensando en el Arduino Mega Starter Kit porque parece ser el más versátil, y sé que cualquier tablero que consiga será el tablero Estaré usando por un buen rato. Si pudiera volver a hacerlo, habría empezado con el Arduino.

Lo que más me interesa es la adquisición de datos y el envío de datos a mi computadora, así como la automatización, que sé que no será un problema. Tengo experiencia con C y BASIC pero prefiero C; No estoy seguro de si hay una diferencia en el lenguaje en Arduino o no. Entonces, ¿qué recomendaría usted como el Arduino más versátil que logrará mis objetivos actuales y me mantendrá gordo y feliz con las capacidades para las cosas extrañas que deseo hacer a continuación?

Como una pregunta secundaria: ¿es posible interconectar alguno (o todos) de los Arduino con LabVIEW?

    
pregunta iklln6

10 respuestas

7

Parece que en gran parte has respondido tu propia pregunta. El Mega es, con mucho, el más grande y poderoso de los Arduinos. Personalmente me inclino más por la cantidad que por la calidad, así que obtendría dos Arduinos menos costosos. Encuentro que los encabezados femeninos en los arduinos son algo limitados, por lo que los diversos Arduinos tienden a obtener mi aprobación ( Really Bare Bones Boarduino y Boarduino ). Por lo general, está eligiendo dos cosas cuando elige un Arduino: cuántas entradas / salidas tiene y cómo comunicarse con él. Obviamente, usted está al tanto de las preguntas de E / S, pero puede pensar si va a usar USB o serial (probablemente a través de USB - > adaptador de serie) para programar el Arduino. Si solo vas a comprar una o dos tarjetas, entonces el USB es el más fácil y barato. Si va a terminar con 3 o más tableros, probablemente sea más barato comprar tableros solo en serie y un USB separado - > convertidor en serie ( cable FTDI o FTDI basic breakout board ).

La base Arduino es increíblemente capaz y es bastante fácil agregar entradas adicionales con circuitos integrados multiplexores baratos. Si no tiene una necesidad inmediata de entradas adicionales, podría valer la pena comenzar con una tabla más barata.

Si está utilizando el IDE de Arduino, entonces estará programando en C ++ en todos los Arduinos. La documentación de Arduino tiende a animar a usar solo un poco más que el subconjunto de C ++ (básicamente C con solo uno o dos extras), por lo que un programador de C debería sentirse muy cómodo. Como bono adicional, puede hacer cosas como declarar variables justo antes de usarlas, en lugar de tener que hacerlo al inicio de las funciones. Por otro lado, tenga cuidado con las diferencias de la biblioteca estándar de C. sprintf ("% f", foo) y algunas otras cosas no funcionan de forma predeterminada. En caso de duda, pulse arduino.cc y busque.

En cuanto a la comunicación con la computadora, personalmente estoy usando Ruby on Rails para hablar con mis proyectos de Arduino, pero la mayoría de la gente parece preferir el procesamiento. Todo se reduce a un puerto serie, por lo que puede usar lo que le resulte más cómodo.

    
respondido por el edebill
3

Hasta la fecha, todos los sistemas Arduino y compatibles consisten en una placa con un chip Atmel (como un '168 o 328), un cargador de arranque, una biblioteca de alto nivel y una GUI multiplataforma. El gestor de arranque le permite descargar programas desarrollados en el host mediante el puerto serie de uC. La mayoría de las personas convierten el puerto serie uC a una conexión USB utilizando una variedad de FTDI USB a interfaz serial. La interfaz serial / USB podría usarse con LabView.

Puedes usar estos tableros como Arduinos o como sistemas integrados. La mayoría de estas tarjetas tienen un encabezado 3x2 que cumple con la especificación Atmels ICSP. Usando un adaptador de USB a ICSP (como el ATmel AVRISPMKII) puede programar la placa sin el cargador de arranque o las bibliotecas de Arduino. Hay una amplia variedad de bibliotecas de Atmel que puede usar para el desarrollo de C autónomo. La mayor parte de mi desarrollo se realiza utilizando el puerto ICSP, gcc y un Makefile. Las bibliotecas de Arduino hacen un excelente trabajo al proporcionar control de hardware a un alto nivel. A veces la compensación es el rendimiento. En una aplicación reciente, noté una mejora importante en la velocidad cuando cambié las declaraciones de digitalWrite a operaciones de bitet y bitclear.

La placa correcta depende más de su aplicación -

  1. ¿Cuántas E / S digitales necesita?
  2. ¿Es la UC A / D suficiente precisión y resolución?
  3. ¿Necesita salida analógica? ¿Qué precisión y resolución?
  4. ¿Necesita acondicionamiento de señal?
  5. ¿Necesita aislamiento?
  6. ¿Necesita una marca de tiempo de los datos en la placa de control de datos o puede ser manejado por el anfitrión?
  7. ¿Cuántas interfaces seriales necesitas? (Las dos últimas aplicaciones que he hecho. podría haber utilizado un UART más;)

Si no puede usar el A / D en la unidad uC, y no necesita los UART, puede ser mejor Con la tabla más pequeña. El último sistema de adquisición de datos de gran tamaño que usé usaba una unidad de control de datos con solo algunos periféricos. Necesitábamos un A / D de 16 bits y un DAC de 14 bits. No tenía sentido pagar por un A / D de 10 bits interno o un DAC de 8 bits.

Hago un par de tarjetas compatibles con Arduino que llevan todas las conexiones de E / S a un solo encabezado. Puede crear un sistema que tenga tableros coplanares, tableros apilados, tableros remotos (un cable plano) o un panel posterior. El panel posterior podría ser útil para un sistema de adquisición de datos que utiliza tarjetas periféricas. Mis tableros se encuentran en enlace

    
respondido por el jluciani
2

Si solo está realizando la adquisición de datos, el Mega parecería un poco superfluo, a menos que, por supuesto, esté utilizando toneladas de sensores o necesite varios puertos serie. Yo diría que simplemente por la adquisición de datos estarías bien con solo Diecimila (nuevamente, dependiendo de lo que realmente necesites hacer con él)

    
respondido por el zklapow
2

Responda a su pregunta secundaria: sí, hay un kit de herramientas gratuito de LabVIEW para Arduino y todo comunidad sobre el tema .

    
respondido por el mxyzplk
1

Sí, obtendría dos Arduinos regulares en lugar de Arduino MEGA, a menos que específicamente tenga un proyecto que requiera mucha E / S.

Es fácil hacer un proyecto que quieras mantener, así que en lugar de desgarrar tu circuito para crear un nuevo proyecto, manténlo y obtén otro Arduino. Si el costo de un Arduino regular es demasiado alto, puedes construir un kit Freeduino. Y si eso es demasiado, puede hacer una configuración mínima de Arduino utilizando solo un ATmega8, una resistencia y un condensador.

    
respondido por el todbot
1

Una solución ligeramente diferente a su pregunta es tener en cuenta que sus PicAXE son solo un PIC preprogramado, el manual enumera las siguientes equivalencias:

  • PICAXE-28X1 = PIC16F886
  • PICAXE-28X2 = PIC18F2520 (versión 3V PIC18F25K20)

y chips obsoletos:

  • PICAXE-28A = PIC16F872 (Reemplazado por 28X1)
  • PICAXE-28X = PIC16F873A (Reemplazado por 28X1)

Entonces, en teoría, podría obtener un programador que admita estos PIC y reprogramarlos en C o en el ensamblador, eliminando el cargador de arranque PicAXE y usándolos como PIC estándar. De esta manera puedes programar tus chips con mucha más flexibilidad.

Por ejemplo, puede tomar el chip en su registrador de datos, reprogramarlo en C para hacer lo que desee y reemplazarlo en el mismo circuito. Aunque es posible que tenga que eliminar el circuito de programación PicAXE, si lo tiene en su lugar, no sé qué tan cerca imita el circuito ICSP de PIC (creo que no usará el conector de audio).

    
respondido por el Amos
1

un clon arduino casi completamente funcional (por ejemplo, un duinostamp por Fundamentalogic ) se puede obtener por tan solo $ 10-12 ... y una vez que haya terminado la creación de prototipos, es bastante fácil integrarla en su proyecto y liberarla en la naturaleza. Incrustar un Arduino (TM) completo sería un exceso de imo. Yo diría que obtenga los más baratos y obtenga un cable FTDI para cargar 'bocetos' (a través del IDE arduino), etc. También puede obtener un programador de ISP si planea poner cargadores de arranque personalizados, etc. (o simplemente ahorre dinero chip al quemar el gestor de arranque usted mismo

Soy un principiante y al principio conseguí el tablero Duemilanove, pero también conseguí un boarduino después de jugar con el original, ya que es mucho más fácil hacer prototipos con él directamente en el tablero. En el futuro, tengo la intención de construir solo el sello "duino" de barebones o equivalente para incrustar en cualquier proyecto.

Arduino (tm) es genial para comenzar, pero descubrí muy rápidamente que para los proyectos reales que tengo la intención de lanzar a la naturaleza, necesitaría algo más flexible ... y más barato (además de que los encabezados femeninos pueden obtener un poco desagradable, aunque son geniales para principiantes)

    
respondido por el Mike M
0

Considere algunas tablas barebones en forma de kit, trabaje bien con el tablero de pan, muy barato. Inconvenientes: son rs232 ttl y no llevan escudos. El cobertizo del fabricante tiene algunos adaptadores de la norma 232. Moderndevice.com es la fuente del tablero. Menos de 15 dólares como recally.

    
respondido por el russ_hensel
0

Una gran ventaja para el Mega es que tiene más memoria y la RAM, en particular, es bastante limitada en microcontroladores. Dependiendo de los tipos de experimentos que desee realizar, puede apreciar el flash adicional para programas grandes y el almacenamiento de cadenas constantes; y sin duda apreciará el espacio extra de RAM para los arreglos, registros, buffers de anillo, listas enlazadas, etc., sin tener que inventar esquemas de compresión (muy a menudo ...) para que quepan en menos RAM, especialmente mientras realiza la depuración. o probando conceptos.

    
respondido por el JRobert
0

Otra opción para un compatible con Arduino basado en Breadboard es Teensy . Tienen un conector mini-USB, por lo que no necesita el USB externo a la serie, y puede programarse como un Arduino utilizando el código gratuito que se incluye para agregarlo al IDE de Arduino (o programa como un AVR directo, su elección). Están disponibles con y sin los encabezados para el empacar. He usado varios de estos en varios proyectos.

    
respondido por el ViennaMike

Lea otras preguntas en las etiquetas