โซลูชันโอเพ่นซอร์ส: ระบบการจัดการตู้อัจฉริยะตามหน้าจอ DWIN T5L

ใช้ชิป T5L เป็นตัวควบคุมหลักและชิป T5L ขับเคลื่อนเซอร์โวบัสอนุกรมเพื่อควบคุมสวิตช์ประตู และประมวลผลข้อมูลเซ็นเซอร์ที่รวบรวมโดยตัวควบคุมเสริม และขับเคลื่อนหน้าจอ LCD สำหรับการแสดงข้อมูลมีฟังก์ชั่นเตือนความผิดปกติและระบบไฟอัตโนมัติซึ่งสามารถใช้งานได้ตามปกติในสภาวะแสงน้อย

wps_doc_0

1. คำอธิบายโปรแกรม

(1) หน้าจอ T5L ใช้เป็นตัวควบคุมหลักเพื่อขับเคลื่อนเซอร์โวบัสอนุกรมโดยตรงการใช้ชุดเกียร์ Feite STS แรงบิดมีตั้งแต่ 4.5KG ถึง 40KG และโปรโตคอลเป็นสากล

(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)
/***************** อัพเดทอุณหภูมิและความชื้น**********************/
เป็นโมฆะ 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,เทมเป้_humi_date,10);

}


เวลาโพสต์: พ.ย.-08-2565