A aplicação de potência ajustável de LCD com base em DWIN T5L ASIC

—— Compartilhado de DWIN From

Usando o chip DWIN T5L1 como núcleo de controle de toda a máquina, recebe e processa toque, aquisição ADC, informações de controle PWM e aciona a tela LCD de 3,5 polegadas para exibir o status atual em tempo real. Suporta ajuste de toque remoto do brilho da fonte de luz LED por meio do módulo WiFi e suporta alarme por voz.

Recursos do programa:

1. Adote o chip T5L para funcionar em alta frequência, a amostragem analógica AD é estável e o erro é pequeno;

2. Suporte TIPO C conectado diretamente ao PC para depuração e gravação de programas;

3. Suporta interface de núcleo de sistema operacional de alta velocidade, porta paralela de 16 bits; Porta PWM do núcleo da interface do usuário, saída da porta AD, design de aplicativo de baixo custo, sem necessidade de adicionar MCU adicional;

4. Suporte WiFi, controle remoto Bluetooth;

5. Suporta tensão ampla de 5 ~ 12V DC e entrada de ampla faixa

imagem1

1.1 Diagrama de esquema

imagem2

1.2 Placa PCB

imagem3

1.3 Interface do usuário

Introdução de vergonha:

(1) Projeto de circuito de hardware

imagem4

1.4 Diagrama de circuito T5L48320C035

1. Fonte de alimentação lógica MCU 3,3 V: C18, C26, C27, C28, C29, C31, C32, C33;

2. Fonte de alimentação central MCU 1,25 V: C23, C24;

3. Fonte de alimentação analógica MCU 3,3 V: C35 é a fonte de alimentação analógica para MCU. Ao compor, o aterramento do núcleo de 1,25 V e o aterramento lógico podem ser combinados, mas o aterramento analógico deve ser separado. O aterramento analógico e o aterramento digital devem ser coletados no pólo negativo do grande capacitor de saída LDO, e o pólo positivo analógico também deve ser coletado no pólo positivo do grande capacitor LDO, para que o ruído de amostragem AD seja minimizado.

4. Circuito de aquisição de sinal analógico AD: CP1 é o capacitor de filtro de entrada analógica AD. Para reduzir o erro de amostragem, o aterramento analógico e o aterramento digital do MCU são separados independentemente. O pólo negativo do CP1 deve ser conectado ao terra analógico do MCU com impedância mínima, e os dois capacitores paralelos do oscilador de cristal são conectados ao terra analógico do MCU.

5. Circuito da campainha: C25 é o capacitor de alimentação da campainha. A campainha é um dispositivo indutivo e haverá um pico de corrente durante a operação. Para reduzir o pico, é necessário reduzir a corrente de acionamento MOS da campainha para fazer o tubo MOS funcionar na região linear, e projetar o circuito para fazê-lo funcionar no modo chaveado. Observe que o R18 deve ser conectado em paralelo em ambas as extremidades da campainha para ajustar a qualidade do som da campainha e fazer com que a campainha soe nítida e agradável.

6. Circuito WiFi: amostragem de chip WiFi ESP32-C, com WiFi+Bluetooth+BLE. Na fiação, o aterramento da alimentação de RF e o aterramento do sinal são separados.

imagem5

1.5 Projeto de circuito WiFi

Na figura acima, a parte superior do revestimento de cobre é o circuito de aterramento de energia. O loop de aterramento de reflexão da antena WiFi deve ter uma grande área até o aterramento de energia, e o ponto de coleta do aterramento de energia é o pólo negativo de C6. Uma corrente refletida precisa ser fornecida entre o aterramento de energia e a antena WiFi, portanto deve haver revestimento de cobre sob a antena WiFi. O comprimento do revestimento de cobre excede o comprimento da extensão da antena WiFi, e a extensão aumentará a sensibilidade do WiFi; ponto no pólo negativo de C2. Uma grande área de cobre pode proteger o ruído causado pela radiação da antena WiFi. Os 2 aterramentos de cobre são separados na camada inferior e coletados na almofada intermediária do ESP32-C através de vias. O aterramento de alimentação de RF precisa de uma impedância mais baixa do que o loop de aterramento do sinal, portanto, há 6 vias do aterramento de alimentação ao chip pad para garantir uma impedância suficientemente baixa. O loop de terra do oscilador de cristal não pode ter energia de RF fluindo através dele, caso contrário, o oscilador de cristal gerará instabilidade de frequência e o deslocamento de frequência WiFi não será capaz de enviar e receber dados.

7. Circuito de fonte de alimentação LED de retroiluminação: amostragem de chip de driver SOT23-6LED. A fonte de alimentação DC/DC para o LED forma um loop independente e o aterramento DC/DC é conectado ao aterramento LOD de 3,3 V. Como o núcleo da porta PWM2 foi especializado, ele emite um sinal PWM de 600K e um RC é adicionado para usar a saída PWM como um controle ON/OFF.

8. Faixa de entrada de tensão: dois redutores DC/DC são projetados. Observe que os resistores R13 e R17 no circuito DC/DC não podem ser omitidos. Os dois chips DC/DC suportam entrada de até 18V, o que é conveniente para fonte de alimentação externa.

9. Porta de depuração USB TIPO C: O TIPO C pode ser conectado e desconectado para frente e para trás. A inserção direta se comunica com o chip WIFI ESP32-C para programar o chip WIFI; a inserção reversa se comunica com o XR21V1410IL16 para programar o T5L. TIPO C suporta fonte de alimentação de 5V.

10. Comunicação de porta paralela: o núcleo do sistema operacional T5L tem muitas portas IO livres e a comunicação de porta paralela de 16 bits pode ser projetada. Combinado com o protocolo de porta paralela ST ARM FMC, ele suporta leitura e gravação síncronas.

11. Design de interface de alta velocidade LCM RGB: a saída T5L RGB é conectada diretamente ao LCM RGB e a resistência do buffer é adicionada no meio para reduzir a interferência de ondulação da água LCM. Ao conectar, reduza o comprimento da conexão da interface RGB, especialmente o sinal PCLK, e aumente os pontos de teste da interface RGB PCLK, HS, VS, DE; a porta SPI da tela está conectada às portas P2.4 ~ P2.7 do T5L, o que é conveniente para projetar o driver da tela. Conduza pontos de teste RST, nCS, SDA, SCI para facilitar o desenvolvimento do software subjacente.

(2) Interface DGUS

imagem6 imagem7

1.6 Controle de exibição de variáveis ​​de dados

(3) OS
//——————————— Formato de leitura e gravação DGUS
estrutura typedef
{
endereço u16; //Endereço variável UI de 16 bits
u8 datLen; //comprimento de dados de 8 bits
u8 *pBuf; //ponteiro de dados de 8 bits
} UI_packTypeDef; //DGUS lê e escreve pacotes

//——————————-controle de exibição de variáveis ​​de dados
estrutura typedef
{
u16 PV;
u16 X;
u16 Y;
u16 Cor;
u8 Lib_ID;
u8 Tamanho da fonte;
u8 Alinhamento;
u8 IntNum;
u8 DecNum;
u8 Tipo;
u8 LenUint;
u8 StringUinit[11];
} Número_spTypeDef; //estrutura de descrição da variável de dados

estrutura typedef
{
Número_spTypeDef sp; //define o ponteiro de descrição do SP
UI_packTypeDef spPack; //define o pacote de leitura e gravação da variável SP DGUS
UI_packTypeDef vpPack; //define o pacote de leitura e gravação da variável vp DGUS
} Número_HandleTypeDef; //estrutura da variável de dados

Com a definição de identificador de variável de dados anterior. A seguir, defina uma variável para a exibição da amostragem de tensão:
Number_HandleTypeDef Hsample;
u16 voltage_sample;

Primeiro, execute a função de inicialização
NúmeroSP_Init(&Hamostra,tensão_amostra,0×8000); //0×8000 aqui está o ponteiro de descrição
//——Variável de dados mostrando a inicialização da estrutura do ponteiro SP——
void NumberSP_Init(Number_HandleTypeDef *número,u8 *valor, u16 númeroAddr)
{
número->spPack.addr = númeroAddr;
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) //O comprimento dos dados da variável vp é selecionado automaticamente de acordo com o tipo de variável de dados projetado na interface DGUS.

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

Após a inicialização, Hsample.sp é o ponteiro de descrição da variável de dados de amostragem de tensão; Hsample.spPack é o ponteiro de comunicação entre o núcleo do sistema operacional e a variável de dados de amostragem de tensão da UI por meio da função de interface DGUS; Hsample.vpPack é o atributo de alteração da variável de dados de amostragem de tensão, como cores de fonte, etc. também são passados ​​​​para o núcleo da UI por meio da função de interface DGUS. Hsample.vpPack.addr é o endereço da variável de dados de amostragem de tensão, que foi obtido automaticamente a partir da função de inicialização. Quando você altera o endereço da variável ou o tipo de dados da variável na interface DGUS, não há necessidade de atualizar o endereço da variável no núcleo do sistema operacional de forma síncrona. Depois que o núcleo do sistema operacional calcula a variável voltage_sample, ele só precisa executar a função Write_Dgus(&Hsample.vpPack) para atualizá-la. Não há necessidade de empacotar o voltage_sample para transmissão DGUS.


Horário da postagem: 15 de junho de 2022