P. Tengo un indicador (de combustible) que acepta un rango de resistencia configurable (0-500 ohmios, dos cables, uno a tierra), que quiero controlar con un microcontrolador (Arduino Pro Mini o Nano con un Atmel 328P) .
Algunas consideraciones:
Creo que el indicador está diseñado para ser controlado por un reóstato, ya que requiere un rango de resistencia lineal, corríjame si mi suposición es incorrecta).
¿Cuáles serían mis opciones? ¿Podría hacerse de alguna manera usando la salida analógica de Arduino? Al investigar, me encontré con Digi-Pots, DAC y JFET. Pero la aplicación nunca fue la misma que estoy haciendo, a menudo usando PWM y más orientada a voltajes que a resistencia...
Actualizar; Algunos detalles más:
Actualizar; salida no como se esperaba:
Estoy midiendo una constante de ~ 19 kOhm en la salida del circuito (multímetro entre el cable de "salida" y tierra). Esperaría que varíe a medida que cambia el ciclo de trabajo de PWM.
Todavía no he conectado el indicador de combustible, ya que primero quiero asegurarme de que el circuito esté bien. He conectado mi multímetro en su lugar. Tal vez simplemente no funciona así, ¿tal vez la salida de corriente del multímetro es demasiado débil?
La salida PWM es correcta según mi multímetro; me da un buen ciclo de trabajo de 490Hz 0-100%.
Adjunto una foto del diseño de mi protoboard. Mi teléfono no tiene una gran cámara, así que agregué los nombres de los componentes. Lo que no está claro en la foto es que tanto la resistencia de 10k que proviene del LM como el pin 3 del Mosfet están en la misma fila 10, la pequeña resistencia de 10pF está en las filas 10 y 11. Creo que he copiado el esquema con bastante precisión. . No tenía algunos valores de resistencia exactos, así que usé valores cercanos, que creo que deberían ser lo suficientemente buenos para ver el resultado.
No solo estoy tirando mi problema por la cerca, sino que cualquier sugerencia sería bienvenida, todavía tengo solo unos meses en esto. :) ¡Gracias!
*error tipográfico: 10pf = 10nf
Si el rango es de 0 a 500 ohmios para un vehículo de 12 V, eso significa que la corriente máxima es de 15 V/500 mA = 0,03 A. Lo más probable es que sea una fuente de corriente constante de 10 mA y 500 ohmios hace 5V.
Podría ir por el camino difícil y hacer una resistencia variable, pero también podría usar un opamp de colector abierto y hacer retroalimentación de voltaje. Podría usar su salida analógica Arduino que, hasta donde yo sé, es en realidad una salida PWM, para controlar este circuito. En el firmware de su MCU, puede asignar PWM a % de combustible para obtener una mayor precisión.
simular este circuito : esquema creado con CircuitLab
Actualización: las entradas de LM393 son bastante buenas con voltajes cercanos a 0, pero su salida se saturará a 100-200 mV (máximo 700 mV en el rango de temperatura más amplio), por lo que obtendrá menos precisión cerca de cero. Si la aplicación es automotriz, puede usar Lm2903 de temperatura amplia. versión o mejor NCV2903 - versión automotriz.
Actualización 2: El || El símbolo es una forma abreviada para representar una resistencia paralela equivalente.
Una cosa más : si la corriente máxima es de 18-19 mA, puede ser demasiado alta para la salida de LM393/LM2903. Puede ampliar la capacidad de corriente de salida utilizando un MOSFET de pequeña señal de esta manera:
R5 actúa como una resistencia pull-up para la salida de colector abierto de OpAmp. Si usa otro OpAmp con salida completa, puede omitir esta resistencia, pero asegúrese de que el OpAmp pueda reducir su salida a 1V con respecto a tierra (-Vss). C2 limita la ganancia de CA del transistor, puede experimentar su valor para obtener la máxima estabilidad. R1 está conectado al drenaje del transistor para cerrar el circuito de retroalimentación de CC de la salida del circuito. El diodo Zener D1 (12V) limita el voltaje máximo aplicado en la puerta del MOSFET. Debido a que M1 invierte la polaridad de la señal, las entradas de OA1 deben invertirse en comparación con el esquema anterior.
cris m
dandavis
svenema
svenema
cris m
Todor Simeonov
svenema
Todor Simeonov
Todor Simeonov
svenema
svenema