Utilizando o chip T5L como controlador principal, o chip T5L aciona o servo do barramento serial para controlar o interruptor da porta, processa os dados dos sensores coletados pelo controlador auxiliar e aciona a tela LCD para exibição dos dados. Possui função de aviso de anormalidade e sistema de iluminação automática, podendo ser utilizado normalmente em ambientes com pouca luz.
1. Descrição do Programa
(1) A tela T5L é usada como controle principal para acionar diretamente o servo do barramento serial. Usando o mecanismo de direção da série Feite STS, o torque varia de 4,5 kg a 40 kg e o protocolo é universal.
(2) O mecanismo de direção do barramento serial possui funções de proteção contra corrente, torque, temperatura e tensão, e sua segurança é maior do que a dos motores convencionais;
(3) Uma porta serial suporta o controle simultâneo de 254 servos.
2. Projeto do esquema
(1) Diagrama de blocos do esquema
(2) Diagrama da estrutura mecânica
Para evitar que a porta do armário inteligente fique fora de controle em caso de falha de energia, este projeto adota um sistema de acionamento duplo. Após uma falha de energia, devido à presença da trava da porta, mesmo que o servo de abertura da porta seja desativado, o armário inteligente permanece travado. A estrutura mecânica é mostrada na figura:
Diagrama da estrutura de abertura
Diagrama do encerramento estrutura
(3) Design da GUI do DGUS
(4) Diagrama do circuito
O esquema do circuito é dividido em três partes: placa de circuito principal (circuito de acionamento do servo + controlador auxiliar + interface), circuito redutor de tensão e circuito de iluminação (instalado no gabinete).
Placa de circuito principal
Circuito redutor
Circuito de iluminação
5. Exemplo de programa
Detecção e atualização de temperatura e umidade, atualização de hora (o AHT21 é controlado pelo controlador auxiliar e os dados de temperatura e umidade são gravados na tela do DWIN)
/*****************Atualização de temperatura e umidade**********************/
void dwin_Tempe_humi_update( void)
{
uint8_t Tempe_humi_date[20]; //Comandos enviados para a tela LCD
AHT20_Read_CTdata(CT_data); //Ler temperatura e umidade
Tempe_humi_date[0]=0x5A;
Tempe_humi_date[1]=0xA5;
Tempe_humi_date[2]=0x07;
Tempe_humi_date[3]=0x82;
Tempe_humi_date[4]=(ADDR_TEMP_HUMI>>8)&0xff;
Tempe_humi_date[5]=ADDR_TEMP_HUMI&0xff;
Tempe_humi_date[6]=((CT_data[1] *200*10/1024/1024-500)>>8)&0xff;
Tempe_humi_date[7]=((CT_data[1] *200*10/1024/1024-500))&0xff;//Calcula o valor da temperatura (ampliado por 10 vezes; se t1=245, significa que a temperatura agora é de 24,5°C)
Tempe_humi_date[8]=((CT_data[0]*1000/1024/1024)>>8)&0xff;
Tempe_humi_date[9]=((CT_data[0]*1000/1024/1024))&0xff; //Calcula o valor da umidade (ampliado 10 vezes; se c1=523, significa que a umidade atual é de 52,3%)
Usart_SendString(USART_DWIN,Tempe_humi_date,10);
}
Data da publicação: 08/11/2022










