حل مفتوح المصدر: نظام إدارة الخزانة الذكي استنادًا إلى شاشة DWIN T5L

باستخدام شريحة 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

wps_doc_4 wps_doc_5

(4) مخطط الدائرة
ينقسم مخطط الدائرة إلى ثلاثة أجزاء: لوحة الدائرة الرئيسية (دائرة محرك مؤازر + وحدة تحكم مساعدة + واجهة)، ودائرة التنحي، ودائرة الإضاءة (المثبتة في الخزانة).

wps_doc_6

لوحة الدائرة الرئيسية

wps_doc_7

حلبة التنحي

wps_doc_8

دائرة الإضاءة

5. مثال البرنامج

كشف وتحديث درجة الحرارة والرطوبة، وتحديث الوقت (يتم تشغيل AHT21 بواسطة وحدة التحكم الإضافية، ويتم كتابة بيانات درجة الحرارة والرطوبة في شاشة DWIN)
/****************** تحديث درجة الحرارة والرطوبة ***********************/
باطل 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;// احسب قيمة درجة الحرارة (مكبرة 10 مرات، إذا كانت t1=245، فهذا يعني أن درجة الحرارة الآن 24.5) درجة مئوية)

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);

}


وقت النشر: 08 نوفمبر 2022