¿Qué interfaz de su PC utiliza para conectarse a hardware personalizado simple?
La interfaz más utilizada fue RS232 hace algún tiempo y hoy en día probablemente sea USB, pero ¿no sería más sencillo para los principiantes usar el puerto paralelo para controlar circuitos realmente simples como motores paso a paso o LED? Tengo la impresión por lo que he leído hasta ahora que el puerto paralelo no fue realmente diseñado para cosas como esa, pero no estoy seguro de las posibles limitaciones con respecto a eso.
Desafortunadamente, puedo encontrar muy poca literatura sobre cómo usar el puerto paralelo, probablemente porque está algo desactualizado para el hardware profesional.
¿Hace alguna diferencia para la decisión sobre la interfaz más adecuada si solo usaré la salida o también la entrada?
Debo agregar que, por supuesto, sé sobre Arduino, pero no quiero que se me oculte ninguna complejidad.
Además, estoy usando Linux y tengo un puerto paralelo disponible. Así que actualmente estoy sesgado hacia el puerto paralelo.
El puerto paralelo es excelente cuando usa Windows 98 o DOS. Todos los sistemas operativos modernos de Windows han cambiado drásticamente la forma en que funciona la interfaz del puerto paralelo, lo que hace que sea casi imposible interactuar con otra cosa que no sea una impresora. Y el puerto paralelo es básicamente obsoleto en este punto de todos modos. Además, es básicamente imposible realizar un control cronometrado con precisión desde una computadora de propósito general. Si su objetivo es milisegundos, no está tan mal. Pero si quieres bajar mucho más, se vuelve muy, muy difícil hacerlo de manera confiable. Es mejor enviar comandos de alto nivel a un microcontrolador o similar. Obtendría un Arduino si nunca antes ha usado un microcontrolador.
Si desea realizar una interfaz seria con el hardware, probablemente usará USB. Si necesita serie RS232, obtenga un chip convertidor de USB a serie. Estos están fácilmente disponibles en compañías como FTDI y Exar. La mayoría de las placas que hago tienen un encabezado en el que puedo conectar una pequeña placa adaptadora USB serie, o tienen un chip USB serie integrado. Ethernet es otra opción si necesita una comunicación de mayor velocidad, pero admitir Ethernet en su dispositivo suele ser un poco más complicado que una interfaz serial simple. También es posible interactuar con PCI, PCI express y Serial ATA si realmente necesita el rendimiento.
Editar: ya no puedo recomendar FTDI con la conciencia limpia sin mencionar también que FTDI ha lanzado un controlador que contiene un código para destruir intencionalmente (y probablemente ilegalmente) chips FTDI "falsificados". Consulte http://www.eevblog.com/forum/reviews/ftdi-driver-kills-fake-ftdi-ft232/ y http://www.eevblog.com/forum/reviews/ftdi-driver-kills-fake- ftdi-ft232/msg535270/#msg535270 para obtener más detalles. Si está considerando usar FTDI, debe sopesar los riesgos de que sus dispositivos fallen en el campo debido a este controlador, ya sea debido a que los chips falsificados se deslizan en su producción de alguna manera o algún problema con la detección de falsificaciones en el controlador FTDI.
Creo que tienes un par de opciones.
Puertos paralelos
Los puertos paralelos siguen siendo la solución más sencilla para controlar circuitos simples. Todavía existen kits que le permiten usar el puerto paralelo para controlar un conjunto de relés.
Una búsqueda rápida en la web de "kit de relé de puerto paralelo" arroja una gran cantidad de resultados. He incluido los PDF de dos de esos kits, porque contienen listas de piezas y diagramas de bloques:
El software para controlar esos kits puede ser un poco complicado, pero encontré una ingeniosa biblioteca de Python que funcionó muy bien tanto en Windows como en Linux: http://pyserial.sourceforge.net/pyparallel.html
La mayoría de las placas base modernas ya no vienen con un puerto paralelo, pero hay muchas tarjetas de expansión económicas que proporcionan uno o dos puertos paralelos. Alternativamente, puede comprar una PC económica todo en uno que aún tenga un puerto paralelo, como el Intel Atom DH2500.
Tenga en cuenta que los cables de puerto USB a paralelo generalmente no funcionarán para este tipo de cosas. Hay trucos que pueden hacerlos funcionar, pero los trucos solo funcionan para ciertos cables.
Finalmente, si desea utilizar el puerto paralelo para una instalación permanente, tenga en cuenta que durante la puesta en marcha, todos los relés se encenderán y apagarán brevemente. No hay mucho que pueda hacer al respecto, a menos que desee reescribir el BIOS de su PC.
Microcontroladores
He estado jugando con placas Arduino durante un par de meses. Es muy fácil hacer que envíe texto a la PC en el puerto serie USB, e imagino que tampoco será demasiado difícil hacer que escuche los comandos seriales de la PC.
Alternativamente, programar la placa para que haga todo el control por sí misma también es una muy buena solución. Hay montones de placas de expansión, incluidos conjuntos de relés. Las placas Arduino también son muy fáciles de alimentar: las he visto funcionar desde aproximadamente 5v hasta 20v, aunque creo que recomiendan entre 9v y 12v para uso a largo plazo.
No debería tener demasiados problemas para encontrar ayuda con los proyectos de Arduino. La comunidad para ellos es enorme y están diseñados en gran medida para los aficionados. Recomiendo encarecidamente su kit de inicio para las personas que recién comienzan con la electrónica.
Puertos serie (incluido USB)
Aprender a diseñar y construir hardware de puertos USB todavía está en mi lista de TODO. Si bien no los he usado yo mismo, he escuchado cosas buenas sobre dos libros en particular:
Solo cuestan alrededor de $ 25 cada uno, y si tiene preguntas más específicas después de leerlos, estoy seguro de que puede encontrar más ayuda haciendo preguntas específicas aquí.
Ideas de sótano de ganga
Nunca descartes las salidas analógicas de la tarjeta de sonido para poder controlar muchas cosas. Puede enviar FSK (modulación por cambio de frecuencia) a varios cientos de baudios perfectamente bien. Por supuesto, esto se puede decodificar con el chip apropiado.
Incluso puede enviar tonos que se pueden decodificar para activar o desactivar cualquier cosa que razonablemente se le ocurra. Varios tonos (cada uno con su propio decodificador) pueden controlar varias salidas simultáneamente.
Incluso he visto a una persona adjuntar un fotodiodo a parte de la pantalla de su PC y decodificar los cambios relativos en el brillo; esto tenía una pequeña área dedicada de la pantalla utilizada para transmitir datos. No puedo decir qué tan bien funcionaría con pantallas LCD, pero recuerdo que proporcionaba cientos de baudios en un CRT.
La placa de desarrollo USB Bit Whacker 18F2553 de SparkFun le permite controlar 16 líneas GPIO (ya sea de entrada o salida) desde la PC. Utiliza un Microchip PIC18F2553 y se conecta a la PC a través de USB, y aparece como un puerto COM RS-232 virtual.
El tablero cuesta $24.95. Hay una versión más elegante del Bit Whacker que usa un PIC32MX795 que tiene 78 líneas de E/S disponibles y cuesta $39.95. Lo he usado en un proyecto y donde lo controlé usando scripts de Python.
Si tuviera que diseñar un dispositivo que interactúe con una computadora, usaría una interfaz USB HID. No requerirá ningún controlador en el lado de Windows y realmente será plug'n'play. La interfaz en el lado de la PC será un poco más difícil (en comparación con un puerto serie), pero lo he hecho antes y simplemente funcionó.
Los puertos paralelos son increíbles para un hardware realmente simple. Tengo una pequeña placa que hice hace unos 10 años que proporciona 8 salidas de controlador de solenoide y 4 entradas digitales protegidas desde un puerto paralelo. El problema es que son (1) muy limitados y (2) obsoletos en las computadoras de "oficina". Probablemente aún pueda encontrar computadoras integradas que las tengan y, si "solo está jugando", hay un flujo constante de PC antiguas disponibles que las tienen. Es más difícil usarlos en Windows, pero en Linux son triviales de usar si tiene acceso de root.
Sin embargo, con el costo de los microcontroladores pequeños hoy en día, es mucho más eficiente poner todas las E/S en uno y usar la PC como interfaz de usuario, comunicándose con el micro a través de una conexión en serie o inalámbrica.
Transeúnte
Ignacio Vázquez-Abrams
Ignacio Vázquez-Abrams
enfermera pinguino
enfermera pinguino
chris stratton
pjc50