Cómo leer y calcular datos de temperatura y humedad y datos de velocidad y dirección del viento

Los sistemas integrados se centran en las aplicaciones y se basan en tecnología informática moderna, sistemas informáticos especiales que pueden adaptar de forma flexible los módulos de software y hardware según las necesidades del usuario. Es ampliamente utilizado en la producción industrial, la vida diaria, el control industrial, la industria aeroespacial y otros campos. Los sistemas integrados generalmente se implementan mediante el método de "codiseño de software y hardware", que requiere que los diseñadores dominen no solo el conocimiento de los sistemas operativos integrados y el desarrollo de software integrado, sino también los principios y métodos de programación de las interfaces de hardware y los periféricos comunes. Qt tiene las características de multiplataforma y gran escalabilidad, y se ha desarrollado rápidamente en los últimos años. Especialmente en el campo integrado y en el campo de la ciencia y la industria de la defensa nacional, Qt se ha utilizado ampliamente.

  1. Domine la estructura de trama del protocolo UART y el protocolo Modbus
  2. Aprenda a utilizar un analizador lógico
  3. Dominar los métodos de lectura y cálculo de datos de temperatura y humedad y datos de velocidad y dirección del viento.

Aspectos destacados de este capítulo:

  1. Estructura de trama del protocolo UART
  2. Usando un analizador lógico

Dificultades en este capítulo:

  1. Método de lectura y cálculo de datos de temperatura y humedad y datos de velocidad y dirección del viento

    1 Formato de datos de comunicación en serie
    1.1 Introducción al protocolo
    UART es un protocolo de comunicación en serie asíncrono que puede lograr una transmisión bidireccional full-duplex. La UART divide los datos en tramas y los transmite bit a bit. La trama de datos completa consta de bits de inicio, bits de datos, bits de paridad y bits de parada. Al transmitir datos, hay un bit inactivo entre los dos caracteres, y el bit inactivo es 1 lógico, lo que indica que la línea está en estado de espera.

1.2 Parámetros relacionados con UART
La velocidad en baudios es el número de bits de código binario transmitidos por segundo, la unidad es bps. Las velocidades de baudios comunes incluyen 4800bps, 9600bps, 115200bps, 921600bps, etc.
El bit de inicio se utiliza para indicar el inicio de la transmisión de datos y está representado por un bit de datos 0 lógico.
A menudo se acuerda que la longitud de los datos válidos es de 5, 6, 7 u 8 bits, normalmente datos de 8 bits. Los bits de datos se transmiten secuencialmente desde el bit bajo al bit alto.
El bit de verificación se utiliza para verificar si los datos son correctos, incluida la verificación impar (impar), la verificación par (par), la verificación 0 (espacio), la verificación 1 (marca) y sin verificación (no paridad). La paridad impar requiere que el número de unos lógicos en los datos válidos y los dígitos de control sea un número impar, la paridad par requiere que el número de unos lógicos en los datos válidos y los dígitos de control sea un número par, 0 suma de verificación y 1 suma de verificación respectivamente requieren verificación dígitos Siempre 0 o 1, no se utiliza ningún bit de paridad.
El bit de parada indica el final de la transmisión de datos y debe ser 1 lógico. Los números de bits de parada comunes pueden ser 1, 1,5 o 2 bits.
1.3 Proceso de comunicación UART
Durante la comunicación UART, primero se envía el bit bajo y luego el bit alto. He aquí un ejemplo:

Suponiendo que la velocidad en baudios sea de 100 bps, cada bit dura 10 ms. Los datos originales son 0110 0011B, que es 0x63. Convierta estos datos en una trama de datos UART:
bit de inicio, datos válidos, bit de verificación, bit de parada
0 01100011 1 1 (transmisión en orden inverso)
, luego la trama de datos UART es 1100 0110 10.
2 Uso del módulo de puerto serie USB
Al depurar hardware, debe utilizar el módulo de puerto serie USB para convertir la señal de la interfaz USB en la señal TTL de la interfaz UART.

Los equipos de comunicación en serie se pueden conectar mediante un sistema de tres cables, que consta de dos cables de datos y un cable de tierra. La línea de datos utilizada para recibir datos está representada por RX, Rx o RXD en inglés, y la línea de datos utilizada para enviar datos está representada por TX, Tx o TXD en inglés. El pin TX del dispositivo 1 está conectado al pin RX del dispositivo 2 y el pin RX del dispositivo 1 está conectado al pin TX del dispositivo 2.
3 Uso del asistente de depuración del puerto serie
El asistente de depuración del puerto serie es un tipo de software de herramienta que ayuda a la PC en la depuración del puerto serie. Los asistentes de depuración de puertos serie de uso común incluyen XCOM, SSCOM, Asistente de depuración multifunción Wildfire, etc. El software asistente de depuración del puerto serie utilizado aquí es XCOM V2.0.
1 Área de control del puerto serie
El área de control del puerto serie se utiliza para configurar el número COM, la velocidad en baudios, la longitud del bit de parada, la longitud del bit de datos, el tipo de paridad, etc.
2 Área de control de envío
El área de control de envío se utiliza para controlar los parámetros de envío de datos.

  • Envío programado: envía datos automáticamente repetidamente según un período determinado.
  • Envío hexadecimal: El dato a enviar es 41. Usar hexadecimal para enviar entenderá los datos como 0x41 y enviarlos; no usar hexadecimal para enviar entenderá los datos como 0x34 0x31 (es decir, el código ASCII de 4 y 1) y enviarlos.
  • Enviar nueva línea: envía un '\r\n' después de los datos.
    3. Área de control de recepción
    El área de control de recepción se utiliza para controlar el formato de visualización y el método de control de flujo de los datos recibidos.
    4 Principio y uso del módulo de información meteorológica GY-39
    4.1 Introducción a la función
    El módulo de información meteorológica GY-39 puede medir diversa información meteorológica, como presión del aire, temperatura, humedad, intensidad de la luz, altitud, etc. El chip dentro del módulo puede procesar los datos. El método de salida predeterminado es UART.
    4.2 Estructura del paquete de datos
    Cuando el módulo GY-39 está funcionando, enviará paquetes de datos de intensidad luminosa y paquetes de datos de información meteorológica. Ambos tipos de paquetes de datos se componen de encabezado de paquete, tipo de paquete, cantidad de datos, datos y suma de verificación.
    Estructura del paquete de datos de intensidad de luz:
    Bandera de encabezado (2 bytes): 5A
    Bandera de tipo de paquete 5A (1 byte): 15
    Longitud de datos (1 byte): 04
    Datos (4 bytes): 00 00 FE 40
    Suma de verificación (1 byte): 0B

Estructura del paquete de datos de información meteorológica:
indicador de encabezado (2 bytes): 5A
Indicador de tipo de paquete 5A (1 byte): 45
longitud de datos (1 byte): 0A
datos (10 bytes): 0B 2D 00 97 C4 3F 12 77 00 9C
suma de comprobación ( 1 byte): FA
4.3 Precisión de los datos
Los resultados de las mediciones de intensidad de la luz (unidad: lux), presión del aire (unidad: Pa) y altitud (unidad: m) solo retienen números enteros, por lo que solo es necesario transmitir números enteros al transmitir Convertir al número binario correspondiente.
Los resultados de las mediciones de temperatura (unidad: ℃) y humedad (unidad: %RH) se mantienen con dos decimales. Durante la transmisión, el valor primero se expande cien veces y luego se convierte al número binario correspondiente. El resultado de la medición puede ser un número negativo y el módulo utilizará el código de complemento para representar el resultado negativo.
5 Utilice un analizador lógico para capturar formas de onda de comunicación UART
5.1 1. Principio de funcionamiento del analizador lógico
El analizador lógico puede monitorear y recopilar los datos de la interfaz de comunicación en tiempo real. Su principio de funcionamiento es: monitorear el flujo de datos a través de la sonda y enviar datos paralelos en El comparador realiza un juicio de nivel y luego emite, y luego los resultados del juicio se muestrean y almacenan secuencialmente, y finalmente se puede mostrar la forma de onda de comunicación.
5.2 Principales parámetros del analizador lógico
(1) Frecuencia de muestreo. Determina el rango de frecuencia en el que el analizador lógico puede recopilar señales, que generalmente es más de 4 veces mayor que la señal bajo prueba.
(2) Profundidad de almacenamiento. Determina el período de tiempo que se puede recopilar la forma de onda a una frecuencia de muestreo fija. Cuanto mayor sea la profundidad de almacenamiento, más tiempo se podrán observar los cambios de la señal.
(3) Condiciones de activación. Determina el momento en que el analizador lógico comienza a recopilar formas de onda. Los disparadores comúnmente utilizados incluyen flanco ascendente, flanco descendente, disparador de nivel alto y nivel bajo.
5.3 Utilice un analizador lógico para capturar la forma de onda de comunicación del módulo GY-39
(1) Conecte el pin TX del módulo GY-39 al analizador lógico y conecte los dos a la PC.
(2) Establezca la frecuencia de muestreo del analizador lógico en 2MHz y el tiempo de muestreo en 2s. Establezca el nombre del canal en UART_TX y el modo de disparo en disparador de flanco descendente.
(3) Inicie el analizador lógico y comience automáticamente a recopilar y mostrar la forma de onda de comunicación del módulo GY-39. Los puntos blancos en la forma de onda representan bits de datos en un marco de datos. 4. Utilice la PC para leer los datos de medición del módulo GY-39
(1) Conecte el módulo GY-39, el USB al módulo de puerto serie y la PC.
(2) Abra el puerto serie correspondiente en el asistente de depuración del puerto serie XCOM, establezca la velocidad en baudios en 9600, el bit de datos en 8 bits y el bit de parada en 1 bit.
(3) Abra el puerto serie y observe los datos recibidos. El módulo GY-39 envía datos a 1 Hz de forma predeterminada y se pueden recibir sin ninguna operación.
5.4 Cálculo de los datos de medición del módulo GY-39
Según el manual de datos, los datos enviados por el módulo GY-39 son:
intensidad de luz = (frontal alto 8 dígitos << 24) | (frontal bajo 8 dígitos << 16) | ( trasero alto 8 dígitos <<8)|Trasero bajo 8 dígitos/10 lux
temperatura=((Alto 8 dígitos<<8)|Bajo 8 dígitos)/100 °C
de presión de aire=(Frontal alto 8 dígitos<<24)|( Frente bajo 8 dígitos< <16)|(Alto 8 dígitos<<8)|Bajo 8 dígitos/100 Pa
humedad=(Alto 8 dígitos<<8)|Bajo 8 dígitos/100 %RH
Altitud=(Alto 8 dígitos<< 8) |Bajo 8 bits m
6 Protocolo RS485 y Modbus
6.1 1. Principio de la interfaz de comunicación RS485
RS485 es un estándar de interfaz de comunicación multipunto formulado por la Federación Estadounidense de Industrias Eléctricas. Funciona en modo de comunicación maestro-esclavo y es adecuado para aplicaciones de larga duración. Comunicación multipunto a distancia y de alta sensibilidad. La interfaz RS485 tiene dos líneas de señal A y B y funciona en forma de señales diferenciales. La velocidad comúnmente utilizada en las comunicaciones de larga distancia es de 9600 bps y la distancia de comunicación puede alcanzar los 500 ~ 1500 metros.

6.2 3. Principio del protocolo Modbus
Modbus es un protocolo de comunicación serie comúnmente utilizado en el campo industrial, fue desarrollado por Modicon en 1979 para la comunicación de controladores lógicos programables. En 2004, el Comité Nacional de Estándares de China convirtió oficialmente el protocolo Modbus en un estándar nacional (GB/T 19582.2-2008 "Especificación de red de automatización industrial basada en el protocolo Modbus Parte 2: Guía de implementación del protocolo Modbus en enlaces serie").
El protocolo Modbus se utiliza ampliamente en control de automatización, monitoreo ambiental, gestión de energía, automatización industrial, automatización de edificios y otros campos. El protocolo Modbus es simple, abierto y fácil de implementar, y puede aplicarse fácilmente a las comunicaciones entre varios dispositivos.
6.3 Estructura de la trama del protocolo Modbus
La trama de datos Modbus se divide en cuatro partes: dirección del dispositivo, código de función, datos y código de verificación.

La dirección del dispositivo es un byte que indica la dirección del esclavo. Entre ellas, la dirección 0 es la dirección de transmisión, 1247 es la dirección disponible para el esclavo y 248255 es la dirección reservada. El anfitrión puede elegir el objeto de comunicación a través de la dirección.
Un código de función es un byte que indica la operación solicitada por el host. El protocolo Modbus estipula algunos códigos de función de uso común, como el código de función 03 para leer registros de retención, el código de función 16 para escribir registros múltiples, etc.
La longitud de la parte de datos no supera los 252 bytes. Si la trama la envía el host, esta parte es el parámetro solicitado por el host. Si es una trama enviada por el esclavo, esta parte son los datos o el código de excepción devueltos por el esclavo.
El código de verificación son datos con una longitud de dos bytes y se utilizan para verificar todos los bytes en la dirección del dispositivo, el código de función y el área de datos. El protocolo Modbus utiliza el algoritmo CRC16 para la verificación.
Según los diferentes usos, las tramas Modbus se pueden dividir en tramas de consulta enviadas por el host al esclavo y tramas de respuesta enviadas por el esclavo al host.
7 Módulo de velocidad y dirección del viento PR-3000
7.1 Introducción al módulo
Este módulo consta de un módulo de velocidad del viento y un módulo de dirección del viento. El módulo de velocidad del viento utiliza tres sensores de copa de viento para detectar la velocidad del viento y el módulo de dirección del viento detecta la dirección del viento mediante la rotación de la flecha.
El voltaje de funcionamiento del módulo de velocidad y dirección del viento es de 10-30 V, la interfaz es RS485 y la velocidad de comunicación máxima es de 9600 bps.
7.2 Método de cableado
Conecte la fuente de alimentación, el cable de tierra y los cables RS485 A y B del módulo PR-3000 al módulo UART al módulo RS485. Las líneas RS485 no se pueden conectar al revés y las direcciones de los dispositivos en la misma red no se pueden repetir.
7.3 Configuración de la dirección del módulo
El protocolo Modbus requiere direcciones esclavas únicas en la misma red. Las direcciones predeterminadas de fábrica de los módulos de velocidad y dirección del viento son 1 y deben modificarse antes de su uso.
7.4 Dirección de registro Modbus
Según la hoja de datos, la dirección de registro Modbus del módulo de viento y dirección del viento es la siguiente:
Módulo de velocidad del viento (dirección 1):
Valor de velocidad del viento: 0x00 (byte alto), 0x01 (byte bajo), unidad 0,1 m/s.
Módulo de dirección del viento (dirección 2):
Valor de dirección del viento: 0x00, valor 0-7, correspondiente al norte, noreste, este, sureste, sur, suroeste, oeste, noroeste.

Supongo que te gusta

Origin blog.csdn.net/weixin_40933653/article/details/133443250
Recomendado
Clasificación