Estoy tratando de obtener un par de temperaturas en mi computadora. En mi pequeño laboratorio tengo unos 50 termistores que se parecen un poco a este termistor NTC . Ahora me gustaría obtener la temperatura de todos ellos simultáneamente y escribir su temperatura en un archivo en mi computadora (Linux, Win, Mac no importa). ¿Qué posibilidades tendría? ¿Qué costos debo esperar? ¿Hay alguna placa con un adaptador USB?
Creo que este problema es muy fácil de resolver.
Tienes dos formas a elegir:
Lo único que tiene que hacer es enviar algunos datos desde el sensor de temperatura (creo, usando el convertidor ADC). Puede usar convertidores FTDI UART <-> USB y enviar datos como señales UART normales.
Muchos uC tienen una pila USB incorporada, algunos de PIC, también de 8 bits (por ejemplo, PIC16F1459), AVR (Atmega8U2) o STM de 32 bits (como STM32F405). USB es más complicado que UART, pero puedes hacer cosas increíbles con él. Además, la clase CDC USB funciona como emulador UART sin chips adicionales.
Pero para este tipo de operación, use el convertidor UART a USB, si quiere hacerlo rápido.
Además, con Arduino puede hacerlo en unos 15 minutos, tiene un puerto serie virtual dedicado.
Pero la comunicación es simple aquí. Hay otro problema con esto. PCB para este circuito será grande. ¿Por qué? Tienes que encontrar la manera de medir los 50 canales ADC. Solo los microcontroladores con muchos GPIO pueden hacerlo sin IC multiplexor adicional. Otra cosa que debe hacer es crear algunos circuitos de prevención de ruido, porque esta cantidad de canal puede generarlo, y también, debe evitar que los canales de medición de temperatura sufran ruido del microcontrolador. Además, para aumentar la linealidad y la estabilidad, debe hacer circuitos de excitación de puente, que tomarán área. Si desea crear una PCB de 3 sensores, es muy fácil hacerlo. Pero 50 sensores... Tienes que imaginar eso.
¿Qué pasa si tienes una pequeña cantidad de canales ADC? Use multiplexores analógicos, pero luego necesita más GPIO para la lógica del multiplexor de accionamiento y más lugar para nuevos circuitos integrados en su PCB. Recuerde: los multiplexores analógicos no son ideales, por lo que un canal puede afectar a otro (tiene este tipo de información en la hoja de datos).
Si usa 50 canales en su microcontrolador, recuerde el retraso adecuado entre la conversión en varios canales, porque si cambia de canal instantáneamente, el capacitor ADC interno tendrá algo de voltaje y esto falsificará el valor de la medición.
Este problema suena fácil, pero no es tan fácil como pensamos.
Intente primero hacer un medidor de temperatura con 4 canales.
La forma más sencilla es comprar algunas placas DAQ (adquisición de datos) de una empresa como National Instruments. Para cada DAQ, construya una placa de acondicionamiento de señales para convertir los termistores en salida de voltaje. El circuito de estas placas sería muy simple: básicamente, una referencia de voltaje para toda la placa, además de una sola resistencia y un condensador para cada termistor.
PERO. Esto tiene dos inconvenientes. Primero es la velocidad. Deberá muestrear cada canal de temperatura en secuencia, en lugar de todos a la vez. Probablemente esto no sea un problema real: los termistores suelen tener constantes de tiempo en el rango de segundos, por lo que no es probable que pierda mucha precisión con el muestreo secuencial. El segundo es quizás un problema mayor: el costo. Puede obtener 32 canales a 12 bits por canal por ~$1500 por placa, y necesita 2 placas para 50 canales. Si quiere arriesgarse con eBay, es posible que pueda obtener precios más bajos en tableros usados.
Alternativamente, puede obtener una o más placas USB de E/S digital y crear la suya propia. Una placa DIO de 32 bits debería costarte ~$100, y 32 bits deberían ser más que suficientes para adquirir 50 canales. Busque en Digikey y puede obtener ADC de 8 bits de salida paralela por menos de $ 2, 12 bits por menos de $ 10 (y dependiendo del rango de temperatura que esté mirando y la resolución de temperatura que desee, 12 bits bien pueden ser necesario - los termistores son muy no lineales). Necesitaría hacer placas de PC para su acondicionamiento de señal y ADC, y puede hacer sus propias compensaciones entre la cantidad de ADC y la multiplexación. Es posible que también deba aprender multiplexación digital para seleccionar qué ADC desea leer (si usa más de uno), pero eso es algo que debe aprender de todos modos.
Wouter van Ooijen
el fotón
el fotón
el fotón