Pregunta:
Recomendación para Arduino
iklln6
2009-12-19 11:47:15 UTC
view on stackexchange narkive permalink

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

Entonces, voy a actualizar a Arduino. Estaba pensando en el Arduino Mega Starter Kit porque parece el más versátil, y sé que cualquier placa que obtenga será la placa que utilizaré durante un buen tiempo. Si pudiera hacerlo de nuevo, habría comenzado con 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 idioma entre Arduino o no. Entonces, ¿cuál recomendaría como el Arduino más versátil que logrará mis objetivos actuales y me mantendrá gordo y feliz con las capacidades para cualquier cosa extraña que desee hacer a continuación?

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

Diez respuestas:
#1
+7
edebill
2009-12-20 00:52:44 UTC
view on stackexchange narkive permalink

Parece que ha respondido en gran medida a su propia pregunta. El Mega es, con mucho, el más grande y poderoso de los Arduino. Personalmente, me inclino más por la cantidad que por la calidad, por lo que obtendría dos Arduinos menos costosos. Encuentro que los encabezados femeninos en los arduinos son algo limitantes, por lo que los diversos Arduinos de tablero tienden a recibir mi aprobación ( Really Bare Bones Boarduino y Boarduino). Por lo general, elige dos cosas cuando elige un Arduino: cuántas entradas / salidas tiene y cómo comunicarse con él. Obviamente, está al tanto de las preguntas de E / S, pero es posible que desee pensar si va a usar USB o serie (probablemente a través de USB -> adaptador serie) para programar el Arduino. Si solo va a comprar una o dos placas, el USB es el más fácil y económico. Si va a terminar con 3 o más placas, probablemente sea más económico comprar placas solo en serie y un convertidor USB -> serie por separado ( cable FTDI o placa de conexión básica FTDI).

El Arduino básico 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 placa más barata.

Si está usando el IDE de Arduino, entonces estará programando en C ++ en todos los Arduinos. La documentación de Arduino tiende a alentar el uso de solo un poco más que el subconjunto C 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 beneficio adicional, puede hacer cosas como declarar variables justo antes de usarlas, en lugar de tener que hacerlo al comienzo de las funciones. Por otro lado, tenga cuidado con las diferencias con la biblioteca estándar de C. sprintf ("% f", foo) y algunas otras cosas no funcionan por defecto. En caso de duda, presione arduino.cc y busque.

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

Respuesta impresionante: estaba planeando comprar el ATMega, que fue identificado como el más grande, pero tiene un muy muy buen punto con las múltiples placas más baratas y agregando entradas si es necesario usando multiplexores. Creo que esta es la ruta que seguiré. La limitación virtual de las entradas preconstruidas se compensaría en gran medida con las capacidades adicionales de tener varias placas. Por supuesto, usaré USB hasta que construya algo mejor (bluetooth está en el futuro, pero simplemente como un puente en serie, así que no filosóficamente diferente a serial-> usb).
#2
+3
jluciani
2009-12-19 19:18:13 UTC
view on stackexchange narkive permalink

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

Puede usar estas placas como Arduinos o como sistemas embebidos. La mayoría de estas placas tienen un encabezado de 3x2 que se ajusta a la especificación ICSP de Atmels. Usando un adaptador USB a ICSP (como el ATmel AVRISPMKII) puede programar la placa sin el cargador de arranque o las bibliotecas Arduino. Existe una amplia variedad de bibliotecas de Atmel que puede utilizar para el desarrollo de C independiente. 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 bitset y bitclear.

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

  1. ¿Cuántas E / S digitales necesita?
  2. ¿Es el uC A / D suficiente precisión y resolución?
  3. ¿Necesita una 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 uC o puede ser manejado por el host?
  7. ¿Cuántas interfaces seriales necesita? (Las dos últimas aplicaciones que hice podrían haber usado una UART más;)

Si no puede usar el A / D en la uC, y no necesita las UART, es posible que esté mejor de con el tablero más pequeño. El último gran sistema de adquisición de datos que usé usé un uC con solo unos pocos 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 interno de 10 bits o un DAC de 8 bits.

Hago un par de placas compatibles con Arduino que llevan todas las conexiones de E / S a un solo encabezado. Puede crear un sistema que tenga placas coplanares, placas apiladas, placas remotas (un cable plano) o una placa posterior. El backplane podría ser útil para un sistema de adquisición de datos que utiliza tarjetas periféricas. Mis tableros están en http://www.wiblocks.com

#3
+2
zklapow
2009-12-19 12:26:41 UTC
view on stackexchange narkive permalink

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

Sé que el Mega es un poco exagerado para una tarea simple de adquisición de datos, pero no quiero estar limitado si consigo usar toneladas de sensores. Hace un par de años compré la configuración de PICAXE para construir mi primer robot, pero ahora desearía haber investigado más para obtener algo más completo para soportar la inevitable adicción. Supongo que una pregunta más apropiada podría haber sido "¿Qué placa Arduino tiene más funciones / características?" pero no sé si esa pregunta no tiene respuesta debido a configuraciones específicas de la aplicación.
Se podría decir que el Mega tiene más funciones, pero depende de tu configuración. Si todos sus sensores son I2C, entonces no hay diferencia, todos pueden controlarse a través de un solo bus I2C, que tienen todos los arduinos, por otro lado, el serial es una historia diferente.
#5
+1
todbot
2009-12-19 16:15:19 UTC
view on stackexchange narkive permalink

Sí, obtendría dos Arduinos normales en lugar del Arduino MEGA, a menos que tenga específicamente un proyecto que requiera muchas E / S.

Es fácil hacer un proyecto que desea conservar, así que en lugar de romper su circuito para hacer un nuevo proyecto, consérvelo y obtenga otro Arduino. Si el costo de un Arduino normal es demasiado, puede construir un kit Freeduino. Y si eso es demasiado, puede hacer una configuración mínima de Arduino usando solo un ATmega8, una resistencia y un condensador.

#6
+1
Amos
2009-12-19 16:19:13 UTC
view on stackexchange narkive permalink

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 Ensamblador, eliminando el Gestor de arranque PicAXE y utilícelos como PIC estándar. De esta manera puedes programar tus chips con mucha más flexibilidad.

Así que podrías tomar el chip en tu datalogger, por ejemplo, reprogramarlo en C para hacer lo que quieras y reemplazarlo en el mismo circuito. Aunque es posible que deba quitar 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).

#7
+1
Mike M
2009-12-26 07:33:45 UTC
view on stackexchange narkive permalink

un clon arduino casi completamente funcional (p. ej., un duinostamp de Fundamentalogic) se puede obtener por tan solo $ 10-12 ... y una vez que haya terminado de crear el prototipo, es bastante fácil de incrustar en su proyecto y libérelo en la naturaleza. Incrustar un Arduino (TM) completo sería una exageración en mi opinión. Yo diría que obtenga los más baratos y obtenga un cable FTDI para cargar 'bocetos' (a través del IDE de arduino), etc. chip quemando el gestor de arranque usted mismo)

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

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

#8
  0
russ_hensel
2009-12-19 22:12:21 UTC
view on stackexchange narkive permalink

Considere algunas tablas barebones en forma de kit, funcionan bien con la placa de pruebas, muy económicas. Inconvenientes: son rs232 ttl y no llevan escudos. Maker shed tiene algunos adaptadores de std 232. Moderndevice.com obtiene la placa. Menos de 15 dólares, como recuerdo.

#9
  0
JRobert
2011-10-22 19:43:45 UTC
view on stackexchange narkive permalink

Una gran ventaja del Mega es que tiene más memoria y 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 ciertamente apreciará el espacio RAM adicional para matrices, registros, búferes de anillo, listas vinculadas, etc., sin tener que inventar esquemas de compresión (con tanta frecuencia ...) para que quepan en menos RAM, especialmente mientras está depurando o probar conceptos.

#10
  0
ViennaMike
2012-10-09 21:24:57 UTC
view on stackexchange narkive permalink

Otra opción para una placa de pruebas compatible con arduino es Teensy. Tienen un conector mini-USB, por lo que no necesita el USB externo a serie, y se pueden programar como un Arduino usando el código proporcionado gratis para agregarlo al IDE de Arduino (o programarlo como un AVR directo, su elección). Están disponibles con y sin los encabezados para el tablero. He usado varios de estos en varios proyectos.



Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 2.0 bajo la que se distribuye.
Loading...