Atvirojo kodo sprendimas: „Smart Cabinet“ valdymo sistema, pagrįsta DWIN T5L ekranu

Naudojant T5L lustą kaip pagrindinį valdiklį, o T5L lustą valdo nuosekliosios magistralės servo, kad valdytų durų jungiklį, apdorojami pagalbinio valdiklio surinkti jutiklio duomenys ir LCD ekranas, kad būtų rodomi duomenys.Jis turi nenormalią įspėjimo funkciją ir automatinę apšvietimo sistemą, kurią galima įprastai naudoti esant silpnam apšvietimui.

wps_doc_0

1. Programos aprašymas

(1) T5L ekranas naudojamas kaip pagrindinis valdiklis, tiesiogiai valdantis nuosekliosios magistralės servosistemą.Naudojant Feite STS serijos vairo pavarą, sukimo momentas svyruoja nuo 4,5KG iki 40KG, o protokolas yra universalus.

(2) nuosekliosios magistralės vairo pavara turi srovės, sukimo momento, temperatūros ir įtampos apsaugos funkcijas, o jos sauga yra didesnė nei įprastų variklių;

(3) Vienas nuoseklusis prievadas palaiko 254 servo valdymą vienu metu.

2.Schemos projektavimas

(1) Schemos blokinė schema

wps_doc_1

(2) Mechaninės konstrukcijos schema

Siekiant išvengti, kad išmaniosios spintelės durelių elektros energijos tiekimas būtų nevaldomas, ši konstrukcija pritaikyta dvigubai vairo pavarai.Nutrūkus elektros tiekimui, dėl durų skląsčio egzistavimo, net jei durų atidarymo servo yra neapkrautas, išmanioji spinta vis dar yra užrakinta.Mechaninė struktūra parodyta paveikslėlyje:

wps_doc_2
wps_doc_3

Atidarymo struktūros schema

Diagramauždarymas struktūra

(3) DGUS GUI dizainas

wps_doc_4 wps_doc_5

(4) Grandinės schema
Grandinės schema suskirstyta į tris dalis: pagrindinė plokštė (servo pavaros grandinė + pagalbinis valdiklis + sąsaja), sumažinimo grandinė ir apšvietimo grandinė (įmontuota spintoje).

wps_doc_6

Pagrindinė grandinės plokštė

wps_doc_7

Nuleidimo grandinė

wps_doc_8

Apšvietimo grandinė

5. Programos pavyzdys

Temperatūros ir drėgmės aptikimas ir atnaujinimas, laiko atnaujinimas (AHT21 valdo pagalbinis valdiklis, o temperatūros ir drėgmės duomenys įrašomi į DWIN ekraną)
/********************Temperatūros ir drėgmės atnaujinimas************************/
void dwin_Tempe_humi_update(galioja)
{
uint8_t Tempe_humi_date[20];//Komandos išsiųstos į LCD ekraną
AHT20_Read_CTdata(CT_data);//Nuskaitykite temperatūrą ir drėgmę
        
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_duomenys[1] *200*10/1024/1024-500)>>8)&0xff;
Tempe_humi_date[7]=((CT_data[1] *200*10/1024/1024-500))&0xff;//Apskaičiuokite temperatūros reikšmę (padidinta 10 kartų, jei t1=245, tai reiškia, kad temperatūra dabar yra 24,5 °C)

Tempe_humi_date[8]=((CT_data[0]*1000/1024/1024)>>8)&0xff;
Tempe_humi_date[9]=((CT_duomenys[0]*1000/1024/1024))&0xff;//Apskaičiuokite drėgmės reikšmę (padidinta 10 kartų, jei c1=523, tai reiškia, kad drėgnumas dabar yra 52,3%)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


Paskelbimo laikas: 2022-11-08