Die gebruik van die T5L-skyfie as die hoofbeheer en T5L-skyfie dryf die seriële busservo aan om die deurskakelaar te beheer, en verwerk die sensordata wat deur die hulpbeheerder ingesamel word, en dryf die LCD-skerm vir datavertoning aan.Dit het 'n abnormale waarskuwingsfunksie en 'n outomatiese beligtingstelsel, wat normaalweg in dowwe ligsituasies gebruik kan word.
1. Programbeskrywing
(1) Die T5L-skerm word gebruik as die hoofbeheer om die seriële bus servo direk aan te dryf.Deur gebruik te maak van Feite STS-reeks stuurrat, wissel die wringkrag van 4.5KG tot 40KG, en die protokol is universeel.
(2) Die reeksbusstuurtoerusting het stroom-, wringkrag-, temperatuur- en spanningbeskermingsfunksies, en sy veiligheid is hoër as dié van konvensionele motors;
(3) Een reekspoort ondersteun gelyktydige beheer van 254 servo's.
2.Skema ontwerp
(1) Skemablokdiagram
(2) Meganiese struktuurdiagram
Om te verhoed dat die kragonderbreking van die intelligente kasdeur buite beheer is, neem hierdie ontwerp 'n dubbele stuurratontwerp aan.Na 'n kragonderbreking, as gevolg van die bestaan van die deurgrendel, is die slimkas steeds in die geslote toestand, selfs al is die deuropening-servo afgelaai.Die meganiese struktuur word in die figuur getoon:
Diagram van die openingstruktuur
Diagram van diesluiting struktuur
(3) DGUS GUI Ontwerp
(4) Kringskema
Die stroombaanskema word in drie dele verdeel: hoofstroombaan (servo-aandrywingkring + hulpbeheerder + koppelvlak), afstapstroombaan en beligtingkring (in die kas geïnstalleer).
Hoofkringbord
Verlaagde stroombaan
Beligtingkring
5. Program voorbeeld
Temperatuur- en humiditeitsopsporing en -verversing, tydopdatering (AHT21 word deur die hulpbeheerder aangedryf, en die temperatuur- en humiditeitdata word in die DWIN-skerm geskryf)
/***************** Temperatuur en humiditeit opdatering***********************/
void dwin_Tempe_humi_update( nietig)
{
uint8_t Tempe_humi_date[20];//Opdragte na die LCD-skerm gestuur
AHT20_Read_CTdata(CT_data);//Lees temperatuur en humiditeit
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;//Bereken die temperatuurwaarde (vergroot met 10 keer, as t1=245, beteken dit dat die temperatuur nou 24.5 is °C)
Tempe_humi_date[8]=((CT_data[0]*1000/1024/1024)>>8)&0xff;
Tempe_humi_date[9]=((CT_data[0]*1000/1024/1024))&0xff;//Bereken die humiditeitswaarde (10 keer vergroot, as c1=523, beteken dit dat die humiditeit nou 52.3% is)
Usart_SendString(USART_DWIN,Tempe_humi_date,10);
}
Postyd: Nov-08-2022