Utilizzando il chip T5L come controllo principale e il chip T5L aziona il servo del bus seriale per controllare l'interruttore della porta, elabora i dati del sensore raccolti dal controller ausiliario e guida lo schermo LCD per la visualizzazione dei dati.Ha una funzione di avviso anomalo e un sistema di illuminazione automatico, che può essere utilizzato normalmente in situazioni di scarsa illuminazione.
1. Descrizione del programma
(1) Lo schermo T5L viene utilizzato come controllo principale per pilotare direttamente il servo del bus seriale.Utilizzando lo sterzo della serie Feite STS, la coppia varia da 4,5 kg a 40 kg e il protocollo è universale.
(2) La scatola dello sterzo del bus seriale ha funzioni di protezione da corrente, coppia, temperatura e tensione e la sua sicurezza è superiore a quella dei motori convenzionali;
(3) Una porta seriale supporta il controllo simultaneo di 254 servi.
disegno 2.Scheme
(1) Schema a blocchi dello schema
(2) Schema della struttura meccanica
Per evitare che l'interruzione di corrente della porta dell'armadio intelligente sia fuori controllo, questo design adotta un design a doppio sterzo.Dopo un'interruzione di corrente, dovuta all'esistenza del fermo della porta, anche se il servo di apertura della porta è scarico, l'armadio intelligente è ancora nello stato bloccato.La struttura meccanica è mostrata in figura:
Schema della struttura di apertura
Diagramma delchiusura struttura
(3) Progettazione GUI DGUS
(4) Schema del circuito
Lo schema del circuito è diviso in tre parti: circuito principale (circuito servoazionamento + controller ausiliario + interfaccia), circuito step-down e circuito di illuminazione (installato nell'armadio).
Circuito principale
Circuito discendente
Circuito di illuminazione
5. Esempio di programma
Rilevamento e aggiornamento di temperatura e umidità, aggiornamento dell'ora (AHT21 è guidato dal controller ausiliario e i dati di temperatura e umidità vengono scritti nella schermata DWIN)
/*****************Aggiornamento temperatura e umidità**********************/
void dwin_Tempe_humi_update( void)
{
uint8_t Tempe_humi_date[20];//Comandi inviati allo schermo LCD
AHT20_Read_CTdata(CT_data);//Leggi la temperatura e l'umidità
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;//Calcola il valore della temperatura (ingrandito di 10 volte, se t1=245 significa che la temperatura è ora 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;//Calcola il valore di umidità (ingrandito 10 volte, se c1=523, significa che ora l'umidità è del 52,3%)
Usart_SendString(USART_DWIN,Tempe_humi_date,10);
}
Tempo di pubblicazione: Nov-08-2022