Açık Kaynak Çözümü: DWIN T5L Ekranına Dayalı Akıllı Kabin Yönetim Sistemi

Ana kontrol olarak T5L çipini ve T5L çipini kullanmak, kapı anahtarını kontrol etmek için seri veri yolu servosunu çalıştırır ve yardımcı denetleyici tarafından toplanan sensör verilerini işler ve veri ekranı için LCD ekranı çalıştırır. Loş ışıklı durumlarda normal olarak kullanılabilen anormal uyarı fonksiyonu ve otomatik aydınlatma sistemine sahiptir.

wps_doc_0

1. Program Açıklaması

(1) T5L ekranı, seri veri yolu servosunu doğrudan sürmek için ana kontrol olarak kullanılır. Feite STS serisi direksiyon dişlisini kullanarak tork 4,5 KG ile 40 KG arasında değişir ve protokol evrenseldir.

(2) Seri veri yolu direksiyon dişlisinin akım, tork, sıcaklık ve voltaj koruma fonksiyonları vardır ve güvenliği geleneksel motorlardan daha yüksektir;

(3) Bir seri port, 254 servonun eşzamanlı kontrolünü destekler.

2. Şema tasarımı

(1) Şema blok şeması

wps_doc_1

(2) Mekanik yapı şeması

Akıllı dolap kapısının elektrik kesintisinin kontrolden çıkmasını önlemek için bu tasarımda çift direksiyon dişlisi tasarımı benimsenmiştir. Elektrik kesintisi sonrasında kapı mandalının varlığı nedeniyle kapı açma servosu boş olsa dahi akıllı kabin kilitli durumdadır. Mekanik yapı şekilde gösterilmiştir:

wps_doc_2
wps_doc_3

Açılış yapısının şeması

Diyagramıkapanış yapı

(3) DGUS GUI Tasarımı

wps_doc_4 wps_doc_5

(4) Devre Şeması
Devre şeması üç bölüme ayrılmıştır: ana devre kartı (servo sürücü devresi + yardımcı kontrolör + arayüz), düşürme devresi ve aydınlatma devresi (kabine takılı).

wps_doc_6

Ana Devre Kartı

wps_doc_7

Kademeli Devre

wps_doc_8

Aydınlatma Devresi

5. Program örneği

Sıcaklık ve nem algılama ve yenileme, zaman güncelleme (AHT21 yardımcı kontrolör tarafından çalıştırılır ve sıcaklık ve nem verileri DWIN ekranına yazılır)
/********************Sıcaklık ve nem güncellemesi**********************/
void dwin_Tempe_humi_update(geçersiz)
{
uint8_t Tempe_humi_date[20]; //LCD ekrana gönderilen komutlar
AHT20_Read_CTdata(CT_data); //Sıcaklık ve nemi oku
        
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;//Sıcaklık değerini hesaplayın (10 kat büyütülmüş, t1=245 ise sıcaklığın artık 24,5 olduğu anlamına gelir) °C)

Tempe_humi_date[8]=((CT_data[0]*1000/1024/1024)>>8)&0xff;
Tempe_humi_date[9]=((CT_data[0]*1000/1024/1024))&0xff; //Nem değerini hesaplayalım (10 kat büyütülürse c1=523 ise nem oranı %52.3 demektir)

Usart_SendString(USART_DWIN,Tempe_humi_date,10);

}


Gönderim zamanı: Kasım-08-2022