» Temas » Consejos »Corriente de pinza de medidor en un amplio rango, voltaje y temperatura

Medidor de corriente, voltaje y temperatura de amplio rango

Nombramiento
Para medir y fijar a tiempo en la memoria flash de procesos largos expresados ​​en corriente y voltaje, tales como carga - descarga de baterías y baterías. Es posible fijar simultáneamente la temperatura.

Parámetros de señal de entrada:
corriente I = 25mka - 2a
voltaje U = 0 - 5V
temperatura t = -30 - + 120gС
el tiempo lo establece el reloj de cuarzo interno incorporado

Nutrición:
desde la fuente 12v / 0.3a
I consumo <70ma

Construcción:
El medidor está montado en dos módulos. Arduino Nano conectado a través del protocolo ModBus, ver diagrama. Un Arduino está montado en un elevador con bloques de terminales. Los módulos están conectados a través de conectores. Los cables y los módulos mismos están aislados de fallas térmicas-cambric.

Las señales de entrada se alimentan a través de terminales de tornillo

En el panel frontal hay un indicador de cristal líquido de los parámetros medidos y LED que indican el cambio de un rango o fuera de rango.

El medidor se ensambla en una carcasa de 145x85x40.
El sensor de temperatura se realiza a través del conector. La transmisión de señal está organizada en una línea de dos hilos. Resistencia de alimentación en el conector.

Para facilitar la programación, los conectores USB Arduino son externos.






Esquema

El esquema se puede descargar del archivo Meter.rar

Se eligieron dos Arduino por dos razones: Arduino Nano estaba disponible y no era suficiente en una memoria, y se planea agregar más sensores. Además, quería dominar la asociación Arduino, para esto se seleccionó el protocolo de red ModBus. ModBus define un procesador maestro - Maestro y varios esclavos - Esclavo. En este trabajo, hay un esclavo, en él se mide la temperatura, el voltaje y la corriente. En Master: un reloj y un registro en un archivo. La memoria de carne debe ser inferior a 4 GB y formateada en FAT.

Como se planificó para medir corrientes de μA a A, las corrientes se miden en 4 rangos (consulte la tabla Rangos), el Arduino Slave monitorea la transición de un rango a otro, formando el código de derivación correspondiente para la corriente medida actual de M1-2. Al acercarse al borde del rango, se activa el siguiente rango, es decir, la tecla actual se desactiva desde T1-1 --- T2-2 y se activa la siguiente. En este caso, la derivación máxima = 100ohm está constantemente activada. Si hay un exceso del valor en el rango, los LED D8, D9 se iluminan.

División de la medición de corriente en rangos
Uout_max = 5v KusOU = 20 Δ = Ish / 1024

La ganancia del amplificador operacional M1-2 se establece = 20 y luego no cambia. (En el panel frontal está montado erróneamente).
El voltaje se mide a través de un seguidor en el OU M1-1.Los circuitos de entrada del amplificador operacional y Arduino están protegidos por diodos (los diodos zener están en Arduino, pero no conozco los parámetros, por lo tanto, es mejor exagerar).

LCD1602 se selecciona como indicador. Está conectado al Arduino Master. Además, el indicador se puede conectar a ambos Arduino simplemente cambiando los conectores Arduino. (Cuando la alimentación está apagada). La conexión al Arduino Slave se muestra con una línea discontinua (que se usaba al escribir programas). Con la conexión principal (al maestro) en el LCD1602, se pueden mostrar 4 pantallas cambiando el control deslizante del interruptor deslizante p1-p2.

Pantalla 1: desde arriba, la información de servicio del intercambio entre Arduino: C es el número de intercambios entre Arduino, E es el número de errores durante el intercambio de Sh-No. de la derivación;
día inferior - tiempo del mes.


Pantalla2: U1, I1, Shunt No. (0.00 inferior derecha-reserva)


Pantalla3: U2, temperatura, (en espera)


Pantalla 4: grabación SD habilitada, tiempo de grabación en horas, número de línea en el archivo,
00- estado de rango de corriente1 0-normal 1-fuera de rango, estado de voltaje rango1, potencia fija de una fuente externa


Cuando está conectado a Slave - 2 pantallas. El interruptor p3 permite la grabación en la memoria Micro Flesh.
La fuente de alimentación se selecciona 12v para obtener características lineales del amplificador operacional (para evitar bloqueos en los bordes del rango). Por la misma razón, se usó voltaje negativo del modelador en KR1006VI1. El uso de un generador Arduino produce un voltaje menos estable. Para generar energía de 5v, se utilizó un convertidor reductor, pero puede prescindir de él al suministrar + 12V a las entradas VIN Arduino Nano.
Programación conjunta Arduino tiene características, ya que la comunicación con la computadora está ocupada con el protocolo ModBus. Para cargar un boceto en uno de los Arduino, en el otro debe habilitar la señal de reinicio RST. Para hacer esto, use los puentes Bloque S, Bloque M. O presione y mantenga presionados los botones de reinicio en los módulos Arduino hasta que finalice la descarga, lo que es menos conveniente y existe la posibilidad de dañar la descarga. Como planeo expandir mi dispositivo USB Arduino, saqué la funda.

Se supone que el transistor T5 (FR024N) se utiliza para encender / apagar un proceso, por ejemplo, una descarga de carga de una batería. Si bien no está involucrado.

Software
Se mastica al máximo que los principiantes (y yo mismo) no lastimarán y pueden servir como material de referencia, pero no pretenden ser óptimos.

Las bibliotecas y los códigos de programa se encuentran en el archivo Izmeritel PRO.rar.
Boceto para el maestro ModBus_Master10_SD_T_10_2. Boceto para esclavo ModBus-Slave10_T_UI_10_2. El resto de la biblioteca.
Programado en el entorno de Arduino1.6.0. Contiene bibliotecas SD, LiquidCrystal, Wire no necesita descargar.

El tiempo en horas se configura en Configuración de la siguiente manera. Establezca el tiempo real y cargue el boceto. Luego comente las líneas para configurar la fecha y la hora y vuelva a cargar el boceto.

El resultado del programa será la indicación de hora y fecha (horas), corriente, voltaje, temperatura en el LCD1602 y la grabación de estos parámetros en el archivo IZMER1.TXT en la memoria Micro Flesh. El archivo contendrá una tabla de este tipo:

0; 13/04/2019; 00:11:10; Zap (h) = 0.05; tc = 29,31; U1 = 1.71; I1 = 0.00; P1 = 0.00; U2 = 0,14; DiaI norma; DiaU norma; C = 762
1; 13/04/2019; 00:11:16; Zap (h) = 0.05; tc = 29,38; U1 = 1.79; I1 = 0.00; P1 = 0.00; U2 = 0,19; DiaI norma; DiaU norma; C = 788
2; 13/04/2019; 00:11:22; Zap (h) = 0.05; tc = 29,38; U1 = 1,54; I1 = 0.00; P1 = 0.00; U2 = 0,16; DiaI norma; DiaU norma; C = 813
3; 13/04/2019; 00:11:28; Zap (h) = 0.05; tc = 29,31; U1 = 1,30; I1 = 0.00; P1 = 0.00; U2 = 0,17; DiaI norma; DiaU norma; C = 839
4; 13/04/2019; 00:11:34; Zap (h) = 0.05; tc = 29,31; U1 = 1.90; I1 = 0.00; P1 = 0.00; U2 = 0,17; DiaI norma; DiaU norma; C = 864
5; 13/04/2019; 00:11:40; Zap (h) = 0.05; tc = 29,25; U1 = 1,53; I1 = 0.00; P1 = 0.00; U2 = 0,16; DiaI norma; DiaU norma; C = 890
6; 13/04/2019; 00:11:46; Zap (h) = 0.05; tc = 29,19; U1 = 2.03; I1 = 0.00; P1 = 0.00; U2 = 0,18; DiaI norma; DiaU norma; C = 915
7; 13/04/2019; 00:11:52; Zap (h) = 0.05; tc = 29,13; U1 = 1.81; I1 = 0.00; P1 = 0.00; U2 = 0,18; DiaI norma; DiaU norma; C = 941
8; 13/04/2019; 00:11:58; Zap (h) = 0.05; tc = 29,00; U1 = 1,30; I1 = 0.00; P1 = 0.00; U2 = 0,16; DiaI norma; DiaU norma; C = 966
9; 13/04/2019; 00:12:04; Zap (h) = 0.07; tc = 28,94; U1 = 1,25; I1 = 0.00; P1 = 0.00; U2 = 0,17; DiaI norma; DiaU norma; C = 992
10; 13/04/2019; 00:12:10; Zap (h) = 0.07; tc = 29,00; U1 = 1.85; I1 = 0.00; P1 = 0.00; U2 = 0,16; DiaI norma; DiaU norma; C = 1017
11; 13/04/2019; 00:12:16; Zap (h) = 0.07; tc = 29,00; U1 = 1.21; I1 = 0.00; P1 = 0.00; U2 = 0,18; DiaI norma; DiaU norma; C = 1043
12; 13/04/2019; 00:12:23; Zap (h) = 0.07; tc = 28,94; U1 = 1,55; I1 = 0.00; P1 = 0.00; U2 = 0,18; DiaI norma; DiaU norma; C = 1068
13; 13/04/2019; 00:12:29; Zap (h) = 0.07; tc = 28,88; U1 = 1,82; I1 = 0.00; P1 = 0.00; U2 = 0,16; DiaI norma; DiaU norma; C = 1094
14; 13/04/2019; 00:12:35; Zap (h) = 0.07; tc = 28,88; U1 = 1,30; I1 = 0.00; P1 = 0.00; U2 = 0,18; DiaI norma; DiaU norma; C = 1119

donde se encuentran las columnas n / a; Fecha tiempo tiempo de grabación en horas; temperatura voltaje medido U1; corriente medida I1; el segundo voltaje medido U2; información sobre la salida / ausencia del rango de medición; servicio de información sobre el número de intercambios entre Arduino.

El intervalo de registro de la medición se seleccionó durante 6 segundos, es fácil cambiarlo reemplazando el valor de la #define CYCLE_TIME_F 3000 constante con otra por la fórmula Tsec = Constante (ms) * 2/1000 en Master.
Además, esta tabla se puede presentar en forma de bonitos gráficos.



Cuando escribía programas, usaba materiales. Expreso mi gratitud al autor.

Apto para tema

Temas relacionados

Agrega un comentario

    • sonriesonrisasxaxaokno sabesyahoonea
      jeferascarsetontosisi-siagresivosecreto
      lo sientobailardance2dance3perdónayudabebidas
      pararamigosbuenobuenosilbatodesmayarselengua
      fumaraplaudirllorardeclararburlóndon-t_mentiondescargar
      calorfuriosorisa1mdareuniónMoskingnegativo
      not_ipalomitas de maizcastigarleerasustarasustabuscar
      burlagraciasestoto_clueumnikagudode acuerdo
      malbeeeojo negroblum3ruborpresumiraburrimiento
      censuradocortesíasecreto2amenazarvictoriaYusun_bespectacled
      shokrespektjajajaPrevedbienvenidokrutoyya_za
      ya_dobryiayudantene_huliganne_othodigolpearprohibircerrar
2 comentario
Extraña inclusión de NE555 en el controlador negativo. ((
Para que el meandro vaya al campo, debe conectarlo a la salida IP.
En forma Arduino para sus propias necesidades, por supuesto, un negocio útil, pero recientemente adquirido, el precio de emisión es inferior a 1t.r .:
Especificaciones UM24C
• pantalla: 1.44 ", 128х128, color, los ángulos de visión están cerca de 180º
• puertos de entrada: USB Tipo A macho, Micro USB Tipo B hembra
• puerto de salida: USB tipo A hembra
• voltaje: 4.50-24.00V
• intensidad actual: 0-3.000A
• resolución de visualización de voltaje: 0.01V
• resolución muestra la intensidad actual: 0.001A
• precisión de medición de voltaje: ± (0.2% + 1 dígito)
• precisión de medición actual: ± (0.8% + 3 dígitos)
• Soporte de carga rápida de Qualcomm: QC 2.0 y QC 3.0
• 10 celdas de memoria para almacenar capacitancia y energía medidas
• Función de medición de resistencia de cable micro USB
• selección manual del umbral de inicio de medición: 0.00-0.30A
• visualización de temperatura, resistencia de la carga conectada, potencia
• visualización de gráficos de voltaje y corriente
• visualización de voltaje en líneas de datos del puerto USB, modo de funcionamiento actual
• pantalla de apagado automático: 1-9 minutos, apagado
• brillo de la pantalla: 0-5 (6 niveles)
• visualización de la temperatura: en grados Celsius o Fahrenheit
• ayuda en línea
• rotación de la pantalla 90º / 180º / 270º
• Conexión inalámbrica bidireccional de Bluetooth a una PC (SPP - Perfil de puerto serie)
sonrie

Le recomendamos que lea:

Pásalo por el teléfono inteligente ...