Open Source-løsning: Smart kabinetstyringssystem baseret på DWIN T5L-skærm

Brug af T5L-chippen som hovedkontrol og T5L-chip driver den serielle busservo til at styre dørkontakten og behandler sensordataene indsamlet af hjælpecontrolleren og driver LCD-skærmen til datavisning.Den har en unormal advarselsfunktion og et automatisk lyssystem, som kan bruges normalt i svagt lys.

wps_doc_0

1. Programbeskrivelse

(1) T5L-skærmen bruges som hovedkontrol til direkte at drive den serielle busservo.Ved at bruge Feite STS-seriens styretøj varierer drejningsmomentet fra 4,5 kg til 40 kg, og protokollen er universel.

(2) Det serielle busstyretøj har strøm-, drejningsmoment-, temperatur- og spændingsbeskyttelsesfunktioner, og dets sikkerhed er højere end for konventionelle motorer;

(3) Én seriel port understøtter samtidig kontrol af 254 servoer.

2.Skeme design

(1) Skemablokdiagram

wps_doc_1

(2) Mekanisk strukturdiagram

For at forhindre strømsvigt fra den intelligente skabsdør i at være ude af kontrol, vedtager dette design et dobbelt styretøjsdesign.Efter et strømsvigt, på grund af eksistensen af ​​dørlåsen, er det smarte kabinet stadig i låst tilstand, selvom døråbningsservoen er ubelastet.Den mekaniske struktur er vist på figuren:

wps_doc_2
wps_doc_3

Diagram af åbningsstrukturen

Diagram aflukning struktur

(3) DGUS GUI Design

wps_doc_4 wps_doc_5

(4) Kredsløbsskema
Kredsløbsskemaet er opdelt i tre dele: hovedkredsløb (servodrevkredsløb + hjælpecontroller + interface), nedtrappingskredsløb og belysningskredsløb (installeret i kabinettet).

wps_doc_6

Hovedkredsløbskort

wps_doc_7

Step-down kredsløb

wps_doc_8

Belysningskredsløb

5. Programeksempel

Temperatur- og fugtighedsdetektering og -opdatering, tidsopdatering (AHT21 drives af hjælpecontrolleren, og temperatur- og fugtighedsdataene skrives ind i DWIN-skærmen)
/*****************Temperature og luftfugtighed opdatering***********************/
void dwin_Tempe_humi_update( void)
{
uint8_t Tempe_humi_date[20];//Kommandoer sendt til LCD-skærmen
AHT20_Read_CTdata(CT_data);//Aflæs temperatur og luftfugtighed
        
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;//Beregn temperaturværdien (forstørret med 10 gange, hvis t1=245, betyder det, at temperaturen nu er 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;//Beregn fugtighedsværdien (forstørret 10 gange, hvis c1=523, betyder det, at luftfugtigheden er 52,3% nu)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


Indlægstid: 8-08-2022