Medición de temperatura en USB [cerrado]

2

Estoy tratando de poner un par de temperaturas en mi computadora. En mi pequeño laboratorio tengo unos 50 termistores que se parecen un poco a esto NTC-Thermistor . 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 tengo que esperar? ¿Hay alguna placa con un adaptador USB?

    
pregunta Socrates

2 respuestas

0

Creo que este problema es muy fácil de resolver.

Tienes dos formas de elegir:

  • convertidor de UART a USB
  • Real USB con clase HID o CDC

Lo único que tienes que hacer es enviar algunos datos desde el sensor de temperatura (creo, usando el convertidor ADC). Puede usar FTDI UART < - > Convertidores USB - y envían datos como señales UART normales.

Muchos uC tienen una pila USB incorporada, parte 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 un emulador de UART sin chips adicionales.

Pero para este tipo de operación, use el convertidor de UART a USB, si quiere hacerlo rápido.

También, con Arduino puedes 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 un multiplexor IC adicional. Otra cosa que hacer es crear algunos circuitos que eviten el ruido, ya que esta cantidad de canal puede generarlo, y también es necesario evitar que los canales de medición de la temperatura emitan ruido del microcontrolador. También para aumentar la linealidad y la estabilidad tiene que hacer circuitos de excitación de puente, lo que tomará área. Si quieres crear un 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 necesitará más GPIO para la lógica del multiplexor de la unidad y más lugar para los 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 acerca de la demora adecuada entre la conversión en varios canales, ya que si cambia de canal instantáneamente, el capacitor interno de ADC tendrá algo de voltaje, y esto falsificará el valor de medición.

Este problema parece fácil, pero no es tan fácil como pensamos.

Primero intenta hacer un medidor de temperatura con 4 canales.

    
respondido por el Sławomir Kozok
0

La forma más sencilla es comprarse algunos tableros DAQ (adquisición de datos) de una compañía como National Instruments. Para cada DAQ, construya una placa de acondicionamiento de señal para convertir los termistores en salida de voltaje. Los circuitos para estas tarjetas serían muy simples: básicamente, una referencia de voltaje para toda la tarjeta, además de una resistencia individual y un condensador para cada termistor.

PERO. Esto tiene dos inconvenientes. Lo primero es la velocidad. Necesitaría muestrear cada canal de temperatura en secuencia, en lugar de todos a la vez. Es probable que este 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 más grande: el costo. Puede obtener 32 canales a 12 bits por canal por ~ $ 1500 por placa, y necesita 2 placas para 50 canales. Si desea arriesgar eBay, puede obtener precios más bajos en los tableros usados.

Alternativamente, puede obtener una o más tarjetas USB IO digitales y enrollar las suyas propias. Una placa DIO de 32 bits debería hacer retroceder ~ $ 100, y 32 bits deberían ser más que suficientes para adquirir 50 canales. Busque en Digikey y podrá obtener ADCs de 8 bits de salida en paralelo 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, es posible que 12 bits sean necesario - los termistores son muy no lineales). Necesitaría hacer tarjetas de circuitos impresos para su acondicionamiento de señal y ADC, y puede hacer sus propias compensaciones entre la cantidad de ADC y la multiplexación. También es posible que necesite 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.

    
respondido por el WhatRoughBeast

Lea otras preguntas en las etiquetas