10 votos

¿Qué microcontrolador debo usar?

Estoy tratando de encontrar el mejor micro paquete de controlador para mi pc programas para comunicarse con el mundo real. Estoy esperando a que un gran número de terminales de e/S (hasta ahora 64 digital es todo lo que necesito, nada de lujo como analógico y PWM) que puedo leer y escribir directamente llamando a las funciones de mi programa que se ejecuta en mi CPU.

No quiero descargar programas en el micro controlador para ejecutar, más bien me gustaría algo que simplemente se conecta a mi USB y me da un montón de CPU controlada terminales de e/S que puedo controlar de mis programas de C++.

Cuál sería el mejor micro controlador paquete para mí? Espero que de algo que es bastante barato, pero el futuro de la prueba, como en la que corre USB y tiene los controladores de 64 bits para el sistema operativo moderno como Windows 7. Ser capaz de interfaz de más de uno de estos micro controladores con el mismo programa de ordenador sería un gran bono (de la expansión en el futuro).

Edit: yo no necesito a altas velocidades de muestreo (tal vez 10 Hz para la lectura de entradas, 1 kHz para señales de salida) y la mayoría de los pines se utilizan para la salida solamente. Estoy trabajando con nuevos ordenadores (core i7 860) por lo que incluso si el muestreo es un poco ineficaz o lenta, que todavía debe ser ok (sólo tiene un hilo dedicado a las e/S y tiene el principal programa de comunicarse con ella).

Yo también no necesita todos los 64 terminales de e/S en un solo micro controlador paquete. Si puedo interfaz de muchas micro controlador de paquetes al mismo tiempo, que iba a trabajar demasiado (en realidad, lo ideal sería ser capaz de interactuar de muchas pequeñas micro controlador de paquetes, lo que significa que es fácil para expandir).

He mirado este: http://www.schmalzhaus.com/UBW32/index.html

Alguien ha tenido alguna experiencia con algo como esto? Alguna idea de si funcionará o no? La principal preocupación es que es el micro controlador que se ejecuta el programa, no de mi CPU.

25voto

Lehane Puntos 6776

Esta cosatiene 70 GPIOs y una interfaz USB para $50.

17voto

Creo que lo que quieres no es un microcontrolador, pero algo como una tarjeta de E/S de PCI-6509 de instrumentos nacionales. Usted puede obtener versiones USB también, pero tienen muchos menos I/O que la PCI-6509. National Instruments venden controladores C++ así.

Si parece demasiado costoso, podría intentar algo como el Labjack U3.

4voto

Erik van Brakel Puntos 7589

La solución que usted describe no existe para bajar los precios. El problema es que desea ejecutar el software de control en un sistema que no está diseñado para ello. Serializar 64 puertos y empujando a través de USB a altas velocidades de muestreo se ralentiza el equipo host inmensamente.

Hay soluciones para la baja de rendimiento de aplicaciones como el labjack mencionado. Pero la verdadera solución que usted necesita para manejar la alta IO las tasas de involucrar a un sistema programado. La cuestión es cuál es la programación que han de utilizar para implementar el sistema.

LabView es muy costoso software (que funciona muy bien, no me malinterpreten). Utiliza un lenguaje gráfico para el diseño de software y se compila a código que se ejecuta en un FPGA o sistema de BRAZO. Todos los componentes son demasiado caros para un alto volumen incrustado app, pero absolutamente maravilloso en un entorno de pruebas debido al rápido desarrollo, de alto rendimiento que ofrece.

Una solución menos costosa es encontrar un sistema que se ejecuta en linux con muchos de I/O. EmbeddedARM.com es un sitio que ofrece muchos tipos de productos para este. El código se puede escribir puede ser en shell scripts, java, C, etc.

El Arduino sistemas de microcontroladores que pueden ser desarrollados con un sencillo entorno de desarrollo. Su naturaleza open source significa que ya hay muchos proyectos para aprender.

0voto

letronje Puntos 128

Yo recomiendo un Teensy++ 2.0 (o cualquier otro AT90USB1286 la junta de desarrollo)

128 KB de Flash, de 8 kb de RAM, 46 terminales de e/S, 8 entradas analógicas

$24

El Teensy tablas son alimentados por USB y puede proporcionar un puerto COM virtual (USB Dispositivo de Comunicaciones de la Clase). Se puede hacer uso de este enlace serie para el pin de control de protocolo. Esto funciona sin ningún tipo de controladores personalizados en Windows, OSX y Linux.

Para crear el pin de control de firmware, hay TeensyDuino o simple C.

Cuando poco a golpear, el cuello de botella va a ser el microcontrolador de la interfaz USB. Si lo desea, puede cambiar los protocolos tales como I2C y SPI hacia el microcontrolador. Para esto, usted podría usar mi Bus Ninja.

La adición de más Teensies para su instalación es sencilla, sólo se necesita un puerto USB al dispositivo, la presentación de un puerto COM virtual por dispositivo.

(Nota. Este método funcionará igual de bien con toda una gama de procesadores ARM y otros, yo no sé de ningún hoteles de placas de desarrollo con software disponible).

Otra forma podría ser la de utilizar un Arduino y una Oruga Escudo para ampliar el I/O. En una costumbre de la junta me construida alrededor de la misma I/O expansor de que yo era capaz de actualizar 256 salidas en más de 1KHz.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X