Åpen kildekode-løsning: Smart kabinettstyringssystem basert på DWIN T5L-skjerm

Bruk av T5L-brikken som hovedkontroll og T5L-brikken driver seriebussservoen for å kontrollere dørbryteren, og behandler sensordataene som samles inn av hjelpekontrolleren, og driver LCD-skjermen for datavisning.Den har en unormal varslingsfunksjon og et automatisk lyssystem, som kan brukes normalt i situasjoner med svakt lys.

wps_doc_0

1. Programbeskrivelse

(1) T5L-skjermen brukes som hovedkontroll for direkte å drive seriebussservoen.Ved å bruke Feite STS-seriens styreutstyr varierer dreiemomentet fra 4,5 kg til 40 kg, og protokollen er universell.

(2) Den serielle bussstyringen har strøm-, dreiemoment-, temperatur- og spenningsbeskyttelsesfunksjoner, og sikkerheten er høyere enn for konvensjonelle motorer;

(3) Én serieport støtter samtidig kontroll av 254 servoer.

2. Scheme design

(1) Skjemablokkdiagram

wps_doc_1

(2) Mekanisk strukturdiagram

For å forhindre at strømbruddet til den intelligente skapdøren blir ute av kontroll, tar denne designen i bruk en dobbel styregirdesign.Etter et strømbrudd, på grunn av eksistensen av dørlåsen, selv om døråpningsservoen er ubelastet, er smartskapet fortsatt i låst tilstand.Den mekaniske strukturen er vist i figuren:

wps_doc_2
wps_doc_3

Diagram av åpningsstrukturen

Diagram avlukking struktur

(3) DGUS GUI Design

wps_doc_4 wps_doc_5

(4) Kretsskjema
Kretsskjemaet er delt inn i tre deler: hovedkretskort (servodrivkrets + hjelpekontroller + grensesnitt), nedtrappingskrets og belysningskrets (installert i skapet).

wps_doc_6

Hovedkretskort

wps_doc_7

Nedtrappingskrets

wps_doc_8

Belysningskrets

5. Programeksempel

Temperatur- og fuktighetsdeteksjon og oppdatering, tidsoppdatering (AHT21 drives av hjelpekontrolleren, og temperatur- og fuktighetsdataene skrives inn i DWIN-skjermen)
/******************** Temperatur og fuktighetsoppdatering***********************/
void dwin_Tempe_humi_update( void)
{
uint8_t Tempe_humi_date[20];//Kommandoer sendt til LCD-skjermen
AHT20_Read_CTdata(CT_data);//Les av temperatur og fuktighet
        
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;//Regn ut temperaturverdien (forstørret med 10 ganger, hvis t1=245, betyr det at temperaturen nå 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;//Regn ut fuktighetsverdien (forstørret 10 ganger, hvis c1=523, betyr det at fuktigheten er 52,3 % nå)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


Innleggstid: Nov-08-2022