Avoimen lähdekoodin ratkaisu: Smart Cabinet Management System perustuu DWIN T5L -näyttöön

T5L-sirun käyttäminen pääohjaimena ja T5L-sirun käyttö ohjaa sarjaväylän servoa ovikytkimen ohjaamiseen ja käsittelee apuohjaimen keräämät anturitiedot ja ohjaa LCD-näyttöä tietojen näyttämistä varten.Siinä on epänormaali varoitustoiminto ja automaattinen valaistusjärjestelmä, jota voidaan käyttää normaalisti hämärässä.

wps_doc_0

1. Ohjelman kuvaus

(1) T5L-näyttöä käytetään pääohjaimena ohjaamaan suoraan sarjaväylän servoa.Feite STS -sarjan ohjausvaihdetta käytettäessä vääntömomentti vaihtelee välillä 4,5–40 kg, ja protokolla on universaali.

(2) Sarjaväylän ohjausvaihteistossa on virta-, vääntömomentti-, lämpötila- ja jännitesuojaustoiminnot, ja sen turvallisuus on korkeampi kuin tavanomaisten moottoreiden;

(3) Yksi sarjaportti tukee 254 servon samanaikaista ohjausta.

2. Kaaviosuunnittelu

(1) Kaavion lohkokaavio

wps_doc_1

(2) Mekaaninen rakennekaavio

Jotta älykkään kaapin oven sähkökatko ei menisi hallintaan, tämä rakenne käyttää kaksoisohjausvaihteistoa.Sähkökatkon jälkeen, oven salvan olemassaolon vuoksi, vaikka oven avausservo olisi kuormittamaton, älykaappi on edelleen lukitussa tilassa.Mekaaninen rakenne näkyy kuvassa:

wps_doc_2
wps_doc_3

Avausrakenteen kaavio

Kaaviosulkeminen rakenne

(3) DGUS GUI Design

wps_doc_4 wps_doc_5

(4) Piirikaavio
Piirikaavio on jaettu kolmeen osaan: pääpiirilevy (servokäyttöpiiri + apuohjain + liitäntä), alennuspiiri ja valaistuspiiri (asennettu kaappiin).

wps_doc_6

Pääpiirilevy

wps_doc_7

Asennuspiiri

wps_doc_8

Valaistuspiiri

5. Ohjelmaesimerkki

Lämpötilan ja kosteuden tunnistus ja päivitys, ajan päivitys (AHT21:tä ohjaa apuohjain, ja lämpötila- ja kosteustiedot kirjoitetaan DWIN-näyttöön)
/********************Lämpötilan ja kosteuden päivitys************************/
void dwin_Tempe_humi_update( void)
{
uint8_t Tempe_humi_date[20];//Komennot lähetettiin LCD-näytölle
AHT20_Lue_CT-tiedot(CT_data);//Lue lämpötila ja kosteus
        
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;//Laske lämpötila-arvo (suurennettuna 10 kertaa, jos t1=245, se tarkoittaa, että lämpötila on nyt 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;//Laske kosteusarvo (suurennettuna 10 kertaa, jos c1=523, se tarkoittaa, että kosteus on nyt 52,3%)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


Postitusaika: 08.11.2022