Open Source Solution: DWIN T5L экранына негизделген Smart Кабинет башкаруу системасы

T5L чипти негизги башкаруу жана T5L чип катары колдонуу эшикти которгучту башкаруу үчүн сериялык автобус сервосун айдайт жана көмөкчү контроллер тарабынан чогултулган сенсор маалыматтарын иштетет жана маалыматтарды көрсөтүү үчүн LCD экранды айдайт.Анын анормалдуу эскертүү функциясы жана күңүрт жарыкта демейде колдонула турган автоматтык жарыктандыруу системасы бар.

wps_doc_0

1. Программанын сүрөттөлүшү

(1) T5L экраны сериялык автобус сервосун түздөн-түз башкаруу үчүн негизги башкаруу катары колдонулат.Feite STS сериясындагы руль механизмин колдонуу момент 4,5 кгдан 40 кгга чейин жетет жана протокол универсалдуу.

(2) Сериялык автобустун рулдук механизми ток, момент, температура жана чыңалуудан коргоо функцияларына ээ жана анын коопсуздугу кадимки кыймылдаткычтарга караганда жогору;

(3) Бир сериялык порт 254 сервону бир убакта башкарууну колдойт.

2.Схема дизайн

(1) Схема блок диаграммасы

wps_doc_1

(2) Механикалык түзүлүш диаграммасы

Акылдуу кабинеттин эшигинин электр жарыгынын үзгүлтүккө учурашын алдын алуу үчүн, бул дизайн кош рулдук механизмдин дизайнын кабыл алат.Электр кубаты өчүрүлгөндөн кийин, эшик илгичинин бар болгондугуна байланыштуу, эшикти ачуу сервосу түшүрүлгөн күндө да, акылдуу шкаф дагы эле кулпуланган абалда болот.Механикалык түзүлүш сүрөттө көрсөтүлгөн:

wps_doc_2
wps_doc_3

Ачылыш структурасынын диаграммасы

диаграммасыжабуу түзүлүш

(3) DGUS GUI Дизайн

wps_doc_4 wps_doc_5

(4) Схема
Схема үч бөлүккө бөлүнөт: негизги схема (серво жетек схемасы + көмөкчү контроллер + интерфейс), ылдыйлатуучу схема жана жарыктандыруу схемасы (шкафка орнотулган).

wps_doc_6

Башкы схема

wps_doc_7

Төмөндөө схемасы

wps_doc_8

Жарыктандыруу схемасы

5. Программанын мисалы

Температураны жана нымдуулукту аныктоо жана жаңыртуу, убакытты жаңыртуу (AHT21 көмөкчү контроллер тарабынан башкарылат жана температура жана нымдуулук маалыматтары DWIN экранына жазылат)
/*****************Температура жана нымдуулукту жаңыртуу**********************/
void dwin_Tempe_humi_update(void)
{
uint8_t Tempe_humi_date[20];//ЖК экранга жөнөтүлгөн буйруктар
AHT20_Read_CTdata(CT_data);//Температураны жана нымдуулукту окуу
        
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;//Температуранын маанисин эсептөө (10 эсе чоңойтулган, эгерде t1=245 болсо, бул температура азыр 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;//Нымдуулуктун маанисин эсептөө (10 эсе чоңойтулган, эгерде c1=523 болсо, бул нымдуулук азыр 52,3% дегенди билдирет)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


Посттун убактысы: 2022-жылдын 08-ноябры