खुला स्रोत समाधान: DWIN T5L स्क्रिनमा आधारित स्मार्ट क्याबिनेट व्यवस्थापन प्रणाली

T5L चिपलाई मुख्य नियन्त्रणको रूपमा प्रयोग गरेर र T5L चिपले ढोकाको स्विचलाई नियन्त्रण गर्न सिरियल बस सर्वोलाई ड्राइभ गर्दछ, र सहायक नियन्त्रकद्वारा सङ्कलन गरिएको सेन्सर डेटालाई प्रशोधन गर्दछ, र डेटा प्रदर्शनको लागि LCD स्क्रिन चलाउँछ।यसमा एक असामान्य चेतावनी प्रकार्य र एक स्वचालित प्रकाश प्रणाली छ, जुन सामान्य रूपमा मधुरो प्रकाश अवस्थाहरूमा प्रयोग गर्न सकिन्छ।

wps_doc_0

1. कार्यक्रम विवरण

(1) T5L स्क्रिन सीरियल बस सर्वो ड्राइभ गर्न मुख्य नियन्त्रणको रूपमा प्रयोग गरिन्छ।Feite STS श्रृंखला स्टीयरिङ गियर प्रयोग गरेर, 4.5KG देखि 40KG सम्मको टोकक हुन्छ, र प्रोटोकल विश्वव्यापी छ।

(२) सिरियल बस स्टेयरिङ गियरमा हाल, टर्क, तापक्रम र भोल्टेज सुरक्षा कार्यहरू छन्, र यसको सुरक्षा परम्परागत मोटरहरूको भन्दा उच्च छ;

(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( शून्य)
{
uint8_t Tempe_humi_date[20];// आदेशहरू LCD स्क्रिनमा पठाइयो
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;//तापमानको मान गणना गर्नुहोस् (१० गुणाले बढाइयो, यदि 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;// आर्द्रता मान गणना गर्नुहोस् (१० पटक म्याग्निफाइड, यदि c1=523, यसको मतलब आर्द्रता अहिले 52.3% छ)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


पोस्ट समय: नोभेम्बर-08-2022