2010-09-29 21 views
7

Me gustaría controlar un modelo RC a través de USB desde mi computadora. No necesito un control de radio real, por lo que controlar los servos directamente a través de los cables es suficiente (sí, habrá cables entre el modelo y la unidad de control). Pensé que construiría un dispositivo basado en microcontroladores que estaría conectado a la computadora a través de USB y los servos estarían conectados a este dispositivo.Construir un periférico USB

Estoy preguntando por dónde debería comenzar. Sé cómo se controlan los servos y cómo eventualmente programaré el microcontrolador para controlar los servos, pero de lo que realmente no sé mucho es de la comunicación USB ni desde el lado del dispositivo ni desde el lado de la computadora (que será Linux).

Me gustaría hacer el programa en C (tal vez Ensamblador para el microcontrolador).

Gracias por cada pista.

Respuesta

6

Es posible que desee comenzar con algo así como un Arduino, que es un microcontrolador en una placa separada con la que puede hablar a través de USB. Hay grandes entornos de desarrollo y comunidad para proyectos Arduino.

Si utiliza un chip FTDI solo, aún necesitará algo para comprender las instrucciones en serie RS232 de la computadora y para controlar las líneas de los servos. Aquí es donde el Arduino será realmente útil.

+0

... e incluso puede programar el Arduino en C. – caf

+0

No estoy seguro del Arduino - ¿Puedo hablar con él a través de USB y tener servos conectados directamente a la placa Arduino? ¿Tengo que programar la placa (y escribir un controlador para la computadora) para la comunicación USB? – zegkljan

+1

Puede conectar servos directamente al Arduino. Puede escribir su software (siempre que sea lo suficientemente pequeño) para ejecutar autónomamente en el Arduino, o puede hacer que su computadora se comunique con el Arduino en vivo a través de un puerto serie. El Arduino aparece como un puerto serial regular en la computadora, no se necesitan controladores de PC especiales, si quieres seguir esa ruta. –

7

La manera más fácil será usar un puente RS232 a USB, como los chipsets ofrecidos desde FTDI. Esto simplificará tanto el hardware como el diseño del software para PC (no se necesita un controlador USB). La mayoría de los microcontroladores tienen al menos un puerto RS232 para conectarse.

Algunos microcontroladores ofrecen compatibilidad con USB. En ese caso, deberá hacer alguna programación USB en ellos y usar libusb en el lado de la PC.

+1

+1 El chip FTDI es exactamente lo que iba a recomendar. – Kevin

+0

Algunos de los chips FTDI tienen algunos pines GPIO que se pueden usar para controles. Algunos se pueden configurar para proporcionar un bus de hardware de dirección/datos/control simple. Cualquiera de estos puede evitar la necesidad de un microcontrolador también. Pero un FTDI más un PIC o ATTiny para hacer el control servo PWM puede ser el enfoque más simple. – RBerteig

+0

Solo recuerda "sudo apt-get purge brltty" en Ubuntu ... si usas Ubuntu. Ese es el terminal braille que se instala por defecto y supone que todos los chips FTDI en el universo están conectados a terminales braille. – slebetman

2

El USB es un sistema bastante complicado de administrar, y muchas personas optan por usar un chip serie existente sobre USB para evitar tener que escribir controladores del sistema operativo y también evitar las complejidades de programar el lado del dispositivo del USB. Si te interesan los robots y aún no estás familiarizado con el USB, esta es probablemente la mejor ruta.