Att använda T5L-chippet som huvudkontroll och T5L-chipet driver seriebussservot för att styra dörrkontakten, och bearbetar sensordata som samlats in av extrastyrenheten och driver LCD-skärmen för datavisning.Den har en onormal varningsfunktion och ett automatiskt belysningssystem, som kan användas normalt i svagt ljus.
1. Programbeskrivning
(1) T5L-skärmen används som huvudkontroll för att direkt driva seriebussservon.Med Feite STS-seriens styrväxel varierar vridmomentet från 4,5 kg till 40 kg, och protokollet är universellt.
(2) Den seriella bussens styrväxel har ström-, vridmoment-, temperatur- och spänningsskyddsfunktioner och dess säkerhet är högre än för konventionella motorer;
(3) En serieport stöder samtidig kontroll av 254 servon.
2. Schema design
(1) Schemablockschema
(2) Mekanisk strukturdiagram
För att förhindra att strömavbrottet i den intelligenta skåpdörren blir utom kontroll, antar denna design en design med dubbla styrväxel.Efter ett strömavbrott, på grund av existensen av dörrspärren, är det smarta skåpet fortfarande i låst tillstånd, även om dörröppningsservot är urladdat.Den mekaniska strukturen visas i figuren:
Diagram över öppningsstrukturen
Diagram överstängning strukturera
(3) DGUS GUI Design
(4) Kretsschema
Kretsschemat är uppdelat i tre delar: huvudkretskort (servodrivkrets + extra styrenhet + gränssnitt), nedtrappningskrets och belysningskrets (installerad i skåpet).
Huvudkretskort
Step-down krets
Belysningskrets
5. Programexempel
Temperatur- och luftfuktighetsdetektering och uppdatering, tidsuppdatering (AHT21 drivs av den extra styrenheten, och temperatur- och fuktighetsdata skrivs in i DWIN-skärmen)
/******************** Temperatur och luftfuktighet uppdatering***********************/
void dwin_Tempe_humi_update( void)
{
uint8_t Tempe_humi_date[20];//Kommandon skickade till LCD-skärmen
AHT20_Read_CTdata(CT_data);//Avläs temperatur och luftfuktighet
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;//Beräkna temperaturvärdet (förstorat med 10 gånger, om t1=245 betyder det att temperaturen nu är 24,5 °C)
Tempe_humi_date[8]=((CT_data[0]*1000/1024/1024)>>8)&0xff;
Tempe_humi_date[9]=((CT_data[0]*1000/1024/1024))&0xff;//Beräkna luftfuktighetsvärdet (förstorat 10 gånger, om c1=523 betyder det att luftfuktigheten är 52,3% nu)
Usart_SendString(USART_DWIN,Tempe_humi_date,10);
}
Posttid: 2022-nov-08