Continuamos lidiando con las opciones de implementación para un voltímetro: un amperímetro basado en un microprocesador.
No olvide el archivo con los archivos, los necesitaremos hoy.
Si quieres poner indicadores grandes, tendrás que solucionar el tema de limitar el consumo de corriente a través de los puertos MK. En este caso, es necesario colocar transistores de búfer en cada bit del indicador.
Grandes indicadores
Entonces, el esquema considerado anteriormente tomará la forma que se muestra en la Fig. 2. Se agregaron tres transistores VT1-VT3 de la etapa de búfer para cada bit del indicador. La etapa de búfer instalada invierte la señal de salida del MK. En consecuencia, el voltaje de entrada basado en VT2 es inverso con respecto al colector del transistor especificado, lo que significa que es adecuado para suministrar una coma a la salida. Esto hace posible quitar el transistor VT1, que estaba previamente en el circuito de la Fig. 1, reemplazando este último por una resistencia de desacoplamiento R12. No olvide que los valores de las resistencias en los circuitos base de los transistores VT1-VT3 también han cambiado.
Si desea colocar indicadores con dimensiones inusualmente grandes, deberá colocar resistencias de baja resistencia (1 - 10 ohmios) en el circuito colector de estos transistores para limitar los picos de corriente cuando se encienden.
La lógica del MK para esta opción solo necesita un ligero cambio en el programa en términos de invertir la señal de salida del control de bits, a saber, los puertos RA0, RA1, RA5.
Consideremos solo lo que cambiará, a saber, la subrutina que ya conocemos bajo el nombre condicional "Función de formación de visualización dinámica" en Listado #2(ver la carpeta "tr_OE_30V" en el archivo o la primera parte del artículo):
16. Indicador de anulación ()( 17. while (mostrar_dígito< 3) { 18. portc = 0b111111; // 1 ->C 19. if (show_digit == 2)( delay_ms(1); ) 20. porta = 0b100111; 21. mostrar_digito = mostrar_digito + 1; 22. cambiar (mostrar_dígito) ( 23. caso 1: ( 24. si (dígito1 == 0) ( ) más ( 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1)<<0)); //0 ->A0 27. ) romper;) 28. caso 2: ( 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1<<1)); //0 ->A1 31. romper;) 32. caso 3: ( 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1<<5)); //0 ->A5 35. descanso;) ) 36. Delay_ms(6); 37. si (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Delay_ms(1);) 39. if ((show_digit >= 3)!= 0) break; 40.) mostrar_dígito = 0;)
Compara ambas opciones. La inversión de señal en el puerto RA (línea 20 del Listado n.º 2) es fácil de leer porque está escrita en forma binaria. Basta con combinar las conclusiones del MK y el número binario. En las líneas 19 y 37, aparecieron condiciones un poco extrañas que no estaban allí al principio. En el primer caso: "retardar la señal del cero lógico en el puerto RA1 durante la indicación del segundo bit". En el segundo: "si el puerto RA2 tiene un cero lógico, inversión". Cuando compila la versión final del programa, puede eliminarlos, pero son necesarios para la simulación en PROTEUS. Sin ellos, la coma y el segmento "G" no se mostrarán normalmente.
¿Por qué? - preguntas, porque la primera opción funcionó muy bien.
Para terminar, recordad las palabras del herrero de la película "Fórmula del amor": "... ¡si una persona ha construido, otra siempre puede desmontarla!".
¡Buena suerte!
voto del lector
El artículo fue aprobado por 27 lectores.
Para participar en la votación, regístrese e ingrese al sitio con su usuario y contraseña.En este dispositivo, el autor usó el método original de controlar un indicador LED de cuatro dígitos y siete elementos con señales de solo cuatro pines del microcontrolador. El programa del microcontrolador prevé la calibración automática del voltímetro.
La conexión tradicional de un indicador digital LED con un microcontrolador a través de un convertidor serie a paralelo 74HC595 requiere el uso de tres salidas del microcontrolador para controlar el convertidor de código y una salida más para cada dígito del indicador. Por lo tanto, un indicador de cuatro dígitos requiere siete pines. Esto hace que sea imposible usar dichos indicadores con microcontroladores de bajo rendimiento, por ejemplo, con PIC12F675, que tiene solo seis pines (sin contar los pines de alimentación).
En la segunda etapa, la diferencia de nivel ascendente en el pin 12 del chip 74HC595 reescribe el contenido cero del registro de desplazamiento en el registro de espera. Esto apaga completamente el indicador.
En la tercera etapa, la información se carga en el registro de desplazamiento del microcircuito 74HC595 con un código de serie generado por el microcontrolador en el pin 14 del microcircuito. Su salida 11 recibe pulsos de reloj.
En la cuarta etapa, con una diferencia de nivel creciente en el pin 12 del microcircuito 74HC595, la información de su registro de desplazamiento ingresa al registro de almacenamiento y, debido a los altos niveles en los cátodos, las descargas del indicador permanecen apagadas.
En la quinta etapa, en el cátodo común de la descarga, para el cual está prevista la salida del código paralelo a las salidas del microcircuito 74HC595, el programa establece un nivel bajo, encendiendo sus elementos de acuerdo con este código. Esto completa el procesamiento de la interrupción y el estado del indicador establecido permanece sin cambios hasta la siguiente interrupción.
Para controlar un indicador de ocho dígitos, se requieren ocho salidas de microcontrolador. En este caso, las señales de las cuatro salidas adicionales simplemente controlan los niveles en los cátodos de las descargas. Cabe señalar que en este caso es posible utilizar indicadores con cátodos comunes y ánodos comunes, elementos de conexión o descargas a las salidas del convertidor de código, respectivamente. Por las razones expuestas a continuación, es preferible organizar la indicación dinámica elemento a elemento en el primer caso y bit a bit en el segundo.
Ahora hablemos de un voltímetro que usa el principio descrito.
Características técnicas principales
Tensión medida, V .............. 0...80
Discreción de medida, V ...... 0,1
Precisión..................0,5% + unidades mililitros res.
Tensión de alimentación, V...........7...15
Corriente de consumo, mA, no más de .........................30
El circuito del voltímetro se muestra en la fig. 1. Utiliza indicación dinámica elemento por elemento. En cada momento, se establece un nivel alto en los ánodos de un grupo de elementos del mismo nombre de todos los dígitos del indicador HG1. En los terminales de cátodo común de las descargas en las que deben brillar estos elementos, se establece un nivel bajo, de lo contrario es alto. Tenga en cuenta que los elementos del mismo nombre se pueden incluir simultáneamente en todas las categorías, pero solo se incluye un elemento en cada categoría en este momento. Por eso se optó por conectar los ánodos de los elementos a las salidas del microcircuito DD2, cuya capacidad de carga es superior a las salidas del microcontrolador.
Arroz. 1. Circuito voltímetro
Con un período de interrupción de 2 ms, la frecuencia de actualización de la imagen en el indicador es de 64 Hz y su parpadeo es imperceptible a la vista. El método seleccionado de indicación dinámica también permitió reducir a la mitad el número de resistencias (R4-R7) que limitan la corriente a través de los indicadores LED.
El microcontrolador PIC12F675-I/P (DD1) permanece desocupado en la indicación dinámica de las líneas I/O GP0 y GP3. El primero se usa como entrada ADC, el voltaje medido se alimenta a través del divisor R1R2. En la línea GP3, en ausencia del puente S1, gracias a la resistencia R3, se establece un nivel lógico alto, que sirve como señal que pone el voltímetro en modo de calibración. Si el puente está instalado, el nivel en este pin es bajo y el voltímetro funciona normalmente.
Cuando encienda el voltímetro por primera vez con el puente faltante S1, el indicador HG1 se mostrará con el signo más a la derecha parpadeando. En este estado, se debe aplicar un voltaje lo más cercano posible a 80 V a la entrada del dispositivo, controlándolo con un voltímetro ejemplar. Con una conexión a corto plazo de las almohadillas de contacto previstas para el puente S1, el dispositivo calculará y recordará el factor de calibración y lo utilizará en el futuro.
Sin embargo, 80 V es un voltaje bastante grande y no se descartan las dificultades para obtenerlo. En este caso, durante la indicación del valor de la tensión de referencia, el dispositivo debe apagarse y encenderse nuevamente. El indicador mostrará , y en el próximo apagado y encendido - , , una y otra vez en un círculo. La calibración debe realizarse al voltaje más alto disponible de estos valores. Cuanto mayor sea el voltaje de referencia, más precisa será la calibración. Si en el momento de la calibración el voltaje de entrada difiere demasiado del voltaje de referencia, el coeficiente no se calculará y el indicador mostrará
Después de la calibración, apague el voltímetro y finalmente instale el puente S1, de lo contrario, la próxima vez que lo encienda, deberá repetir todo nuevamente. El voltímetro también puede funcionar sin calibración si el puente S1 ya está instalado cuando se enciende por primera vez. En este caso, utiliza el coeficiente escrito en el programa, pero el error puede superar el 10%. Esto será advertido por el punto incluido en el dígito más a la derecha del indicador.
La conversión de analógico a digital se realiza en el modo de "reposo" del microcontrolador para reducir la interferencia de sus nodos operativos. De este estado, sale automáticamente al final de la conversión.
El dispositivo se alimenta con una tensión de 5 V, obtenida mediante un regulador de tensión integrado DA1. Puede usar el estabilizador 78L05 en lugar del indicado en el diagrama solo como último recurso, ya que la estabilidad de su voltaje de salida es mucho peor. Sin degradar los parámetros, puede utilizar el estabilizador LP2951. El diodo Zener VD1 para un voltaje de 5,6 V, junto con el diodo protector interno del microcontrolador, protege a este último de daños cuando el voltaje medido excede el valor permitido. Sin un limitador, el voltaje de suministro del microcontrolador en esta situación puede aumentar críticamente.
El dispositivo está ensamblado en una placa de circuito impreso de 40x36 mm hecha de fibra de vidrio de lámina de un solo lado de 1,5 mm de espesor, que se muestra en la fig. 2. La mayoría de las resistencias y condensadores son de tamaño 0805 para montaje en superficie. La resistencia R1 para un funcionamiento fiable a alto voltaje se utiliza con una potencia de salida de 0,5 W. Se puede instalar condensador C1 tanto de cerámica como de óxido de salida, para lo cual la placa tiene un asiento marcado C1.El indicador FYQ-3641AHR-11 se puede sustituir por otro de la serie 3641A o serie 3631A de tres dígitos sin alterar la placa. En la Fig. 3 se muestra una fotografía de la placa del dispositivo ensamblada.
He estado haciendo electrónica de radio durante varios años, pero me avergüenza admitir que todavía no tengo una fuente de alimentación normal. Alimento los dispositivos ensamblados con lo que tenga a mano. Desde todo tipo de baterías semidescargadas y transformadores con puente de diodos sin ningún tipo de estabilización de tensión y limitación de corriente de salida. Tales perversiones son bastante peligrosas para la estructura ensamblada. Finalmente decidió montar una fuente de alimentación normal. Y comencé el montaje con un amperímetro. Por supuesto, era necesario empezar con otro, pero como ya está. Como estoy programando un poco, decidí desarrollar un medidor de pantalla yo mismo. La pantalla es una pantalla de Nokia-1202. Probablemente ya he torturado a todos con esta pantalla, pero es 3 veces más barata que 2x16 HD44780 (al menos para nosotros). Un conector bastante soldable y en general buenas características. En resumen, una buena opción para un medidor de voltaje y corriente.
El circuito eléctrico del ampervoltímetro digital para PSU
Dibujo de tablero de amperímetro digital
La primera y la segunda línea muestran el valor promedio de voltaje y corriente de 300 mediciones de ADC. Esto se hace para una mayor precisión de medición. La tercera línea muestra la resistencia de carga calculada según la ley de Ohm. Al principio quería hacerlo para que el consumo de energía fuera de salida, pero hice una resistencia. Tal vez más tarde lo cambie a poder. La cuarta línea muestra la temperatura medida por el sensor DS18B20. Está programado para medir temperaturas de 0 a 99 grados centígrados. Debe instalarse en el radiador del transistor de salida o en algún otro elemento del circuito donde haya un fuerte calentamiento.
También puede conectar un enfriador al microcontrolador para enfriar el disipador de calor del transistor. Cambiará su velocidad cuando cambie la temperatura medida por el sensor DS18B20. Hay una señal PWM en el pin PB3. El enfriador está conectado a esta salida a través de un interruptor de alimentación. Lo mejor es utilizar un transistor MOSFET como interruptor de alimentación. A una temperatura de 90 grados, el ventilador tendrá la velocidad máxima. El sensor de temperatura puede o no estar instalado. En este caso, la cuarta línea simplemente mostrará la inscripción APAGADO. El enfriador está conectado directamente. La salida de PB3 será 0.
Hay dos versiones del firmware en el archivo. Uno para la corriente máxima medida de 5 amperios, y el segundo hasta 10 amperios. El voltaje máximo medido es de 30 voltios. Según los cálculos, el factor de ganancia del amplificador operacional LM358 se eligió para ser 10. Para diferentes firmware, debe elegir una derivación. No todo el mundo tiene la capacidad de medir centésimas de ohmio y resistencias de precisión. Por lo tanto, el circuito tiene dos resistencias de sintonización. Pueden corregir las lecturas de medición.
También hay una placa de circuito impreso en el archivo. Hay ligeras diferencias en la foto, allí está ligeramente corregido. Se ha quitado un puente y el tamaño es 5 mm más pequeño en altura. La estabilidad de las lecturas del ampervoltímetro es alta. A veces flota solo en centésimas. Aunque lo comparé solo con mi probador chino. Para mí, esto es suficiente.
Gracias a todos por su atención.
ARCHIVO:
Versión mejorada
Se agregó solo la visualización de una décima parte de la potencia.Aquí lo rehice para medir hasta 50A. Derivación de 0,01 ohmios. La ganancia del amplificador operacional es de aproximadamente 6 a 7. Será necesario volver a calcular las resistencias. Los fusibles son los mismos que antes.
Me gustaría presentar a su atención una versión mejorada del indicador para una fuente de alimentación de laboratorio. Se agregó la capacidad de apagar la carga cuando se excede una cierta corriente preestablecida. El firmware del voltamperímetro mejorado se puede descargar a continuación. Diagrama de un medidor digital de corriente y voltaje.
También se han agregado algunos detalles al esquema. Desde los controles: un botón y una resistencia variable con un valor nominal de 10 kiloohmios a 47 kiloohmios. Su resistencia no es crítica para el circuito y, como puede ver, puede variar dentro de límites bastante amplios. La apariencia en la pantalla también ha cambiado un poco. Se agregó visualización de potencia y amperios * horas.
La variable de corriente de disparo se almacena en EEPROM. Por lo tanto, después de apagar, no necesitará configurar todo nuevamente. Para ingresar al menú de configuración actual, debe presionar el botón . Al girar la perilla de la resistencia variable, debe establecer la corriente a la que se apagará el relé. Está conectado a través de un interruptor de transistor al pin PB5 del microcontrolador Atmega8.
En el momento del apagado, la pantalla mostrará una inscripción de que se ha excedido la corriente máxima establecida. Tras pulsar el botón, volveremos al menú de configuración de corriente máxima. Debe presionar el botón nuevamente para cambiar al modo de medición. El registro 1 se aplicará a la salida PB5 del microcontrolador y el relé se encenderá. Este seguimiento actual también tiene sus desventajas. La protección no funcionará instantáneamente. La operación puede tardar varias decenas de milisegundos. Para la mayoría de los dispositivos experimentales, este inconveniente no es crítico. Para los humanos, este retraso no es visible. Todo sucede a la vez. No se desarrolló una nueva placa de circuito impreso. Quien quiera repetir el dispositivo puede editar ligeramente la placa de circuito impreso de la versión anterior. Los cambios no serán significativos.
Para cualquier duda, por favor contacta con el foro. Gracias por su atención. El ampervoltímetro fue terminado por Bukhar.
ARCHIVO:
Foro