ใช้ชิป T5L เป็นตัวควบคุมหลักและชิป T5L ขับเคลื่อนเซอร์โวบัสอนุกรมเพื่อควบคุมสวิตช์ประตู และประมวลผลข้อมูลเซ็นเซอร์ที่รวบรวมโดยตัวควบคุมเสริม และขับเคลื่อนหน้าจอ LCD สำหรับการแสดงข้อมูลมีฟังก์ชั่นเตือนความผิดปกติและระบบไฟอัตโนมัติซึ่งสามารถใช้งานได้ตามปกติในสภาวะแสงน้อย
1. คำอธิบายโปรแกรม
(1) หน้าจอ T5L ใช้เป็นตัวควบคุมหลักเพื่อขับเคลื่อนเซอร์โวบัสอนุกรมโดยตรงการใช้ชุดเกียร์ Feite STS แรงบิดมีตั้งแต่ 4.5KG ถึง 40KG และโปรโตคอลเป็นสากล
(2) เกียร์พวงมาลัยบัสอนุกรมมีฟังก์ชันป้องกันกระแส แรงบิด อุณหภูมิ และแรงดันไฟฟ้า และมีความปลอดภัยสูงกว่ามอเตอร์ทั่วไป
(3) พอร์ตอนุกรมหนึ่งพอร์ตรองรับการควบคุมเซอร์โว 254 ตัวพร้อมกัน
2. การออกแบบโครงร่าง
(1) แผนผังบล็อกไดอะแกรม
(2) แผนผังโครงสร้างเครื่องกล
เพื่อป้องกันไฟฟ้าดับของประตูตู้อัจฉริยะไม่ให้ควบคุมได้ การออกแบบนี้จึงใช้การออกแบบเกียร์บังคับเลี้ยวแบบคู่หลังจากเกิดไฟฟ้าขัดข้อง เนื่องจากมีสลักประตูอยู่ แม้ว่าไม่ได้โหลดเซอร์โวเปิดประตู ตู้อัจฉริยะจะยังคงอยู่ในสถานะล็อกโครงสร้างทางกลแสดงในรูป:
แผนผังของโครงสร้างการเปิด
ไดอะแกรมของปิด โครงสร้าง
(3) การออกแบบ DGUS GUI
(4) แผนผังวงจร
แผนผังวงจรแบ่งออกเป็นสามส่วน: แผงวงจรหลัก (วงจรไดรฟ์เซอร์โว + ตัวควบคุมเสริม + อินเทอร์เฟซ) วงจรสเต็ปดาวน์ และวงจรไฟส่องสว่าง (ติดตั้งในตู้)
แผงวงจรหลัก
วงจรสเต็ปดาวน์
วงจรไฟ
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