La aplicación de potencia LCD de potencia ajustable basada en DWIN T5L ASIC

——Compartido desde DWIN Fromum

Utilizando el chip DWIN T5L1 como núcleo de control de toda la máquina, recibe y procesa información táctil, adquisición de ADC, información de control PWM y controla la pantalla LCD de 3,5 pulgadas para mostrar el estado actual en tiempo real. Admite ajuste táctil remoto del brillo de la fuente de luz LED a través del módulo WiFi y admite alarma de voz.

Características del programa:

1. Adopte el chip T5L para funcionar a alta frecuencia, el muestreo analógico AD es estable y el error es pequeño;

2. Admite TIPO C conectado directamente a la PC para depurar y grabar programas;

3. Admite interfaz central del sistema operativo de alta velocidad, puerto paralelo de 16 bits; Puerto UI core PWM, salida de puerto AD, diseño de aplicación de bajo costo, sin necesidad de agregar MCU adicional;

4. Admite WiFi, control remoto Bluetooth;

5. Admite voltaje amplio de 5 ~ 12 V CC y entrada de amplio rango

imagen1

1.1 Diagrama esquemático

imagen2

1.2 placa PCB

imagen3

1.3 Interfaz de usuario

Introducción de vergüenza:

(1) Diseño de circuito de hardware

imagen4

1.4 Diagrama del circuito T5L48320C035

1. Fuente de alimentación lógica MCU 3,3 V: C18, C26, C27, C28, C29, C31, C32, C33;

2. Fuente de alimentación del núcleo MCU 1,25 V: C23, C24;

3. Fuente de alimentación analógica de MCU 3,3 V: C35 es la fuente de alimentación analógica para MCU. Al componer, la tierra del núcleo de 1,25 V y la tierra lógica se pueden combinar, pero la tierra analógica debe estar separada. La tierra analógica y la tierra digital deben recolectarse en el polo negativo del capacitor grande de salida LDO, y el polo positivo analógico también debe recolectarse en el polo positivo del capacitor grande LDO, de modo que se minimice el ruido del muestreo AD.

4. Circuito de adquisición de señal analógica AD: CP1 es el condensador de filtro de entrada analógica AD. Para reducir el error de muestreo, la tierra analógica y la tierra digital de la MCU se separan de forma independiente. El polo negativo del CP1 debe estar conectado a la tierra analógica de la MCU con una impedancia mínima, y ​​los dos condensadores paralelos del oscilador de cristal están conectados a la tierra analógica de la MCU.

5. Circuito del zumbador: C25 es el condensador de alimentación del zumbador. El zumbador es un dispositivo inductivo y habrá un pico de corriente durante el funcionamiento. Para reducir el pico, es necesario reducir la corriente de excitación MOS del zumbador para que el tubo MOS funcione en la región lineal y diseñar el circuito para que funcione en el modo de conmutación. Tenga en cuenta que R18 debe conectarse en paralelo en ambos extremos del timbre para ajustar la calidad del sonido del timbre y hacer que suene nítido y agradable.

6. Circuito WiFi: muestreo de chip WiFi ESP32-C, con WiFi+Bluetooth+BLE. En el cableado, la tierra de alimentación de RF y la tierra de señal están separadas.

imagen5

1.5 Diseño de circuito WiFi

En la figura anterior, la parte superior del revestimiento de cobre es el circuito de tierra de alimentación. El bucle de tierra de reflexión de la antena WiFi debe tener un área grande hasta la tierra de alimentación, y el punto de recogida de la tierra de alimentación es el polo negativo de C6. Es necesario proporcionar una corriente reflejada entre la toma de tierra y la antena WiFi, por lo que debe haber una capa de cobre debajo de la antena WiFi. La longitud del revestimiento de cobre excede la longitud de extensión de la antena WiFi y la extensión aumentará la sensibilidad de la WiFi; punto en el polo negativo de C2. Una gran superficie de cobre puede proteger el ruido causado por la radiación de la antena WiFi. Las 2 conexiones a tierra de cobre se separan en la capa inferior y se recogen en la plataforma intermedia del ESP32-C a través de vías. La tierra de alimentación de RF necesita una impedancia menor que el bucle de tierra de la señal, por lo que hay 6 vías desde la tierra de alimentación hasta el chip pad para garantizar una impedancia suficientemente baja. El bucle de tierra del oscilador de cristal no puede tener energía de RF fluyendo a través de él; de lo contrario, el oscilador de cristal generará fluctuación de frecuencia y la compensación de frecuencia WiFi no podrá enviar ni recibir datos.

7. Circuito de fuente de alimentación LED con retroiluminación: muestreo del chip del controlador SOT23-6LED. La fuente de alimentación CC/CC al LED forma un bucle de forma independiente y la tierra CC/CC está conectada a la tierra LOD de 3,3 V. Dado que el núcleo del puerto PWM2 se ha especializado, emite una señal PWM de 600 K y se agrega un RC para usar la salida PWM como control de encendido/apagado.

8. Rango de entrada de voltaje: se diseñan dos reductores CC/CC. Tenga en cuenta que las resistencias R13 y R17 en el circuito CC/CC no se pueden omitir. Los dos chips DC/DC admiten una entrada de hasta 18 V, lo cual es conveniente para la fuente de alimentación externa.

9. Puerto de depuración USB TYPE C: el TYPE C se puede enchufar y desenchufar hacia adelante y hacia atrás. La inserción directa se comunica con el chip WIFI ESP32-C para programar el chip WIFI; La inserción inversa se comunica con el XR21V1410IL16 para programar el T5L. El TIPO C admite fuente de alimentación de 5V.

10. Comunicación de puerto paralelo: el núcleo del sistema operativo T5L tiene muchos puertos IO libres y se puede diseñar una comunicación de puerto paralelo de 16 bits. Combinado con el protocolo de puerto paralelo ST ARM FMC, admite lectura y escritura sincrónicas.

11. Diseño de interfaz de alta velocidad LCM RGB: la salida T5L RGB está conectada directamente a LCM RGB y se agrega resistencia de amortiguación en el medio para reducir la interferencia de ondas de agua de LCM. Al realizar el cableado, reduzca la longitud de la conexión de la interfaz RGB, especialmente la señal PCLK, y aumente los puntos de prueba PCLK, HS, VS, DE de la interfaz RGB; el puerto SPI de la pantalla está conectado a los puertos P2.4 ~ P2.7 del T5L, lo cual es conveniente para diseñar el controlador de pantalla. Liderar puntos de prueba RST, nCS, SDA, SCI para facilitar el desarrollo del software subyacente.

(2) interfaz DGUS

imagen6 imagen7

1.6 Control de visualización de variables de datos

(3) sistema operativo
//———————————Formato de lectura y escritura DGUS
estructura typedef
{
dirección u16; // dirección variable UI de 16 bits
u8 datLen; //longitud de datos de 8 bits
u8 *pBuf; //puntero de datos de 8 bits
} UI_packTypeDef; //DGUS lee y escribe paquetes

//——————————-control de visualización de variables de datos
estructura typedef
{
vicepresidente u16;
u16X;
u16 Y;
color u16;
u8 Lib_ID;
tamaño de fuente u8;
u8 Alineación;
u8 Númint;
u8 NumDec;
Tipo u8;
u8 LenUint;
u8 CadenaUinit[11];
} Número_spTypeDef; //estructura de descripción de la variable de datos

estructura typedef
{
Número_spTypeDef sp; //definir el puntero de descripción del SP
UI_packTypeDef spPack; //definir paquete de lectura y escritura DGUS variable SP
UI_packTypeDef vpPack; //definir paquete de lectura y escritura DGUS variable vp
} Número_HandleTypeDef; // estructura de variables de datos

Con la definición de identificador de variable de datos anterior. A continuación, defina una variable para la visualización de muestreo de voltaje:
Number_HandleTypeDef Hsample;
u16 voltaje_muestra;

Primero, ejecute la función de inicialización.
NúmeroSP_Init(&Hsample,voltage_sample,0×8000); //0×8000 aquí está el puntero de descripción
//——Variable de datos que muestra la inicialización de la estructura del puntero SP——
void NumberSP_Init(Number_HandleTypeDef *número,u8 *valor, u16 númeroAddr)
{
número->spPack.addr = númeroDirección;
número->spPack.datLen = tamaño de(número->sp);
número->spPack.pBuf = (u8 *)&número->sp;
        
Read_Dgus(&número->spPack);
número->vpPack.addr = número->sp.VP;
switch(number->sp.Type) //La longitud de los datos de la variable vp se selecciona automáticamente de acuerdo con el tipo de variable de datos diseñado en la interfaz DGUS.

{
caso 0:
caso 5:
número->vpPack.datLen = 2;
romper;
caso 1:
caso 2:
caso 3:
caso 6:
número->vpPack.datLen = 4;
caso 4:
número->vpPack.datLen = 8;
romper;
}
número->vpPack.pBuf = valor;
}

Después de la inicialización, Hsample.sp es el puntero de descripción de la variable de datos de muestreo de voltaje; Hsample.spPack es el puntero de comunicación entre el núcleo del sistema operativo y la variable de datos de muestreo de voltaje de la UI a través de la función de interfaz DGUS; Hsample.vpPack es el atributo de cambiar la variable de datos de muestreo de voltaje, como la fuente. Los colores, etc., también se pasan al núcleo de la interfaz de usuario a través de la función de interfaz DGUS. Hsample.vpPack.addr es la dirección variable de datos de muestreo de voltaje, que se obtuvo automáticamente de la función de inicialización. Cuando cambia la dirección de la variable o el tipo de datos de la variable en la interfaz DGUS, no es necesario actualizar la dirección de la variable en el núcleo del sistema operativo de forma sincrónica. Después de que el núcleo del sistema operativo calcula la variable voltaje_sample, solo necesita ejecutar la función Write_Dgus(&Hsample.vpPack) para actualizarla. No es necesario empaquetar la muestra de voltaje para la transmisión DGUS.


Hora de publicación: 15 de junio de 2022