A aplicación de potencia axustable LCD Power baseada en DWIN T5L ASIC

——Compartido por DWIN Froum

Usando o chip DWIN T5L1 como núcleo de control de toda a máquina, recibe e procesa o tacto, a adquisición de ADC, a información de control PWM e manexa a pantalla LCD de 3,5 polgadas para mostrar o estado actual en tempo real.Admite o axuste táctil remoto do brillo da fonte de luz LED a través do módulo WiFi e admite a alarma de voz.

Características do programa:

1. Adopte o chip T5L para funcionar a alta frecuencia, a mostraxe analóxica AD é estable e o erro é pequeno;

2. Soporte TIPO C conectado directamente ao PC para a depuración e a queima de programas;

3. Admite interface principal do sistema operativo de alta velocidade, porto paralelo de 16 bits;Porto PWM do núcleo da interface de usuario, saída do porto AD, deseño de aplicacións de baixo custo, sen necesidade de engadir MCU adicional;

4. Soporte WiFi, control remoto Bluetooth;

5. Admite unha tensión ampla de 5 ~ 12 V CC e unha entrada de ampla gama

imaxe 1

1.1 Diagrama do esquema

imaxe 2

1.2 Placa PCB

imaxe 3

1.3 Interface de usuario

Vergoña introdución:

(1) Deseño de circuítos de hardware

imaxe 4

1.4 Diagrama de circuíto T5L48320C035

1. MCU fonte de alimentación lóxica 3.3V: C18, C26, C27, C28, C29, C31, C32, C33;

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

3. MCU fonte de alimentación analóxica 3.3V: C35 é a fonte de alimentación analóxica para MCU.Ao realizar a composición, a terra do núcleo de 1,25 V e a terra lóxica pódense combinar, pero a terra analóxica debe estar separada.A terra analóxica e a terra dixital deben recollerse no polo negativo do capacitor grande de saída LDO, e o polo positivo analóxico tamén debe recollerse no polo positivo do capacitor grande LDO, para minimizar o ruído de mostraxe AD.

4. Circuíto de adquisición de sinal analóxico AD: CP1 é o condensador de filtro de entrada analóxica AD.Para reducir o erro de mostraxe, a terra analóxica e a terra dixital do MCU están separadas de forma independente.O polo negativo de CP1 debe estar conectado á terra analóxica do MCU cunha impedancia mínima e os dous capacitores paralelos do oscilador de cristal están conectados á terra analóxica do MCU.

5. Circuíto do zumbador: C25 é o capacitor da fonte de alimentación para o zumbador.O zumbador é un dispositivo indutivo e haberá un pico de corrente durante o funcionamento.Para reducir o pico, é necesario reducir a corrente de unidade MOS do zumbador para que o tubo MOS funcione na rexión lineal e deseñar o circuíto para que funcione no modo de conmutación.Teña en conta que o R18 debe conectarse en paralelo nos dous extremos do zumbador para axustar a calidade do son do zumbador e facer que o zumbador soe nítido e agradable.

6. Circuíto WiFi: mostra de chip WiFi ESP32-C, con WiFi+Bluetooth+BLE.No cableado, a terra de alimentación de RF e a terra do sinal están separadas.

imaxe 5

1.5 Deseño do circuíto WiFi

Na figura anterior, a parte superior do revestimento de cobre é o bucle de terra de enerxía.O bucle de terra de reflexión da antena WiFi debe ter unha gran área ata a terra de alimentación e o punto de recollida da terra de alimentación é o polo negativo de C6.Hai que proporcionar unha corrente reflectida entre a toma de terra e a antena WiFi, polo que debe haber un revestimento de cobre baixo a antena WiFi.A lonxitude do revestimento de cobre supera a lonxitude da extensión da antena WiFi e a extensión aumentará a sensibilidade da WiFi;punto no polo negativo de C2.Unha gran área de cobre pode protexer o ruído causado pola radiación da antena WiFi.Os dous terreos de cobre están separados na capa inferior e recóllense na almofada central de ESP32-C a través de vías.A terra de alimentación de RF necesita unha impedancia máis baixa que o bucle de terra do sinal, polo que hai 6 vías desde a terra de alimentación ata o chip pad para garantir unha impedancia suficientemente baixa.O bucle de terra do oscilador de cristal non pode ter enerxía de RF fluíndo por el, se non, o oscilador de cristal xerará fluctuación de frecuencia e a compensación de frecuencia WiFi non poderá enviar nin recibir datos.

7. Circuíto de fonte de alimentación LED de retroiluminación: mostraxe de chip de controlador SOT23-6LED.A fonte de alimentación DC/DC do LED forma independentemente un bucle e a terra DC/DC está conectada á terra LOD de 3,3 V.Dado que o núcleo do porto PWM2 foi especializado, emite un sinal PWM de 600K e engádese un RC para usar a saída PWM como control ON/OFF.

8. Rango de entrada de tensión: deséñanse dous reductores DC/DC.Teña en conta que as resistencias R13 e R17 no circuíto DC/DC non se poden omitir.Os dous chips DC/DC admiten entrada de ata 18V, o que é conveniente para a fonte de alimentación externa.

9. Porto de depuración USB TIPO C: o TIPO C pódese conectar e desconectar cara adiante e cara atrás.A inserción cara adiante comunícase co chip WIFI ESP32-C para programar o chip WIFI;a inserción inversa comunica co XR21V1410IL16 para programar o T5L.TIPO C admite fonte de alimentación de 5 V.

10. Comunicación de portos paralelos: o núcleo do sistema operativo T5L ten moitos portos de E/S libres e pódese deseñar a comunicación de portos paralelos de 16 bits.Combinado co protocolo de porto paralelo ST ARM FMC, admite lectura e escritura sincrónicas.

11. Deseño de interface de alta velocidade LCM RGB: a saída T5L RGB está conectada directamente a LCM RGB e engádese unha resistencia de tampón no medio para reducir a interferencia da onda de auga LCM.Ao conectar, reduce a lonxitude da conexión da interface RGB, especialmente o sinal PCLK, e aumenta os puntos de proba da interface RGB PCLK, HS, VS, DE;o porto SPI da pantalla está conectado aos portos P2.4 ~ P2.7 do T5L, o que é conveniente para deseñar o controlador de pantalla.Dirixe os puntos de proba RST, nCS, SDA e SCI para facilitar o desenvolvemento do software subxacente.

(2) Interface DGUS

imaxe 6 imaxe 7

1.6 Control de visualización da variable de datos

(3) OS
//———————————Formato de lectura e escritura DGUS
typedef struct
{
enderezo u16;//Enderezo variable de UI de 16 bits
u8 datLen;//Lonxitude de datos de 8 bits
u8 *pBuf;// punteiro de datos de 8 bits
} UI_packTypeDef;//DGUS ler e escribir paquetes

//——————————-control de visualización da variable de datos
typedef struct
{
sub16 VP;
u16 X;
u16 Y;
u16 Cor;
u8 Lib_ID;
u8 FontSize;
u8 Aliñamento;
u8 IntNum;
u8 DecNum;
Tipo u8;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef;//estrutura de descrición da variable de datos

typedef struct
{
Number_spTypeDef sp;//Define o punteiro de descrición do SP
UI_packTypeDef spPack;//Define o paquete de lectura e escritura da variable SP DGUS
UI_packTypeDef vpPack;//Define o paquete de lectura e escritura da variable DGUS vp
} Number_HandleTypeDef;//estrutura das variables de datos

Coa definición de manexo da variable de datos anterior.A continuación, defina unha variable para a visualización de mostraxe de tensión:
Number_HandleTypeDef Hsample;
u16 mostra_tensión;

Primeiro, executa a función de inicialización
NumberSP_Init(&Hmostra,mostra_tensión,0×8000);//0×8000 aquí está o punteiro de descrición
//——Variable de datos que mostra a inicialización da estrutura do punteiro SP——
void NumberSP_Init(Number_HandleTypeDef *número, u8 *valor, u16 numberAddr)
{
number->spPack.addr = numberAddr;
número->spPack.datLen = sizeof(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) //A lonxitude dos datos da variable vp se selecciona automaticamente segundo o tipo de variable de datos deseñado na interface 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;
}

Despois da inicialización, Hsample.sp é o punteiro de descrición da variable de datos de mostraxe de tensión;Hsample.spPack é o punteiro de comunicación entre o núcleo do sistema operativo e a variable de datos de mostraxe de tensión da IU a través da función de interface DGUS;Hsample.vpPack é o atributo de cambiar a variable de datos de mostraxe de tensión, como as cores da fonte, etc. tamén se pasan ao núcleo da interface de usuario a través da función da interface DGUS.Hsample.vpPack.addr é o enderezo variable de datos de mostraxe de tensión, que se obtivo automaticamente a partir da función de inicialización.Cando cambia o enderezo variable ou o tipo de datos variables na interface DGUS, non é necesario actualizar o enderezo variable no núcleo do SO de forma sincrónica.Despois de que o núcleo do SO calcula a variable voltage_sample, só precisa executar a función Write_Dgus(&Hsample.vpPack) para actualizala.Non é necesario empaquetar o voltage_sample para a transmisión DGUS.


Hora de publicación: 15-Xun-2022