راه حل منبع باز: سیستم مدیریت کابینت هوشمند مبتنی بر صفحه نمایش 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 نوشته می شود)
/********************به روز رسانی دما و رطوبت************************/
void dwin_Tempe_humi_update( void)
{
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