Lösning med öppen källkod: Smart Cabinet Management System Baserat på DWIN T5L-skärm

Att använda T5L-chippet som huvudkontroll och T5L-chipet driver seriebussservot för att styra dörrkontakten, och bearbetar sensordata som samlats in av extrastyrenheten och driver LCD-skärmen för datavisning.Den har en onormal varningsfunktion och ett automatiskt belysningssystem, som kan användas normalt i svagt ljus.

wps_doc_0

1. Programbeskrivning

(1) T5L-skärmen används som huvudkontroll för att direkt driva seriebussservon.Med Feite STS-seriens styrväxel varierar vridmomentet från 4,5 kg till 40 kg, och protokollet är universellt.

(2) Den seriella bussens styrväxel har ström-, vridmoment-, temperatur- och spänningsskyddsfunktioner och dess säkerhet är högre än för konventionella motorer;

(3) En serieport stöder samtidig kontroll av 254 servon.

2. Schema design

(1) Schemablockschema

wps_doc_1

(2) Mekanisk strukturdiagram

För att förhindra att strömavbrottet i den intelligenta skåpdörren blir utom kontroll, antar denna design en design med dubbla styrväxel.Efter ett strömavbrott, på grund av existensen av dörrspärren, är det smarta skåpet fortfarande i låst tillstånd, även om dörröppningsservot är urladdat.Den mekaniska strukturen visas i figuren:

wps_doc_2
wps_doc_3

Diagram över öppningsstrukturen

Diagram överstängning strukturera

(3) DGUS GUI Design

wps_doc_4 wps_doc_5

(4) Kretsschema
Kretsschemat är uppdelat i tre delar: huvudkretskort (servodrivkrets + extra styrenhet + gränssnitt), nedtrappningskrets och belysningskrets (installerad i skåpet).

wps_doc_6

Huvudkretskort

wps_doc_7

Step-down krets

wps_doc_8

Belysningskrets

5. Programexempel

Temperatur- och luftfuktighetsdetektering och uppdatering, tidsuppdatering (AHT21 drivs av den extra styrenheten, och temperatur- och fuktighetsdata skrivs in i DWIN-skärmen)
/******************** Temperatur och luftfuktighet uppdatering***********************/
void dwin_Tempe_humi_update( void)
{
uint8_t Tempe_humi_date[20];//Kommandon skickade till LCD-skärmen
AHT20_Read_CTdata(CT_data);//Avläs temperatur och luftfuktighet
        
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;//Beräkna temperaturvärdet (förstorat med 10 gånger, om t1=245 betyder det att temperaturen nu är 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;//Beräkna luftfuktighetsvärdet (förstorat 10 gånger, om c1=523 betyder det att luftfuktigheten är 52,3% nu)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


Posttid: 2022-nov-08