#include "STC90.h" #include < intrins.h > #define uchar unsigned char #define uint unsigned int #define led_port P1 sbit IR_RE = P3^2; sbit led_r = P1^3; sbit led_g = P1^4; sbit led_b = P1^5; sbit led_wd = P1^7; sbit K1 =P3^0 ; //增加鍵 sbit K2 =P3^1 ; //減少鍵 sbit BEEP =P3^7 ; //蜂鳴器 uchar temp,temp1; bit k=0; //紅外解碼判斷標(biāo)志位,為0則為有效信號(hào),為1則為無效 bit Flag2; uchar date[4]={0,0,0,0}; //date數(shù)組為存放地址原碼,反碼,數(shù)據(jù)原碼,反碼 uint lade_1,lade_2,lade_3,lade_4; uint num; uchar date_ram,ee_temp,ee_temp1; uchar WDT_NUM=0; uchar const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值01234567 uchar code seg[]={7,6,5,4,3,2,1,0};//分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼 unsigned long disp_date; void fade(); void fade1(); /*************************** 看門狗子程序*************************/ void watchdog_timer() { if(WDT_NUM==5) { WDT_NUM=0; led_wd=!led_wd; } WDT_NUM++; WDT_CONTR=0x3f; } /******************************************************************/ void delay(unsigned int cnt) { while(--cnt); } /*--------------------------延時(shí)1ms程子程序-----------------------*/ void delay_1ms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=126;y>0;y--); } /*--------------------------延時(shí)1ms程子程序-----------------------*/ delay1000() { uchar i,j; i=5; do{j=95; do{j--;} while(j); i--; } while(i); } /*---------------------------延時(shí)882us子程序-----------------------*/ delay882() { uchar i,j; i=6; do{j=71; do{j--;} while(j); i--; }while(i); } /*--------------------------延時(shí)2400us程子程序-----------------------*/ delay2400() { uchar i,j; i=5; do{j=237; do{j--;} while(j); i--; }while(i); } /**********************************************************************/ /* void display() { uchar i; for(i=0;i<8;i++) { P0=dofly[disp_date%10];//取顯示數(shù)據(jù),段碼 P2=seg[i]; //取位碼 delay_1ms(1); disp_date/=10; } } */ /*********************************************************************/ uchar EEPROM_read(uint addr)//EEPROM字節(jié)讀 { ISP_CONTR=0x83; //系統(tǒng)時(shí)鐘<12M時(shí),對(duì)ISP_CONTR寄存器設(shè)置的值,本電路為11.0592M ISP_CMD=1; //字節(jié)讀 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); return ISP_DATA; } //-------------------------------------------------------------------- void EEPROM_write(uint addr,uchar dat)//EEPROM字節(jié)寫 { ISP_CONTR=0x83; //系統(tǒng)時(shí)鐘<12M時(shí),對(duì)ISP_CONTR寄存器設(shè)置的值,本電路為11.0592M ISP_CMD=2; //字節(jié)編程 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_DATA=dat; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); } //-------------------------------------------------------------------- void EEPROM_ERASE(uint addr)//EEPROM扇區(qū)擦除 { ISP_CONTR=0x83; //系統(tǒng)時(shí)鐘<12M時(shí),對(duì)ISP_CONTR寄存器設(shè)置的值,本電路為11.0592M ISP_CMD=3; //扇區(qū)擦除 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); } //************************************************************** /*----------------------------------------------------------*/ /*-----------------------紅外解碼程序(核心)-----------------*/ /*----------------------------------------------------------*/ void IR_decode() { uchar i,j; while(IR_RE==0); delay2400(); if(IR_RE==1) //延時(shí)2.4ms后如果是高電平則是新碼 { delay1000(); delay1000(); for(i=0;i<4;i++) { for(j=0;j<8;j++) { while(IR_RE==0); //等待地址碼第1位高電平到來 delay882(); //延時(shí)882us判斷此時(shí)引腳電平 ///CY=IR_RE; if(IR_RE==0) { date[i]>>=1; date[i]=date[i]|0x00; } else if(IR_RE==1) { delay1000(); date[i]>>=1; date[i]=date[i]|0x80; } } //1位數(shù)據(jù)接收結(jié)束 } //32位二進(jìn)制碼接收結(jié)束 } } /* void LED_PWM() { lade_2=num; //384 lade_4=num; //384 while(lade_2!=0&Flag2==1) { for(lade_3=512;lade_3>lade_4;lade_3--) //512 { led_port=0x00; delay(1); } lade_3=512; //512 lade_4--; for(lade_1=0;lade_1<lade_2;lade_1++) { led_port=0x38; //c7 delay(1); } lade_1=0; lade_2--; if(temp!=0x0c&Flag2==1) { lade_2=0; } lade_2=num; //384 lade_4=num; //384 } } */ void calc() { EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; //************************************* 1 /* if(date[3]==0xff&Flag2==1) { if(num>=20) { num=num-80; } //else num=1; LED_PWM(); } if(date[3]==0xfe&Flag2==1) { if(num<=500) { num=num+80; } // else num=511; LED_PWM(); } if(ee_temp1==0xfd) { led_port=0x00; watchdog_timer(); } if(ee_temp1==0xfc) { led_port=0x00; led_r=1; led_g=1; led_b=1; watchdog_timer(); } */ //********************************************** 2 if(ee_temp1==0xfb) { led_port=0x00; led_r=1; watchdog_timer(); } if(ee_temp1==0xfa) { led_port=0x00; led_g=1; watchdog_timer(); } if(ee_temp1==0xf9) { led_port=0x00; led_b=1; watchdog_timer(); } if(ee_temp1==0xf8) { led_port=0x00; led_r=1; led_g=1; led_b=1; watchdog_timer(); } //************************************** 3 if(ee_temp1==0xf7) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x07) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x07) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf6) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x06) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x06) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf5) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x05) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x05) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf4) { while(ee_temp==4) { led_port=0x00; led_r=1; delay_1ms(200); led_port=0x00; led_r=1; led_g=1; delay_1ms(200); led_port=0x00; led_g=1; delay_1ms(200); watchdog_timer(); led_port=0x00; led_g=1; led_b=1; delay_1ms(200); led_port=0x00; led_b=1; delay_1ms(200); led_port=0x00; led_b=1; led_r=1; delay_1ms(200); watchdog_timer(); } } //************************************** 4 if(ee_temp1==0xf3) { uint fade_1,fade_2,fade_3,fade_4; fade_2=416; //384 fade_4=416; //384 while(fade_2!=0&ee_temp==0x03) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x03) { fade_2=0; } watchdog_timer(); fade_2=416; //384 fade_4=416; //384 } } if(ee_temp1==0xf2) { uint fade_1,fade_2,fade_3,fade_4; fade_2=384; //384 fade_4=384; //384 while(fade_2!=0&ee_temp==0x02) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x02) { fade_2=0; } watchdog_timer(); fade_2=384; //384 fade_4=384; //384 } } if(ee_temp1==0xf1) { uint fade_1,fade_2,fade_3,fade_4; fade_2=348; //384 fade_4=348; //384 while(fade_2!=0&ee_temp==0x01) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x01) { fade_2=0; } watchdog_timer(); fade_2=348; //384 fade_4=348; //384 } } if(ee_temp1==0xf0) { while(ee_temp==0) { led_port=0x00; led_r=1; delay_1ms(500); watchdog_timer(); led_port=0x00; led_g=1; delay_1ms(500); led_port=0x00; led_b=1; delay_1ms(500); watchdog_timer(); } } //******************************************** 5 if(ee_temp1==0xef) { uint fade_1,fade_2,fade_3,fade_4; fade_2=384; //384 fade_4=384; //384 while(fade_2!=0&ee_temp==0x0f) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0f) { fade_2=0; } watchdog_timer(); fade_2=384; //384 fade_4=384; //384 } } if(ee_temp1==0xee) { uint fade_1,fade_2,fade_3,fade_4; fade_2=320; //384 fade_4=320; //384 while(fade_2!=0&ee_temp==0x0e) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0e) { fade_2=0; } watchdog_timer(); fade_2=320; //384 fade_4=320; //384 } } if(ee_temp1==0xed) { uint fade_1,fade_2,fade_3,fade_4; fade_2=320; //384 fade_4=320; //384 while(fade_2!=0&ee_temp==0x0d) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0d) { fade_2=0; } watchdog_timer(); fade_2=320; //384 fade_4=320; //384 } } if(ee_temp1==0xec) fade(); //******************************************* 6 if(ee_temp1==0xeb) { led_port=0x00; led_r=1; led_g=1; watchdog_timer(); } if(ee_temp1==0xea) { led_port=0x00; //led_r=0; led_g=1; led_b=1; watchdog_timer(); } if(ee_temp1==0xe9) { led_port=0x00; led_r=1; //led_g=0; led_b=1; watchdog_timer(); } if(ee_temp1==0xe8) fade1(); } void fade() { // uchar i; uint fade_1,fade_2,fade_3,fade_4; fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x10; delay(1); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0c) { fade_2=0; } } watchdog_timer(); fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { if(ee_temp!=0x0c) { fade_2=0; } for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x20; delay(1); // watchdog_timer(); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); // watchdog_timer(); } fade_1=0; fade_2--; } watchdog_timer(); fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { if(ee_temp!=0x0c) { fade_2=0; } for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x08; delay(1); watchdog_timer(); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); watchdog_timer(); } fade_1=0; fade_2--; } watchdog_timer(); } void fade1() { // uchar i; uint fade_1,fade_2,fade_3,fade_4; fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x10; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x08) { fade_2=0; } } watchdog_timer(); fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { if(ee_temp!=0x08) { fade_2=0; } for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x20; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; } watchdog_timer(); fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { if(ee_temp!=0x08) { fade_2=0; } for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x08; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; } watchdog_timer(); } void init() { led_port=0x00; /* led_r=1; delay_1ms(500); led_port=0x00; led_g=1; delay_1ms(500); led_port=0x00; led_b=1; delay_1ms(500); led_port=0x00; */ delay_1ms(2); WDT_CONTR=0x3f; delay_1ms(500); } //******************************** void main() { init(); Flag2=0; SP=0x60; //堆棧指針 EX0=1; //允許外部中斷0,用于檢測(cè)紅外遙控器按鍵 EA=1; num=255; while(1) { calc(); } } //******************************************************************** /*------------------------外部中斷0程序-------------------------*/ /*------------------主要用于處理紅外遙控鍵值--------------------*/ void int0() interrupt 0 { uchar i; Flag2=0; /////// k=0; EX0=0; //檢測(cè)到有效信號(hào)關(guān)中斷,防止干擾 for(i=0;i<4;i++) { delay1000(); if(IR_RE==1){k=1;} //剛開始為9ms的引導(dǎo)碼. } led_port=0x00; if(k==0) { IR_decode(); //如果接收到的是有效信號(hào),則調(diào)用解碼程序 if(date[3]>=0xe8) { if(date[3]<=0xfb) { temp1=date[3]; EEPROM_ERASE(0x2000); //STC_EEROM_0X2000 temp1 EEPROM_write(0x2000,temp1); EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; /* temp=date[3]&0x0f; EEPROM_ERASE(0x2004); //STC_EEROM_0X2004 temp EEPROM_write(0x2004,temp); */ } else { EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; } } delay2400(); delay2400(); delay2400(); delay_1ms(500); } EX0=1; //開外部中斷,允許新的遙控按鍵 }
上傳時(shí)間: 2016-07-02
上傳用戶:184890962
批處理感知器算法的代碼matlab w1=[1,0.1,1.1;1,6.8,7.1;1,-3.5,-4.1;1,2.0,2.7;1,4.1,2.8;1,3.1,5.0;1,-0.8,-1.3; 1,0.9,1.2;1,5.0,6.4;1,3.9,4.0]; w2=[1,7.1,4.2;1,-1.4,-4.3;1,4.5,0.0;1,6.3,1.6;1,4.2,1.9;1,1.4,-3.2;1,2.4,-4.0; 1,2.5,-6.1;1,8.4,3.7;1,4.1,-2.2]; w3=[1,-3.0,-2.9;1,0.5,8.7;1,2.9,2.1;1,-0.1,5.2;1,-4.0,2.2;1,-1.3,3.7;1,-3.4,6.2; 1,-4.1,3.4;1,-5.1,1.6;1,1.9,5.1]; figure; plot(w3(:,2),w3(:,3),'ro'); hold on; plot(w2(:,2),w2(:,3),'b+'); W=[w2;-w3];%增廣樣本規(guī)范化 a=[0,0,0]; k=0;%記錄步數(shù) n=1; y=zeros(size(W,2),1);%記錄錯(cuò)分的樣本 while any(y<=0) k=k+1; y=a*transpose(W);%記錄錯(cuò)分的樣本 a=a+sum(W(find(y<=0),:));%更新a if k >= 250 break end end if k<250 disp(['a為:',num2str(a)]) disp(['k為:',num2str(k)]) else disp(['在250步以內(nèi)沒有收斂,終止']) end %判決面:x2=-a2*x1/a3-a1/a3 xmin=min(min(w1(:,2)),min(w2(:,2))); xmax=max(max(w1(:,2)),max(w2(:,2))); x=xmin-1:xmax+1;%(xmax-xmin): y=-a(2)*x/a(3)-a(1)/a(3); plot(x,y)
上傳時(shí)間: 2016-11-07
上傳用戶:a1241314660
VHDL編寫的4選一數(shù)據(jù)選擇器 entity mux41a is port(a,b:in std_logic; s1,s2,s3,s4:in std_logic; y: out std_logic); end entity mux41a; architecture one of mux41a is signal ab:std_logic_vector(1 downto 0);
標(biāo)簽: VHDL 數(shù)據(jù)選擇器
上傳時(shí)間: 2020-05-15
上傳用戶:cdga
STM32L475開發(fā)板PDF原理圖+AD集成3D封裝庫+主要器件技術(shù)手冊(cè),集成封裝庫型號(hào)列表如下:Library Component Count : 44Name Description----------------------------------------------------------------------------------------------------ANT-2.4G ANT,2.4G,PCB天線ATK-TEST-1*4-2.54mm 測(cè)試點(diǎn)ATK_MODULE 單排母,1*6,2.54mmBEEP 3.3V有源蜂鳴器BUTTON_DIP3 撥動(dòng)開關(guān)SS-12F44C-0402-SMD C-0603-SMD C-CAP-SMD-220uF/10V C-CEP-220uF/16V D-1N4148 Header-1*3-2.54mm 單排針-2.54mmHeader-2*10-2.54mm 雙排針-2.54mmHeader-2*2-2.54mm 雙排針-2.54mmHeader-2*3-2.54mm 雙排針-2.54mmHeader-2*4-2.54mm 雙排座-2.54mmIR-LED 1206紅外發(fā)射管(側(cè))IR-LF0038GKLL-1 紅外接收管SMDJ-MICRO-USB-5S Micro USB 5.9有柱腳長(zhǎng)1.25加長(zhǎng)針L-0420-4.7uH 電感,4.7uH,3ALCD-TFT-H13TS38A LCD,TFT,1.3'240*240,禹龍LED-0603-RED 發(fā)光二極管-紅色LED-RGB-1615-0603 RGB,共陽,1615,0603MIC-6022 MICMotor-SMD 電機(jī),SMDPhone-3-M 耳機(jī)座,三節(jié)R-0402-SMD 貼片電阻R-0805-SMD 貼片電阻RT9193-3.3S-KEY-SMD-324225 KEY,SMD,324225S8050-SMD SD-MICRO-TF SD,MICRO,TFU-AHT10 Sensor,溫濕度傳感器U-AP3216C Sensor.光照/距離U-AP6181 WIFI Module,SDIOU-ES8388 AUDIO,2-ch DAC,2-ch ADCU-ICM-20608 三軸陀螺儀/三軸加速度計(jì),U-L9110S 電機(jī)驅(qū)動(dòng),800mAU-RT9013-3.3 LDO,500mAU-STM32F103C8T6 U-STM32L475VET6 MCU,LQFP100,512K FLASH,128K RAMU-W25Q128 SPI FLASH,16MY-12M-SMD 晶振 - 12M貼片Y-3215-32.768K XTAL,3215,32.768KY-3215-8M XTAL,3215,8MHz
上傳時(shí)間: 2021-12-15
上傳用戶:
首先下載軟件,解壓軟件,安裝在程序中找到SEGGER,選里面的J-FLASH,進(jìn)入界面,剛開始的那個(gè)界面可以忽略,不用建project也可以;單擊菜單欄的“Options---Project settings”打開設(shè)置,進(jìn)行jlink配置;正在General選項(xiàng),選擇“USB”,一般都是默認(rèn)配置,確認(rèn)一下即可;然后在CPU選項(xiàng),選擇芯片型號(hào),先選擇“Device”才能選擇芯片型號(hào),芯片型號(hào),要根據(jù)你使用的芯片進(jìn)行選擇;在Target interface選項(xiàng) 里面選擇SWD模式;首先Target里面選“Connection”連接目標(biāo)芯片,然后 Target--Auto進(jìn)行程序燒寫;首先Target里面選擇“Connection”連接目標(biāo)芯片,然后 Target--Auto進(jìn)行程序燒寫.SEGGER J-Links are the most widely used line of debug probes available today. They've proven their value for more than 10 years in embedded development. This popularity stems from the unparalleled performance, extensive feature set, large number of supported CPUs, and compatibility with all popular development environments.
標(biāo)簽: JLINK
上傳時(shí)間: 2022-03-22
上傳用戶:
三相異步電動(dòng)機(jī)Y-Δ降壓?jiǎn)?dòng)控制電路,因其電路結(jié)構(gòu)簡(jiǎn)單、經(jīng)濟(jì)可靠,被廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)。隨著,工業(yè)自動(dòng)化要求越來越高,出現(xiàn)用PLC改造三相異步電動(dòng)機(jī)Y-Δ降壓?jiǎn)?dòng)控制電路。但是,PLC的價(jià)格較高。實(shí)際工業(yè)中,尤其是對(duì)三相異步電動(dòng)機(jī)要求啟動(dòng)頻繁、粉塵污染嚴(yán)重,這就加快了控制電器觸點(diǎn)的損壞(如時(shí)間繼電器,中間接觸器),增加了出現(xiàn)故障的概率和維修的成本。而采用單片機(jī)控制,其是密封式的,抗粉塵污染,而且價(jià)格低廉,運(yùn)行可靠,即可以減少維修成本,還能減少故障時(shí)間,一舉多得。采用單片機(jī)改造三相異步電動(dòng)機(jī)Y-Δ降壓?jiǎn)?dòng)控制電路,通過按動(dòng)接在單片機(jī)上的按鈕啟動(dòng)和停止電動(dòng)機(jī),同時(shí)還可以在單片機(jī)中設(shè)置單片機(jī)從星形連接轉(zhuǎn)換為三角形連接的時(shí)間,當(dāng)通過按鈕啟動(dòng)電動(dòng)機(jī)時(shí),單片機(jī)將自動(dòng)實(shí)現(xiàn)三相異步電動(dòng)機(jī)Y-Δ降壓?jiǎn)?dòng)轉(zhuǎn)換。
標(biāo)簽: 單片機(jī) 三相異步電動(dòng)機(jī)
上傳時(shí)間: 2022-03-27
上傳用戶:得之我幸78
摘要:商用無人機(jī)云臺(tái)是立足于無人機(jī)高空操控優(yōu)勢(shì),通過無線遙控來進(jìn)行航空攝影、系統(tǒng)立體測(cè)繪地面圖像或者準(zhǔn)確操控附帶設(shè)備的驅(qū)動(dòng)裝置,主要功能是利用高精度電機(jī)控制,實(shí)現(xiàn)攝像設(shè)備對(duì)X,Y,2三維空間的精準(zhǔn)角度控制,以達(dá)到精確控制設(shè)備操作角度的效果。云臺(tái)系統(tǒng)的控制精度對(duì)這個(gè)無人機(jī)的攝像性能及操控效果有著至關(guān)重要的作用。目前在云臺(tái)控制算法上比較先進(jìn)的控制算法都本掌握在國內(nèi)領(lǐng)先的幾家廠家手上,大部分云臺(tái)設(shè)計(jì)都沿用了傳統(tǒng)的直流有刷電機(jī)的控制或者120°BLDC控制,在防抖效果及控制精度上都有需要改進(jìn)的地方,通過對(duì)產(chǎn)品的分析將FOC算法融入云臺(tái)控制,將有助于達(dá)到提升防抖效果及控制精度的效果,尤其是將磁編碼器替換傳統(tǒng)的電位器設(shè)計(jì),可以在控制精度,提高使用壽命,降低噪聲,減少生產(chǎn)難度等方便帶來極大優(yōu)勢(shì)。關(guān)鍵字:無人機(jī)云臺(tái)PISMFOC控制算法磁編碼器正文:引言:云臺(tái)控制的核心主要分為兩大部分:電機(jī)控制和角度控制,電機(jī)控制的關(guān)鍵包括MCU編程及功率器件的控制,角度控制則包括編碼器的結(jié)構(gòu)安裝設(shè)計(jì)及控制等。將FOC控制及磁編應(yīng)用穩(wěn)定運(yùn)用到無人機(jī)云臺(tái)控制系統(tǒng)中,有助于提高電機(jī)控制精度,減低系統(tǒng)噪聲,降低功耗,減少飛行控制主系統(tǒng)的運(yùn)算開銷,提高產(chǎn)品工作壽命等作用,從而提升無人機(jī)整體性能。
標(biāo)簽: 帶磁編碼器 無人機(jī) foc 云臺(tái)控制器
上傳時(shí)間: 2022-06-30
上傳用戶:
超聲波換能器材料
上傳時(shí)間: 2013-06-03
上傳用戶:eeworm
調(diào)制解調(diào)器實(shí)用指南
標(biāo)簽: 調(diào)制解調(diào)器
上傳時(shí)間: 2013-05-29
上傳用戶:eeworm
IA4421 通用ISM頻段FSK收發(fā)器
上傳時(shí)間: 2013-06-01
上傳用戶:eeworm
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1