Rešenje otvorenog koda: Sistem za upravljanje pametnim kabinetima zasnovan na DWIN T5L ekranu

Korišćenje T5L čipa kao glavne kontrole i T5L čipa pokreće servo serijske magistrale za kontrolu prekidača vrata i obrađuje podatke senzora prikupljene od pomoćnog kontrolera i pokreće LCD ekran za prikaz podataka. Ima funkciju upozorenja na nenormalno stanje i automatski sistem osvjetljenja, koji se može normalno koristiti u situacijama slabog svjetla.

wps_doc_0

1. Opis programa

(1) Ekran T5L se koristi kao glavna kontrola za direktan pogon servo serijske magistrale. Koristeći Feite STS seriju upravljača, obrtni moment se kreće od 4,5KG do 40KG, a protokol je univerzalan.

(2) Upravljački uređaj serijske sabirnice ima funkcije zaštite struje, momenta, temperature i napona, a njegova sigurnost je veća od one kod konvencionalnih motora;

(3) Jedan serijski port podržava istovremenu kontrolu 254 servo.

2. Dizajn šeme

(1) Blok dijagram šeme

wps_doc_1

(2) Dijagram mehaničke strukture

Kako bi se spriječio nestanak struje na vratima inteligentnog ormara, ovaj dizajn usvaja dvostruki dizajn upravljačkog mehanizma. Nakon nestanka struje, zbog postojanja zasuna vrata, čak i ako je servo otvaranja vrata neopterećen, pametni ormarić je i dalje u zaključanom stanju. Mehanička struktura je prikazana na slici:

wps_doc_2
wps_doc_3

Dijagram otvorne konstrukcije

Dijagramzatvaranje struktura

(3) DGUS GUI dizajn

wps_doc_4 wps_doc_5

(4) Šema kola
Šema kruga je podijeljena na tri dijela: glavnu ploču (servo pogonski krug + pomoćni kontroler + sučelje), kolo za smanjenje i rasvjetno kolo (instalirano u ormariću).

wps_doc_6

Glavna ploča

wps_doc_7

Step-down Circuit

wps_doc_8

Lighting Circuit

5. Primjer programa

Detekcija i osvježavanje temperature i vlažnosti, ažuriranje vremena (AHT21 pokreće pomoćni kontroler, a podaci o temperaturi i vlažnosti upisuju se u DWIN ekran)
/********************Ažuriranje temperature i vlažnosti*************************/
void dwin_Tempe_humi_update( void)
{
uint8_t Tempe_humi_date[20]; //Komande poslane na LCD ekran
AHT20_Read_CTdata(CT_data); //Očitavanje temperature i vlažnosti
        
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;//Izračunajte vrijednost temperature (uvećana za 10 puta, ako je t1=245, to znači da je temperatura sada 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; //Izračunajte vrijednost vlažnosti (uvećano 10 puta, ako je c1=523, to znači da je vlažnost sada 52,3%)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


Vrijeme objave: Nov-08-2022