การใช้ชิป T5L เป็นตัวควบคุมหลัก และชิป T5L จะขับเคลื่อนเซอร์โวบัสอนุกรมเพื่อควบคุมสวิตช์ประตู และประมวลผลข้อมูลเซ็นเซอร์ที่รวบรวมโดยตัวควบคุมเสริม และขับเคลื่อนหน้าจอ LCD สำหรับการแสดงข้อมูล มีฟังก์ชั่นเตือนที่ผิดปกติ และระบบไฟอัตโนมัติ ซึ่งสามารถใช้งานได้ตามปกติในสภาวะแสงสลัว
1. คำอธิบายโปรแกรม
(1) หน้าจอ T5L ใช้เป็นตัวควบคุมหลักในการขับเคลื่อนเซอร์โวบัสอนุกรมโดยตรง การใช้ชุดพวงมาลัย Feite STS แรงบิดมีตั้งแต่ 4.5KG ถึง 40KG และโปรโตคอลเป็นแบบสากล
(2) เฟืองพวงมาลัยบัสอนุกรมมีฟังก์ชันป้องกันกระแส แรงบิด อุณหภูมิ และแรงดันไฟฟ้า และมีความปลอดภัยสูงกว่ามอเตอร์ทั่วไป
(3) พอร์ตอนุกรมหนึ่งพอร์ตรองรับการควบคุมเซอร์โว 254 ตัวพร้อมกัน
2.การออกแบบโครงการ
(1) แผนภาพบล็อกโครงการ
(2) แผนภาพโครงสร้างเครื่องกล
เพื่อป้องกันไม่ให้ไฟฟ้าดับของประตูตู้อัจฉริยะไม่สามารถควบคุมได้ การออกแบบนี้จึงใช้การออกแบบเฟืองบังคับเลี้ยวแบบคู่ หลังจากไฟฟ้าดับ เนื่องจากมีสลักประตูอยู่ แม้ว่าเซอร์โวเปิดประตูจะไม่ได้โหลดก็ตาม ตู้อัจฉริยะยังคงอยู่ในสถานะล็อค โครงสร้างทางกลแสดงในรูป:
![wps_doc_2](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96c70cb14622550.jpg)
![wps_doc_3](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96c72272af45161.jpg)
แผนผังโครงสร้างช่องเปิด
แผนภาพของปิด โครงสร้าง
(3) การออกแบบ DGUS GUI
(4) แผนผังวงจร
แผนผังวงจรแบ่งออกเป็นสามส่วน: แผงวงจรหลัก (วงจรเซอร์โวไดรฟ์ + ตัวควบคุมเสริม + อินเทอร์เฟซ) วงจรสเต็ปดาวน์ และวงจรไฟ (ติดตั้งในตู้)
แผงวงจรหลัก
วงจรสเต็ปดาวน์
วงจรไฟส่องสว่าง
5. ตัวอย่างโปรแกรม
การตรวจจับอุณหภูมิและความชื้นและการรีเฟรช การอัพเดตเวลา (AHT21 ขับเคลื่อนโดยตัวควบคุมเสริม และข้อมูลอุณหภูมิและความชื้นจะถูกเขียนลงในหน้าจอ DWIN)
/****************** อัปเดตอุณหภูมิและความชื้น**********************/
เป็นโมฆะ dwin_Tempe_humi_update (เป็นโมฆะ)
-
uint8_t Tempe_humi_date[20]; //คำสั่งที่ส่งไปยังหน้าจอ LCD
AHT20_Read_CTdata(CT_data); //อ่านอุณหภูมิและความชื้น
เทมพี_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);
-
เวลาโพสต์: Nov-08-2022